Subversion Repositories Kolibri OS

Rev

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