Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 920 → Rev 921

/kernel/trunk/core/syscall.inc
219,7 → 219,7
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,.
/kernel/trunk/docs/sysfuncr.txt
1729,6 → 1729,22
¬®¦­® ¯®«ãç¨âì ä㭪樥© 61.
 
======================================================================
=============== ”ã­ªæ¨ï 36 - ¯à®ç¨â âì ®¡« áâì íªà ­ . ==============
======================================================================
 à ¬¥âàë:
* eax = 36 - ­®¬¥à ä㭪樨
* ebx = 㪠§ â¥«ì ­  ¯à¥¤¢ à¨â¥«ì­® ¢ë¤¥«¥­­ãî ®¡« áâì ¯ ¬ïâ¨,
ªã¤  ¡ã¤¥â ¯®¬¥é¥­® ¨§®¡à ¦¥­¨¥ ¢ ä®à¬ â¥ BBGGRRBBGGRR...
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
* edx = [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
* Š®®à¤¨­ âë ¨§®¡à ¦¥­¨ï - íâ® ª®®à¤¨­ âë ¢¥àå­¥£® «¥¢®£® 㣫 
¨§®¡à ¦¥­¨ï ®â­®á¨â¥«ì­® ®ª­ .
*  §¬¥à ¨§®¡à ¦¥­¨ï ¢ ¡ ©â å ¥áâì 3*xsize*ysize.
 
======================================================================
==================== ”ã­ªæ¨ï 37 - à ¡®â  á ¬ëèìî. ====================
======================================================================
 
/kernel/trunk/docs/sysfuncs.txt
1707,6 → 1707,22
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. ===================
======================================================================
 
/kernel/trunk/kernel.asm
5087,7 → 5087,61
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
 
syscall_drawline: ; DrawLine