Subversion Repositories pentevo

Rev

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