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 â ñëó÷àå íåóäà÷è.