Rev 9926 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9926 | Rev 9941 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2011-2022. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2011-2022. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 9926 $ |
8 | $Revision: 9941 $ |
9 | 9 | ||
10 | 10 | ||
Line 211... | Line 211... | ||
211 | end virtual |
211 | end virtual |
212 | sub esp, .local_vars_size |
212 | sub esp, .local_vars_size |
Line 213... | Line 213... | ||
213 | 213 | ||
Line 214... | Line 214... | ||
214 | mov [esp + .flags], ebx |
214 | mov [esp + .flags], ebx |
215 | 215 | ||
216 | mov eax, [current_slot_idx] |
216 | mov eax, [current_slot] |
217 | shl eax, BSF sizeof.WDATA |
217 | mov eax, [eax + APPDATA.window] |
218 | mov ebx, [window_data + eax + WDATA.box.width] |
218 | mov ebx, [eax + WDATA.box.width] |
219 | mov edx, [window_data + eax + WDATA.box.height] |
219 | mov edx, [eax + WDATA.box.height] |
Line 220... | Line 220... | ||
220 | inc ebx |
220 | inc ebx |
Line 258... | Line 258... | ||
258 | 258 | ||
259 | mov ecx, esp |
259 | mov ecx, esp |
260 | call blit_clip |
260 | call blit_clip |
Line 261... | Line 261... | ||
261 | jc .L57 |
261 | jc .L57 |
262 | 262 | ||
Line 263... | Line 263... | ||
263 | mov eax, [current_slot_idx] |
263 | mov eax, [current_slot] |
264 | shl eax, BSF sizeof.WDATA |
264 | mov eax, [eax + APPDATA.window] |
265 | 265 | ||
266 | mov ebx, [esp + BLITTER.dst_x] |
266 | mov ebx, [esp + BLITTER.dst_x] |
Line 267... | Line 267... | ||
267 | mov ebp, [esp + BLITTER.dst_y] |
267 | mov ebp, [esp + BLITTER.dst_y] |
268 | add ebx, [window_data + eax + WDATA.box.left] |
268 | add ebx, [eax + WDATA.box.left] |
Line 269... | Line 269... | ||
269 | add ebp, [window_data + eax + WDATA.box.top] |
269 | add ebp, [eax + WDATA.box.top] |
270 | 270 | ||
271 | test [esp + .flags], BLIT_CLIENT_RELATIVE |
271 | test [esp + .flags], BLIT_CLIENT_RELATIVE |
Line 272... | Line 272... | ||
272 | jz .no_client_relative |
272 | jz .no_client_relative |
273 | 273 | ||
274 | add ebx, [window_data + eax + WDATA.clientbox.left] |
274 | add ebx, [eax + WDATA.clientbox.left] |
Line 318... | Line 318... | ||
318 | lea edi, [edi + ebx*4] |
318 | lea edi, [edi + ebx*4] |
Line 319... | Line 319... | ||
319 | 319 | ||
320 | mov ebx, [current_slot_idx] |
320 | mov ebx, [current_slot_idx] |
321 | ; check for hardware cursor |
321 | ; check for hardware cursor |
322 | cmp [_display.select_cursor], select_cursor |
- | |
323 | je .core_32.software_cursor |
- | |
324 | cmp [_display.select_cursor], 0 |
322 | cmp [_display.select_cursor], select_cursor |
325 | jne .core_32.hardware_cursor |
323 | jne .core_32.hardware_cursor |
326 | ;-------------------------------------- |
324 | ;-------------------------------------- |
327 | .core_32.software_cursor: |
325 | .core_32.software_cursor: |
328 | align 4 |
326 | align 4 |
Line 428... | Line 426... | ||
428 | 426 | ||
Line 429... | Line 427... | ||
429 | lea edi, [edi + ecx*2] |
427 | lea edi, [edi + ecx*2] |
430 | 428 | ||
431 | ; check for hardware cursor |
- | |
432 | cmp [_display.select_cursor], select_cursor |
- | |
433 | je @f |
429 | ; check for hardware cursor |
434 | cmp [_display.select_cursor], 0 |
430 | cmp [_display.select_cursor], select_cursor |
435 | jne .no_mouseunder_1 |
431 | jne .no_mouseunder_1 |
436 | ;-------------------------------------- |
- | |
437 | align 4 |
432 | ;-------------------------------------- |
Line 438... | Line 433... | ||
438 | @@: |
433 | align 4 |
439 | push ecx |
434 | push ecx |
440 | 435 | ||
Line 489... | Line 484... | ||
489 | push eax |
484 | push eax |
490 | mov eax, [esi + ecx*4] |
485 | mov eax, [esi + ecx*4] |
Line 491... | Line 486... | ||
491 | 486 | ||
492 | ; check for hardware cursor |
487 | ; check for hardware cursor |
493 | cmp [_display.select_cursor], select_cursor |
- | |
494 | je @f |
- | |
495 | cmp [_display.select_cursor], 0 |
488 | cmp [_display.select_cursor], select_cursor |
496 | jne .no_mouseunder_2 |
489 | jne .no_mouseunder_2 |
497 | ;-------------------------------------- |
- | |
498 | @@: |
490 | ;-------------------------------------- |
Line 499... | Line 491... | ||
499 | push ecx |
491 | push ecx |
500 | 492 | ||
501 | mov ecx, [esp+4] |
493 | mov ecx, [esp+4] |