Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef KOLIBRI_PATHSHOW_H
  2. #define KOLIBRI_PATHSHOW_H
  3.  
  4. typedef struct {
  5.         uint32_t type;
  6.         uint32_t x_y;
  7.         uint16_t font_size_x;  // 6 - for font 0, 8 - for font 1
  8.         uint16_t area_size_x;
  9.     uint32_t font_number;  // 0 - monospace, 1 - variable, as fn4 (2bit only 0-3)
  10.     uint32_t background_flag; // as fn4, if 0, bk_color unneeded
  11.     color_t  font_color;      // as fn4
  12.     color_t  background_color; // as fn4
  13.     char* text_pointer;       // 4096 ?
  14.     char* work_area_pointer;  // 4096 ?
  15.     uint32_t temp_text_length;
  16. } pathview;
  17.  
  18.  
  19.  
  20. inline pathview* kolibri_pathview(pathview* p, uint32_t x_y, uint32_t width, uint32_t font_number, uint32_t is_bkgr, char* text, char* temp_buf, color_t font, color_t  bkgr)
  21. {
  22.     p->type = p->temp_text_length = 0;
  23.     p->x_y = x_y;
  24.     p->font_size_x = font_number == 0 ? 6 : 8;  // need correction for bigger fonts
  25.     p->area_size_x = width;
  26.     p->font_number = font_number;
  27.     p->background_flag = is_bkgr;
  28.     p->text_pointer = text;
  29.     p->work_area_pointer = temp_buf;
  30.     p->font_color = font;
  31.     p->background_color = bkgr;
  32.  
  33.     return p;
  34. }
  35.  
  36. inline pathview* kolibri_new_pathview(pathview* p, uint32_t x_y, uint32_t width, uint32_t font_number, uint32_t is_bkgr, char* text, char* temp_buf, color_t font, color_t  bkgr)
  37. {
  38.     pathview *new_pv = (pathview *)malloc(sizeof(pathview));
  39.     return kolibri_pathview(new_pv, x_y, width, font_number, is_bkgr, text, temp_buf, font, bkgr);
  40. }
  41.  
  42. inline void gui_add_pathview(kolibri_window *wnd, pathview* pv)
  43. {
  44.     kolibri_window_add_element(wnd, KOLIBRI_PATHSHOW, pv);
  45. }
  46.  
  47.  
  48. extern void (*path_show_prepare)(pathview *) __attribute__((__stdcall__));
  49. extern void (*path_show_draw)(pathview *) __attribute__((__stdcall__));
  50.  
  51. #endif /* KOLIBRI_PATHSHOW_H */
  52.