Rev 129 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 129 | Rev 384 | ||
---|---|---|---|
Line 42... | Line 42... | ||
42 | EQUAL_TOP = 00001000b |
42 | EQUAL_TOP = 00001000b |
Line 43... | Line 43... | ||
43 | 43 | ||
44 | func calc_clipping_rects |
44 | func calc_clipping_rects |
45 | begin |
45 | begin |
46 | mov [cnt],0 |
46 | mov [cnt],0 |
47 | movzx ebp,word[0x3000] |
47 | movzx ebp,word[CURRENT_TASK] |
Line 48... | Line 48... | ||
48 | shl ebp,5 |
48 | shl ebp,5 |
49 | 49 | ||
50 | cmp ebp,0x20 |
50 | cmp ebp,0x20 |
Line 94... | Line 94... | ||
94 | add [rct.right],eax |
94 | add [rct.right],eax |
95 | movsx eax,word[ebp+0x0C] |
95 | movsx eax,word[ebp+0x0C] |
96 | inc eax |
96 | inc eax |
97 | add [rct.bottom],eax |
97 | add [rct.bottom],eax |
98 | ^ |
98 | ^ |
99 | movzx ecx,word[0x00003004] ; number of processes |
99 | movzx ecx,word[TASK_COUNT] ; number of processes |
100 | jif ecx,be,1,.exit |
100 | jif ecx,be,1,.exit |
Line 101... | Line 101... | ||
101 | 101 | ||
Line 102... | Line 102... | ||
102 | ; calculate clipping rectangles |
102 | ; calculate clipping rectangles |
103 | 103 | ||
104 | mov esi,1 |
104 | mov esi,1 |
105 | ; go forward through all windows |
105 | ; go forward through all windows |
Line 106... | Line 106... | ||
106 | .next_window: |
106 | .next_window: |
107 | movzx edi,word[0x00003000] ; calling process number |
107 | movzx edi,word[CURRENT_TASK] ; calling process number |
Line 108... | Line 108... | ||
108 | 108 | ||
109 | mov ax,[0x0000C000+esi*2] |
109 | mov ax,[WIN_STACK+esi*2] |
110 | jif ax,be,[0x0000C000+edi*2],.end_window.2 |
110 | jif ax,be,[WIN_STACK+edi*2],.end_window.2 |
111 | 111 | ||
Line 264... | Line 264... | ||
264 | jif ebp,ae,rct,.next_rect |
264 | jif ebp,ae,rct,.next_rect |
265 | .end_window: |
265 | .end_window: |
266 | pop esi; ecx |
266 | pop esi; ecx |
267 | .end_window.2: |
267 | .end_window.2: |
268 | inc esi |
268 | inc esi |
269 | jif esi,be,[0x00003004],.next_window |
269 | jif esi,be,[TASK_COUNT],.next_window |
270 | ; dec ecx |
270 | ; dec ecx |
271 | ; jnz .next_window |
271 | ; jnz .next_window |
Line 272... | Line 272... | ||
272 | 272 | ||
273 | ; combine some rectangles if possible |
273 | ; combine some rectangles if possible |