1*cdf0e10cSrcweir /*
2*cdf0e10cSrcweir  * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
3*cdf0e10cSrcweir  *
4*cdf0e10cSrcweir  * Copyright © 2000 SuSE, Inc.
5*cdf0e10cSrcweir  *
6*cdf0e10cSrcweir  * Permission to use, copy, modify, distribute, and sell this software and its
7*cdf0e10cSrcweir  * documentation for any purpose is hereby granted without fee, provided that
8*cdf0e10cSrcweir  * the above copyright notice appear in all copies and that both that
9*cdf0e10cSrcweir  * copyright notice and this permission notice appear in supporting
10*cdf0e10cSrcweir  * documentation, and that the name of SuSE not be used in advertising or
11*cdf0e10cSrcweir  * publicity pertaining to distribution of the software without specific,
12*cdf0e10cSrcweir  * written prior permission.  SuSE makes no representations about the
13*cdf0e10cSrcweir  * suitability of this software for any purpose.  It is provided "as is"
14*cdf0e10cSrcweir  * without express or implied warranty.
15*cdf0e10cSrcweir  *
16*cdf0e10cSrcweir  * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
17*cdf0e10cSrcweir  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
18*cdf0e10cSrcweir  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19*cdf0e10cSrcweir  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
20*cdf0e10cSrcweir  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
21*cdf0e10cSrcweir  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22*cdf0e10cSrcweir  *
23*cdf0e10cSrcweir  * Author:  Keith Packard, SuSE, Inc.
24*cdf0e10cSrcweir  */
25*cdf0e10cSrcweir 
26*cdf0e10cSrcweir #ifndef _XRENDERP_H_
27*cdf0e10cSrcweir #define _XRENDERP_H_
28*cdf0e10cSrcweir 
29*cdf0e10cSrcweir #include <X11/Xmd.h>
30*cdf0e10cSrcweir #include <X11/extensions/render.h>
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir #define Window CARD32
33*cdf0e10cSrcweir #define Drawable CARD32
34*cdf0e10cSrcweir #define Font CARD32
35*cdf0e10cSrcweir #define Pixmap CARD32
36*cdf0e10cSrcweir #define Cursor CARD32
37*cdf0e10cSrcweir #define Colormap CARD32
38*cdf0e10cSrcweir #define GContext CARD32
39*cdf0e10cSrcweir #define Atom CARD32
40*cdf0e10cSrcweir #define VisualID CARD32
41*cdf0e10cSrcweir #define Time CARD32
42*cdf0e10cSrcweir #define KeyCode CARD8
43*cdf0e10cSrcweir #define KeySym CARD32
44*cdf0e10cSrcweir 
45*cdf0e10cSrcweir #define Picture	    CARD32
46*cdf0e10cSrcweir #define PictFormat  CARD32
47*cdf0e10cSrcweir #define Fixed	    INT32
48*cdf0e10cSrcweir #define Glyphset    CARD32
49*cdf0e10cSrcweir 
50*cdf0e10cSrcweir /*
51*cdf0e10cSrcweir  * data structures
52*cdf0e10cSrcweir  */
53*cdf0e10cSrcweir 
54*cdf0e10cSrcweir typedef struct {
55*cdf0e10cSrcweir     CARD16  red B16;
56*cdf0e10cSrcweir     CARD16  redMask B16;
57*cdf0e10cSrcweir     CARD16  green B16;
58*cdf0e10cSrcweir     CARD16  greenMask B16;
59*cdf0e10cSrcweir     CARD16  blue B16;
60*cdf0e10cSrcweir     CARD16  blueMask B16;
61*cdf0e10cSrcweir     CARD16  alpha B16;
62*cdf0e10cSrcweir     CARD16  alphaMask B16;
63*cdf0e10cSrcweir } xDirectFormat;
64*cdf0e10cSrcweir 
65*cdf0e10cSrcweir #define sz_xDirectFormat    16
66*cdf0e10cSrcweir 
67*cdf0e10cSrcweir typedef struct {
68*cdf0e10cSrcweir     PictFormat	id B32;
69*cdf0e10cSrcweir     CARD8	type;
70*cdf0e10cSrcweir     CARD8	depth;
71*cdf0e10cSrcweir     CARD16	pad1 B16;
72*cdf0e10cSrcweir     xDirectFormat   direct;
73*cdf0e10cSrcweir     Colormap	colormap;
74*cdf0e10cSrcweir } xPictFormInfo;
75*cdf0e10cSrcweir 
76*cdf0e10cSrcweir #define sz_xPictFormInfo    28
77*cdf0e10cSrcweir 
78*cdf0e10cSrcweir typedef struct {
79*cdf0e10cSrcweir     VisualID	visual;
80*cdf0e10cSrcweir     PictFormat	format;
81*cdf0e10cSrcweir } xPictVisual;
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir #define sz_xPictVisual	    8
84*cdf0e10cSrcweir 
85*cdf0e10cSrcweir typedef struct {
86*cdf0e10cSrcweir     CARD8	depth;
87*cdf0e10cSrcweir     CARD8	pad1;
88*cdf0e10cSrcweir     CARD16	nPictVisuals B16;
89*cdf0e10cSrcweir     CARD32	pad2 B32;
90*cdf0e10cSrcweir } xPictDepth;
91*cdf0e10cSrcweir 
92*cdf0e10cSrcweir #define sz_xPictDepth	8
93*cdf0e10cSrcweir 
94*cdf0e10cSrcweir typedef struct {
95*cdf0e10cSrcweir     CARD32	nDepth B32;
96*cdf0e10cSrcweir     PictFormat	fallback B32;
97*cdf0e10cSrcweir } xPictScreen;
98*cdf0e10cSrcweir 
99*cdf0e10cSrcweir #define sz_xPictScreen	8
100*cdf0e10cSrcweir 
101*cdf0e10cSrcweir typedef struct {
102*cdf0e10cSrcweir     CARD32	pixel B32;
103*cdf0e10cSrcweir     CARD16	red B16;
104*cdf0e10cSrcweir     CARD16	green B16;
105*cdf0e10cSrcweir     CARD16	blue B16;
106*cdf0e10cSrcweir     CARD16	alpha B16;
107*cdf0e10cSrcweir } xIndexValue;
108*cdf0e10cSrcweir 
109*cdf0e10cSrcweir #define sz_xIndexValue	12
110*cdf0e10cSrcweir 
111*cdf0e10cSrcweir typedef struct {
112*cdf0e10cSrcweir     CARD16	red B16;
113*cdf0e10cSrcweir     CARD16	green B16;
114*cdf0e10cSrcweir     CARD16	blue B16;
115*cdf0e10cSrcweir     CARD16	alpha B16;
116*cdf0e10cSrcweir } xRenderColor;
117*cdf0e10cSrcweir 
118*cdf0e10cSrcweir #define sz_xRenderColor	8
119*cdf0e10cSrcweir 
120*cdf0e10cSrcweir typedef struct {
121*cdf0e10cSrcweir     Fixed	x B32;
122*cdf0e10cSrcweir     Fixed	y B32;
123*cdf0e10cSrcweir } xPointFixed;
124*cdf0e10cSrcweir 
125*cdf0e10cSrcweir #define sz_xPointFixed	8
126*cdf0e10cSrcweir 
127*cdf0e10cSrcweir typedef struct {
128*cdf0e10cSrcweir     xPointFixed	p1;
129*cdf0e10cSrcweir     xPointFixed p2;
130*cdf0e10cSrcweir } xLineFixed;
131*cdf0e10cSrcweir 
132*cdf0e10cSrcweir #define sz_xLineFixed	16
133*cdf0e10cSrcweir 
134*cdf0e10cSrcweir typedef struct {
135*cdf0e10cSrcweir     xPointFixed	p1, p2, p3;
136*cdf0e10cSrcweir } xTriangle;
137*cdf0e10cSrcweir 
138*cdf0e10cSrcweir #define sz_xTriangle	24
139*cdf0e10cSrcweir 
140*cdf0e10cSrcweir typedef struct {
141*cdf0e10cSrcweir     Fixed	top B32;
142*cdf0e10cSrcweir     Fixed	bottom B32;
143*cdf0e10cSrcweir     xLineFixed	left;
144*cdf0e10cSrcweir     xLineFixed	right;
145*cdf0e10cSrcweir } xTrapezoid;
146*cdf0e10cSrcweir 
147*cdf0e10cSrcweir #define sz_xTrapezoid	40
148*cdf0e10cSrcweir 
149*cdf0e10cSrcweir typedef struct {
150*cdf0e10cSrcweir     CARD16  width B16;
151*cdf0e10cSrcweir     CARD16  height B16;
152*cdf0e10cSrcweir     INT16   x B16;
153*cdf0e10cSrcweir     INT16   y B16;
154*cdf0e10cSrcweir     INT16   xOff B16;
155*cdf0e10cSrcweir     INT16   yOff B16;
156*cdf0e10cSrcweir } xGlyphInfo;
157*cdf0e10cSrcweir 
158*cdf0e10cSrcweir #define sz_xGlyphInfo	12
159*cdf0e10cSrcweir 
160*cdf0e10cSrcweir typedef struct {
161*cdf0e10cSrcweir     CARD8   len;
162*cdf0e10cSrcweir     CARD8   pad1;
163*cdf0e10cSrcweir     CARD16  pad2;
164*cdf0e10cSrcweir     INT16   deltax;
165*cdf0e10cSrcweir     INT16   deltay;
166*cdf0e10cSrcweir } xGlyphElt;
167*cdf0e10cSrcweir 
168*cdf0e10cSrcweir #define sz_xGlyphElt	8
169*cdf0e10cSrcweir 
170*cdf0e10cSrcweir typedef struct {
171*cdf0e10cSrcweir     Fixed   l, r, y;
172*cdf0e10cSrcweir } xSpanFix;
173*cdf0e10cSrcweir 
174*cdf0e10cSrcweir #define sz_xSpanFix	12
175*cdf0e10cSrcweir 
176*cdf0e10cSrcweir typedef struct {
177*cdf0e10cSrcweir     xSpanFix	top, bot;
178*cdf0e10cSrcweir } xTrap;
179*cdf0e10cSrcweir 
180*cdf0e10cSrcweir #define sz_xTrap	24
181*cdf0e10cSrcweir 
182*cdf0e10cSrcweir /*
183*cdf0e10cSrcweir  * requests and replies
184*cdf0e10cSrcweir  */
185*cdf0e10cSrcweir typedef struct {
186*cdf0e10cSrcweir     CARD8   reqType;
187*cdf0e10cSrcweir     CARD8   renderReqType;
188*cdf0e10cSrcweir     CARD16  length B16;
189*cdf0e10cSrcweir     CARD32  majorVersion B32;
190*cdf0e10cSrcweir     CARD32  minorVersion B32;
191*cdf0e10cSrcweir } xRenderQueryVersionReq;
192*cdf0e10cSrcweir 
193*cdf0e10cSrcweir #define sz_xRenderQueryVersionReq   12
194*cdf0e10cSrcweir 
195*cdf0e10cSrcweir typedef struct {
196*cdf0e10cSrcweir     BYTE    type;   /* X_Reply */
197*cdf0e10cSrcweir     BYTE    pad1;
198*cdf0e10cSrcweir     CARD16  sequenceNumber B16;
199*cdf0e10cSrcweir     CARD32  length B32;
200*cdf0e10cSrcweir     CARD32  majorVersion B32;
201*cdf0e10cSrcweir     CARD32  minorVersion B32;
202*cdf0e10cSrcweir     CARD32  pad2 B32;
203*cdf0e10cSrcweir     CARD32  pad3 B32;
204*cdf0e10cSrcweir     CARD32  pad4 B32;
205*cdf0e10cSrcweir     CARD32  pad5 B32;
206*cdf0e10cSrcweir } xRenderQueryVersionReply;
207*cdf0e10cSrcweir 
208*cdf0e10cSrcweir #define sz_xRenderQueryVersionReply	32
209*cdf0e10cSrcweir 
210*cdf0e10cSrcweir typedef struct {
211*cdf0e10cSrcweir     CARD8   reqType;
212*cdf0e10cSrcweir     CARD8   renderReqType;
213*cdf0e10cSrcweir     CARD16  length B16;
214*cdf0e10cSrcweir } xRenderQueryPictFormatsReq;
215*cdf0e10cSrcweir 
216*cdf0e10cSrcweir #define sz_xRenderQueryPictFormatsReq	4
217*cdf0e10cSrcweir 
218*cdf0e10cSrcweir typedef struct {
219*cdf0e10cSrcweir     BYTE    type;   /* X_Reply */
220*cdf0e10cSrcweir     BYTE    pad1;
221*cdf0e10cSrcweir     CARD16  sequenceNumber B16;
222*cdf0e10cSrcweir     CARD32  length B32;
223*cdf0e10cSrcweir     CARD32  numFormats B32;
224*cdf0e10cSrcweir     CARD32  numScreens B32;
225*cdf0e10cSrcweir     CARD32  numDepths B32;
226*cdf0e10cSrcweir     CARD32  numVisuals B32;
227*cdf0e10cSrcweir     CARD32  numSubpixel B32;	    /* Version 0.6 */
228*cdf0e10cSrcweir     CARD32  pad5 B32;
229*cdf0e10cSrcweir } xRenderQueryPictFormatsReply;
230*cdf0e10cSrcweir 
231*cdf0e10cSrcweir #define sz_xRenderQueryPictFormatsReply	32
232*cdf0e10cSrcweir 
233*cdf0e10cSrcweir typedef struct {
234*cdf0e10cSrcweir     CARD8   reqType;
235*cdf0e10cSrcweir     CARD8   renderReqType;
236*cdf0e10cSrcweir     CARD16  length B16;
237*cdf0e10cSrcweir     PictFormat	format B32;
238*cdf0e10cSrcweir } xRenderQueryPictIndexValuesReq;
239*cdf0e10cSrcweir 
240*cdf0e10cSrcweir #define sz_xRenderQueryPictIndexValuesReq   8
241*cdf0e10cSrcweir 
242*cdf0e10cSrcweir typedef struct {
243*cdf0e10cSrcweir     BYTE    type;   /* X_Reply */
244*cdf0e10cSrcweir     BYTE    pad1;
245*cdf0e10cSrcweir     CARD16  sequenceNumber B16;
246*cdf0e10cSrcweir     CARD32  length B32;
247*cdf0e10cSrcweir     CARD32  numIndexValues;
248*cdf0e10cSrcweir     CARD32  pad2 B32;
249*cdf0e10cSrcweir     CARD32  pad3 B32;
250*cdf0e10cSrcweir     CARD32  pad4 B32;
251*cdf0e10cSrcweir     CARD32  pad5 B32;
252*cdf0e10cSrcweir     CARD32  pad6 B32;
253*cdf0e10cSrcweir } xRenderQueryPictIndexValuesReply;
254*cdf0e10cSrcweir 
255*cdf0e10cSrcweir #define sz_xRenderQueryPictIndexValuesReply 32
256*cdf0e10cSrcweir 
257*cdf0e10cSrcweir typedef struct {
258*cdf0e10cSrcweir     CARD8	reqType;
259*cdf0e10cSrcweir     CARD8	renderReqType;
260*cdf0e10cSrcweir     CARD16	length B16;
261*cdf0e10cSrcweir     Picture	pid B32;
262*cdf0e10cSrcweir     Drawable	drawable B32;
263*cdf0e10cSrcweir     PictFormat	format B32;
264*cdf0e10cSrcweir     CARD32	mask B32;
265*cdf0e10cSrcweir } xRenderCreatePictureReq;
266*cdf0e10cSrcweir 
267*cdf0e10cSrcweir #define sz_xRenderCreatePictureReq	    20
268*cdf0e10cSrcweir 
269*cdf0e10cSrcweir typedef struct {
270*cdf0e10cSrcweir     CARD8	reqType;
271*cdf0e10cSrcweir     CARD8	renderReqType;
272*cdf0e10cSrcweir     CARD16	length B16;
273*cdf0e10cSrcweir     Picture	picture B32;
274*cdf0e10cSrcweir     CARD32	mask B32;
275*cdf0e10cSrcweir } xRenderChangePictureReq;
276*cdf0e10cSrcweir 
277*cdf0e10cSrcweir #define sz_xRenderChangePictureReq	    12
278*cdf0e10cSrcweir 
279*cdf0e10cSrcweir typedef struct {
280*cdf0e10cSrcweir     CARD8       reqType;
281*cdf0e10cSrcweir     CARD8       renderReqType;
282*cdf0e10cSrcweir     CARD16      length B16;
283*cdf0e10cSrcweir     Picture     picture B32;
284*cdf0e10cSrcweir     INT16	xOrigin B16;
285*cdf0e10cSrcweir     INT16	yOrigin B16;
286*cdf0e10cSrcweir } xRenderSetPictureClipRectanglesReq;
287*cdf0e10cSrcweir 
288*cdf0e10cSrcweir #define sz_xRenderSetPictureClipRectanglesReq	    12
289*cdf0e10cSrcweir 
290*cdf0e10cSrcweir typedef struct {
291*cdf0e10cSrcweir     CARD8       reqType;
292*cdf0e10cSrcweir     CARD8       renderReqType;
293*cdf0e10cSrcweir     CARD16      length B16;
294*cdf0e10cSrcweir     Picture     picture B32;
295*cdf0e10cSrcweir } xRenderFreePictureReq;
296*cdf0e10cSrcweir 
297*cdf0e10cSrcweir #define sz_xRenderFreePictureReq	    8
298*cdf0e10cSrcweir 
299*cdf0e10cSrcweir typedef struct {
300*cdf0e10cSrcweir     CARD8       reqType;
301*cdf0e10cSrcweir     CARD8       renderReqType;
302*cdf0e10cSrcweir     CARD16      length B16;
303*cdf0e10cSrcweir     CARD8	op;
304*cdf0e10cSrcweir     CARD8	pad1;
305*cdf0e10cSrcweir     CARD16	pad2 B16;
306*cdf0e10cSrcweir     Picture	src B32;
307*cdf0e10cSrcweir     Picture	mask B32;
308*cdf0e10cSrcweir     Picture	dst B32;
309*cdf0e10cSrcweir     INT16	xSrc B16;
310*cdf0e10cSrcweir     INT16	ySrc B16;
311*cdf0e10cSrcweir     INT16	xMask B16;
312*cdf0e10cSrcweir     INT16	yMask B16;
313*cdf0e10cSrcweir     INT16	xDst B16;
314*cdf0e10cSrcweir     INT16	yDst B16;
315*cdf0e10cSrcweir     CARD16	width B16;
316*cdf0e10cSrcweir     CARD16	height B16;
317*cdf0e10cSrcweir } xRenderCompositeReq;
318*cdf0e10cSrcweir 
319*cdf0e10cSrcweir #define sz_xRenderCompositeReq		    36
320*cdf0e10cSrcweir 
321*cdf0e10cSrcweir typedef struct {
322*cdf0e10cSrcweir     CARD8       reqType;
323*cdf0e10cSrcweir     CARD8       renderReqType;
324*cdf0e10cSrcweir     CARD16      length B16;
325*cdf0e10cSrcweir     Picture	src B32;
326*cdf0e10cSrcweir     Picture	dst B32;
327*cdf0e10cSrcweir     CARD32	colorScale B32;
328*cdf0e10cSrcweir     CARD32	alphaScale B32;
329*cdf0e10cSrcweir     INT16	xSrc B16;
330*cdf0e10cSrcweir     INT16	ySrc B16;
331*cdf0e10cSrcweir     INT16	xDst B16;
332*cdf0e10cSrcweir     INT16	yDst B16;
333*cdf0e10cSrcweir     CARD16	width B16;
334*cdf0e10cSrcweir     CARD16	height B16;
335*cdf0e10cSrcweir } xRenderScaleReq;
336*cdf0e10cSrcweir 
337*cdf0e10cSrcweir #define sz_xRenderScaleReq			    32
338*cdf0e10cSrcweir 
339*cdf0e10cSrcweir typedef struct {
340*cdf0e10cSrcweir     CARD8       reqType;
341*cdf0e10cSrcweir     CARD8       renderReqType;
342*cdf0e10cSrcweir     CARD16      length B16;
343*cdf0e10cSrcweir     CARD8	op;
344*cdf0e10cSrcweir     CARD8	pad1;
345*cdf0e10cSrcweir     CARD16	pad2 B16;
346*cdf0e10cSrcweir     Picture	src B32;
347*cdf0e10cSrcweir     Picture	dst B32;
348*cdf0e10cSrcweir     PictFormat	maskFormat B32;
349*cdf0e10cSrcweir     INT16	xSrc B16;
350*cdf0e10cSrcweir     INT16	ySrc B16;
351*cdf0e10cSrcweir } xRenderTrapezoidsReq;
352*cdf0e10cSrcweir 
353*cdf0e10cSrcweir #define sz_xRenderTrapezoidsReq			    24
354*cdf0e10cSrcweir 
355*cdf0e10cSrcweir typedef struct {
356*cdf0e10cSrcweir     CARD8       reqType;
357*cdf0e10cSrcweir     CARD8       renderReqType;
358*cdf0e10cSrcweir     CARD16      length B16;
359*cdf0e10cSrcweir     CARD8	op;
360*cdf0e10cSrcweir     CARD8	pad1;
361*cdf0e10cSrcweir     CARD16	pad2 B16;
362*cdf0e10cSrcweir     Picture	src B32;
363*cdf0e10cSrcweir     Picture	dst B32;
364*cdf0e10cSrcweir     PictFormat	maskFormat B32;
365*cdf0e10cSrcweir     INT16	xSrc B16;
366*cdf0e10cSrcweir     INT16	ySrc B16;
367*cdf0e10cSrcweir } xRenderTrianglesReq;
368*cdf0e10cSrcweir 
369*cdf0e10cSrcweir #define sz_xRenderTrianglesReq			    24
370*cdf0e10cSrcweir 
371*cdf0e10cSrcweir typedef struct {
372*cdf0e10cSrcweir     CARD8       reqType;
373*cdf0e10cSrcweir     CARD8       renderReqType;
374*cdf0e10cSrcweir     CARD16      length B16;
375*cdf0e10cSrcweir     CARD8	op;
376*cdf0e10cSrcweir     CARD8	pad1;
377*cdf0e10cSrcweir     CARD16	pad2 B16;
378*cdf0e10cSrcweir     Picture	src B32;
379*cdf0e10cSrcweir     Picture	dst B32;
380*cdf0e10cSrcweir     PictFormat	maskFormat B32;
381*cdf0e10cSrcweir     INT16	xSrc B16;
382*cdf0e10cSrcweir     INT16	ySrc B16;
383*cdf0e10cSrcweir } xRenderTriStripReq;
384*cdf0e10cSrcweir 
385*cdf0e10cSrcweir #define sz_xRenderTriStripReq			    24
386*cdf0e10cSrcweir 
387*cdf0e10cSrcweir typedef struct {
388*cdf0e10cSrcweir     CARD8       reqType;
389*cdf0e10cSrcweir     CARD8       renderReqType;
390*cdf0e10cSrcweir     CARD16      length B16;
391*cdf0e10cSrcweir     CARD8	op;
392*cdf0e10cSrcweir     CARD8	pad1;
393*cdf0e10cSrcweir     CARD16	pad2 B16;
394*cdf0e10cSrcweir     Picture	src B32;
395*cdf0e10cSrcweir     Picture	dst B32;
396*cdf0e10cSrcweir     PictFormat	maskFormat B32;
397*cdf0e10cSrcweir     INT16	xSrc B16;
398*cdf0e10cSrcweir     INT16	ySrc B16;
399*cdf0e10cSrcweir } xRenderTriFanReq;
400*cdf0e10cSrcweir 
401*cdf0e10cSrcweir #define sz_xRenderTriFanReq			    24
402*cdf0e10cSrcweir 
403*cdf0e10cSrcweir typedef struct {
404*cdf0e10cSrcweir     CARD8       reqType;
405*cdf0e10cSrcweir     CARD8       renderReqType;
406*cdf0e10cSrcweir     CARD16      length B16;
407*cdf0e10cSrcweir     Glyphset	gsid B32;
408*cdf0e10cSrcweir     PictFormat	format B32;
409*cdf0e10cSrcweir } xRenderCreateGlyphSetReq;
410*cdf0e10cSrcweir 
411*cdf0e10cSrcweir #define sz_xRenderCreateGlyphSetReq		    12
412*cdf0e10cSrcweir 
413*cdf0e10cSrcweir typedef struct {
414*cdf0e10cSrcweir     CARD8       reqType;
415*cdf0e10cSrcweir     CARD8       renderReqType;
416*cdf0e10cSrcweir     CARD16      length B16;
417*cdf0e10cSrcweir     Glyphset    gsid B32;
418*cdf0e10cSrcweir     Glyphset    existing B32;
419*cdf0e10cSrcweir } xRenderReferenceGlyphSetReq;
420*cdf0e10cSrcweir 
421*cdf0e10cSrcweir #define sz_xRenderReferenceGlyphSetReq		    24
422*cdf0e10cSrcweir 
423*cdf0e10cSrcweir typedef struct {
424*cdf0e10cSrcweir     CARD8       reqType;
425*cdf0e10cSrcweir     CARD8       renderReqType;
426*cdf0e10cSrcweir     CARD16      length B16;
427*cdf0e10cSrcweir     Glyphset    glyphset B32;
428*cdf0e10cSrcweir } xRenderFreeGlyphSetReq;
429*cdf0e10cSrcweir 
430*cdf0e10cSrcweir #define sz_xRenderFreeGlyphSetReq		    8
431*cdf0e10cSrcweir 
432*cdf0e10cSrcweir typedef struct {
433*cdf0e10cSrcweir     CARD8       reqType;
434*cdf0e10cSrcweir     CARD8       renderReqType;
435*cdf0e10cSrcweir     CARD16      length B16;
436*cdf0e10cSrcweir     Glyphset    glyphset B32;
437*cdf0e10cSrcweir     CARD32	nglyphs;
438*cdf0e10cSrcweir } xRenderAddGlyphsReq;
439*cdf0e10cSrcweir 
440*cdf0e10cSrcweir #define sz_xRenderAddGlyphsReq			    12
441*cdf0e10cSrcweir 
442*cdf0e10cSrcweir typedef struct {
443*cdf0e10cSrcweir     CARD8       reqType;
444*cdf0e10cSrcweir     CARD8       renderReqType;
445*cdf0e10cSrcweir     CARD16      length B16;
446*cdf0e10cSrcweir     Glyphset    glyphset B32;
447*cdf0e10cSrcweir } xRenderFreeGlyphsReq;
448*cdf0e10cSrcweir 
449*cdf0e10cSrcweir #define sz_xRenderFreeGlyphsReq			    8
450*cdf0e10cSrcweir 
451*cdf0e10cSrcweir typedef struct {
452*cdf0e10cSrcweir     CARD8       reqType;
453*cdf0e10cSrcweir     CARD8       renderReqType;
454*cdf0e10cSrcweir     CARD16      length B16;
455*cdf0e10cSrcweir     CARD8	op;
456*cdf0e10cSrcweir     CARD8	pad1;
457*cdf0e10cSrcweir     CARD16	pad2 B16;
458*cdf0e10cSrcweir     Picture	src B32;
459*cdf0e10cSrcweir     Picture	dst B32;
460*cdf0e10cSrcweir     PictFormat	maskFormat B32;
461*cdf0e10cSrcweir     Glyphset    glyphset B32;
462*cdf0e10cSrcweir     INT16	xSrc B16;
463*cdf0e10cSrcweir     INT16	ySrc B16;
464*cdf0e10cSrcweir } xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
465*cdf0e10cSrcweir xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
466*cdf0e10cSrcweir 
467*cdf0e10cSrcweir #define sz_xRenderCompositeGlyphs8Req		    28
468*cdf0e10cSrcweir #define sz_xRenderCompositeGlyphs16Req		    28
469*cdf0e10cSrcweir #define sz_xRenderCompositeGlyphs32Req		    28
470*cdf0e10cSrcweir 
471*cdf0e10cSrcweir /* 0.1 and higher */
472*cdf0e10cSrcweir 
473*cdf0e10cSrcweir typedef struct {
474*cdf0e10cSrcweir     CARD8	reqType;
475*cdf0e10cSrcweir     CARD8       renderReqType;
476*cdf0e10cSrcweir     CARD16      length B16;
477*cdf0e10cSrcweir     CARD8	op;
478*cdf0e10cSrcweir     CARD8	pad1;
479*cdf0e10cSrcweir     CARD16	pad2 B16;
480*cdf0e10cSrcweir     Picture	dst B32;
481*cdf0e10cSrcweir     xRenderColor    color;
482*cdf0e10cSrcweir } xRenderFillRectanglesReq;
483*cdf0e10cSrcweir 
484*cdf0e10cSrcweir #define sz_xRenderFillRectanglesReq		    20
485*cdf0e10cSrcweir 
486*cdf0e10cSrcweir /* 0.5 and higher */
487*cdf0e10cSrcweir 
488*cdf0e10cSrcweir typedef struct {
489*cdf0e10cSrcweir     CARD8	reqType;
490*cdf0e10cSrcweir     CARD8	renderReqType;
491*cdf0e10cSrcweir     CARD16	length B16;
492*cdf0e10cSrcweir     Cursor	cid B32;
493*cdf0e10cSrcweir     Picture	src B32;
494*cdf0e10cSrcweir     CARD16	x B16;
495*cdf0e10cSrcweir     CARD16	y B16;
496*cdf0e10cSrcweir } xRenderCreateCursorReq;
497*cdf0e10cSrcweir 
498*cdf0e10cSrcweir #define sz_xRenderCreateCursorReq		    16
499*cdf0e10cSrcweir 
500*cdf0e10cSrcweir /* 0.6 and higher */
501*cdf0e10cSrcweir 
502*cdf0e10cSrcweir /*
503*cdf0e10cSrcweir  * This can't use an array because 32-bit values may be in bitfields
504*cdf0e10cSrcweir  */
505*cdf0e10cSrcweir typedef struct {
506*cdf0e10cSrcweir     Fixed	matrix11 B32;
507*cdf0e10cSrcweir     Fixed	matrix12 B32;
508*cdf0e10cSrcweir     Fixed	matrix13 B32;
509*cdf0e10cSrcweir     Fixed	matrix21 B32;
510*cdf0e10cSrcweir     Fixed	matrix22 B32;
511*cdf0e10cSrcweir     Fixed	matrix23 B32;
512*cdf0e10cSrcweir     Fixed	matrix31 B32;
513*cdf0e10cSrcweir     Fixed	matrix32 B32;
514*cdf0e10cSrcweir     Fixed	matrix33 B32;
515*cdf0e10cSrcweir } xRenderTransform;
516*cdf0e10cSrcweir 
517*cdf0e10cSrcweir #define sz_xRenderTransform 36
518*cdf0e10cSrcweir 
519*cdf0e10cSrcweir typedef struct {
520*cdf0e10cSrcweir     CARD8		reqType;
521*cdf0e10cSrcweir     CARD8		renderReqType;
522*cdf0e10cSrcweir     CARD16		length B16;
523*cdf0e10cSrcweir     Picture		picture B32;
524*cdf0e10cSrcweir     xRenderTransform	transform;
525*cdf0e10cSrcweir } xRenderSetPictureTransformReq;
526*cdf0e10cSrcweir 
527*cdf0e10cSrcweir #define sz_xRenderSetPictureTransformReq	    44
528*cdf0e10cSrcweir 
529*cdf0e10cSrcweir typedef struct {
530*cdf0e10cSrcweir     CARD8		reqType;
531*cdf0e10cSrcweir     CARD8		renderReqType;
532*cdf0e10cSrcweir     CARD16		length B16;
533*cdf0e10cSrcweir     Drawable		drawable B32;
534*cdf0e10cSrcweir } xRenderQueryFiltersReq;
535*cdf0e10cSrcweir 
536*cdf0e10cSrcweir #define sz_xRenderQueryFiltersReq		    8
537*cdf0e10cSrcweir 
538*cdf0e10cSrcweir typedef struct {
539*cdf0e10cSrcweir     BYTE    type;   /* X_Reply */
540*cdf0e10cSrcweir     BYTE    pad1;
541*cdf0e10cSrcweir     CARD16  sequenceNumber B16;
542*cdf0e10cSrcweir     CARD32  length B32;
543*cdf0e10cSrcweir     CARD32  numAliases B32;	/* LISTofCARD16 */
544*cdf0e10cSrcweir     CARD32  numFilters B32;	/* LISTofSTRING8 */
545*cdf0e10cSrcweir     CARD32  pad2 B32;
546*cdf0e10cSrcweir     CARD32  pad3 B32;
547*cdf0e10cSrcweir     CARD32  pad4 B32;
548*cdf0e10cSrcweir     CARD32  pad5 B32;
549*cdf0e10cSrcweir } xRenderQueryFiltersReply;
550*cdf0e10cSrcweir 
551*cdf0e10cSrcweir #define sz_xRenderQueryFiltersReply		    32
552*cdf0e10cSrcweir 
553*cdf0e10cSrcweir typedef struct {
554*cdf0e10cSrcweir     CARD8		reqType;
555*cdf0e10cSrcweir     CARD8		renderReqType;
556*cdf0e10cSrcweir     CARD16		length B16;
557*cdf0e10cSrcweir     Picture		picture B32;
558*cdf0e10cSrcweir     CARD16		nbytes B16; /* number of bytes in name */
559*cdf0e10cSrcweir     CARD16		pad B16;
560*cdf0e10cSrcweir } xRenderSetPictureFilterReq;
561*cdf0e10cSrcweir 
562*cdf0e10cSrcweir #define sz_xRenderSetPictureFilterReq		    12
563*cdf0e10cSrcweir 
564*cdf0e10cSrcweir /* 0.8 and higher */
565*cdf0e10cSrcweir 
566*cdf0e10cSrcweir typedef struct {
567*cdf0e10cSrcweir     Cursor		cursor B32;
568*cdf0e10cSrcweir     CARD32		delay B32;
569*cdf0e10cSrcweir } xAnimCursorElt;
570*cdf0e10cSrcweir 
571*cdf0e10cSrcweir #define sz_xAnimCursorElt			    8
572*cdf0e10cSrcweir 
573*cdf0e10cSrcweir typedef struct {
574*cdf0e10cSrcweir     CARD8		reqType;
575*cdf0e10cSrcweir     CARD8		renderReqType;
576*cdf0e10cSrcweir     CARD16		length B16;
577*cdf0e10cSrcweir     Cursor		cid B32;
578*cdf0e10cSrcweir } xRenderCreateAnimCursorReq;
579*cdf0e10cSrcweir 
580*cdf0e10cSrcweir #define sz_xRenderCreateAnimCursorReq		    8
581*cdf0e10cSrcweir 
582*cdf0e10cSrcweir /* 0.9 and higher */
583*cdf0e10cSrcweir 
584*cdf0e10cSrcweir typedef struct {
585*cdf0e10cSrcweir     CARD8		reqType;
586*cdf0e10cSrcweir     CARD8		renderReqType;
587*cdf0e10cSrcweir     CARD16		length B16;
588*cdf0e10cSrcweir     Picture		picture;
589*cdf0e10cSrcweir     INT16		xOff B16;
590*cdf0e10cSrcweir     INT16		yOff B16;
591*cdf0e10cSrcweir } xRenderAddTrapsReq;
592*cdf0e10cSrcweir 
593*cdf0e10cSrcweir #define sz_xRenderAddTrapsReq			    12
594*cdf0e10cSrcweir 
595*cdf0e10cSrcweir /* 0.10 and higher */
596*cdf0e10cSrcweir 
597*cdf0e10cSrcweir typedef struct {
598*cdf0e10cSrcweir     CARD8	reqType;
599*cdf0e10cSrcweir     CARD8	renderReqType;
600*cdf0e10cSrcweir     CARD16	length B16;
601*cdf0e10cSrcweir     Picture	pid B32;
602*cdf0e10cSrcweir     xRenderColor color;
603*cdf0e10cSrcweir } xRenderCreateSolidFillReq;
604*cdf0e10cSrcweir 
605*cdf0e10cSrcweir #define sz_xRenderCreateSolidFillReq                 16
606*cdf0e10cSrcweir 
607*cdf0e10cSrcweir typedef struct {
608*cdf0e10cSrcweir     CARD8	reqType;
609*cdf0e10cSrcweir     CARD8	renderReqType;
610*cdf0e10cSrcweir     CARD16	length B16;
611*cdf0e10cSrcweir     Picture	pid B32;
612*cdf0e10cSrcweir     xPointFixed p1;
613*cdf0e10cSrcweir     xPointFixed p2;
614*cdf0e10cSrcweir     CARD32      nStops;
615*cdf0e10cSrcweir } xRenderCreateLinearGradientReq;
616*cdf0e10cSrcweir 
617*cdf0e10cSrcweir #define sz_xRenderCreateLinearGradientReq                 28
618*cdf0e10cSrcweir 
619*cdf0e10cSrcweir typedef struct {
620*cdf0e10cSrcweir     CARD8	reqType;
621*cdf0e10cSrcweir     CARD8	renderReqType;
622*cdf0e10cSrcweir     CARD16	length B16;
623*cdf0e10cSrcweir     Picture	pid B32;
624*cdf0e10cSrcweir     xPointFixed inner;
625*cdf0e10cSrcweir     xPointFixed outer;
626*cdf0e10cSrcweir     Fixed       inner_radius;
627*cdf0e10cSrcweir     Fixed       outer_radius;
628*cdf0e10cSrcweir     CARD32      nStops;
629*cdf0e10cSrcweir } xRenderCreateRadialGradientReq;
630*cdf0e10cSrcweir 
631*cdf0e10cSrcweir #define sz_xRenderCreateRadialGradientReq                 36
632*cdf0e10cSrcweir 
633*cdf0e10cSrcweir typedef struct {
634*cdf0e10cSrcweir     CARD8	reqType;
635*cdf0e10cSrcweir     CARD8	renderReqType;
636*cdf0e10cSrcweir     CARD16	length B16;
637*cdf0e10cSrcweir     Picture	pid B32;
638*cdf0e10cSrcweir     xPointFixed center;
639*cdf0e10cSrcweir     Fixed       angle; /* in degrees */
640*cdf0e10cSrcweir     CARD32      nStops;
641*cdf0e10cSrcweir } xRenderCreateConicalGradientReq;
642*cdf0e10cSrcweir 
643*cdf0e10cSrcweir #define sz_xRenderCreateConicalGradientReq                 24
644*cdf0e10cSrcweir 
645*cdf0e10cSrcweir #undef Window
646*cdf0e10cSrcweir #undef Drawable
647*cdf0e10cSrcweir #undef Font
648*cdf0e10cSrcweir #undef Pixmap
649*cdf0e10cSrcweir #undef Cursor
650*cdf0e10cSrcweir #undef Colormap
651*cdf0e10cSrcweir #undef GContext
652*cdf0e10cSrcweir #undef Atom
653*cdf0e10cSrcweir #undef VisualID
654*cdf0e10cSrcweir #undef Time
655*cdf0e10cSrcweir #undef KeyCode
656*cdf0e10cSrcweir #undef KeySym
657*cdf0e10cSrcweir 
658*cdf0e10cSrcweir #undef Picture
659*cdf0e10cSrcweir #undef PictFormat
660*cdf0e10cSrcweir #undef Fixed
661*cdf0e10cSrcweir #undef Glyphset
662*cdf0e10cSrcweir 
663*cdf0e10cSrcweir #endif /* _XRENDERP_H_ */
664