forked from KolibriOS/kolibrios
buf2d.obj:
1) new function 'buf2d_filled_rect_by_size' 2) fix function 'buf_bit_blt_alpha' git-svn-id: svn://kolibrios.org@1642 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1034,9 +1034,16 @@ pushad
|
||||
mov eax,[coord_x]
|
||||
mov ebx,[coord_y]
|
||||
mov ecx,[w]
|
||||
cmp ecx,1
|
||||
jl .coord_end
|
||||
add ecx,eax
|
||||
dec ecx
|
||||
mov edx,[h]
|
||||
cmp edx,1
|
||||
jl .coord_end
|
||||
|
||||
add edx,ebx
|
||||
dec edx
|
||||
mov esi,dword[color]
|
||||
stdcall buf_line_h, edi, eax, ebx, ecx, esi ;<3B><><EFBFBD><EFBFBD><EFBFBD> -
|
||||
stdcall buf_line_brs, edi, eax, ebx, eax, edx, esi ;<3B><><EFBFBD><EFBFBD><EFBFBD> |
|
||||
@@ -1047,6 +1054,28 @@ popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc buf_filled_rect_by_size, buf_struc:dword, coord_x:dword,coord_y:dword,w:dword,h:dword, color:dword
|
||||
pushad
|
||||
mov edi,[buf_struc]
|
||||
cmp buf2d_bits,24
|
||||
jne .coord_end
|
||||
mov eax,[coord_x]
|
||||
mov ebx,[coord_y]
|
||||
mov edx,[w]
|
||||
add edx,eax
|
||||
mov ecx,[h]
|
||||
mov esi,dword[color]
|
||||
cld
|
||||
@@:
|
||||
stdcall buf_line_h, edi, eax, ebx, edx, esi ;<3B><><EFBFBD><EFBFBD><EFBFBD> -
|
||||
inc ebx
|
||||
loop @b
|
||||
.coord_end:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc buf_circle, buf_struc:dword, coord_x:dword, coord_y:dword, r:dword, color:dword
|
||||
locals
|
||||
@@ -1692,6 +1721,9 @@ proc buf_bit_blt_alpha, buf_destination:dword, coord_x:dword, coord_y:dword, buf
|
||||
mov edi,[buf_destination]
|
||||
cmp buf2d_bits,24
|
||||
jne .error2 ;<3B><>ଠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ebx,[coord_x] ;<3B> ebx <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD> <20>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><EFBFBD>ન)
|
||||
cmp ebx,buf2d_w ;<3B><EFBFBD><E0AEA2>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><>ਭ<EFBFBD>
|
||||
jge .copy_end ;<3B> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>
|
||||
mov ebx,buf2d_h ;ebx - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov ecx,[coord_y]
|
||||
cmp ecx,ebx
|
||||
@@ -2084,6 +2116,7 @@ EXPORTS:
|
||||
dd sz_buf2d_delete, buf_delete
|
||||
dd sz_buf2d_line, buf_line_brs
|
||||
dd sz_buf2d_rect_by_size, buf_rect_by_size
|
||||
dd sz_buf2d_filled_rect_by_size, buf_filled_rect_by_size
|
||||
dd sz_buf2d_circle, buf_circle
|
||||
dd sz_buf2d_img_hdiv2, buf_img_hdiv2
|
||||
dd sz_buf2d_img_wdiv2, buf_img_wdiv2
|
||||
@@ -2105,7 +2138,8 @@ EXPORTS:
|
||||
sz_buf2d_draw db 'buf2d_draw',0
|
||||
sz_buf2d_delete db 'buf2d_delete',0
|
||||
sz_buf2d_line db 'buf2d_line',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠧ<><E0A0A7><EFBFBD><EFBFBD>
|
||||
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> ࠬ<><E0A0AC> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠧ<><E0A0A7><EFBFBD><EFBFBD>
|
||||
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮣<EFBFBD> <20><>אַ㣮<EFACAE>쭨<EFBFBD><ECADA8>, 2-<2D> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠧ<><E0A0A7><EFBFBD><EFBFBD>
|
||||
sz_buf2d_circle db 'buf2d_circle',0 ;<3B><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD>㦭<EFBFBD><E3A6AD><EFBFBD><EFBFBD>
|
||||
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 ;ᦠ⨥ <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 2 ࠧ<> (ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 ;ᦠ⨥ <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><>ਭ<EFBFBD> <20> 2 ࠧ<> (ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
Reference in New Issue
Block a user