--- x11_extensions/inc/Xrender.h	23 Sep 2002 15:40:14 -0000	1.1
+++ x11_extensions/inc/Xrender.h	16 Mar 2006 15:49:50 -0000	1.1.96.1
@@ -1,5 +1,4 @@
 /*
- * $XFree86: xc/lib/Xrender/Xrender.h,v 1.7 2000/12/05 03:13:30 keithp Exp $
  *
  * Copyright © 2000 SuSE, Inc.
  *
@@ -28,6 +27,7 @@
 
 #include "render.h"
 
+#include <X11/Xlib.h>
 #include <X11/Xfuncproto.h>
 #include <X11/Xosdefs.h>
 #include <X11/Xutil.h>
@@ -64,36 +64,8 @@ typedef struct {
 #define PictFormatAlphaMask (1 << 10)
 #define PictFormatColormap  (1 << 11)
 
-typedef struct {
-    Visual		*visual;
-    XRenderPictFormat	*format;
-} XRenderVisual;
-
-typedef struct {
-    int			depth;
-    int			nvisuals;
-    XRenderVisual	*visuals;
-} XRenderDepth;
-
-typedef struct {
-    XRenderDepth	*depths;
-    int			ndepths;
-    XRenderPictFormat	*fallback;
-} XRenderScreen;
-
-typedef struct _XRenderInfo {
-    XRenderPictFormat	*format;
-    int			nformat;
-    XRenderScreen	*screen;
-    int			nscreen;
-    XRenderDepth	*depth;
-    int			ndepth;
-    XRenderVisual	*visual;
-    int			nvisual;
-} XRenderInfo;
-
 typedef struct _XRenderPictureAttributes {
-    Bool		repeat;
+    int 		repeat;
     Picture		alpha_map;
     int			alpha_x_origin;
     int			alpha_y_origin;
@@ -124,6 +96,108 @@ typedef struct _XGlyphInfo {
     short	    yOff;
 } XGlyphInfo;
 
+typedef struct _XGlyphElt8 {
+    GlyphSet		    glyphset;
+    _Xconst char	    *chars;
+    int			    nchars;
+    int			    xOff;
+    int			    yOff;
+} XGlyphElt8;
+
+typedef struct _XGlyphElt16 {
+    GlyphSet		    glyphset;
+    _Xconst unsigned short  *chars;
+    int			    nchars;
+    int			    xOff;
+    int			    yOff;
+} XGlyphElt16;
+
+typedef struct _XGlyphElt32 {
+    GlyphSet		    glyphset;
+    _Xconst unsigned int    *chars;
+    int			    nchars;
+    int			    xOff;
+    int			    yOff;
+} XGlyphElt32;
+
+typedef double	XDouble;
+
+typedef struct _XPointDouble {
+    XDouble  x, y;
+} XPointDouble;
+
+#define XDoubleToFixed(f)    ((XFixed) ((f) * 65536))
+#define XFixedToDouble(f)    (((XDouble) (f)) / 65536)
+
+typedef int XFixed;
+
+typedef struct _XPointFixed {
+    XFixed  x, y;
+} XPointFixed;
+
+typedef struct _XLineFixed {
+    XPointFixed	p1, p2;
+} XLineFixed;
+
+typedef struct _XTriangle {
+    XPointFixed	p1, p2, p3;
+} XTriangle;
+
+typedef struct _XCircle {
+    XFixed x;
+    XFixed y;
+    XFixed radius;
+} XCircle;
+
+typedef struct _XTrapezoid {
+    XFixed  top, bottom;
+    XLineFixed	left, right;
+} XTrapezoid;
+
+typedef struct _XTransform {
+    XFixed  matrix[3][3];
+} XTransform;
+
+typedef struct _XFilters {
+    int	    nfilter;
+    char    **filter;
+    int	    nalias;
+    short   *alias;
+} XFilters;
+
+typedef struct _XIndexValue {
+    unsigned long    pixel;
+    unsigned short   red, green, blue, alpha;
+} XIndexValue;
+
+typedef struct _XAnimCursor {
+    Cursor	    cursor;
+    unsigned long   delay;
+} XAnimCursor;
+
+typedef struct _XSpanFix {
+    XFixed	    left, right, y;
+} XSpanFix;
+
+typedef struct _XTrap {
+    XSpanFix	    top, bottom;
+} XTrap;
+
+typedef struct _XLinearGradient {
+    XPointFixed p1;
+    XPointFixed p2;
+} XLinearGradient;
+
+typedef struct _XRadialGradient {
+    XCircle inner;
+    XCircle outer;
+} XRadialGradient;
+
+typedef struct _XConicalGradient {
+    XPointFixed center;
+    XFixed angle; /* in degrees */
+} XConicalGradient;
+
 _XFUNCPROTOBEGIN
 
 Bool XRenderQueryExtension (Display *dpy, int *event_basep, int *error_basep);
