Edit

IABSD.fr/xenocara/proto/renderproto/renderproto.h

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2007-11-24 16:34:07
    Hash : ee276b49
    Message : merge renderproto 0.9.3 back in

  • proto/renderproto/renderproto.h
  • /*
     * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
     *
     * Copyright © 2000 SuSE, Inc.
     *
     * Permission to use, copy, modify, distribute, and sell this software and its
     * documentation for any purpose is hereby granted without fee, provided that
     * the above copyright notice appear in all copies and that both that
     * copyright notice and this permission notice appear in supporting
     * documentation, and that the name of SuSE not be used in advertising or
     * publicity pertaining to distribution of the software without specific,
     * written prior permission.  SuSE makes no representations about the
     * suitability of this software for any purpose.  It is provided "as is"
     * without express or implied warranty.
     *
     * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
     * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
     * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
     * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     *
     * Author:  Keith Packard, SuSE, Inc.
     */
    
    #ifndef _XRENDERP_H_
    #define _XRENDERP_H_
    
    #include <X11/Xmd.h>
    #include <X11/extensions/render.h>
    
    #define Window CARD32
    #define Drawable CARD32
    #define Font CARD32
    #define Pixmap CARD32
    #define Cursor CARD32
    #define Colormap CARD32
    #define GContext CARD32
    #define Atom CARD32
    #define VisualID CARD32
    #define Time CARD32
    #define KeyCode CARD8
    #define KeySym CARD32
    
    #define Picture	    CARD32
    #define PictFormat  CARD32
    #define Fixed	    INT32
    #define Glyphset    CARD32
    
    /*
     * data structures
     */
    
    typedef struct {
        CARD16  red B16;
        CARD16  redMask B16;
        CARD16  green B16;
        CARD16  greenMask B16;
        CARD16  blue B16;
        CARD16  blueMask B16;
        CARD16  alpha B16;
        CARD16  alphaMask B16;
    } xDirectFormat;
    
    #define sz_xDirectFormat    16
    
    typedef struct {
        PictFormat	id B32;
        CARD8	type;
        CARD8	depth;
        CARD16	pad1 B16;
        xDirectFormat   direct;
        Colormap	colormap;
    } xPictFormInfo;
    
    #define sz_xPictFormInfo    28
    
    typedef struct {
        VisualID	visual;
        PictFormat	format;
    } xPictVisual;
    
    #define sz_xPictVisual	    8
    
    typedef struct {
        CARD8	depth;
        CARD8	pad1;
        CARD16	nPictVisuals B16;
        CARD32	pad2 B32;
    } xPictDepth;
    
    #define sz_xPictDepth	8
    
    typedef struct {
        CARD32	nDepth B32;
        PictFormat	fallback B32;
    } xPictScreen;
    
    #define sz_xPictScreen	8
    
    typedef struct {
        CARD32	pixel B32;
        CARD16	red B16;
        CARD16	green B16;
        CARD16	blue B16;
        CARD16	alpha B16;
    } xIndexValue;
    
    #define sz_xIndexValue	12
    
    typedef struct {
        CARD16	red B16;
        CARD16	green B16;
        CARD16	blue B16;
        CARD16	alpha B16;
    } xRenderColor;
    
    #define sz_xRenderColor	8
    
    typedef struct {
        Fixed	x B32;
        Fixed	y B32;
    } xPointFixed;
    
    #define sz_xPointFixed	8
    
    typedef struct {
        xPointFixed	p1;
        xPointFixed p2;
    } xLineFixed;
    
    #define sz_xLineFixed	16
    
    typedef struct {
        xPointFixed	p1, p2, p3;
    } xTriangle;
    
    #define sz_xTriangle	24
    
    typedef struct {
        Fixed	top B32;
        Fixed	bottom B32;
        xLineFixed	left;
        xLineFixed	right;
    } xTrapezoid;
    
    #define sz_xTrapezoid	40
    
    typedef struct {
        CARD16  width B16;
        CARD16  height B16;
        INT16   x B16;
        INT16   y B16;
        INT16   xOff B16;
        INT16   yOff B16;
    } xGlyphInfo;
    
    #define sz_xGlyphInfo	12
    
    typedef struct {
        CARD8   len;
        CARD8   pad1;
        CARD16  pad2;
        INT16   deltax;
        INT16   deltay;
    } xGlyphElt;
    
    #define sz_xGlyphElt	8
    
    typedef struct {
        Fixed   l, r, y;
    } xSpanFix;
    
    #define sz_xSpanFix	12
    
    typedef struct {
        xSpanFix	top, bot;
    } xTrap;
    
    #define sz_xTrap	24
    
    /*
     * requests and replies
     */
    typedef struct {
        CARD8   reqType;
        CARD8   renderReqType;
        CARD16  length B16;
        CARD32  majorVersion B32;
        CARD32  minorVersion B32;
    } xRenderQueryVersionReq;
    
    #define sz_xRenderQueryVersionReq   12
    
    typedef struct {
        BYTE    type;   /* X_Reply */
        BYTE    pad1;
        CARD16  sequenceNumber B16;
        CARD32  length B32;
        CARD32  majorVersion B32;
        CARD32  minorVersion B32;
        CARD32  pad2 B32;
        CARD32  pad3 B32;
        CARD32  pad4 B32;
        CARD32  pad5 B32;
    } xRenderQueryVersionReply;
    
    #define sz_xRenderQueryVersionReply	32
    
    typedef struct {
        CARD8   reqType;
        CARD8   renderReqType;
        CARD16  length B16;
    } xRenderQueryPictFormatsReq;
    
    #define sz_xRenderQueryPictFormatsReq	4
    
    typedef struct {
        BYTE    type;   /* X_Reply */
        BYTE    pad1;
        CARD16  sequenceNumber B16;
        CARD32  length B32;
        CARD32  numFormats B32;
        CARD32  numScreens B32;
        CARD32  numDepths B32;
        CARD32  numVisuals B32;
        CARD32  numSubpixel B32;	    /* Version 0.6 */
        CARD32  pad5 B32;
    } xRenderQueryPictFormatsReply;
    
    #define sz_xRenderQueryPictFormatsReply	32
    
    typedef struct {
        CARD8   reqType;
        CARD8   renderReqType;
        CARD16  length B16;
        PictFormat	format B32;
    } xRenderQueryPictIndexValuesReq;
    
    #define sz_xRenderQueryPictIndexValuesReq   8
    
    typedef struct {
        BYTE    type;   /* X_Reply */
        BYTE    pad1;
        CARD16  sequenceNumber B16;
        CARD32  length B32;
        CARD32  numIndexValues;
        CARD32  pad2 B32;
        CARD32  pad3 B32;
        CARD32  pad4 B32;
        CARD32  pad5 B32;
        CARD32  pad6 B32;
    } xRenderQueryPictIndexValuesReply;
    
    #define sz_xRenderQueryPictIndexValuesReply 32
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Picture	pid B32;
        Drawable	drawable B32;
        PictFormat	format B32;
        CARD32	mask B32;
    } xRenderCreatePictureReq;
    
    #define sz_xRenderCreatePictureReq	    20
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Picture	picture B32;
        CARD32	mask B32;
    } xRenderChangePictureReq;
    
    #define sz_xRenderChangePictureReq	    12
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Picture     picture B32;
        INT16	xOrigin B16;
        INT16	yOrigin B16;
    } xRenderSetPictureClipRectanglesReq;
    
    #define sz_xRenderSetPictureClipRectanglesReq	    12
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Picture     picture B32;
    } xRenderFreePictureReq;
    
    #define sz_xRenderFreePictureReq	    8
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	src B32;
        Picture	mask B32;
        Picture	dst B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
        INT16	xMask B16;
        INT16	yMask B16;
        INT16	xDst B16;
        INT16	yDst B16;
        CARD16	width B16;
        CARD16	height B16;
    } xRenderCompositeReq;
    
    #define sz_xRenderCompositeReq		    36
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Picture	src B32;
        Picture	dst B32;
        CARD32	colorScale B32;
        CARD32	alphaScale B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
        INT16	xDst B16;
        INT16	yDst B16;
        CARD16	width B16;
        CARD16	height B16;
    } xRenderScaleReq;
    
    #define sz_xRenderScaleReq			    32
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	src B32;
        Picture	dst B32;
        PictFormat	maskFormat B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
    } xRenderTrapezoidsReq;
    
    #define sz_xRenderTrapezoidsReq			    24
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	src B32;
        Picture	dst B32;
        PictFormat	maskFormat B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
    } xRenderTrianglesReq;
    
    #define sz_xRenderTrianglesReq			    24
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	src B32;
        Picture	dst B32;
        PictFormat	maskFormat B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
    } xRenderTriStripReq;
    
    #define sz_xRenderTriStripReq			    24
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	src B32;
        Picture	dst B32;
        PictFormat	maskFormat B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
    } xRenderTriFanReq;
    
    #define sz_xRenderTriFanReq			    24
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Glyphset	gsid B32;
        PictFormat	format B32;
    } xRenderCreateGlyphSetReq;
    
    #define sz_xRenderCreateGlyphSetReq		    12
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Glyphset    gsid B32;
        Glyphset    existing B32;
    } xRenderReferenceGlyphSetReq;
    
    #define sz_xRenderReferenceGlyphSetReq		    24
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Glyphset    glyphset B32;
    } xRenderFreeGlyphSetReq;
    
    #define sz_xRenderFreeGlyphSetReq		    8
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Glyphset    glyphset B32;
        CARD32	nglyphs;
    } xRenderAddGlyphsReq;
    
    #define sz_xRenderAddGlyphsReq			    12
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        Glyphset    glyphset B32;
    } xRenderFreeGlyphsReq;
    
    #define sz_xRenderFreeGlyphsReq			    8
    
    typedef struct {
        CARD8       reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	src B32;
        Picture	dst B32;
        PictFormat	maskFormat B32;
        Glyphset    glyphset B32;
        INT16	xSrc B16;
        INT16	ySrc B16;
    } xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
    xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
    
    #define sz_xRenderCompositeGlyphs8Req		    28
    #define sz_xRenderCompositeGlyphs16Req		    28
    #define sz_xRenderCompositeGlyphs32Req		    28
    
    /* 0.1 and higher */
    
    typedef struct {
        CARD8	reqType;
        CARD8       renderReqType;
        CARD16      length B16;
        CARD8	op;
        CARD8	pad1;
        CARD16	pad2 B16;
        Picture	dst B32;
        xRenderColor    color;
    } xRenderFillRectanglesReq;
    
    #define sz_xRenderFillRectanglesReq		    20
    
    /* 0.5 and higher */
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Cursor	cid B32;
        Picture	src B32;
        CARD16	x B16;
        CARD16	y B16;
    } xRenderCreateCursorReq;
    
    #define sz_xRenderCreateCursorReq		    16
    
    /* 0.6 and higher */
    
    /*
     * This can't use an array because 32-bit values may be in bitfields
     */
    typedef struct {
        Fixed	matrix11 B32;
        Fixed	matrix12 B32;
        Fixed	matrix13 B32;
        Fixed	matrix21 B32;
        Fixed	matrix22 B32;
        Fixed	matrix23 B32;
        Fixed	matrix31 B32;
        Fixed	matrix32 B32;
        Fixed	matrix33 B32;
    } xRenderTransform;
    
    #define sz_xRenderTransform 36
    
    typedef struct {
        CARD8		reqType;
        CARD8		renderReqType;
        CARD16		length B16;
        Picture		picture B32;
        xRenderTransform	transform;
    } xRenderSetPictureTransformReq;
    
    #define sz_xRenderSetPictureTransformReq	    44
    
    typedef struct {
        CARD8		reqType;
        CARD8		renderReqType;
        CARD16		length B16;
        Drawable		drawable B32;
    } xRenderQueryFiltersReq;
    
    #define sz_xRenderQueryFiltersReq		    8
    
    typedef struct {
        BYTE    type;   /* X_Reply */
        BYTE    pad1;
        CARD16  sequenceNumber B16;
        CARD32  length B32;
        CARD32  numAliases B32;	/* LISTofCARD16 */
        CARD32  numFilters B32;	/* LISTofSTRING8 */
        CARD32  pad2 B32;
        CARD32  pad3 B32;
        CARD32  pad4 B32;
        CARD32  pad5 B32;
    } xRenderQueryFiltersReply;
    
    #define sz_xRenderQueryFiltersReply		    32
    
    typedef struct {
        CARD8		reqType;
        CARD8		renderReqType;
        CARD16		length B16;
        Picture		picture B32;
        CARD16		nbytes B16; /* number of bytes in name */
        CARD16		pad B16;
    } xRenderSetPictureFilterReq;
    
    #define sz_xRenderSetPictureFilterReq		    12
    
    /* 0.8 and higher */
    
    typedef struct {
        Cursor		cursor B32;
        CARD32		delay B32;
    } xAnimCursorElt;
    
    #define sz_xAnimCursorElt			    8
    
    typedef struct {
        CARD8		reqType;
        CARD8		renderReqType;
        CARD16		length B16;
        Cursor		cid B32;
    } xRenderCreateAnimCursorReq;
    
    #define sz_xRenderCreateAnimCursorReq		    8
    
    /* 0.9 and higher */
    
    typedef struct {
        CARD8		reqType;
        CARD8		renderReqType;
        CARD16		length B16;
        Picture		picture;
        INT16		xOff B16;
        INT16		yOff B16;
    } xRenderAddTrapsReq;
    
    #define sz_xRenderAddTrapsReq			    12
    
    /* 0.10 and higher */
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Picture	pid B32;
        xRenderColor color;
    } xRenderCreateSolidFillReq;
    
    #define sz_xRenderCreateSolidFillReq                 16
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Picture	pid B32;
        xPointFixed p1;
        xPointFixed p2;
        CARD32      nStops;
    } xRenderCreateLinearGradientReq;
    
    #define sz_xRenderCreateLinearGradientReq                 28
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Picture	pid B32;
        xPointFixed inner;
        xPointFixed outer;
        Fixed       inner_radius;
        Fixed       outer_radius;
        CARD32      nStops;
    } xRenderCreateRadialGradientReq;
    
    #define sz_xRenderCreateRadialGradientReq                 36
    
    typedef struct {
        CARD8	reqType;
        CARD8	renderReqType;
        CARD16	length B16;
        Picture	pid B32;
        xPointFixed center;
        Fixed       angle; /* in degrees */
        CARD32      nStops;
    } xRenderCreateConicalGradientReq;
    
    #define sz_xRenderCreateConicalGradientReq                 24
    
    #undef Window
    #undef Drawable
    #undef Font
    #undef Pixmap
    #undef Cursor
    #undef Colormap
    #undef GContext
    #undef Atom
    #undef VisualID
    #undef Time
    #undef KeyCode
    #undef KeySym
    
    #undef Picture
    #undef PictFormat
    #undef Fixed
    #undef Glyphset
    
    #endif /* _XRENDERP_H_ */