From 2e54428486aea34a12d7f98be07743ffc2269cbe Mon Sep 17 00:00:00 2001 From: IgorA Date: Fri, 25 Mar 2011 15:57:37 +0000 Subject: [PATCH] library 'buf2d.obj': add new function 'buf2d_set_pixel' git-svn-id: svn://kolibrios.org@1910 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../develop/libraries/buf2d/trunk/about.htm | 14 ++++++++++++-- .../develop/libraries/buf2d/trunk/buf2d.asm | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/programs/develop/libraries/buf2d/trunk/about.htm b/programs/develop/libraries/buf2d/trunk/about.htm index 3a23887fdb..a70223c749 100644 --- a/programs/develop/libraries/buf2d/trunk/about.htm +++ b/programs/develop/libraries/buf2d/trunk/about.htm @@ -62,7 +62,7 @@ table { font-size: 15px; } С ее помощью можно создавать буфера с изображениями в памяти, и при необходимости выводить их на экран. Изображения можно накладывать одно на другое, поддерживается работа с прозрачными изображениями, есть функция рисования лини пока на этом все.

-

Последнее обновление библиотеки 22.12.10.

+

Последнее обновление библиотеки 25.03.11.

Форматы буферов

Поддерживается 3 формата буферов. @@ -198,6 +198,13 @@ stdcall [buf2d_convert_text_matrix], buf_1 0xff - цвет заливки;

0xff0000 - зависит от значения 4-го параметра, 1) если 0 - цвет до которого будет заливаться область; 2) если 1 - цвет области которая будет заливатся;

+

buf2d_set_pixel

+

Функция ставит точку, принимает координаты и цвет. Работает на 24-битных буферах.

+
stdcall [buf2d_set_pixel], buf_0, 100,150, 0xff0000
+

где buf_0 - структура буфера; + 100,150 - координаты точки; + 0xff0000 - цвет точки.

+

Константы

BUF2D_OPT_CROP_TOP equ 1

Константа для функции buf2d_crop_color, обозначает обрезку буфера сверху

@@ -235,6 +242,7 @@ import_buf2d_lib: buf2d_crop_color dd sz_buf2d_crop_color buf2d_offset_h dd sz_buf2d_offset_h buf2d_flood_fill dd sz_buf2d_flood_fill + buf2d_set_pixel dd sz_buf2d_set_pixel dd 0,0 sz_lib_init db 'lib_init',0 @@ -259,7 +267,8 @@ import_buf2d_lib: sz_buf2d_draw_text db 'buf2d_draw_text',0 sz_buf2d_crop_color db 'buf2d_crop_color',0 sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 + sz_buf2d_flood_fill db 'buf2d_flood_fill',0 + sz_buf2d_set_pixel db 'buf2d_set_pixel',0

История

02.07.10 - самая первая версия библиотеки, 2 примера использования.

@@ -275,5 +284,6 @@ import_buf2d_lib:

11.10.10 - исправлено задание цветов в некоторых функциях, красный и синий цвета поменял местами. Теперь цвета совпадают с сисемными функциями.

02.11.10 - добавлена функция buf2d_flood_fill.

22.12.10 - изменено имя функции buf2d_cruve_bezier на buf2d_curve_bezier.

+

25.03.11 - добавлена функция рисования для точки buf2d_set_pixel.

\ No newline at end of file diff --git a/programs/develop/libraries/buf2d/trunk/buf2d.asm b/programs/develop/libraries/buf2d/trunk/buf2d.asm index 6e828d0189..90795a8bf6 100644 --- a/programs/develop/libraries/buf2d/trunk/buf2d.asm +++ b/programs/develop/libraries/buf2d/trunk/buf2d.asm @@ -1313,6 +1313,22 @@ buf_flood_fill_recurs_1: .end_fun: ret +;дг­ЄжЁп ¤«п аЁб®ў ­Ёп в®зЄЁ +align 4 +proc buf_set_pixel, buf_struc:dword, coord_x:dword, coord_y:dword, color: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] + call draw_pixel + .end24: + popad + ret +endp + align 4 proc buf_img_wdiv2, buf_struc:dword pushad @@ -2311,6 +2327,7 @@ EXPORTS: dd sz_buf2d_crop_color, buf_crop_color dd sz_buf2d_offset_h, buf_offset_h dd sz_buf2d_flood_fill, buf_flood_fill + dd sz_buf2d_set_pixel, buf_set_pixel dd 0,0 sz_lib_init db 'lib_init',0 sz_buf2d_create db 'buf2d_create',0 @@ -2335,4 +2352,5 @@ EXPORTS: sz_buf2d_crop_color db 'buf2d_crop_color',0 sz_buf2d_offset_h db 'buf2d_offset_h',0 sz_buf2d_flood_fill db 'buf2d_flood_fill',0 + sz_buf2d_set_pixel db 'buf2d_set_pixel',0