forked from KolibriOS/kolibrios
Function 36. See sysfuncr.txt and sysfuncs.txt
git-svn-id: svn://kolibrios.org@921 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
09b06cee2f
commit
bbf8c5f14d
@ -219,7 +219,7 @@ iglobal
|
||||
dd undefined_syscall ; 33-reserved
|
||||
dd undefined_syscall ; 34-reserved
|
||||
dd syscall_getpixel ; 35-GetPixel
|
||||
dd undefined_syscall ; 36-reserved
|
||||
dd syscall_getarea ; 36-GetArea
|
||||
dd cross_order ; 37-GetMousePosition_ScreenRelative,.
|
||||
dd syscall_drawline ; 38-DrawLine
|
||||
dd cross_order ; 39-GetBackgroundSize,ReadBgrData,.
|
||||
|
@ -1728,6 +1728,22 @@ dd 638
|
||||
äãªæ¨©) ç¥à¥§ ᥫ¥ªâ®à gs. <20> à ¬¥âàë ⥪ã饣® ¢¨¤¥®à¥¦¨¬
|
||||
¬®¦® ¯®«ãç¨âì äãªæ¨¥© 61.
|
||||
|
||||
======================================================================
|
||||
=============== ”ãªæ¨ï 36 - ¯à®ç¨â âì ®¡« áâì íªà . ==============
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 36 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 㪠§ â¥«ì ¯à¥¤¢ à¨â¥«ì® ¢ë¤¥«¥ãî ®¡« áâì ¯ ¬ïâ¨,
|
||||
ªã¤ ¡ã¤¥â ¯®¬¥é¥® ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR...
|
||||
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||||
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* Š®®à¤¨ âë ¨§®¡à ¦¥¨ï - íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫
|
||||
¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ®ª .
|
||||
* <20> §¬¥à ¨§®¡à ¦¥¨ï ¢ ¡ ©â å ¥áâì 3*xsize*ysize.
|
||||
|
||||
======================================================================
|
||||
==================== ”ãªæ¨ï 37 - à ¡®â á ¬ëèìî. ====================
|
||||
======================================================================
|
||||
|
@ -1706,6 +1706,22 @@ Remarks:
|
||||
to videomemory through the selector gs. To get parameters of
|
||||
the current videomode, use function 61.
|
||||
|
||||
======================================================================
|
||||
=============== Function 36 - read screen area. ===============
|
||||
======================================================================
|
||||
Paramters:
|
||||
* eax = 36 - function number
|
||||
* ebx = pointer on the previously allocated area of memory,
|
||||
where will be placed the image in the format BBGGRRBBGGRR...
|
||||
* ecx = [size on axis x]*65536 + [size on axis y]
|
||||
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
|
||||
Returned value:
|
||||
* function does not return value
|
||||
Remarks:
|
||||
* Coordinates of the image are coordinates of the upper left corner
|
||||
of the image relative to the window.
|
||||
* Size of the image in bytes is 3*xsize*ysize.
|
||||
|
||||
======================================================================
|
||||
=================== Function 37 - work with mouse. ===================
|
||||
======================================================================
|
||||
|
@ -5087,6 +5087,60 @@ syscall_getpixel: ; GetPixel
|
||||
mov [esp + 32], ecx
|
||||
ret
|
||||
|
||||
align 4
|
||||
|
||||
syscall_getarea:
|
||||
;eax = 36
|
||||
;ebx = pointer to bufer for img BBGGRRBBGGRR...
|
||||
;ecx = [size x]*65536 + [size y]
|
||||
;edx = [start x]*65536 + [start y]
|
||||
pushad
|
||||
mov edi,ebx
|
||||
mov eax,edx
|
||||
shr eax,16
|
||||
mov ebx,edx
|
||||
and ebx,0xffff
|
||||
; eax - x, ebx - y
|
||||
mov edx,ecx
|
||||
|
||||
shr ecx,16
|
||||
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
|
||||
add ebx,edx
|
||||
call dword [GETPIXEL] ; eax - x, ebx - y
|
||||
pop edi esi
|
||||
|
||||
mov eax,ecx
|
||||
pop edx ecx
|
||||
|
||||
push ecx edx
|
||||
|
||||
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
|
||||
|
||||
pop edx ecx ebx eax
|
||||
|
||||
dec ecx
|
||||
jnz .start_x
|
||||
pop ecx
|
||||
dec edx
|
||||
jnz .start_y
|
||||
popad
|
||||
ret
|
||||
|
||||
align 4
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user