Subversion Repositories Kolibri OS

Rev

Rev 9926 | 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]