Subversion Repositories pentevo

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. #ifndef _SCREEN_H
  2. #define _SCREEN_H
  3.  
  4. #include "_types.h"
  5.  
  6. typedef struct {
  7.  const u8 x;                    // коорд.лев.верхн угола окна
  8.  const u8 y;                    //
  9.  const u8 width;                // ширина (без учёта тени)
  10.  const u8 height;               // высота (без учёта тени)
  11.  const u8 attr;                 // атрибут окна
  12.  const u8 flag;                 // флаги: .0 - "с тенью/без тени"
  13. } WIND_DESC;
  14.  
  15. typedef struct {
  16.  const u8 x;                    // коорд.лев.верхн угола окна
  17.  const u8 y;                    //
  18.  const u8 width;                // длина_строки + 2 = ширина без учёта рамки и тени
  19.  const u8 items;                // количество пунктов меню
  20.  PGM_VOID_P bkgnd_task;         // ссылка на фоновую задачу
  21.  const u16 bgtask_period;       // период вызова фоновой задачи, мс (1..16383)
  22.  PGM_VOID_P handlers;           // указатель на структуру указателей на обработчики
  23.  PGM_U8_P strings;              // указатель на текст меню
  24. } MENU_DESC;
  25.  
  26.  
  27. void scr_set_attr(u8 attr);
  28. void scr_set_cursor(u8 x, u8 y);
  29. void scr_print_msg(PGM_U8_P msg);
  30. void scr_print_mlmsg(PGM_U8_P *mlmsg);
  31. void scr_print_msg_n(PGM_U8_P msg, u8 size);
  32. void scr_print_rammsg_n(u8 *msg, u8 size);
  33. void scr_putchar(u8 ch);
  34. void scr_fill_char(u8 ch, u16 count);
  35. void scr_fill_char_attr(u8 ch, u8 attr, u16 count);
  36. void scr_fill_attr(u8 attr, u16 count);
  37. void scr_backgnd(void);
  38. void scr_fade(void);
  39. void scr_window(PGM_VOID_P ptr);
  40. void scr_menu(PGM_VOID_P ptr);
  41.  
  42. #endif
  43.