forked from KolibriOS/kolibrios
new function 'buf2d_flood_fill'
git-svn-id: svn://kolibrios.org@1684 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -62,7 +62,7 @@ table { font-size: 15px; }
|
|||||||
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>.</p>
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>.</p>
|
||||||
|
|
||||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 07.10.10.</p>
|
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 02.11.10.</p>
|
||||||
|
|
||||||
<h1><a name="f_buf"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
<h1><a name="f_buf"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
||||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
@@ -189,6 +189,15 @@ stdcall [buf2d_convert_text_matrix], buf_1</pre>
|
|||||||
<h4>buf2d_offset_h</h4>
|
<h4>buf2d_offset_h</h4>
|
||||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>.</p>
|
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>.</p>
|
||||||
|
|
||||||
|
<h4>buf2d_flood_fill</h4>
|
||||||
|
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:</p>
|
||||||
|
<pre>stdcall [buf2d_flood_fill], buf_0, 100,200, 0, 0xff,0xff0000</pre>
|
||||||
|
<p><EFBFBD><EFBFBD><EFBFBD> buf_0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||||
|
100,200 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
||||||
|
0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 0 <20><><EFBFBD> 1);
|
||||||
|
0xff - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;</p>
|
||||||
|
0xff0000 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1) <20><><EFBFBD><EFBFBD> 0 - <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; 2) <20><><EFBFBD><EFBFBD> 1 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;</p>
|
||||||
|
|
||||||
<h1><a name="const"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
<h1><a name="const"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
||||||
<h4>BUF2D_OPT_CROP_TOP equ 1</h4>
|
<h4>BUF2D_OPT_CROP_TOP equ 1</h4>
|
||||||
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_crop_color, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
|
<p><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_crop_color, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
|
||||||
@@ -225,6 +234,7 @@ import_buf2d_lib:
|
|||||||
buf2d_draw_text dd sz_buf2d_draw_text
|
buf2d_draw_text dd sz_buf2d_draw_text
|
||||||
buf2d_crop_color dd sz_buf2d_crop_color
|
buf2d_crop_color dd sz_buf2d_crop_color
|
||||||
buf2d_offset_h dd sz_buf2d_offset_h
|
buf2d_offset_h dd sz_buf2d_offset_h
|
||||||
|
buf2d_flood_fill dd sz_buf2d_flood_fill
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
sz_lib_init db 'lib_init',0
|
sz_lib_init db 'lib_init',0
|
||||||
@@ -248,7 +258,8 @@ import_buf2d_lib:
|
|||||||
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
|
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
|
||||||
sz_buf2d_draw_text db 'buf2d_draw_text',0
|
sz_buf2d_draw_text db 'buf2d_draw_text',0
|
||||||
sz_buf2d_crop_color db 'buf2d_crop_color',0
|
sz_buf2d_crop_color db 'buf2d_crop_color',0
|
||||||
sz_buf2d_offset_h db 'buf2d_offset_h',0</pre>
|
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
||||||
|
sz_buf2d_flood_fill db 'buf2d_flood_fill',0</pre>
|
||||||
|
|
||||||
<h1><a name="hist"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
<h1><a name="hist"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></a></h1>
|
||||||
<p>02.07.10 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
<p>02.07.10 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||||
@@ -262,5 +273,6 @@ import_buf2d_lib:
|
|||||||
<p>04.10.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_filled_rect_by_size, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf_bit_blt_alpha.</p>
|
<p>04.10.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_filled_rect_by_size, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf_bit_blt_alpha.</p>
|
||||||
<p>07.10.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf_bit_blt (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).</p>
|
<p>07.10.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf_bit_blt (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).</p>
|
||||||
<p>11.10.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
<p>11.10.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.</p>
|
||||||
|
<p>02.11.10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> buf2d_flood_fill.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@@ -84,7 +84,7 @@ draw_pixel:
|
|||||||
add esi,ebx ;size_x*y+x
|
add esi,ebx ;size_x*y+x
|
||||||
lea esi,[esi+esi*2] ;(size_x*y+x)*3
|
lea esi,[esi+esi*2] ;(size_x*y+x)*3
|
||||||
add esi,buf2d_data ;ptr+(size_x*y+x)*3
|
add esi,buf2d_data ;ptr+(size_x*y+x)*3
|
||||||
|
|
||||||
mov word[esi],dx ;copy pixel color
|
mov word[esi],dx ;copy pixel color
|
||||||
ror edx,16
|
ror edx,16
|
||||||
mov byte[esi+2],dl
|
mov byte[esi+2],dl
|
||||||
@@ -92,7 +92,42 @@ draw_pixel:
|
|||||||
pop esi
|
pop esi
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
;endp
|
|
||||||
|
;input:
|
||||||
|
; ebx = coord x
|
||||||
|
; ecx = coord y
|
||||||
|
; edi = pointer to buffer struct
|
||||||
|
;output:
|
||||||
|
; eax = 梥<> <20><>窨
|
||||||
|
; <20> <20><><EFBFBD>砥 <20>訡<EFBFBD><E8A8A1> eax = 0xffffffff
|
||||||
|
align 4
|
||||||
|
get_pixel_24:
|
||||||
|
mov eax,0xffffffff
|
||||||
|
|
||||||
|
bt ebx,31
|
||||||
|
jc @f
|
||||||
|
bt ecx,31
|
||||||
|
jc @f
|
||||||
|
cmp ebx,buf2d_w
|
||||||
|
jge @f
|
||||||
|
cmp ecx,buf2d_h
|
||||||
|
jge @f
|
||||||
|
push esi
|
||||||
|
mov esi,buf2d_w ;size x
|
||||||
|
imul esi,ecx ;size_x*y
|
||||||
|
add esi,ebx ;size_x*y+x
|
||||||
|
lea esi,[esi+esi*2] ;(size_x*y+x)*3
|
||||||
|
add esi,buf2d_data ;ptr+(size_x*y+x)*3
|
||||||
|
|
||||||
|
xor eax,eax
|
||||||
|
mov ax,word[esi] ;copy pixel color
|
||||||
|
ror eax,16
|
||||||
|
mov al,byte[esi+2]
|
||||||
|
ror eax,16
|
||||||
|
pop esi
|
||||||
|
@@:
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
align 4
|
align 4
|
||||||
@@ -1002,15 +1037,13 @@ endp
|
|||||||
align 4
|
align 4
|
||||||
proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword, color:dword
|
proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword, color:dword
|
||||||
pushad
|
pushad
|
||||||
mov edx,dword[color]
|
|
||||||
|
|
||||||
mov eax,edi
|
|
||||||
mov edi,[buf_struc]
|
mov edi,[buf_struc]
|
||||||
cmp buf2d_bits,24
|
cmp buf2d_bits,24
|
||||||
jne @f
|
jne .end24
|
||||||
|
|
||||||
mov ebx,dword[coord_x0]
|
mov ebx,dword[coord_x0]
|
||||||
mov ecx,dword[coord_y0]
|
mov ecx,dword[coord_y0]
|
||||||
|
mov edx,dword[color]
|
||||||
mov esi,dword[coord_x1]
|
mov esi,dword[coord_x1]
|
||||||
|
|
||||||
@@: ;for (x=x0 ; x<x1; x++) ;------------------------------------
|
@@: ;for (x=x0 ; x<x1; x++) ;------------------------------------
|
||||||
@@ -1020,6 +1053,7 @@ proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword
|
|||||||
jge @f
|
jge @f
|
||||||
jmp @b
|
jmp @b
|
||||||
@@:
|
@@:
|
||||||
|
.end24:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
@@ -1139,6 +1173,141 @@ endl
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> 梥⮬
|
||||||
|
align 4
|
||||||
|
proc buf_flood_fill, buf_struc:dword, coord_x:dword, coord_y:dword, mode:dword, color_f:dword, color_b:dword
|
||||||
|
pushad
|
||||||
|
mov edi,[buf_struc]
|
||||||
|
cmp buf2d_bits,24
|
||||||
|
jne .end24
|
||||||
|
|
||||||
|
mov ebx,dword[coord_x]
|
||||||
|
mov ecx,dword[coord_y]
|
||||||
|
mov edx,dword[color_f]
|
||||||
|
mov esi,dword[color_b]
|
||||||
|
|
||||||
|
cmp dword[mode],1 ;<3B> <20><><EFBFBD><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD> <20><> 'mode' <20><>।<EFBFBD><E0A5A4>塞 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⬮<EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
je @f
|
||||||
|
call buf_flood_fill_recurs_0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> 梥<><E6A2A5> esi
|
||||||
|
jmp .end24
|
||||||
|
@@:
|
||||||
|
call buf_flood_fill_recurs_1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᥫ<EFBFBD> <20><><EFBFBD><EFBFBD>騥 梥<> esi
|
||||||
|
|
||||||
|
.end24:
|
||||||
|
popad
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
;input:
|
||||||
|
; ebx = coord_x
|
||||||
|
; ecx = coord_y
|
||||||
|
; edx = 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; esi = 梥<> <20>࠭<EFBFBD><E0A0AD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD>ன <20>㤥<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; edi = buf_struc
|
||||||
|
;output:
|
||||||
|
; eax = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
align 4
|
||||||
|
buf_flood_fill_recurs_0:
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,0xffffffff ;if error coords
|
||||||
|
je .end_fun
|
||||||
|
cmp eax,edx ;<3B> 梥<> <20><><EFBFBD>ᥫ<EFBFBD> ᮢ<><E1AEA2><EFBFBD> <20> 梥⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20>뫠 ᤥ<><E1A4A5><EFBFBD><EFBFBD>
|
||||||
|
je .end_fun
|
||||||
|
|
||||||
|
call draw_pixel
|
||||||
|
|
||||||
|
dec ebx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
je @f
|
||||||
|
call buf_flood_fill_recurs_0
|
||||||
|
@@:
|
||||||
|
inc ebx
|
||||||
|
|
||||||
|
|
||||||
|
inc ebx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
je @f
|
||||||
|
call buf_flood_fill_recurs_0
|
||||||
|
@@:
|
||||||
|
dec ebx
|
||||||
|
|
||||||
|
dec ecx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
je @f
|
||||||
|
call buf_flood_fill_recurs_0
|
||||||
|
@@:
|
||||||
|
inc ecx
|
||||||
|
|
||||||
|
inc ecx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
je @f
|
||||||
|
call buf_flood_fill_recurs_0
|
||||||
|
@@:
|
||||||
|
dec ecx
|
||||||
|
|
||||||
|
.end_fun:
|
||||||
|
ret
|
||||||
|
|
||||||
|
;input:
|
||||||
|
; ebx = coord_x
|
||||||
|
; ecx = coord_y
|
||||||
|
; edx = 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; esi = 梥<> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
; edi = buf_struc
|
||||||
|
;output:
|
||||||
|
; eax = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
align 4
|
||||||
|
buf_flood_fill_recurs_1:
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,0xffffffff ;if error coords
|
||||||
|
je .end_fun
|
||||||
|
cmp eax,edx ;<3B> 梥<> <20><><EFBFBD>ᥫ<EFBFBD> ᮢ<><E1AEA2><EFBFBD> <20> 梥⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20>뫠 ᤥ<><E1A4A5><EFBFBD><EFBFBD>
|
||||||
|
je .end_fun
|
||||||
|
cmp eax,esi ;<3B> 梥<> <20><><EFBFBD>ᥫ<EFBFBD> <20><> ᮢ<><E1AEA2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>४<EFBFBD><E0A5AA>頥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
jne .end_fun
|
||||||
|
|
||||||
|
call draw_pixel
|
||||||
|
|
||||||
|
dec ebx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
jne @f
|
||||||
|
call buf_flood_fill_recurs_1
|
||||||
|
@@:
|
||||||
|
inc ebx
|
||||||
|
|
||||||
|
|
||||||
|
inc ebx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
jne @f
|
||||||
|
call buf_flood_fill_recurs_1
|
||||||
|
@@:
|
||||||
|
dec ebx
|
||||||
|
|
||||||
|
dec ecx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
jne @f
|
||||||
|
call buf_flood_fill_recurs_1
|
||||||
|
@@:
|
||||||
|
inc ecx
|
||||||
|
|
||||||
|
inc ecx
|
||||||
|
call get_pixel_24
|
||||||
|
cmp eax,esi
|
||||||
|
jne @f
|
||||||
|
call buf_flood_fill_recurs_1
|
||||||
|
@@:
|
||||||
|
dec ecx
|
||||||
|
|
||||||
|
.end_fun:
|
||||||
|
ret
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc buf_img_wdiv2, buf_struc:dword
|
proc buf_img_wdiv2, buf_struc:dword
|
||||||
pushad
|
pushad
|
||||||
@@ -2136,6 +2305,7 @@ EXPORTS:
|
|||||||
dd sz_buf2d_draw_text, buf_draw_text
|
dd sz_buf2d_draw_text, buf_draw_text
|
||||||
dd sz_buf2d_crop_color, buf_crop_color
|
dd sz_buf2d_crop_color, buf_crop_color
|
||||||
dd sz_buf2d_offset_h, buf_offset_h
|
dd sz_buf2d_offset_h, buf_offset_h
|
||||||
|
dd sz_buf2d_flood_fill, buf_flood_fill
|
||||||
dd 0,0
|
dd 0,0
|
||||||
sz_lib_init db 'lib_init',0
|
sz_lib_init db 'lib_init',0
|
||||||
sz_buf2d_create db 'buf2d_create',0
|
sz_buf2d_create db 'buf2d_create',0
|
||||||
@@ -2159,3 +2329,5 @@ EXPORTS:
|
|||||||
sz_buf2d_draw_text db 'buf2d_draw_text',0
|
sz_buf2d_draw_text db 'buf2d_draw_text',0
|
||||||
sz_buf2d_crop_color db 'buf2d_crop_color',0
|
sz_buf2d_crop_color db 'buf2d_crop_color',0
|
||||||
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
||||||
|
sz_buf2d_flood_fill db 'buf2d_flood_fill',0
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user