cairo/ChangeLog

258 lines
8.7 KiB
Text

2003-02-14 Carl Worth <cworth@east.isi.edu>
* xrgstate.c (_XrGStateShowImageTransform): Fixed transformed
images which were sometimes 1 pixel too tall/wide.
2003-02-06 Carl Worth <cworth@isi.edu>
* xrpen.c (_XrPenVerticesNeeded): Fixed to use determinant rather
than eigenvalues to compute maximal scaling of radius. Now avoids
embarrassing segfaults due to NaN from the eigenvalue computation.
2003-01-28 Carl Worth <cworth@isi.edu>
* xrtraps.c (_XrTrapsTessellateTriangle): Fixed to not re-order
the array provided as an argument. (Note: the rectangle and
polyghon tessellators still perform reordering).
* xrstroker.c (_XrStrokerJoin):
(_XrStrokerCap): Implemented round caps and joins.
(_XrStrokerDoneSubPath): Fixed initial cap, (was always being
drawn on the inside previously).
* xrpen.c (_XrPenInit): Fixed to keep pen vertex theta values all
in device space.
(_XrPenAddPoints): Removed the silly flags from the pen vertices,
(in favor of just using the FindActiveVertex functions)
(_XrPenFindActiveCWVertexIndex):
(_XrPenFindActiveCCWVertexIndex): Added functions needed for round
caps/joins.
* xrgstate.c (_XrGStateSetDash): Fixed to accept a NULL dash array
to revert to no dashing.
2003-01-28 Carl Worth <cworth@east.isi.edu>
* xrtraps.c (_XrTrapsTessellateTriangle): Restored triangle
tessellation functionality, (I think it's correct this time).
* xrstroker.c (_XrStrokerJoin): Bevel joins now use triangle
tessellation rather than polygon tessellation.
2003-01-24 Carl Worth <cworth@east.isi.edu>
* xrpolygon.c (_XrPolygonAddEdge): Fixed to handle multiple
sub-polygons.
* xrstroker.c (_XrStrokerJoin): Fixed handling of miter limit.
* local.def: Added local.def for building outside the xc tree.
2002-12-03 Carl Worth <cworth@isi.edu>
* xrstroker.c (_XrStrokerJoin):
(_XrStrokerCap): Fixed to track change in winding rule parameter
to XrTrapsTessellatePolygon, (otherwise self-intersecting splines
suddenly had holes).
* xrpen.c (_XrPenStrokeSpline): Fixed to track change in winding
rule parameter to XrTrapsTessellatePolygon.
2002-11-11 Carl Worth <cworth@isi.edu>
* xrtransform.c (_XrTransformBoundingBox): Added support for
transforming a bounding box, (an axis-aligned rectangle prior to
transformation). The ShowImage support needs this.
(_XrTransformComputeInverse): Now catches error case for
non-invertible matrix.
* xrsurface.c (_XrSurfaceSetTransform): Fixed ordering of matrix
for call to RenderSetPictureTransform
* xrgstate.c (_XrGStateSetMatrix):
(_XrGStateIdentityMatrix): Support for new Xr matrix functions.
(_XrGStateShowImage):
(_XrGStateShowImageTransform): Fixed transformation of images.
* xr.c (XrSetMatrix):
(XrDefaultMatrix):
(XrIdentityMatrix): Added 3 matrix manipulation functions.
2002-11-04 Carl Worth <cworth@isi.edu>
* xrsurface.c (_XrSurfaceDereference):
(_XrSurfaceDereferenceDestroy): Fixed bug in reference counting
logic.
(_XrSurfaceSetDrawableWH): XrSurface now keeps track of its width/height.
(_XrSurfaceGetDrawable):
(_XrSurfaceGetWidth):
(_XrSurfaceGetHeight):
(_XrSurfaceGetDepth): New accessor functions.
* xrgstate.c (_XrGStateBeginGroup):
(_XrGStateEndGroup): Preliminary group support. Not too efficient
since it always composite's a full-size picture from child group
to parent picture, (even if only a small portion has
non-transparent pixels).
(_XrGStateShowImageTransform): Fixed show image to use current
alpha value.
* xrfont.c (_XrFontResolveXftFont): Fixed memory leak
(FcPatternDestroy). There's still some meory
leaking/left-reachable in Xft/fontconfig that I need to track
down.
* xr.c (XrPushGroup):
(XrPopGroup): Added preliminary group support. I think I like
having this in the API as it takes several burdens away from the
user, (plus it matches the PDF model). Things to do still: think
about the names of these functions. Re-read the PDF semantics to
see if we're missing anything.
2002-11-02 Carl Worth <cworth@isi.edu>
* xrsurface.c (_XrSurfaceSetImage): Fixed leak of the image
pixmap.
2002-11-01 Carl Worth <cworth@east.isi.edu>
* xrsurface.c (_XrSurfaceSetImage): Prelimary image
support. Really only works with ARGB32. I still need to think
about what formats will be supported.
(_XrSurfaceSetTransform): Partial support for transformed
surfaces.
(_XrSurfaceGetXcSurface): Moved all creation/destruction of the
XcSurface into this function so that it is only lazily created
when needed.
* xrgstate.c (_XrGStateSetCurrentPt): gstate now can throw errors
when an operation needs current point, but it doesn't exist yet.
(_XrGStateShowImage, _XrGStateShowImageTransform): Preliminary
image support, (currently it only scales according to the CTM. The
matrix passed with the image doesn't do anything yet.)
* xrfont.c (_XrFontInitCopy): Removed bogus out of memory errors.
* xr.c (XrShowImage, XrShowImageTransform): Added very preliminary
image support. Things don't work completely yet and all the
interfaces are likely to change.
(XrGetStatusString): Added function to map status values to strings.
2002-10-31 Carl Worth <cworth@isi.edu>
* xrfont.c (_XrFontInit):
(_XrFontInitCopy):
(_XrFontDeinit):
(_XrFontSelect):
(_XrFontResolveXftFont): Updated by ripping all font support from
Xc and just putting a couple of calls to Xft and fontconfig right
here in xrfont.
* xr.c (XrTextExtents): Added XrTextExtents.
2002-10-29 Carl Worth <cworth@east.isi.edu>
* xrgstate.c (_XrGStateSelectFont, _XrGStateScaleFont)
(_XrGStateTransformFont, _XrGStateShowText): Added basic font
support.
* xr.c (XrSelectFont, XrScaleFont, XrTransformFont): Added basic
font support.
2002-10-28 Carl Worth <cworth@east.isi.edu>
* xrstate.c (_XrStatePop): Added error case for XrRestore without
matching XrSave.
* xrsurface.c (_XrSurfaceInit, _XrSurfaceReference)
(_XrSurfaceDereference): Added reference counting to XrSurface to
patch a memory leak.
2002-10-26 Carl Worth <cworth@isi.edu>
* xrtransform.c (_XrTransformDistance):
(_XrTransformPoint): changed to use individual X/Y arguments
rather tha an XPointDouble. This improves readability since
_XrTransformDistance is now always called with arguments of dx/dy
rather than pt.x/pt.y.
* xrpath.c (_XrPathMoveTo):
(_XrPathLineTo):
(_XrPathCurveTo):
(_XrPathClosePath): replaced public _XrPathAdd with explicit named
functions. This cleans up the implementation since _XrPathAdd,
which is unsafe with respect to argument consistency, is now
private. Also, since the _XrGState now maintains the current
point, I dropped all relative path operators from the XrPath data
structures.
* xrgstate.c (_XrGStateMoveTo):
(_XrGStateLineTo):
(_XrGStateCurveTo):
(_XrGStateRelMoveTo):
(_XrGStateRelLineTo):
(_XrGStateRelCurveTo): Replaces _XrGStateAddPathOp and
_XrGStateAddUnaryPathOp with explicit named functions for each
operator type. This change introduces the current point state into
the XrGState structure rather than postponing its calculation
until path interpretation.
* xrgstate.c (_XrGStateSetDrawable):
(_XrGStateSetVisual):
(_XrGStateSetFormat):
(_XrGStateSetOperator):
(_XrGStateSetRGBColor):
(_XrGStateSetTolerance):
(_XrGStateSetAlpha):
(_XrGStateSetFillRule):
(_XrGStateSetLineWidth):
(_XrGStateSetLineCap):
(_XrGStateSetLineJoin):
(_XrGStateSetMiterLimit):
(_XrGStateTranslate):
(_XrGStateScale):
(_XrGStateRotate):
(_XrGStateConcatMatrix):
(_XrGStateNewPath): : Added XrStatus return values to many
functions -- just for consistency, these functions can not return
errors in any case.
* xr.c (XrShowText): Started to ass XrShowText, (still not functional)
2002-10-24 Carl Worth <cworth@isi.edu>
* xr.c (XrSetFillRule): Added support to set fill rule.
2002-10-23 Carl Worth <cworth@isi.edu>
* xrtraps.c (_XrTrapsTessellatePolygon): Fix for polygon with
multiple sub-polygons that are disjoint in Y.
2002-07-16 Carl Worth <cworth@isi.edu>
* Xr.h: Renamed xrpicture.c to xrsurface.c as part of the move.
Added XrSetFormat, XrSetOperator, XrSetLineCap, XrSetLineJoin, and
XrSetMiterLimit, (although the line style drawing code is not all
in place yet).
* xrpath.c (XrPathLineTo): Changed LineTo semantics to be the same
as MoveTo if there was no previous MoveTo.
* xrtraps.c: Added tessellation code, (lifted from
XRenderCompositeDoublePoly which can now disappear).
* xrgstate.c: Changed stroke code to incrementally build a list of
trapezoids rather than forming one giant polygonal outline and
rendering that. This should be more efficient.
(_XrGStateFillPath): Now uses Xr's own tessellation along with
XcCompositeTrapezoids.
* Xr.h: Moved all of Xr away from Xrender to the new Xc library.
* xrsurface.c: Renamed from xrpicture.c, (part of the move from
XRender to Xc).
* Started keeping a ChangeLog ;-)