Rev 2987 | Rev 3555 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2987 | Rev 3500 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
4 | ;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 2987 $ |
8 | $Revision: 3500 $ |
9 | 9 | ||
10 | WINDOW_MOVE_AND_RESIZE_FLAGS = \ |
10 | WINDOW_MOVE_AND_RESIZE_FLAGS = \ |
11 | mouse.WINDOW_RESIZE_N_FLAG + \ |
11 | mouse.WINDOW_RESIZE_N_FLAG + \ |
Line 163... | Line 163... | ||
163 | ; ebx - uid (for Dummy testing) |
163 | ; ebx - uid (for Dummy testing) |
164 | ; edx - flags |
164 | ; edx - flags |
165 | ; esi - event data (=0 => skip) |
165 | ; esi - event data (=0 => skip) |
166 | ;scratched: ebx,ecx,esi,edi |
166 | ;scratched: ebx,ecx,esi,edi |
167 | call NotDummyTest ; not returned for fail !!! |
167 | call NotDummyTest ; not returned for fail !!! |
- | 168 | mov [check_idle_semaphore], 5 |
|
168 | or esi, esi |
169 | or esi, esi |
169 | jz @f |
170 | jz @f |
170 | lea edi, [ebx+EVENT.code] |
171 | lea edi, [ebx+EVENT.code] |
171 | mov ecx, (sizeof.EVENT -EVENT.code)/4 |
172 | mov ecx, (sizeof.EVENT -EVENT.code)/4 |
172 | cld |
173 | cld |
Line 305... | Line 306... | ||
305 | mov edx, get_event_alone ; wait_test |
306 | mov edx, get_event_alone ; wait_test |
306 | call Wait_events ; timeout ignored |
307 | call Wait_events ; timeout ignored |
307 | jmp wait_finish |
308 | jmp wait_finish |
308 | ;----------------------------------------------------------------------------- |
309 | ;----------------------------------------------------------------------------- |
309 | align 4 |
310 | align 4 |
- | 311 | wait_event_timeout: |
|
- | 312 | ;param: |
|
- | 313 | ; eax - event |
|
- | 314 | ; ebx - uid (for Dummy testing) |
|
- | 315 | ; ecx - timeout in timer ticks |
|
- | 316 | ;retval: |
|
- | 317 | ; eax - EVENT handle or 0 if timeout |
|
- | 318 | call DummyTest |
|
- | 319 | mov ebx, ecx |
|
- | 320 | mov ecx, eax ; wait_param |
|
- | 321 | mov edx, get_event_alone ; wait_test |
|
- | 322 | call Wait_events_ex |
|
- | 323 | test eax, eax |
|
- | 324 | jnz wait_finish |
|
- | 325 | ret |
|
- | 326 | ;----------------------------------------------------------------------------- |
|
- | 327 | align 4 |
|
310 | get_event_ex: ;; f68:14 |
328 | get_event_ex: ;; f68:14 |
311 | ;info: |
329 | ;info: |
312 | ; Îæèäàíèå ëþáîãî ñîáûòèÿ â î÷åðåäè EventList òåêóùåãî ñëîòà |
330 | ; Îæèäàíèå ëþáîãî ñîáûòèÿ â î÷åðåäè EventList òåêóùåãî ñëîòà |
313 | ; Äàííûå ñîáûòèÿ code - êîïèðóþòñÿ â ïàìÿòü ïðèëîæåíèÿ (êîñâåííî ïî edi) |
331 | ; Äàííûå ñîáûòèÿ code - êîïèðóþòñÿ â ïàìÿòü ïðèëîæåíèÿ (êîñâåííî ïî edi) |
314 | ; Ïðè àêòèâíîì ôëàãå MANUAL_RESET - áîëüøå íè÷åãî |
332 | ; Ïðè àêòèâíîì ôëàãå MANUAL_RESET - áîëüøå íè÷åãî |
Line 439... | Line 457... | ||
439 | inc byte[KEY_COUNT] |
457 | inc byte[KEY_COUNT] |
440 | mov [KEY_COUNT+1+eax], dl |
458 | mov [KEY_COUNT+1+eax], dl |
441 | ;-------------------------------------- |
459 | ;-------------------------------------- |
442 | align 4 |
460 | align 4 |
443 | .result: |
461 | .result: |
444 | setae byte[esp+32] ;ñ÷èòàåì, ÷òî èñõîäíî: dword[esp+32]==72 |
462 | setae byte[esp+32+4] ;ñ÷èòàåì, ÷òî èñõîäíî: dword[esp+32+4]==72 |
445 | ;-------------------------------------- |
463 | ;-------------------------------------- |
446 | align 4 |
464 | align 4 |
447 | .retf: |
465 | .retf: |
448 | popfd |
466 | popfd |
449 | ;-------------------------------------- |
467 | ;-------------------------------------- |
Line 465... | Line 483... | ||
465 | sys_waitforevent: ;; f10 |
483 | sys_waitforevent: ;; f10 |
466 | or ebx, -1; infinite timeout |
484 | or ebx, -1; infinite timeout |
467 | ;-------------------------------------- |
485 | ;-------------------------------------- |
468 | align 4 |
486 | align 4 |
469 | sys_wait_event_timeout: ;; f23 |
487 | sys_wait_event_timeout: ;; f23 |
- | 488 | call unprotect_from_terminate |
|
470 | mov edx, get_event_for_app; wait_test |
489 | mov edx, get_event_for_app; wait_test |
471 | call Wait_events_ex ; ebx - timeout |
490 | call Wait_events_ex ; ebx - timeout |
472 | mov [esp+32], eax |
491 | mov [esp+32], eax |
- | 492 | call protect_from_terminate |
|
473 | ret |
493 | ret |
474 | ;----------------------------------------------------------------------------- |
494 | ;----------------------------------------------------------------------------- |
475 | align 4 |
495 | align 4 |
476 | get_event_for_app: ;; used from f10,f11,f23 |
496 | get_event_for_app: ;; used from f10,f11,f23 |
477 | ;info: |
497 | ;info: |