#include <X11/extensions/shape.h> Bool XShapeQueryExtension ( Display *dpy, int *event_basep, int *error_basep); Status XShapeQueryVersion ( Display *dpy, int *major_versionp, int *minor_versionp); void XShapeCombineRegion ( Display *dpy, Window dest, int destKind, int xOff, int yOff, struct _XRegion *r, int op); void XShapeCombineRectangles ( Display *dpy, XID dest, int destKind, int xOff, int yOff, XRectangle *rects, int n_rects, int op, int ordering); void XShapeCombineMask ( Display *dpy, XID dest, int destKind, int xOff, int yOff, Pixmap src, int op); void XShapeCombineShape ( Display *dpy, XID dest, int destKind, int xOff, int yOff, Pixmap src, int srcKind, int op); void XShapeOffsetShape ( Display *dpy, XID dest, int destKind, int xOff, int yOff); Status XShapeQueryExtents ( Display *dpy, Window window, int *bShaped, int *xbs, int *ybs, unsigned int *wbs, unsigned int *hbs, int *cShaped, int *xcs, int *ycs, unsigned int *wcs, unsigned int *hcs); void XShapeSelectInput ( Display *dpy, Window window, unsigned longmask); unsigned long XShapeInputSelected ( Display *dpy, Window window); XRectangle *XShapeGetRectangles ( Display *dpy, Window window, int kind, int *count, int *ordering);
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* window of event */
int kind; /* ShapeBounding or ShapeClip */
int x, y; /* extents of new region */
unsigned width, height;
Time time; /* server timestamp when region changed */
Bool shaped; /* true if the region exists */
} XShapeEvent;
ShapeSet ShapeUnion ShapeIntersect ShapeSubtract ShapeInvert
Shape Kinds:
ShapeBounding ShapeClip
Event defines:
ShapeNotifyMask ShapeNotify