Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3040 → Rev 3039

/programs/develop/libraries/buf2d/trunk/about.htm
62,8 → 62,6
<li><a href="#f_b_hdiv2">buf2d_img_hdiv2</a></li>
<li><a href="#f_b_wdiv2">buf2d_img_wdiv2</a></li>
<li><a href="#f_c_color">buf2d_crop_color</a></li>
<li><a href="#f_flip_v">buf2d_flip_v</a></li>
 
<li><a href="#f_v_brush_c">buf2d_vox_brush_create</a></li>
</ul>
</li>
80,7 → 78,7
Åñòü ôóíêöèè ðèñîâàíèÿ ëèíèé, êðèâûõ Áåçüå, ïðÿìîóãîëüíèêîâ, îêðóæíîñòåé.
Òàêæå åñòü ôóíêöèè äëÿ ðèñîâàíèé âîêñåëüíîé ãðàôèêè.</p>
 
<p>Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 15.11.12.</p>
<p>Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 01.10.12.</p>
 
<h1><a name="format_buf">Ôîðìàòû áóôåðîâ</a></h1>
<p>Ïîääåðæèâàåòñÿ 3 ôîðìàòà áóôåðîâ.
242,7 → 240,7
<p>0xff0000 - çàâèñèò îò çíà÷åíèÿ 4-ãî ïàðàìåòðà, 1) åñëè 0 - öâåò äî êîòîðîãî áóäåò çàëèâàòüñÿ îáëàñòü; 2) åñëè 1 - öâåò îáëàñòè êîòîðàÿ áóäåò çàëèâàòñÿ;</p>
 
<h4>buf2d_set_pixel</h4>
<p>Ôóíêöèÿ ñòàâèò òî÷êó, ïðèíèìàåò êîîðäèíàòû è öâåò. Ïðèìåð:</p>
<p>Ôóíêöèÿ ñòàâèò òî÷êó, ïðèíèìàåò êîîðäèíàòû è öâåò.</p>
<pre>stdcall [buf2d_set_pixel], buf_0, 100,150, 0xff0000</pre>
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà;</p>
<p>100,150 - êîîðäèíàòû òî÷êè;</p>
249,40 → 247,15
<p>0xff0000 - öâåò òî÷êè.</p>
 
<h4>buf2d_get_pixel</h4>
<p>Ôóíêöèÿ çàïèñûâàåò öâåò òî÷êè â ðåãèñòð eax, ïðèíèìàåò êîîðäèíàòû. Ïðèìåð:</p>
<p>Ôóíêöèÿ çàïèñûâàåò öâåò òî÷êè â ðåãèñòð eax, ïðèíèìàåò êîîðäèíàòû.</p>
<pre>stdcall [buf2d_get_pixel], buf_0, 100,150</pre>
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà;</p>
<p>100,150 - êîîðäèíàòû òî÷êè;</p>
<p>eax - öâåò òî÷êè (äëÿ 8 è 24 áèòíûõ áóôåðîâ íå èñïîëüçóåìûå ñòàðøèå áèòû â eax ðàâíû 0) èëè çíà÷åíèå -1 â ñëó÷àå îøèáêè.</p>
 
<h4><a name="f_flip_v">buf2d_flip_v</a></h4>
<p>Îòðàæàåò èçîáðàæåíèå â áóôåðå ïî âåðòèêàëè (âåðõ è íèç ìåíÿþòñÿ ìåñòàìè). Ïðèìåð:</p>
<pre>stdcall buf2d_flip_v, buf_0</pre>
<p>ãäå buf_0 - ñòðóêòóðà 24-õ áèòíîãî áóôåðà.</p>
 
<h4><a name="f_v_brush_c">buf2d_vox_brush_create</a></h4>
<p>Ñîçäàíèå âîêñåëüíîé êèñòè. Ïðèìåð:</p>
<pre>stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z
<p>Ñîçäàíèå âîêñåëüíîé êèñòè.</p>
 
.........
 
align 4
vox_6_7_z: ;äàííûå äëÿ ñîçäàíèÿ ìèíèìàëüíîãî åäèíè÷íîãî âîêñåëÿ
dd 0,0,1,1,0,0,\
0,2,2,2,2,0,\
2,2,2,2,2,2,\
2,3,2,2,3,2,\
2,3,3,3,3,2,\
0,3,3,3,3,0,\
0,0,3,3,0,0
 
