Rev 8104 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8104 | maxcodehac | 1 | // writed by maxcodehack |
2 | // adaptation of clayer for ktcc |
||
3 | #ifndef KOLIBRI_BOXLIB_H |
||
4 | #define KOLIBRI_BOXLIB_H |
||
5 | |||
6 | extern int kolibri_boxlib_init(void); |
||
7 | |||
8 | // SCROLLBAR |
||
9 | typedef struct { |
||
10 | uint16_t xsize; |
||
11 | uint16_t xpos; |
||
12 | uint16_t ysize; |
||
13 | uint16_t ypos; |
||
14 | uint32_t btn_height; |
||
15 | uint32_t type; // type 1 - stylish frame, type 2 - ?, type 0 - ? |
||
16 | uint32_t max_area; |
||
17 | uint32_t cur_area; |
||
18 | uint32_t position; |
||
19 | uint32_t back_color; |
||
20 | uint32_t front_color; |
||
21 | uint32_t line_color; |
||
22 | uint32_t redraw; |
||
23 | uint16_t delta; |
||
24 | uint16_t delta2; |
||
25 | uint16_t r_size_x; |
||
26 | uint16_t r_start_x; |
||
27 | uint16_t r_size_y; |
||
28 | uint16_t r_start_y; |
||
29 | uint32_t m_pos; |
||
30 | uint32_t m_pos2; |
||
31 | uint32_t m_keys; |
||
32 | uint32_t run_size; |
||
33 | uint32_t position2; |
||
34 | uint32_t work_size; |
||
35 | uint32_t all_redraw; // need to be set =1 before each redraw |
||
36 | uint32_t ar_offset; |
||
37 | } __attribute__ ((__packed__)) scrollbar; |
||
38 | |||
8106 | maxcodehac | 39 | extern void (*scrollbar_h_draw __attribute__((__stdcall__)))(scrollbar*); |
40 | extern void (*scrollbar_h_mouse __attribute__((__stdcall__)))(scrollbar*); |
||
41 | extern void (*scrollbar_v_draw __attribute__((__stdcall__)))(scrollbar*); |
||
42 | extern void (*scrollbar_v_mouse __attribute__((__stdcall__)))(scrollbar*); |
||
8104 | maxcodehac | 43 | |
44 | // CHECKBOX |
||
45 | typedef struct { |
||
46 | unsigned int left_s; |
||
47 | unsigned int top_s; |
||
48 | unsigned int ch_text_margin; |
||
49 | unsigned int color; |
||
50 | unsigned int border_color; |
||
51 | unsigned int text_color; |
||
52 | char *text; |
||
53 | unsigned int flags; |
||
54 | |||
55 | /* Users can use members above this */ |
||
56 | unsigned int size_of_str; |
||
57 | }check_box; |
||
58 | |||
8106 | maxcodehac | 59 | extern void (*check_box_draw2 __attribute__((__stdcall__)))(check_box *); |
60 | extern void (*check_box_mouse2 __attribute__((__stdcall__)))(check_box *); |
||
61 | extern void (*init_checkbox2 __attribute__((__stdcall__)))(check_box *); |
||
8104 | maxcodehac | 62 | |
63 | // DBUTTON |
||
64 | typedef struct { |
||
65 | uint32_t type; |
||
66 | uint32_t x_w; |
||
67 | uint32_t y_h; |
||
68 | uint32_t mouse_pos; |
||
69 | uint32_t mouse_keys; |
||
70 | uint32_t mouse_keys_old; |
||
71 | void* active_raw; //active bitmap |
||
72 | void* passive_raw; //passive bitmap |
||
73 | void* click_raw; //pressed bitmap |
||
74 | uint32_t resolution_raw; // bpp, as esi fn65 |
||
75 | void* palette_raw; // palette, as edi fn65 |
||
76 | uint32_t offset_raw; // width as ebp fn65 |
||
77 | uint32_t select; // internal state: 0 - passive, 2 - pressed, 1 - clicked |
||
78 | uint32_t click; // clicked - 1, zero it after tested |
||
79 | } pict_button; |
||
80 | |||
8106 | maxcodehac | 81 | extern void (*dynamic_button_draw __attribute__((__stdcall__)))(pict_button *); |
82 | extern void (*dynamic_button_mouse __attribute__((__stdcall__)))(pict_button *); |
||
8104 | maxcodehac | 83 | |
84 | // EDITBOX |
||
85 | |||
86 | typedef struct edit_box_t { |
||
87 | unsigned int width; |
||
88 | unsigned int left; |
||
89 | unsigned int top; |
||
90 | unsigned int color; |
||
91 | unsigned int shift_color; // selected text color |
||
92 | unsigned int focus_border_color; |
||
93 | unsigned int blur_border_color; |
||
94 | unsigned int text_color; |
||
95 | unsigned int max; |
||
96 | char *text; |
||
97 | void *mouse_variable; // must be pointer edit_box** to save focused editbox |
||
98 | unsigned int flags; |
||
99 | |||
100 | unsigned int size; // used symbols in buffer without trailing zero |
||
101 | unsigned int pos; // cursor position |
||
102 | /* The following struct members are not used by the users of API */ |
||
103 | unsigned int offset; |
||
104 | unsigned int cl_curs_x; |
||
105 | unsigned int cl_curs_y; |
||
106 | unsigned int shift; |
||
107 | unsigned int shift_old; |
||
108 | unsigned int height; |
||
109 | unsigned int char_width; |
||
110 | }edit_box; |
||
111 | |||
8106 | maxcodehac | 112 | extern void (*edit_box_draw __attribute__((__stdcall__)))(edit_box *); |
113 | extern void (*edit_box_key __attribute__((__stdcall__)))(edit_box *); |
||
114 | extern void (*edit_box_mouse __attribute__((__stdcall__)))(edit_box *); |
||
115 | extern void (*edit_box_set_text __attribute__((__stdcall__)))(edit_box *, char *); |
||
8104 | maxcodehac | 116 | extern volatile unsigned press_key; |
117 | |||
118 | // FRAME |
||
119 | typedef struct { |
||
120 | uint32_t type; |
||
121 | uint32_t x_w; |
||
122 | uint32_t y_h; |
||
123 | color_t ext_col; |
||
124 | color_t int_col; |
||
125 | uint32_t flags; |
||
126 | char *text_pointer; |
||
127 | uint32_t text_position; |
||
128 | uint32_t font_number; |
||
129 | uint32_t font_size_y; |
||
130 | color_t font_color; |
||
131 | color_t font_bg_color; |
||
132 | }frame; |
||
133 | |||
8106 | maxcodehac | 134 | extern void (*frame_draw)(frame *); |
8104 | maxcodehac | 135 | |
136 | // MENUBAR |
||
137 | typedef struct |
||
138 | { |
||
139 | uint32_t type; // 1 åñëè íåò ïîäìåíþ, ïðîñòî ïóíêò |
||
140 | |||
141 | uint32_t x_w; // âåðõíèé ïóíêò |
||
142 | uint32_t y_h; |
||
143 | |||
144 | char* text_pointer; |
||
145 | char* pos_pointer; |
||
146 | char* text_end; |
||
147 | uint32_t mouse_pos; |
||
148 | uint32_t mouse_keys; |
||
149 | |||
150 | uint32_t x_w1; // ïîäìåíþ |
||
151 | uint32_t y_h1; |
||
152 | |||
153 | color_t bckg_col; // ôîí âåðõíåãî ïóêòà |
||
154 | color_t frnt_col; // ôîí âûáðàííîãî âåðõíåãî ïóíêòà |
||
155 | color_t menu_col; // ôîí âûïàäàþùåé ÷àñòè (ïîäïóêòû) |
||
156 | uint32_t select; |
||
157 | uint32_t out_select; |
||
158 | char* buf_adress; |
||
159 | char* procinfo; |
||
160 | uint32_t click; |
||
161 | uint32_t cursor; |
||
162 | uint32_t cursor_old; |
||
163 | uint32_t interval; |
||
164 | uint32_t cursor_max; |
||
165 | uint32_t extended_key; |
||
166 | color_t menu_sel_col; // öâåò ôîíà âûáðàííîãî ïîäïóíêòà |
||
167 | color_t bckg_text_col; // öâåò øðèôòà íåâûáðàííîãî ïóíêòà |
||
168 | color_t frnt_text_col; // öâåò øðèôòà âûáðàííîãî ïóíêòà |
||
169 | uint32_t mouse_keys_old; |
||
170 | uint32_t font_height; |
||
171 | uint32_t cursor_out; |
||
172 | uint32_t get_mouse_flag; |
||
173 | } menubar; |
||
174 | |||
8106 | maxcodehac | 175 | extern void (*menu_bar_draw)(menubar *); |
176 | extern void (*menu_bar_mouse)(menubar *); |
||
177 | extern void (*menu_bar_activate)(menubar *); |
||
8104 | maxcodehac | 178 | |
179 | // OPTIONBOX |
||
8106 | maxcodehac | 180 | typedef struct option_box_t { |
8104 | maxcodehac | 181 | struct option_box_t **selected; |
182 | uint16_t posx; |
||
183 | uint16_t posy; |
||
184 | uint32_t text_margin; // = 4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè |
||
185 | uint32_t size; // 12 ðàçìåð êâàäðàòà ÷åê áîêñà |
||
186 | color_t color; |
||
187 | color_t border_color; // individual border |
||
188 | color_t text_color; |
||
189 | char *text; |
||
190 | uint32_t text_len; |
||
191 | uint32_t flags; |
||
8106 | maxcodehac | 192 | } __attribute__ ((__packed__)) option_box; |
8104 | maxcodehac | 193 | |
8106 | maxcodehac | 194 | extern void (*option_box_draw __attribute__((__stdcall__)))(option_box **); |
195 | extern void (*option_box_mouse __attribute__((__stdcall__)))(option_box **); |
||
8104 | maxcodehac | 196 | |
197 | // PATHSHOW |
||
198 | typedef struct { |
||
199 | uint32_t type; |
||
200 | uint32_t x_y; |
||
201 | uint16_t font_size_x; // 6 - for font 0, 8 - for font 1 |
||
202 | uint16_t area_size_x; |
||
203 | uint32_t font_number; // 0 - monospace, 1 - variable, as fn4 (2bit only 0-3) |
||
204 | uint32_t background_flag; // as fn4, if 0, bk_color unneeded |
||
205 | color_t font_color; // as fn4 |
||
206 | color_t background_color; // as fn4 |
||
207 | char* text_pointer; // 4096 ? |
||
208 | char* work_area_pointer; // 4096 ? |
||
209 | uint32_t temp_text_length; |
||
210 | } __attribute__ ((__packed__)) pathview; |
||
211 | |||
8106 | maxcodehac | 212 | extern void (*path_show_prepare __attribute__((__stdcall__)))(pathview *); |
213 | extern void (*path_show_draw __attribute__((__stdcall__)))(pathview *); |
||
8104 | maxcodehac | 214 | |
215 | // PROGRESSBAR |
||
216 | typedef struct { |
||
217 | unsigned int value; |
||
218 | unsigned int left; |
||
219 | unsigned int top; |
||
220 | unsigned int width; |
||
221 | unsigned int height; |
||
222 | unsigned int style; |
||
223 | unsigned int min; |
||
224 | unsigned int max; |
||
225 | unsigned int back_color; |
||
226 | unsigned int progress_color; |
||
227 | unsigned int frame_color; |
||
228 | } progressbar; |
||
229 | |||
8106 | maxcodehac | 230 | extern void (*progressbar_draw __attribute__((__stdcall__)))(progressbar *); |
231 | extern void (*progressbar_progress __attribute__((__stdcall__)))(progressbar *); |
||
8104 | maxcodehac | 232 | |
233 | |||
234 | #endif /* KOLIBRI_BOXLIB_H */ |