Subversion Repositories Kolibri OS

Rev

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

Rev 9948 Rev 9949
Line 27... Line 27...
27
format binary as "mnt"
27
format binary as "mnt"
Line 28... Line 28...
28
 
28
 
29
include 'macros.inc'
29
include 'macros.inc'
Line 30... Line 30...
30
include 'struct.inc'
30
include 'struct.inc'
Line 31... Line 31...
31
 
31
 
32
$Revision: 9948 $
32
$Revision: 9949 $
Line 2129... Line 2129...
2129
        cmp     edx, 1
2129
        cmp     edx, 1
2130
        je      .fail
2130
        je      .fail
Line 2131... Line 2131...
2131
 
2131
 
2132
        mov     eax, edx
2132
        mov     eax, edx
-
 
2133
        shl     edx, BSF sizeof.WDATA
Line 2133... Line 2134...
2133
        shl     edx, BSF sizeof.WDATA
2134
        add     edx, window_data
2134
 
2135
 
Line 2135... Line 2136...
2135
        test    [window_data + edx + WDATA.fl_wstate], WSTATE_USED
2136
        test    [edx + WDATA.fl_wstate], WSTATE_USED
2136
        jz      .fail
2137
        jz      .fail
Line 2137... Line 2138...
2137
 
2138
 
2138
        cmp     ecx, 1
2139
        cmp     ecx, 1
Line 2139... Line 2140...
2139
        jnz     .set_zmod
2140
        jnz     .set_zmod
2140
 
2141
 
2141
        mov     al, [window_data + edx + WDATA.z_modif]
2142
        movzx   eax, [edx + WDATA.z_modif]
Line 2149... Line 2150...
2149
        mov     esi, eax
2150
        mov     esi, eax
Line 2150... Line 2151...
2150
 
2151
 
2151
        cmp     bl, ZPOS_ALWAYS_TOP
2152
        cmp     bl, ZPOS_ALWAYS_TOP
Line 2152... Line 2153...
2152
        jg      .fail
2153
        jg      .fail
Line 2153... Line 2154...
2153
 
2154
 
2154
        mov     [window_data + edx + WDATA.z_modif], bl
2155
        mov     [edx + WDATA.z_modif], bl
2155
 
2156
 
2156
        mov     eax, [window_data + edx + WDATA.box.left]
2157
        mov     eax, [edx + WDATA.box.left]
2157
        mov     ebx, [window_data + edx + WDATA.box.top]
2158
        mov     ebx, [edx + WDATA.box.top]
2158
        mov     ecx, [window_data + edx + WDATA.box.width]
2159
        mov     ecx, [edx + WDATA.box.width]
2159
        mov     edx, [window_data + edx + WDATA.box.height]
2160
        mov     edx, [edx + WDATA.box.height]
2160
        add     ecx, eax
2161
        add     ecx, eax
2161
        add     edx, ebx
2162
        add     edx, ebx
Line 3539... Line 3540...
3539
        ret
3540
        ret
3540
;--------------------------------------
3541
;--------------------------------------
3541
align 4
3542
align 4
3542
@@:
3543
@@:
3543
        mov     edi, [current_slot]
3544
        mov     edi, [current_slot]
3544
        mov     edi, APPDATA.window
3545
        mov     edi, [edi + APPDATA.window]
3545
        add     dx, word[edi + WDATA.clientbox.top]
3546
        add     dx, word[edi + WDATA.clientbox.top]
3546
        rol     edx, 16
3547
        rol     edx, 16
3547
        add     dx, word[edi + WDATA.clientbox.left]
3548
        add     dx, word[edi + WDATA.clientbox.left]
3548
        rol     edx, 16
3549
        rol     edx, 16
3549
;--------------------------------------
3550
;--------------------------------------
Line 3577... Line 3578...
3577
;        shr     eax, 3
3578
;        shr     eax, 3
3578
        stdcall is_region_userspace, ebx, eax
3579
        stdcall is_region_userspace, ebx, eax
3579
        pop     esi ecx
3580
        pop     esi ecx
3580
        jnz     sys_putimage.exit
3581
        jnz     sys_putimage.exit
Line 3581... Line 3582...
3581
 
3582
 
3582
        mov     eax, [current_slot_idx]
3583
        mov     eax, [current_slot]
3583
        shl     eax, BSF sizeof.WDATA
3584
        mov     eax, [eax + APPDATA.window]
3584
        add     dx, word [window_data + eax + WDATA.clientbox.top]
3585
        add     dx, word [eax + WDATA.clientbox.top]
3585
        rol     edx, 16
3586
        rol     edx, 16
3586
        add     dx, word [window_data + eax + WDATA.clientbox.left]
3587
        add     dx, word [eax + WDATA.clientbox.left]
3587
        rol     edx, 16
3588
        rol     edx, 16
3588
;--------------------------------------
3589
;--------------------------------------
3589
align 4
3590
align 4
3590
.forced:
3591
.forced:
Line 3890... Line 3891...
3890
; ebx y beginning
3891
; ebx y beginning
3891
; ecx x end
3892
; ecx x end
3892
        ; edx y end
3893
        ; edx y end
3893
; edi color
3894
; edi color
3894
;__sys_drawbar:
3895
;__sys_drawbar:
3895
;        mov     esi, [current_slot_idx]
3896
;        mov     esi, [current_slot]
3896
;        shl     esi, BSF sizeof.WDATA
3897
;        mov     esi, [esi + APPDATA.window]
3897
;        add     eax, [window_data+esi+WDATA.clientbox.left]
3898
;        add     eax, [esi + WDATA.clientbox.left]
3898
;        add     ecx, [window_data+esi+WDATA.clientbox.left]
3899
;        add     ecx, [esi + WDATA.clientbox.left]
3899
;        add     ebx, [window_data+esi+WDATA.clientbox.top]
3900
;        add     ebx, [esi + WDATA.clientbox.top]
3900
;        add     edx, [window_data+esi+WDATA.clientbox.top]
3901
;        add     edx, [esi + WDATA.clientbox.top]
3901
;--------------------------------------
3902
;--------------------------------------
3902
;align 4
3903
;align 4
3903
;.forced:
3904
;.forced:
3904
;        call    vesa20_drawbar
3905
;        call    vesa20_drawbar
3905
;        call    [draw_pointer]
3906
;        call    [draw_pointer]