Subversion Repositories Kolibri OS

Rev

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

Rev 2411 Rev 2414
Line 67... Line 67...
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 68... Line 68...
68
 
68
 
69
include 'macros.inc'
69
include 'macros.inc'
Line 70... Line 70...
70
include 'struct.inc'
70
include 'struct.inc'
Line 71... Line 71...
71
 
71
 
Line 72... Line 72...
72
$Revision: 2411 $
72
$Revision: 2414 $
Line 3084... Line 3084...
3084
        mov     ebx, CURRENT_TASK
3084
        mov     ebx, CURRENT_TASK
Line 3085... Line 3085...
3085
 
3085
 
3086
        mov     ecx, [TASK_COUNT]
3086
        mov     ecx, [TASK_COUNT]
3087
        movzx   eax, word [WIN_POS + ecx*2]     ; active window
3087
        movzx   eax, word [WIN_POS + ecx*2]     ; active window
-
 
3088
        shl     eax, 8
-
 
3089
        push    eax
-
 
3090
 
-
 
3091
        movzx   eax, word [MOUSE_X]
Line 3088... Line 3092...
3088
        shl     eax, 8
3092
        movzx   edx, word [MOUSE_Y]
3089
 
3093
 
3090
align 4
3094
align 4
3091
.set_mouse_event:
3095
.set_mouse_event:
3092
        add     edi, 256
3096
        add     edi, 256
3093
        add     ebx, 32
3097
        add     ebx, 32
Line 3094... Line 3098...
3094
        test    [ebx+TASKDATA.event_mask], 0x80000000
3098
        test    [ebx+TASKDATA.event_mask], 0x80000000
3095
        jz      .set
3099
        jz      .pos_filter
-
 
3100
 
-
 
3101
        cmp     edi, [esp]                      ; skip if filtration active
-
 
3102
        jne     .skip
-
 
3103
 
-
 
3104
.pos_filter:
-
 
3105
        test    [ebx+TASKDATA.event_mask], 0x40000000
-
 
3106
        jz      .set
-
 
3107
 
-
 
3108
        mov     esi, [ebx-twdw+WDATA.box.left]
-
 
3109
        cmp     eax, esi
-
 
3110
        jb      .skip
-
 
3111
        add     esi, [ebx-twdw+WDATA.box.width]
-
 
3112
        cmp     eax, esi
-
 
3113
        ja      .skip
-
 
3114
 
-
 
3115
        mov     esi, [ebx-twdw+WDATA.box.top]
-
 
3116
        cmp     edx, esi
-
 
3117
        jb      .skip
3096
 
3118
        add     esi, [ebx-twdw+WDATA.box.height]
3097
        cmp     eax, edi                        ; skip if filtration active
3119
        cmp     edx, esi
3098
        jne     .skip
3120
        ja      .skip
3099
.set:
3121
.set:
Line -... Line 3122...
-
 
3122
        or      [edi+SLOT_BASE+APPDATA.event_mask], 100000b
-
 
3123
.skip:
3100
        or      [edi+SLOT_BASE+APPDATA.event_mask], 100000b
3124
        loop    .set_mouse_event
3101
.skip:
3125
 
3102
        loop    .set_mouse_event
3126
        pop     eax
3103
 
3127
 
3104
mouse_not_active:
3128
mouse_not_active: