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>:
|
||||
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>. =============
|
||||
======================================================================
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user