[Commit] Xr ChangeLog,1.23,1.24 README,1.2,1.3

Carl Worth commit@keithp.com
Wed, 14 May 2003 18:30:59 -0700

Committed by: cworth

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

Modified Files:
	ChangeLog README 
Log Message:
Added toplevel functions for setting surface matrix, filter.
Introduced new XrMatrix object.
Fixed to properly hint scaled fonts.

Index: ChangeLog
RCS file: /local/src/CVS/Xr/ChangeLog,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- ChangeLog	12 May 2003 16:46:57 -0000	1.23
+++ ChangeLog	15 May 2003 01:30:57 -0000	1.24
@@ -1,3 +1,34 @@
+2003-05-14  Carl Worth  <cworth@isi.edu>
+	* src/xrfont.c (_XrFontResolveXftFont): Fixed fonts to pull
+	pixelsize out of the transformation matrix. Fonts are now properly
+	hinted regardless of scaling.
+	* src/Xr.h: Three new functions for manipulating surfaces:
+	XrSurfaceSetMatrix, XrSurfaceGetMatrix, XrSurfaceSetFilter.
+	* src/Xr.h: Removed broken XrShowImage* functions. Changed
+	XrShowSurface to not require X/Y but instead depend on the CTM for
+	translation, (or the surface transformation matrix). I'd like to
+	get rid of width/height as well but it turns out an XrSurface is
+	not aware of its dimensions.
+	* src/Xr.h: Added convenience function for building rectangular
+	paths: XrRectangle.
+	* src/Xr.h: Added functions for performing transformations with
+	the CTM and its inverse: XrTransformPoint, XrTransformDistance,
+	XrInverseTransformPoint, XrInverseTransformDistance.
+	* src/Xr.h: XrConcatMatrix and XrSetMatrix now accept a pointer to
+	an XrMatrix rather than 6 doubles.
+	* src/Xr.h: Now exporting opaque XrMatrix object with several
+	functions: XrMatrixCreate, XrMatrixDestroy, XrMatrixCopy,
+	XrMatrixSetIdentity, XrMatrixSetAffine, XrMatrixTranslate,
+	XrMatrixScale, XrMatrixRotate, XrMatrixInvert, XrMatrixMultiply,
+	XrMatrixTransformDistance, XrMatrixTransformPoint.
 2003-05-12  Carl Worth  <cworth@isi.edu>
 	* src/Xr.h: Added XrSetPattern. See also XrSurfaceSetRepeat.

RCS file: /local/src/CVS/Xr/README,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- README	24 Jan 2003 21:52:01 -0000	1.2
+++ README	15 May 2003 01:30:57 -0000	1.3
@@ -1,13 +1,29 @@
-Xr - Rendering for X
+Xr - Rendering library
+See the INSTALL document for build instructions.
 Xr provides anti-aliased vector-based rendering for X. Paths consist
 of line segments and cubic splines and can be rendered at any width
 with various join and cap styles. All colors may be specified with
-optional translucence (opacity/alpha) throught the extended
+optional translucence (opacity/alpha) and combined using the extended
 Porter/Duff compositing algebra as found in the X Render Extension.
+Xr exports a stateful rendering API similar in spirit to the path
+construction, text, and painting operators of PostScript, (with the
+significant addition of translucence in the imaging model). When
+complete, the API is intended to support the complete imaging model of
+PDF 1.4.
+Xr relies on the Xc library for backend rendering. Xc provides an
+abstract interface for rendering to multiple target types. As of this
+writing, Xc allows Xr to target X drawables as well as generic image
+buffers. Future backends such as PostScript, PDF, and perhaps OpenGL
+are currently being planned.
 Xr currently requires the following supporting libraries:
@@ -15,27 +31,18 @@
-Xr exports a stateful rendering API similar in spirit to the path
-construction, text, and painting operators of PostScript, (with the
-significant addition of translucence in the imaging model). The API
-was carefully designed to be easily understood with as little
-additional explanation as possible. All functions take a minimal
-number of arguments so that the number and order of arguments should
-be easy to remember without the need to continually consult reference
-documentation while developing with Xr.
+	libic
+	libpixregion
-As mentioned above, we hope that users of Xr will be productive
-without having to consult the documentation often. Ideally, a simple
-glance at the Xr.h header file will provide enough information for the
+There's not much documentation yet apart from the Xr.h header
+file. We'll be correcting that shortly.
-We'll see if we've been successful in our goal, since for the moment
-the Xr.h header file is the only documentation that currently exists.
+In the meantime, the xrtest module in CVS provides a few example
+programs using Xr. These may be helpful to a programmer just beginning
+with Xr. Also, familiarity with the PostScript imaging model will
+help in understanding Xr.
@@ -43,3 +50,14 @@
 <keithp@keithp.com>. Many thanks are due to Lyle Ramshaw without whose
 patient help our ignorance would be much more apparent.
+Mailing List
+If you have trouble with Xr or you have some ideas for how it could be
+improved, please feel free to send a message to xr@xwin.org.
+Xr is still under active development and all discussion happens on
+that list. So if you want to lurk or, (even better), take part in the
+development, take a look. Subscription information and archives are
+	http://xwin.org/cgi-bin/mailman/listinfo/xr