forked from KolibriOS/kolibrios
1) 'buf2d.obj' new function 'buf2d_rect_by_size'
2) 'box_lib.obj' fix function 'tl_node_poi_get_data' git-svn-id: svn://kolibrios.org@1634 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -113,6 +113,11 @@ buf_0:
|
||||
<pre>stdcall [buf2d_line], buf_0, 30,10, 110,70, 0xffff00 ;рисуем линию</pre>
|
||||
<p>где buf_0 - структура буфера в котором будет рисоваться линия; 30, 10, 110, 70 - координаты линии; 0xffff00 - цвет линии.</p>
|
||||
|
||||
<h4>buf2d_rect_by_size</h4>
|
||||
<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_circle</h4>
|
||||
<p>Рисует в буфере окружность с заданным цветом и радиусом. Пример использования:</p>
|
||||
<pre>stdcall [buf2d_circle], buf_0, 25, 70, 15, 0xff0000</pre>
|
||||
@@ -196,6 +201,7 @@ import_buf2d_lib:
|
||||
buf2d_draw dd sz_buf2d_draw
|
||||
buf2d_delete dd sz_buf2d_delete
|
||||
buf2d_line dd sz_buf2d_line
|
||||
buf2d_rect_by_size dd sz_buf2d_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
|
||||
@@ -218,6 +224,7 @@ import_buf2d_lib:
|
||||
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
|
||||
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
|
||||
@@ -240,5 +247,6 @@ import_buf2d_lib:
|
||||
изменен формат буфера - для ширины и высоты используются 4-х байтные числа вместо 2-х байтных.</p>
|
||||
<p>29.07.10 - добавлены функции buf2d_crop_color и buf2d_offset_h;
|
||||
исправления в функции buf2d_delete.</p>
|
||||
<p>30.09.10 - добавлена функция buf2d_rect_by_size.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -998,6 +998,55 @@ endl
|
||||
ret
|
||||
endp
|
||||
|
||||
;à¨á®¢ ¨¥ £®à¨§®â «ì®© «¨¨¨, ¯®â®¬ã ¥â ¯ à ¬¥âà coord_y0
|
||||
align 4
|
||||
proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword, color:dword
|
||||
pushad
|
||||
mov edx,dword[color]
|
||||
|
||||
mov eax,edi
|
||||
mov edi,[buf_struc]
|
||||
cmp buf2d_bits,24
|
||||
jne @f
|
||||
|
||||
mov ebx,dword[coord_x0]
|
||||
mov ecx,dword[coord_y0]
|
||||
mov esi,dword[coord_x1]
|
||||
|
||||
@@: ;for (x=x0 ; x<x1; x++) ;------------------------------------
|
||||
call draw_pixel
|
||||
inc ebx
|
||||
cmp ebx,esi
|
||||
jge @f
|
||||
jmp @b
|
||||
@@:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc buf_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 ecx,[w]
|
||||
add ecx,eax
|
||||
mov edx,[h]
|
||||
add edx,ebx
|
||||
mov esi,dword[color]
|
||||
stdcall buf_line_h, edi, eax, ebx, ecx, esi ;«¨¨ï -
|
||||
stdcall buf_line_brs, edi, eax, ebx, eax, edx, esi ;«¨¨ï |
|
||||
stdcall buf_line_h, edi, eax, edx, ecx, esi ;«¨¨ï -
|
||||
stdcall buf_line_brs, edi, ecx, ebx, ecx, edx, esi ;«¨¨ï |
|
||||
.coord_end:
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc buf_circle, buf_struc:dword, coord_x:dword, coord_y:dword, r:dword, color:dword
|
||||
locals
|
||||
@@ -2034,6 +2083,7 @@ EXPORTS:
|
||||
dd sz_buf2d_draw, buf_draw_buf
|
||||
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_circle, buf_circle
|
||||
dd sz_buf2d_img_hdiv2, buf_img_hdiv2
|
||||
dd sz_buf2d_img_wdiv2, buf_img_wdiv2
|
||||
@@ -2055,6 +2105,7 @@ EXPORTS:
|
||||
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_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 à § (à §¬¥à ¡ãä¥à ¥ ¬¥ï¥âáï)
|
||||
|
||||
Reference in New Issue
Block a user