/programs/develop/libraries/buf2d/trunk/about.htm |
---|
114,10 → 114,15 |
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ëèíèÿ; 30, 10, 110, 70 - êîîðäèíàòû ëèíèè; 0xffff00 - öâåò ëèíèè.</p> |
<h4>buf2d_rect_by_size</h4> |
<p>Ðèñóåò ïðÿìîóãîëüíèê, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó.</p> |
<p>Ðèñóåò ïðÿìîóãîëüíóþ ðàìêó, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó.</p> |
<pre>stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080</pre> |
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ïðÿìîóãîëüíèê; 10, 10 - êîîðäèíàòû ëåâîãî âåðõíåãî óãëà; 150, 100 - ðàçìåð ïðÿìîóãîëüíèêà; 0x8080 - öâåò ëèíèè.</p> |
<h4>buf2d_filled_rect_by_size</h4> |
<p>Ðèñóåò çàêðàøåííûé ïðÿìîóãîëüíèê, ïî äâóì êîîðäèíàòàì, 2-ÿ êîîðäèíàòà çàäàíà ïî ðàçìåðó. Åñëè ðàçìåð çàäàòü 1*1, òî áóäåò íàðèñîâàíà òî÷êà ðàçìåðîì â 1 ïèêñåëü, ò.å. ðàçìåð ïðÿìîóãîëüíèêà â ïèêñåëÿõ áóäåò ðàâåí óêàçàííîìó.</p> |
<pre>stdcall [buf2d_rect_by_size], buf_0, 10,10,150,100, 0x8080</pre> |
<p>ãäå buf_0 - ñòðóêòóðà áóôåðà â êîòîðîì áóäåò ðèñîâàòüñÿ ïðÿìîóãîëüíèê; 10, 10 - êîîðäèíàòû ëåâîãî âåðõíåãî óãëà; 150, 100 - ðàçìåð ïðÿìîóãîëüíèêà; 0x8080 - öâåò ïðÿìîóãîëèêà.</p> |
<h4>buf2d_circle</h4> |
<p>Ðèñóåò â áóôåðå îêðóæíîñòü ñ çàäàííûì öâåòîì è ðàäèóñîì. Ïðèìåð èñïîëüçîâàíèÿ:</p> |
<pre>stdcall [buf2d_circle], buf_0, 25, 70, 15, 0xff0000</pre> |
202,6 → 207,7 |
buf2d_delete dd sz_buf2d_delete |
buf2d_line dd sz_buf2d_line |
buf2d_rect_by_size dd sz_buf2d_rect_by_size |
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size |
buf2d_circle dd sz_buf2d_circle |
buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 |
buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 |
225,6 → 231,7 |
sz_buf2d_delete db 'buf2d_delete',0 |
sz_buf2d_line db 'buf2d_line',0 |
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 |
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 |
sz_buf2d_circle db 'buf2d_circle',0 |
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 |
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 |
248,5 → 255,6 |
<p>29.07.10 - äîáàâëåíû ôóíêöèè buf2d_crop_color è buf2d_offset_h; |
èñïðàâëåíèÿ â ôóíêöèè buf2d_delete.</p> |
<p>30.09.10 - äîáàâëåíà ôóíêöèÿ buf2d_rect_by_size.</p> |
<p>04.10.10 - äîáàâëåíà ôóíêöèÿ buf2d_filled_rect_by_size, äîðàáîòàíà ôóíêöèÿ buf_bit_blt_alpha.</p> |
</body> |
</html> |
/programs/develop/libraries/buf2d/trunk/buf2d.asm |
---|
1034,9 → 1034,16 |
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 ;«¨¨ï - |
stdcall buf_line_brs, edi, eax, ebx, eax, edx, esi ;«¨¨ï | |
1048,6 → 1055,28 |
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 ;«¨¨ï - |
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 |
po_x dd ? |
1692,6 → 1721,9 |
mov edi,[buf_destination] |
cmp buf2d_bits,24 |
jne .error2 ;ä®à¬ â ¡ãä¥à ¥ ¯®®¤¥à¦¨¢ ¥âáï |
mov ebx,[coord_x] ;¢ ebx ¢à¥¬¥® áâ ¢¨¬ ®âáâ㯠¨§®¡à ¦¥¨ï (¤«ï ¯à®¢¥àª¨) |
cmp ebx,buf2d_w ;¯à®¢¥à塞 ¢« §¨â «¨ ¨§®¡à ¦¥¨¥ ¯® è¨à¨¥ |
jge .copy_end ;¥á«¨ ¨§®¡à ¦¥¨¥ ¯®«®áâìî ¢ë« §¨â § ¯à ¢ãî áâ®à®ã |
mov ebx,buf2d_h ;ebx - ¢ëá®â ®á®¢®£® ¡ãä¥à |
mov ecx,[coord_y] |
cmp ecx,ebx |
2084,6 → 2116,7 |
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 |
sz_buf2d_draw db 'buf2d_draw',0 |
sz_buf2d_delete db 'buf2d_delete',0 |
sz_buf2d_line db 'buf2d_line',0 ;à¨á®¢ ¨¥ «¨¨¨ |
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ¨¥ ¯àאַ㣮«ì¨ª , 2-ï ª®®à¤¨ â § ¤ ¯® à §¬¥àã |
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ¨¥ à ¬ª¨ ¯àאַ㣮«ì¨ª , 2-ï ª®®à¤¨ â § ¤ ¯® à §¬¥àã |
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 ;à¨á®¢ ¨¥ § «¨â®£® ¯àאַ㣮«ì¨ª , 2-ï ª®®à¤¨ â § ¤ ¯® à §¬¥àã |
sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ¨¥ ®ªà㦮á⨠|
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 ;ᦠ⨥ ¨§®¡à ¦¥¨ï ¯® ¢ëá®â¥ ¢ 2 à § (à §¬¥à ¡ãä¥à ¥ ¬¥ï¥âáï) |
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 ;ᦠ⨥ ¨§®¡à ¦¥¨ï ¯® è¨à¨¥ ¢ 2 à § (à §¬¥à ¡ãä¥à ¥ ¬¥ï¥âáï) |