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:
parent
56b95cf179
commit
60bd1cf7b6
@ -635,6 +635,22 @@
|
||||
δγ<CEB3>ζ¨ξ αΰ §γ ―®α«¥ ―®«γ票ο α®΅λβ¨ο:
|
||||
5 = § Ά¥ΰ訫 αμ ―¥ΰ¥ΰ¨α®Ά<C2AE> δ® ΰ ΅®η¥£® αβ®«
|
||||
|
||||
======================================================================
|
||||
====================== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 9 ======================
|
||||
=============== <20>¥à¥à¨á®¢ âì ¯àאַ㣮«ìãî ç áâì ä® . ===============
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = [left]*65536 + [right]
|
||||
* edx = [top]*65536 + [bottom]
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* (left,top) - ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫 ,
|
||||
(right,bottom) - ª®®à¤¨ âë ¯à ¢®£® ¨¦¥£®.
|
||||
* …᫨ ¯ à ¬¥âàë ãáâ ®¢«¥ë ¥ª®à४⮠- ä® ¥ ¯¥à¥à¨á®¢ë¢ ¥âáï.
|
||||
|
||||
======================================================================
|
||||
============= ”γ<CEB3>ζ¨ο 16 - α®εΰ ¨βμ ΰ ¬¤¨α<C2A8> ¤¨α<C2A8>¥βγ. =============
|
||||
======================================================================
|
||||
|
@ -629,6 +629,22 @@ Remarks:
|
||||
immediately after the event:
|
||||
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. ==============
|
||||
======================================================================
|
||||
|
@ -2425,10 +2425,9 @@ sys_background:
|
||||
cmp ebx, 1 ; BACKGROUND SIZE
|
||||
jnz nosb1
|
||||
test ecx, ecx
|
||||
; cmp ecx,0
|
||||
jz sbgrr
|
||||
|
||||
test edx, edx
|
||||
; cmp edx,0
|
||||
jz sbgrr
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@ -2698,6 +2697,49 @@ nosb7:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
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
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
|
Loading…
Reference in New Issue
Block a user