forked from KolibriOS/kolibrios
Function 15.9 - Redraws a rectangular part of the background
git-svn-id: svn://kolibrios.org@2547 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -635,6 +635,22 @@
|
|||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> <20>ࠧ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>:
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> <20>ࠧ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> ᮡ<><E1AEA1><EFBFBD><EFBFBD>:
|
||||||
5 = <20><><EFBFBD><EFBFBD><EFBFBD>訫<EFBFBD><E8A8AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD>
|
5 = <20><><EFBFBD><EFBFBD><EFBFBD>訫<EFBFBD><E8A8AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> ࠡ<>祣<EFBFBD> <20>⮫<EFBFBD>
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
====================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 15, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 9 ======================
|
||||||
|
=============== <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>אַ㣮<EFACAE><E3A3AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 䮭<>. ===============
|
||||||
|
======================================================================
|
||||||
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
* eax = 15 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
|
* ebx = 9 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||||
|
* ecx = [left]*65536 + [right]
|
||||||
|
* edx = [top]*65536 + [bottom]
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
|
* (left,top) - <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>孥<EFBFBD><E5ADA5> 㣫<>,
|
||||||
|
(right,bottom) - <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
* <20> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>४⭮ - 䮭 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 16 - <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> ࠬ<><E0A0AC><EFBFBD><EFBFBD> <20><> <20><>᪥<EFBFBD><E1AAA5>. =============
|
============= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 16 - <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> ࠬ<><E0A0AC><EFBFBD><EFBFBD> <20><> <20><>᪥<EFBFBD><E1AAA5>. =============
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@@ -629,6 +629,22 @@ Remarks:
|
|||||||
immediately after the event:
|
immediately after the event:
|
||||||
5 = kernel finished redrawing of the desktop background
|
5 = kernel finished redrawing of the desktop background
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
===================== Function 15, subfunction 9 =====================
|
||||||
|
============= Redraws a rectangular part of the background ===========
|
||||||
|
======================================================================
|
||||||
|
Parameters:
|
||||||
|
* eax = 15 - function number
|
||||||
|
* ebx = 9 - subfunction number
|
||||||
|
* ecx = [left]*65536 + [right]
|
||||||
|
* edx = [top]*65536 + [bottom]
|
||||||
|
Returned value:
|
||||||
|
* function does not return value
|
||||||
|
Remarks:
|
||||||
|
* (left,top) are coordinates of the left upper corner,
|
||||||
|
(right,bottom) are coordinates of the right lower one.
|
||||||
|
* If parameters are set incorrectly then background is not redrawn.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=============== Function 16 - save ramdisk on a floppy. ==============
|
=============== Function 16 - save ramdisk on a floppy. ==============
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@@ -2425,10 +2425,9 @@ sys_background:
|
|||||||
cmp ebx, 1 ; BACKGROUND SIZE
|
cmp ebx, 1 ; BACKGROUND SIZE
|
||||||
jnz nosb1
|
jnz nosb1
|
||||||
test ecx, ecx
|
test ecx, ecx
|
||||||
; cmp ecx,0
|
|
||||||
jz sbgrr
|
jz sbgrr
|
||||||
|
|
||||||
test edx, edx
|
test edx, edx
|
||||||
; cmp edx,0
|
|
||||||
jz sbgrr
|
jz sbgrr
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@ -2698,6 +2697,49 @@ nosb7:
|
|||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
nosb8:
|
nosb8:
|
||||||
|
cmp ebx, 9
|
||||||
|
jnz nosb9
|
||||||
|
; ecx = [left]*65536 + [right]
|
||||||
|
; edx = [top]*65536 + [bottom]
|
||||||
|
mov eax, [Screen_Max_X]
|
||||||
|
mov ebx, [Screen_Max_Y]
|
||||||
|
; check [right]
|
||||||
|
cmp cx, ax
|
||||||
|
ja .exit
|
||||||
|
; check [left]
|
||||||
|
ror ecx, 16
|
||||||
|
cmp cx, ax
|
||||||
|
ja .exit
|
||||||
|
; check [bottom]
|
||||||
|
cmp dx, bx
|
||||||
|
ja .exit
|
||||||
|
; check [top]
|
||||||
|
ror edx, 16
|
||||||
|
cmp dx, bx
|
||||||
|
ja .exit
|
||||||
|
|
||||||
|
movzx eax, cx ; [left]
|
||||||
|
movzx ebx, dx ; [top]
|
||||||
|
|
||||||
|
shr ecx, 16 ; [right]
|
||||||
|
shr edx, 16 ; [bottom]
|
||||||
|
|
||||||
|
mov [background_defined], 1
|
||||||
|
|
||||||
|
mov [draw_data+32 + RECT.left], eax
|
||||||
|
mov [draw_data+32 + RECT.top], ebx
|
||||||
|
|
||||||
|
mov [draw_data+32 + RECT.right], ecx
|
||||||
|
mov [draw_data+32 + RECT.bottom], edx
|
||||||
|
|
||||||
|
inc byte[REDRAW_BACKGROUND]
|
||||||
|
;--------------------------------------
|
||||||
|
align 4
|
||||||
|
.exit:
|
||||||
|
ret
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
nosb9:
|
||||||
ret
|
ret
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
|
Reference in New Issue
Block a user