[Commit] Xr/src Xr.h,1.23,1.24 xr.c,1.21,1.22 xrgstate.c,1.31,1.32 xrint.h,1.37,1.38

Carl Worth commit@keithp.com
Mon, 12 May 2003 09:46:59 -0700


Committed by: cworth

Update of /local/src/CVS/Xr/src
In directory home.keithp.com:/tmp/cvs-serv14125/src

Modified Files:
	Xr.h xr.c xrgstate.c xrint.h 
Log Message:
Added XrSetPattern

Index: Xr.h
===================================================================
RCS file: /local/src/CVS/Xr/src/Xr.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- Xr.h	2 May 2003 21:07:42 -0000	1.23
+++ Xr.h	12 May 2003 16:46:57 -0000	1.24
@@ -121,6 +121,10 @@
 void
 XrSetRGBColor(XrState *xrs, double red, double green, double blue);
 
+/* XXX: Do we want XrGetPattern as well? */
+void
+XrSetPattern(XrState *xrs, XrSurface *pattern);
+
 void
 XrSetTolerance(XrState *xrs, double tolerance);
 
@@ -391,6 +395,9 @@
 
 XrStatus
 XrSurfaceSetRepeat (XrSurface *surface, int repeat);
+
+/* XXX: Need some of the following to make pattern support useful:
+   XrSurfaceSetTransform, XrSurfaceSetMatrix, XrSurfaceScale, XrSurfaceTranslate */
 
 _XFUNCPROTOEND
 

Index: xr.c
===================================================================
RCS file: /local/src/CVS/Xr/src/xr.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- xr.c	1 May 2003 15:18:25 -0000	1.21
+++ xr.c	12 May 2003 16:46:57 -0000	1.22
@@ -148,6 +148,15 @@
 }
 
 void
+XrSetPattern(XrState *xrs, XrSurface *pattern)
+{
+    if (xrs->status)
+	return;
+
+    xrs->status = _XrGStateSetPattern(_XR_CURRENT_GSTATE(xrs), pattern);
+}
+
+void
 XrSetTolerance(XrState *xrs, double tolerance)
 {
     if (xrs->status)

Index: xrgstate.c
===================================================================
RCS file: /local/src/CVS/Xr/src/xrgstate.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- xrgstate.c	12 May 2003 16:24:17 -0000	1.31
+++ xrgstate.c	12 May 2003 16:46:57 -0000	1.32
@@ -283,7 +283,7 @@
     XrSurfaceDestroy (gstate->surface);
 
     gstate->surface = surface;
-    _XrSurfaceReference (surface);
+    _XrSurfaceReference (gstate->surface);
 
     return XrStatusSuccess;
 }
@@ -321,6 +321,17 @@
     XrSurfaceDestroy (surface);
 
     return status;
+}
+
+XrStatus
+_XrGStateSetPattern (XrGState *gstate, XrSurface *pattern)
+{
+    XrSurfaceDestroy (gstate->pattern);
+
+    gstate->pattern = pattern;
+    _XrSurfaceReference (gstate->pattern);
+
+    return XrStatusSuccess;
 }
 
 XrStatus

Index: xrint.h
===================================================================
RCS file: /local/src/CVS/Xr/src/xrint.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- xrint.h	12 May 2003 16:24:17 -0000	1.37
+++ xrint.h	12 May 2003 16:46:57 -0000	1.38
@@ -335,6 +335,9 @@
 _XrGStateGetTargetSurface (XrGState *gstate);
 
 XrStatus
+_XrGStateSetPattern (XrGState *gstate, XrSurface *pattern);
+
+XrStatus
 _XrGStateSetTargetDrawable (XrGState	*gstate,
 			    Display	*dpy,
 			    Drawable	drawable,