kolibrios/programs/develop/libraries/pixlib/readme.txt

270 lines
6.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

typedef unsigned int u32_t;
typedef unsignet int handle;
typedef unsigned int color_t;
handle CreateHatchBrush(int hatch, color_t bkcolor, color_t fcolor);
Создать штрихованную кисть размером 8х8 пикселей
hatch тип штриховки:
HS_HORIZONTAL -------
HS_VERTICAL |||||||
HS_FDIAGONAL \\\\\\\
HS_BDIAGONAL ///////
HS_CROSS +++++++
HS_DIAGCROSS xxxxxxx
bkcolor цвет "0"
fcolor цвет "1"
Возвращаемое значение: логический номер кисти или 0
handle CreateMonoBrush(color_t bkcolor, color_t fcolor,
u32_t bmp0, u32_t bmp1);
Создать монохромную кисть размером 8х8 пикселей
bkcolor цвет "0"
fcolor цвет "1"
bmp0 bmp1 монохромный битмап 8х8 пикселей
Возвращаемое значение: логический номер кисти или 0
void DestroyBrush(handle brush);
Уничтожить кисть.
brush логический номер кисти.
Кисть должна быть создана вызовом CreateHatchBrush или CreateMonoBrush
handle CreatePixmap(unsigned width, unsigned height, u32_t format, u32_t flags);
Создать битмап
width ширина в пикселях. Максимум 2048
height высота в пикселях. Максимум 2048
format формат пикселей. Сейчас поддерживается только ARGB32
flags дополнительные флаги:
PX_MEM_SYSTEM = 0 битмап в системной памяти
PX_MEM_LOCAL = 1 битмап в локальной видеопамяти
PX_MEM_GART = 2 зарезервировано
остальные биты зарезервированы и должны быть 0
Возвращаемое значение: логический номер битмапа в случае успеха или 0
int DestroyPixmap( handle pixmap)
Уничтожить битмап.
pixmap логический номер битмапа.
Битмап должен быть создан CreatePixmap.
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
void* LockPixmap(handle pixmap)
Получить доступ к данным битмапа.
pixmap логический номер битмапа. SCR_PIXMAP для первичного экрана.
Блокирование битмапа может снизить быстродействие если битмап
создан с флагами PX_MEM_LOCAL или PX_MEM_GART.
Возвращаемое значение: указатель на начало данных битмапа
или NULL в случае неудачи.
int GetPixmapPitch(handle pixmap)
Получить ширину строки битмапа в байтах.
pixmap логический номер битмапа. SCR_PIXMAP для первичного экрана.
Битмап должен быть заблокирован вызовом LockPixmap
Возвращаемое значение: ширина строки битмапа в байтах или 0 в случае неудачи.
int UnlockPixmap(handle pixmap)
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
int ClearPixmap(handle pixmap, color_t color)
Заполняет битмап указанным цветом;
pixmap логический номер битмапа. SCR_PIXMAP для первичного экрана.
color цвет в формате ARGB32
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
int Line(handle pixmap, int x0, int y0, int x1, int y1, color_t color)
Нарисовать сплошную линию указаного цвета толщиной в 1 пиксель.
pixmap логический номер битмапа в который будет производится отрисовка.
SCR_PIXMAP для первичного экрана
x0,y0 x1,y1 координаты начальной и конечной точек линиии
color цвет в формате ARGB32
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
int DrawRect(handle pixmap, int xorg, int yorg,
int width, int height,
color_t dst_color, color_t border)
Нарисовать сплошной прямоугльник указаного цвета c окантовкой.
pixmap логический номер битмапа в который будет производится отрисовка.
SCR_PIXMAP для первичного экрана
xorg,yorg координаты левого верхнего угла прямоугольника в пикселях
width ширина прямоугольника в пикселях
height высота прямоугольника в пикселях
color цвет прямоугольника в формате ARGB32
border цвет окантовки в формате ARGB32. Толщина окантовки 1 пиксел.
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
int FillRect(handle pixmap, int xorg, int yorg,
int width, int height,
brush_t *brush, color_t border)
Нарисовать прямоугольник используя кисть
pixmap логический номер битмапа в который будет производится отрисовка.
SCR_PIXMAP для первичного экрана
xorg,yorg координаты левого верхнего угла прямоугольника в пикселях
width ширина прямоугольника в пикселях
height высота прямоугольника в пикселях
brush монохромная кисть размером 8х8 пикселей
border цвет окантовки в формате ARGB32. Толщина окантовки 1 пиксел.
Окантовка не рисуется если альфа компонен цвета равен 0.
Кисть должна быть создана CreateHatch или CreateMonoBrush.
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
int Blit(handle dst_pixmap, int dst_x, int dst_y,
handle src_pixmap, int src_x, int src_y,
int width, int height)
Скопировать прямоугольную область пикселей.
dst_pixmap логический номер битмапа в который будет производитс
копирование. SCR_PIXMAP для первичного экрана.
dst_x, dst_y координаты левого верхнего угла области назначени
src_pixmap логический номер битмапа - источника пикселей.
SCR_PIXMAP для первичного экрана.
src_x,src_y координаты левого верхнего угла копируемой области
width ширина копируемой области
height высота копируемой области
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.
int TransparentBlit(handle dst_pixmap, int dst_x, int dst_y,
handle src_pixmap, int src_x, int src_y,
int width, int height, color_t key)
Скопировать прямоугольную область пикселей используя прозрачный цвет.
dst_pixmap логический номер битмапа в который будет производитс
копирование. SCR_PIXMAP для первичного экрана.
dst_x, dst_y координаты левого верхнего угла области назначени
src_pixmap логический номер битмапа - источника пикселей.
SCR_PIXMAP для первичного экрана.
src_x,src_y координаты левого верхнего угла копируемой области
width ширина копируемой области
height высота копируемой области
key прозрачный цвет в формате ARGB32
Функция не копирует пиксели цвет которых совпадает с key.
Возвращаемое значение: ERR_OK в случае успеха или ERR_PARAM в случае неудачи.