#ifndef _SHAPESTR_H_
#define _SHAPESTR_H_
#include "shape.h"
#define Window CARD32
#define Time CARD32
#define SHAPENAME "SHAPE"
#define SHAPE_MAJOR_VERSION 1
#define SHAPE_MINOR_VERSION 0
typedef struct _ShapeQueryVersion {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
} xShapeQueryVersionReq;
#define sz_xShapeQueryVersionReq 4
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16;
CARD16 minorVersion B16;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xShapeQueryVersionReply;
#define sz_xShapeQueryVersionReply 32
typedef struct _ShapeRectangles {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
CARD8 op;
CARD8 destKind;
CARD8 ordering;
CARD8 pad0;
Window dest B32;
INT16 xOff B16;
INT16 yOff B16;
} xShapeRectanglesReq;
#define sz_xShapeRectanglesReq 16
typedef struct _ShapeMask {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
CARD8 op;
CARD8 destKind;
CARD16 junk B16;
Window dest B32;
INT16 xOff B16;
INT16 yOff B16;
CARD32 src B32;
} xShapeMaskReq;
#define sz_xShapeMaskReq 20
typedef struct _ShapeCombine {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
CARD8 op;
CARD8 destKind;
CARD8 srcKind;
CARD8 junk;
Window dest B32;
INT16 xOff B16;
INT16 yOff B16;
Window src B32;
} xShapeCombineReq;
#define sz_xShapeCombineReq 20
typedef struct _ShapeOffset {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
CARD8 destKind;
CARD8 junk1;
CARD16 junk2 B16;
Window dest B32;
INT16 xOff B16;
INT16 yOff B16;
} xShapeOffsetReq;
#define sz_xShapeOffsetReq 16
typedef struct _ShapeQueryExtents {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
Window window B32;
} xShapeQueryExtentsReq;
#define sz_xShapeQueryExtentsReq 8
typedef struct {
BYTE type;
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 boundingShaped;
CARD8 clipShaped;
CARD16 unused1 B16;
INT16 xBoundingShape B16;
INT16 yBoundingShape B16;
CARD16 widthBoundingShape B16;
CARD16 heightBoundingShape B16;
INT16 xClipShape B16;
INT16 yClipShape B16;
CARD16 widthClipShape B16;
CARD16 heightClipShape B16;
CARD32 pad1 B32;
} xShapeQueryExtentsReply;
#define sz_xShapeQueryExtentsReply 32
typedef struct _ShapeSelectInput {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
Window window B32;
BYTE enable;
BYTE pad1;
CARD16 pad2 B16;
} xShapeSelectInputReq;
#define sz_xShapeSelectInputReq 12
typedef struct _ShapeNotify {
BYTE type;
BYTE kind;
CARD16 sequenceNumber B16;
Window window B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
Time time B32;
BYTE shaped;
BYTE pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xShapeNotifyEvent;
#define sz_xShapeNotifyEvent 32
typedef struct _ShapeInputSelected {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
Window window B32;
} xShapeInputSelectedReq;
#define sz_xShapeInputSelectedReq 8
typedef struct {
BYTE type;
CARD8 enabled;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xShapeInputSelectedReply;
#define sz_xShapeInputSelectedReply 32
typedef struct _ShapeGetRectangles {
CARD8 reqType;
CARD8 shapeReqType;
CARD16 length B16;
Window window B32;
CARD8 kind;
CARD8 junk1;
CARD16 junk2 B16;
} xShapeGetRectanglesReq;
#define sz_xShapeGetRectanglesReq 12
typedef struct {
BYTE type;
CARD8 ordering;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 nrects B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xShapeGetRectanglesReply;
#define sz_xShapeGetRectanglesReply 32
#undef Window
#undef Time
#endif