Subversion Repositories Kolibri OS

Rev

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

Rev 2407 Rev 2408
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: 2407 $
72
$Revision: 2408 $
Line 3079... Line 3079...
3079
        cmp     [mouse_active], 1
3079
        cmp     [mouse_active], 1
3080
        jne     mouse_not_active
3080
        jne     mouse_not_active
3081
        mov     [mouse_active], 0
3081
        mov     [mouse_active], 0
3082
        xor     edi, edi
3082
        xor     edi, edi
3083
        mov     ecx, [TASK_COUNT]
3083
        mov     ecx, [TASK_COUNT]
-
 
3084
        movzx   eax, word [WIN_POS + ecx*2]     ; active window
-
 
3085
        shl     eax, 8
-
 
3086
 
-
 
3087
align 4
3084
set_mouse_event:
3088
.set_mouse_event:
3085
        add     edi, 256
3089
        add     edi, 256
-
 
3090
        test    [edi+SLOT_BASE+APPDATA.event_filter], 1
-
 
3091
        jz      @F
-
 
3092
 
-
 
3093
        cmp     eax, edi                        ; skip if filtration active
-
 
3094
        jne     .set_mouse_event
-
 
3095
@@:
3086
        or      [edi+SLOT_BASE+APPDATA.event_mask], dword 100000b
3096
        or      [edi+SLOT_BASE+APPDATA.event_mask], 100000b
3087
        loop    set_mouse_event
3097
        loop    .set_mouse_event
Line 3088... Line 3098...
3088
 
3098
 
3089
mouse_not_active:
3099
mouse_not_active:
3090
        cmp     byte[BACKGROUND_CHANGED], 0
3100
        cmp     byte[BACKGROUND_CHANGED], 0
3091
        jz      no_set_bgr_event
3101
        jz      no_set_bgr_event
Line 3354... Line 3364...
3354
        ret
3364
        ret
Line 3355... Line 3365...
3355
 
3365
 
3356
 
3366
 
-
 
3367
set_app_param:
-
 
3368
        mov     edi, [TASK_BASE]
-
 
3369
        mov     eax, ebx
3357
set_app_param:
3370
        btr     eax, 3                           ; move MOUSE_FILTRATION
3358
        mov     edi, [TASK_BASE]
3371
        mov     ebx, [current_slot]              ; bit into event_filter
3359
        mov     eax, [edi + TASKDATA.event_mask]
3372
        setc    byte [ebx+APPDATA.event_filter]
3360
        mov     [edi + TASKDATA.event_mask], ebx
3373
        xchg    eax, [edi + TASKDATA.event_mask] ; set new event mask
Line 3361... Line 3374...
3361
        mov     [esp+32], eax
3374
        mov     [esp+32], eax                    ; return old mask value