mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-11-28 19:53:12 +03:00
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>ζ¨ξ αΰ §γ ―®α«¥ ―®«γ票ο α®΅λβ¨ο:
|
δγ<CEB3>ζ¨ξ αΰ §γ ―®α«¥ ―®«γ票ο α®΅λβ¨ο:
|
||||||
5 = § Ά¥ΰ訫 αμ ―¥ΰ¥ΰ¨α®Ά<C2AE> δ® ΰ ΅®η¥£® αβ®«
|
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>¥βγ. =============
|
============= ”γ<CEB3>ζ¨ο 16 - α®εΰ ¨βμ ΰ ¬¤¨α<C2A8> ¤¨α<C2A8>¥βγ. =============
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user