forked from KolibriOS/kolibrios
buf2d: 1) small optimize 2) add examples
git-svn-id: svn://kolibrios.org@2185 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1080,11 +1080,19 @@ proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword
|
||||
jle @f
|
||||
xchg ebx,esi ;<3B> x0 > x1 <20><> <20><><EFBFBD>塞 <20><><EFBFBD>⠬<EFBFBD> x0 <20> x1
|
||||
@@:
|
||||
bt ebx,31
|
||||
jae @f
|
||||
;<3B> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭠<E2A5AB>
|
||||
xor ebx,ebx
|
||||
@@:
|
||||
cmp esi,buf2d_w
|
||||
jl @f
|
||||
;<3B> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov esi,buf2d_w
|
||||
;dec esi
|
||||
@@:
|
||||
cmp ebx,esi
|
||||
jge .end24 ;<3B> x0 >= x1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0, x1 <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
;<3B> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20><>砫<EFBFBD> 1-<2D> <20><>窨 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||
mov eax,buf2d_w ;size x
|
||||
@@ -1093,21 +1101,17 @@ proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword
|
||||
lea eax,[eax+eax*2] ;(size_x*y+x)*3
|
||||
add eax,buf2d_data ;ptr+(size_x*y+x)*3
|
||||
|
||||
mov ecx,esi
|
||||
sub ecx,ebx ;<3B> ecx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><>祪 <20><><EFBFBD><EFBFBD><EFBFBD> <20>뢮<EFBFBD><EBA2AE><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov edx,dword[color]
|
||||
mov ebx,edx ;<3B><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0 <20> ebx 㦥 <20><> <20>㦭<EFBFBD>
|
||||
ror edx,16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> 3-<2D> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> dl
|
||||
cld
|
||||
@@: ;横<> <20><> <20><><EFBFBD> x <20><> x0 <20><> x1
|
||||
cmp ebx,esi
|
||||
jge @f
|
||||
bt ebx,31
|
||||
jc .otr_x
|
||||
mov word[eax],dx ;copy pixel color
|
||||
ror edx,16
|
||||
mov byte[eax+2],dl
|
||||
ror edx,16
|
||||
.otr_x:
|
||||
add eax,3
|
||||
inc ebx
|
||||
jmp @b
|
||||
@@:
|
||||
mov word[eax],bx ;copy pixel color
|
||||
mov byte[eax+2],dl
|
||||
add eax,3
|
||||
loop @b
|
||||
.end24:
|
||||
popad
|
||||
ret
|
||||
|
Reference in New Issue
Block a user