270 lines
6.4 KiB
Plaintext
270 lines
6.4 KiB
Plaintext
|
||
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 в случае неудачи.
|