Subversion Repositories Kolibri OS

Rev

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: