Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5349 → Rev 5164

/kernel/trunk/video/blitter.inc
37,7 → 37,7
;esi= clip RECT ptr
;edi= RECT ptr
;return code:
;CF= 0 - draw, 1 - don't draw
;eax= 0 - draw, 1 - don't draw
 
push ebx
 
53,15 → 53,18
jl .fail
 
cmp eax, ecx ;left >= clip.left
jge @F
jae @F
 
mov [edi+RECT.left], ecx
mov eax, ecx
@@:
mov [edi+RECT.left], eax
 
cmp ebx, edx ;right <= clip.right
jle @f
mov ebx, edx
@@:
mov [edi+RECT.right], ebx
 
mov [edi+RECT.right], edx
@@:
mov eax, [edi+RECT.top]
mov ebx, [edi+RECT.bottom]
mov ecx, [esi+RECT.top] ;clip.top
74,21 → 77,23
jl .fail
 
cmp eax, ecx ;top >= clip.top
jge @F
jae @F
 
mov [edi+RECT.top], ecx
mov eax, ecx
@@:
mov [edi+RECT.top], eax
 
cmp ebx, edx ;bottom <= clip.bottom
jle @f
 
mov [edi+RECT.bottom], edx
mov ebx, edx
@@:
mov [edi+RECT.bottom], ebx
pop ebx
clc
xor eax, eax
ret
.fail:
pop ebx
stc
mov eax, 1
ret
 
 
95,9 → 100,6
align 4
blit_clip:
 
;return code:
;CF= 0 - draw, 1 - don't draw
 
.sx0 equ 8
.sy0 equ 12
.sx1 equ 16
128,7 → 130,9
lea esi, [ebx+BLITTER.sc]
 
call block_clip
jc .done
test eax, eax
mov esi, 1
jnz .done
 
mov edi, [esp+.sx0]
mov edx, [ebx+BLITTER.dst_x]
153,7 → 157,9
lea edi, [esp+.dx0]
lea esi, [ebx+BLITTER.dc]
call block_clip
jc .done
test eax, eax
mov esi, 1
jnz .done
 
mov edx, [esp+.dx0]
mov eax, [esp+.dx1]
176,8 → 182,9
mov [ebx+BLITTER.src_y], ecx
mov [ebx+BLITTER.dst_x], edx
mov [ebx+BLITTER.dst_y], eax
clc
xor esi, esi
.done:
mov eax, esi
add esp, 40
pop ebx
pop esi
254,7 → 261,8
 
mov ecx, esp
call blit_clip
jc .L57
test eax, eax
jne .L57
 
mov eax, [TASK_BASE]