Rev 1505 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1505 | Rev 1689 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. 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 | ||
- | 8 | $Revision: 1689 $ |
|
- | 9 | ||
- | 10 | WINDOW_MOVE_AND_RESIZE_FLAGS = \ |
|
- | 11 | mouse.WINDOW_RESIZE_N_FLAG + \ |
|
- | 12 | mouse.WINDOW_RESIZE_W_FLAG + \ |
|
- | 13 | mouse.WINDOW_RESIZE_S_FLAG + \ |
|
- | 14 | mouse.WINDOW_RESIZE_E_FLAG + \ |
|
Line 8... | Line 15... | ||
8 | $Revision: 1466 $ |
15 | mouse.WINDOW_MOVE_FLAG |
9 | 16 | ||
10 | uglobal |
17 | uglobal |
11 | align 4 |
18 | align 4 |
Line 443... | Line 450... | ||
443 | jmp .loop |
450 | jmp .loop |
444 | .no_events: |
451 | .no_events: |
445 | xor eax,eax |
452 | xor eax,eax |
446 | ret |
453 | ret |
447 | .IRQ: |
454 | .IRQ: |
448 | ;TODO: ñäåëàòü òàê æå, êàê è äëÿ FlagAutoReset (BgrRedraw,Mouse,IPC,Stack,Debug) |
455 | ;TODO: same thing as done for FlagAutoReset (BgrRedraw,Mouse,IPC,Stack,Debug) |
449 | mov edx,[irq_owner+eax*4-64] ; eax==16+irq |
456 | mov edx,[irq_owner+eax*4-64] ; eax==16+irq |
450 | cmp edx,[edi+TASKDATA.pid] |
457 | cmp edx,[edi+TASKDATA.pid] |
451 | jne .loop |
458 | jne .loop |
452 | mov edx,eax |
459 | mov edx,eax |
453 | shl edx,12 |
460 | shl edx,12 |
Line 458... | Line 465... | ||
458 | cmp eax,5 ; Mouse 5+1=6 |
465 | cmp eax,5 ; Mouse 5+1=6 |
459 | jne @f |
466 | jne @f |
460 | push eax |
467 | push eax |
461 | ; If the window is captured and moved by the user, then no mouse events!!! |
468 | ; If the window is captured and moved by the user, then no mouse events!!! |
462 | mov al, [mouse.active_sys_window.action] |
469 | mov al, [mouse.active_sys_window.action] |
463 | test al, mouse.WINDOW_MOVE_FLAG |
470 | and al, WINDOW_MOVE_AND_RESIZE_FLAGS |
- | 471 | test al, al |
|
464 | pop eax |
472 | pop eax |
465 | jnz .loop |
473 | jnz .loop |
466 | @@: |
474 | @@: |
467 | btr [ebx+APPDATA.event_mask],eax |
475 | btr [ebx+APPDATA.event_mask],eax |
468 | jnc .loop |
476 | jnc .loop |