forked from KolibriOS/kolibrios
Function 36 now is faster and use on/off cursor.
git-svn-id: svn://kolibrios.org@927 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3facc87a41
commit
d43e578cc8
@ -5093,6 +5093,20 @@ syscall_getarea:
|
||||
;ecx = [size x]*65536 + [size y]
|
||||
;edx = [start x]*65536 + [start y]
|
||||
pushad
|
||||
inc [mouse_pause]
|
||||
; Check of use of the hardware cursor.
|
||||
cmp [disable_mouse],__sys_disable_mouse
|
||||
jne @f
|
||||
; Since the test for the coordinates of the mouse should not be used,
|
||||
; then use the call [disable_mouse] is not possible!
|
||||
cmp dword [MOUSE_VISIBLE],dword 0
|
||||
jne @f
|
||||
pushf
|
||||
cli
|
||||
call draw_mouse_under
|
||||
popf
|
||||
mov [MOUSE_VISIBLE],dword 1
|
||||
@@:
|
||||
mov edi,ebx
|
||||
mov eax,edx
|
||||
shr eax,16
|
||||
@ -5105,38 +5119,48 @@ syscall_getarea:
|
||||
and edx,0xffff
|
||||
mov esi,ecx
|
||||
; ecx - size x, edx - size y
|
||||
.start_y:
|
||||
push ecx
|
||||
.start_x:
|
||||
push eax ebx ecx edx esi edi
|
||||
add eax,ecx
|
||||
|
||||
mov ebp,edx
|
||||
dec ebp
|
||||
lea ebp,[ebp*3]
|
||||
|
||||
imul ebp,esi
|
||||
|
||||
mov esi,ecx
|
||||
dec esi
|
||||
lea esi,[esi*3]
|
||||
|
||||
add ebp,esi
|
||||
add ebp,edi
|
||||
|
||||
add ebx,edx
|
||||
call dword [GETPIXEL] ; eax - x, ebx - y
|
||||
pop edi esi
|
||||
|
||||
mov eax,ecx
|
||||
pop edx ecx
|
||||
|
||||
.start_y:
|
||||
push ecx edx
|
||||
.start_x:
|
||||
push eax ebx ecx
|
||||
add eax,ecx
|
||||
|
||||
dec edx
|
||||
lea edx,[edx*3]
|
||||
imul edx,esi
|
||||
dec ecx
|
||||
lea ecx,[ecx*3]
|
||||
add edx,ecx
|
||||
add edx,edi
|
||||
mov [edx],ax
|
||||
shr eax,16
|
||||
mov [edx+2],al
|
||||
call dword [GETPIXEL] ; eax - x, ebx - y
|
||||
|
||||
pop edx ecx ebx eax
|
||||
mov [ebp],cx
|
||||
shr ecx,16
|
||||
mov [ebp+2],cl
|
||||
|
||||
pop ecx ebx eax
|
||||
sub ebp,3
|
||||
dec ecx
|
||||
jnz .start_x
|
||||
pop ecx
|
||||
pop edx ecx
|
||||
dec ebx
|
||||
dec edx
|
||||
jnz .start_y
|
||||
dec [mouse_pause]
|
||||
; Check of use of the hardware cursor.
|
||||
cmp [disable_mouse],__sys_disable_mouse
|
||||
jne @f
|
||||
call [draw_pointer]
|
||||
@@:
|
||||
popad
|
||||
ret
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user