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 в случае неудачи.