705,7 → 705,6 |
drawwindow_I: |
|
pushad |
or [edx+WDATA.fl_wdrawn], 4 |
|
mov esi,[edx+WDATA.cl_frames] ; rectangle |
mov eax,[edx+WDATA.box.left] |
718,12 → 717,6 |
add ebx,[edx+WDATA.box.height] |
call draw_rectangle |
|
and [edx+WDATA.fl_wdrawn], not 4 |
test [edx+WDATA.fl_wdrawn], 2 |
jz @f |
call drawwindowframes2 |
@@: |
|
call drawwindow_I_caption |
|
mov edx,[esi+WDATA.box.top] ; inside work area |
853,13 → 846,7 |
shr esi,1 |
and esi,0x007f7f7f |
push esi |
or [edi+WDATA.fl_wdrawn], 4 |
call draw_rectangle |
and [edi+WDATA.fl_wdrawn], not 4 |
test [edi+WDATA.fl_wdrawn], 2 |
jz @f |
call drawwindowframes2 |
@@: |
mov ecx,3 |
dw3l: |
add eax,1*65536-1 |
1658,36 → 1645,30 |
|
|
; draw negative window frames |
drawwindowframes2: |
pushad |
cli |
jmp drawwindowframes.do |
uglobal |
moving_wnd dd ? |
moving_wnd_redrawed db ? |
endg |
|
drawwindowframes: |
pushad |
cli |
mov [moving_wnd], edi |
|
test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED |
jnz .ret |
mov eax, [npx] |
cmp eax, [edi+WDATA.box.left] |
jnz .nowndframe |
mov eax, [npxe] |
cmp eax, [edi+WDATA.box.width] |
jnz .nowndframe |
mov eax, [npy] |
cmp eax, [edi+WDATA.box.top] |
jnz .nowndframe |
mov eax, [npye] |
cmp eax, [edi+WDATA.box.height] |
jnz .nowndframe |
xor [edi+WDATA.fl_wdrawn], 2 |
test [edi+WDATA.fl_wdrawn], 4 |
jnz .ret |
cmp [edi+WDATA.fl_redraw], 0 |
jz @f |
xor [moving_wnd_redrawed], 1 |
jmp .ret |
@@: |
cmp [moving_wnd_redrawed], 0 |
jz @f |
mov [moving_wnd_redrawed], 0 |
.ret: |
ret |
@@: |
|
.nowndframe: |
.do: |
mov edi, 1 |
mov ecx, 0x01000000 |
pushad |
|
mov eax,[npx] |
shl eax,16 |
add eax,[npx] |
1696,7 → 1677,11 |
mov ebx,[npy] |
shl ebx,16 |
add ebx,[npy] |
mov ecx,0x01000000 |
push edi |
mov edi,1 |
call [draw_line] |
pop edi |
|
mov eax,[npx] |
shl eax,16 |
1708,7 → 1693,11 |
shl ebx,16 |
add ebx,[npy] |
add ebx,[npye] |
mov ecx,0x01000000 |
push edi |
mov edi,1 |
call [draw_line] |
pop edi |
|
mov eax,[npx] |
shl eax,16 |
1717,7 → 1706,11 |
shl ebx,16 |
add ebx,[npy] |
add ebx,[npye] |
mov ecx,0x01000000 |
push edi |
mov edi,1 |
call [draw_line] |
pop edi |
|
mov eax,[npx] |
add eax,[npxe] |
1728,10 → 1721,16 |
shl ebx,16 |
add ebx,[npy] |
add ebx,[npye] |
mov ecx,0x01000000 |
push edi |
mov edi,1 |
call [draw_line] |
mov edi,[0x3000] |
shl edi,5 |
add edi,window_data |
mov [edi+WDATA.fl_wdrawn],byte 1 |
pop edi |
|
.ret: |
sti |
popad |
ret |
|