@@ -134,35 +208,55 @@ Status XRenderQueryVersion (Display *dpy
 
 Status XRenderQueryFormats (Display *dpy);
 
+int XRenderQuerySubpixelOrder (Display *dpy, int screen);
+
+Bool XRenderSetSubpixelOrder (Display *dpy, int screen, int subpixel);
+
 XRenderPictFormat *
-XRenderFindVisualFormat (Display *dpy, Visual *visual);
+XRenderFindVisualFormat (Display *dpy, _Xconst Visual *visual);
 
 XRenderPictFormat *
-XRenderFindFormat (Display		*dpy,
-		   unsigned long	mask,
-		   XRenderPictFormat	*templ,
-		   int			count);
+XRenderFindFormat (Display			*dpy,
+		   unsigned long		mask,
+		   _Xconst XRenderPictFormat	*templ,
+		   int				count);
     
+#define PictStandardARGB32  0
+#define PictStandardRGB24   1
+#define PictStandardA8	    2
+#define PictStandardA4	    3
+#define PictStandardA1	    4
+#define PictStandardNUM	    5
+
+XRenderPictFormat *
+XRenderFindStandardFormat (Display		*dpy,
+			   int			format);
+
+XIndexValue *
+XRenderQueryPictIndexValues(Display			*dpy,
+			    _Xconst XRenderPictFormat	*format,
+			    int				*num);
+
 Picture
-XRenderCreatePicture (Display			*dpy,
-		      Drawable			drawable,
-		      XRenderPictFormat		*format,
-		      unsigned long		valuemask,
-		      XRenderPictureAttributes	*attributes);
-
-void
-XRenderChangePicture (Display                   *dpy,
-		      Picture			picture,
-		      unsigned long             valuemask,
-		      XRenderPictureAttributes  *attributes);
-
-void
-XRenderSetPictureClipRectangles (Display	*dpy,
-				 Picture	picture,
-				 int		xOrigin,
-				 int		yOrigin,
-				 XRectangle	*rects,
-				 int		n);
+XRenderCreatePicture (Display				*dpy,
+		      Drawable				drawable,
+		      _Xconst XRenderPictFormat		*format,
+		      unsigned long			valuemask,
+		      _Xconst XRenderPictureAttributes	*attributes);
+
+void
+XRenderChangePicture (Display				*dpy,
+		      Picture				picture,
+		      unsigned long			valuemask,
+		      _Xconst XRenderPictureAttributes  *attributes);
+
+void
+XRenderSetPictureClipRectangles (Display	    *dpy,
+				 Picture	    picture,
+				 int		    xOrigin,
+				 int		    yOrigin,
+				 _Xconst XRectangle *rects,
+				 int		    n);
 
 void
 XRenderSetPictureClipRegion (Display	    *dpy,
@@ -170,6 +264,11 @@ XRenderSetPictureClipRegion (Display	   
 			     Region	    r);
 
 void
+XRenderSetPictureTransform (Display	    *dpy,
+			    Picture	    picture,
+			    XTransform	    *transform);
+
+void
 XRenderFreePicture (Display                   *dpy,
 		    Picture                   picture);
 
@@ -189,7 +288,7 @@ XRenderComposite (Display   *dpy,
 		  unsigned int	height);
 
 GlyphSet
-XRenderCreateGlyphSet (Display *dpy, XRenderPictFormat *format);
+XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format);
 
 GlyphSet
 XRenderReferenceGlyphSet (Display *dpy, GlyphSet existing);
@@ -198,79 +297,231 @@ void
 XRenderFreeGlyphSet (Display *dpy, GlyphSet glyphset);
 
 void
-XRenderAddGlyphs (Display	*dpy,
-		  GlyphSet	glyphset,
-		  Glyph		*gids,
-		  XGlyphInfo	*glyphs,
-		  int		nglyphs,
-		  char		*images,
-		  int		nbyte_images);
-
-void
-XRenderFreeGlyphs (Display   *dpy,
-		   GlyphSet  glyphset,
-		   Glyph     *gids,
-		   int       nglyphs);
-
-void
-XRenderCompositeString8 (Display	    *dpy,
-			 int		    op,
-			 Picture	    src,
-			 Picture	    dst,
-			 XRenderPictFormat  *maskFormat,
-			 GlyphSet	    glyphset,
-			 int		    xSrc,
-			 int		    ySrc,
-			 int		    xDst,
-			 int		    yDst,
-			 char		    *string,
-			 int		    nchar);
-
-void
-XRenderCompositeString16 (Display	    *dpy,
-			  int		    op,
-			  Picture	    src,
-			  Picture	    dst,
-			  XRenderPictFormat *maskFormat,
-			  GlyphSet	    glyphset,
-			  int		    xSrc,
-			  int		    ySrc,
-			  int		    xDst,
-			  int		    yDst,
-			  unsigned short    *string,
-			  int		    nchar);
-
-void
-XRenderCompositeString32 (Display	    *dpy,
-			  int		    op,
-			  Picture	    src,
-			  Picture	    dst,
-			  XRenderPictFormat *maskFormat,
-			  GlyphSet	    glyphset,
-			  int		    xSrc,
-			  int		    ySrc,
-			  int		    xDst,
-			  int		    yDst,
-			  unsigned int	    *string,
-			  int		    nchar);
-
-void
-XRenderFillRectangle (Display	    *dpy,
-		      int	    op,
-		      Picture	    dst,
-		      XRenderColor  *color,
-		      int	    x,
-		      int	    y,
-		      unsigned int  width,
-		      unsigned int  height);
-
-void
-XRenderFillRectangles (Display	    *dpy,
-		       int	    op,
-		       Picture	    dst,
-		       XRenderColor *color,
-		       XRectangle   *rectangles,
-		       int	    n_rects);
+XRenderAddGlyphs (Display		*dpy,
+		  GlyphSet		glyphset,
+		  _Xconst Glyph		*gids,
+		  _Xconst XGlyphInfo	*glyphs,
+		  int			nglyphs,
+		  _Xconst char		*images,
+		  int			nbyte_images);
+
+void
+XRenderFreeGlyphs (Display	    *dpy,
+		   GlyphSet	    glyphset,
+		   _Xconst Glyph    *gids,
+		   int		    nglyphs);
+
+void
+XRenderCompositeString8 (Display		    *dpy,
+			 int			    op,
+			 Picture		    src,
+			 Picture		    dst,
+			 _Xconst XRenderPictFormat  *maskFormat,
+			 GlyphSet		    glyphset,
+			 int			    xSrc,
+			 int			    ySrc,
+			 int			    xDst,
+			 int			    yDst,
+			 _Xconst char		    *string,
+			 int			    nchar);
+
+void
+XRenderCompositeString16 (Display		    *dpy,
+			  int			    op,
+			  Picture		    src,
+			  Picture		    dst,
+			  _Xconst XRenderPictFormat *maskFormat,
+			  GlyphSet		    glyphset,
+			  int			    xSrc,
+			  int			    ySrc,
+			  int			    xDst,
+			  int			    yDst,
+			  _Xconst unsigned short    *string,
+			  int			    nchar);
+
+void
+XRenderCompositeString32 (Display		    *dpy,
+			  int			    op,
+			  Picture		    src,
+			  Picture		    dst,
+			  _Xconst XRenderPictFormat *maskFormat,
+			  GlyphSet		    glyphset,
+			  int			    xSrc,
+			  int			    ySrc,
+			  int			    xDst,
+			  int			    yDst,
+			  _Xconst unsigned int	    *string,
+			  int			    nchar);
+
+void
+XRenderCompositeText8 (Display			    *dpy,
+		       int			    op,
+		       Picture			    src,
+		       Picture			    dst,
+		       _Xconst XRenderPictFormat    *maskFormat,
+		       int			    xSrc,
+		       int			    ySrc,
+		       int			    xDst,
+		       int			    yDst,
+		       _Xconst XGlyphElt8	    *elts,
+		       int			    nelt);
+
+void
+XRenderCompositeText16 (Display			    *dpy,
+			int			    op,
+			Picture			    src,
+			Picture			    dst,
+			_Xconst XRenderPictFormat   *maskFormat,
+			int			    xSrc,
+			int			    ySrc,
+			int			    xDst,
+			int			    yDst,
+			_Xconst XGlyphElt16	    *elts,
+			int			    nelt);
+
+void
+XRenderCompositeText32 (Display			    *dpy,
+			int			    op,
+			Picture			    src,
+			Picture			    dst,
+			_Xconst XRenderPictFormat   *maskFormat,
+			int			    xSrc,
+			int			    ySrc,
+			int			    xDst,
+			int			    yDst,
+			_Xconst XGlyphElt32	    *elts,
+			int			    nelt);
+
+void
+XRenderFillRectangle (Display		    *dpy,
+		      int		    op,
+		      Picture		    dst,
+		      _Xconst XRenderColor  *color,
+		      int		    x,
+		      int		    y,
+		      unsigned int	    width,
+		      unsigned int	    height);
+
+void
+XRenderFillRectangles (Display		    *dpy,
+		       int		    op,
+		       Picture		    dst,
+		       _Xconst XRenderColor *color,
+		       _Xconst XRectangle   *rectangles,
+		       int		    n_rects);
+
+void
+XRenderCompositeTrapezoids (Display		*dpy,
+			    int			op,
+			    Picture		src,
+			    Picture		dst,
+			    _Xconst XRenderPictFormat	*maskFormat,
+			    int			xSrc,
+			    int			ySrc,
+			    _Xconst XTrapezoid	*traps,
+			    int			ntrap);
+
+void
+XRenderCompositeTriangles (Display		*dpy,
+			   int			op,
+			   Picture		src,
+			   Picture		dst,
+			    _Xconst XRenderPictFormat	*maskFormat,
+			   int			xSrc,
+			   int			ySrc,
+			   _Xconst XTriangle	*triangles,
+			   int			ntriangle);
+
+void
+XRenderCompositeTriStrip (Display		*dpy,
+			  int			op,
+			  Picture		src,
+			  Picture		dst,
+			    _Xconst XRenderPictFormat	*maskFormat,
+			  int			xSrc,
+			  int			ySrc,
+			  _Xconst XPointFixed	*points,
+			  int			npoint);
+
+void
+XRenderCompositeTriFan (Display			*dpy,
+			int			op,
+			Picture			src,
+			Picture			dst,
+			_Xconst XRenderPictFormat	*maskFormat,
+			int			xSrc,
+			int			ySrc,
+			_Xconst XPointFixed	*points,
+			int			npoint);
+
+void
+XRenderCompositeDoublePoly (Display		    *dpy,
+			    int			    op,
+			    Picture		    src,
+			    Picture		    dst,
+			    _Xconst XRenderPictFormat	*maskFormat,
+			    int			    xSrc,
+			    int			    ySrc,
+			    int			    xDst,
+			    int			    yDst,
+			    _Xconst XPointDouble    *fpoints,
+			    int			    npoints,
+			    int			    winding);
+Status
+XRenderParseColor(Display	*dpy, 
+		  char		*spec,
+		  XRenderColor	*def);
+
+Cursor
+XRenderCreateCursor (Display	    *dpy,
+		     Picture	    source,
+		     unsigned int   x,
+		     unsigned int   y);
+
+XFilters *
+XRenderQueryFilters (Display *dpy, Drawable drawable);
+
+void
+XRenderSetPictureFilter (Display    *dpy,
+			 Picture    picture,
+			 char	    *filter,
+			 XFixed	    *params,
+			 int	    nparams);
+
+Cursor
+XRenderCreateAnimCursor (Display	*dpy,
+			 int		ncursor,
+			 XAnimCursor	*cursors);
+
+
+void
+XRenderAddTraps (Display	    *dpy,
+		 Picture	    picture,
+		 int		    xOff,
+		 int		    yOff,
+		 _Xconst XTrap	    *traps,
+		 int		    ntrap);
+
+Picture XRenderCreateSolidFill (Display *dpy,
+                                const XRenderColor *color);
+
+Picture XRenderCreateLinearGradient (Display *dpy,
+                                     const XLinearGradient *gradient,
+                                     const XFixed *stops,
+                                     const XRenderColor *colors,
+                                     int nstops);
+
+Picture XRenderCreateRadialGradient (Display *dpy,
+                                     const XRadialGradient *gradient,
+                                     const XFixed *stops,
+                                     const XRenderColor *colors,
+                                     int nstops);
+
+Picture XRenderCreateConicalGradient (Display *dpy,
+                                      const XConicalGradient *gradient,
+                                      const XFixed *stops,
+                                      const XRenderColor *colors,
+                                      int nstops);
 
 _XFUNCPROTOEND
 
Index: x11_extensions/inc/render.h
===================================================================
RCS file: /cvs/external/x11_extensions/inc/render.h,v
retrieving revision 1.1
retrieving revision 1.1.96.1
diff -u -p -r1.1 -r1.1.96.1
--- x11_extensions/inc/render.h	23 Sep 2002 15:40:13 -0000	1.1
+++ x11_extensions/inc/render.h	16 Mar 2006 15:49:51 -0000	1.1.96.1
@@ -1,7 +1,7 @@
 /*
- * $XFree86: xc/include/extensions/render.h,v 1.3 2000/11/20 07:13:09 keithp Exp $
+ * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 keithp Exp $
  *
- * Copyright © 2000 SuSE, Inc.
+ * 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
@@ -17,7 +17,7 @@
  * 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 
+ * 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.
@@ -33,11 +33,11 @@ typedef unsigned long	PictFormat;
 
 #define RENDER_NAME	"RENDER"
 #define RENDER_MAJOR	0
-#define RENDER_MINOR	1
+#define RENDER_MINOR	10
 
 #define X_RenderQueryVersion		    0
 #define X_RenderQueryPictFormats	    1
-#define X_RenderQueryPictIndexValues	    2
+#define X_RenderQueryPictIndexValues	    2	/* 0.7 */
 #define X_RenderQueryDithers		    3
 #define X_RenderCreatePicture		    4
 #define X_RenderChangePicture		    5
@@ -51,7 +51,7 @@ typedef unsigned long	PictFormat;
 #define X_RenderTriFan			    13
 #define X_RenderColorTrapezoids		    14
 #define X_RenderColorTriangles		    15
-#define X_RenderTransform		    16
+/* #define X_RenderTransform		    16 */
 #define X_RenderCreateGlyphSet		    17
 #define X_RenderReferenceGlyphSet	    18
 #define X_RenderFreeGlyphSet		    19
@@ -62,6 +62,22 @@ typedef unsigned long	PictFormat;
 #define X_RenderCompositeGlyphs16	    24
 #define X_RenderCompositeGlyphs32	    25
 #define X_RenderFillRectangles		    26
+/* 0.5 */
+#define X_RenderCreateCursor		    27
+/* 0.6 */
+#define X_RenderSetPictureTransform	    28
+#define X_RenderQueryFilters		    29
+#define X_RenderSetPictureFilter	    30
+/* 0.8 */
+#define X_RenderCreateAnimCursor	    31
+/* 0.9 */
+#define X_RenderAddTraps		    32
+/* 0.10 */
+#define X_RenderCreateSolidFill             33
+#define X_RenderCreateLinearGradient        34
+#define X_RenderCreateRadialGradient        35
+#define X_RenderCreateConicalGradient       36
+#define RenderNumberRequests		    (X_RenderCreateConicalGradient+1)
 
 #define BadPictFormat			    0
 #define BadPicture			    1
@@ -73,6 +89,7 @@ typedef unsigned long	PictFormat;
 #define PictTypeIndexed			    0
 #define PictTypeDirect			    1
 
+#define PictOpMinimum			    0
 #define PictOpClear			    0
 #define PictOpSrc			    1
 #define PictOpDst			    2
@@ -89,6 +106,39 @@ typedef unsigned long	PictFormat;
 #define PictOpSaturate			    13
 #define PictOpMaximum			    13
 
+/*
+ * Operators only available in version 0.2
+ */
+#define PictOpDisjointMinimum			    0x10
+#define PictOpDisjointClear			    0x10
+#define PictOpDisjointSrc			    0x11
+#define PictOpDisjointDst			    0x12
+#define PictOpDisjointOver			    0x13
+#define PictOpDisjointOverReverse		    0x14
+#define PictOpDisjointIn			    0x15
+#define PictOpDisjointInReverse			    0x16
+#define PictOpDisjointOut			    0x17
+#define PictOpDisjointOutReverse		    0x18
+#define PictOpDisjointAtop			    0x19
+#define PictOpDisjointAtopReverse		    0x1a
+#define PictOpDisjointXor			    0x1b
+#define PictOpDisjointMaximum			    0x1b
+
+#define PictOpConjointMinimum			    0x20
+#define PictOpConjointClear			    0x20
+#define PictOpConjointSrc			    0x21
+#define PictOpConjointDst			    0x22
+#define PictOpConjointOver			    0x23
+#define PictOpConjointOverReverse		    0x24
+#define PictOpConjointIn			    0x25
+#define PictOpConjointInReverse			    0x26
+#define PictOpConjointOut			    0x27
+#define PictOpConjointOutReverse		    0x28
+#define PictOpConjointAtop			    0x29
+#define PictOpConjointAtopReverse		    0x2a
+#define PictOpConjointXor			    0x2b
+#define PictOpConjointMaximum			    0x2b
+
 #define PolyEdgeSharp			    0
 #define PolyEdgeSmooth			    1
 
@@ -108,6 +158,32 @@ typedef unsigned long	PictFormat;
 #define CPPolyMode			    (1 << 10)
 #define CPDither			    (1 << 11)
 #define CPComponentAlpha		    (1 << 12)
-#define CPLastBit			    11
+#define CPLastBit			    12
+
+/* Filters included in 0.6 */
+#define FilterNearest			    "nearest"
+#define FilterBilinear			    "bilinear"
+/* Filters included in 0.10 */
+#define FilterConvolution		    "convolution"
+
+#define FilterFast			    "fast"
+#define FilterGood			    "good"
+#define FilterBest			    "best"
+
+#define FilterAliasNone			    -1
+
+/* Subpixel orders included in 0.6 */
+#define SubPixelUnknown			    0
+#define SubPixelHorizontalRGB		    1
+#define SubPixelHorizontalBGR		    2
+#define SubPixelVerticalRGB		    3
+#define SubPixelVerticalBGR		    4
+#define SubPixelNone			    5
+
+/* Extended repeat attributes included in 0.10 */
+#define RepeatNone                          0
+#define RepeatNormal                        1
+#define RepeatPad                           2
+#define RepeatReflect                       3
 
 #endif	/* _RENDER_H_ */
Index: x11_extensions/inc/renderproto.h
===================================================================
RCS file: /cvs/external/x11_extensions/inc/renderproto.h,v
retrieving revision 1.1
retrieving revision 1.1.96.1
diff -u -p -r1.1 -r1.1.96.1
--- x11_extensions/inc/renderproto.h	23 Sep 2002 15:40:12 -0000	1.1
+++ x11_extensions/inc/renderproto.h	16 Mar 2006 15:49:51 -0000	1.1.96.1
@@ -1,7 +1,7 @@
 /*
- * $XFree86: xc/include/extensions/renderproto.h,v 1.5 2000/11/20 07:13:09 keithp Exp $
+ * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
  *
- * Copyright © 2000 SuSE, Inc.
+ * 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
@@ -17,7 +17,7 @@
  * 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 
+ * 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.
@@ -26,6 +26,7 @@
 #ifndef _XRENDERP_H_
 #define _XRENDERP_H_
 
+#include <X11/Xmd.h>
 #include "render.h"
 
 #define Window CARD32
@@ -73,7 +74,7 @@ typedef struct {
     Colormap	colormap;
 } xPictFormInfo;
 
-#define sz_xPictFormInfo    16
+#define sz_xPictFormInfo    28
 
 typedef struct {
     VisualID	visual;
@@ -125,12 +126,28 @@ typedef struct {
 #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;
@@ -151,7 +168,19 @@ typedef struct {
 
 #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 {
@@ -196,7 +225,7 @@ typedef struct {
     CARD32  numScreens B32;
     CARD32  numDepths B32;
     CARD32  numVisuals B32;
-    CARD32  pad4 B32;
+    CARD32  numSubpixel B32;	    /* Version 0.6 */
     CARD32  pad5 B32;
 } xRenderQueryPictFormatsReply;
 
@@ -312,13 +341,65 @@ 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			    16
+#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;
@@ -381,7 +462,7 @@ typedef struct {
     Glyphset    glyphset B32;
     INT16	xSrc B16;
     INT16	ySrc B16;
-} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req, 
+} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
 xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
 
 #define sz_xRenderCompositeGlyphs8Req		    28
@@ -403,6 +484,165 @@ typedef struct {
 
 #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
