Subversion Repositories Kolibri OS

Rev

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