Rev 9613 | Rev 9692 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9613 | Rev 9614 | ||
---|---|---|---|
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: 9613 $ |
8 | $Revision: 9614 $ |
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 511... | Line 511... | ||
511 | ;param: |
511 | ;param: |
512 | ; ebx - APPDATA address of testing slot |
512 | ; ebx - APPDATA address of testing slot |
513 | ;retval: |
513 | ;retval: |
514 | ; eax - event number (=0 => no events) |
514 | ; eax - event number (=0 => no events) |
515 | movzx edi, bh ; bh is assumed as [current_slot_idx] |
515 | movzx edi, bh ; bh is assumed as [current_slot_idx] |
516 | ;shl edi, 8 |
- | |
517 | ;mov ecx, [edi+SLOT_BASE+APPDATA.event_mask] |
516 | mov ecx, [ebx+APPDATA.event_mask] |
518 | shl edi, 5 |
517 | shl edi, 5 |
519 | add edi, TASK_TABLE ; edi is assumed as [TASK_BASE] |
518 | add edi, TASK_TABLE ; edi is assumed as [TASK_BASE] |
520 | mov ecx, [edi+TASKDATA.event_mask] |
- | |
521 | and ecx, 0x7FFFFFFF |
519 | and ecx, 0x7FFFFFFF |
522 | ;-------------------------------------- |
520 | ;-------------------------------------- |
523 | align 4 |
521 | align 4 |
524 | .loop: ; until we run out all the bits of the mask |
522 | .loop: ; until we run out all the bits of the mask |
525 | bsr eax, ecx ; find a non-zero bit of the mask (31 -> 0) |
523 | bsr eax, ecx ; find a non-zero bit of the mask (31 -> 0) |
Line 555... | Line 553... | ||
555 | ret |
553 | ret |
556 | ;-------------------------------------- |
554 | ;-------------------------------------- |
557 | align 4 |
555 | align 4 |
558 | .mouse_check: ; Mouse 5+1=6 |
556 | .mouse_check: ; Mouse 5+1=6 |
559 | push eax |
557 | push eax |
560 | ;mov eax, [current_slot] |
558 | mov eax, [current_slot] |
561 | ;mov eax, [eax + APPDATA.event_mask] |
559 | mov eax, [eax + APPDATA.event_mask] |
562 | mov eax, [TASK_BASE] |
- | |
563 | mov eax, [eax + TASKDATA.event_mask] |
- | |
564 | test eax, 0x80000000 ; bit 31: active/inactive filter f.40 |
560 | test eax, 0x80000000 ; bit 31: active/inactive filter f.40 |
565 | jz @f |
561 | jz @f |
566 | pop eax |
562 | pop eax |
567 | jmp .FlagAutoReset |
563 | jmp .FlagAutoReset |
568 | ;-------------------------------------- |
564 | ;-------------------------------------- |