xref: /AOO41X/main/x11_extensions/inc/Xrender.h (revision 7814061ca0cc49c91e6bcd64be38b3053e0622f9)
1*cdf0e10cSrcweir /*
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * Copyright © 2000 SuSE, Inc.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Permission to use, copy, modify, distribute, and sell this software and its
6*cdf0e10cSrcweir  * documentation for any purpose is hereby granted without fee, provided that
7*cdf0e10cSrcweir  * the above copyright notice appear in all copies and that both that
8*cdf0e10cSrcweir  * copyright notice and this permission notice appear in supporting
9*cdf0e10cSrcweir  * documentation, and that the name of SuSE not be used in advertising or
10*cdf0e10cSrcweir  * publicity pertaining to distribution of the software without specific,
11*cdf0e10cSrcweir  * written prior permission.  SuSE makes no representations about the
12*cdf0e10cSrcweir  * suitability of this software for any purpose.  It is provided "as is"
13*cdf0e10cSrcweir  * without express or implied warranty.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
16*cdf0e10cSrcweir  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
17*cdf0e10cSrcweir  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18*cdf0e10cSrcweir  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
19*cdf0e10cSrcweir  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
20*cdf0e10cSrcweir  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21*cdf0e10cSrcweir  *
22*cdf0e10cSrcweir  * Author:  Keith Packard, SuSE, Inc.
23*cdf0e10cSrcweir  */
24*cdf0e10cSrcweir 
25*cdf0e10cSrcweir #ifndef _XRENDER_H_
26*cdf0e10cSrcweir #define _XRENDER_H_
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir #include <X11/Xlib.h>
29*cdf0e10cSrcweir #include <X11/Xfuncproto.h>
30*cdf0e10cSrcweir #include <X11/Xosdefs.h>
31*cdf0e10cSrcweir #include <X11/Xutil.h>
32*cdf0e10cSrcweir 
33*cdf0e10cSrcweir #include <X11/extensions/render.h>
34*cdf0e10cSrcweir 
35*cdf0e10cSrcweir typedef struct {
36*cdf0e10cSrcweir     short   red;
37*cdf0e10cSrcweir     short   redMask;
38*cdf0e10cSrcweir     short   green;
39*cdf0e10cSrcweir     short   greenMask;
40*cdf0e10cSrcweir     short   blue;
41*cdf0e10cSrcweir     short   blueMask;
42*cdf0e10cSrcweir     short   alpha;
43*cdf0e10cSrcweir     short   alphaMask;
44*cdf0e10cSrcweir } XRenderDirectFormat;
45*cdf0e10cSrcweir 
46*cdf0e10cSrcweir typedef struct {
47*cdf0e10cSrcweir     PictFormat		id;
48*cdf0e10cSrcweir     int			type;
49*cdf0e10cSrcweir     int			depth;
50*cdf0e10cSrcweir     XRenderDirectFormat	direct;
51*cdf0e10cSrcweir     Colormap		colormap;
52*cdf0e10cSrcweir } XRenderPictFormat;
53*cdf0e10cSrcweir 
54*cdf0e10cSrcweir #define PictFormatID	    (1 << 0)
55*cdf0e10cSrcweir #define PictFormatType	    (1 << 1)
56*cdf0e10cSrcweir #define PictFormatDepth	    (1 << 2)
57*cdf0e10cSrcweir #define PictFormatRed	    (1 << 3)
58*cdf0e10cSrcweir #define PictFormatRedMask   (1 << 4)
59*cdf0e10cSrcweir #define PictFormatGreen	    (1 << 5)
60*cdf0e10cSrcweir #define PictFormatGreenMask (1 << 6)
61*cdf0e10cSrcweir #define PictFormatBlue	    (1 << 7)
62*cdf0e10cSrcweir #define PictFormatBlueMask  (1 << 8)
63*cdf0e10cSrcweir #define PictFormatAlpha	    (1 << 9)
64*cdf0e10cSrcweir #define PictFormatAlphaMask (1 << 10)
65*cdf0e10cSrcweir #define PictFormatColormap  (1 << 11)
66*cdf0e10cSrcweir 
67*cdf0e10cSrcweir typedef struct _XRenderPictureAttributes {
68*cdf0e10cSrcweir     int 		repeat;
69*cdf0e10cSrcweir     Picture		alpha_map;
70*cdf0e10cSrcweir     int			alpha_x_origin;
71*cdf0e10cSrcweir     int			alpha_y_origin;
72*cdf0e10cSrcweir     int			clip_x_origin;
73*cdf0e10cSrcweir     int			clip_y_origin;
74*cdf0e10cSrcweir     Pixmap		clip_mask;
75*cdf0e10cSrcweir     Bool		graphics_exposures;
76*cdf0e10cSrcweir     int			subwindow_mode;
77*cdf0e10cSrcweir     int			poly_edge;
78*cdf0e10cSrcweir     int			poly_mode;
79*cdf0e10cSrcweir     Atom		dither;
80*cdf0e10cSrcweir     Bool		component_alpha;
81*cdf0e10cSrcweir } XRenderPictureAttributes;
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir typedef struct {
84*cdf0e10cSrcweir     unsigned short   red;
85*cdf0e10cSrcweir     unsigned short   green;
86*cdf0e10cSrcweir     unsigned short   blue;
87*cdf0e10cSrcweir     unsigned short   alpha;
88*cdf0e10cSrcweir } XRenderColor;
89*cdf0e10cSrcweir 
90*cdf0e10cSrcweir typedef struct _XGlyphInfo {
91*cdf0e10cSrcweir     unsigned short  width;
92*cdf0e10cSrcweir     unsigned short  height;
93*cdf0e10cSrcweir     short	    x;
94*cdf0e10cSrcweir     short	    y;
95*cdf0e10cSrcweir     short	    xOff;
96*cdf0e10cSrcweir     short	    yOff;
97*cdf0e10cSrcweir } XGlyphInfo;
98*cdf0e10cSrcweir 
99*cdf0e10cSrcweir typedef struct _XGlyphElt8 {
100*cdf0e10cSrcweir     GlyphSet		    glyphset;
101*cdf0e10cSrcweir     _Xconst char	    *chars;
102*cdf0e10cSrcweir     int			    nchars;
103*cdf0e10cSrcweir     int			    xOff;
104*cdf0e10cSrcweir     int			    yOff;
105*cdf0e10cSrcweir } XGlyphElt8;
106*cdf0e10cSrcweir 
107*cdf0e10cSrcweir typedef struct _XGlyphElt16 {
108*cdf0e10cSrcweir     GlyphSet		    glyphset;
109*cdf0e10cSrcweir     _Xconst unsigned short  *chars;
110*cdf0e10cSrcweir     int			    nchars;
111*cdf0e10cSrcweir     int			    xOff;
112*cdf0e10cSrcweir     int			    yOff;
113*cdf0e10cSrcweir } XGlyphElt16;
114*cdf0e10cSrcweir 
115*cdf0e10cSrcweir typedef struct _XGlyphElt32 {
116*cdf0e10cSrcweir     GlyphSet		    glyphset;
117*cdf0e10cSrcweir     _Xconst unsigned int    *chars;
118*cdf0e10cSrcweir     int			    nchars;
119*cdf0e10cSrcweir     int			    xOff;
120*cdf0e10cSrcweir     int			    yOff;
121*cdf0e10cSrcweir } XGlyphElt32;
122*cdf0e10cSrcweir 
123*cdf0e10cSrcweir typedef double	XDouble;
124*cdf0e10cSrcweir 
125*cdf0e10cSrcweir typedef struct _XPointDouble {
126*cdf0e10cSrcweir     XDouble  x, y;
127*cdf0e10cSrcweir } XPointDouble;
128*cdf0e10cSrcweir 
129*cdf0e10cSrcweir #define XDoubleToFixed(f)    ((XFixed) ((f) * 65536))
130*cdf0e10cSrcweir #define XFixedToDouble(f)    (((XDouble) (f)) / 65536)
131*cdf0e10cSrcweir 
132*cdf0e10cSrcweir typedef int XFixed;
133*cdf0e10cSrcweir 
134*cdf0e10cSrcweir typedef struct _XPointFixed {
135*cdf0e10cSrcweir     XFixed  x, y;
136*cdf0e10cSrcweir } XPointFixed;
137*cdf0e10cSrcweir 
138*cdf0e10cSrcweir typedef struct _XLineFixed {
139*cdf0e10cSrcweir     XPointFixed	p1, p2;
140*cdf0e10cSrcweir } XLineFixed;
141*cdf0e10cSrcweir 
142*cdf0e10cSrcweir typedef struct _XTriangle {
143*cdf0e10cSrcweir     XPointFixed	p1, p2, p3;
144*cdf0e10cSrcweir } XTriangle;
145*cdf0e10cSrcweir 
146*cdf0e10cSrcweir typedef struct _XCircle {
147*cdf0e10cSrcweir     XFixed x;
148*cdf0e10cSrcweir     XFixed y;
149*cdf0e10cSrcweir     XFixed radius;
150*cdf0e10cSrcweir } XCircle;
151*cdf0e10cSrcweir 
152*cdf0e10cSrcweir typedef struct _XTrapezoid {
153*cdf0e10cSrcweir     XFixed  top, bottom;
154*cdf0e10cSrcweir     XLineFixed	left, right;
155*cdf0e10cSrcweir } XTrapezoid;
156*cdf0e10cSrcweir 
157*cdf0e10cSrcweir typedef struct _XTransform {
158*cdf0e10cSrcweir     XFixed  matrix[3][3];
159*cdf0e10cSrcweir } XTransform;
160*cdf0e10cSrcweir 
161*cdf0e10cSrcweir typedef struct _XFilters {
162*cdf0e10cSrcweir     int	    nfilter;
163*cdf0e10cSrcweir     char    **filter;
164*cdf0e10cSrcweir     int	    nalias;
165*cdf0e10cSrcweir     short   *alias;
166*cdf0e10cSrcweir } XFilters;
167*cdf0e10cSrcweir 
168*cdf0e10cSrcweir typedef struct _XIndexValue {
169*cdf0e10cSrcweir     unsigned long    pixel;
170*cdf0e10cSrcweir     unsigned short   red, green, blue, alpha;
171*cdf0e10cSrcweir } XIndexValue;
172*cdf0e10cSrcweir 
173*cdf0e10cSrcweir typedef struct _XAnimCursor {
174*cdf0e10cSrcweir     Cursor	    cursor;
175*cdf0e10cSrcweir     unsigned long   delay;
176*cdf0e10cSrcweir } XAnimCursor;
177*cdf0e10cSrcweir 
178*cdf0e10cSrcweir typedef struct _XSpanFix {
179*cdf0e10cSrcweir     XFixed	    left, right, y;
180*cdf0e10cSrcweir } XSpanFix;
181*cdf0e10cSrcweir 
182*cdf0e10cSrcweir typedef struct _XTrap {
183*cdf0e10cSrcweir     XSpanFix	    top, bottom;
184*cdf0e10cSrcweir } XTrap;
185*cdf0e10cSrcweir 
186*cdf0e10cSrcweir typedef struct _XLinearGradient {
187*cdf0e10cSrcweir     XPointFixed p1;
188*cdf0e10cSrcweir     XPointFixed p2;
189*cdf0e10cSrcweir } XLinearGradient;
190*cdf0e10cSrcweir 
191*cdf0e10cSrcweir typedef struct _XRadialGradient {
192*cdf0e10cSrcweir     XCircle inner;
193*cdf0e10cSrcweir     XCircle outer;
194*cdf0e10cSrcweir } XRadialGradient;
195*cdf0e10cSrcweir 
196*cdf0e10cSrcweir typedef struct _XConicalGradient {
197*cdf0e10cSrcweir     XPointFixed center;
198*cdf0e10cSrcweir     XFixed angle; /* in degrees */
199*cdf0e10cSrcweir } XConicalGradient;
200*cdf0e10cSrcweir 
201*cdf0e10cSrcweir _XFUNCPROTOBEGIN
202*cdf0e10cSrcweir 
203*cdf0e10cSrcweir Bool XRenderQueryExtension (Display *dpy, int *event_basep, int *error_basep);
204*cdf0e10cSrcweir 
205*cdf0e10cSrcweir Status XRenderQueryVersion (Display *dpy,
206*cdf0e10cSrcweir 			    int     *major_versionp,
207*cdf0e10cSrcweir 			    int     *minor_versionp);
208*cdf0e10cSrcweir 
209*cdf0e10cSrcweir Status XRenderQueryFormats (Display *dpy);
210*cdf0e10cSrcweir 
211*cdf0e10cSrcweir int XRenderQuerySubpixelOrder (Display *dpy, int screen);
212*cdf0e10cSrcweir 
213*cdf0e10cSrcweir Bool XRenderSetSubpixelOrder (Display *dpy, int screen, int subpixel);
214*cdf0e10cSrcweir 
215*cdf0e10cSrcweir XRenderPictFormat *
216*cdf0e10cSrcweir XRenderFindVisualFormat (Display *dpy, _Xconst Visual *visual);
217*cdf0e10cSrcweir 
218*cdf0e10cSrcweir XRenderPictFormat *
219*cdf0e10cSrcweir XRenderFindFormat (Display			*dpy,
220*cdf0e10cSrcweir 		   unsigned long		mask,
221*cdf0e10cSrcweir 		   _Xconst XRenderPictFormat	*templ,
222*cdf0e10cSrcweir 		   int				count);
223*cdf0e10cSrcweir 
224*cdf0e10cSrcweir #define PictStandardARGB32  0
225*cdf0e10cSrcweir #define PictStandardRGB24   1
226*cdf0e10cSrcweir #define PictStandardA8	    2
227*cdf0e10cSrcweir #define PictStandardA4	    3
228*cdf0e10cSrcweir #define PictStandardA1	    4
229*cdf0e10cSrcweir #define PictStandardNUM	    5
230*cdf0e10cSrcweir 
231*cdf0e10cSrcweir XRenderPictFormat *
232*cdf0e10cSrcweir XRenderFindStandardFormat (Display		*dpy,
233*cdf0e10cSrcweir 			   int			format);
234*cdf0e10cSrcweir 
235*cdf0e10cSrcweir XIndexValue *
236*cdf0e10cSrcweir XRenderQueryPictIndexValues(Display			*dpy,
237*cdf0e10cSrcweir 			    _Xconst XRenderPictFormat	*format,
238*cdf0e10cSrcweir 			    int				*num);
239*cdf0e10cSrcweir 
240*cdf0e10cSrcweir Picture
241*cdf0e10cSrcweir XRenderCreatePicture (Display				*dpy,
242*cdf0e10cSrcweir 		      Drawable				drawable,
243*cdf0e10cSrcweir 		      _Xconst XRenderPictFormat		*format,
244*cdf0e10cSrcweir 		      unsigned long			valuemask,
245*cdf0e10cSrcweir 		      _Xconst XRenderPictureAttributes	*attributes);
246*cdf0e10cSrcweir 
247*cdf0e10cSrcweir void
248*cdf0e10cSrcweir XRenderChangePicture (Display				*dpy,
249*cdf0e10cSrcweir 		      Picture				picture,
250*cdf0e10cSrcweir 		      unsigned long			valuemask,
251*cdf0e10cSrcweir 		      _Xconst XRenderPictureAttributes  *attributes);
252*cdf0e10cSrcweir 
253*cdf0e10cSrcweir void
254*cdf0e10cSrcweir XRenderSetPictureClipRectangles (Display	    *dpy,
255*cdf0e10cSrcweir 				 Picture	    picture,
256*cdf0e10cSrcweir 				 int		    xOrigin,
257*cdf0e10cSrcweir 				 int		    yOrigin,
258*cdf0e10cSrcweir 				 _Xconst XRectangle *rects,
259*cdf0e10cSrcweir 				 int		    n);
260*cdf0e10cSrcweir 
261*cdf0e10cSrcweir void
262*cdf0e10cSrcweir XRenderSetPictureClipRegion (Display	    *dpy,
263*cdf0e10cSrcweir 			     Picture	    picture,
264*cdf0e10cSrcweir 			     Region	    r);
265*cdf0e10cSrcweir 
266*cdf0e10cSrcweir void
267*cdf0e10cSrcweir XRenderSetPictureTransform (Display	    *dpy,
268*cdf0e10cSrcweir 			    Picture	    picture,
269*cdf0e10cSrcweir 			    XTransform	    *transform);
270*cdf0e10cSrcweir 
271*cdf0e10cSrcweir void
272*cdf0e10cSrcweir XRenderFreePicture (Display                   *dpy,
273*cdf0e10cSrcweir 		    Picture                   picture);
274*cdf0e10cSrcweir 
275*cdf0e10cSrcweir void
276*cdf0e10cSrcweir XRenderComposite (Display   *dpy,
277*cdf0e10cSrcweir 		  int	    op,
278*cdf0e10cSrcweir 		  Picture   src,
279*cdf0e10cSrcweir 		  Picture   mask,
280*cdf0e10cSrcweir 		  Picture   dst,
281*cdf0e10cSrcweir 		  int	    src_x,
282*cdf0e10cSrcweir 		  int	    src_y,
283*cdf0e10cSrcweir 		  int	    mask_x,
284*cdf0e10cSrcweir 		  int	    mask_y,
285*cdf0e10cSrcweir 		  int	    dst_x,
286*cdf0e10cSrcweir 		  int	    dst_y,
287*cdf0e10cSrcweir 		  unsigned int	width,
288*cdf0e10cSrcweir 		  unsigned int	height);
289*cdf0e10cSrcweir 
290*cdf0e10cSrcweir GlyphSet
291*cdf0e10cSrcweir XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format);
292*cdf0e10cSrcweir 
293*cdf0e10cSrcweir GlyphSet
294*cdf0e10cSrcweir XRenderReferenceGlyphSet (Display *dpy, GlyphSet existing);
295*cdf0e10cSrcweir 
296*cdf0e10cSrcweir void
297*cdf0e10cSrcweir XRenderFreeGlyphSet (Display *dpy, GlyphSet glyphset);
298*cdf0e10cSrcweir 
299*cdf0e10cSrcweir void
300*cdf0e10cSrcweir XRenderAddGlyphs (Display		*dpy,
301*cdf0e10cSrcweir 		  GlyphSet		glyphset,
302*cdf0e10cSrcweir 		  _Xconst Glyph		*gids,
303*cdf0e10cSrcweir 		  _Xconst XGlyphInfo	*glyphs,
304*cdf0e10cSrcweir 		  int			nglyphs,
305*cdf0e10cSrcweir 		  _Xconst char		*images,
306*cdf0e10cSrcweir 		  int			nbyte_images);
307*cdf0e10cSrcweir 
308*cdf0e10cSrcweir void
309*cdf0e10cSrcweir XRenderFreeGlyphs (Display	    *dpy,
310*cdf0e10cSrcweir 		   GlyphSet	    glyphset,
311*cdf0e10cSrcweir 		   _Xconst Glyph    *gids,
312*cdf0e10cSrcweir 		   int		    nglyphs);
313*cdf0e10cSrcweir 
314*cdf0e10cSrcweir void
315*cdf0e10cSrcweir XRenderCompositeString8 (Display		    *dpy,
316*cdf0e10cSrcweir 			 int			    op,
317*cdf0e10cSrcweir 			 Picture		    src,
318*cdf0e10cSrcweir 			 Picture		    dst,
319*cdf0e10cSrcweir 			 _Xconst XRenderPictFormat  *maskFormat,
320*cdf0e10cSrcweir 			 GlyphSet		    glyphset,
321*cdf0e10cSrcweir 			 int			    xSrc,
322*cdf0e10cSrcweir 			 int			    ySrc,
323*cdf0e10cSrcweir 			 int			    xDst,
324*cdf0e10cSrcweir 			 int			    yDst,
325*cdf0e10cSrcweir 			 _Xconst char		    *string,
326*cdf0e10cSrcweir 			 int			    nchar);
327*cdf0e10cSrcweir 
328*cdf0e10cSrcweir void
329*cdf0e10cSrcweir XRenderCompositeString16 (Display		    *dpy,
330*cdf0e10cSrcweir 			  int			    op,
331*cdf0e10cSrcweir 			  Picture		    src,
332*cdf0e10cSrcweir 			  Picture		    dst,
333*cdf0e10cSrcweir 			  _Xconst XRenderPictFormat *maskFormat,
334*cdf0e10cSrcweir 			  GlyphSet		    glyphset,
335*cdf0e10cSrcweir 			  int			    xSrc,
336*cdf0e10cSrcweir 			  int			    ySrc,
337*cdf0e10cSrcweir 			  int			    xDst,
338*cdf0e10cSrcweir 			  int			    yDst,
339*cdf0e10cSrcweir 			  _Xconst unsigned short    *string,
340*cdf0e10cSrcweir 			  int			    nchar);
341*cdf0e10cSrcweir 
342*cdf0e10cSrcweir void
343*cdf0e10cSrcweir XRenderCompositeString32 (Display		    *dpy,
344*cdf0e10cSrcweir 			  int			    op,
345*cdf0e10cSrcweir 			  Picture		    src,
346*cdf0e10cSrcweir 			  Picture		    dst,
347*cdf0e10cSrcweir 			  _Xconst XRenderPictFormat *maskFormat,
348*cdf0e10cSrcweir 			  GlyphSet		    glyphset,
349*cdf0e10cSrcweir 			  int			    xSrc,
350*cdf0e10cSrcweir 			  int			    ySrc,
351*cdf0e10cSrcweir 			  int			    xDst,
352*cdf0e10cSrcweir 			  int			    yDst,
353*cdf0e10cSrcweir 			  _Xconst unsigned int	    *string,
354*cdf0e10cSrcweir 			  int			    nchar);
355*cdf0e10cSrcweir 
356*cdf0e10cSrcweir void
357*cdf0e10cSrcweir XRenderCompositeText8 (Display			    *dpy,
358*cdf0e10cSrcweir 		       int			    op,
359*cdf0e10cSrcweir 		       Picture			    src,
360*cdf0e10cSrcweir 		       Picture			    dst,
361*cdf0e10cSrcweir 		       _Xconst XRenderPictFormat    *maskFormat,
362*cdf0e10cSrcweir 		       int			    xSrc,
363*cdf0e10cSrcweir 		       int			    ySrc,
364*cdf0e10cSrcweir 		       int			    xDst,
365*cdf0e10cSrcweir 		       int			    yDst,
366*cdf0e10cSrcweir 		       _Xconst XGlyphElt8	    *elts,
367*cdf0e10cSrcweir 		       int			    nelt);
368*cdf0e10cSrcweir 
369*cdf0e10cSrcweir void
370*cdf0e10cSrcweir XRenderCompositeText16 (Display			    *dpy,
371*cdf0e10cSrcweir 			int			    op,
372*cdf0e10cSrcweir 			Picture			    src,
373*cdf0e10cSrcweir 			Picture			    dst,
374*cdf0e10cSrcweir 			_Xconst XRenderPictFormat   *maskFormat,
375*cdf0e10cSrcweir 			int			    xSrc,
376*cdf0e10cSrcweir 			int			    ySrc,
377*cdf0e10cSrcweir 			int			    xDst,
378*cdf0e10cSrcweir 			int			    yDst,
379*cdf0e10cSrcweir 			_Xconst XGlyphElt16	    *elts,
380*cdf0e10cSrcweir 			int			    nelt);
381*cdf0e10cSrcweir 
382*cdf0e10cSrcweir void
383*cdf0e10cSrcweir XRenderCompositeText32 (Display			    *dpy,
384*cdf0e10cSrcweir 			int			    op,
385*cdf0e10cSrcweir 			Picture			    src,
386*cdf0e10cSrcweir 			Picture			    dst,
387*cdf0e10cSrcweir 			_Xconst XRenderPictFormat   *maskFormat,
388*cdf0e10cSrcweir 			int			    xSrc,
389*cdf0e10cSrcweir 			int			    ySrc,
390*cdf0e10cSrcweir 			int			    xDst,
391*cdf0e10cSrcweir 			int			    yDst,
392*cdf0e10cSrcweir 			_Xconst XGlyphElt32	    *elts,
393*cdf0e10cSrcweir 			int			    nelt);
394*cdf0e10cSrcweir 
395*cdf0e10cSrcweir void
396*cdf0e10cSrcweir XRenderFillRectangle (Display		    *dpy,
397*cdf0e10cSrcweir 		      int		    op,
398*cdf0e10cSrcweir 		      Picture		    dst,
399*cdf0e10cSrcweir 		      _Xconst XRenderColor  *color,
400*cdf0e10cSrcweir 		      int		    x,
401*cdf0e10cSrcweir 		      int		    y,
402*cdf0e10cSrcweir 		      unsigned int	    width,
403*cdf0e10cSrcweir 		      unsigned int	    height);
404*cdf0e10cSrcweir 
405*cdf0e10cSrcweir void
406*cdf0e10cSrcweir XRenderFillRectangles (Display		    *dpy,
407*cdf0e10cSrcweir 		       int		    op,
408*cdf0e10cSrcweir 		       Picture		    dst,
409*cdf0e10cSrcweir 		       _Xconst XRenderColor *color,
410*cdf0e10cSrcweir 		       _Xconst XRectangle   *rectangles,
411*cdf0e10cSrcweir 		       int		    n_rects);
412*cdf0e10cSrcweir 
413*cdf0e10cSrcweir void
414*cdf0e10cSrcweir XRenderCompositeTrapezoids (Display		*dpy,
415*cdf0e10cSrcweir 			    int			op,
416*cdf0e10cSrcweir 			    Picture		src,
417*cdf0e10cSrcweir 			    Picture		dst,
418*cdf0e10cSrcweir 			    _Xconst XRenderPictFormat	*maskFormat,
419*cdf0e10cSrcweir 			    int			xSrc,
420*cdf0e10cSrcweir 			    int			ySrc,
421*cdf0e10cSrcweir 			    _Xconst XTrapezoid	*traps,
422*cdf0e10cSrcweir 			    int			ntrap);
423*cdf0e10cSrcweir 
424*cdf0e10cSrcweir void
425*cdf0e10cSrcweir XRenderCompositeTriangles (Display		*dpy,
426*cdf0e10cSrcweir 			   int			op,
427*cdf0e10cSrcweir 			   Picture		src,
428*cdf0e10cSrcweir 			   Picture		dst,
429*cdf0e10cSrcweir 			    _Xconst XRenderPictFormat	*maskFormat,
430*cdf0e10cSrcweir 			   int			xSrc,
431*cdf0e10cSrcweir 			   int			ySrc,
432*cdf0e10cSrcweir 			   _Xconst XTriangle	*triangles,
433*cdf0e10cSrcweir 			   int			ntriangle);
434*cdf0e10cSrcweir 
435*cdf0e10cSrcweir void
436*cdf0e10cSrcweir XRenderCompositeTriStrip (Display		*dpy,
437*cdf0e10cSrcweir 			  int			op,
438*cdf0e10cSrcweir 			  Picture		src,
439*cdf0e10cSrcweir 			  Picture		dst,
440*cdf0e10cSrcweir 			    _Xconst XRenderPictFormat	*maskFormat,
441*cdf0e10cSrcweir 			  int			xSrc,
442*cdf0e10cSrcweir 			  int			ySrc,
443*cdf0e10cSrcweir 			  _Xconst XPointFixed	*points,
444*cdf0e10cSrcweir 			  int			npoint);
445*cdf0e10cSrcweir 
446*cdf0e10cSrcweir void
447*cdf0e10cSrcweir XRenderCompositeTriFan (Display			*dpy,
448*cdf0e10cSrcweir 			int			op,
449*cdf0e10cSrcweir 			Picture			src,
450*cdf0e10cSrcweir 			Picture			dst,
451*cdf0e10cSrcweir 			_Xconst XRenderPictFormat	*maskFormat,
452*cdf0e10cSrcweir 			int			xSrc,
453*cdf0e10cSrcweir 			int			ySrc,
454*cdf0e10cSrcweir 			_Xconst XPointFixed	*points,
455*cdf0e10cSrcweir 			int			npoint);
456*cdf0e10cSrcweir 
457*cdf0e10cSrcweir void
458*cdf0e10cSrcweir XRenderCompositeDoublePoly (Display		    *dpy,
459*cdf0e10cSrcweir 			    int			    op,
460*cdf0e10cSrcweir 			    Picture		    src,
461*cdf0e10cSrcweir 			    Picture		    dst,
462*cdf0e10cSrcweir 			    _Xconst XRenderPictFormat	*maskFormat,
463*cdf0e10cSrcweir 			    int			    xSrc,
464*cdf0e10cSrcweir 			    int			    ySrc,
465*cdf0e10cSrcweir 			    int			    xDst,
466*cdf0e10cSrcweir 			    int			    yDst,
467*cdf0e10cSrcweir 			    _Xconst XPointDouble    *fpoints,
468*cdf0e10cSrcweir 			    int			    npoints,
469*cdf0e10cSrcweir 			    int			    winding);
470*cdf0e10cSrcweir Status
471*cdf0e10cSrcweir XRenderParseColor(Display	*dpy,
472*cdf0e10cSrcweir 		  char		*spec,
473*cdf0e10cSrcweir 		  XRenderColor	*def);
474*cdf0e10cSrcweir 
475*cdf0e10cSrcweir Cursor
476*cdf0e10cSrcweir XRenderCreateCursor (Display	    *dpy,
477*cdf0e10cSrcweir 		     Picture	    source,
478*cdf0e10cSrcweir 		     unsigned int   x,
479*cdf0e10cSrcweir 		     unsigned int   y);
480*cdf0e10cSrcweir 
481*cdf0e10cSrcweir XFilters *
482*cdf0e10cSrcweir XRenderQueryFilters (Display *dpy, Drawable drawable);
483*cdf0e10cSrcweir 
484*cdf0e10cSrcweir void
485*cdf0e10cSrcweir XRenderSetPictureFilter (Display    *dpy,
486*cdf0e10cSrcweir 			 Picture    picture,
487*cdf0e10cSrcweir 			 const char *filter,
488*cdf0e10cSrcweir 			 XFixed	    *params,
489*cdf0e10cSrcweir 			 int	    nparams);
490*cdf0e10cSrcweir 
491*cdf0e10cSrcweir Cursor
492*cdf0e10cSrcweir XRenderCreateAnimCursor (Display	*dpy,
493*cdf0e10cSrcweir 			 int		ncursor,
494*cdf0e10cSrcweir 			 XAnimCursor	*cursors);
495*cdf0e10cSrcweir 
496*cdf0e10cSrcweir 
497*cdf0e10cSrcweir void
498*cdf0e10cSrcweir XRenderAddTraps (Display	    *dpy,
499*cdf0e10cSrcweir 		 Picture	    picture,
500*cdf0e10cSrcweir 		 int		    xOff,
501*cdf0e10cSrcweir 		 int		    yOff,
502*cdf0e10cSrcweir 		 _Xconst XTrap	    *traps,
503*cdf0e10cSrcweir 		 int		    ntrap);
504*cdf0e10cSrcweir 
505*cdf0e10cSrcweir Picture XRenderCreateSolidFill (Display *dpy,
506*cdf0e10cSrcweir                                 const XRenderColor *color);
507*cdf0e10cSrcweir 
508*cdf0e10cSrcweir Picture XRenderCreateLinearGradient (Display *dpy,
509*cdf0e10cSrcweir                                      const XLinearGradient *gradient,
510*cdf0e10cSrcweir                                      const XFixed *stops,
511*cdf0e10cSrcweir                                      const XRenderColor *colors,
512*cdf0e10cSrcweir                                      int nstops);
513*cdf0e10cSrcweir 
514*cdf0e10cSrcweir Picture XRenderCreateRadialGradient (Display *dpy,
515*cdf0e10cSrcweir                                      const XRadialGradient *gradient,
516*cdf0e10cSrcweir                                      const XFixed *stops,
517*cdf0e10cSrcweir                                      const XRenderColor *colors,
518*cdf0e10cSrcweir                                      int nstops);
519*cdf0e10cSrcweir 
520*cdf0e10cSrcweir Picture XRenderCreateConicalGradient (Display *dpy,
521*cdf0e10cSrcweir                                       const XConicalGradient *gradient,
522*cdf0e10cSrcweir                                       const XFixed *stops,
523*cdf0e10cSrcweir                                       const XRenderColor *colors,
524*cdf0e10cSrcweir                                       int nstops);
525*cdf0e10cSrcweir 
526*cdf0e10cSrcweir _XFUNCPROTOEND
527*cdf0e10cSrcweir 
528*cdf0e10cSrcweir #endif /* _XRENDER_H_ */
529