Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. #include "system/kolibri.h"
  3. #include "system/stdlib.h"
  4. #include "system/string.h"
  5.  
  6. #include "gblib.h"
  7.  
  8.  
  9. /// ===========================================================
  10.  
  11. void kol_main()
  12. {
  13.  
  14. GB_BMP                  b;
  15. kol_struct_import       *imp_gblib;
  16. unsigned                event;
  17.  
  18. imp_gblib = kol_cofflib_load("/sys/lib/gblib.obj");
  19.  
  20. gb_pixel_set = kol_cofflib_procload (imp_gblib, "gb_pixel_set");
  21. gb_pixel_get = kol_cofflib_procload (imp_gblib, "gb_pixel_get");
  22. gb_line = kol_cofflib_procload (imp_gblib, "gb_line");
  23. gb_rect = kol_cofflib_procload (imp_gblib, "gb_rect");
  24. gb_bar = kol_cofflib_procload (imp_gblib, "gb_bar");
  25. gb_circle = kol_cofflib_procload (imp_gblib, "gb_circle");
  26. gb_image_set = kol_cofflib_procload (imp_gblib, "gb_image_set");
  27. gb_image_set_t = kol_cofflib_procload (imp_gblib, "gb_image_set_t");
  28.  
  29. b.w = 300;
  30. b.h = 200;
  31. b.bmp = malloc (300*200*3);
  32.  
  33. gb_bar (&b, 4, 8, 4, 12, 0xff0000); // red
  34. gb_bar (&b, 10, 8, 4, 12, 0x00ff00); // green
  35. gb_bar (&b, 16, 8, 4, 12, 0x0000ff); // blue
  36.  
  37. gb_line(&b, 4, 30, 50, 30, 0xffffff); // white line
  38. gb_line(&b, 55, 4, 120, 60, 0xf0f033); // another line
  39.  
  40. gb_rect(&b, 65, 24, 100, 60, 0x2065ff); // rectangle
  41.  
  42. gb_circle(&b, 55, 95, 40, 0x20ff20); // circle
  43.  
  44. for (;;)
  45.         {
  46.         event = kol_event_wait();
  47.  
  48.         switch (event)
  49.                 {
  50.                 case 1:
  51.                         kol_paint_start();
  52.                         kol_wnd_define(50, 50, 350, 240, 0x34f0f0f0);
  53.                         kol_paint_image(3, 3, 300, 200, b.bmp);
  54.                         kol_paint_end();
  55.                         break;
  56.  
  57.                 case 2:
  58.                         kol_key_get();
  59.                         break;
  60.  
  61.                 case 3:
  62.                         if ( 1 == (kol_btn_get() & 0xff00)>>8 )
  63.                                 kol_exit();
  64.                         break;
  65.  
  66.                 };
  67.  
  68.  
  69.         }
  70.  
  71. }
  72.  
  73. /// ===========================================================
  74.