Subversion Repositories Kolibri OS

Rev

Rev 9910 | Rev 9949 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9910 Rev 9926
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: 9910 $
8
$Revision: 9926 $
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 65... Line 65...
65
;retval:
65
;retval:
66
;   eax - event (=0 => fail)
66
;   eax - event (=0 => fail)
67
;   edx - uid
67
;   edx - uid
68
;scratched: ebx,ecx,esi,edi
68
;scratched: ebx,ecx,esi,edi
69
        mov     ebx, [current_slot]
69
        mov     ebx, [current_slot]
-
 
70
        mov     edx, [ebx+APPDATA.tid]
70
        add     ebx, APP_OBJ_OFFSET
71
        add     ebx, APP_OBJ_OFFSET
71
        mov     edx, [current_slot]
-
 
72
        mov     edx, [edx+APPDATA.tid]
-
 
73
        pushfd
72
        pushfd
74
        cli
73
        cli
75
;--------------------------------------
74
;--------------------------------------
76
align 4
75
align 4
77
set_event:                                         ;; INTERNAL use !!! don't use for Call
76
set_event:                                         ;; INTERNAL use !!! don't use for Call
Line 461... Line 460...
461
        mov     [KEY_BUFF+eax], byte 0
460
        mov     [KEY_BUFF+eax], byte 0
462
        sub     eax, 120+2
461
        sub     eax, 120+2
463
;--------------------------------------
462
;--------------------------------------
464
align 4
463
align 4
465
.result:
464
.result:
466
        setae   byte[esp+32+4] ;we consider that initially was: dword[esp+32+4]==72
465
        setae   byte[esp + SYSCALL_STACK.eax + 4] ;we consider that initially was: dword[esp+32+4]==72
467
;--------------------------------------
466
;--------------------------------------
468
align 4
467
align 4
469
.retf:
468
.retf:
470
        popfd
469
        popfd
471
;--------------------------------------
470
;--------------------------------------
Line 508... Line 507...
508
;   ebx - APPDATA address of testing slot
507
;   ebx - APPDATA address of testing slot
509
;retval:
508
;retval:
510
;   eax - event number (=0 => no events)
509
;   eax - event number (=0 => no events)
511
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
510
        movzx   edi, bh               ; bh  is assumed as [current_slot_idx]
512
        mov     ecx, [ebx+APPDATA.event_mask]
511
        mov     ecx, [ebx+APPDATA.event_mask]
513
        shl     edi, 5
512
        shl     edi, BSF sizeof.WDATA
514
        add     edi, window_data
513
        add     edi, window_data
515
        and     ecx, 0x7FFFFFFF
514
        and     ecx, 0x7FFFFFFF
516
;--------------------------------------
515
;--------------------------------------
517
align 4
516
align 4
518
.loop: ; until we run out all the bits of the mask
517
.loop: ; until we run out all the bits of the mask
Line 551... Line 550...
551
align 4
550
align 4
552
.mouse_check:    ; Mouse 5+1=6
551
.mouse_check:    ; Mouse 5+1=6
553
        push    eax
552
        push    eax
554
        mov     eax, [current_slot]
553
        mov     eax, [current_slot]
555
        mov     eax, [eax + APPDATA.event_mask]
554
        mov     eax, [eax + APPDATA.event_mask]
556
        test    eax, 0x80000000 ; bit 31: active/inactive filter f.40
555
        test    eax, EVM_MOUSE_FILTER ; bit 31: active/inactive filter f.40
557
        jz      @f
556
        jz      @f
558
        pop     eax
557
        pop     eax
559
        jmp     .FlagAutoReset
558
        jmp     .FlagAutoReset
560
;--------------------------------------
559
;--------------------------------------
561
align 4
560
align 4