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: |