Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:26:30

0001 /*
0002  * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
0003  *
0004  * Copyright © 2000 SuSE, Inc.
0005  *
0006  * Permission to use, copy, modify, distribute, and sell this software and its
0007  * documentation for any purpose is hereby granted without fee, provided that
0008  * the above copyright notice appear in all copies and that both that
0009  * copyright notice and this permission notice appear in supporting
0010  * documentation, and that the name of SuSE not be used in advertising or
0011  * publicity pertaining to distribution of the software without specific,
0012  * written prior permission.  SuSE makes no representations about the
0013  * suitability of this software for any purpose.  It is provided "as is"
0014  * without express or implied warranty.
0015  *
0016  * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
0017  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
0018  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
0019  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
0020  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
0021  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0022  *
0023  * Author:  Keith Packard, SuSE, Inc.
0024  */
0025 
0026 #ifndef _XRENDERP_H_
0027 #define _XRENDERP_H_
0028 
0029 #include <X11/Xmd.h>
0030 #include <X11/extensions/render.h>
0031 
0032 #define Window CARD32
0033 #define Drawable CARD32
0034 #define Font CARD32
0035 #define Pixmap CARD32
0036 #define Cursor CARD32
0037 #define Colormap CARD32
0038 #define GContext CARD32
0039 #define Atom CARD32
0040 #define VisualID CARD32
0041 #define Time CARD32
0042 #define KeyCode CARD8
0043 #define KeySym CARD32
0044 
0045 #define Picture     CARD32
0046 #define PictFormat  CARD32
0047 #define Fixed       INT32
0048 #define Glyphset    CARD32
0049 
0050 /*
0051  * data structures
0052  */
0053 
0054 typedef struct {
0055     CARD16  red B16;
0056     CARD16  redMask B16;
0057     CARD16  green B16;
0058     CARD16  greenMask B16;
0059     CARD16  blue B16;
0060     CARD16  blueMask B16;
0061     CARD16  alpha B16;
0062     CARD16  alphaMask B16;
0063 } xDirectFormat;
0064 
0065 #define sz_xDirectFormat    16
0066 
0067 typedef struct {
0068     PictFormat  id B32;
0069     CARD8   type;
0070     CARD8   depth;
0071     CARD16  pad1 B16;
0072     xDirectFormat   direct;
0073     Colormap    colormap;
0074 } xPictFormInfo;
0075 
0076 #define sz_xPictFormInfo    28
0077 
0078 typedef struct {
0079     VisualID    visual;
0080     PictFormat  format;
0081 } xPictVisual;
0082 
0083 #define sz_xPictVisual      8
0084 
0085 typedef struct {
0086     CARD8   depth;
0087     CARD8   pad1;
0088     CARD16  nPictVisuals B16;
0089     CARD32  pad2 B32;
0090 } xPictDepth;
0091 
0092 #define sz_xPictDepth   8
0093 
0094 typedef struct {
0095     CARD32  nDepth B32;
0096     PictFormat  fallback B32;
0097 } xPictScreen;
0098 
0099 #define sz_xPictScreen  8
0100 
0101 typedef struct {
0102     CARD32  pixel B32;
0103     CARD16  red B16;
0104     CARD16  green B16;
0105     CARD16  blue B16;
0106     CARD16  alpha B16;
0107 } xIndexValue;
0108 
0109 #define sz_xIndexValue  12
0110 
0111 typedef struct {
0112     CARD16  red B16;
0113     CARD16  green B16;
0114     CARD16  blue B16;
0115     CARD16  alpha B16;
0116 } xRenderColor;
0117 
0118 #define sz_xRenderColor 8
0119 
0120 typedef struct {
0121     Fixed   x B32;
0122     Fixed   y B32;
0123 } xPointFixed;
0124 
0125 #define sz_xPointFixed  8
0126 
0127 typedef struct {
0128     xPointFixed p1;
0129     xPointFixed p2;
0130 } xLineFixed;
0131 
0132 #define sz_xLineFixed   16
0133 
0134 typedef struct {
0135     xPointFixed p1, p2, p3;
0136 } xTriangle;
0137 
0138 #define sz_xTriangle    24
0139 
0140 typedef struct {
0141     Fixed   top B32;
0142     Fixed   bottom B32;
0143     xLineFixed  left;
0144     xLineFixed  right;
0145 } xTrapezoid;
0146 
0147 #define sz_xTrapezoid   40
0148 
0149 typedef struct {
0150     CARD16  width B16;
0151     CARD16  height B16;
0152     INT16   x B16;
0153     INT16   y B16;
0154     INT16   xOff B16;
0155     INT16   yOff B16;
0156 } xGlyphInfo;
0157 
0158 #define sz_xGlyphInfo   12
0159 
0160 typedef struct {
0161     CARD8   len;
0162     CARD8   pad1;
0163     CARD16  pad2;
0164     INT16   deltax;
0165     INT16   deltay;
0166 } xGlyphElt;
0167 
0168 #define sz_xGlyphElt    8
0169 
0170 typedef struct {
0171     Fixed   l, r, y;
0172 } xSpanFix;
0173 
0174 #define sz_xSpanFix 12
0175 
0176 typedef struct {
0177     xSpanFix    top, bot;
0178 } xTrap;
0179 
0180 #define sz_xTrap    24
0181 
0182 /*
0183  * requests and replies
0184  */
0185 typedef struct {
0186     CARD8   reqType;
0187     CARD8   renderReqType;
0188     CARD16  length B16;
0189     CARD32  majorVersion B32;
0190     CARD32  minorVersion B32;
0191 } xRenderQueryVersionReq;
0192 
0193 #define sz_xRenderQueryVersionReq   12
0194 
0195 typedef struct {
0196     BYTE    type;   /* X_Reply */
0197     BYTE    pad1;
0198     CARD16  sequenceNumber B16;
0199     CARD32  length B32;
0200     CARD32  majorVersion B32;
0201     CARD32  minorVersion B32;
0202     CARD32  pad2 B32;
0203     CARD32  pad3 B32;
0204     CARD32  pad4 B32;
0205     CARD32  pad5 B32;
0206 } xRenderQueryVersionReply;
0207 
0208 #define sz_xRenderQueryVersionReply 32
0209 
0210 typedef struct {
0211     CARD8   reqType;
0212     CARD8   renderReqType;
0213     CARD16  length B16;
0214 } xRenderQueryPictFormatsReq;
0215 
0216 #define sz_xRenderQueryPictFormatsReq   4
0217 
0218 typedef struct {
0219     BYTE    type;   /* X_Reply */
0220     BYTE    pad1;
0221     CARD16  sequenceNumber B16;
0222     CARD32  length B32;
0223     CARD32  numFormats B32;
0224     CARD32  numScreens B32;
0225     CARD32  numDepths B32;
0226     CARD32  numVisuals B32;
0227     CARD32  numSubpixel B32;        /* Version 0.6 */
0228     CARD32  pad5 B32;
0229 } xRenderQueryPictFormatsReply;
0230 
0231 #define sz_xRenderQueryPictFormatsReply 32
0232 
0233 typedef struct {
0234     CARD8   reqType;
0235     CARD8   renderReqType;
0236     CARD16  length B16;
0237     PictFormat  format B32;
0238 } xRenderQueryPictIndexValuesReq;
0239 
0240 #define sz_xRenderQueryPictIndexValuesReq   8
0241 
0242 typedef struct {
0243     BYTE    type;   /* X_Reply */
0244     BYTE    pad1;
0245     CARD16  sequenceNumber B16;
0246     CARD32  length B32;
0247     CARD32  numIndexValues;
0248     CARD32  pad2 B32;
0249     CARD32  pad3 B32;
0250     CARD32  pad4 B32;
0251     CARD32  pad5 B32;
0252     CARD32  pad6 B32;
0253 } xRenderQueryPictIndexValuesReply;
0254 
0255 #define sz_xRenderQueryPictIndexValuesReply 32
0256 
0257 typedef struct {
0258     CARD8   reqType;
0259     CARD8   renderReqType;
0260     CARD16  length B16;
0261     Picture pid B32;
0262     Drawable    drawable B32;
0263     PictFormat  format B32;
0264     CARD32  mask B32;
0265 } xRenderCreatePictureReq;
0266 
0267 #define sz_xRenderCreatePictureReq      20
0268 
0269 typedef struct {
0270     CARD8   reqType;
0271     CARD8   renderReqType;
0272     CARD16  length B16;
0273     Picture picture B32;
0274     CARD32  mask B32;
0275 } xRenderChangePictureReq;
0276 
0277 #define sz_xRenderChangePictureReq      12
0278 
0279 typedef struct {
0280     CARD8       reqType;
0281     CARD8       renderReqType;
0282     CARD16      length B16;
0283     Picture     picture B32;
0284     INT16   xOrigin B16;
0285     INT16   yOrigin B16;
0286 } xRenderSetPictureClipRectanglesReq;
0287 
0288 #define sz_xRenderSetPictureClipRectanglesReq       12
0289 
0290 typedef struct {
0291     CARD8       reqType;
0292     CARD8       renderReqType;
0293     CARD16      length B16;
0294     Picture     picture B32;
0295 } xRenderFreePictureReq;
0296 
0297 #define sz_xRenderFreePictureReq        8
0298 
0299 typedef struct {
0300     CARD8       reqType;
0301     CARD8       renderReqType;
0302     CARD16      length B16;
0303     CARD8   op;
0304     CARD8   pad1;
0305     CARD16  pad2 B16;
0306     Picture src B32;
0307     Picture mask B32;
0308     Picture dst B32;
0309     INT16   xSrc B16;
0310     INT16   ySrc B16;
0311     INT16   xMask B16;
0312     INT16   yMask B16;
0313     INT16   xDst B16;
0314     INT16   yDst B16;
0315     CARD16  width B16;
0316     CARD16  height B16;
0317 } xRenderCompositeReq;
0318 
0319 #define sz_xRenderCompositeReq          36
0320 
0321 typedef struct {
0322     CARD8       reqType;
0323     CARD8       renderReqType;
0324     CARD16      length B16;
0325     Picture src B32;
0326     Picture dst B32;
0327     CARD32  colorScale B32;
0328     CARD32  alphaScale B32;
0329     INT16   xSrc B16;
0330     INT16   ySrc B16;
0331     INT16   xDst B16;
0332     INT16   yDst B16;
0333     CARD16  width B16;
0334     CARD16  height B16;
0335 } xRenderScaleReq;
0336 
0337 #define sz_xRenderScaleReq              32
0338 
0339 typedef struct {
0340     CARD8       reqType;
0341     CARD8       renderReqType;
0342     CARD16      length B16;
0343     CARD8   op;
0344     CARD8   pad1;
0345     CARD16  pad2 B16;
0346     Picture src B32;
0347     Picture dst B32;
0348     PictFormat  maskFormat B32;
0349     INT16   xSrc B16;
0350     INT16   ySrc B16;
0351 } xRenderTrapezoidsReq;
0352 
0353 #define sz_xRenderTrapezoidsReq             24
0354 
0355 typedef struct {
0356     CARD8       reqType;
0357     CARD8       renderReqType;
0358     CARD16      length B16;
0359     CARD8   op;
0360     CARD8   pad1;
0361     CARD16  pad2 B16;
0362     Picture src B32;
0363     Picture dst B32;
0364     PictFormat  maskFormat B32;
0365     INT16   xSrc B16;
0366     INT16   ySrc B16;
0367 } xRenderTrianglesReq;
0368 
0369 #define sz_xRenderTrianglesReq              24
0370 
0371 typedef struct {
0372     CARD8       reqType;
0373     CARD8       renderReqType;
0374     CARD16      length B16;
0375     CARD8   op;
0376     CARD8   pad1;
0377     CARD16  pad2 B16;
0378     Picture src B32;
0379     Picture dst B32;
0380     PictFormat  maskFormat B32;
0381     INT16   xSrc B16;
0382     INT16   ySrc B16;
0383 } xRenderTriStripReq;
0384 
0385 #define sz_xRenderTriStripReq               24
0386 
0387 typedef struct {
0388     CARD8       reqType;
0389     CARD8       renderReqType;
0390     CARD16      length B16;
0391     CARD8   op;
0392     CARD8   pad1;
0393     CARD16  pad2 B16;
0394     Picture src B32;
0395     Picture dst B32;
0396     PictFormat  maskFormat B32;
0397     INT16   xSrc B16;
0398     INT16   ySrc B16;
0399 } xRenderTriFanReq;
0400 
0401 #define sz_xRenderTriFanReq             24
0402 
0403 typedef struct {
0404     CARD8       reqType;
0405     CARD8       renderReqType;
0406     CARD16      length B16;
0407     Glyphset    gsid B32;
0408     PictFormat  format B32;
0409 } xRenderCreateGlyphSetReq;
0410 
0411 #define sz_xRenderCreateGlyphSetReq         12
0412 
0413 typedef struct {
0414     CARD8       reqType;
0415     CARD8       renderReqType;
0416     CARD16      length B16;
0417     Glyphset    gsid B32;
0418     Glyphset    existing B32;
0419 } xRenderReferenceGlyphSetReq;
0420 
0421 #define sz_xRenderReferenceGlyphSetReq          24
0422 
0423 typedef struct {
0424     CARD8       reqType;
0425     CARD8       renderReqType;
0426     CARD16      length B16;
0427     Glyphset    glyphset B32;
0428 } xRenderFreeGlyphSetReq;
0429 
0430 #define sz_xRenderFreeGlyphSetReq           8
0431 
0432 typedef struct {
0433     CARD8       reqType;
0434     CARD8       renderReqType;
0435     CARD16      length B16;
0436     Glyphset    glyphset B32;
0437     CARD32  nglyphs;
0438 } xRenderAddGlyphsReq;
0439 
0440 #define sz_xRenderAddGlyphsReq              12
0441 
0442 typedef struct {
0443     CARD8       reqType;
0444     CARD8       renderReqType;
0445     CARD16      length B16;
0446     Glyphset    glyphset B32;
0447 } xRenderFreeGlyphsReq;
0448 
0449 #define sz_xRenderFreeGlyphsReq             8
0450 
0451 typedef struct {
0452     CARD8       reqType;
0453     CARD8       renderReqType;
0454     CARD16      length B16;
0455     CARD8   op;
0456     CARD8   pad1;
0457     CARD16  pad2 B16;
0458     Picture src B32;
0459     Picture dst B32;
0460     PictFormat  maskFormat B32;
0461     Glyphset    glyphset B32;
0462     INT16   xSrc B16;
0463     INT16   ySrc B16;
0464 } xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
0465 xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
0466 
0467 #define sz_xRenderCompositeGlyphs8Req           28
0468 #define sz_xRenderCompositeGlyphs16Req          28
0469 #define sz_xRenderCompositeGlyphs32Req          28
0470 
0471 /* 0.1 and higher */
0472 
0473 typedef struct {
0474     CARD8   reqType;
0475     CARD8       renderReqType;
0476     CARD16      length B16;
0477     CARD8   op;
0478     CARD8   pad1;
0479     CARD16  pad2 B16;
0480     Picture dst B32;
0481     xRenderColor    color;
0482 } xRenderFillRectanglesReq;
0483 
0484 #define sz_xRenderFillRectanglesReq         20
0485 
0486 /* 0.5 and higher */
0487 
0488 typedef struct {
0489     CARD8   reqType;
0490     CARD8   renderReqType;
0491     CARD16  length B16;
0492     Cursor  cid B32;
0493     Picture src B32;
0494     CARD16  x B16;
0495     CARD16  y B16;
0496 } xRenderCreateCursorReq;
0497 
0498 #define sz_xRenderCreateCursorReq           16
0499 
0500 /* 0.6 and higher */
0501 
0502 /*
0503  * This can't use an array because 32-bit values may be in bitfields
0504  */
0505 typedef struct {
0506     Fixed   matrix11 B32;
0507     Fixed   matrix12 B32;
0508     Fixed   matrix13 B32;
0509     Fixed   matrix21 B32;
0510     Fixed   matrix22 B32;
0511     Fixed   matrix23 B32;
0512     Fixed   matrix31 B32;
0513     Fixed   matrix32 B32;
0514     Fixed   matrix33 B32;
0515 } xRenderTransform;
0516 
0517 #define sz_xRenderTransform 36
0518 
0519 typedef struct {
0520     CARD8       reqType;
0521     CARD8       renderReqType;
0522     CARD16      length B16;
0523     Picture     picture B32;
0524     xRenderTransform    transform;
0525 } xRenderSetPictureTransformReq;
0526 
0527 #define sz_xRenderSetPictureTransformReq        44
0528 
0529 typedef struct {
0530     CARD8       reqType;
0531     CARD8       renderReqType;
0532     CARD16      length B16;
0533     Drawable        drawable B32;
0534 } xRenderQueryFiltersReq;
0535 
0536 #define sz_xRenderQueryFiltersReq           8
0537 
0538 typedef struct {
0539     BYTE    type;   /* X_Reply */
0540     BYTE    pad1;
0541     CARD16  sequenceNumber B16;
0542     CARD32  length B32;
0543     CARD32  numAliases B32; /* LISTofCARD16 */
0544     CARD32  numFilters B32; /* LISTofSTRING8 */
0545     CARD32  pad2 B32;
0546     CARD32  pad3 B32;
0547     CARD32  pad4 B32;
0548     CARD32  pad5 B32;
0549 } xRenderQueryFiltersReply;
0550 
0551 #define sz_xRenderQueryFiltersReply         32
0552 
0553 typedef struct {
0554     CARD8       reqType;
0555     CARD8       renderReqType;
0556     CARD16      length B16;
0557     Picture     picture B32;
0558     CARD16      nbytes B16; /* number of bytes in name */
0559     CARD16      pad B16;
0560 } xRenderSetPictureFilterReq;
0561 
0562 #define sz_xRenderSetPictureFilterReq           12
0563 
0564 /* 0.8 and higher */
0565 
0566 typedef struct {
0567     Cursor      cursor B32;
0568     CARD32      delay B32;
0569 } xAnimCursorElt;
0570 
0571 #define sz_xAnimCursorElt               8
0572 
0573 typedef struct {
0574     CARD8       reqType;
0575     CARD8       renderReqType;
0576     CARD16      length B16;
0577     Cursor      cid B32;
0578 } xRenderCreateAnimCursorReq;
0579 
0580 #define sz_xRenderCreateAnimCursorReq           8
0581 
0582 /* 0.9 and higher */
0583 
0584 typedef struct {
0585     CARD8       reqType;
0586     CARD8       renderReqType;
0587     CARD16      length B16;
0588     Picture     picture;
0589     INT16       xOff B16;
0590     INT16       yOff B16;
0591 } xRenderAddTrapsReq;
0592 
0593 #define sz_xRenderAddTrapsReq               12
0594 
0595 /* 0.10 and higher */
0596 
0597 typedef struct {
0598     CARD8   reqType;
0599     CARD8   renderReqType;
0600     CARD16  length B16;
0601     Picture pid B32;
0602     xRenderColor color;
0603 } xRenderCreateSolidFillReq;
0604 
0605 #define sz_xRenderCreateSolidFillReq                 16
0606 
0607 typedef struct {
0608     CARD8   reqType;
0609     CARD8   renderReqType;
0610     CARD16  length B16;
0611     Picture pid B32;
0612     xPointFixed p1;
0613     xPointFixed p2;
0614     CARD32      nStops;
0615 } xRenderCreateLinearGradientReq;
0616 
0617 #define sz_xRenderCreateLinearGradientReq                 28
0618 
0619 typedef struct {
0620     CARD8   reqType;
0621     CARD8   renderReqType;
0622     CARD16  length B16;
0623     Picture pid B32;
0624     xPointFixed inner;
0625     xPointFixed outer;
0626     Fixed       inner_radius;
0627     Fixed       outer_radius;
0628     CARD32      nStops;
0629 } xRenderCreateRadialGradientReq;
0630 
0631 #define sz_xRenderCreateRadialGradientReq                 36
0632 
0633 typedef struct {
0634     CARD8   reqType;
0635     CARD8   renderReqType;
0636     CARD16  length B16;
0637     Picture pid B32;
0638     xPointFixed center;
0639     Fixed       angle; /* in degrees */
0640     CARD32      nStops;
0641 } xRenderCreateConicalGradientReq;
0642 
0643 #define sz_xRenderCreateConicalGradientReq                 24
0644 
0645 #undef Window
0646 #undef Drawable
0647 #undef Font
0648 #undef Pixmap
0649 #undef Cursor
0650 #undef Colormap
0651 #undef GContext
0652 #undef Atom
0653 #undef VisualID
0654 #undef Time
0655 #undef KeyCode
0656 #undef KeySym
0657 
0658 #undef Picture
0659 #undef PictFormat
0660 #undef Fixed
0661 #undef Glyphset
0662 
0663 #endif /* _XRENDERP_H_ */