Subversion Repositories Kolibri OS

Rev

Rev 6492 | Rev 6496 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <kos32sys.h>
  4. #include <kolibri_gui.h>
  5. #include <kolibri_rasterworks.h>
  6.  
  7. int main()
  8. {
  9.   /* Load all libraries, initialize global tables like system color table and
  10.      operations table. kolibri_gui_init() will EXIT with mcall -1 if it fails
  11.      to do it's job. This is all you need to call and all libraries and GUI
  12.      elements can be used after a successful call to this function
  13.   */
  14.   kolibri_gui_init();
  15.   kolibri_rasterworks_init();
  16.   /* Set gui_event to REDRAW so that window is drawn in first iteration  */
  17.  
  18.   unsigned int gui_event;
  19.   oskey_t key;
  20.   unsigned int pressed_button
  21.   //extern volatile unsigned press_key;
  22.  
  23.   kolibri_window *main_window = kolibri_new_window(50, 50, 800, 300, "rasterworks example");
  24.  
  25.   int ln_str = countUTF8Z("Пример работы", -1);
  26.   void *buffi = malloc(768*256*3 * sizeof(char));
  27.  
  28.    *((int*)buffi) = 768;
  29.    *((int*)buffi+1) = 256;
  30.  
  31.   memset((char*)buffi+8, (char)-1, 768*256*3);
  32.    
  33.   debug_board_printf("String len: %d \n", ln_str);
  34.  
  35.   drawText(buffi, 0, 0, "Пример работы", ln_str, 0xFF000000, 0x30C18);
  36.   drawText(buffi, 0, 32, "Пример работы", ln_str, 0xFF000000, 0x1030C18);
  37.   drawText(buffi, 0, 64, "Пример работы", ln_str, 0xFF000000, 0x2030C18);
  38.   drawText(buffi, 0, 96, "Пример работы", ln_str, 0xFF000000, 0x4030C18);
  39.   drawText(buffi, 0, 128, "Пример работы", ln_str, 0xFF000000, 0x8030C18);
  40.   drawText(buffi, 0, 160, "Пример работы", ln_str, 0xFF000000, 0x0F031428);
  41.  
  42.   while(gui_event = get_os_event())
  43.   {
  44.     switch (gui_event)
  45.     {
  46.       case KOLIBRI_EVENT_REDRAW:
  47.             kolibri_handle_event_redraw(main_window);
  48.             DrawBitmap(buffi, 5, 5, 768, 256);
  49.             break;
  50.            
  51.           case KOLIBRI_EVENT_BUTTON:
  52.             pressed_button = kolibri_button_get_identifier();
  53.             switch (pressed_button)
  54.             {
  55.                 case BUTTON_CLOSE:
  56.                         kolibri_exit();
  57.             }
  58.             break;
  59.            
  60.           case KOLIBRI_EVENT_MOUSE:
  61.             kolibri_handle_event_mouse(main_window);
  62.             break;
  63.     }
  64.   }
  65.   return 0;
  66. }
  67.