xref: /aoo42x/main/x11_extensions/inc/render.h (revision cdf0e10c)
1*cdf0e10cSrcweir /*
2*cdf0e10cSrcweir  * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 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 _RENDER_H_
27*cdf0e10cSrcweir #define _RENDER_H_
28*cdf0e10cSrcweir 
29*cdf0e10cSrcweir typedef XID		Glyph;
30*cdf0e10cSrcweir typedef XID		GlyphSet;
31*cdf0e10cSrcweir typedef XID		Picture;
32*cdf0e10cSrcweir typedef XID		PictFormat;
33*cdf0e10cSrcweir 
34*cdf0e10cSrcweir #define RENDER_NAME	"RENDER"
35*cdf0e10cSrcweir #define RENDER_MAJOR	0
36*cdf0e10cSrcweir #define RENDER_MINOR	10
37*cdf0e10cSrcweir 
38*cdf0e10cSrcweir #define X_RenderQueryVersion		    0
39*cdf0e10cSrcweir #define X_RenderQueryPictFormats	    1
40*cdf0e10cSrcweir #define X_RenderQueryPictIndexValues	    2	/* 0.7 */
41*cdf0e10cSrcweir #define X_RenderQueryDithers		    3
42*cdf0e10cSrcweir #define X_RenderCreatePicture		    4
43*cdf0e10cSrcweir #define X_RenderChangePicture		    5
44*cdf0e10cSrcweir #define X_RenderSetPictureClipRectangles    6
45*cdf0e10cSrcweir #define X_RenderFreePicture		    7
46*cdf0e10cSrcweir #define X_RenderComposite		    8
47*cdf0e10cSrcweir #define X_RenderScale			    9
48*cdf0e10cSrcweir #define X_RenderTrapezoids		    10
49*cdf0e10cSrcweir #define X_RenderTriangles		    11
50*cdf0e10cSrcweir #define X_RenderTriStrip		    12
51*cdf0e10cSrcweir #define X_RenderTriFan			    13
52*cdf0e10cSrcweir #define X_RenderColorTrapezoids		    14
53*cdf0e10cSrcweir #define X_RenderColorTriangles		    15
54*cdf0e10cSrcweir /* #define X_RenderTransform		    16 */
55*cdf0e10cSrcweir #define X_RenderCreateGlyphSet		    17
56*cdf0e10cSrcweir #define X_RenderReferenceGlyphSet	    18
57*cdf0e10cSrcweir #define X_RenderFreeGlyphSet		    19
58*cdf0e10cSrcweir #define X_RenderAddGlyphs		    20
59*cdf0e10cSrcweir #define X_RenderAddGlyphsFromPicture	    21
60*cdf0e10cSrcweir #define X_RenderFreeGlyphs		    22
61*cdf0e10cSrcweir #define X_RenderCompositeGlyphs8	    23
62*cdf0e10cSrcweir #define X_RenderCompositeGlyphs16	    24
63*cdf0e10cSrcweir #define X_RenderCompositeGlyphs32	    25
64*cdf0e10cSrcweir #define X_RenderFillRectangles		    26
65*cdf0e10cSrcweir /* 0.5 */
66*cdf0e10cSrcweir #define X_RenderCreateCursor		    27
67*cdf0e10cSrcweir /* 0.6 */
68*cdf0e10cSrcweir #define X_RenderSetPictureTransform	    28
69*cdf0e10cSrcweir #define X_RenderQueryFilters		    29
70*cdf0e10cSrcweir #define X_RenderSetPictureFilter	    30
71*cdf0e10cSrcweir /* 0.8 */
72*cdf0e10cSrcweir #define X_RenderCreateAnimCursor	    31
73*cdf0e10cSrcweir /* 0.9 */
74*cdf0e10cSrcweir #define X_RenderAddTraps		    32
75*cdf0e10cSrcweir /* 0.10 */
76*cdf0e10cSrcweir #define X_RenderCreateSolidFill             33
77*cdf0e10cSrcweir #define X_RenderCreateLinearGradient        34
78*cdf0e10cSrcweir #define X_RenderCreateRadialGradient        35
79*cdf0e10cSrcweir #define X_RenderCreateConicalGradient       36
80*cdf0e10cSrcweir #define RenderNumberRequests		    (X_RenderCreateConicalGradient+1)
81*cdf0e10cSrcweir 
82*cdf0e10cSrcweir #define BadPictFormat			    0
83*cdf0e10cSrcweir #define BadPicture			    1
84*cdf0e10cSrcweir #define BadPictOp			    2
85*cdf0e10cSrcweir #define BadGlyphSet			    3
86*cdf0e10cSrcweir #define BadGlyph			    4
87*cdf0e10cSrcweir #define RenderNumberErrors		    (BadGlyph+1)
88*cdf0e10cSrcweir 
89*cdf0e10cSrcweir #define PictTypeIndexed			    0
90*cdf0e10cSrcweir #define PictTypeDirect			    1
91*cdf0e10cSrcweir 
92*cdf0e10cSrcweir #define PictOpMinimum			    0
93*cdf0e10cSrcweir #define PictOpClear			    0
94*cdf0e10cSrcweir #define PictOpSrc			    1
95*cdf0e10cSrcweir #define PictOpDst			    2
96*cdf0e10cSrcweir #define PictOpOver			    3
97*cdf0e10cSrcweir #define PictOpOverReverse		    4
98*cdf0e10cSrcweir #define PictOpIn			    5
99*cdf0e10cSrcweir #define PictOpInReverse			    6
100*cdf0e10cSrcweir #define PictOpOut			    7
101*cdf0e10cSrcweir #define PictOpOutReverse		    8
102*cdf0e10cSrcweir #define PictOpAtop			    9
103*cdf0e10cSrcweir #define PictOpAtopReverse		    10
104*cdf0e10cSrcweir #define PictOpXor			    11
105*cdf0e10cSrcweir #define PictOpAdd			    12
106*cdf0e10cSrcweir #define PictOpSaturate			    13
107*cdf0e10cSrcweir #define PictOpMaximum			    13
108*cdf0e10cSrcweir 
109*cdf0e10cSrcweir /*
110*cdf0e10cSrcweir  * Operators only available in version 0.2
111*cdf0e10cSrcweir  */
112*cdf0e10cSrcweir #define PictOpDisjointMinimum			    0x10
113*cdf0e10cSrcweir #define PictOpDisjointClear			    0x10
114*cdf0e10cSrcweir #define PictOpDisjointSrc			    0x11
115*cdf0e10cSrcweir #define PictOpDisjointDst			    0x12
116*cdf0e10cSrcweir #define PictOpDisjointOver			    0x13
117*cdf0e10cSrcweir #define PictOpDisjointOverReverse		    0x14
118*cdf0e10cSrcweir #define PictOpDisjointIn			    0x15
119*cdf0e10cSrcweir #define PictOpDisjointInReverse			    0x16
120*cdf0e10cSrcweir #define PictOpDisjointOut			    0x17
121*cdf0e10cSrcweir #define PictOpDisjointOutReverse		    0x18
122*cdf0e10cSrcweir #define PictOpDisjointAtop			    0x19
123*cdf0e10cSrcweir #define PictOpDisjointAtopReverse		    0x1a
124*cdf0e10cSrcweir #define PictOpDisjointXor			    0x1b
125*cdf0e10cSrcweir #define PictOpDisjointMaximum			    0x1b
126*cdf0e10cSrcweir 
127*cdf0e10cSrcweir #define PictOpConjointMinimum			    0x20
128*cdf0e10cSrcweir #define PictOpConjointClear			    0x20
129*cdf0e10cSrcweir #define PictOpConjointSrc			    0x21
130*cdf0e10cSrcweir #define PictOpConjointDst			    0x22
131*cdf0e10cSrcweir #define PictOpConjointOver			    0x23
132*cdf0e10cSrcweir #define PictOpConjointOverReverse		    0x24
133*cdf0e10cSrcweir #define PictOpConjointIn			    0x25
134*cdf0e10cSrcweir #define PictOpConjointInReverse			    0x26
135*cdf0e10cSrcweir #define PictOpConjointOut			    0x27
136*cdf0e10cSrcweir #define PictOpConjointOutReverse		    0x28
137*cdf0e10cSrcweir #define PictOpConjointAtop			    0x29
138*cdf0e10cSrcweir #define PictOpConjointAtopReverse		    0x2a
139*cdf0e10cSrcweir #define PictOpConjointXor			    0x2b
140*cdf0e10cSrcweir #define PictOpConjointMaximum			    0x2b
141*cdf0e10cSrcweir 
142*cdf0e10cSrcweir #define PolyEdgeSharp			    0
143*cdf0e10cSrcweir #define PolyEdgeSmooth			    1
144*cdf0e10cSrcweir 
145*cdf0e10cSrcweir #define PolyModePrecise			    0
146*cdf0e10cSrcweir #define PolyModeImprecise		    1
147*cdf0e10cSrcweir 
148*cdf0e10cSrcweir #define CPRepeat			    (1 << 0)
149*cdf0e10cSrcweir #define CPAlphaMap			    (1 << 1)
150*cdf0e10cSrcweir #define CPAlphaXOrigin			    (1 << 2)
151*cdf0e10cSrcweir #define CPAlphaYOrigin			    (1 << 3)
152*cdf0e10cSrcweir #define CPClipXOrigin			    (1 << 4)
153*cdf0e10cSrcweir #define CPClipYOrigin			    (1 << 5)
154*cdf0e10cSrcweir #define CPClipMask			    (1 << 6)
155*cdf0e10cSrcweir #define CPGraphicsExposure		    (1 << 7)
156*cdf0e10cSrcweir #define CPSubwindowMode			    (1 << 8)
157*cdf0e10cSrcweir #define CPPolyEdge			    (1 << 9)
158*cdf0e10cSrcweir #define CPPolyMode			    (1 << 10)
159*cdf0e10cSrcweir #define CPDither			    (1 << 11)
160*cdf0e10cSrcweir #define CPComponentAlpha		    (1 << 12)
161*cdf0e10cSrcweir #define CPLastBit			    12
162*cdf0e10cSrcweir 
163*cdf0e10cSrcweir /* Filters included in 0.6 */
164*cdf0e10cSrcweir #define FilterNearest			    "nearest"
165*cdf0e10cSrcweir #define FilterBilinear			    "bilinear"
166*cdf0e10cSrcweir /* Filters included in 0.10 */
167*cdf0e10cSrcweir #define FilterConvolution		    "convolution"
168*cdf0e10cSrcweir 
169*cdf0e10cSrcweir #define FilterFast			    "fast"
170*cdf0e10cSrcweir #define FilterGood			    "good"
171*cdf0e10cSrcweir #define FilterBest			    "best"
172*cdf0e10cSrcweir 
173*cdf0e10cSrcweir #define FilterAliasNone			    -1
174*cdf0e10cSrcweir 
175*cdf0e10cSrcweir /* Subpixel orders included in 0.6 */
176*cdf0e10cSrcweir #define SubPixelUnknown			    0
177*cdf0e10cSrcweir #define SubPixelHorizontalRGB		    1
178*cdf0e10cSrcweir #define SubPixelHorizontalBGR		    2
179*cdf0e10cSrcweir #define SubPixelVerticalRGB		    3
180*cdf0e10cSrcweir #define SubPixelVerticalBGR		    4
181*cdf0e10cSrcweir #define SubPixelNone			    5
182*cdf0e10cSrcweir 
183*cdf0e10cSrcweir /* Extended repeat attributes included in 0.10 */
184*cdf0e10cSrcweir #define RepeatNone                          0
185*cdf0e10cSrcweir #define RepeatNormal                        1
186*cdf0e10cSrcweir #define RepeatPad                           2
187*cdf0e10cSrcweir #define RepeatReflect                       3
188*cdf0e10cSrcweir 
189*cdf0e10cSrcweir #endif	/* _RENDER_H_ */
190