1 /* 2 * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 keithp Exp $ 3 * 4 * Copyright © 2000 SuSE, Inc. 5 * 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. 15 * 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. 22 * 23 * Author: Keith Packard, SuSE, Inc. 24 */ 25 26 #ifndef _RENDER_H_ 27 #define _RENDER_H_ 28 29 typedef XID Glyph; 30 typedef XID GlyphSet; 31 typedef XID Picture; 32 typedef XID PictFormat; 33 34 #define RENDER_NAME "RENDER" 35 #define RENDER_MAJOR 0 36 #define RENDER_MINOR 10 37 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 65 /* 0.5 */ 66 #define X_RenderCreateCursor 27 67 /* 0.6 */ 68 #define X_RenderSetPictureTransform 28 69 #define X_RenderQueryFilters 29 70 #define X_RenderSetPictureFilter 30 71 /* 0.8 */ 72 #define X_RenderCreateAnimCursor 31 73 /* 0.9 */ 74 #define X_RenderAddTraps 32 75 /* 0.10 */ 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) 81 82 #define BadPictFormat 0 83 #define BadPicture 1 84 #define BadPictOp 2 85 #define BadGlyphSet 3 86 #define BadGlyph 4 87 #define RenderNumberErrors (BadGlyph+1) 88 89 #define PictTypeIndexed 0 90 #define PictTypeDirect 1 91 92 #define PictOpMinimum 0 93 #define PictOpClear 0 94 #define PictOpSrc 1 95 #define PictOpDst 2 96 #define PictOpOver 3 97 #define PictOpOverReverse 4 98 #define PictOpIn 5 99 #define PictOpInReverse 6 100 #define PictOpOut 7 101 #define PictOpOutReverse 8 102 #define PictOpAtop 9 103 #define PictOpAtopReverse 10 104 #define PictOpXor 11 105 #define PictOpAdd 12 106 #define PictOpSaturate 13 107 #define PictOpMaximum 13 108 109 /* 110 * Operators only available in version 0.2 111 */ 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 126 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 141 142 #define PolyEdgeSharp 0 143 #define PolyEdgeSmooth 1 144 145 #define PolyModePrecise 0 146 #define PolyModeImprecise 1 147 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) 161 #define CPLastBit 12 162 163 /* Filters included in 0.6 */ 164 #define FilterNearest "nearest" 165 #define FilterBilinear "bilinear" 166 /* Filters included in 0.10 */ 167 #define FilterConvolution "convolution" 168 169 #define FilterFast "fast" 170 #define FilterGood "good" 171 #define FilterBest "best" 172 173 #define FilterAliasNone -1 174 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 182 183 /* Extended repeat attributes included in 0.10 */ 184 #define RepeatNone 0 185 #define RepeatNormal 1 186 #define RepeatPad 2 187 #define RepeatReflect 3 188 189 #endif /* _RENDER_H_ */ 190