Rev 2532 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
31 | halyavin | 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; ; |
||
2619 | mario79 | 3 | ; TASK PANEL for KolibriOS - Compile with fasm ; |
31 | halyavin | 4 | ; ; |
5 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
2619 | mario79 | 6 | ;------------------------------------------------------------------------------ |
7 | ; version: 2.0 |
||
8 | ; last update: 17/04/2012 |
||
9 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
||
10 | ; changes: New logic of switching windows (turnoff/restore) |
||
11 | ; New logic of button "clear desktop". |
||
12 | ; Win+D (restore/clear desktop), Win+R (start RUN application). |
||
13 | ; Using the library LibINI to set the parameters. |
||
14 | ; New style of panel. Start application Menu with boot options. |
||
15 | ; two versions of the location of the panel - |
||
16 | ; the bottom of the desktop and on top of the desktop. |
||
17 | ;------------------------------------------------------------------------------ |
||
2532 | mario79 | 18 | ; last update: 31/03/2012 |
19 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
||
20 | ; changes: The program uses only 20 Kb memory is now. |
||
21 | ; Code optimizing and refactoring. |
||
22 | ;------------------------------------------------------------------------------ |
||
23 | use32 |
||
24 | org 0x0 |
||
25 | db 'MENUET01' ; 8 byte id |
||
26 | dd 0x01 ; header version |
||
27 | dd START ; program start |
||
2619 | mario79 | 28 | dd IM_END ; program image size |
29 | dd I_END ; reguired amount of memory - 10 Kb |
||
30 | dd stack_top ; esp |
||
2532 | mario79 | 31 | dd 0x0 ; boot parameters |
2619 | mario79 | 32 | dd path ; application pach |
33 | ;------------------------------------------------------------------------------ |
||
31 | halyavin | 34 | include 'lang.inc' |
2619 | mario79 | 35 | include '../../../macros.inc' |
36 | include '../../../proc32.inc' |
||
37 | ;include 'debug.inc' |
||
2532 | mario79 | 38 | include 'MOI.INC' ;раскладки клавиатуры |
2619 | mario79 | 39 | include '../../../develop/libraries/box_lib/load_lib.mac' |
40 | @use_library ;use load lib macros |
||
41 | ;------------------------------------------------------------------------------ |
||
42 | caps_lock_check fix 1 |
||
43 | ;------------------------------------------------------------------------------ |
||
1440 | diamond | 44 | time_bgr_color = 0x66cc |
2619 | mario79 | 45 | ;PANEL_HEIGHT = 18 |
46 | ML_SIZE = 10 |
||
47 | MR_SIZE = 10 |
||
48 | MENU_SIZE = 50 |
||
49 | CLD_SIZE = 20 |
||
50 | TAB_SIZE = 60 |
||
51 | TRAY_SIZE = 140 |
||
1440 | diamond | 52 | |
2619 | mario79 | 53 | CLOCK_SIZE = 40 |
54 | CPU_USAGE_SIZE = 10 |
||
55 | CHLANG_SIZE = 20 |
||
56 | PAGE_LIST_SIZE = 36 |
||
57 | ;------------------------------------------------------------------------------ |
||
2532 | mario79 | 58 | align 4 |
93 | diamond | 59 | handle_key: |
2619 | mario79 | 60 | mcall 18,7 |
2532 | mario79 | 61 | mov [active_process],eax |
31 | halyavin | 62 | |
2532 | mario79 | 63 | mcall 2 |
2619 | mario79 | 64 | |
65 | ; dps "panel key: " |
||
66 | ; dph eax |
||
67 | ; newline |
||
68 | |||
601 | Rus | 69 | cmp al, 2 |
70 | jnz begin_1.ret |
||
2532 | mario79 | 71 | |
601 | Rus | 72 | mov ebx, exec_fileinfo |
73 | shr eax, 8 |
||
870 | barsuk | 74 | cmp al, 0 |
75 | je prod |
||
2532 | mario79 | 76 | |
870 | barsuk | 77 | mov [key_r],al |
78 | sub [key_r],2 |
||
79 | cmp al, 2 |
||
80 | jz alter |
||
2532 | mario79 | 81 | |
870 | barsuk | 82 | cmp al, 3 |
83 | jz alter |
||
2532 | mario79 | 84 | |
870 | barsuk | 85 | cmp al, 4 |
86 | jz alter |
||
2532 | mario79 | 87 | |
870 | barsuk | 88 | cmp al, 5 |
89 | jz alter |
||
2532 | mario79 | 90 | |
870 | barsuk | 91 | cmp al, 6 |
92 | jz alter |
||
2532 | mario79 | 93 | |
870 | barsuk | 94 | cmp al, 7 |
95 | jz alter |
||
2532 | mario79 | 96 | |
870 | barsuk | 97 | cmp al, 8 |
98 | jz alter |
||
2532 | mario79 | 99 | ;-------------------------------------- |
2619 | mario79 | 100 | ;align 4 |
101 | ;prod: |
||
2532 | mario79 | 102 | if caps_lock_check |
2619 | mario79 | 103 | cmp al,58 ;CAPS LOCK DOWN |
2532 | mario79 | 104 | jne @f |
105 | |||
106 | pusha |
||
107 | mcall 26,2,9 |
||
108 | mov ebx,eax |
||
109 | mov eax,2 |
||
2619 | mario79 | 110 | ; call draw_window ;;;??? |
111 | mov [draw_flag_certainly],1 |
||
112 | call draw_flag ; language |
||
2532 | mario79 | 113 | popa |
114 | ret |
||
115 | @@: |
||
116 | end if |
||
2619 | mario79 | 117 | cmp al, 15 ; Alt+Tab DOWN |
601 | Rus | 118 | jz alt_tab_pressed |
2532 | mario79 | 119 | |
2619 | mario79 | 120 | cmp al, 88 ; Ctrl+Alt+F12 |
601 | Rus | 121 | jz start_end_application |
2532 | mario79 | 122 | |
2619 | mario79 | 123 | |
124 | |||
125 | cmp al, 91 ; RWin DOWN |
||
126 | jz set_win_key_flag |
||
2532 | mario79 | 127 | |
2619 | mario79 | 128 | cmp al, 92 ; LWin DOWN |
129 | jz set_win_key_flag |
||
130 | |||
131 | |||
132 | cmp al, 219 ; RWin UP |
||
133 | jz cut_win_key_flag ;start_menu_application |
||
2532 | mario79 | 134 | |
2619 | mario79 | 135 | cmp al, 220 ; LWin UP |
136 | jz cut_win_key_flag ;start_menu_application |
||
137 | |||
138 | |||
139 | cmp al, 62 ; Alt+F4 |
||
601 | Rus | 140 | jz kill_active_application |
2532 | mario79 | 141 | |
1421 | diamond | 142 | ; cmp al, 71 |
143 | ; jz page_list_next |
||
2532 | mario79 | 144 | |
1421 | diamond | 145 | ; cmp al, 72 |
146 | ; jz page_list_prev |
||
2532 | mario79 | 147 | |
2619 | mario79 | 148 | cmp al, 69 ; Alt+Shift+NumLock |
1421 | diamond | 149 | jz start_mousemul_application |
2619 | mario79 | 150 | |
151 | cmp al, 19 ; Win+R |
||
152 | jz start_run_application |
||
1920 | Albom | 153 | |
2619 | mario79 | 154 | cmp al, 32 ; Win+D |
155 | jz minimize_all_windows |
||
156 | ;-------------------------------------- |
||
157 | align 4 |
||
158 | prod: |
||
159 | ; cmp eax,0x20000 |
||
160 | ; je start_menu_application |
||
161 | |||
162 | ; cmp eax,0x40000 |
||
163 | ; je start_menu_application |
||
164 | |||
601 | Rus | 165 | cmp [current_alt_tab_app], -1 |
166 | jz @f |
||
2532 | mario79 | 167 | |
2619 | mario79 | 168 | test ah, 0x30 ; Alt+Tab UP |
601 | Rus | 169 | jz alt_tab_released |
2532 | mario79 | 170 | ;-------------------------------------- |
171 | align 4 |
||
443 | diamond | 172 | @@: |
304 | diamond | 173 | ; this is hotkey Ctrl+Shift ;or LShift+RShift |
2532 | mario79 | 174 | jmp karu |
175 | ; mov ebx, setup_exec |
||
176 | ; test ah, 001100b |
||
177 | ; jz change_sys_lang |
||
2619 | mario79 | 178 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 179 | align 4 |
2619 | mario79 | 180 | set_win_key_flag: |
181 | mov [win_key_flag],1 |
||
182 | ret |
||
183 | ;------------------------------------------------------------------------------ |
||
184 | align 4 |
||
185 | cut_win_key_flag: |
||
186 | xor eax,eax |
||
187 | mov [win_key_flag],al |
||
188 | xchg [start_menu_flag],al |
||
189 | test al,al |
||
190 | jz start_menu_application |
||
191 | ret |
||
192 | ;------------------------------------------------------------------------------ |
||
193 | align 4 |
||
304 | diamond | 194 | change_key_lang: |
601 | Rus | 195 | mov dword [ebx+8], chlang |
196 | mcall 70 |
||
2532 | mario79 | 197 | ;-------------------------------------- |
198 | align 4 |
||
31 | halyavin | 199 | begin_1: |
2532 | mario79 | 200 | mov ecx,[active_process] |
201 | mcall 18, 3 |
||
202 | mcall 5, 25 |
||
203 | ;-------------------------------------- |
||
204 | align 4 |
||
93 | diamond | 205 | .ret: |
601 | Rus | 206 | ret |
2619 | mario79 | 207 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 208 | ;align 4 |
304 | diamond | 209 | ;change_sys_lang: |
2532 | mario79 | 210 | ; mov dword [ebx+8], syslang |
304 | diamond | 211 | ; mcall 70 |
212 | ; jmp begin_1 |
||
2619 | mario79 | 213 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 214 | align 4 |
215 | start_end_application: |
||
216 | mov dword [ebx+21],end_name |
||
601 | Rus | 217 | mcall 70 |
1421 | diamond | 218 | ret |
2619 | mario79 | 219 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 220 | align 4 |
221 | start_mousemul_application: |
||
222 | mov dword [ebx+21],mousemul_name |
||
1421 | diamond | 223 | mcall 70 |
224 | ret |
||
2619 | mario79 | 225 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 226 | align 4 |
227 | kill_active_application: |
||
228 | mcall 72,1,3,1 |
||
229 | jmp begin_1.ret |
||
2619 | mario79 | 230 | ;------------------------------------------------------------------------------ |
231 | |||
2532 | mario79 | 232 | align 4 |
233 | start_menu_application: |
||
601 | Rus | 234 | mov [draw_window_1], 1 |
2619 | mario79 | 235 | call menu_handler |
236 | jmp begin_1.ret |
||
237 | ;------------------------------------------------------------------------------ |
||
238 | align 4 |
||
239 | start_run_application: |
||
240 | cmp [win_key_flag],1 |
||
241 | je @f |
||
242 | ret |
||
243 | @@: |
||
244 | mov [start_menu_flag],1 |
||
245 | mov [draw_window_1], 1 |
||
246 | mov dword [ebx+21], run_name |
||
601 | Rus | 247 | mcall 70 |
2532 | mario79 | 248 | jmp begin_1.ret |
2619 | mario79 | 249 | ;------------------------------------------------------------------------------ |
250 | align 4 |
||
251 | minimize_all_windows: |
||
252 | cmp [win_key_flag],1 |
||
253 | je @f |
||
254 | ret |
||
255 | @@: |
||
256 | mov [start_menu_flag],1 |
||
257 | call clean_desktop |
||
258 | ret |
||
259 | ;------------------------------------------------------------------------------ |
||
2532 | mario79 | 260 | ;align 4 |
1421 | diamond | 261 | ;page_list_next: |
2532 | mario79 | 262 | ; cmp [page_list],15 |
263 | ; je @f |
||
1421 | diamond | 264 | ; |
2532 | mario79 | 265 | ; inc [page_list] |
266 | ; mov [draw_window_1],1 |
||
267 | ;@@: |
||
268 | ; jmp begin_1.ret |
||
2619 | mario79 | 269 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 270 | ;align 4 |
1421 | diamond | 271 | ;page_list_prev: |
2532 | mario79 | 272 | ; cmp [page_list],0 |
273 | ; je @f |
||
274 | ; |
||
275 | ; dec [page_list] |
||
276 | ; mov [draw_window_1],1 |
||
277 | ;@@: |
||
278 | ; jmp begin_1.ret |
||
2619 | mario79 | 279 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 280 | align 4 |
443 | diamond | 281 | alt_tab_pressed: |
282 | ; handle Alt+Tab and Alt+Shift+Tab |
||
601 | Rus | 283 | mov ebp, eax |
284 | cmp [current_alt_tab_app], -1 |
||
285 | jnz has_alt_tab_app |
||
443 | diamond | 286 | ; заполняем таблицу приложений, подлежащих переключению |
601 | Rus | 287 | xor edx, edx |
2619 | mario79 | 288 | mov ebx, procinfo_window_tabs |
601 | Rus | 289 | mov ecx, 1 |
443 | diamond | 290 | .fill: |
601 | Rus | 291 | inc ecx |
2532 | mario79 | 292 | mcall 9 |
601 | Rus | 293 | call need_window_tab |
294 | jz @f |
||
2532 | mario79 | 295 | |
601 | Rus | 296 | cmp edx, 256 |
297 | jz @f |
||
2532 | mario79 | 298 | |
601 | Rus | 299 | mov [alt_tab_list+edx*8], ecx |
300 | movzx esi, word [ebx+4] |
||
301 | mov [alt_tab_list+edx*8+4], esi |
||
302 | inc edx |
||
2532 | mario79 | 303 | ;-------------------------------------- |
304 | align 4 |
||
443 | diamond | 305 | @@: |
2532 | mario79 | 306 | cmp ecx,eax |
601 | Rus | 307 | jb .fill |
2532 | mario79 | 308 | |
601 | Rus | 309 | mov [alt_tab_list_size], edx |
310 | test edx, edx |
||
311 | jz begin_1.ret |
||
2532 | mario79 | 312 | |
601 | Rus | 313 | mcall 66,4,0,0 ; ловим момент отпускания всех управляющих клавиш |
314 | test eax, eax |
||
315 | jnz begin_1.ret |
||
2532 | mario79 | 316 | |
601 | Rus | 317 | xor edx, edx |
318 | mov eax, [alt_tab_list+4] |
||
319 | xor ecx, ecx |
||
320 | inc ecx |
||
2532 | mario79 | 321 | ;-------------------------------------- |
322 | align 4 |
||
443 | diamond | 323 | .findmax: |
601 | Rus | 324 | cmp [alt_tab_list+ecx*8+4], eax |
325 | jb @f |
||
2532 | mario79 | 326 | |
601 | Rus | 327 | mov edx, ecx |
328 | mov eax, [alt_tab_list+ecx*8+4] |
||
2532 | mario79 | 329 | ;-------------------------------------- |
330 | align 4 |
||
443 | diamond | 331 | @@: |
601 | Rus | 332 | inc ecx |
333 | cmp ecx, [alt_tab_list_size] |
||
334 | jb .findmax |
||
2532 | mario79 | 335 | |
601 | Rus | 336 | mov [current_alt_tab_app], edx |
2532 | mario79 | 337 | ;-------------------------------------- |
338 | align 4 |
||
443 | diamond | 339 | has_alt_tab_app: |
601 | Rus | 340 | mov eax, [current_alt_tab_app] |
341 | mov edx, [alt_tab_list+eax*8+4] ; slot |
||
342 | xor ecx, ecx |
||
343 | or eax, -1 |
||
344 | test ebp, 300h |
||
345 | jz .notshift |
||
2532 | mario79 | 346 | |
601 | Rus | 347 | or esi, -1 |
2532 | mario79 | 348 | ;-------------------------------------- |
349 | align 4 |
||
443 | diamond | 350 | .loop1: |
601 | Rus | 351 | cmp [alt_tab_list+ecx*8+4], edx |
352 | jbe @f |
||
2532 | mario79 | 353 | |
601 | Rus | 354 | cmp [alt_tab_list+ecx*8+4], esi |
355 | jae @f |
||
2532 | mario79 | 356 | |
601 | Rus | 357 | mov eax, ecx |
358 | mov esi, [alt_tab_list+ecx*8+4] |
||
2532 | mario79 | 359 | ;-------------------------------------- |
360 | align 4 |
||
443 | diamond | 361 | @@: |
601 | Rus | 362 | inc ecx |
363 | cmp ecx, [alt_tab_list_size] |
||
364 | jb .loop1 |
||
2532 | mario79 | 365 | |
601 | Rus | 366 | cmp eax, -1 |
367 | jnz .found |
||
2532 | mario79 | 368 | |
601 | Rus | 369 | xor edx, edx |
370 | xor ecx, ecx |
||
371 | jmp .loop1 |
||
2532 | mario79 | 372 | ;-------------------------------------- |
373 | align 4 |
||
443 | diamond | 374 | .notshift: |
601 | Rus | 375 | xor esi, esi |
2532 | mario79 | 376 | ;-------------------------------------- |
377 | align 4 |
||
443 | diamond | 378 | .loop2: |
601 | Rus | 379 | cmp [alt_tab_list+ecx*8+4], edx |
380 | jae @f |
||
2532 | mario79 | 381 | |
601 | Rus | 382 | cmp [alt_tab_list+ecx*8+4], esi |
383 | jbe @f |
||
2532 | mario79 | 384 | |
601 | Rus | 385 | mov eax, ecx |
386 | mov esi, [alt_tab_list+ecx*8+4] |
||
2532 | mario79 | 387 | ;-------------------------------------- |
388 | align 4 |
||
443 | diamond | 389 | @@: |
601 | Rus | 390 | inc ecx |
391 | cmp ecx, [alt_tab_list_size] |
||
392 | jb .loop2 |
||
2532 | mario79 | 393 | |
601 | Rus | 394 | cmp eax, -1 |
395 | jnz .found |
||
2532 | mario79 | 396 | |
601 | Rus | 397 | or edx, -1 |
398 | xor ecx, ecx |
||
399 | jmp .loop2 |
||
2532 | mario79 | 400 | ;-------------------------------------- |
401 | align 4 |
||
443 | diamond | 402 | .found: |
601 | Rus | 403 | mov [current_alt_tab_app], eax |
404 | push eax |
||
405 | xor edx, edx |
||
406 | div [max_applications] |
||
407 | mov [page_list], eax |
||
408 | mov [draw_window_1], 1 |
||
409 | mov edi, app_list |
||
410 | push edi |
||
411 | mov ecx, 20 |
||
412 | or eax, -1 |
||
413 | rep stosd |
||
414 | pop edi |
||
415 | pop ecx |
||
416 | sub ecx, edx |
||
2532 | mario79 | 417 | ;-------------------------------------- |
418 | align 4 |
||
443 | diamond | 419 | @@: |
601 | Rus | 420 | cmp ecx, [alt_tab_list_size] |
421 | jae redraw_window_tabs |
||
2532 | mario79 | 422 | |
601 | Rus | 423 | mov eax, [alt_tab_list+ecx*8] |
424 | stosd |
||
425 | inc ecx |
||
426 | jmp @b |
||
2532 | mario79 | 427 | ;-------------------------------------- |
428 | align 4 |
||
443 | diamond | 429 | alt_tab_released: |
601 | Rus | 430 | mcall 66,5,0,0 ; уже поймали, хватит :) |
2619 | mario79 | 431 | |
601 | Rus | 432 | or eax, -1 |
433 | xchg eax, [current_alt_tab_app] |
||
434 | mov ecx, [alt_tab_list+eax*8] |
||
2532 | mario79 | 435 | mcall 18,3 |
2619 | mario79 | 436 | |
601 | Rus | 437 | jmp redraw_window_tabs |
2619 | mario79 | 438 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 439 | align 4 |
601 | Rus | 440 | active_process dd 0 |
31 | halyavin | 441 | |
2619 | mario79 | 442 | exit: |
443 | mcall -1 |
||
444 | ;------------------------------------------------------------------------------ |
||
445 | START: |
||
446 | mcall 68,11 |
||
447 | mcall 66,1,1 |
||
448 | |||
449 | mcall 9,process_info_buffer,-1 |
||
450 | mov ecx,[ebx+30] ; PID |
||
451 | mcall 18,21 |
||
452 | mov [my_active_slot],eax ; WINDOW SLOT |
||
453 | |||
454 | |||
455 | load_libraries l_libs_start,end_l_libs |
||
31 | halyavin | 456 | |
2619 | mario79 | 457 | test eax,eax |
458 | jnz exit |
||
31 | halyavin | 459 | |
2619 | mario79 | 460 | call Get_ini |
461 | |||
462 | mcall 48,1,[button_style] |
||
463 | |||
2532 | mario79 | 464 | mcall 66,4,0,2 ; LShift+RShift |
465 | mcall 66,,,11h ; Ctrl+Shift |
||
466 | mcall 66,,88,110h ; Alt+Ctrl+F12 |
||
2619 | mario79 | 467 | mcall 66,,91,0h ; RWin DOWN |
468 | mcall 66,,92 ; LWin DOWN |
||
469 | mcall 66,,219 ; RWin UP |
||
470 | mcall 66,,220 ; LWin UP |
||
471 | |||
472 | ; mcall 66,,147,0h ; Win+R UP |
||
473 | mcall 66,,19,0h ; Win+R DOWN |
||
474 | |||
475 | ; mcall 66,,23,0h ; Win+I DOWN |
||
476 | |||
477 | mcall 66,,32,0h ; Win+D DOWN |
||
478 | ; mcall 66,,160,0h ; Win+D UP |
||
479 | |||
480 | |||
2532 | mario79 | 481 | ; mcall 66,,91,100h ; Alt+LWin |
482 | ; mcall 66,,92 ; Alt+RWin |
||
483 | mcall 66,,62,100h ; Alt+F4 |
||
484 | ; mcall 66,,71 ; Alt+Home |
||
485 | ; mcall 66,,72 ; Alt+Up |
||
486 | mcall 66,,15 ; Alt+Tab |
||
487 | mcall 66,,2 ; Alt+1 |
||
488 | mcall 66,,3 ; Alt+2 |
||
489 | mcall 66,,4 ; Alt+3 |
||
490 | mcall 66,,5 ; Alt+4 |
||
491 | mcall 66,,6 ; Alt+5 |
||
492 | mcall 66,,7 ; Alt+6 |
||
493 | mcall 66,,8 ; Alt+7 |
||
494 | mcall 66,,,101h ; Alt+Shift+Tab |
||
495 | mcall 66,,69 ; Alt+Shift+NumLock |
||
870 | barsuk | 496 | |
2532 | mario79 | 497 | if caps_lock_check |
498 | xor edx,edx |
||
499 | mcall 66,4,58 |
||
500 | end if |
||
601 | Rus | 501 | mcall 14 |
502 | mov [screen_size],eax |
||
31 | halyavin | 503 | |
2619 | mario79 | 504 | |
601 | Rus | 505 | mov ecx,eax |
870 | barsuk | 506 | ;eax = [xsize]*65536 + [ysize], где |
2532 | mario79 | 507 | shr ecx,16 |
508 | and eax,0xFFFF |
||
2619 | mario79 | 509 | |
510 | cmp [place_attachment],1 |
||
511 | je @f |
||
512 | ror eax,16 |
||
513 | add eax,[height] |
||
514 | rol eax,16 |
||
515 | mov edx,eax |
||
516 | jmp .selected |
||
517 | ;-------------------------------------- |
||
518 | align 4 |
||
519 | @@: |
||
520 | sub eax,[height] |
||
521 | lea edx,[eax-1] |
||
522 | ;-------------------------------------- |
||
523 | align 4 |
||
524 | .selected: |
||
601 | Rus | 525 | mcall 48,6 |
51 | mikedld | 526 | |
2532 | mario79 | 527 | mcall 9,process_info_buffer,-1 |
528 | mov ecx,[process_info_buffer+30] |
||
529 | mcall 18,21 |
||
530 | mov [this_slot],eax |
||
531 | mov [max_slot],255 |
||
532 | ;-------------------------------------- |
||
533 | align 4 |
||
31 | halyavin | 534 | start_after_minimize: |
2532 | mario79 | 535 | call draw_window |
2619 | mario79 | 536 | ; call draw_tray |
2532 | mario79 | 537 | call draw_running_applications |
31 | halyavin | 538 | |
2532 | mario79 | 539 | mcall 23,30 |
540 | call load_ini |
||
541 | call fir_lng |
||
542 | ;------------------------------------------------------------------------------ |
||
543 | align 4 |
||
31 | halyavin | 544 | still: |
2619 | mario79 | 545 | ; call draw_tray |
546 | call draw_time |
||
547 | call draw_cpu_usage |
||
2532 | mario79 | 548 | call draw_running_applications |
31 | halyavin | 549 | |
2532 | mario79 | 550 | mcall 18,7 ; check if active window changed |
870 | barsuk | 551 | cmp eax, [last_active_window] |
552 | jz @f |
||
553 | ; need_window_tab: |
||
554 | ; in: ebx->process info |
||
555 | ; out: ZF set <=> do not draw |
||
2532 | mario79 | 556 | mov ebx,[last_active_window] |
870 | barsuk | 557 | mov [prev_active_window], ebx |
558 | mov [last_active_window], eax |
||
559 | |||
560 | mov ecx, eax |
||
2532 | mario79 | 561 | mcall 9,process_info_buffer |
870 | barsuk | 562 | |
563 | call need_window_tab |
||
564 | jnz .need_repaint |
||
565 | |||
2532 | mario79 | 566 | mcall 9,process_info_buffer,[prev_active_window] |
870 | barsuk | 567 | call need_window_tab |
568 | jz @f |
||
2532 | mario79 | 569 | ;-------------------------------------- |
570 | align 4 |
||
870 | barsuk | 571 | .need_repaint: |
572 | mov dword [active_window_changed], 1 |
||
2532 | mario79 | 573 | ;-------------------------------------- |
574 | align 4 |
||
870 | barsuk | 575 | @@: |
2532 | mario79 | 576 | mcall 23,20 |
2619 | mario79 | 577 | |
578 | push eax |
||
579 | mcall 18,7 |
||
580 | cmp [my_active_slot],eax |
||
581 | je @f |
||
582 | mov [current_active_slot],eax |
||
583 | @@: |
||
584 | pop eax |
||
585 | |||
2532 | mario79 | 586 | cmp eax,1 ; redraw ? |
587 | jz red |
||
870 | barsuk | 588 | |
2619 | mario79 | 589 | cmp eax,2 |
590 | jnz @f |
||
591 | call handle_key |
||
592 | jmp .key |
||
593 | @@: |
||
2532 | mario79 | 594 | cmp eax,3 ; button ? |
595 | jz button |
||
31 | halyavin | 596 | |
2619 | mario79 | 597 | ; call handle_key |
598 | .key: |
||
2532 | mario79 | 599 | cmp dword [active_window_changed], 0 |
600 | jnz red_active |
||
870 | barsuk | 601 | |
2619 | mario79 | 602 | call draw_flag ; language |
601 | Rus | 603 | jmp still |
2619 | mario79 | 604 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 605 | align 4 |
606 | red_active: |
||
607 | red: |
||
870 | barsuk | 608 | mov dword [active_window_changed], 0 |
609 | |||
601 | Rus | 610 | mcall 14 |
611 | movzx ecx,ax |
||
612 | mov edx,eax |
||
613 | shr edx,16 |
||
614 | cmp [screen_size.height],ax |
||
615 | jne @f |
||
2532 | mario79 | 616 | |
601 | Rus | 617 | rol eax,16 |
618 | cmp [screen_size.width],ax |
||
619 | je .lp1 |
||
620 | rol eax,16 |
||
2532 | mario79 | 621 | @@: |
622 | mov [screen_size],eax |
||
2619 | mario79 | 623 | sub ecx,[height] |
624 | mcall 67,0,,,[height] |
||
2532 | mario79 | 625 | ;-------------------------------------- |
626 | align 4 |
||
627 | .lp1: |
||
628 | call draw_window |
||
2619 | mario79 | 629 | ; call draw_tray |
2532 | mario79 | 630 | jmp still |
2619 | mario79 | 631 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 632 | align 4 |
633 | button: |
||
634 | mcall 17 |
||
635 | test eax,0xfffffe00 ; is it close button? (signal from @panel) |
||
636 | jz still ; if so - wait for another event, because @panel shouldn't be closed |
||
51 | mikedld | 637 | |
2532 | mario79 | 638 | cmp al, 0 |
639 | jnz right_mouse |
||
870 | barsuk | 640 | |
2532 | mario79 | 641 | cmp ah,50 |
642 | jb no_activate |
||
643 | cmp ah,70 |
||
644 | jg no_activate |
||
31 | halyavin | 645 | |
2532 | mario79 | 646 | movzx ecx,byte ah |
647 | sub ecx,52 |
||
648 | shl ecx,2 |
||
870 | barsuk | 649 | |
2532 | mario79 | 650 | mov ecx,[app_list+ecx] |
2619 | mario79 | 651 | |
652 | mcall 9,process_info_buffer |
||
653 | |||
654 | test [ebx+70],dword 10b ; window is minimized to panel |
||
655 | jnz @f |
||
656 | |||
657 | cmp ecx,[current_active_slot] |
||
658 | je .turn_off |
||
659 | @@: |
||
2532 | mario79 | 660 | mcall 18,3, |
2619 | mario79 | 661 | jmp .task_switching |
662 | ;-------------------------------------- |
||
2532 | mario79 | 663 | align 4 |
2619 | mario79 | 664 | .turn_off: |
665 | mov edx,ecx |
||
666 | mcall 18,22,0 |
||
667 | .task_switching: |
||
668 | mcall 68,1 |
||
669 | jmp still |
||
670 | ;------------------------------------------------------------------------------ |
||
671 | align 4 |
||
2532 | mario79 | 672 | right_mouse: |
673 | cmp ah,50 |
||
674 | jb still |
||
31 | halyavin | 675 | |
2532 | mario79 | 676 | cmp ah,70 |
677 | jg still |
||
870 | barsuk | 678 | |
2532 | mario79 | 679 | movzx ecx,byte ah |
680 | sub ecx,52 |
||
870 | barsuk | 681 | |
2532 | mario79 | 682 | cmp ecx, [app_tab_count] |
683 | jge still |
||
870 | barsuk | 684 | |
2532 | mario79 | 685 | shl ecx,2 |
686 | mcall 37,0 |
||
687 | mov ebx, eax |
||
688 | shr eax, 16 |
||
689 | mov [x_coord], ax |
||
690 | and ebx, 0xFFFF |
||
691 | mov [y_coord], bx |
||
870 | barsuk | 692 | |
2532 | mario79 | 693 | mov ecx,[app_list+ecx] ; ecx->selected app.slot |
694 | mov [n_slot], ecx |
||
695 | mcall 9,procinfo_for_detect |
||
870 | barsuk | 696 | |
2532 | mario79 | 697 | mcall 51,1,context_menu_start,ctx_menu_stack |
870 | barsuk | 698 | |
699 | mov [ctx_menu_PID], eax |
||
2532 | mario79 | 700 | jmp still |
2619 | mario79 | 701 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 702 | align 4 |
703 | no_activate: |
||
704 | cmp ah,101 ; minimize to left |
||
705 | je left_button |
||
870 | barsuk | 706 | |
2532 | mario79 | 707 | cmp ah,102 ; minimize to right |
708 | je right_button |
||
870 | barsuk | 709 | |
2532 | mario79 | 710 | cmp ah, 103 |
2619 | mario79 | 711 | je clean_desktop_1 ; minimize all windows |
870 | barsuk | 712 | |
2619 | mario79 | 713 | ; cmp ah, 104 |
714 | ; je restore_desktop ; restore minimized windows |
||
31 | halyavin | 715 | |
2619 | mario79 | 716 | ; cmp ah, 105 |
717 | ; je swap_minimized_desktop ; minimize normal windows, and restore minimized windows |
||
31 | halyavin | 718 | |
2532 | mario79 | 719 | cmp ah,byte 1 ; start/terminate menu |
720 | jnz noselect |
||
31 | halyavin | 721 | |
2532 | mario79 | 722 | call menu_handler |
31 | halyavin | 723 | |
2532 | mario79 | 724 | jmp still |
725 | ;-------------------------------------- |
||
2619 | mario79 | 726 | align 4 |
727 | clean_desktop_1: |
||
728 | |||
729 | |||
730 | call clean_desktop |
||
731 | |||
732 | |||
733 | jmp still |
||
734 | ;-------------------------------------- |
||
2532 | mario79 | 735 | align 4 |
736 | noselect: |
||
737 | mov ebx, exec_fileinfo |
||
738 | cmp ah,byte 2 ; start calendar |
||
739 | jnz noid15 ;noclock |
||
633 | diamond | 740 | |
601 | Rus | 741 | mov dword [ebx+21], calendar_name |
2532 | mario79 | 742 | mcall 70 |
743 | jmp still |
||
744 | ;-------------------------------------- |
||
745 | align 4 |
||
746 | noid15: |
||
747 | cmp ah,16 |
||
748 | jne noid16 |
||
31 | halyavin | 749 | |
2619 | mario79 | 750 | ; mov ebx, setup_exec |
751 | ; mov dword [ebx+8], chlang |
||
752 | ; mcall 70 |
||
753 | call karu |
||
754 | call draw_flag ; language |
||
2532 | mario79 | 755 | jmp still |
756 | ;-------------------------------------- |
||
757 | align 4 |
||
758 | noid16: |
||
759 | ; cmp ah,17 |
||
760 | ; jne noid17 |
||
304 | diamond | 761 | ; |
2532 | mario79 | 762 | ; mov ebx, setup_exec |
763 | ; mov dword [ebx+8], syslang |
||
764 | ; mcall 70 |
||
765 | ; jmp still |
||
766 | ;-------------------------------------- |
||
767 | ;align 4 |
||
304 | diamond | 768 | ; noid17: |
2532 | mario79 | 769 | cmp ah,18 |
770 | jne noid18 |
||
771 | |||
601 | Rus | 772 | mov dword [ebx+21], sysmeter_name |
2532 | mario79 | 773 | mcall 70 |
774 | jmp still |
||
775 | ;-------------------------------------- |
||
776 | align 4 |
||
777 | noid18: |
||
2619 | mario79 | 778 | ; cmp ah,19 ; speaker |
779 | ; jne noid19 |
||
31 | halyavin | 780 | |
2619 | mario79 | 781 | ; mcall 18,8,2 |
782 | ; mcall 15,3 |
||
783 | ; jmp red |
||
2532 | mario79 | 784 | ;-------------------------------------- |
2619 | mario79 | 785 | ;align 4 |
786 | ;noid19: |
||
787 | ; cmp ah,20 ; start system setup |
||
788 | ; jnz noid20 |
||
789 | ; |
||
790 | ; mov ebx, setup_exec |
||
791 | ; and dword [ebx+8], 0 |
||
792 | ; mcall 70 |
||
793 | ; jmp still |
||
2532 | mario79 | 794 | ;-------------------------------------- |
2619 | mario79 | 795 | ;align 4 |
796 | ;noid20: |
||
2532 | mario79 | 797 | cmp ah,21 |
798 | jnz noid21 |
||
31 | halyavin | 799 | |
2532 | mario79 | 800 | cmp [page_list], 99 |
801 | jnc still |
||
802 | inc [page_list] |
||
803 | jmp red |
||
804 | ;-------------------------------------- |
||
805 | align 4 |
||
806 | noid21: |
||
807 | cmp ah,22 |
||
808 | jnz still |
||
31 | halyavin | 809 | |
2532 | mario79 | 810 | cmp [page_list],0 |
811 | je still |
||
31 | halyavin | 812 | |
2532 | mario79 | 813 | dec [page_list] |
814 | jmp red |
||
2619 | mario79 | 815 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 816 | align 4 |
633 | diamond | 817 | restore_desktop: |
2532 | mario79 | 818 | mcall 9,process_info_buffer,-1 |
819 | mov [max_slot], eax |
||
820 | mov ecx, 2 |
||
821 | mov edx, 2 |
||
822 | ;-------------------------------------- |
||
823 | align 4 |
||
633 | diamond | 824 | @@: |
2532 | mario79 | 825 | mcall 18, 22 |
826 | inc edx |
||
827 | cmp edx, [max_slot] |
||
828 | jbe @b |
||
2619 | mario79 | 829 | ; jmp still |
830 | ret |
||
831 | ;------------------------------------------------------------------------------ |
||
832 | ;align 4 |
||
833 | ;swap_minimized_desktop: |
||
834 | ; xor esi, esi |
||
835 | ; inc esi |
||
836 | ; jmp min_swap_desktop |
||
837 | ;------------------------------------------------------------------------------ |
||
2532 | mario79 | 838 | align 4 |
633 | diamond | 839 | clean_desktop: |
2619 | mario79 | 840 | mov [clean_desktop_minimize],0 |
841 | ; xor esi,esi |
||
2532 | mario79 | 842 | ;-------------------------------------- |
2619 | mario79 | 843 | ;align 4 |
844 | ;min_swap_desktop: ; input esi 0 - min, <>0 swap |
||
2532 | mario79 | 845 | mov ecx, 2 ; Начальный номер слота процесса |
846 | mov ebx, process_info_buffer |
||
847 | ;-------------------------------------- |
||
848 | align 4 |
||
633 | diamond | 849 | .loop1: |
2532 | mario79 | 850 | cmp ecx, [this_slot] |
851 | je .loop1xx |
||
633 | diamond | 852 | |
2532 | mario79 | 853 | mcall 9 |
854 | mov [max_slot], eax |
||
855 | mov dx, word [process_info_buffer+50] |
||
856 | cmp dx, 9 ; Проверка свободен ли данный слот |
||
857 | jz .loop1xx |
||
633 | diamond | 858 | |
2532 | mario79 | 859 | mov edx, dword [ebx+10] |
860 | cmp dl, '@' |
||
861 | je .loop1xx |
||
31 | halyavin | 862 | |
2532 | mario79 | 863 | cmp dword [ebx+10], 'ICON' |
864 | jnz @f |
||
31 | halyavin | 865 | |
2532 | mario79 | 866 | cmp [ebx+42], dword 51 |
867 | jnz @f |
||
31 | halyavin | 868 | |
2532 | mario79 | 869 | cmp [ebx+46], dword 51 |
870 | jz .loop1xx |
||
871 | ;-------------------------------------- |
||
872 | align 4 |
||
873 | @@: |
||
874 | cmp [ebx+10], dword ' ' |
||
875 | jz .loop1xx |
||
31 | halyavin | 876 | |
2619 | mario79 | 877 | pusha |
878 | mov edx, ecx |
||
879 | xor ecx, ecx |
||
880 | ; or esi, esi |
||
881 | ; jz @f |
||
31 | halyavin | 882 | |
2619 | mario79 | 883 | movzx eax, byte [process_info_buffer+70] |
884 | and eax, 2 ; mask minimize |
||
885 | jnz @f |
||
31 | halyavin | 886 | |
2619 | mario79 | 887 | mov [clean_desktop_minimize],1 |
888 | ; mov ecx, 2 ; restore |
||
889 | mcall 18, 22 |
||
2532 | mario79 | 890 | ;-------------------------------------- |
891 | align 4 |
||
892 | @@: |
||
2619 | mario79 | 893 | popa |
2532 | mario79 | 894 | ;-------------------------------------- |
895 | align 4 |
||
896 | .loop1xx: |
||
897 | inc ecx |
||
898 | cmp ecx, [max_slot] |
||
899 | jbe .loop1 |
||
2619 | mario79 | 900 | |
901 | cmp [clean_desktop_minimize],1 |
||
902 | je @f |
||
903 | call restore_desktop |
||
443 | diamond | 904 | @@: |
601 | Rus | 905 | ret |
2619 | mario79 | 906 | ; jmp still |
907 | ;------------------------------------------------------------------------------ |
||
2532 | mario79 | 908 | align 4 |
2619 | mario79 | 909 | conversion_HEX_to_ASCII: |
910 | ror eax,12 |
||
911 | mov ecx,4 |
||
2532 | mario79 | 912 | ;-------------------------------------- |
913 | align 4 |
||
443 | diamond | 914 | .loop: |
2619 | mario79 | 915 | mov bl,al |
916 | rol eax,4 |
||
917 | and bl,0xf |
||
918 | cmp bl,0xA ; check for ABCDEF |
||
919 | jae @f |
||
31 | halyavin | 920 | |
2619 | mario79 | 921 | add bl,0x30 ; 0-9 |
922 | jmp .store |
||
2532 | mario79 | 923 | ;-------------------------------------- |
924 | align 4 |
||
443 | diamond | 925 | @@: |
2619 | mario79 | 926 | add bl,0x57 ; A-F |
2532 | mario79 | 927 | ;-------------------------------------- |
928 | align 4 |
||
2619 | mario79 | 929 | .store: |
930 | ; dps "param_store: " |
||
931 | mov [edi],bl |
||
601 | Rus | 932 | inc edi |
2619 | mario79 | 933 | dec ecx |
934 | jnz .loop |
||
601 | Rus | 935 | ret |
2619 | mario79 | 936 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 937 | align 4 |
2619 | mario79 | 938 | menu_handler: |
939 | mov edi,bootparam |
||
940 | |||
941 | mov eax,[menu_button_x.start] |
||
942 | call conversion_HEX_to_ASCII |
||
31 | halyavin | 943 | |
2619 | mario79 | 944 | mov eax,[menu_button_x.size] |
945 | call conversion_HEX_to_ASCII |
||
946 | |||
947 | mov eax,[menu_button_y.start] |
||
948 | call conversion_HEX_to_ASCII |
||
949 | |||
950 | mov eax,[menu_button_y.size] |
||
951 | call conversion_HEX_to_ASCII |
||
952 | |||
953 | mov eax,[height] |
||
954 | call conversion_HEX_to_ASCII |
||
955 | |||
956 | mov eax,[place_attachment] |
||
957 | call conversion_HEX_to_ASCII |
||
958 | |||
959 | xor eax,eax ; terminator for boot parameters string |
||
960 | stosd |
||
961 | |||
601 | Rus | 962 | mov ebx, exec_fileinfo |
2532 | mario79 | 963 | mov [ebx+21],dword menu_name |
2619 | mario79 | 964 | mov [ebx+8],dword bootparam |
2532 | mario79 | 965 | mcall 70 |
2619 | mario79 | 966 | mov [ebx+8],dword 0 |
601 | Rus | 967 | ret |
2619 | mario79 | 968 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 969 | align 4 |
31 | halyavin | 970 | draw_small_right: |
2532 | mario79 | 971 | pusha |
972 | mcall 12,1 |
||
31 | halyavin | 973 | |
2532 | mario79 | 974 | xor eax,eax |
975 | mov edx,[wcolor] |
||
976 | mov esi,edx |
||
977 | mov edi,edx |
||
978 | or edx, 0x01000000 |
||
979 | mcall |
||
31 | halyavin | 980 | |
2532 | mario79 | 981 | xor ecx,ecx |
2619 | mario79 | 982 | mov cx,[height] |
2532 | mario79 | 983 | mcall 8,<0,9>,,1,[wcolor] |
31 | halyavin | 984 | |
2619 | mario79 | 985 | mov ebx,2*65536 ;+6 |
986 | mov bx,[height] |
||
987 | shr bx,1 |
||
988 | sub bx,3 |
||
2532 | mario79 | 989 | mov ecx,[wcolor] |
990 | add ecx,0x303030 |
||
991 | mcall 4,,,hidetext,1 |
||
31 | halyavin | 992 | |
2532 | mario79 | 993 | mcall 12,2 |
994 | popa |
||
995 | ret |
||
2619 | mario79 | 996 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 997 | align 4 |
31 | halyavin | 998 | draw_small_left: |
2532 | mario79 | 999 | pusha |
1000 | mcall 12,1 |
||
31 | halyavin | 1001 | |
2532 | mario79 | 1002 | xor eax,eax |
1003 | mov edx,[wcolor] |
||
1004 | mov esi,edx |
||
1005 | mov edi,edx |
||
1006 | or edx, 0x01000000 |
||
1007 | mcall |
||
31 | halyavin | 1008 | |
2532 | mario79 | 1009 | xor ecx,ecx |
2619 | mario79 | 1010 | mov cx,[height] |
2532 | mario79 | 1011 | mcall 8,<0,9>,,1,[wcolor] |
31 | halyavin | 1012 | |
2619 | mario79 | 1013 | mov ebx,3*65536 ;+6 |
1014 | mov bx,[height] |
||
1015 | shr bx,1 |
||
1016 | sub bx,3 |
||
2532 | mario79 | 1017 | mov ecx,[wcolor] |
1018 | add ecx,0x303030 |
||
1019 | mcall 4,,,hidetext+1,1 |
||
31 | halyavin | 1020 | |
2532 | mario79 | 1021 | mcall 12,2 |
1022 | popa |
||
1023 | ret |
||
2619 | mario79 | 1024 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 1025 | align 4 |
31 | halyavin | 1026 | right_button: |
2532 | mario79 | 1027 | mov [small_draw],dword draw_small_right |
31 | halyavin | 1028 | |
2532 | mario79 | 1029 | mcall 14 |
31 | halyavin | 1030 | |
2532 | mario79 | 1031 | shr eax, 16 |
1032 | mov ebx, eax |
||
1033 | mov ecx, -1 |
||
1034 | mov edx, 9 |
||
1035 | sub ebx, edx |
||
1036 | mov esi, -1 |
||
1037 | mcall 67 |
||
31 | halyavin | 1038 | |
2532 | mario79 | 1039 | call draw_small_right |
1040 | jmp small_wait |
||
2619 | mario79 | 1041 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 1042 | align 4 |
31 | halyavin | 1043 | left_button: |
2532 | mario79 | 1044 | mov [small_draw],dword draw_small_left |
31 | halyavin | 1045 | |
2532 | mario79 | 1046 | xor ebx,ebx |
1047 | mcall 67,,-1,9,-1 |
||
31 | halyavin | 1048 | |
2532 | mario79 | 1049 | call draw_small_left |
1050 | ;-------------------------------------- |
||
1051 | align 4 |
||
1052 | small_wait: |
||
1053 | mcall 10 |
||
1054 | cmp eax,1 |
||
1055 | jne no_win |
||
31 | halyavin | 1056 | |
2532 | mario79 | 1057 | call [small_draw] |
1058 | jmp small_wait |
||
1059 | ;-------------------------------------- |
||
1060 | align 4 |
||
1061 | no_win: |
||
1062 | cmp eax,2 |
||
1063 | jne no_key |
||
31 | halyavin | 1064 | |
2532 | mario79 | 1065 | call handle_key |
1066 | jmp small_wait |
||
1067 | ;-------------------------------------- |
||
1068 | align 4 |
||
93 | diamond | 1069 | no_key: |
2532 | mario79 | 1070 | mcall 17 |
1071 | cmp ah,1 |
||
1072 | jne no_full |
||
31 | halyavin | 1073 | |
2532 | mario79 | 1074 | mcall 14 ; get screen max x & max y |
31 | halyavin | 1075 | |
2532 | mario79 | 1076 | mov edx, eax |
1077 | shr edx, 16 |
||
1078 | xor ebx, ebx |
||
1079 | mcall 67,,-1,,-1 ; x0 y0 xs ys |
||
31 | halyavin | 1080 | |
2532 | mario79 | 1081 | jmp still |
1082 | ;-------------------------------------- |
||
1083 | align 4 |
||
1084 | no_full: |
||
1085 | call menu_handler |
||
1086 | jmp small_wait |
||
2619 | mario79 | 1087 | ;------------------------------------------------------------------------------ |
2532 | mario79 | 1088 | ;align 4 |
2619 | mario79 | 1089 | ;set_variables: |
2532 | mario79 | 1090 | ; pusha |
2619 | mario79 | 1091 | ; mov [button_frames],0x0 |
1092 | ; cmp [buttons],0 |
||
1093 | ; jne no_frames |
||
31 | halyavin | 1094 | |
2619 | mario79 | 1095 | ; mov [button_frames],0x40000000 |
2532 | mario79 | 1096 | ;-------------------------------------- |
1097 | ;align 4 |
||
2619 | mario79 | 1098 | ;no_frames: |
1099 | ; mcall 48,1,1 ; 3d button look |
||
2532 | mario79 | 1100 | ; popa |
1101 | ; ret |
||
2619 | mario79 | 1102 | ;------------------------------------------------------------------------------ |
1103 | include 'libini.inc' |
||
1104 | ;------------------------------------------------------------------------------ |
||
1105 | include 'dll.inc' |
||
1106 | ;------------------------------------------------------------------------------ |
||
1107 | include 'drawappl.inc' |
||
1108 | ;------------------------------------------------------------------------------ |
||
1109 | include 'drawbutt.inc' |
||
1110 | ;------------------------------------------------------------------------------ |
||
1111 | include 'drawwind.inc' |
||
1112 | ;------------------------------------------------------------------------------ |
||
1113 | include 'drawtray.inc' |
||
1114 | ;------------------------------------------------------------------------------ |
||
601 | Rus | 1115 | include 'ctx_menu.asm' |
2619 | mario79 | 1116 | ;------------------------------------------------------------------------------ |
1117 | include 'i_data.inc' |
||
1118 | ;------------------------------------------------------------------------------ |
||
2532 | mario79 | 1119 | IM_END: |
1120 | ;------------------------------------------------------------------------------ |
||
2619 | mario79 | 1121 | include 'u_data.inc' |
1122 | ;------------------------------------------------------------------------------ |
||
1123 | I_END: |
||
1124 | ;------------------------------------------------------------------------------0,9>0,9>>=> |