Rev 2411 | Rev 2435 | 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: |