---
name: "XShape"
section: "3x"
platform: "linux"
package: "libxext-dev"
version: "1:1.0.1-2"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/XShape/3x"
---

# XShape(3x)

X nonrectangular shape functions

## NAME

XShapeQueryExtension, XShapeQueryVersion, XShapeCombineRegion, XShapeCombineRectangles, XShapeCombineMask, XShapeCombineShape, XShapeOffsetShape, XShapeQueryExtents, XShapeSelectInput, XShapeInputSelected, XShapeGetRectangles - X nonrectangular shape functions

## SYNTAX

```

```

\#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);

## STRUCTURES

```

```

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;

## DESCRIPTION

The *X11 Nonrectangular Window Shape Extension* adds nonrectangular windows to the X Window System.

## PREDEFINED VALUES

Operations:

```
ShapeSet
ShapeUnion
ShapeIntersect
ShapeSubtract
ShapeInvert
```

Shape Kinds:

```
ShapeBounding
ShapeClip
```

Event defines:

```
ShapeNotifyMask
ShapeNotify
```

## BUGS

This manual pages needs a lot more work.

## SEE ALSO

*X11 Nonrectangular Window Shape Extension*