align 4
buf_vox: ;äàííûå äëÿ ñîçäàíèÿ íàáîðà âîêñåëüíûõ êèñòåé
db 6,7,4,3 ;w,h,h_osn,n
rb BUF_STRUCT_SIZE*(3+1)</pre>
<p>ãäå vox_6_7_z - äàííûå äëÿ ñîçäàíèÿ ìèíèìàëüíîãî åäèíè÷íîãî âîêñåëÿ (0 - îçíà÷àåò ïðîçðà÷íûé ïèêñåëü, äðóãèå öèôðû îïðåäåëÿþò ãëóáèíó äëÿ çàïîëíåíèÿ áóôåðà ãëóáèíû);</p>
<p>buf_vox - äàííûå äëÿ ñîçäàíèÿ íàáîðà âîêñåëüíûõ êèñòåé (6 è 7 - ðàçìåð ìèíèìàëüíîãî åäèíè÷íîãî âîêñåëÿ, 4 - âûñîòà âåðõíåãî îñíîâàíèÿ ìèíèìàëüíîãî åäèíè÷íîãî âîêñåëÿ, 3 - ÷èñëî ñîçäàâàåìûõ âîêñåëüíûõ êèñòåé äëÿ ðèñîâàíèÿ âîêñåëåé âåðõíèõ óðîâíåé);</p>
 
<h4>buf2d_vox_brush_delete</h4>
<p>Óäàëåíèå âîêñåëüíîé êèñòè.</p>
 
352,7 → 325,6
buf2d_flood_fill dd sz_buf2d_flood_fill
buf2d_set_pixel dd sz_buf2d_set_pixel
buf2d_get_pixel dd sz_buf2d_get_pixel
buf2d_flip_v dd sz_buf2d_flip_v
 
;âîêñåëüíûå ôóíêöèè:
buf2d_vox_brush_create dd sz_buf2d_vox_brush_create
395,7 → 367,6
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
433,6 → 404,5
<p>12.06.12 - äîáàâëåíû ôóíêöèè äëÿ ðèñîâàíèÿ âîêñåëüíîé ãðàôèêè.</p>
<p>11.08.12 - ôóíêöèè äëÿ ñæàòèÿ èçîáðàæåíèé buf2d_img_hdiv2 è buf2d_img_wdiv2 ðàáîòàþò ñ 32 áèòíûìè áóôåðàìè.</p>
<p>01.10.12 - äîáàâëåíà ôóíêöèÿ ïîâîðîòà èçîáðàæåíèé íà 90 è 180 ãðàäóñîâ buf2d_rotate.</p>
<p>15.11.12 - äîáàâëåíà ôóíêöèÿ îòðàæåíèÿ 24 áèòíûõ èçîáðàæåíèé ïî âåðòèêàëè buf_flip_v, èñïðàâëåíèÿ â ôóíêöèè buf2d_img_hdiv2.</p>
</body>
</html>
/programs/develop/libraries/buf2d/trunk/buf2d.asm
1986,55 → 1986,7
ret
endp
 
;®âà §¨âì ¯® ¢¥à⨪ «¨ (¢¥àå ¨ ­¨§ ¬¥­ïîâáï ¬¥áâ ¬¨)
align 4
proc buf_flip_v, buf_struc:dword
locals
line_pix dd ? ;ª®«. ¯¨ªá¥«¥© ¢ «¨­¨¨ ¡ãä¥à 
line_2byte dd ? ;ª®«. ¡ ©â ¢ «¨­¨¨ ¡ãä¥à  * 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 ;㪠§ â¥«ì ­  ­¨¦­îî «¨­¨î
shr ebx,1 ;ª®«. «¨­¥©­ëå 横«®¢
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
mov edi,dword[buf_struc]
2182,8 → 2134,6
ret
endp
 
;description:
; ᦠ⨥ ¨§®¡à ¦¥­¨ï ¯® ¢ëá®â¥ (¢ëá®â  ¡ãä¥à  ­¥ ¬¥­ï¥âáï)
align 4
proc buf_img_hdiv2, buf_struc:dword
pushad
2194,7 → 2144,6
mov ecx,buf2d_h
imul ecx,eax
stdcall img_8b_hdiv2, buf2d_data,ecx,eax
jmp .end_f ;edi ¯®àâ¨âáï ¢ ä㭪樨, ¯®â®¬ã ¨á¯®«ì§®¢ ­¨¥ buf2d_bits ®¯ á­®
@@:
cmp buf2d_bits,24
jne @f
2202,7 → 2151,6
mov ecx,buf2d_h
imul ecx,eax
stdcall img_rgb24_hdiv2, buf2d_data,ecx,eax
jmp .end_f
@@:
cmp buf2d_bits,32
jne @f
2211,9 → 2159,7
imul ecx,eax
shl eax,2
stdcall img_rgba32_hdiv2, buf2d_data,ecx,eax
;jmp .end_f
@@:
.end_f:
popad
ret
endp
4815,7 → 4761,6
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
4855,7 → 4800,6
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