Rev 1458 | Rev 1489 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1199 | mario79 | 1 | ;***************************************************************************** |
2 | ; Box_Lib - library of graphical components |
||
3 | ; |
||
4 | ; Authors: |
||
5 | ; Alexey Teplov aka |
||
6 | ; Marat Zakiyanov aka Mario79, aka Mario |
||
7 | ; Evtikhov Maxim aka Maxxxx32 |
||
8 | ; Eugene Grechnikov aka Diamond |
||
9 | ; hidnplayr |
||
1277 | IgorA | 10 | ; Igor Afanasiev aka IgorA |
1199 | mario79 | 11 | ;***************************************************************************** |
1032 | Lrz | 12 | |
13 | format MS COFF |
||
14 | |||
15 | public EXPORTS |
||
16 | |||
17 | section '.flat' code readable align 16 |
||
1101 | Lrz | 18 | include '../../../../macros.inc' |
1457 | IgorA | 19 | include '../../../../proc32.inc' |
1432 | mario79 | 20 | include 'bl_sys.mac' |
1372 | IgorA | 21 | include 'box_lib.mac' ;macro which should make life easier :) |
22 | |||
1464 | IgorA | 23 | ;----------------------------------------------------------------------------- |
24 | ;функция для выделения памяти |
||
25 | ;input: |
||
26 | ; ecx = size data |
||
27 | ;otput: |
||
28 | ; eax = pointer to memory |
||
29 | align 4 |
||
30 | mem_Alloc: |
||
31 | push ebx |
||
32 | mov eax,68 |
||
33 | mov ebx,12 |
||
34 | int 0x40 |
||
35 | pop ebx |
||
36 | ret |
||
37 | ;функция для освобождения памяти |
||
38 | ;input: |
||
39 | ; ecx = pointer to memory |
||
40 | align 4 |
||
41 | proc mem_Free, mptr:dword |
||
42 | push eax ebx ecx |
||
43 | mov ecx,[mptr] |
||
44 | cmp ecx,0 |
||
45 | jz @f |
||
46 | mov eax,68 |
||
47 | mov ebx,13 |
||
48 | int 0x40 |
||
49 | @@: |
||
50 | pop ecx ebx eax |
||
51 | ret |
||
52 | endp |
||
53 | ;функция для перераспределения памяти |
||
54 | ;otput: |
||
55 | ; eax = pointer to memory |
||
56 | align 4 |
||
57 | proc mem_ReAlloc, mptr:dword, size:dword |
||
58 | push ebx ecx edx |
||
59 | mov edx, [mptr] |
||
60 | mov ecx, [size] |
||
61 | mcall 68, 20 |
||
62 | pop edx ecx ebx |
||
63 | ret |
||
64 | endp |
||
65 | |||
1032 | Lrz | 66 | ;---------------------------------------------------- |
67 | ;EditBox |
||
68 | ;---------------------------------------------------- |
||
1214 | Lrz | 69 | align 16 |
1277 | IgorA | 70 | use_editbox_draw ;macro reveals the function of the display. |
1214 | Lrz | 71 | align 16 |
1277 | IgorA | 72 | use_editbox_key ;macro reveals processing function of the keypad. |
1214 | Lrz | 73 | align 16 |
1277 | IgorA | 74 | use_editbox_mouse ;macro reveals processing function of the mouse. |
1032 | Lrz | 75 | |
76 | ;---------------------------------------------------- |
||
77 | ;CheckBox |
||
78 | ;---------------------------------------------------- |
||
1214 | Lrz | 79 | align 16 |
1277 | IgorA | 80 | use_checkbox_draw ;macro reveals the function of the display. |
1214 | Lrz | 81 | align 16 |
1277 | IgorA | 82 | use_checkbox_mouse ;macro reveals processing function of the mouse. |
1032 | Lrz | 83 | |
84 | |||
85 | ;-------------------------------------------------- |
||
86 | ;radiobutton Group |
||
87 | ;-------------------------------------------------- |
||
1214 | Lrz | 88 | align 16 |
1277 | IgorA | 89 | use_optionbox_driver ;macro that control the operating modes |
1214 | Lrz | 90 | align 16 |
1277 | IgorA | 91 | use_optionbox_draw ;macro reveals the function of the display. |
1214 | Lrz | 92 | align 16 |
1277 | IgorA | 93 | use_optionbox_mouse ;macro reveals processing function of the mouse. |
1032 | Lrz | 94 | |
1037 | mario79 | 95 | ;-------------------------------------------------- |
96 | ;scrollbar Group |
||
97 | ;-------------------------------------------------- |
||
1214 | Lrz | 98 | align 16 |
1037 | mario79 | 99 | use_scroll_bar |
1214 | Lrz | 100 | align 16 |
1037 | mario79 | 101 | use_scroll_bar_vertical |
1214 | Lrz | 102 | align 16 |
1037 | mario79 | 103 | use_scroll_bar_horizontal |
104 | |||
105 | ;-------------------------------------------------- |
||
106 | ;dinamic button Group |
||
107 | ;-------------------------------------------------- |
||
1214 | Lrz | 108 | align 16 |
1037 | mario79 | 109 | use_dinamic_button |
110 | |||
111 | ;-------------------------------------------------- |
||
112 | ;menubar Group |
||
113 | ;-------------------------------------------------- |
||
1214 | Lrz | 114 | align 16 |
1037 | mario79 | 115 | use_menu_bar |
116 | |||
117 | ;-------------------------------------------------- |
||
1199 | mario79 | 118 | ;filebrowser Group |
119 | ;-------------------------------------------------- |
||
1214 | Lrz | 120 | align 16 |
1199 | mario79 | 121 | use_file_browser |
1285 | IgorA | 122 | |
1199 | mario79 | 123 | ;-------------------------------------------------- |
1285 | IgorA | 124 | ;tree list |
125 | ;-------------------------------------------------- |
||
126 | align 16 |
||
127 | use_tree_list |
||
1060 | hidnplayr | 128 | |
1433 | mario79 | 129 | ;-------------------------------------------------- |
130 | ;PathShow Group |
||
131 | ;-------------------------------------------------- |
||
132 | align 16 |
||
133 | use_path_show |
||
1060 | hidnplayr | 134 | |
1457 | IgorA | 135 | ;-------------------------------------------------- |
136 | ;text editor |
||
137 | ;-------------------------------------------------- |
||
1433 | mario79 | 138 | align 16 |
1457 | IgorA | 139 | use_text_edit |
140 | |||
141 | align 16 |
||
1285 | IgorA | 142 | init: |
143 | ret |
||
1068 | Lrz | 144 | |
1277 | IgorA | 145 | |
1032 | Lrz | 146 | align 16 |
147 | EXPORTS: |
||
148 | |||
149 | |||
1433 | mario79 | 150 | dd sz_init, init |
151 | dd sz_version, 0x00000001 |
||
1060 | hidnplayr | 152 | |
1433 | mario79 | 153 | dd sz_edit_box, edit_box |
154 | dd sz_edit_box_key, edit_box_key |
||
155 | dd sz_edit_box_mouse, edit_box_mouse |
||
156 | dd szVersion_ed, 0x00000001 |
||
1060 | hidnplayr | 157 | |
1433 | mario79 | 158 | dd sz_check_box_draw, check_box_draw |
159 | dd sz_check_box_mouse, check_box_mouse |
||
160 | dd szVersion_ch, 0x00000001 |
||
1068 | Lrz | 161 | |
1433 | mario79 | 162 | dd sz_option_box_draw, option_box_draw |
163 | dd sz_option_box_mouse, option_box_mouse |
||
164 | dd szVersion_op, 0x00000001 |
||
1068 | Lrz | 165 | |
1433 | mario79 | 166 | dd sz_Scrollbar_ver_draw, scroll_bar_vertical.draw |
167 | dd sz_Scrollbar_ver_mouse, scroll_bar_vertical.mouse |
||
168 | dd sz_Scrollbar_hor_draw, scroll_bar_horizontal.draw |
||
169 | dd sz_Scrollbar_hor_mouse, scroll_bar_horizontal.mouse |
||
170 | dd szVersion_scrollbar, 0x00010001 |
||
1068 | Lrz | 171 | |
1433 | mario79 | 172 | dd sz_Dbutton_draw, dinamic_button.draw |
173 | dd sz_Dbutton_mouse, dinamic_button.mouse |
||
174 | dd szVersion_dbutton, 0x00010001 |
||
1068 | Lrz | 175 | |
1433 | mario79 | 176 | dd sz_Menu_bar_draw, menu_bar.draw |
177 | dd sz_Menu_bar_mouse, menu_bar.mouse |
||
178 | dd sz_Menu_bar_activate, menu_bar.activate |
||
179 | dd szVersion_menu_bar, 0x00010002 |
||
1199 | mario79 | 180 | |
1433 | mario79 | 181 | dd sz_FileBrowser_draw, fb_draw_panel |
182 | dd sz_FileBrowser_mouse, fb_mouse |
||
183 | dd sz_FileBrowser_key, fb_key |
||
184 | dd szVersion_FileBrowser, 0x00010001 |
||
1068 | Lrz | 185 | |
1433 | mario79 | 186 | dd sz_tl_data_init, tl_data_init |
187 | dd sz_tl_data_clear, tl_data_clear |
||
188 | dd sz_tl_info_clear, tl_info_clear |
||
189 | dd sz_tl_key, tl_key |
||
190 | dd sz_tl_mouse, tl_mouse |
||
191 | dd sz_tl_draw, tl_draw |
||
192 | dd sz_tl_info_undo, tl_info_undo |
||
193 | dd sz_tl_info_redo, tl_info_redo |
||
1457 | IgorA | 194 | dd sz_tl_node_add, tl_node_add |
1433 | mario79 | 195 | dd sz_tl_node_set_data, tl_node_set_data |
196 | dd sz_tl_node_get_data, tl_node_get_data |
||
197 | dd sz_tl_node_delete, tl_node_delete |
||
198 | dd sz_tl_cur_beg, tl_cur_beg |
||
1457 | IgorA | 199 | dd sz_tl_cur_next, tl_cur_next |
200 | dd sz_tl_cur_perv, tl_cur_perv |
||
1433 | mario79 | 201 | dd sz_tl_node_close_open, tl_node_close_open |
202 | dd sz_tl_node_lev_inc, tl_node_lev_inc |
||
203 | dd sz_tl_node_lev_dec, tl_node_lev_dec |
||
204 | dd sz_tl_node_move_up, tl_node_move_up |
||
205 | dd sz_tl_node_move_down, tl_node_move_down |
||
206 | dd sz_tl_node_poi_get_info, tl_node_poi_get_info |
||
207 | dd sz_tl_node_poi_get_next_info, tl_node_poi_get_next_info |
||
208 | dd sz_tl_node_poi_get_data, tl_node_poi_get_data |
||
1457 | IgorA | 209 | dd sz_tl_save_mem, tl_save_mem |
210 | dd sz_tl_load_mem, tl_load_mem |
||
1433 | mario79 | 211 | dd sz_tl_get_mem_size, tl_get_mem_size |
212 | dd sz_tl_version_tree_list, 0x00000001 |
||
1068 | Lrz | 213 | |
1433 | mario79 | 214 | dd sz_PathShow_prepare, path_show.prepare |
215 | dd sz_PathShow_draw, path_show.draw |
||
216 | dd szVersion_path_show, 0x00010001 |
||
1457 | IgorA | 217 | |
218 | dd sz_ted_but_save_file, ted_but_save_file |
||
219 | dd sz_ted_but_sumb_upper, ted_but_sumb_upper |
||
220 | dd sz_ted_but_sumb_lover, ted_but_sumb_lover |
||
221 | dd sz_ted_can_save, ted_can_save |
||
222 | dd sz_ted_clear, ted_clear |
||
223 | dd sz_ted_delete, ted_delete |
||
224 | dd sz_ted_draw, ted_draw |
||
225 | dd sz_ted_init, ted_init |
||
1458 | IgorA | 226 | dd sz_ted_init_scroll_bars, ted_init_scroll_bars |
1457 | IgorA | 227 | dd sz_ted_init_syntax_file, ted_init_syntax_file |
228 | dd sz_ted_is_select, ted_is_select |
||
229 | dd sz_ted_key, ted_key |
||
230 | dd sz_ted_mouse, ted_mouse |
||
231 | dd sz_ted_open_file, ted_open_file |
||
232 | dd sz_ted_text_add, ted_text_add |
||
233 | dd sz_ted_but_select_word, ted_but_select_word |
||
234 | dd sz_ted_but_cut, ted_but_cut |
||
235 | dd sz_ted_but_copy, ted_but_copy |
||
236 | dd sz_ted_but_paste, ted_but_paste |
||
237 | dd sz_ted_but_undo, ted_but_undo |
||
238 | dd sz_ted_but_redo, ted_but_redo |
||
239 | dd sz_ted_but_reverse, ted_but_reverse |
||
240 | dd sz_ted_but_find_next, ted_but_find_next |
||
241 | dd sz_ted_text_colored, ted_text_colored |
||
1464 | IgorA | 242 | dd sz_ted_version, 0x00000002 |
1457 | IgorA | 243 | |
1433 | mario79 | 244 | dd 0,0 |
1068 | Lrz | 245 | |
1277 | IgorA | 246 | |
1457 | IgorA | 247 | sz_init db 'lib_init',0 |
1433 | mario79 | 248 | sz_version db 'version',0 |
1277 | IgorA | 249 | |
1433 | mario79 | 250 | sz_edit_box db 'edit_box',0 |
1457 | IgorA | 251 | sz_edit_box_key db 'edit_box_key',0 |
1433 | mario79 | 252 | sz_edit_box_mouse db 'edit_box_mouse',0 |
253 | szVersion_ed db 'version_ed',0 |
||
1068 | Lrz | 254 | |
1433 | mario79 | 255 | sz_check_box_draw db 'check_box_draw',0 |
256 | sz_check_box_mouse db 'check_box_mouse',0 |
||
257 | szVersion_ch db 'version_ch',0 |
||
1068 | Lrz | 258 | |
1433 | mario79 | 259 | sz_option_box_draw db 'option_box_draw',0 |
260 | sz_option_box_mouse db 'option_box_mouse',0 |
||
261 | szVersion_op db 'version_op',0 |
||
1032 | Lrz | 262 | |
1433 | mario79 | 263 | sz_Scrollbar_ver_draw db 'scrollbar_v_draw',0 |
264 | sz_Scrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
||
265 | sz_Scrollbar_hor_draw db 'scrollbar_h_draw',0 |
||
266 | sz_Scrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
||
267 | szVersion_scrollbar db 'version_scrollbar',0 |
||
1068 | Lrz | 268 | |
1277 | IgorA | 269 | sz_Dbutton_draw db 'dbutton_draw',0 |
270 | sz_Dbutton_mouse db 'dbutton_mouse',0 |
||
271 | szVersion_dbutton db 'version_dbutton',0 |
||
1068 | Lrz | 272 | |
1277 | IgorA | 273 | sz_Menu_bar_draw db 'menu_bar_draw',0 |
274 | sz_Menu_bar_mouse db 'menu_bar_mouse',0 |
||
1457 | IgorA | 275 | sz_Menu_bar_activate db 'menu_bar_activate',0 |
1277 | IgorA | 276 | szVersion_menu_bar db 'version_menu_bar',0 |
1068 | Lrz | 277 | |
1277 | IgorA | 278 | sz_FileBrowser_draw db 'FileBrowser_draw',0 |
279 | sz_FileBrowser_mouse db 'FileBrowser_mouse',0 |
||
280 | sz_FileBrowser_key db 'FileBrowser_key',0 |
||
281 | szVersion_FileBrowser db 'version_FileBrowser',0 |
||
282 | |||
1457 | IgorA | 283 | sz_tl_data_init db 'tl_data_init',0 |
1433 | mario79 | 284 | sz_tl_data_clear db 'tl_data_clear',0 |
285 | sz_tl_info_clear db 'tl_info_clear',0 |
||
286 | sz_tl_key db 'tl_key',0 |
||
287 | sz_tl_mouse db 'tl_mouse',0 |
||
288 | sz_tl_draw db 'tl_draw',0 |
||
1457 | IgorA | 289 | sz_tl_info_undo db 'tl_info_undo',0 |
290 | sz_tl_info_redo db 'tl_info_redo',0 |
||
1433 | mario79 | 291 | sz_tl_node_add db 'tl_node_add',0 |
292 | sz_tl_node_set_data db 'tl_node_set_data',0 |
||
293 | sz_tl_node_get_data db 'tl_node_get_data',0 |
||
294 | sz_tl_node_delete db 'tl_node_delete',0 |
||
295 | sz_tl_cur_beg db 'tl_cur_beg',0 |
||
296 | sz_tl_cur_next db 'tl_cur_next',0 |
||
297 | sz_tl_cur_perv db 'tl_cur_perv',0 |
||
298 | sz_tl_node_close_open db 'tl_node_close_open',0 |
||
299 | sz_tl_node_lev_inc db 'tl_node_lev_inc',0 |
||
300 | sz_tl_node_lev_dec db 'tl_node_lev_dec',0 |
||
301 | sz_tl_node_move_up db 'tl_node_move_up',0 |
||
302 | sz_tl_node_move_down db 'tl_node_move_down',0 |
||
1457 | IgorA | 303 | sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 |
1433 | mario79 | 304 | sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 |
1457 | IgorA | 305 | sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 |
1433 | mario79 | 306 | sz_tl_save_mem db 'tl_save_mem',0 |
307 | sz_tl_load_mem db 'tl_load_mem',0 |
||
308 | sz_tl_get_mem_size db 'tl_get_mem_size',0 |
||
1457 | IgorA | 309 | sz_tl_version_tree_list db 'version_tree_list',0 |
1433 | mario79 | 310 | |
311 | sz_PathShow_prepare db 'PathShow_prepare',0 |
||
312 | sz_PathShow_draw db 'PathShow_draw',0 |
||
313 | szVersion_path_show db 'version_PathShow',0 |
||
1457 | IgorA | 314 | |
315 | sz_ted_but_save_file db 'ted_but_save_file',0 |
||
316 | sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0 |
||
317 | sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0 |
||
318 | sz_ted_can_save db 'ted_can_save',0 |
||
319 | sz_ted_clear db 'ted_clear',0 |
||
320 | sz_ted_delete db 'ted_delete',0 |
||
321 | sz_ted_draw db 'ted_draw',0 |
||
322 | sz_ted_init db 'ted_init',0 |
||
1458 | IgorA | 323 | sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0 |
1457 | IgorA | 324 | sz_ted_init_syntax_file db 'ted_init_syntax_file',0 |
325 | sz_ted_is_select db 'ted_is_select',0 |
||
326 | sz_ted_key db 'ted_key',0 |
||
327 | sz_ted_mouse db 'ted_mouse',0 |
||
328 | sz_ted_open_file db 'ted_open_file',0 |
||
329 | sz_ted_text_add db 'ted_text_add',0 |
||
330 | sz_ted_but_select_word db 'ted_but_select_word',0 |
||
331 | sz_ted_but_cut db 'ted_but_cut',0 |
||
332 | sz_ted_but_copy db 'ted_but_copy',0 |
||
333 | sz_ted_but_paste db 'ted_but_paste',0 |
||
334 | sz_ted_but_undo db 'ted_but_undo',0 |
||
335 | sz_ted_but_redo db 'ted_but_redo',0 |
||
336 | sz_ted_but_reverse db 'ted_but_reverse',0 |
||
337 | sz_ted_but_find_next db 'ted_but_find_next',0 |
||
338 | sz_ted_text_colored db 'ted_text_colored',0 |
||
339 | sz_ted_version db 'version_text_edit',0 |