From d00cd6a6041a5be0c9dd1bdad4bac816706b447c Mon Sep 17 00:00:00 2001
From: IgorA Документация к свободной библиотеке buf2d.asm, для ОС Колибри.
Эта библиотека создана для работы с 2d изображениями.
С ее помощью можно создавать буфера с изображениями в памяти, и при необходимости выводить их на экран.
- Изображения можно накладывать одно на другое, поддерживается работа с прозрачными изображениями, есть функция рисования лини пока на этом все.Оглавление
@@ -60,11 +66,13 @@ table { font-size: 15px; }
-
+
+
Последнее обновление библиотеки 11.05.12.
+Последнее обновление библиотеки 12.06.12.
-Поддерживается 3 формата буферов. Каждая функция при работе с буферами может быть расчитана на работу с определенными форматами изображений.
@@ -90,11 +98,14 @@ buf_0: dd 0x80 ;+16 фоновый цвет db 24 ;+20 бит на пиксель -Эта функция получает указатели на функции работы с памятью, вызыватся должна при загрузке библиотеки. Можете использовать макрос @use_library_mem, для ее автоматической настройки.
-Создает буфер и чистит его фоновым цветом.
+Создает буфер и чистит его фоновым цветом. Пример:
+stdcall [buf2d_create], buf_0+
где buf_0 - структура буфера.
+Параметры для создания буфера берутся из структуры.
Создает буфер на основе изображения в формате rgb.
@@ -229,6 +240,33 @@ stdcall [buf2d_convert_text_matrix], buf_1100,150 - координаты точки;
eax - цвет точки (для 8 и 24 битных буферов не используемые старшие биты в eax равны 0) или значение -1 в случае ошибки.
+Создание воксельной кисти.
+ +Удаление воксельной кисти.
+ +Возврашает ширину воксельного изображения с 3-мя гранями (которое рисуется функцией buf2d_vox_obj_draw_3g), принимает указатель на кисть и масштаб.
+ +Возврашает высоту воксельного изображения с 3-мя гранями (которое рисуется функцией buf2d_vox_obj_draw_3g), принимает указатель на кисть и масштаб.
+ +Рисование воксельного объекта с 3-мя гранями.
+ +Рисование части воксельного объекта.
+ +Функция рисующая тени для изображений нарисованных с помощью функции buf2d_vox_obj_draw_3g или buf2d_vox_obj_draw_3g_scaled.
+ +Функция рисующая срез воксельного обьекта.
+ +Функция рисующая срез части воксельного обьекта.
+Константа для функции buf2d_crop_color, обозначает обрезку буфера сверху
@@ -271,6 +309,17 @@ import_buf2d_lib: buf2d_set_pixel dd sz_buf2d_set_pixel buf2d_get_pixel dd sz_buf2d_get_pixel + ;воксельные функции: + buf2d_vox_brush_create dd sz_buf2d_vox_brush_create + buf2d_vox_brush_delete dd sz_buf2d_vox_brush_delete + buf2d_vox_obj_get_img_w_3g dd sz_buf2d_vox_obj_get_img_w_3g + buf2d_vox_obj_get_img_h_3g dd sz_buf2d_vox_obj_get_img_h_3g + buf2d_vox_obj_draw_3g dd sz_buf2d_vox_obj_draw_3g + buf2d_vox_obj_draw_3g_scaled dd sz_buf2d_vox_obj_draw_3g_scaled + buf2d_vox_obj_draw_3g_shadows dd sz_buf2d_vox_obj_draw_3g_shadows + buf2d_vox_obj_draw_pl dd sz_buf2d_vox_obj_draw_pl + buf2d_vox_obj_draw_pl_scaled dd sz_buf2d_vox_obj_draw_pl_scaled + dd 0,0 sz_lib_init db 'lib_init',0 sz_buf2d_create db 'buf2d_create',0 @@ -298,7 +347,18 @@ import_buf2d_lib: 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 - sz_buf2d_get_pixel db 'buf2d_get_pixel',0 + sz_buf2d_get_pixel db 'buf2d_get_pixel',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 + sz_buf2d_vox_obj_get_img_h_3g db 'buf2d_vox_obj_get_img_h_3g',0 + sz_buf2d_vox_obj_draw_3g db 'buf2d_vox_obj_draw_3g',0 + sz_buf2d_vox_obj_draw_3g_scaled db 'buf2d_vox_obj_draw_3g_scaled',0 + sz_buf2d_vox_obj_draw_3g_shadows db 'buf2d_vox_obj_draw_3g_shadows',0 + sz_buf2d_vox_obj_draw_pl db 'buf2d_vox_obj_draw_pl',0 + sz_buf2d_vox_obj_draw_pl_scaled db 'buf2d_vox_obj_draw_pl_scaled',002.07.10 - самая первая версия библиотеки, 2 примера использования.
@@ -321,5 +381,6 @@ import_buf2d_lib:20.02.12 - функции buf2d_filled_rect_by_size и buf2d_rect_by_size могут принимать отрицательные размеры для прямоугольников, в функции buf2d_line горизонтальная линия рисуется на 1 пиксель длинее (раньше не дорисовывало), некоторые функции могут рисовать в 8 битных буферах.
23.02.12 - функция buf2d_bit_blt_alpha может принимать отрицательные координаты в позиции копируемого буфера, небольшие доработки в buf2d_bit_blt_transp
11.05.12 - добавлена функция для взятия цвета точки buf2d_get_pixel, доработки в buf2d_set_pixel.
+12.06.12 - добавлены функции для рисования воксельной графики.