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 |