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