xref: /trunk/main/x11_extensions/inc/render.h (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
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