| /* |
| * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $ |
| * |
| * Copyright © 2000 SuSE, Inc. |
| * |
| * Permission to use, copy, modify, distribute, and sell this software and its |
| * documentation for any purpose is hereby granted without fee, provided that |
| * the above copyright notice appear in all copies and that both that |
| * copyright notice and this permission notice appear in supporting |
| * documentation, and that the name of SuSE not be used in advertising or |
| * publicity pertaining to distribution of the software without specific, |
| * written prior permission. SuSE makes no representations about the |
| * suitability of this software for any purpose. It is provided "as is" |
| * without express or implied warranty. |
| * |
| * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE |
| * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION |
| * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN |
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| * |
| * Author: Keith Packard, SuSE, Inc. |
| */ |
| |
| #ifndef _XRENDERP_H_ |
| #define _XRENDERP_H_ |
| |
| #include <X11/Xmd.h> |
| #include <X11/extensions/render.h> |
| |
| #define Window CARD32 |
| #define Drawable CARD32 |
| #define Font CARD32 |
| #define Pixmap CARD32 |
| #define Cursor CARD32 |
| #define Colormap CARD32 |
| #define GContext CARD32 |
| #define Atom CARD32 |
| #define VisualID CARD32 |
| #define Time CARD32 |
| #define KeyCode CARD8 |
| #define KeySym CARD32 |
| |
| #define Picture CARD32 |
| #define PictFormat CARD32 |
| #define Fixed INT32 |
| #define Glyphset CARD32 |
| |
| /* |
| * data structures |
| */ |
| |
| typedef struct { |
| CARD16 red B16; |
| CARD16 redMask B16; |
| CARD16 green B16; |
| CARD16 greenMask B16; |
| CARD16 blue B16; |
| CARD16 blueMask B16; |
| CARD16 alpha B16; |
| CARD16 alphaMask B16; |
| } xDirectFormat; |
| |
| #define sz_xDirectFormat 16 |
| |
| typedef struct { |
| PictFormat id B32; |
| CARD8 type; |
| CARD8 depth; |
| CARD16 pad1 B16; |
| xDirectFormat direct; |
| Colormap colormap; |
| } xPictFormInfo; |
| |
| #define sz_xPictFormInfo 28 |
| |
| typedef struct { |
| VisualID visual; |
| PictFormat format; |
| } xPictVisual; |
| |
| #define sz_xPictVisual 8 |
| |
| typedef struct { |
| CARD8 depth; |
| CARD8 pad1; |
| CARD16 nPictVisuals B16; |
| CARD32 pad2 B32; |
| } xPictDepth; |
| |
| #define sz_xPictDepth 8 |
| |
| typedef struct { |
| CARD32 nDepth B32; |
| PictFormat fallback B32; |
| } xPictScreen; |
| |
| #define sz_xPictScreen 8 |
| |
| typedef struct { |
| CARD32 pixel B32; |
| CARD16 red B16; |
| CARD16 green B16; |
| CARD16 blue B16; |
| CARD16 alpha B16; |
| } xIndexValue; |
| |
| #define sz_xIndexValue 12 |
| |
| typedef struct { |
| CARD16 red B16; |
| CARD16 green B16; |
| CARD16 blue B16; |
| CARD16 alpha B16; |
| } xRenderColor; |
| |
| #define sz_xRenderColor 8 |
| |
| typedef struct { |
| Fixed x B32; |
| Fixed y B32; |
| } xPointFixed; |
| |
| #define sz_xPointFixed 8 |
| |
| typedef struct { |
| xPointFixed p1; |
| xPointFixed p2; |
| } xLineFixed; |
| |
| #define sz_xLineFixed 16 |
| |
| typedef struct { |
| xPointFixed p1, p2, p3; |
| } xTriangle; |
| |
| #define sz_xTriangle 24 |
| |
| typedef struct { |
| Fixed top B32; |
| Fixed bottom B32; |
| xLineFixed left; |
| xLineFixed right; |
| } xTrapezoid; |
| |
| #define sz_xTrapezoid 40 |
| |
| typedef struct { |
| CARD16 width B16; |
| CARD16 height B16; |
| INT16 x B16; |
| INT16 y B16; |
| INT16 xOff B16; |
| INT16 yOff B16; |
| } xGlyphInfo; |
| |
| #define sz_xGlyphInfo 12 |
| |
| typedef struct { |
| CARD8 len; |
| CARD8 pad1; |
| CARD16 pad2; |
| INT16 deltax; |
| INT16 deltay; |
| } xGlyphElt; |
| |
| #define sz_xGlyphElt 8 |
| |
| typedef struct { |
| Fixed l, r, y; |
| } xSpanFix; |
| |
| #define sz_xSpanFix 12 |
| |
| typedef struct { |
| xSpanFix top, bot; |
| } xTrap; |
| |
| #define sz_xTrap 24 |
| |
| /* |
| * requests and replies |
| */ |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD32 majorVersion B32; |
| CARD32 minorVersion B32; |
| } xRenderQueryVersionReq; |
| |
| #define sz_xRenderQueryVersionReq 12 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| BYTE pad1; |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 majorVersion B32; |
| CARD32 minorVersion B32; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| } xRenderQueryVersionReply; |
| |
| #define sz_xRenderQueryVersionReply 32 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| } xRenderQueryPictFormatsReq; |
| |
| #define sz_xRenderQueryPictFormatsReq 4 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| BYTE pad1; |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numFormats B32; |
| CARD32 numScreens B32; |
| CARD32 numDepths B32; |
| CARD32 numVisuals B32; |
| CARD32 numSubpixel B32; /* Version 0.6 */ |
| CARD32 pad5 B32; |
| } xRenderQueryPictFormatsReply; |
| |
| #define sz_xRenderQueryPictFormatsReply 32 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| PictFormat format B32; |
| } xRenderQueryPictIndexValuesReq; |
| |
| #define sz_xRenderQueryPictIndexValuesReq 8 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| BYTE pad1; |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numIndexValues; |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| CARD32 pad6 B32; |
| } xRenderQueryPictIndexValuesReply; |
| |
| #define sz_xRenderQueryPictIndexValuesReply 32 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture pid B32; |
| Drawable drawable B32; |
| PictFormat format B32; |
| CARD32 mask B32; |
| } xRenderCreatePictureReq; |
| |
| #define sz_xRenderCreatePictureReq 20 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture picture B32; |
| CARD32 mask B32; |
| } xRenderChangePictureReq; |
| |
| #define sz_xRenderChangePictureReq 12 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture picture B32; |
| INT16 xOrigin B16; |
| INT16 yOrigin B16; |
| } xRenderSetPictureClipRectanglesReq; |
| |
| #define sz_xRenderSetPictureClipRectanglesReq 12 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture picture B32; |
| } xRenderFreePictureReq; |
| |
| #define sz_xRenderFreePictureReq 8 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture src B32; |
| Picture mask B32; |
| Picture dst B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| INT16 xMask B16; |
| INT16 yMask B16; |
| INT16 xDst B16; |
| INT16 yDst B16; |
| CARD16 width B16; |
| CARD16 height B16; |
| } xRenderCompositeReq; |
| |
| #define sz_xRenderCompositeReq 36 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture src B32; |
| Picture dst B32; |
| CARD32 colorScale B32; |
| CARD32 alphaScale B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| INT16 xDst B16; |
| INT16 yDst B16; |
| CARD16 width B16; |
| CARD16 height B16; |
| } xRenderScaleReq; |
| |
| #define sz_xRenderScaleReq 32 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture src B32; |
| Picture dst B32; |
| PictFormat maskFormat B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| } xRenderTrapezoidsReq; |
| |
| #define sz_xRenderTrapezoidsReq 24 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture src B32; |
| Picture dst B32; |
| PictFormat maskFormat B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| } xRenderTrianglesReq; |
| |
| #define sz_xRenderTrianglesReq 24 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture src B32; |
| Picture dst B32; |
| PictFormat maskFormat B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| } xRenderTriStripReq; |
| |
| #define sz_xRenderTriStripReq 24 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture src B32; |
| Picture dst B32; |
| PictFormat maskFormat B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| } xRenderTriFanReq; |
| |
| #define sz_xRenderTriFanReq 24 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Glyphset gsid B32; |
| PictFormat format B32; |
| } xRenderCreateGlyphSetReq; |
| |
| #define sz_xRenderCreateGlyphSetReq 12 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Glyphset gsid B32; |
| Glyphset existing B32; |
| } xRenderReferenceGlyphSetReq; |
| |
| #define sz_xRenderReferenceGlyphSetReq 24 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Glyphset glyphset B32; |
| } xRenderFreeGlyphSetReq; |
| |
| #define sz_xRenderFreeGlyphSetReq 8 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Glyphset glyphset B32; |
| CARD32 nglyphs; |
| } xRenderAddGlyphsReq; |
| |
| #define sz_xRenderAddGlyphsReq 12 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Glyphset glyphset B32; |
| } xRenderFreeGlyphsReq; |
| |
| #define sz_xRenderFreeGlyphsReq 8 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture src B32; |
| Picture dst B32; |
| PictFormat maskFormat B32; |
| Glyphset glyphset B32; |
| INT16 xSrc B16; |
| INT16 ySrc B16; |
| } xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req, |
| xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req; |
| |
| #define sz_xRenderCompositeGlyphs8Req 28 |
| #define sz_xRenderCompositeGlyphs16Req 28 |
| #define sz_xRenderCompositeGlyphs32Req 28 |
| |
| /* 0.1 and higher */ |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| CARD8 op; |
| CARD8 pad1; |
| CARD16 pad2 B16; |
| Picture dst B32; |
| xRenderColor color; |
| } xRenderFillRectanglesReq; |
| |
| #define sz_xRenderFillRectanglesReq 20 |
| |
| /* 0.5 and higher */ |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Cursor cid B32; |
| Picture src B32; |
| CARD16 x B16; |
| CARD16 y B16; |
| } xRenderCreateCursorReq; |
| |
| #define sz_xRenderCreateCursorReq 16 |
| |
| /* 0.6 and higher */ |
| |
| /* |
| * This can't use an array because 32-bit values may be in bitfields |
| */ |
| typedef struct { |
| Fixed matrix11 B32; |
| Fixed matrix12 B32; |
| Fixed matrix13 B32; |
| Fixed matrix21 B32; |
| Fixed matrix22 B32; |
| Fixed matrix23 B32; |
| Fixed matrix31 B32; |
| Fixed matrix32 B32; |
| Fixed matrix33 B32; |
| } xRenderTransform; |
| |
| #define sz_xRenderTransform 36 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture picture B32; |
| xRenderTransform transform; |
| } xRenderSetPictureTransformReq; |
| |
| #define sz_xRenderSetPictureTransformReq 44 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Drawable drawable B32; |
| } xRenderQueryFiltersReq; |
| |
| #define sz_xRenderQueryFiltersReq 8 |
| |
| typedef struct { |
| BYTE type; /* X_Reply */ |
| BYTE pad1; |
| CARD16 sequenceNumber B16; |
| CARD32 length B32; |
| CARD32 numAliases B32; /* LISTofCARD16 */ |
| CARD32 numFilters B32; /* LISTofSTRING8 */ |
| CARD32 pad2 B32; |
| CARD32 pad3 B32; |
| CARD32 pad4 B32; |
| CARD32 pad5 B32; |
| } xRenderQueryFiltersReply; |
| |
| #define sz_xRenderQueryFiltersReply 32 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture picture B32; |
| CARD16 nbytes B16; /* number of bytes in name */ |
| CARD16 pad B16; |
| } xRenderSetPictureFilterReq; |
| |
| #define sz_xRenderSetPictureFilterReq 12 |
| |
| /* 0.8 and higher */ |
| |
| typedef struct { |
| Cursor cursor B32; |
| CARD32 delay B32; |
| } xAnimCursorElt; |
| |
| #define sz_xAnimCursorElt 8 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Cursor cid B32; |
| } xRenderCreateAnimCursorReq; |
| |
| #define sz_xRenderCreateAnimCursorReq 8 |
| |
| /* 0.9 and higher */ |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture picture; |
| INT16 xOff B16; |
| INT16 yOff B16; |
| } xRenderAddTrapsReq; |
| |
| #define sz_xRenderAddTrapsReq 12 |
| |
| /* 0.10 and higher */ |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture pid B32; |
| xRenderColor color; |
| } xRenderCreateSolidFillReq; |
| |
| #define sz_xRenderCreateSolidFillReq 16 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture pid B32; |
| xPointFixed p1; |
| xPointFixed p2; |
| CARD32 nStops; |
| } xRenderCreateLinearGradientReq; |
| |
| #define sz_xRenderCreateLinearGradientReq 28 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture pid B32; |
| xPointFixed inner; |
| xPointFixed outer; |
| Fixed inner_radius; |
| Fixed outer_radius; |
| CARD32 nStops; |
| } xRenderCreateRadialGradientReq; |
| |
| #define sz_xRenderCreateRadialGradientReq 36 |
| |
| typedef struct { |
| CARD8 reqType; |
| CARD8 renderReqType; |
| CARD16 length B16; |
| Picture pid B32; |
| xPointFixed center; |
| Fixed angle; /* in degrees */ |
| CARD32 nStops; |
| } xRenderCreateConicalGradientReq; |
| |
| #define sz_xRenderCreateConicalGradientReq 24 |
| |
| #undef Window |
| #undef Drawable |
| #undef Font |
| #undef Pixmap |
| #undef Cursor |
| #undef Colormap |
| #undef GContext |
| #undef Atom |
| #undef VisualID |
| #undef Time |
| #undef KeyCode |
| #undef KeySym |
| |
| #undef Picture |
| #undef PictFormat |
| #undef Fixed |
| #undef Glyphset |
| |
| #endif /* _XRENDERP_H_ */ |