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:
@@ -219,7 +219,7 @@ iglobal
|
|||||||
dd undefined_syscall ; 33-reserved
|
dd undefined_syscall ; 33-reserved
|
||||||
dd undefined_syscall ; 34-reserved
|
dd undefined_syscall ; 34-reserved
|
||||||
dd syscall_getpixel ; 35-GetPixel
|
dd syscall_getpixel ; 35-GetPixel
|
||||||
dd undefined_syscall ; 36-reserved
|
dd syscall_getarea ; 36-GetArea
|
||||||
dd cross_order ; 37-GetMousePosition_ScreenRelative,.
|
dd cross_order ; 37-GetMousePosition_ScreenRelative,.
|
||||||
dd syscall_drawline ; 38-DrawLine
|
dd syscall_drawline ; 38-DrawLine
|
||||||
dd cross_order ; 39-GetBackgroundSize,ReadBgrData,.
|
dd cross_order ; 39-GetBackgroundSize,ReadBgrData,.
|
||||||
|
@@ -1728,6 +1728,22 @@ dd 638
|
|||||||
<20>㭪権) <20><>१ ᥫ<><E1A5AB><EFBFBD><EFBFBD><EFBFBD> gs. <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD>
|
<20>㭪権) <20><>१ ᥫ<><E1A5AB><EFBFBD><EFBFBD><EFBFBD> gs. <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 61.
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 61.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
=============== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 36 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>. ==============
|
||||||
|
======================================================================
|
||||||
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
* eax = 36 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
|
* ebx = 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
|
<20>㤠 <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD>饭<EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><>ଠ<EFBFBD><E0ACA0> BBGGRRBBGGRR...
|
||||||
|
* ecx = [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [ࠧ<><E0A0A7><EFBFBD> <20><> <20><><EFBFBD> y]
|
||||||
|
* edx = [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> x]*65536 + [<5B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> y]
|
||||||
|
<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>:
|
||||||
|
* <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD>孥<EFBFBD><E5ADA5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㣫<>
|
||||||
|
<20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD>.
|
||||||
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 3*xsize*ysize.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
==================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 37 - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>. ====================
|
==================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 37 - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>. ====================
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@@ -1706,6 +1706,22 @@ Remarks:
|
|||||||
to videomemory through the selector gs. To get parameters of
|
to videomemory through the selector gs. To get parameters of
|
||||||
the current videomode, use function 61.
|
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. ===================
|
=================== Function 37 - work with mouse. ===================
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@@ -5087,6 +5087,60 @@ syscall_getpixel: ; GetPixel
|
|||||||
mov [esp + 32], ecx
|
mov [esp + 32], ecx
|
||||||
ret
|
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
|
align 4
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user