Rev 8869 | Rev 9715 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8869 | Rev 9679 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | ;; ;; |
15 | ;; ;; |
16 | ;; See file COPYING for details ;; |
16 | ;; See file COPYING for details ;; |
17 | ;; ;; |
17 | ;; ;; |
18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 19... | Line 19... | ||
19 | 19 | ||
Line 20... | Line 20... | ||
20 | $Revision: 8869 $ |
20 | $Revision: 9679 $ |
21 | 21 | ||
22 | uglobal |
22 | uglobal |
23 | align 4 |
23 | align 4 |
Line 187... | Line 187... | ||
187 | and edx, 0xFFFF |
187 | and edx, 0xFFFF |
188 | shr eax, 16 |
188 | shr eax, 16 |
189 | mov [putimg.image_cx], eax |
189 | mov [putimg.image_cx], eax |
190 | mov [putimg.image_cy], edx |
190 | mov [putimg.image_cy], edx |
191 | ; calculate absolute (i.e. screen) coordinates |
191 | ; calculate absolute (i.e. screen) coordinates |
192 | mov eax, [TASK_BASE] |
192 | ;mov eax, [TASK_BASE] |
- | 193 | mov eax, [current_slot_idx] |
|
- | 194 | shl eax, 5 ; sizeof.WDATA |
|
193 | mov ebx, [eax-twdw + WDATA.box.left] |
195 | mov ebx, [eax + window_data + WDATA.box.left] |
194 | add ebx, [putimg.image_cx] |
196 | add ebx, [putimg.image_cx] |
195 | mov [putimg.abs_cx], ebx |
197 | mov [putimg.abs_cx], ebx |
196 | mov ebx, [eax-twdw + WDATA.box.top] |
198 | mov ebx, [eax +window_data + WDATA.box.top] |
197 | add ebx, [putimg.image_cy] |
199 | add ebx, [putimg.image_cy] |
198 | mov [putimg.abs_cy], ebx |
200 | mov [putimg.abs_cy], ebx |
199 | ; real_sx = MIN(wnd_sx-image_cx, image_sx); |
201 | ; real_sx = MIN(wnd_sx-image_cx, image_sx); |
200 | mov ebx, [eax-twdw + WDATA.box.width] ; ebx = wnd_sx |
202 | mov ebx, [eax + window_data + WDATA.box.width] ; ebx = wnd_sx |
201 | inc ebx ; WDATA.box.width is one pixel less than real window x-size |
203 | inc ebx ; WDATA.box.width is one pixel less than real window x-size |
202 | sub ebx, [putimg.image_cx] |
204 | sub ebx, [putimg.image_cx] |
203 | ja @f |
205 | ja @f |
204 | add esp, putimg.stack_data |
206 | add esp, putimg.stack_data |
205 | popad |
207 | popad |
Line 210... | Line 212... | ||
210 | jbe .end_x |
212 | jbe .end_x |
211 | mov ebx, [putimg.image_sx] |
213 | mov ebx, [putimg.image_sx] |
212 | .end_x: |
214 | .end_x: |
213 | mov [putimg.real_sx], ebx |
215 | mov [putimg.real_sx], ebx |
214 | ; init real_sy |
216 | ; init real_sy |
215 | mov ebx, [eax-twdw + WDATA.box.height] ; ebx = wnd_sy |
217 | mov ebx, [eax + window_data + WDATA.box.height] ; ebx = wnd_sy |
216 | inc ebx |
218 | inc ebx |
217 | sub ebx, [putimg.image_cy] |
219 | sub ebx, [putimg.image_cy] |
218 | ja @f |
220 | ja @f |
219 | add esp, putimg.stack_data |
221 | add esp, putimg.stack_data |
220 | popad |
222 | popad |
Line 1399... | Line 1401... | ||
1399 | jle .exit |
1401 | jle .exit |
1400 | mov [drbar.bar_sy], edx |
1402 | mov [drbar.bar_sy], edx |
1401 | mov [drbar.bar_sx], ecx |
1403 | mov [drbar.bar_sx], ecx |
1402 | mov [drbar.bar_cx], eax |
1404 | mov [drbar.bar_cx], eax |
1403 | mov [drbar.bar_cy], ebx |
1405 | mov [drbar.bar_cy], ebx |
1404 | mov edi, [TASK_BASE] |
1406 | ;mov edi, [TASK_BASE] |
- | 1407 | mov edi, [current_slot_idx] |
|
- | 1408 | shl edi, 5 ; sizeof.WDATA |
|
1405 | add eax, [edi-twdw + WDATA.box.left] ; win_cx |
1409 | add eax, [edi + window_data + WDATA.box.left] ; win_cx |
1406 | add ebx, [edi-twdw + WDATA.box.top] ; win_cy |
1410 | add ebx, [edi + window_data + WDATA.box.top] ; win_cy |
1407 | mov [drbar.abs_cx], eax |
1411 | mov [drbar.abs_cx], eax |
1408 | mov [drbar.abs_cy], ebx |
1412 | mov [drbar.abs_cy], ebx |
1409 | ; real_sx = MIN(wnd_sx-bar_cx, bar_sx); |
1413 | ; real_sx = MIN(wnd_sx-bar_cx, bar_sx); |
1410 | mov ebx, [edi-twdw + WDATA.box.width] ; ebx = wnd_sx |
1414 | mov ebx, [edi + window_data + WDATA.box.width] ; ebx = wnd_sx |
1411 | inc ebx ; WDATA.box.width is one pixel less than real window x-size |
1415 | inc ebx ; WDATA.box.width is one pixel less than real window x-size |
1412 | sub ebx, [drbar.bar_cx] |
1416 | sub ebx, [drbar.bar_cx] |
1413 | ja @f |
1417 | ja @f |
1414 | .exit: |
1418 | .exit: |
1415 | add esp, drbar.stack_data |
1419 | add esp, drbar.stack_data |
Line 1422... | Line 1426... | ||
1422 | jbe .end_x |
1426 | jbe .end_x |
1423 | mov ebx, [drbar.bar_sx] |
1427 | mov ebx, [drbar.bar_sx] |
1424 | .end_x: |
1428 | .end_x: |
1425 | mov [drbar.real_sx], ebx |
1429 | mov [drbar.real_sx], ebx |
1426 | ; real_sy = MIN(wnd_sy-bar_cy, bar_sy); |
1430 | ; real_sy = MIN(wnd_sy-bar_cy, bar_sy); |
1427 | mov ebx, [edi-twdw + WDATA.box.height] ; ebx = wnd_sy |
1431 | mov ebx, [edi + window_data + WDATA.box.height] ; ebx = wnd_sy |
1428 | inc ebx |
1432 | inc ebx |
1429 | sub ebx, [drbar.bar_cy] |
1433 | sub ebx, [drbar.bar_cy] |
1430 | ja @f |
1434 | ja @f |
1431 | add esp, drbar.stack_data |
1435 | add esp, drbar.stack_data |
1432 | popad |
1436 | popad |