diff --git a/programs/develop/ktcc/trunk/samples/Makefile b/programs/develop/ktcc/trunk/samples/Makefile deleted file mode 100755 index a97b8c7443..0000000000 --- a/programs/develop/ktcc/trunk/samples/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -CC=../bin/kos32-tcc -CFLAGS= -I ../libc/include - -all: - $(CC) $(CFLAGS) asm_ex.c -lck -o asm_ex.kex - $(CC) $(CFLAGS) consoleio.c -lck -o consoleio.kex - $(CC) $(CFLAGS) files.c -lck -o files.kex - $(CC) $(CFLAGS) winbasics.c -lck -o winbasics.kex - $(CC) $(CFLAGS) dynamic.c -lck -lhttp -linputbox -o dynamic.kex - $(CC) $(CFLAGS) load_coff.c -o load_coff.kex -lck - $(CC) $(CFLAGS) graphics.c -lck -lgb -o graphics.kex - $(CC) $(CFLAGS) dir_example.c -lck -o dir_example.kex - $(CC) $(CFLAGS) getopt_ex.c -lck -o getopt_ex.kex - - $(CC) $(CFLAGS) clayer/msgbox.c -lck -lmsgbox -o clayer/msgbox.kex - $(CC) $(CFLAGS) clayer/rasterworks.c -lck -lrasterworks -o clayer/rasterworks.kex - $(CC) $(CFLAGS) clayer/boxlib.c -lck -lbox -o clayer/boxlib.kex - $(CC) $(CFLAGS) clayer/libimg.c -lck -limg -o clayer/libimg.kex - $(CC) $(CFLAGS) clayer/dialog.c -lck -ldialog -o clayer/dialog.kex - - $(CC) $(CFLAGS) net/tcpsrv_demo.c -lck -o net/tcpsrv_demo.kex - $(CC) $(CFLAGS) net/nslookup.c -lck -lnetwork -o net/nslookup.kex - $(CC) $(CFLAGS) net/http_tcp_demo.c -lck -lnetwork -o net/http_tcp_demo.kex - - $(CC) $(CFLAGS) tinygl/fps.c tinygl/gears.c -o tinygl/gears.kex -ltinygl -lck - -clean: - rm *.kex clayer/*.kex net/*.kex tinygl/*.kex diff --git a/programs/develop/ktcc/trunk/samples/asm_ex.c b/programs/develop/ktcc/trunk/samples/asm_ex.c deleted file mode 100644 index 2a0bc40313..0000000000 --- a/programs/develop/ktcc/trunk/samples/asm_ex.c +++ /dev/null @@ -1,68 +0,0 @@ -/* examples for interoperability with assembler - -1. Calling assembler code from .c : see in libc\math any .asm file -2. Using inline assembler: see \include\kos32sys1.h and libc\math\fmod.c -- https://gcc.gnu.org/onlinedocs/gcc-4.8.5/gcc/Extended-Asm.html -- not all constraints from gcc are supported, no "f" or "t" for example -- not supported clobberring st registers, must manual add "fstp %%st" at end or similar -- need full suffixes for opcodes, fstpl but not fstp - -3. Calling c functions from .asm: see \libc\start\start.asm:99 -Remember: -- small ints always passed as int32, floating point params as 64-bit -- returned structs passed on stack with additional hidden 1st param -- c functions can use EAX, ECX, EDX without warnings -- .c default is cdecl calling convention https://en.wikipedia.org/wiki/X86_calling_conventions -- dont use fastcall calling convention, tinycc realized it non-conformant way -- tinycc supports only ELF object files - -tcc can be used as a linker -*/ - - - - -#include -#include - - -main() -{ - int i; - for (i = 0; i < 20; i++) - { - printf("------------------------------------------------------\n"); - printf ( "remainder of 5.3 / 2 is %f\n", remainder (5.3,2) ); - printf ( "remainder of 18.5 / 4.2 is %f\n", remainder (18.5,4.2) ); -//remainder of 5.3 / 2 is -0.700000 -//remainder of 18.5 / 4.2 is 1.700000 - - printf ( "fmod of 5.3 / 2 is %f\n", fmod (5.3,2) ); - printf ( "fmod of 18.5 / 4.2 is %f\n", fmod (18.5,4.2) ); -// fmod of 5.3 / 2 is 1.300000 -// fmod of 18.5 / 4.2 is 1.700000 - - double param, fractpart, intpart, result; - int n; - - param = 3.14159265; - fractpart = modf (param , &intpart); - printf ("%f = %f + %f \n", param, intpart, fractpart); -//3.141593 = 3.000000 + 0.141593 - - param = 0.95; - n = 4; - result = ldexp (param , n); - printf ("%f * 2^%d = %f\n", param, n, result); -//0.950000 * 2^4 = 15.200000 - - param = 8.0; - result = frexp (param , &n); - printf ("%f = %f * 2^%d\n", param, result, n); -//8.000000 = 0.500000 * 2^4 - param = 50; - result = frexp (param , &n); - printf ("%f = %f * 2^%d\n", param, result, n); - - } -} \ No newline at end of file diff --git a/programs/develop/ktcc/trunk/samples/build_all.sh b/programs/develop/ktcc/trunk/samples/build_all.sh deleted file mode 100644 index baf5c3c644..0000000000 --- a/programs/develop/ktcc/trunk/samples/build_all.sh +++ /dev/null @@ -1,23 +0,0 @@ -#SHS -/sys/@notify 'Build in progress...\nYou will find binaries in /tmp0/1/tccbin' -I -mkdir /tmp0/1/tccbin -../tcc asm_ex.c -lck -o /tmp0/1/tccbin/asm_ex -../tcc consoleio.c -lck -o /tmp0/1/tccbin/consoleio -../tcc files.c -lck -o /tmp0/1/tccbin/files -../tcc winbasics.c -lck -o /tmp0/1/tccbin/winbasics -../tcc dynamic.c -lck -lhttp -linputbox -o /tmp0/1/tccbin/dynamic -../tcc load_coff.c -o /tmp0/1/tccbin/load_coff -lck -../tcc clayer/msgbox.c -lck -lmsgbox -o /tmp0/1/tccbin/msgbox -../tcc graphics.c -lck -lgb -o /tmp0/1/tccbin/graphics -../tcc clayer/rasterworks.c -lck -lrasterworks -o /tmp0/1/tccbin/rasterworks -../tcc clayer/boxlib.c -lck -lbox -o /tmp0/1/tccbin/boxlib_ex -../tcc clayer/libimg.c -lck -limg -o /tmp0/1/tccbin/libimg_ex -cp clayer/logo.png /tmp0/1/tccbin/logo.png -../tcc clayer/dialog.c -lck -ldialog -o /tmp0/1/tccbin/dialog_ex -../tcc dir_example.c -lck -o /tmp0/1/tccbin/dir_example -../tcc net/tcpsrv_demo.c -lck -o /tmp0/1/tccbin/tcpsrv_demo -../tcc net/nslookup.c -lck -lnetwork -o /tmp0/1/tccbin/nslookup -../tcc net/http_tcp_demo.c -lck -lnetwork -o /tmp0/1/tccbin/http_tcp_demo -../tcc getopt_ex.c -lck -o /tmp0/1/tccbin/getopt_ex -../tcc tinygl/fps.c tinygl/gears.c -o /tmp0/1/tccbin/gears -ltinygl -lck -exit diff --git a/programs/develop/ktcc/trunk/samples/clayer/boxlib.c b/programs/develop/ktcc/trunk/samples/clayer/boxlib.c deleted file mode 100644 index 39f01d023d..0000000000 --- a/programs/develop/ktcc/trunk/samples/clayer/boxlib.c +++ /dev/null @@ -1,110 +0,0 @@ -// BOXLIB EXAMPLE (scrollbar, progressbar, editbox and checkbox) -// Writed by maxcodehack and superturbocat2001 - -#include -#include -#include -#include -#include - -#define WIN_W 640 -#define WIN_H 563 - -#define ED_BUFF_LEN 50 -#define TEXT_SIZE 0x10000000 -#define SCROLL_BUTTON_SIZE 15 -#define SCROLL_MAX_LEN 215 -#define BLACK 0x000000 -#define WHITE 0xFFFFFF -#define BLUE 0x0000FF - -uint32_t wheels; -char* title = "Boxlib example"; -char ed_buff[ED_BUFF_LEN]; - - -scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 215, SCROLL_BUTTON_SIZE, 0,0x707070,0xD2CED0,0x555555}; -progressbar pg = {0, 10, 10, 270, 35, 1, 0, 200, 0xB4B4B4, 0x2728FF, 0xA9A9A9}; -edit_box ed={WIN_W-140,10,60,0xFFFFFF,0x6a9480,0,0x6a9480, BLACK | TEXT_SIZE, ED_BUFF_LEN, ed_buff,NULL,ed_focus}; -check_box output_off={X_W(10, 15), Y_H(120,15), 10, WHITE, BLUE, BLACK | TEXT_SIZE, "Disable duplicate output",0}; - -void draw_window(){ - BeginDraw(); - DrawWindow(215,100,WIN_W,WIN_H,title, 0x858585, 0x34); - edit_box_draw(&ed); - check_box_draw2(&output_off); - if(!output_off.flags) - { - draw_text_sys(ed_buff, 10, 90, strlen(ed_buff), BLACK | TEXT_SIZE); - } - scrollbar_v_draw(&scroll); - progressbar_draw(&pg); - EndDraw(); -} - -//// EVENTMASK -#define EVM_REDRAW 1 -#define EVM_KEY 2 -#define EVM_BUTTON 4 -#define EVM_EXIT 8 -#define EVM_BACKGROUND 16 -#define EVM_MOUSE 32 -#define EVM_IPC 64 -#define EVM_STACK 128 -#define EVM_DEBUG 256 -#define EVM_STACK2 512 -#define EVM_MOUSE_FILTER 0x80000000 -#define EVM_CURSOR_FILTER 0x40000000 -//// EVENTMASK - - -int main() -{ - kolibri_boxlib_init(); - init_checkbox2(&output_off); - set_event_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE+EVM_MOUSE_FILTER); - while(1) - { - switch(GetOsEvent()) - { - case KOLIBRI_EVENT_BUTTON: - if (get_os_button() == 1) exit(0); - break; - - case KOLIBRI_EVENT_KEY: - edit_box_key(&ed, get_key().val); - draw_window(); - break; - - case KOLIBRI_EVENT_REDRAW: - draw_window(); - break; - case KOLIBRI_EVENT_MOUSE: - edit_box_mouse(&ed); - scrollbar_v_mouse(&scroll); - pg.value = scroll.position; - progressbar_draw(&pg); - check_box_mouse2(&output_off); - unsigned int scroll_strong = 10; - wheels = GetMouseWheels(); - if(wheels & 0xFFFF) - { - if((short)wheels > 0){ - scroll.position += scroll_strong; - if(scroll.position>scroll.max_area-scroll.cur_area) - { - scroll.position=scroll.max_area-scroll.cur_area; - } - } - else if((short)wheels < 0 && scroll.position > 0){ - scroll.position -= scroll_strong; - if((int)scroll.position<0){ - scroll.position=0; - } - } - scrollbar_v_draw(&scroll); - } - break; - } - } -} diff --git a/programs/develop/ktcc/trunk/samples/clayer/dialog.c b/programs/develop/ktcc/trunk/samples/clayer/dialog.c deleted file mode 100644 index 5ee125fecd..0000000000 --- a/programs/develop/ktcc/trunk/samples/clayer/dialog.c +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include -#include - -int main() -{ - kolibri_dialog_init(); // dialog init - open_dialog *dlg_open = kolibri_new_open_dialog(OPEN, 10, 10, 420, 320); // create opendialog struct - OpenDialog_init(dlg_open); // Initializing an open dialog box. - OpenDialog_start(dlg_open); // Show open dialog box - - color_dialog *color_select = kolibri_new_color_dialog(SELECT, 10, 10,420,320); // create colordialog struct - ColorDialog_init(color_select); // Initializing an color dialog box. - ColorDialog_start(color_select); // Show color dialog - - if(dlg_open->status == SUCCESS){ - printf("File selected '%s'\n",dlg_open->openfile_path); - }else{ - puts("No file selected!"); - } - - if(color_select->status == SUCCESS){ - printf("Color selected: #%06X\n",color_select->color); - RGB color_rgb = (RGB)color_select->color; - printf("Red:%d Green:%d Blue:%d", color_rgb.red, color_rgb.green, color_rgb.blue); - }else{ - puts("No color selected!"); - } - - free(dlg_open); - free(color_select); -} diff --git a/programs/develop/ktcc/trunk/samples/clayer/libimg.c b/programs/develop/ktcc/trunk/samples/clayer/libimg.c deleted file mode 100755 index 299ed763be..0000000000 --- a/programs/develop/ktcc/trunk/samples/clayer/libimg.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Written by turbocat2001 (Logaev Maxim) */ - -#include -#include -#include -#include -#include - -#define NEW_IMG_H 128 -#define NEW_IMG_W 128 - -#define IMG_H 256 -#define IMG_W 256 - -Image *image_blend; // Create image struct - -struct kolibri_system_colors sys_color_table; // Create system colors table - -char* load_img(char* fname, int32_t* read_sz){ // Image file upload function - FILE *f = fopen(fname, "rb"); - if (!f) { - printf("Can't open file: %s\n", fname); - exit(0); - } - if (fseek(f, 0, SEEK_END)) { - printf("Can't SEEK_END file: %s\n", fname); - exit(0); - } - int filesize = ftell(f); - rewind(f); - char* fdata = malloc(filesize); - if(!fdata) { - printf("No memory for file %s\n", fname); - exit(0); - } - *read_sz = fread(fdata, 1, filesize, f); - if (ferror(f)) { - printf("Error reading file %s\n", fname); - exit(0); - } - fclose(f); - return fdata; -} - -void DrawGUI(){ - BeginDraw(); - DrawWindow(10, 40, (IMG_W+NEW_IMG_W)+50, IMG_H+50, "Libimg", sys_color_table.work_area, 0x34); - img_draw(image_blend, 10, 10, IMG_W*2, IMG_H , 0, 0); // Draw blended image to window - EndDraw(); -} - -int main(){ - if (kolibri_libimg_init() == -1){ - printf("Error loading lib_img.obj\n"); - exit(0); - } - - get_system_colors(&sys_color_table); // Get system colors theme - set_event_mask(0xC0000027); - - uint32_t img_size; - void *file_data = load_img("logo.png", &img_size); // Get RAW data and size - - Image* image = img_decode(file_data, img_size, 0); // Decode RAW data to Image data - - if (image->Type != IMAGE_BPP32) { - image = img_convert(image, NULL, IMAGE_BPP32, 0, 0); // Convert image to format BPP32 - if (!image) { - printf("Сonvert error!: \n"); - exit(0); - } - } - - image_blend = img_create(IMG_W+NEW_IMG_W, IMG_H, IMAGE_BPP32); // Create an empty layer - img_fill_color(image_blend, IMG_W+NEW_IMG_W, IMG_H, sys_color_table.work_area); // Fill the layer with one color - img_blend(image_blend, image, 0, 0, 0, 0, IMG_W, IMG_H); // Blending images to display the alpha channel. - /* Reduce image size from 256x256 to 128x128 */ - image = img_scale(image, 0, 0, IMG_W, IMG_H, NULL, LIBIMG_SCALE_STRETCH , LIBIMG_INTER_BILINEAR, NEW_IMG_W, NEW_IMG_H); - img_blend(image_blend, image, 256, 0, 0, 0, NEW_IMG_W, NEW_IMG_H); - img_destroy(image); // Destroy image structure - free(file_data); // Free allocated file_data buffer - - /* Main event loop */ - while (1) { - switch(get_os_event()){ - case KOLIBRI_EVENT_REDRAW: - DrawGUI(); - break; - case KOLIBRI_EVENT_BUTTON: - if (get_os_button() == 1){ - return 0; - } - break; - } - } - exit(0); -} diff --git a/programs/develop/ktcc/trunk/samples/clayer/logo.png b/programs/develop/ktcc/trunk/samples/clayer/logo.png deleted file mode 100644 index 5a1285f747..0000000000 Binary files a/programs/develop/ktcc/trunk/samples/clayer/logo.png and /dev/null differ diff --git a/programs/develop/ktcc/trunk/samples/clayer/msgbox.c b/programs/develop/ktcc/trunk/samples/clayer/msgbox.c deleted file mode 100644 index 7ccd9369eb..0000000000 --- a/programs/develop/ktcc/trunk/samples/clayer/msgbox.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int main() -{ - msgbox *msg1 = NULL; - msg1 = kolibri_new_msgbox("Title", "Text in window", 0, "Ok"); - kolibri_start_msgbox(msg1, NULL); -} diff --git a/programs/develop/ktcc/trunk/samples/clayer/rasterworks.c b/programs/develop/ktcc/trunk/samples/clayer/rasterworks.c deleted file mode 100644 index 145cf47fcd..0000000000 --- a/programs/develop/ktcc/trunk/samples/clayer/rasterworks.c +++ /dev/null @@ -1,55 +0,0 @@ -#include -#include -#include -#include -#include - -// Sizes -int x_size = 768, y_size = 256; - -// Out example string -char* string = "Пример/Example"; - -int main() -{ - // Count length - int ln_str = countUTF8Z(string, -1); - - // Create image buffer - void *buffi = malloc(x_size * y_size * 3 * sizeof(char) + 8); - - // Set sizes - *((int*)buffi) = x_size; - *((int*)buffi+1) = y_size; - - // Fill color - memset((char*)buffi + 8, 0xFF, x_size * y_size * 3); - - // Draw text on buffer - drawText(buffi, 5, 0, string, ln_str, 0xFF000000, 0x30C18); - drawText(buffi, 5, 32, string, ln_str, 0xFF000000, 0x1030C18); - drawText(buffi, 5, 64, string, ln_str, 0xFF000000, 0x2030C18); - drawText(buffi, 5, 96, string, ln_str, 0xFF000000, 0x4030C18); - drawText(buffi, 5, 128, string, ln_str, 0xFF000000, 0x8030C18); - drawText(buffi, 5, 160, string, ln_str, 0xFF000000, 0x0F031428); - - while (1) - { - switch (get_os_event()) - { - case 1: - BeginDraw(); - DrawWindow(50, 50, 800, 300, "Rasterworks Example", 0x999999, 0x34); - DrawBitmap(buffi + 8, 10, 10, 768, 256); - EndDraw(); - break; - case 2: - get_key(); - break; - case 3: - if (get_os_button() == 1) exit(0); - break; - }; - } - return 0; -} diff --git a/programs/develop/ktcc/trunk/samples/consoleio.c b/programs/develop/ktcc/trunk/samples/consoleio.c deleted file mode 100644 index f2d72c9c80..0000000000 --- a/programs/develop/ktcc/trunk/samples/consoleio.c +++ /dev/null @@ -1,23 +0,0 @@ -// demonstration conio use, color text -// more info in conio.h - -#include - -int main() -{ - int i; - if (con_init_console_dll()) return 1; // init fail - -// con_write_asciiz("\033[0;31;42m test \n"); // red on green bk - - for(i = 30; i < 48; i++) - { - con_printf("\033[%dmColor 0x%02X: ", i, i); - con_write_asciiz("Text sample."); - - con_printf(" printf %s test %d\n", "small", i); - - } - - con_exit(0); -} \ No newline at end of file diff --git a/programs/develop/ktcc/trunk/samples/dir_example.c b/programs/develop/ktcc/trunk/samples/dir_example.c deleted file mode 100644 index 3a8260c45f..0000000000 --- a/programs/develop/ktcc/trunk/samples/dir_example.c +++ /dev/null @@ -1,41 +0,0 @@ -#include -#include -#include -#include - -int main() -{ - char *path=getcwd(NULL, PATH_MAX); - printf("Current directory: %s\n", path); - if(true==mkdir("test")){ - puts("Test folder created!"); - } - else{ - puts("Error creating folder!"); - } - short_file_info *info; - int num = lsdir(path, &info); - if(num==FS_ERROR) - { - puts("File system error."); - return -1; - } - printf("Objects in the folder: %d\n", num); - for(int j=0; j -#include -#include - -#define OK 200 - -int main() { - if (con_init_console_dll()) return 1; // init fail - con_write_asciiz("Wait, I'll ask you... when I'll done to fetch one site...\n"); - con_set_title("Dynamicaly linked app"); - - http_msg *h = http_get("http://kolibrios.org/en/", 0, HTTP_FLAG_BLOCK, ""); - http_long_receive(h); - - if (h->status == OK) { - con_write_string(h->content_ptr, h->content_length); - } else { - con_write_asciiz("Oops! Can't access to the page.\n"); - } - char buffer[256]; - InputBox(buffer, "Hay!", "How do you do?", "Hmm?", 0, 256, 0); - con_printf("Your answer is \"%s\"\n", buffer); - con_write_string("It's surprising, isn't it?", 26); - con_exit(0); - return 0; -} diff --git a/programs/develop/ktcc/trunk/samples/files.c b/programs/develop/ktcc/trunk/samples/files.c deleted file mode 100644 index f6c8f1033e..0000000000 --- a/programs/develop/ktcc/trunk/samples/files.c +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include - -int main(int argc, char **argv) -{ - - int i; - char c; - FILE *f; - FILE *fin; - FILE *fout; - - //write to file - f=fopen("testfile.txt","w"); - - for(i=0;i<50;i++) - { - fputc('1',f); - } - fclose(f); - - //append to file - f=fopen("testfile.txt","a"); - - for(i=0;i<50;i++) - { - fputc('2',f); - } - fclose(f); - - //copy from testfile.txt to copyfile.txt - - fin=fopen("testfile.txt","r"); - fout=fopen("copyfile.txt","w"); - - while((c=fgetc(fin))!=EOF) - { - fputc(c,fout); - } - fclose(fin); - fclose(fout); - -} \ No newline at end of file diff --git a/programs/develop/ktcc/trunk/samples/getopt_ex.c b/programs/develop/ktcc/trunk/samples/getopt_ex.c deleted file mode 100644 index 98b9cc1db8..0000000000 --- a/programs/develop/ktcc/trunk/samples/getopt_ex.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include -#include - -void main(int argc, char *argv[]) { - int c; - if(argc<2) - { - puts("Usage: getopt_ex [options]\n"); - puts("-a Show 'Option a'"); - puts("-B Show 'Option B'"); - puts("-n [num] Show 'num'"); - } - while ((c = getopt(argc, argv, "aBn:")) != EOF) { - switch (c) { - case 'a': - puts("Option 'a'"); - break; - - case 'B': - puts("Option 'B'"); - break; - - case 'n': - printf("Option n: value=%d\n", atoi(optarg)); - break; - - case '?': - printf("ERROR: illegal option %s\n", argv[optind-1]); - exit(0); - - default: - printf("WARNING: no handler for option %c\n", c); - exit(0); - } - } - exit(0); - } diff --git a/programs/develop/ktcc/trunk/samples/graphics.c b/programs/develop/ktcc/trunk/samples/graphics.c deleted file mode 100644 index 6e52d8600c..0000000000 --- a/programs/develop/ktcc/trunk/samples/graphics.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include -#include - -/// =========================================================== - -int main() -{ - GB_BMP b; - unsigned event; - - b.w = 300; - b.h = 200; - b.bmp = malloc (300*200*3); - - gb_bar (&b, 4, 8, 4, 12, 0xff0000); // red - gb_bar (&b, 10, 8, 4, 12, 0x00ff00); // green - gb_bar (&b, 16, 8, 4, 12, 0x0000ff); // blue - - gb_line(&b, 4, 30, 50, 30, 0xffffff); // white line - gb_line(&b, 55, 4, 120, 60, 0xf0f033); // another line - - gb_rect(&b, 65, 24, 100, 60, 0x2065ff); // rectangle - - gb_circle(&b, 55, 95, 40, 0x20ff20); // circle - - for (;;) - { - event = get_os_event(); - switch (event) - { - case 1: - begin_draw(); - sys_create_window(50, 50, 310, 230, "testlibgb" ,0x34f0f0f0, 0x14); - draw_bitmap(b.bmp, 5, 25, 300, 200); - end_draw(); - break; - case 2: - get_key(); - break; - - case 3: - if (1==get_os_button()) - { - exit(0); - } - break; - }; - } - exit(0); -} -/// =========================================================== diff --git a/programs/develop/ktcc/trunk/samples/load_coff.c b/programs/develop/ktcc/trunk/samples/load_coff.c deleted file mode 100644 index d4c73fbe3b..0000000000 --- a/programs/develop/ktcc/trunk/samples/load_coff.c +++ /dev/null @@ -1,21 +0,0 @@ -#include - -/*Using the "coff" library in ktcc using "inputbox.obj" as an example*/ - -unsigned (*InputBox)(void* Buffer, char* Caption, char* Prompt, char* Default, unsigned long Flags, unsigned long BufferSize, void* RedrawProc); - -void *InputBoxLib; - -void load_coff() -{ - InputBoxLib = dlopen("/sys/lib/inputbox.obj", RTLD_GLOBAL); - InputBox = dlsym(InputBoxLib,"InputBox"); -} - -int main() -{ - load_coff(); - char buffer[256]; - InputBox(buffer, "Hay!", "How do you do?", "Hmm?", 10, 256, 0); - dlclose(InputBoxLib); -} diff --git a/programs/develop/ktcc/trunk/samples/net/http_tcp_demo.c b/programs/develop/ktcc/trunk/samples/net/http_tcp_demo.c deleted file mode 100644 index b0924ef9c8..0000000000 --- a/programs/develop/ktcc/trunk/samples/net/http_tcp_demo.c +++ /dev/null @@ -1,64 +0,0 @@ -#include -#include -#include -#include -#include - -int main() { - con_init_console_dll(); - networklib_init(); - con_set_title("http request demo using raw sockets"); - - char *host = "kolibrios.org"; - int port = 80; - printf("Connecting to %s on port %d\n", host, port); - - struct addrinfo *addr_info; - char port_str[16]; sprintf(port_str, "%d", port); - struct addrinfo hints; - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; // IPv4 or IPv6 doesnt matter - hints.ai_socktype = SOCK_STREAM; // TCP stream sockets - if (getaddrinfo(host, port_str, 0, &addr_info) != 0) { - printf("Host %s not found!\n", host); - freeaddrinfo(addr_info); - exit(-1); - } - printf("IP address of %s is %s\n", host, inet_ntoa(addr_info->ai_addr->sin_addr)); - //printf("Host port = %d\n", addr_info->ai_addr->sin_port >> 8); - - char request[256]; - sprintf(request, "GET /en/ HTTP/1.1\r\nHost: %s\r\n\r\n", host); - printf("request = %s\n", request); - - int sock = socket(AF_INET4, SOCK_STREAM, IPPROTO_TCP); - - puts("Connecting...\n"); - if (connect(sock, addr_info->ai_addr, addr_info->ai_addrlen) != 0) { - printf("Connection failed, errno = %d\n", errno); - exit(errno); - } - puts("Connected successfully\n"); - - puts("Sending request...\n"); - if (send(sock, request, strlen(request), MSG_NOFLAG) == -1) { - printf("Sending failed, errno = %d\n", errno); - exit(errno); - } - puts("Request sended successfully, waiting for response...\n"); - - char buf[512 + 1]; - if (recv(sock, buf, 512, MSG_NOFLAG) == -1) { - printf("Receive failed, errno = %d\n", errno); - exit(errno); - } - - printf("Response = %s\n", buf); - - freeaddrinfo(addr_info); - - close(sock); - puts("\n goodbye)\n"); - con_exit(0); - return 0; -} diff --git a/programs/develop/ktcc/trunk/samples/net/nslookup.c b/programs/develop/ktcc/trunk/samples/net/nslookup.c deleted file mode 100644 index 010c2b9e6e..0000000000 --- a/programs/develop/ktcc/trunk/samples/net/nslookup.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include - -struct addrinfo *res; -char host[256]; - -void main() -{ - con_init_console_dll(); - networklib_init(); - con_set_title("nslookup demo"); - printf("Host name to resolve: "); - con_gets(host, 256); - host[strlen(host)-1] = '\0'; - if(getaddrinfo(host ,0, 0, &res)!=0) - { - puts("Host not found!"); - freeaddrinfo(res); - con_exit(0); - } - else - { - printf("%s",inet_ntoa(res->ai_addr->sin_addr)); - freeaddrinfo(res); - con_exit(0); - } -} diff --git a/programs/develop/ktcc/trunk/samples/net/tcpsrv_demo.c b/programs/develop/ktcc/trunk/samples/net/tcpsrv_demo.c deleted file mode 100644 index 5e8b64cf01..0000000000 --- a/programs/develop/ktcc/trunk/samples/net/tcpsrv_demo.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include -#include -#include - -const char msg1[]="Hello!"; -char msg2='\0'; - -int main() -{ - struct sockaddr addr={AF_INET4, PORT(23) , 0, 0}; - - int sk1=socket(AF_INET4, SOCK_STREAM, IPPROTO_TCP); - printf("Open socket: %d. Status: %s\n",sk1, strerror(errno)); - - bind(sk1, &addr,sizeof(addr)); - printf("Socket binding. Status: %s\n", strerror(errno)); - - listen(sk1, 1); - printf("Listening to a socket. Status: %s\n", strerror(errno)); - printf("You can connect to 'tcp server' via 'telnet' on localhost:23 !"); - - int sk2 = accept(sk1, &addr, sizeof(addr)); - printf("Accept done. Status: %s\n", strerror(errno)); - - send(sk2, msg1, strlen(msg1),MSG_NOFLAG); - printf("Send message: '%s'. Status: %s\n",msg1, strerror(errno)); - puts("Received data:"); - while(msg2!='!') - { - recv(sk2, &msg2, 1, MSG_NOFLAG); - printf("%c",msg2); - } - close(sk1); - close(sk2); - puts("\nGood bye!"); - exit(0); -} diff --git a/programs/develop/ktcc/trunk/samples/tinygl/fps.c b/programs/develop/ktcc/trunk/samples/tinygl/fps.c deleted file mode 100644 index dff4a9870c..0000000000 --- a/programs/develop/ktcc/trunk/samples/tinygl/fps.c +++ /dev/null @@ -1,33 +0,0 @@ -#include -int time1=0; -int time2=0; -int fps1=0; -int timerend=0; - -int Fps() -{ - int tr; - time1=get_tick_count(); - if (timerend==0) - { - time2=time1; - timerend=time1; - } - - tr = time1 - timerend; - - if ((time1 - time2) < 100) - { - fps1++; - } - else - { - draw_bar(330,8, 50,10,0xFFFFFF); - draw_number_sys(fps1,330,8,10,0x0); - fps1=0; - time2=time1; - } - timerend=time1; -return tr; -} - diff --git a/programs/develop/ktcc/trunk/samples/tinygl/gears.c b/programs/develop/ktcc/trunk/samples/tinygl/gears.c deleted file mode 100644 index bc82a2da81..0000000000 --- a/programs/develop/ktcc/trunk/samples/tinygl/gears.c +++ /dev/null @@ -1,313 +0,0 @@ -#include -#include -#include -#include -#include -#include - -int Fps(); - -struct { - int x,y; - int dx,dy; -} win; - -#define KEY_ESC 1 -#define KEY_F 33 - -char *title1 = "TinyGL in KolibriOS"; -char *title2 = "F full screen"; -char *title3 = "ESC - exit"; -char *fps = "FPS:"; - -unsigned char FullScreen = 0; -unsigned char skin = 3; - -struct process_table_entry *pri; -KOSGLContext cgl; - -static GLfloat view_rotx=20.0, view_roty=30.0, view_rotz=0.0; -static GLint gear1, gear2, gear3; -static GLfloat angle = 0.0; - -static GLuint limit; -static GLuint count = 1; - -/* - * Draw a gear wheel. You'll probably want to call this function when - * building a display list since we do a lot of trig here. - * - * Input: inner_radius - radius of hole at center - * outer_radius - radius at center of teeth - * width - width of gear - * teeth - number of teeth - * tooth_depth - depth of tooth - */ -static void gear( GLfloat inner_radius, GLfloat outer_radius, GLfloat width, - GLint teeth, GLfloat tooth_depth ) -{ - GLint i; - GLfloat r0, r1, r2; - GLfloat angle, da; - GLfloat u, v, len; - - r0 = inner_radius; - r1 = outer_radius - tooth_depth/2.0; - r2 = outer_radius + tooth_depth/2.0; - - da = 2.0*M_PI / teeth / 4.0; - - glShadeModel( GL_FLAT ); - - glNormal3f( 0.0, 0.0, 1.0 ); - - /* draw front face */ - glBegin( GL_QUAD_STRIP ); - for (i=0;i<=teeth;i++) { - angle = i * 2.0*M_PI / teeth; - glVertex3f( r0*cos(angle), r0*sin(angle), width*0.5 ); - glVertex3f( r1*cos(angle), r1*sin(angle), width*0.5 ); - glVertex3f( r0*cos(angle), r0*sin(angle), width*0.5 ); - glVertex3f( r1*cos(angle+3*da), r1*sin(angle+3*da), width*0.5 ); - } - glEnd(); - - /* draw front sides of teeth */ - glBegin( GL_QUADS ); - da = 2.0*M_PI / teeth / 4.0; - for (i=0;iwinx_size, pri->winy_size-20); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - gluPerspective(45.0, (GLfloat)pri->winx_size/pri->winy_size, 1.0, 60.0); - glTranslatef( 0.0, 0.0, 20.0 ); - glMatrixMode(GL_MODELVIEW); - glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); -} - -void disabletgl() -{ - kosglDestroyContext(cgl); - free(pri); -} - -void Title() -{ - _ksys_write_text(300,8,0x0,fps,strlen(fps)); - _ksys_write_text(8,8,0x0,title1,strlen(title1)); - _ksys_write_text(180,8,0x0,title2,strlen(title2)); - _ksys_write_text(600,8,0x0,title3,strlen(title3)); -} - - -void draw_window() -{ - begin_draw(); - sys_create_window(win.x, win.y, win.dx, win.dy,"Gears", 0xFFFFFF, 0x34); - Title(); - end_draw(); -} - - -void main(void) -{ - pri=malloc(sizeof(struct process_table_entry)); - win.x = 100; - win.y = 100; - win.dx = 400; - win.dy = 400; - draw_window(); - _ksys_set_keyboard_mode(1); - cgl = kosglCreateContext( 0, 0); - kosglMakeCurrent( 0, 20, win.dx, win.dy-20, cgl); - init(); - reshape(); - do{ - glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); - glPushMatrix(); - glRotatef( view_rotx, 1.0, 0.0, 0.0 ); - glRotatef( view_roty, 0.0, 1.0, 0.0 ); - glRotatef( view_rotz, 0.0, 0.0, 1.0 ); - - glPushMatrix(); - glTranslatef( -2.0, -2.0, 0.0 ); - glRotatef( angle, 0.0, 0.0, 1.0 ); - glCallList(gear1); - glPopMatrix(); - - glPushMatrix(); - glTranslatef( 4.1, -2.0, 0.0 ); - glRotatef( -2.0*angle-9.0, 0.0, 0.0, 1.0 ); - glCallList(gear2); - glPopMatrix(); - - glPushMatrix(); - glTranslatef( -2.1, 4.2, 0.0 ); - glRotatef( -2.0*angle-25.0, 0.0, 0.0, 1.0 ); - glCallList(gear3); - glPopMatrix(); - glPopMatrix(); - kosglSwapBuffers(); - - angle += 0.01 + 0.3* Fps(); - switch(_ksys_check_for_event()){ - case KOLIBRI_EVENT_REDRAW: draw_window(); - reshape(); - break; - - case KOLIBRI_EVENT_KEY: - switch(get_key().ctrl_key){ - case KEY_F: - if(!FullScreen){ - skin=0; - int screen_size_x; - int screen_size_y; - _ksys_get_screen_size(&screen_size_x, &screen_size_y); - sys_change_window(0,0,screen_size_x,screen_size_y); - draw_window(); - reshape(); - FullScreen = 1; - } - else{ - skin=3; - draw_window(); - sys_change_window(win.x,win.y, win.dx, win.dy); - reshape(); - FullScreen = 0; - }; - break; - case KEY_ESC: disabletgl(); - return;} - break; - - case 3: disabletgl(); - return; - } - } while(1); -} diff --git a/programs/develop/ktcc/trunk/samples/winbasics.c b/programs/develop/ktcc/trunk/samples/winbasics.c deleted file mode 100644 index 636d6a7a58..0000000000 --- a/programs/develop/ktcc/trunk/samples/winbasics.c +++ /dev/null @@ -1,148 +0,0 @@ -/* - newlib-style window example -*/ -#include -#include -#include -#include -#include "kos32sys1.h" - -struct kolibri_system_colors sys_color_table; -void __attribute__ ((noinline)) debug_board_printf(const char *format,...); -void __attribute__ ((noinline)) debug_board_write_str(const char* str); - -char statusbar[255]; -char proc_info[1024]; -char text_line[255]; - -enum BUTTONS -{ - BTN_QUIT = 1, - BTN_POP = 10, - BTN_UNLOCK = 11 -}; - -#define FONT_W 8 -#define FONT_H 14 -#define LINES 10 - -void draw_window() -{ - int win_hight, win_width, i, pos_y = get_skin_height() + 36; // 60 == 24+36 - - // start redraw - begin_draw(); - // define&draw window - sys_create_window(10, 40, 600, 400, "My window", /*sys_color_table.work_area*/0xFFFFFF, 0x13); - - get_proc_info(proc_info); - win_width = *(int*)(proc_info + 0x3E); // client, 2A windows - win_hight = *(int*)(proc_info + 0x42); // client, 2E windows - - define_button((10 << 16) + 80, (30 << 16) + 20, BTN_POP, sys_color_table.work_button); - draw_text_sys("BUTTON1", 15, 34, 0, 0x90000000 | sys_color_table.work_button_text); //0x80000000 asciiz - - define_button((100 << 16) + 100, (30 << 16) + 20, BTN_UNLOCK, sys_color_table.work_button); - draw_text_sys("BUTTTON2", 110, 34, 0, 0x90000000 | sys_color_table.work_button_text); - - // display statusbar - draw_bar(6, win_hight - 17, win_width - 11, 12, 0x80000000 | sys_color_table.work_area); //0x80000000 gradient - draw_text_sys(statusbar, 10, win_hight - 15, 0, 0x80000000 | sys_color_table.work_text); - - // display strings - for (i = LINES; i > 0; i--) - { - tiny_snprintf (text_line, sizeof text_line, "Line[%d]<>", i); - - text_line[(win_width - 10 - 5) / FONT_W + 1] = '\0'; // clip text size, seems to big lines crashing OS, and form len by window size -// draw_number_sys(nbytes, 5, pos_y, 6, 0x10000000); 8x12 font - draw_text_sys(text_line, 5, pos_y, 0, 0x90000000 /*| sys_color_table.work_text*/); - pos_y += FONT_H; - - if(pos_y + 29 > win_hight) break; // 12 font + 12 statusbar + 5 border - } - - // end redraw - end_draw(); -} - -int main() -{ - int gui_event; - uint32_t pressed_button = 0, mouse_button; - pos_t mouse_pos; - strcpy(statusbar, "Program running...Double click on TEXT for details"); - - get_system_colors(&sys_color_table); - set_event_mask(0xC0000027); // mouse events only when focused window and mouse inside - - do /* Start of main activity loop */ - { -// gui_event = wait_for_event(10); // 100 = 1 sec, case you have background work - gui_event = get_os_event(); - switch(gui_event) - { - case KOLIBRI_EVENT_NONE: - // background work - break; - case KOLIBRI_EVENT_REDRAW: - draw_window(); - break; - case KOLIBRI_EVENT_KEY: - // scroll - break; - case KOLIBRI_EVENT_BUTTON: - pressed_button = get_os_button(); - switch (pressed_button) - { - case BTN_POP: - strcpy(statusbar, "POP pressed...."); - draw_window(); - break; - case BTN_UNLOCK: - strcpy(statusbar, "UNLOCK pressed...."); - draw_window(); - break; - case BTN_QUIT: - return 0; - break; - } - break; - case KOLIBRI_EVENT_MOUSE: - mouse_pos = get_mouse_pos(POS_WINDOW); // window relative - mouse_button = get_mouse_eventstate(); - debug_board_printf("mouse ev (%d,%d)%x\n", mouse_pos.x, mouse_pos.y, mouse_button); - if (mouse_button & (1<<24)) // double click - { - int n = (mouse_pos.y - 60) / FONT_H; - if (n < 0 || n >= LINES) break; - debug_board_printf("click on str(%d), clip slot(%d)\n", n, LINES - n - 1); - tiny_sprintf(statusbar, "click on str(%d), clip slot(%d)\n", n, LINES - n - 1); - draw_window(); - } - // ignore - break; - } - } while(1) ; /* End of main activity loop */ - - return 0; -} - - - -void __attribute__ ((noinline)) debug_board_write_str(const char* str){ - while(*str) - debug_board_write_byte(*str++); -} - -void __attribute__ ((noinline)) debug_board_printf(const char *format,...) -{ - va_list ap; - char log_board[300]; - - va_start (ap, format); - tiny_vsnprintf(log_board, sizeof log_board, format, ap); - va_end(ap); - debug_board_write_str(log_board); - -}