; 
;  *
;  * 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.
;  

if ~defined  _XRENDER_H_ | defined @f
@@:
_XRENDER_H_	=	1

include	"X11/Xlib.h"  

include	"X11/Xfuncproto.h"  

include	"X11/Xosdefs.h"  

include	"X11/Xutil.h"  


include	"X11/extensions/render.h"  


struct
{

	.red:		rw 1
	.redMask:		rw 1
	.green:		rw 1
	.greenMask:		rw 1
	.blue:		rw 1
	.blueMask:		rw 1
	.alpha:		rw 1
	.alphaMask:		rw 1

}


struct
{

    PictFormat		id;
	.type:		rd 1
	.depth:		rd 1
    XRenderDirectFormat	direct;
    Colormap		colormap;

}



struc	_XRenderPictureAttributes
{

	.repeat:		rd 1
    Picture		alpha_map;
	.alpha_x_origin:		rd 1
	.alpha_y_origin:		rd 1
	.clip_x_origin:		rd 1
	.clip_y_origin:		rd 1
    Pixmap		clip_mask;
    Bool		graphics_exposures;
	.subwindow_mode:		rd 1
	.poly_edge:		rd 1
	.poly_mode:		rd 1
    Atom		dither;
    Bool		component_alpha;

	_XRenderPictureAttributes_size	=	$ - .
}


struct
{

	.red:		rw 1
	.green:		rw 1
	.blue:		rw 1
	.alpha:		rw 1

}


struc	_XGlyphInfo
{

	.width:		rw 1
	.height:		rw 1
	.x:		rw 1
	.y:		rw 1
	.xOff:		rw 1
	.yOff:		rw 1

	_XGlyphInfo_size	=	$ - .
}


struc	_XGlyphElt8
{

    GlyphSet		    glyphset;
	.chars:		rd 1
	.nchars:		rd 1
	.xOff:		rd 1
	.yOff:		rd 1

	_XGlyphElt8_size	=	$ - .
}


struc	_XGlyphElt16
{

    GlyphSet		    glyphset;
	.chars:		rd 1
	.nchars:		rd 1
	.xOff:		rd 1
	.yOff:		rd 1

	_XGlyphElt16_size	=	$ - .
}


struc	_XGlyphElt32
{

    GlyphSet		    glyphset;
	.chars:		rd 1
	.nchars:		rd 1
	.xOff:		rd 1
	.yOff:		rd 1

	_XGlyphElt32_size	=	$ - .
}


XDouble	equ	 double

struc	_XPointDouble
{

	.x:		rq 1
	.y:		rq 1

	_XPointDouble_size	=	$ - .
}



XFixed	equ	 int

struc	_XPointFixed
{

    XFixed  x;
    XFixed  y;

	_XPointFixed_size	=	$ - .
}


struc	_XLineFixed
{

    XPointFixed p1;
    XPointFixed p2;

	_XLineFixed_size	=	$ - .
}


struc	_XTriangle
{

    XPointFixed p1;
    XPointFixed p2;
    XPointFixed p3;

	_XTriangle_size	=	$ - .
}


struc	_XCircle
{

    XFixed x;
    XFixed y;
    XFixed radius;

	_XCircle_size	=	$ - .
}


struc	_XTrapezoid
{

    XFixed  top;
    XFixed  bottom;
    XLineFixed left;
    XLineFixed right;

	_XTrapezoid_size	=	$ - .
}


struc	_XTransform
{

    XFixed  matrix[3][3];

	_XTransform_size	=	$ - .
}


struc	_XFilters
{

	.nfilter:		rd 1
	.filter:		rd 1
	.nalias:		rd 1
	.alias:		rd 1

	_XFilters_size	=	$ - .
}


struc	_XIndexValue
{

	.pixel:		rd 1
	.red:		rw 1
	.green:		rw 1
	.blue:		rw 1
	.alpha:		rw 1

	_XIndexValue_size	=	$ - .
}


struc	_XAnimCursor
{

    Cursor	    cursor;
	.delay:		rd 1

	_XAnimCursor_size	=	$ - .
}


struc	_XSpanFix
{

    XFixed left;
    XFixed right;
    XFixed y;

	_XSpanFix_size	=	$ - .
}


struc	_XTrap
{

    XSpanFix top;
    XSpanFix bottom;

	_XTrap_size	=	$ - .
}


struc	_XLinearGradient
{

    XPointFixed p1;
    XPointFixed p2;

	_XLinearGradient_size	=	$ - .
}


struc	_XRadialGradient
{

    XCircle inner;
    XCircle outer;

	_XRadialGradient_size	=	$ - .
}


struc	_XConicalGradient
{

    XPointFixed center;
    XFixed angle;  ;  in degrees 

	_XConicalGradient_size	=	$ - .
}










PictStandardARGB32	=	0

PictStandardRGB24	=	1

PictStandardA8	=	2

PictStandardA4	=	3

PictStandardA1	=	4

PictStandardNUM	=	5








































end if
