Subversion Repositories Kolibri OS

Rev

Rev 8104 | Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. // sample writed by maxcodehack
  2. #include <kos32sys1.h>
  3. #include <stdlib.h>
  4. #include <clayer/boxlib.h>
  5.  
  6. #define evReDraw  1
  7. #define evKey     2
  8. #define evButton  3
  9. #define evExit    4
  10. #define evDesktop 5
  11. #define evMouse   6
  12. #define evIPC     7
  13. #define evNetwork 8
  14. #define evDebug   9
  15.  
  16. #define WIN_W 640
  17. #define WIN_H 563
  18.  
  19. char* title = "Boxlib example";
  20. int win_bg_color = 0x858585;
  21. scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 115, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1};
  22.  
  23. void draw_window(){
  24.         begin_draw();
  25.         sys_create_window(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
  26.         scrollbar_v_draw(&scroll);
  27.         end_draw();
  28. }
  29.  
  30. //// EVENTMASK
  31. #define EVM_REDRAW        1
  32. #define EVM_KEY           2
  33. #define EVM_BUTTON        4
  34. #define EVM_EXIT          8
  35. #define EVM_BACKGROUND    16
  36. #define EVM_MOUSE         32
  37. #define EVM_IPC           64
  38. #define EVM_STACK         128
  39. #define EVM_DEBUG         256
  40. #define EVM_STACK2        512
  41. #define EVM_MOUSE_FILTER  0x80000000
  42. #define EVM_CURSOR_FILTER 0x40000000
  43. //// EVENTMASK
  44.  
  45.  
  46. int main()
  47. {
  48.         kolibri_boxlib_init();
  49.        
  50.         set_event_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
  51.         while(1)
  52.         {
  53.                 switch(get_os_event())
  54.                 {
  55.                         case evButton:
  56.                                 if (get_os_button() == 1) exit(0);
  57.                                 break;
  58.                  
  59.                         case evKey:
  60.                                 get_key();
  61.                                 break;
  62.                          
  63.                         case evReDraw:
  64.                                 draw_window();
  65.                                 break;
  66.                         case evMouse:
  67.                                 scrollbar_v_mouse(&scroll);
  68.                                 break;
  69.                 }
  70.         }
  71. }
  72.