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