Rev 6500 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6500 | Rev 6589 | ||
---|---|---|---|
Line 20... | Line 20... | ||
20 | uint32_t bgcolor; |
20 | uint32_t bgcolor; |
21 | void *buffer; |
21 | void *buffer; |
22 | }; |
22 | }; |
23 | } t_font; |
23 | } t_font; |
Line 24... | Line 24... | ||
24 | 24 | ||
25 | typedef struct { |
25 | typedef struct __attribute__ ((__packed__)) { |
26 | uint16_t left, top, right, bottom; |
26 | uint16_t left, top, right, bottom; |
Line 27... | Line 27... | ||
27 | } t_rect; |
27 | } t_rect; |
28 | 28 | ||
29 | typedef struct kmenuitem_t{ |
29 | typedef struct kmenuitem_t{ |
30 | int type; |
30 | int type; |
31 | char *text; |
31 | char *text; |
32 | union { |
32 | union { |
33 | void *submenu; |
33 | void *submenu; |
34 | //kmenuitem_callback_t callback; |
34 | //kmenuitem_callback_t callback; |
35 | size_t btnid; |
35 | size_t btnid; |
36 | }; |
36 | }; |
37 | 37 | ||
38 | void (*paint)(struct kmenuitem_t *item, t_rect *rc) __attribute__((__stdcall__)); |
38 | void (*paint)(struct kmenuitem_t *item, t_rect *rc) __attribute__((__stdcall__)); |
39 | 39 | ||
40 | int is_focused; |
40 | int is_focused; |
41 | int is_enabled; |
41 | int is_enabled; |
Line 42... | Line 42... | ||
42 | int is_visible; |
42 | int is_visible; |
43 | size_t style; |
43 | size_t style; |
44 | 44 | ||
45 | int font_width, font_height; |
45 | int font_width, font_height; |
46 | t_font font; |
46 | t_font font; |
47 | 47 | ||
48 | size_t left, top; |
48 | size_t left, top; |
49 | size_t width, height, pref_width, pref_height; |
49 | size_t width, height, pref_width, pref_height; |
Line 50... | Line 50... | ||
50 | size_t margin_left, margin_right, margin_top, margin_bottom; |
50 | size_t margin_left, margin_right, margin_top, margin_bottom; |
51 | size_t padding_left, padding_right, padding_top, padding_bottom; |
51 | size_t padding_left, padding_right, padding_top, padding_bottom; |
52 | } kmenuitem_t; |
52 | } kmenuitem_t; |
53 | 53 | ||
54 | typedef struct ksubmenu_t{ |
54 | typedef struct ksubmenu_t{ |
55 | kmenuitem_t **items; |
55 | kmenuitem_t **items; |
56 | int count; |
56 | int count; |
57 | 57 | ||
58 | void (*paint)(struct ksubmenu_t *menu) __attribute__((__stdcall__)); |
58 | void (*paint)(struct ksubmenu_t *menu) __attribute__((__stdcall__)); |
59 | 59 | ||
60 | int is_opened; |
60 | int is_opened; |
61 | int focus_idx; |
61 | int focus_idx; |
62 | 62 | ||
63 | size_t width, height; |
63 | size_t width, height; |
64 | size_t left, top; |
64 | size_t left, top; |
65 | int tid; |
65 | int tid; |
66 | int parent_wnd, parent_tid, submenu_tid, self_wnd; |
66 | int parent_wnd, parent_tid, submenu_tid, self_wnd; |
67 | int level; |
67 | int level; |
68 | size_t return_btnid; |
68 | size_t return_btnid; |
69 | 69 | ||
70 | int set_new_padding, set_new_margin; |
70 | int set_new_padding, set_new_margin; |
71 | t_rect items_padding; |
71 | t_rect items_padding; |
Line 72... | Line 72... | ||
72 | t_rect items_margin; |
72 | t_rect items_margin; |
73 | 73 | ||
74 | struct ksubmenu_t *parent; |
74 | struct ksubmenu_t *parent; |
75 | } ksubmenu_t; |
75 | } ksubmenu_t; |
76 | 76 | ||
77 | typedef struct { |
77 | typedef struct { |
78 | kmenuitem_t **submenu; |
78 | kmenuitem_t **submenu; |
79 | int count; |
79 | int count; |
80 | 80 | ||
81 | size_t width, height; |
81 | size_t width, height; |
82 | size_t left, top; |
82 | size_t left, top; |
83 | 83 | ||
Line 84... | Line 84... | ||
84 | int line_height; |
84 | int line_height; |
Line 85... | Line 85... | ||
85 | 85 | ||
86 | int focus_idx; |
86 | int focus_idx; |
87 | int submenu_tid; |
87 | int submenu_tid; |
88 | } kmenu_t; |
88 | } kmenu_t; |