74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * $XFree86: xc/include/extensions/render.h,v 1.11 2002/11/23 02:34:45 keithp Exp $
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Copyright � 2000 SuSE, Inc.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * documentation for any purpose is hereby granted without fee, provided that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * the above copyright notice appear in all copies and that both that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * copyright notice and this permission notice appear in supporting
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * documentation, and that the name of SuSE not be used in advertising or
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * publicity pertaining to distribution of the software without specific,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * written prior permission. SuSE makes no representations about the
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * suitability of this software for any purpose. It is provided "as is"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * without express or implied warranty.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Author: Keith Packard, SuSE, Inc.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _RENDER_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _RENDER_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef unsigned long Glyph;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef unsigned long GlyphSet;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef unsigned long Picture;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef unsigned long PictFormat;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define RENDER_NAME "RENDER"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define RENDER_MAJOR 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define RENDER_MINOR 8
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderQueryVersion 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderQueryPictFormats 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderQueryPictIndexValues 2 /* 0.7 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderQueryDithers 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCreatePicture 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderChangePicture 5
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderSetPictureClipRectangles 6
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderFreePicture 7
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderComposite 8
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderScale 9
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderTrapezoids 10
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderTriangles 11
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderTriStrip 12
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderTriFan 13
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderColorTrapezoids 14
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderColorTriangles 15
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* #define X_RenderTransform 16 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCreateGlyphSet 17
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderReferenceGlyphSet 18
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderFreeGlyphSet 19
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderAddGlyphs 20
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderAddGlyphsFromPicture 21
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderFreeGlyphs 22
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCompositeGlyphs8 23
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCompositeGlyphs16 24
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCompositeGlyphs32 25
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderFillRectangles 26
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* 0.5 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCreateCursor 27
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* 0.6 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderSetPictureTransform 28
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderQueryFilters 29
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderSetPictureFilter 30
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define X_RenderCreateAnimCursor 31
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define RenderNumberRequests (X_RenderCreateAnimCursor+1)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadPictFormat 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadPicture 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadPictOp 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadGlyphSet 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadGlyph 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define RenderNumberErrors (BadGlyph+1)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictTypeIndexed 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictTypeDirect 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpMinimum 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpClear 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpSrc 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDst 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpOver 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpOverReverse 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpIn 5
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpInReverse 6
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpOut 7
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpOutReverse 8
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpAtop 9
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpAtopReverse 10
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpXor 11
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpAdd 12
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpSaturate 13
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpMaximum 13
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Operators only available in version 0.2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointMinimum 0x10
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointClear 0x10
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointSrc 0x11
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointDst 0x12
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointOver 0x13
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointOverReverse 0x14
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointIn 0x15
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointInReverse 0x16
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointOut 0x17
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointOutReverse 0x18
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointAtop 0x19
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointAtopReverse 0x1a
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointXor 0x1b
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpDisjointMaximum 0x1b
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointMinimum 0x20
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointClear 0x20
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointSrc 0x21
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointDst 0x22
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointOver 0x23
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointOverReverse 0x24
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointIn 0x25
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointInReverse 0x26
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointOut 0x27
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointOutReverse 0x28
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointAtop 0x29
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointAtopReverse 0x2a
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointXor 0x2b
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PictOpConjointMaximum 0x2b
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PolyEdgeSharp 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PolyEdgeSmooth 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PolyModePrecise 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define PolyModeImprecise 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPRepeat (1 << 0)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPAlphaMap (1 << 1)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPAlphaXOrigin (1 << 2)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPAlphaYOrigin (1 << 3)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPClipXOrigin (1 << 4)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPClipYOrigin (1 << 5)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPClipMask (1 << 6)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPGraphicsExposure (1 << 7)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPSubwindowMode (1 << 8)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPPolyEdge (1 << 9)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPPolyMode (1 << 10)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPDither (1 << 11)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPComponentAlpha (1 << 12)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define CPLastBit 11
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Filters included in 0.6 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FilterNearest "nearest"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FilterBilinear "bilinear"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FilterFast "fast"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FilterGood "good"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FilterBest "best"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FilterAliasNone -1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Subpixel orders included in 0.6 */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define SubPixelUnknown 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define SubPixelHorizontalRGB 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define SubPixelHorizontalBGR 2
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define SubPixelVerticalRGB 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define SubPixelVerticalBGR 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define SubPixelNone 5
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _RENDER_H_ */