Subversion Repositories Kolibri OS

Rev

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

Rev 2536 Rev 2537
Line 67... Line 67...
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
67
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 68... Line 68...
68
 
68
 
69
include 'macros.inc'
69
include 'macros.inc'
Line 70... Line 70...
70
include 'struct.inc'
70
include 'struct.inc'
Line 71... Line 71...
71
 
71
 
Line 72... Line 72...
72
$Revision: 2536 $
72
$Revision: 2537 $
Line 2687... Line 2687...
2687
;------------------------------------------------------------------------------
2687
;------------------------------------------------------------------------------
2688
align 4
2688
align 4
2689
nosb7:
2689
nosb7:
2690
        cmp     ebx, 8
2690
        cmp     ebx, 8
2691
        jnz     nosb8
2691
        jnz     nosb8
2692
        mov     eax, [draw_data+32 + RECT.left]
-
 
2693
        shl     eax, 16
-
 
-
 
2692
 
2694
        add     eax, [draw_data+32 + RECT.right]
2693
        mov     eax, [BG_Rect_X_left_right]
2695
        mov     [esp + 32], eax ; eax = [left]*65536 + [right]
2694
        mov     [esp + 32], eax ; eax = [left]*65536 + [right]
2696
        mov     eax, [draw_data+32 + RECT.top]
2695
        mov     eax, [BG_Rect_Y_top_bottom]
2697
        shl     eax, 16
-
 
2698
        add     eax, [draw_data+32 + RECT.bottom]
-
 
2699
        mov     [esp + 20], eax ; ebx = [top]*65536 + [bottom]
2696
        mov     [esp + 20], eax ; ebx = [top]*65536 + [bottom]
2700
        ret
2697
        ret
2701
;------------------------------------------------------------------------------
2698
;------------------------------------------------------------------------------
2702
align 4
2699
align 4
2703
nosb8:
2700
nosb8:
2704
        ret
2701
        ret
2705
;------------------------------------------------------------------------------
2702
;------------------------------------------------------------------------------
2706
align 4
2703
align 4
-
 
2704
uglobal
-
 
2705
  BG_Rect_X_left_right  dd   0x0
-
 
2706
  BG_Rect_Y_top_bottom  dd   0x0
-
 
2707
endg
-
 
2708
;------------------------------------------------------------------------------
-
 
2709
align 4
2707
force_redraw_background:
2710
force_redraw_background:
2708
        and     [draw_data+32 + RECT.left], 0
2711
        and     [draw_data+32 + RECT.left], 0
2709
        and     [draw_data+32 + RECT.top], 0
2712
        and     [draw_data+32 + RECT.top], 0
2710
        push    eax ebx
2713
        push    eax ebx
2711
        mov     eax, [Screen_Max_X]
2714
        mov     eax, [Screen_Max_X]
Line 3297... Line 3300...
3297
        cmp     [background_defined], 0
3300
        cmp     [background_defined], 0
3298
        jz      nobackgr
3301
        jz      nobackgr
3299
;--------------------------------------
3302
;--------------------------------------
3300
align 4
3303
align 4
3301
@@:
3304
@@:
-
 
3305
        push    eax
-
 
3306
        mov     eax, [draw_data+32 + RECT.left]
-
 
3307
        shl     eax, 16
-
 
3308
        add     eax, [draw_data+32 + RECT.right]
-
 
3309
        mov     [BG_Rect_X_left_right], eax ; [left]*65536 + [right]
-
 
3310
 
-
 
3311
        mov     eax, [draw_data+32 + RECT.top]
-
 
3312
        shl     eax, 16
-
 
3313
        add     eax, [draw_data+32 + RECT.bottom]
-
 
3314
        mov     [BG_Rect_Y_top_bottom], eax ; [top]*65536 + [bottom]
-
 
3315
        pop     eax
-
 
3316
 
3302
        call    drawbackground
3317
        call    drawbackground
3303
;--------- set event 5 start ----------
3318
;--------- set event 5 start ----------
3304
        push    ecx edi
3319
        push    ecx edi
3305
        xor     edi, edi
3320
        xor     edi, edi
3306
        mov     ecx, [TASK_COUNT]
3321
        mov     ecx, [TASK_COUNT]
Line 3309... Line 3324...
3309
set_bgr_event:
3324
set_bgr_event:
3310
        add     edi, 256
3325
        add     edi, 256
3311
        or      [edi+SLOT_BASE+APPDATA.event_mask], 10000b  ; set event 5
3326
        or      [edi+SLOT_BASE+APPDATA.event_mask], 10000b  ; set event 5
3312
        loop    set_bgr_event
3327
        loop    set_bgr_event
3313
        pop     edi ecx
3328
        pop     edi ecx
-
 
3329
; call change_task - because the application must have time to call f.15.8
-
 
3330
        call    change_task
3314
;--------- set event 5 stop -----------
3331
;--------- set event 5 stop -----------
3315
        xor     eax, eax
3332
        xor     eax, eax
3316
        xchg    al, [REDRAW_BACKGROUND]
3333
        xchg    al, [REDRAW_BACKGROUND]
3317
        test    al, al                             ; got new update request?
3334
        test    al, al                             ; got new update request?
3318
        jnz     @b
3335
        jnz     @b
Line 3319... Line -...
3319
 
-
 
3320
; call change_task - because the application must have time to call f.15.8
-
 
3321
        call    change_task
-
 
3322
 
3336
 
3323
        mov     [draw_data+32 + RECT.left], eax
3337
        mov     [draw_data+32 + RECT.left], eax
3324
        mov     [draw_data+32 + RECT.top], eax
3338
        mov     [draw_data+32 + RECT.top], eax
3325
        mov     [draw_data+32 + RECT.right], eax
3339
        mov     [draw_data+32 + RECT.right], eax
3326
        mov     [draw_data+32 + RECT.bottom], eax
3340
        mov     [draw_data+32 + RECT.bottom], eax