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