2 * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 keithp Exp $
4 * Copyright © 2000 SuSE, Inc.
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that
9 * copyright notice and this permission notice appear in supporting
10 * documentation, and that the name of SuSE not be used in advertising or
11 * publicity pertaining to distribution of the software without specific,
12 * written prior permission. SuSE makes no representations about the
13 * suitability of this software for any purpose. It is provided "as is"
14 * without express or implied warranty.
16 * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
18 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
20 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
21 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23 * Author: Keith Packard, SuSE, Inc.
32 typedef XID PictFormat
;
34 #define RENDER_NAME "RENDER"
35 #define RENDER_MAJOR 0
36 #define RENDER_MINOR 10
38 #define X_RenderQueryVersion 0
39 #define X_RenderQueryPictFormats 1
40 #define X_RenderQueryPictIndexValues 2 /* 0.7 */
41 #define X_RenderQueryDithers 3
42 #define X_RenderCreatePicture 4
43 #define X_RenderChangePicture 5
44 #define X_RenderSetPictureClipRectangles 6
45 #define X_RenderFreePicture 7
46 #define X_RenderComposite 8
47 #define X_RenderScale 9
48 #define X_RenderTrapezoids 10
49 #define X_RenderTriangles 11
50 #define X_RenderTriStrip 12
51 #define X_RenderTriFan 13
52 #define X_RenderColorTrapezoids 14
53 #define X_RenderColorTriangles 15
54 /* #define X_RenderTransform 16 */
55 #define X_RenderCreateGlyphSet 17
56 #define X_RenderReferenceGlyphSet 18
57 #define X_RenderFreeGlyphSet 19
58 #define X_RenderAddGlyphs 20
59 #define X_RenderAddGlyphsFromPicture 21
60 #define X_RenderFreeGlyphs 22
61 #define X_RenderCompositeGlyphs8 23
62 #define X_RenderCompositeGlyphs16 24
63 #define X_RenderCompositeGlyphs32 25
64 #define X_RenderFillRectangles 26
66 #define X_RenderCreateCursor 27
68 #define X_RenderSetPictureTransform 28
69 #define X_RenderQueryFilters 29
70 #define X_RenderSetPictureFilter 30
72 #define X_RenderCreateAnimCursor 31
74 #define X_RenderAddTraps 32
76 #define X_RenderCreateSolidFill 33
77 #define X_RenderCreateLinearGradient 34
78 #define X_RenderCreateRadialGradient 35
79 #define X_RenderCreateConicalGradient 36
80 #define RenderNumberRequests (X_RenderCreateConicalGradient+1)
82 #define BadPictFormat 0
87 #define RenderNumberErrors (BadGlyph+1)
89 #define PictTypeIndexed 0
90 #define PictTypeDirect 1
92 #define PictOpMinimum 0
97 #define PictOpOverReverse 4
99 #define PictOpInReverse 6
101 #define PictOpOutReverse 8
103 #define PictOpAtopReverse 10
106 #define PictOpSaturate 13
107 #define PictOpMaximum 13
110 * Operators only available in version 0.2
112 #define PictOpDisjointMinimum 0x10
113 #define PictOpDisjointClear 0x10
114 #define PictOpDisjointSrc 0x11
115 #define PictOpDisjointDst 0x12
116 #define PictOpDisjointOver 0x13
117 #define PictOpDisjointOverReverse 0x14
118 #define PictOpDisjointIn 0x15
119 #define PictOpDisjointInReverse 0x16
120 #define PictOpDisjointOut 0x17
121 #define PictOpDisjointOutReverse 0x18
122 #define PictOpDisjointAtop 0x19
123 #define PictOpDisjointAtopReverse 0x1a
124 #define PictOpDisjointXor 0x1b
125 #define PictOpDisjointMaximum 0x1b
127 #define PictOpConjointMinimum 0x20
128 #define PictOpConjointClear 0x20
129 #define PictOpConjointSrc 0x21
130 #define PictOpConjointDst 0x22
131 #define PictOpConjointOver 0x23
132 #define PictOpConjointOverReverse 0x24
133 #define PictOpConjointIn 0x25
134 #define PictOpConjointInReverse 0x26
135 #define PictOpConjointOut 0x27
136 #define PictOpConjointOutReverse 0x28
137 #define PictOpConjointAtop 0x29
138 #define PictOpConjointAtopReverse 0x2a
139 #define PictOpConjointXor 0x2b
140 #define PictOpConjointMaximum 0x2b
142 #define PolyEdgeSharp 0
143 #define PolyEdgeSmooth 1
145 #define PolyModePrecise 0
146 #define PolyModeImprecise 1
148 #define CPRepeat (1 << 0)
149 #define CPAlphaMap (1 << 1)
150 #define CPAlphaXOrigin (1 << 2)
151 #define CPAlphaYOrigin (1 << 3)
152 #define CPClipXOrigin (1 << 4)
153 #define CPClipYOrigin (1 << 5)
154 #define CPClipMask (1 << 6)
155 #define CPGraphicsExposure (1 << 7)
156 #define CPSubwindowMode (1 << 8)
157 #define CPPolyEdge (1 << 9)
158 #define CPPolyMode (1 << 10)
159 #define CPDither (1 << 11)
160 #define CPComponentAlpha (1 << 12)
163 /* Filters included in 0.6 */
164 #define FilterNearest "nearest"
165 #define FilterBilinear "bilinear"
166 /* Filters included in 0.10 */
167 #define FilterConvolution "convolution"
169 #define FilterFast "fast"
170 #define FilterGood "good"
171 #define FilterBest "best"
173 #define FilterAliasNone -1
175 /* Subpixel orders included in 0.6 */
176 #define SubPixelUnknown 0
177 #define SubPixelHorizontalRGB 1
178 #define SubPixelHorizontalBGR 2
179 #define SubPixelVerticalRGB 3
180 #define SubPixelVerticalBGR 4
181 #define SubPixelNone 5
183 /* Extended repeat attributes included in 0.10 */
185 #define RepeatNormal 1
187 #define RepeatReflect 3
189 #endif /* _RENDER_H_ */