Subversion Repositories Kolibri OS

Rev

Rev 9692 | Rev 9910 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9692 Rev 9709
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2021. 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: 9692 $
8
$Revision: 9709 $
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 279... Line 279...
279
        mov     [esi+APPDATA.wait_test], edx
279
        mov     [esi+APPDATA.wait_test], edx
280
        mov     [esi+APPDATA.wait_timeout], ebx
280
        mov     [esi+APPDATA.wait_timeout], ebx
281
        mov     eax, [timer_ticks]
281
        mov     eax, [timer_ticks]
282
        mov     [esi+APPDATA.wait_begin], eax
282
        mov     [esi+APPDATA.wait_begin], eax
283
        mov     [esi+APPDATA.state], TSTATE_WAITING
283
        mov     [esi + APPDATA.state], TSTATE_WAITING
284
        mov     eax, [TASK_BASE]
-
 
285
        mov     [eax+TASKDATA.state], TSTATE_WAITING
-
 
286
        call    change_task
284
        call    change_task
287
        mov     eax, [esi+APPDATA.wait_param]
285
        mov     eax, [esi+APPDATA.wait_param]
288
;--------------------------------------
286
;--------------------------------------
289
align 4
287
align 4
290
@@:
288
@@:
Line 511... Line 509...
511
;retval:
509
;retval:
512
;   eax - event number (=0 => no events)
510
;   eax - event number (=0 => no events)
513
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
511
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
514
        mov     ecx, [ebx+APPDATA.event_mask]
512
        mov     ecx, [ebx+APPDATA.event_mask]
515
        shl     edi, 5
513
        shl     edi, 5
516
        add     edi, TASK_TABLE     ; edi is assumed as [TASK_BASE]
514
        add     edi, window_data
517
        and     ecx, 0x7FFFFFFF
515
        and     ecx, 0x7FFFFFFF
518
;--------------------------------------
516
;--------------------------------------
519
align 4
517
align 4
520
.loop: ; until we run out all the bits of the mask
518
.loop: ; until we run out all the bits of the mask
521
        bsr     eax, ecx       ; find a non-zero bit of the mask (31 -> 0)
519
        bsr     eax, ecx       ; find a non-zero bit of the mask (31 -> 0)
Line 539... Line 537...
539
        cmp     eax, 1
537
        cmp     eax, 1
540
        jae     .BtKy          ; eax=[1,2],  retvals=eax+1 (event 2,3)
538
        jae     .BtKy          ; eax=[1,2],  retvals=eax+1 (event 2,3)
541
;--------------------------------------
539
;--------------------------------------
542
align 4
540
align 4
543
.WndRedraw:                    ; eax=0, retval WndRedraw=1
541
.WndRedraw:                    ; eax=0, retval WndRedraw=1
544
        cmp     [edi-twdw+WDATA.fl_redraw], al;al==0
542
        cmp     [edi + WDATA.fl_redraw], al;al==0
545
        jne     .result
543
        jne     .result
546
        jmp     .loop
544
        jmp     .loop
547
;--------------------------------------
545
;--------------------------------------
548
align 4
546
align 4
549
.no_events:
547
.no_events: