Add ERegionCreateFromBitmap() and EPictureFillRect().

This commit is contained in:
Kim Woelders 2014-08-17 14:25:36 +02:00
parent 83e1e6e88f
commit ab86c9044c
2 changed files with 19 additions and 0 deletions

16
src/x.c
View File

@ -2124,6 +2124,16 @@ EPictureDestroy(EX_Picture pict)
XRenderFreePicture(disp, pict);
}
void
EPictureFillRect(EX_Picture pict, int x, int y, int w, int h,
unsigned int color)
{
XRenderColor c;
COLOR32_TO_ARGB16(color, c.alpha, c.red, c.green, c.blue);
XRenderFillRectangle(disp, PictOpSrc, pict, &c, x, y, w, h);
}
#endif /* USE_XRENDER */
#if USE_COMPOSITE
@ -2212,6 +2222,12 @@ ERegionCreateFromWindow(Win win)
return rgn;
}
EX_SrvRegion
ERegionCreateFromBitmap(EX_Pixmap mask)
{
return XFixesCreateRegionFromBitmap(disp, mask);
}
EX_SrvRegion
ERegionCopy(EX_SrvRegion rgn, EX_SrvRegion src)
{

View File

@ -312,6 +312,8 @@ EX_Picture EPictureCreateSolid(EX_Window xwin, int argb,
EX_Picture EPictureCreateBuffer(Win win, int w, int h, int argb,
EX_Pixmap * ppmap);
void EPictureDestroy(EX_Picture pict);
void EPictureFillRect(EX_Picture pict, int x, int y,
int w, int h, unsigned int color);
#endif /* USE_XRENDER */
@ -325,6 +327,7 @@ EX_SrvRegion ERegionCreateFromRects(XRectangle * rectangles,
int nrectangles);
#endif
EX_SrvRegion ERegionCreateFromWindow(Win win);
EX_SrvRegion ERegionCreateFromBitmap(EX_Pixmap mask);
EX_SrvRegion ERegionCopy(EX_SrvRegion rgn, EX_SrvRegion src);
EX_SrvRegion ERegionClone(EX_SrvRegion src);
void ERegionDestroy(EX_SrvRegion rgn);