Reduce flickering while moving windows
This commit is contained in:
parent
1ef3695608
commit
f4df788d11
1 changed files with 15 additions and 7 deletions
22
shell.asm
22
shell.asm
|
@ -297,16 +297,24 @@ resize:
|
||||||
; si = pointer to window structure
|
; si = pointer to window structure
|
||||||
move:
|
move:
|
||||||
push dx
|
push dx
|
||||||
mov [si + window.y], bx
|
|
||||||
|
|
||||||
mov [si + window.x], cx
|
mov dx, cx
|
||||||
mov dx, [si + window.res_x]
|
sub dx, [si + window.res_x]
|
||||||
sub [si + window.x], dx
|
|
||||||
|
|
||||||
.not_underflow:
|
cmp [si + window.y], bx
|
||||||
|
jne .change
|
||||||
|
cmp [si + window.x], dx
|
||||||
|
jne .change
|
||||||
|
jmp .end
|
||||||
|
|
||||||
|
.change
|
||||||
|
mov [si + window.y], bx
|
||||||
|
mov [si + window.x], dx
|
||||||
|
|
||||||
|
call request_redraw
|
||||||
|
|
||||||
|
.end:
|
||||||
pop dx
|
pop dx
|
||||||
|
|
||||||
call request_redraw
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; in:
|
; in:
|
||||||
|
|
Loading…
Reference in a new issue