forked from KolibriOS/kolibrios
File subsystem: fixed error in function 70.5 for CD
Window subsystem: now when window coordinates are changed, client area is changed too git-svn-id: svn://kolibrios.org@150 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
94b3a5b74e
commit
18c3550908
@ -474,7 +474,6 @@ fs_CdGetFileInfo:
|
|||||||
mov edi, edx
|
mov edi, edx
|
||||||
call cd_get_parameters_of_file_1
|
call cd_get_parameters_of_file_1
|
||||||
and dword [edi+4], 0
|
and dword [edi+4], 0
|
||||||
pop ebp
|
|
||||||
pop ebp edi
|
pop ebp edi
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
|
@ -474,7 +474,6 @@ fs_CdGetFileInfo:
|
|||||||
mov edi, edx
|
mov edi, edx
|
||||||
call cd_get_parameters_of_file_1
|
call cd_get_parameters_of_file_1
|
||||||
and dword [edi+4], 0
|
and dword [edi+4], 0
|
||||||
pop ebp
|
|
||||||
pop ebp edi
|
pop ebp edi
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
|
@ -516,56 +516,56 @@ display_settings:
|
|||||||
|
|
||||||
repos_windows:
|
repos_windows:
|
||||||
mov ecx,[0x3004]
|
mov ecx,[0x3004]
|
||||||
mov esi,0x20*2
|
mov edi,0x20*2
|
||||||
mov byte[0x0000fff0],1
|
mov byte[0x0000fff0],1
|
||||||
dec ecx
|
dec ecx
|
||||||
jge @f
|
jge @f
|
||||||
ret
|
ret
|
||||||
@@: mov [esi+WDATA.fl_redraw],1
|
@@: mov [edi+WDATA.fl_redraw],1
|
||||||
test [esi+WDATA.fl_wstate],WSTATE_MAXIMIZED
|
test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED
|
||||||
jz .lp2
|
jz .lp2
|
||||||
mov eax,[screen_workarea.left]
|
mov eax,[screen_workarea.left]
|
||||||
mov [esi+WDATA.box.left],eax
|
mov [edi+WDATA.box.left],eax
|
||||||
sub eax,[screen_workarea.right]
|
sub eax,[screen_workarea.right]
|
||||||
neg eax
|
neg eax
|
||||||
mov [esi+WDATA.box.width],eax
|
mov [edi+WDATA.box.width],eax
|
||||||
mov eax,[screen_workarea.top]
|
mov eax,[screen_workarea.top]
|
||||||
mov [esi+WDATA.box.top],eax
|
mov [edi+WDATA.box.top],eax
|
||||||
test [esi+WDATA.fl_wstate],WSTATE_ROLLEDUP
|
test [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP
|
||||||
jnz .lp1
|
jnz .lp1
|
||||||
sub eax,[screen_workarea.bottom]
|
sub eax,[screen_workarea.bottom]
|
||||||
neg eax
|
neg eax
|
||||||
mov [esi+WDATA.box.height],eax
|
mov [edi+WDATA.box.height],eax
|
||||||
.lp1: add esi,0x20
|
.lp1:
|
||||||
|
call set_window_clientbox
|
||||||
|
add edi,0x20
|
||||||
loop @b
|
loop @b
|
||||||
ret
|
ret
|
||||||
.lp2: mov eax,[esi+WDATA.box.left]
|
.lp2: mov eax,[edi+WDATA.box.left]
|
||||||
add eax,[esi+WDATA.box.width]
|
add eax,[edi+WDATA.box.width]
|
||||||
mov ebx,[0x0000fe00]
|
mov ebx,[0x0000fe00]
|
||||||
; inc ebx
|
; inc ebx
|
||||||
cmp eax,ebx
|
cmp eax,ebx
|
||||||
jle .lp4
|
jle .lp4
|
||||||
mov eax,[esi+WDATA.box.width]
|
mov eax,[edi+WDATA.box.width]
|
||||||
sub eax,ebx
|
sub eax,ebx
|
||||||
jle .lp3
|
jle .lp3
|
||||||
mov [esi+WDATA.box.width],ebx
|
mov [edi+WDATA.box.width],ebx
|
||||||
.lp3: sub ebx,[esi+WDATA.box.width]
|
.lp3: sub ebx,[edi+WDATA.box.width]
|
||||||
mov [esi+WDATA.box.left],ebx
|
mov [esi+WDATA.box.left],ebx
|
||||||
.lp4: mov eax,[esi+WDATA.box.top]
|
.lp4: mov eax,[edi+WDATA.box.top]
|
||||||
add eax,[esi+WDATA.box.height]
|
add eax,[edi+WDATA.box.height]
|
||||||
mov ebx,[0x0000fe04]
|
mov ebx,[0x0000fe04]
|
||||||
; inc ebx
|
; inc ebx
|
||||||
cmp eax,ebx
|
cmp eax,ebx
|
||||||
jle .lp6
|
jle .lp6
|
||||||
mov eax,[esi+WDATA.box.height]
|
mov eax,[edi+WDATA.box.height]
|
||||||
sub eax,ebx
|
sub eax,ebx
|
||||||
jle .lp5
|
jle .lp5
|
||||||
mov [esi+WDATA.box.height],ebx
|
mov [edi+WDATA.box.height],ebx
|
||||||
.lp5: sub ebx,[esi+WDATA.box.height]
|
.lp5: sub ebx,[edi+WDATA.box.height]
|
||||||
mov [esi+WDATA.box.top],ebx
|
mov [edi+WDATA.box.top],ebx
|
||||||
.lp6: add esi,0x20
|
.lp6: jmp .lp1
|
||||||
loop @b
|
|
||||||
ret
|
|
||||||
|
|
||||||
uglobal
|
uglobal
|
||||||
common_colours:
|
common_colours:
|
||||||
@ -1463,6 +1463,7 @@ checkwindows:
|
|||||||
mov [edi + WDATA.box.width],eax
|
mov [edi + WDATA.box.width],eax
|
||||||
mov eax,[npye]
|
mov eax,[npye]
|
||||||
mov [edi + WDATA.box.height],eax
|
mov [edi + WDATA.box.height],eax
|
||||||
|
call set_window_clientbox
|
||||||
|
|
||||||
@@: mov [reposition],cl
|
@@: mov [reposition],cl
|
||||||
|
|
||||||
@ -1511,6 +1512,7 @@ checkwindows:
|
|||||||
mov eax,[screen_workarea.bottom]
|
mov eax,[screen_workarea.bottom]
|
||||||
sub eax,[screen_workarea.top]
|
sub eax,[screen_workarea.top]
|
||||||
@@: mov [edi+WDATA.box.height],eax
|
@@: mov [edi+WDATA.box.height],eax
|
||||||
|
call set_window_clientbox
|
||||||
|
|
||||||
no_window_shade:
|
no_window_shade:
|
||||||
|
|
||||||
@ -1535,7 +1537,7 @@ checkwindows:
|
|||||||
neg eax
|
neg eax
|
||||||
mov [edi+WDATA.box.height],eax
|
mov [edi+WDATA.box.height],eax
|
||||||
@@:
|
@@:
|
||||||
jmp no_fullscreen_restore
|
jmp restore_from_fullscreen.clientbox
|
||||||
restore_from_fullscreen:
|
restore_from_fullscreen:
|
||||||
and [edi+WDATA.fl_wstate],not WSTATE_MAXIMIZED
|
and [edi+WDATA.fl_wstate],not WSTATE_MAXIMIZED
|
||||||
push [edi+WDATA.box.height]
|
push [edi+WDATA.box.height]
|
||||||
@ -1550,6 +1552,8 @@ checkwindows:
|
|||||||
jz @f
|
jz @f
|
||||||
mov [edi+WDATA.box.height],eax
|
mov [edi+WDATA.box.height],eax
|
||||||
@@:
|
@@:
|
||||||
|
.clientbox:
|
||||||
|
call set_window_clientbox
|
||||||
|
|
||||||
no_fullscreen_restore:
|
no_fullscreen_restore:
|
||||||
|
|
||||||
@ -1567,6 +1571,7 @@ checkwindows:
|
|||||||
mov eax,[0xfe04]
|
mov eax,[0xfe04]
|
||||||
sub eax,[edi+WDATA.box.height]
|
sub eax,[edi+WDATA.box.height]
|
||||||
mov [edi+WDATA.box.top],eax
|
mov [edi+WDATA.box.top],eax
|
||||||
|
call set_window_clientbox
|
||||||
no_window_sizing:
|
no_window_sizing:
|
||||||
|
|
||||||
popad
|
popad
|
||||||
|
@ -3010,10 +3010,9 @@ sys_set_window:
|
|||||||
mov word[edi+WDATA.box.left],ax
|
mov word[edi+WDATA.box.left],ax
|
||||||
mov word[edi+WDATA.box.top],bx
|
mov word[edi+WDATA.box.top],bx
|
||||||
|
|
||||||
call set_window_clientbox
|
|
||||||
|
|
||||||
call check_window_position
|
call check_window_position
|
||||||
|
|
||||||
|
call set_window_clientbox
|
||||||
|
|
||||||
push ecx esi edi ; save for window fullscreen/resize
|
push ecx esi edi ; save for window fullscreen/resize
|
||||||
;mov esi,edi
|
;mov esi,edi
|
||||||
@ -3134,6 +3133,7 @@ sys_window_move:
|
|||||||
.no_y_resizing:
|
.no_y_resizing:
|
||||||
|
|
||||||
call check_window_position
|
call check_window_position
|
||||||
|
call set_window_clientbox
|
||||||
|
|
||||||
pushad ; save for window fullscreen/resize
|
pushad ; save for window fullscreen/resize
|
||||||
mov esi,edi
|
mov esi,edi
|
||||||
|
Loading…
Reference in New Issue
Block a user