forked from KolibriOS/kolibrios
buf2d.obj - small update
asm.inc - add new keywords git-svn-id: svn://kolibrios.org@3040 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1986,6 +1986,54 @@ proc buf_get_pixel uses ebx ecx edi, buf_struc:dword, coord_x:dword, coord_y:dwo
|
||||
ret
|
||||
endp
|
||||
|
||||
;<3B><>ࠧ<EFBFBD><E0A0A7><EFBFBD> <20><> <20><><EFBFBD>⨪<EFBFBD><E2A8AA><EFBFBD> (<28><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠬<EFBFBD>)
|
||||
align 4
|
||||
proc buf_flip_v, buf_struc:dword
|
||||
locals
|
||||
line_pix dd ? ;<3B><><EFBFBD>. <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
line_2byte dd ? ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * 2
|
||||
endl
|
||||
pushad
|
||||
mov edi,[buf_struc]
|
||||
cmp buf2d_bits,24
|
||||
jne .end_24
|
||||
mov edx,buf2d_w
|
||||
mov [line_pix],edx
|
||||
mov ebx,buf2d_h
|
||||
lea edx,[edx+edx*2]
|
||||
mov esi,edx
|
||||
imul esi,ebx
|
||||
sub esi,edx
|
||||
add esi,buf2d_data ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
shr ebx,1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 横<><E6A8AA><EFBFBD>
|
||||
shl edx,1
|
||||
mov [line_2byte],edx
|
||||
mov edi,buf2d_data
|
||||
xchg edi,esi
|
||||
cld
|
||||
.flip_24:
|
||||
cmp ebx,0
|
||||
jle .end_24
|
||||
mov ecx,[line_pix]
|
||||
@@:
|
||||
lodsw
|
||||
mov dx,word[edi]
|
||||
mov word[esi-2],dx
|
||||
mov [edi],ax
|
||||
lodsb
|
||||
mov ah,byte[edi+2]
|
||||
mov byte[esi-1],ah
|
||||
mov [edi+2],al
|
||||
add edi,3
|
||||
loop @b
|
||||
sub edi,[line_2byte]
|
||||
dec ebx
|
||||
jmp .flip_24
|
||||
.end_24:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc buf_img_wdiv2, buf_struc:dword
|
||||
pushad
|
||||
@@ -2134,6 +2182,8 @@ proc img_rgba32_wdiv2 data_rgba:dword, size:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
;description:
|
||||
; ᦠ⨥ <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
align 4
|
||||
proc buf_img_hdiv2, buf_struc:dword
|
||||
pushad
|
||||
@@ -2144,6 +2194,7 @@ proc buf_img_hdiv2, buf_struc:dword
|
||||
mov ecx,buf2d_h
|
||||
imul ecx,eax
|
||||
stdcall img_8b_hdiv2, buf2d_data,ecx,eax
|
||||
jmp .end_f ;edi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㭪樨, <20><>⮬<EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> buf2d_bits <20><><EFBFBD>᭮
|
||||
@@:
|
||||
cmp buf2d_bits,24
|
||||
jne @f
|
||||
@@ -2151,6 +2202,7 @@ proc buf_img_hdiv2, buf_struc:dword
|
||||
mov ecx,buf2d_h
|
||||
imul ecx,eax
|
||||
stdcall img_rgb24_hdiv2, buf2d_data,ecx,eax
|
||||
jmp .end_f
|
||||
@@:
|
||||
cmp buf2d_bits,32
|
||||
jne @f
|
||||
@@ -2159,7 +2211,9 @@ proc buf_img_hdiv2, buf_struc:dword
|
||||
imul ecx,eax
|
||||
shl eax,2
|
||||
stdcall img_rgba32_hdiv2, buf2d_data,ecx,eax
|
||||
;jmp .end_f
|
||||
@@:
|
||||
.end_f:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
@@ -4761,6 +4815,7 @@ EXPORTS:
|
||||
dd sz_buf2d_flood_fill, buf_flood_fill
|
||||
dd sz_buf2d_set_pixel, buf_set_pixel
|
||||
dd sz_buf2d_get_pixel, buf_get_pixel
|
||||
dd sz_buf2d_flip_v, buf_flip_v
|
||||
dd sz_buf2d_vox_brush_create, vox_brush_create
|
||||
dd sz_buf2d_vox_brush_delete, vox_brush_delete
|
||||
dd sz_buf2d_vox_obj_get_img_w_3g, buf_vox_obj_get_img_w_3g
|
||||
@@ -4800,6 +4855,7 @@ EXPORTS:
|
||||
sz_buf2d_flood_fill db 'buf2d_flood_fill',0
|
||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
||||
sz_buf2d_get_pixel db 'buf2d_get_pixel',0
|
||||
sz_buf2d_flip_v db 'buf2d_flip_v',0
|
||||
sz_buf2d_vox_brush_create db 'buf2d_vox_brush_create',0
|
||||
sz_buf2d_vox_brush_delete db 'buf2d_vox_brush_delete',0
|
||||
sz_buf2d_vox_obj_get_img_w_3g db 'buf2d_vox_obj_get_img_w_3g',0
|
||||
|
Reference in New Issue
Block a user