Subversion Repositories Kolibri OS

Rev

Rev 3535 | Rev 3537 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3535 Rev 3536
Line 69... Line 69...
69
format binary as "mnt"
69
format binary as "mnt"
Line 70... Line 70...
70
 
70
 
71
include 'macros.inc'
71
include 'macros.inc'
Line 72... Line 72...
72
include 'struct.inc'
72
include 'struct.inc'
Line 73... Line 73...
73
 
73
 
Line 74... Line 74...
74
$Revision: 3535 $
74
$Revision: 3536 $
Line 2837... Line 2837...
2837
align 4
2837
align 4
2838
nosb7:
2838
nosb7:
2839
        cmp     ebx, 8
2839
        cmp     ebx, 8
2840
        jnz     nosb8
2840
        jnz     nosb8
Line 2841... Line 2841...
2841
 
2841
 
-
 
2842
        mov     ecx, [current_slot]
-
 
2843
        xor     eax, eax
2842
        mov     eax, [BG_Rect_X_left_right]
2844
        xchg    eax, [ecx+APPDATA.draw_bgr_x]
-
 
2845
        mov     [esp + 32], eax ; eax = [left]*65536 + [right]
2843
        mov     [esp + 32], eax ; eax = [left]*65536 + [right]
2846
        xor     eax, eax
2844
        mov     eax, [BG_Rect_Y_top_bottom]
2847
        xchg    eax, [ecx+APPDATA.draw_bgr_y]
2845
        mov     [esp + 20], eax ; ebx = [top]*65536 + [bottom]
2848
        mov     [esp + 20], eax ; ebx = [top]*65536 + [bottom]
2846
        ret
2849
        ret
2847
;------------------------------------------------------------------------------
2850
;------------------------------------------------------------------------------
2848
align 4
2851
align 4
Line 3491... Line 3494...
3491
 
3494
 
3492
        cmp     [background_defined], 0
3495
        cmp     [background_defined], 0
3493
        jz      nobackgr
3496
        jz      nobackgr
3494
;--------------------------------------
3497
;--------------------------------------
3495
align 4
3498
align 4
3496
@@:
-
 
3497
        push    eax
3499
backgr:
3498
        mov     eax, [draw_data+32 + RECT.left]
3500
        mov     eax, [draw_data+32 + RECT.left]
3499
        shl     eax, 16
3501
        shl     eax, 16
3500
        add     eax, [draw_data+32 + RECT.right]
3502
        add     eax, [draw_data+32 + RECT.right]
Line 3501... Line 3503...
3501
        mov     [BG_Rect_X_left_right], eax ; [left]*65536 + [right]
3503
        mov     [BG_Rect_X_left_right], eax ; [left]*65536 + [right]
3502
 
3504
 
3503
        mov     eax, [draw_data+32 + RECT.top]
3505
        mov     eax, [draw_data+32 + RECT.top]
3504
        shl     eax, 16
3506
        shl     eax, 16
3505
        add     eax, [draw_data+32 + RECT.bottom]
-
 
Line 3506... Line 3507...
3506
        mov     [BG_Rect_Y_top_bottom], eax ; [top]*65536 + [bottom]
3507
        add     eax, [draw_data+32 + RECT.bottom]
3507
        pop     eax
3508
        mov     [BG_Rect_Y_top_bottom], eax ; [top]*65536 + [bottom]
3508
 
3509
 
3509
        call    drawbackground
3510
        call    drawbackground
Line 3516... Line 3517...
3516
        mov     ecx, [TASK_COUNT]
3517
        mov     ecx, [TASK_COUNT]
3517
;--------------------------------------
3518
;--------------------------------------
3518
align 4
3519
align 4
3519
set_bgr_event:
3520
set_bgr_event:
3520
        add     edi, 256
3521
        add     edi, 256
-
 
3522
        mov     eax, [BG_Rect_X_left_right]
-
 
3523
        mov     edx, [BG_Rect_Y_top_bottom]
-
 
3524
        cmp     [edi+SLOT_BASE+APPDATA.draw_bgr_x], 0
-
 
3525
        jz      .set
-
 
3526
.join:
-
 
3527
        cmp     word [edi+SLOT_BASE+APPDATA.draw_bgr_x+2], ax
-
 
3528
        jbe     @f
-
 
3529
        mov     word [edi+SLOT_BASE+APPDATA.draw_bgr_x+2], ax
-
 
3530
@@:
-
 
3531
        shr     eax, 16
-
 
3532
        cmp     word [edi+SLOT_BASE+APPDATA.draw_bgr_x], ax
-
 
3533
        jae     @f
-
 
3534
        mov     word [edi+SLOT_BASE+APPDATA.draw_bgr_x], ax
-
 
3535
@@:
-
 
3536
        cmp     word [edi+SLOT_BASE+APPDATA.draw_bgr_y+2], dx
-
 
3537
        jbe     @f
-
 
3538
        mov     word [edi+SLOT_BASE+APPDATA.draw_bgr_y+2], dx
-
 
3539
@@:
-
 
3540
        shr     edx, 16
-
 
3541
        cmp     word [edi+SLOT_BASE+APPDATA.draw_bgr_y], dx
-
 
3542
        jae     @f
-
 
3543
        mov     word [edi+SLOT_BASE+APPDATA.draw_bgr_y], dx
-
 
3544
@@:
-
 
3545
        jmp     .common
-
 
3546
.set:
-
 
3547
        mov     [edi+SLOT_BASE+APPDATA.draw_bgr_x], eax
-
 
3548
        mov     [edi+SLOT_BASE+APPDATA.draw_bgr_y], edx
-
 
3549
.common:
3521
        or      [edi+SLOT_BASE+APPDATA.event_mask], 10000b  ; set event 5
3550
        or      [edi+SLOT_BASE+APPDATA.event_mask], 10000b  ; set event 5
3522
        loop    set_bgr_event
3551
        loop    set_bgr_event
3523
        pop     edi ecx
3552
        pop     edi ecx
3524
; call change_task - because the application must have time to call f.15.8
-
 
3525
        call    change_task
-
 
3526
;--------- set event 5 stop -----------
3553
;--------- set event 5 stop -----------
3527
        dec     byte[REDRAW_BACKGROUND]    ; got new update request?
3554
        dec     byte[REDRAW_BACKGROUND]    ; got new update request?
3528
        jnz     @b
3555
        jnz     backgr
Line -... Line 3556...
-
 
3556
 
3529
 
3557
        xor     eax, eax
3530
        mov     [draw_data+32 + RECT.left], eax
3558
        mov     [draw_data+32 + RECT.left], eax
3531
        mov     [draw_data+32 + RECT.top], eax
3559
        mov     [draw_data+32 + RECT.top], eax
3532
        mov     [draw_data+32 + RECT.right], eax
3560
        mov     [draw_data+32 + RECT.right], eax
3533
        mov     [draw_data+32 + RECT.bottom], eax
3561
        mov     [draw_data+32 + RECT.bottom], eax