Path: blob/master/thirdparty/linuxbsd_headers/X11/extensions/renderproto.h
9905 views
/*1* Copyright © 2000 SuSE, Inc.2*3* Permission to use, copy, modify, distribute, and sell this software and its4* documentation for any purpose is hereby granted without fee, provided that5* the above copyright notice appear in all copies and that both that6* copyright notice and this permission notice appear in supporting7* documentation, and that the name of SuSE not be used in advertising or8* publicity pertaining to distribution of the software without specific,9* written prior permission. SuSE makes no representations about the10* suitability of this software for any purpose. It is provided "as is"11* without express or implied warranty.12*13* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL14* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE15* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES16* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION17* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN18* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.19*20* Author: Keith Packard, SuSE, Inc.21*/2223#ifndef _XRENDERP_H_24#define _XRENDERP_H_2526#include <X11/Xmd.h>27#include <X11/extensions/render.h>2829#define Window CARD3230#define Drawable CARD3231#define Font CARD3232#define Pixmap CARD3233#define Cursor CARD3234#define Colormap CARD3235#define GContext CARD3236#define Atom CARD3237#define VisualID CARD3238#define Time CARD3239#define KeyCode CARD840#define KeySym CARD324142#define Picture CARD3243#define PictFormat CARD3244#define Fixed INT3245#define Glyphset CARD324647/*48* data structures49*/5051typedef struct {52CARD16 red;53CARD16 redMask;54CARD16 green;55CARD16 greenMask;56CARD16 blue;57CARD16 blueMask;58CARD16 alpha;59CARD16 alphaMask;60} xDirectFormat;6162#define sz_xDirectFormat 166364typedef struct {65PictFormat id;66CARD8 type;67CARD8 depth;68CARD16 pad1;69xDirectFormat direct;70Colormap colormap;71} xPictFormInfo;7273#define sz_xPictFormInfo 287475typedef struct {76VisualID visual;77PictFormat format;78} xPictVisual;7980#define sz_xPictVisual 88182typedef struct {83CARD8 depth;84CARD8 pad1;85CARD16 nPictVisuals;86CARD32 pad2;87} xPictDepth;8889#define sz_xPictDepth 89091typedef struct {92CARD32 nDepth;93PictFormat fallback;94} xPictScreen;9596#define sz_xPictScreen 89798typedef struct {99CARD32 pixel;100CARD16 red;101CARD16 green;102CARD16 blue;103CARD16 alpha;104} xIndexValue;105106#define sz_xIndexValue 12107108typedef struct {109CARD16 red;110CARD16 green;111CARD16 blue;112CARD16 alpha;113} xRenderColor;114115#define sz_xRenderColor 8116117typedef struct {118Fixed x;119Fixed y;120} xPointFixed;121122#define sz_xPointFixed 8123124typedef struct {125xPointFixed p1;126xPointFixed p2;127} xLineFixed;128129#define sz_xLineFixed 16130131typedef struct {132xPointFixed p1, p2, p3;133} xTriangle;134135#define sz_xTriangle 24136137typedef struct {138Fixed top;139Fixed bottom;140xLineFixed left;141xLineFixed right;142} xTrapezoid;143144#define sz_xTrapezoid 40145146typedef struct {147CARD16 width;148CARD16 height;149INT16 x;150INT16 y;151INT16 xOff;152INT16 yOff;153} xGlyphInfo;154155#define sz_xGlyphInfo 12156157typedef struct {158CARD8 len;159CARD8 pad1;160CARD16 pad2;161INT16 deltax;162INT16 deltay;163} xGlyphElt;164165#define sz_xGlyphElt 8166167typedef struct {168Fixed l, r, y;169} xSpanFix;170171#define sz_xSpanFix 12172173typedef struct {174xSpanFix top, bot;175} xTrap;176177#define sz_xTrap 24178179/*180* requests and replies181*/182typedef struct {183CARD8 reqType;184CARD8 renderReqType;185CARD16 length;186CARD32 majorVersion;187CARD32 minorVersion;188} xRenderQueryVersionReq;189190#define sz_xRenderQueryVersionReq 12191192typedef struct {193BYTE type; /* X_Reply */194BYTE pad1;195CARD16 sequenceNumber;196CARD32 length;197CARD32 majorVersion;198CARD32 minorVersion;199CARD32 pad2;200CARD32 pad3;201CARD32 pad4;202CARD32 pad5;203} xRenderQueryVersionReply;204205#define sz_xRenderQueryVersionReply 32206207typedef struct {208CARD8 reqType;209CARD8 renderReqType;210CARD16 length;211} xRenderQueryPictFormatsReq;212213#define sz_xRenderQueryPictFormatsReq 4214215typedef struct {216BYTE type; /* X_Reply */217BYTE pad1;218CARD16 sequenceNumber;219CARD32 length;220CARD32 numFormats;221CARD32 numScreens;222CARD32 numDepths;223CARD32 numVisuals;224CARD32 numSubpixel; /* Version 0.6 */225CARD32 pad5;226} xRenderQueryPictFormatsReply;227228#define sz_xRenderQueryPictFormatsReply 32229230typedef struct {231CARD8 reqType;232CARD8 renderReqType;233CARD16 length;234PictFormat format;235} xRenderQueryPictIndexValuesReq;236237#define sz_xRenderQueryPictIndexValuesReq 8238239typedef struct {240BYTE type; /* X_Reply */241BYTE pad1;242CARD16 sequenceNumber;243CARD32 length;244CARD32 numIndexValues;245CARD32 pad2;246CARD32 pad3;247CARD32 pad4;248CARD32 pad5;249CARD32 pad6;250} xRenderQueryPictIndexValuesReply;251252#define sz_xRenderQueryPictIndexValuesReply 32253254typedef struct {255CARD8 reqType;256CARD8 renderReqType;257CARD16 length;258Picture pid;259Drawable drawable;260PictFormat format;261CARD32 mask;262} xRenderCreatePictureReq;263264#define sz_xRenderCreatePictureReq 20265266typedef struct {267CARD8 reqType;268CARD8 renderReqType;269CARD16 length;270Picture picture;271CARD32 mask;272} xRenderChangePictureReq;273274#define sz_xRenderChangePictureReq 12275276typedef struct {277CARD8 reqType;278CARD8 renderReqType;279CARD16 length;280Picture picture;281INT16 xOrigin;282INT16 yOrigin;283} xRenderSetPictureClipRectanglesReq;284285#define sz_xRenderSetPictureClipRectanglesReq 12286287typedef struct {288CARD8 reqType;289CARD8 renderReqType;290CARD16 length;291Picture picture;292} xRenderFreePictureReq;293294#define sz_xRenderFreePictureReq 8295296typedef struct {297CARD8 reqType;298CARD8 renderReqType;299CARD16 length;300CARD8 op;301CARD8 pad1;302CARD16 pad2;303Picture src;304Picture mask;305Picture dst;306INT16 xSrc;307INT16 ySrc;308INT16 xMask;309INT16 yMask;310INT16 xDst;311INT16 yDst;312CARD16 width;313CARD16 height;314} xRenderCompositeReq;315316#define sz_xRenderCompositeReq 36317318typedef struct {319CARD8 reqType;320CARD8 renderReqType;321CARD16 length;322Picture src;323Picture dst;324CARD32 colorScale;325CARD32 alphaScale;326INT16 xSrc;327INT16 ySrc;328INT16 xDst;329INT16 yDst;330CARD16 width;331CARD16 height;332} xRenderScaleReq;333334#define sz_xRenderScaleReq 32335336typedef struct {337CARD8 reqType;338CARD8 renderReqType;339CARD16 length;340CARD8 op;341CARD8 pad1;342CARD16 pad2;343Picture src;344Picture dst;345PictFormat maskFormat;346INT16 xSrc;347INT16 ySrc;348} xRenderTrapezoidsReq;349350#define sz_xRenderTrapezoidsReq 24351352typedef struct {353CARD8 reqType;354CARD8 renderReqType;355CARD16 length;356CARD8 op;357CARD8 pad1;358CARD16 pad2;359Picture src;360Picture dst;361PictFormat maskFormat;362INT16 xSrc;363INT16 ySrc;364} xRenderTrianglesReq;365366#define sz_xRenderTrianglesReq 24367368typedef struct {369CARD8 reqType;370CARD8 renderReqType;371CARD16 length;372CARD8 op;373CARD8 pad1;374CARD16 pad2;375Picture src;376Picture dst;377PictFormat maskFormat;378INT16 xSrc;379INT16 ySrc;380} xRenderTriStripReq;381382#define sz_xRenderTriStripReq 24383384typedef struct {385CARD8 reqType;386CARD8 renderReqType;387CARD16 length;388CARD8 op;389CARD8 pad1;390CARD16 pad2;391Picture src;392Picture dst;393PictFormat maskFormat;394INT16 xSrc;395INT16 ySrc;396} xRenderTriFanReq;397398#define sz_xRenderTriFanReq 24399400typedef struct {401CARD8 reqType;402CARD8 renderReqType;403CARD16 length;404Glyphset gsid;405PictFormat format;406} xRenderCreateGlyphSetReq;407408#define sz_xRenderCreateGlyphSetReq 12409410typedef struct {411CARD8 reqType;412CARD8 renderReqType;413CARD16 length;414Glyphset gsid;415Glyphset existing;416} xRenderReferenceGlyphSetReq;417418#define sz_xRenderReferenceGlyphSetReq 24419420typedef struct {421CARD8 reqType;422CARD8 renderReqType;423CARD16 length;424Glyphset glyphset;425} xRenderFreeGlyphSetReq;426427#define sz_xRenderFreeGlyphSetReq 8428429typedef struct {430CARD8 reqType;431CARD8 renderReqType;432CARD16 length;433Glyphset glyphset;434CARD32 nglyphs;435} xRenderAddGlyphsReq;436437#define sz_xRenderAddGlyphsReq 12438439typedef struct {440CARD8 reqType;441CARD8 renderReqType;442CARD16 length;443Glyphset glyphset;444} xRenderFreeGlyphsReq;445446#define sz_xRenderFreeGlyphsReq 8447448typedef struct {449CARD8 reqType;450CARD8 renderReqType;451CARD16 length;452CARD8 op;453CARD8 pad1;454CARD16 pad2;455Picture src;456Picture dst;457PictFormat maskFormat;458Glyphset glyphset;459INT16 xSrc;460INT16 ySrc;461} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,462xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;463464#define sz_xRenderCompositeGlyphs8Req 28465#define sz_xRenderCompositeGlyphs16Req 28466#define sz_xRenderCompositeGlyphs32Req 28467468/* 0.1 and higher */469470typedef struct {471CARD8 reqType;472CARD8 renderReqType;473CARD16 length;474CARD8 op;475CARD8 pad1;476CARD16 pad2;477Picture dst;478xRenderColor color;479} xRenderFillRectanglesReq;480481#define sz_xRenderFillRectanglesReq 20482483/* 0.5 and higher */484485typedef struct {486CARD8 reqType;487CARD8 renderReqType;488CARD16 length;489Cursor cid;490Picture src;491CARD16 x;492CARD16 y;493} xRenderCreateCursorReq;494495#define sz_xRenderCreateCursorReq 16496497/* 0.6 and higher */498499/*500* This can't use an array because 32-bit values may be in bitfields501*/502typedef struct {503Fixed matrix11;504Fixed matrix12;505Fixed matrix13;506Fixed matrix21;507Fixed matrix22;508Fixed matrix23;509Fixed matrix31;510Fixed matrix32;511Fixed matrix33;512} xRenderTransform;513514#define sz_xRenderTransform 36515516typedef struct {517CARD8 reqType;518CARD8 renderReqType;519CARD16 length;520Picture picture;521xRenderTransform transform;522} xRenderSetPictureTransformReq;523524#define sz_xRenderSetPictureTransformReq 44525526typedef struct {527CARD8 reqType;528CARD8 renderReqType;529CARD16 length;530Drawable drawable;531} xRenderQueryFiltersReq;532533#define sz_xRenderQueryFiltersReq 8534535typedef struct {536BYTE type; /* X_Reply */537BYTE pad1;538CARD16 sequenceNumber;539CARD32 length;540CARD32 numAliases; /* LISTofCARD16 */541CARD32 numFilters; /* LISTofSTRING8 */542CARD32 pad2;543CARD32 pad3;544CARD32 pad4;545CARD32 pad5;546} xRenderQueryFiltersReply;547548#define sz_xRenderQueryFiltersReply 32549550typedef struct {551CARD8 reqType;552CARD8 renderReqType;553CARD16 length;554Picture picture;555CARD16 nbytes; /* number of bytes in name */556CARD16 pad;557} xRenderSetPictureFilterReq;558559#define sz_xRenderSetPictureFilterReq 12560561/* 0.8 and higher */562563typedef struct {564Cursor cursor;565CARD32 delay;566} xAnimCursorElt;567568#define sz_xAnimCursorElt 8569570typedef struct {571CARD8 reqType;572CARD8 renderReqType;573CARD16 length;574Cursor cid;575} xRenderCreateAnimCursorReq;576577#define sz_xRenderCreateAnimCursorReq 8578579/* 0.9 and higher */580581typedef struct {582CARD8 reqType;583CARD8 renderReqType;584CARD16 length;585Picture picture;586INT16 xOff;587INT16 yOff;588} xRenderAddTrapsReq;589590#define sz_xRenderAddTrapsReq 12591592/* 0.10 and higher */593594typedef struct {595CARD8 reqType;596CARD8 renderReqType;597CARD16 length;598Picture pid;599xRenderColor color;600} xRenderCreateSolidFillReq;601602#define sz_xRenderCreateSolidFillReq 16603604typedef struct {605CARD8 reqType;606CARD8 renderReqType;607CARD16 length;608Picture pid;609xPointFixed p1;610xPointFixed p2;611CARD32 nStops;612} xRenderCreateLinearGradientReq;613614#define sz_xRenderCreateLinearGradientReq 28615616typedef struct {617CARD8 reqType;618CARD8 renderReqType;619CARD16 length;620Picture pid;621xPointFixed inner;622xPointFixed outer;623Fixed inner_radius;624Fixed outer_radius;625CARD32 nStops;626} xRenderCreateRadialGradientReq;627628#define sz_xRenderCreateRadialGradientReq 36629630typedef struct {631CARD8 reqType;632CARD8 renderReqType;633CARD16 length;634Picture pid;635xPointFixed center;636Fixed angle; /* in degrees */637CARD32 nStops;638} xRenderCreateConicalGradientReq;639640#define sz_xRenderCreateConicalGradientReq 24641642#undef Window643#undef Drawable644#undef Font645#undef Pixmap646#undef Cursor647#undef Colormap648#undef GContext649#undef Atom650#undef VisualID651#undef Time652#undef KeyCode653#undef KeySym654655#undef Picture656#undef PictFormat657#undef Fixed658#undef Glyphset659660#endif /* _XRENDERP_H_ */661662663