Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6789 → Rev 6790

/kernel/trunk/const.inc
362,6 → 362,8
SYSTEM_REBOOT equ 3
SYSTEM_RESTART equ 4
 
BLIT_CLIENT_RELATIVE equ 0x20000000
 
struct SYSCALL_STACK
_eip dd ?
_edi dd ? ; +4
/kernel/trunk/docs/sysfuncr.txt
4335,13 → 4335,14
* eax = 73 - номер функции
 
* ebx = ROP и опциональные флаги
31 6 5 4 3 0
[ reserved ][T][B][ROP]
31 30 29 28 6 5 4 3 0
[reserved][CR][reserved][T][B][ROP]
ROP - код растровых операций
0: копировать
1-15: Зарезервировано
B - блит на фоновую поферхность
T - блит с прозрачностью
CR - относительно клиентской области окна
 
* ecx = указатель на параметры функции
смещение цели и отсечение
/kernel/trunk/docs/sysfuncs.txt
4285,13 → 4285,14
* eax = 73 - function number
 
* ebx = ROP and optional flags
31 6 5 4 3 0
[ reserved ][T][B][ROP]
31 30 29 28 6 5 4 3 0
[reserved][CR][reserved][T][B][ROP]
ROP - raster operation code
0: Copy
1-15: reserved
B - blit into the background surface
T - transparent blit
CR - blit client relative
 
* ecx = pointer to the function parameters
destination offset and clipping
/kernel/trunk/video/blitter.inc
206,10 → 206,13
.position dd ? ; (x shl 16) + y
; ???
.extra_var1 dd ?
.flags dd ?
.local_vars_size = $
end virtual
sub esp, .local_vars_size
 
mov [esp+.flags], ebx
mov eax, [TASK_BASE]
mov ebx, [eax-twdw + WDATA.box.width]
mov edx, [eax-twdw + WDATA.box.height]
263,6 → 266,14
add ebx, [eax-twdw + WDATA.box.left]
add ebp, [eax-twdw + WDATA.box.top]
 
test [esp+.flags], BLIT_CLIENT_RELATIVE
jz .no_client_relative
 
mov eax, [current_slot]
add ebx, [eax + APPDATA.wnd_clientbox.left]
add ebp, [eax + APPDATA.wnd_clientbox.top]
.no_client_relative:
 
mov ecx, ebx
add ecx, [esp+BLITTER.w]
shl ecx, 16