xref: /trunk/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