mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-03 02:20:16 +01:00
774 lines
26 KiB
Text
774 lines
26 KiB
Text
2003-09-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_surface.c (cairo_surface_create_similar_solid): Fixed
|
|
massive pixmap leak, (at least one pixmap for every set_rgb_color)
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped to 0.1.3 for new functions:
|
|
cairo_reference and cairo_surface_reference.
|
|
|
|
* src/cairo_surface.c (cairo_surface_reference): Export
|
|
cairo_surface_reference.
|
|
|
|
* src/cairo.c (cairo_reference): Add new function to increase
|
|
reference count of cairo_t.
|
|
(cairo_create):
|
|
(cairo_copy):
|
|
(cairo_destroy): Make these functions aware of the new reference
|
|
count.
|
|
|
|
2003-09-15 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Require xrender >= 0.6.0
|
|
|
|
* src/cairo_surface.c (_cairo_x11_surface_put_image): Make static.
|
|
|
|
2003-09-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.c (cairo_restore): Fix to catch invalid restore rather
|
|
than just catching the second invalid restore. Fix from Keith
|
|
Packard <keithp@keithp.com>.
|
|
|
|
2003-09-12 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo_surface.c (cairo_surface_create_similar_solid): Don't
|
|
try to create depth-32 pixmaps on non-Render servers.
|
|
(_cairo_surface_push_image): Fixed massive memory leak.
|
|
|
|
2003-09-09 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (PKG_CHECK_MODULES): Updated calls to
|
|
slim_hidden_def to track changes in slim 0.2.0.
|
|
|
|
2003-09-05 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (PKG_CHECK_MODULES): Require libic >= 0.1.1
|
|
|
|
* src/cairo_surface.c (_create_icformat_for_visual):
|
|
(_create_icformat_for_format): Updates for new libic interface.
|
|
(cairo_x11_surface_put_image): Rename cairo_surface_put_image to
|
|
cairo_x11_surface_put_image.
|
|
(_cairo_surface_pull_image):
|
|
(_cairo_surface_push_image): First real implementation of
|
|
push/pull_image, (thanks for help from Graydon Hoare
|
|
<graydon@redhat.com>). This provides support for running Cairo on
|
|
X servers that do not have the RENDER extension. (Note: This is
|
|
still woefully slow).
|
|
|
|
* src/cairo_path_stroke.c (_cairo_stroker_join): Switch to
|
|
_cairo_fixed functions.
|
|
|
|
* src/cairo_path_bounds.c (_cairo_path_bounds): Use cairo_fixed
|
|
rather than X macros.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_current_point): If not
|
|
explicitly set, current point is (0,0) in user space.
|
|
(_cairo_gstate_show_text): Fix to place text at user-space origin
|
|
if there is no current point.
|
|
(_cairo_gstate_show_surface): Optimize to pass NULL mask if alpha
|
|
== 1.0.
|
|
(_cairo_gstate_show_surface): Fixe to use current_point rather
|
|
than (0,0).
|
|
|
|
* src/cairo.h: Removed cairo_surface_put_image.
|
|
|
|
* src/Makefile.am (libcairo_la_SOURCES): Added cairo_fixed.c
|
|
|
|
2003-09-05 Keith Packard <keithp@keithp.com>
|
|
|
|
* src/cairo_path_stroke.c: comment face computations, check for
|
|
reflecting transformation to select correct face orientations
|
|
|
|
* src/cairo_pen.c: check for reflecting transform when computing
|
|
pen to ensure consistent pen orientation
|
|
|
|
2003-09-05 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Bumped version to 0.1.2 for new cairo_copy
|
|
function.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Fixed uninitialized
|
|
current_pt values.
|
|
(_cairo_gstate_clone): Force gstate->next to NULL after cloning,
|
|
to prevent the clone from trashing the former stack.
|
|
|
|
* src/cairo.c (cairo_create): Folded _cairo_init into cairo_create.
|
|
(cairo_destroy): Folded _cairo_fini into cairo_dstroy.
|
|
(cairo_copy): Added new cairo_copy function.
|
|
|
|
2003-09-05 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_show_text): Fix crash due to
|
|
missing call to ensure_source.
|
|
|
|
2003-09-04 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairoint.h (DEPRECATE): Changed DEPRECATE mechanism to
|
|
preseve binary compatibility, but break source-level
|
|
compatibility.
|
|
|
|
2003-09-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Combine gstate->pattern
|
|
and gstate->solid into a single gstate->source.
|
|
(_cairo_gstate_set_rgb_color): Defer creation of gstate->source
|
|
until the stroke or fill.
|
|
(_cairo_gstate_ensure_source): New function to combine duplicated
|
|
code.
|
|
(_cairo_gstate_stroke):
|
|
(_cairo_gstate_fill): Now must ensure that gstate->source has been
|
|
created.
|
|
|
|
* src/cairo.c (cairo_set_target_surface):
|
|
(cairo_set_target_drawable):
|
|
(cairo_set_target_image): These functions can now clear
|
|
status==CAIRO_STATUS_NO_TARGET_SURFACE. This is a clean solution
|
|
to the bug of a SEGV if cairo_stroke/cairo_fill are called before
|
|
cairo_set_target.
|
|
|
|
* BUGS: Removed two fixed bugs, (SEGV if cairo_set_rgb_color
|
|
called before cairo_set_target and SEGV if cairo_fill called
|
|
before cairo_set_rgb_color)
|
|
|
|
2003-09-04 Keith Packard <keithp@keithp.com>
|
|
|
|
* src/cairo_path_stroke.c: added comments describing miter
|
|
join code and miter limit computation. Replace XFoo with cairo_foo
|
|
for double and fixed
|
|
|
|
* src/cairoint.h: add cairo_fixed_to_double and cairo_double_to_fixed
|
|
Carl says he's got similar code, so he'll have to fix things if I
|
|
get this committed quickly enough.
|
|
|
|
2003-09-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* util/cairo-api-update: Added script to update source code using
|
|
Cairo to the latest API.
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.1
|
|
|
|
* src/cairoint.h (DEPRECATE): Added magic DEPRECATE macro which
|
|
provides an asm-based alias for old function names. This works on
|
|
ELF systems with gcc version >= 2.
|
|
|
|
* src/cairo.h (cairo_get_status_string): Deprecated all
|
|
cairo_get_* names in favor of cairo_current_*. The deprecated
|
|
function names will trigger either a warning or a link error, but
|
|
in both cases with a useful message giving both the old and new
|
|
name of the function. Three of the function name changes are
|
|
different than the single word substituion:
|
|
cairo_get_current_color -> cairo_current_color
|
|
cairo_get_status -> cairo_status
|
|
cairo_get_status_string -> cairo_status_string
|
|
|
|
2003-09-03 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Change cairo_get_matrix interface to accept a
|
|
cairo_matrix_t* rather than 6 double*.
|
|
|
|
* src/cairo.c (cairo_get_matrix): Add implementation of cairo_get_matrix.
|
|
|
|
2003-08-29 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_surface.c (_cairo_surface_composite): Optimized case
|
|
where src is in memory, dst is on server, and mask is NULL. Will
|
|
now do a single XPutImage rather than the painful
|
|
GetImage/PutImage dance of the general code.
|
|
|
|
2003-08-28 Carl Worth <cworth at east.isi.edu>
|
|
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil): One more
|
|
increment, (that still won't fix the bug). Added comment point to
|
|
Hobby's paper, (that will fix it).
|
|
|
|
* src/cairo_font.c (_cairo_font_resolve_xft_font): Fixed to use
|
|
fabs instead of abs when correcting for negative area expansion.
|
|
|
|
2003-08-28 Keith Packard <keithp@keithp.com
|
|
* src/cairo_font.c: font pixel size is always non-negative
|
|
|
|
2003-08-26 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Added missing underscores to several internal
|
|
functions.
|
|
* src/cairo_font.c:
|
|
* src/cairo_gstate.c:
|
|
* src/cairo_matrix.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_pen.c:
|
|
* src/cairo_traps.c: Fixed to track newly added underscores.
|
|
|
|
* src/cairo.h: Some whitespace fixes.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_set_pattern): Fixed to anchor
|
|
pattern at current point instead of the origin.
|
|
(_cairo_gstate_stroke): Fixed to properly transform pattern.
|
|
(_cairo_gstate_fill): Fixed to properly transform pattern.
|
|
|
|
2003-07-31 Richard Henderson <rth@twiddle.net>
|
|
|
|
* src/cairo_color.c (CAIRO_COLOR_DEFAULT): Mark const.
|
|
* src/cairo_matrix.c (CAIRO_MATRIX_IDENTITY): Likewise.
|
|
* src/cairo_path.c (num_args): Likewise.
|
|
* src/cairo_path_bounds.c (_cairo_path_bounds): Likewise for cb.
|
|
|
|
2003-07-31 Richard Henderson <rth@twiddle.net>
|
|
|
|
* cairo.pc.in: Depend on slim.
|
|
* configure.in: Check for slim.
|
|
|
|
* src/cairo.h: Include slim_{export,import}.h as needed; mark all
|
|
symbols __external_linkage.
|
|
* src/cairoint.h: Include slim_internal.h; mark all symbols
|
|
__internal_linkage. Provide slim_hidden_proto symbols as needed.
|
|
* src/cairo.c, src/cairo_matrix.c, src/cairo_surface.c,
|
|
Provide slim_hidden_def symbols as needed.
|
|
* src/cairo_traps.c (cairo_traps_add_trap): Mark static.
|
|
(cairo_traps_add_trap_from_points): Likewise.
|
|
|
|
2003-07-30 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (LIBIC_REQUIRED): Fixed some typos in the libic
|
|
PKG_CHECK.
|
|
|
|
* src/cairoint.h:
|
|
* src/cairo.c: Fixed a disagreement over whether some internal
|
|
cairo_gstate_t functions had an '_' prefix or not.
|
|
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil): Add one more
|
|
conditional intersect to push past some fill bugs.
|
|
|
|
* src/cairo_surface.c (cairo_surface_create_for_drawable):
|
|
(cairo_surface_create_for_image):
|
|
(cairo_surface_put_image):
|
|
(_cairo_surface_pull_image):
|
|
(_cairo_surface_push_image):
|
|
(cairo_surface_set_matrix):
|
|
(cairo_surface_get_matrix):
|
|
(cairo_surface_set_repeat):
|
|
(_cairo_surface_composite):
|
|
(_cairo_surface_fill_rectangle):
|
|
(_cairo_surface_fill_rectangles):
|
|
(_cairo_surface_composite_trapezoids): Absorb all functionality
|
|
previously in the Xc library.
|
|
|
|
* src/cairo_pen.c (_cairo_pen_init): Don't store floating point
|
|
theta in the pen. Instead, sort vertices by fixed point slope
|
|
comparisons.
|
|
(_cairo_pen_add_points): Fixed to remove duplicate pen vertices
|
|
appearing at beginning and end of vertex array.
|
|
(_pen_vertex_compare): New fixed-point "angle" comparison for pen
|
|
vertices. A bit trickier than before, but much more accurate.
|
|
|
|
* src/cairo_path_stroke.c (_cairo_stroker_face_clockwise): Share
|
|
clockwise calculation with other modules.
|
|
|
|
* src/cairo_path_bounds.c:
|
|
* src/cairo_path_fill.c:
|
|
* src/cairo_path_stroke.c:
|
|
* src/cairo_pen.c:
|
|
* src/cairo_polygon.c:
|
|
* src/cairo_spline.c:
|
|
* src/cairo_traps.c:
|
|
* src/cairo_path.c: Replaced all references to
|
|
XFixed, XPointFixed, XLineFixed, and XTrapezoid with new
|
|
cairo_fixed_t, cairo_point_t, cairo_line_t, and cairo_trapezoid_t.
|
|
|
|
* src/cairo_path.c: (_cairo_path_interpret): Made the path
|
|
interpreter callback names consistent, (eg. add_edge rather than
|
|
AddEdge).
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_text_extents): Now silently
|
|
exits for a non X surface, (avoids a crash until we can implement
|
|
the libic text backend).
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_end_group):
|
|
(_cairo_gstate_clip_and_composite_trapezoids):
|
|
(_cairo_gstate_show_surface): Replaced all XcCalls with
|
|
corresponding cairo_surface_calls.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_transform_point):
|
|
(_cairo_gstate_transform_font):
|
|
(_cairo_gstate_text_extents): Renamed from the garbled names
|
|
(eg. cairo_gstateransform_point) leftover from the great renaming.
|
|
|
|
* src/cairo_color.c (_cairo_color_set_rgb): Reworked cairo_color_t
|
|
to eliminate reference to an XcColor object.
|
|
|
|
* src/cairo.h: Dropped include of <Xc.h>, added
|
|
<X11/extensions/Xrender.h>, <fontconfig/fontconfig.h>, and <ic.h>
|
|
|
|
* src/cairo.c (cairo_get_fill_rule): Added missing cairo_get_fill_rule.
|
|
|
|
* configure.in (PKG_CHECK_MODULES): Drops xc, add libic
|
|
|
|
* cairo.pc.in (Requires): Drop xc, add libic.
|
|
|
|
2003-07-25 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_traps.c (_line_segs_intersect_ceil): We don't need a
|
|
loop here, (just a conditional increment). This time, we've
|
|
actually done the error analysis to back this up.
|
|
|
|
2003-07-24 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_traps.c (cairo_traps_tessellate_polygon): Massive
|
|
cleanup of polygon tessellation, (it might actually be correct
|
|
now).
|
|
|
|
2003-07-23 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Introduced some cairo_fixed_*_t types. This is
|
|
the first baby step toward ripping X dependencies out of the Cairo
|
|
headers.
|
|
|
|
* src/cairo_traps.c (_compute_x): Converted from floating point to
|
|
fixed point.
|
|
(_line_seg_intersection_ceil): Now increments y value once if the
|
|
initial y value computed is less than the actual intersection
|
|
point.
|
|
|
|
* src/cairo_traps.c (_compare_cairo_edge_by_slope): Converted from
|
|
floating point to fixed point.
|
|
|
|
* src/cairo_pen.c (_slope_clockwise): Converted from floating
|
|
point to fixed point.
|
|
|
|
2003-07-19 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_traps.c (cairo_traps_tessellate_polygon): Fixed some
|
|
sorting problems with two intersections very near the same
|
|
vertical position. (There are still some reamining problems
|
|
though).
|
|
(cairo_traps_tessellate_polygon): Better fix for the same
|
|
bug. Should cover all cases, (and it's moe efficient too).
|
|
|
|
2003-07-18 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.h: Fixed some inconsistent tag/typedef names that were
|
|
missed in the great renaming.
|
|
|
|
2003-07-18 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo.h: Renamed everything from Xr* to cairo_*.
|
|
|
|
* util/xr2cairo: Added utility script xr2cairo to help users fix
|
|
their source code.
|
|
|
|
2003-07-03 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrmatrix.c (XrMatrixGetAffine): Added XrMatrixGetAffine
|
|
(from Soorya Kuloor)
|
|
|
|
* src/xr.c (XrGetAlpha): Added XrGetAlpha
|
|
(XrGetRGBColor): Added XrGetRGBColor
|
|
|
|
2003-06-12 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrgstate.c (_XrGStateScale): Scale by 0 now causes an
|
|
InvalidMatrix error.
|
|
|
|
2003-05-28 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrmatrix.c (XrMatrixMultiply): Eliminated
|
|
_XrMatrixMultiplyIntoRight and _XrMatrixMultiplyIntoLeft.
|
|
|
|
* src/xrgstate.c (_XrGStateClipAndCompositeTrapezoids): Fixed
|
|
missing translation of clip surface.
|
|
|
|
* src/Xr.h: Added XrSurfacePutImage
|
|
|
|
2003-05-16 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrint.h: Added ppm filed (pixels per meter) to both
|
|
XrSurface and XrGState.
|
|
|
|
* src/xrgstate.c (_XrGStateSetTargetSurface): Fixup CTM according
|
|
to change in surface->ppm.
|
|
(_XrGStateDefaultMatrix): Default matrix is no longer an identity
|
|
matrix, but rather a matrix that provides some relates user space
|
|
units to real-world dimensions in a meaningful way, (default 3780
|
|
user space units per meter). This conversion is not exact, but is
|
|
rather as close as possible while also guaranteeing that one user
|
|
space unit maps to an integer number of device pixels.
|
|
|
|
2003-05-15 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xr.c (XrSetTargetDrawable): Moved implementation up from
|
|
_XrGStateSetTargetDrawable, (eg. all convenience functions should
|
|
be taken care of at the xr.c level ratehr than xrgstate.c)
|
|
|
|
* src/Xr.h: Added convenience function XrSetTargetImage
|
|
|
|
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.
|
|
|
|
* src/xrpathbounds.c (_XrPathBounds): Moved path bound computation
|
|
to its own file.
|
|
|
|
* src/xrpathstroke.c (_XrPathStrokeToTraps): Moved path stroking
|
|
to its own file.
|
|
|
|
* src/xrpathfill.c (_XrPathFillToTraps): Moved path fililng to its
|
|
own file.
|
|
|
|
* src/xrgstate.c (_XrGStateStroke):
|
|
(_XrGStateFill):
|
|
(_XrGStateClipAndCompositeTrapezoids): Reorganized stroke and fill
|
|
code to go through the same path for clipping.
|
|
|
|
2003-05-02 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/Xr.h: Changed XrFormatRGB32 to XrFormatRGB24
|
|
|
|
* src/xrsurface.c (_XrFormatBPP, XrSurfaceCreateForImage)
|
|
(_XrFormatDepth): Fixed for change of XrFormatRGB32 to
|
|
XrFormatRGB24
|
|
|
|
2003-05-01 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrpath.c (_XrPathBounderInit):
|
|
(_XrPathBounderDeinit):
|
|
(_XrPathBounderAddPoint):
|
|
(_XrPathBounderAddEdge):
|
|
(_XrPathBounderAddSpline):
|
|
(_XrPathBounderDoneSubPath):
|
|
(_XrPathBounderDonePath):
|
|
(_XrPathBounds): New support for computing the bounding box of a
|
|
path. Currently used internally, (for computing the size of the
|
|
clip surface), and not exported publically.
|
|
|
|
* src/xrgstate.c (_XrGStateStroke): Implemented clip support for
|
|
strokes.
|
|
(_XrGStateClip): New _XrGStateClip function fills the current path
|
|
onto the gstate->clip surface.
|
|
|
|
* src/xr.c (XrClip): Added preliminary/experimental clip
|
|
functionality. The current implementation only clips stroked
|
|
elements, (not fills, images, or text). It's alway quite
|
|
inefficeient.
|
|
|
|
* src/xr.c (XrGetOperator):
|
|
(XrGetTolerance):
|
|
(XrGetLineWidth):
|
|
(XrGetLineCap):
|
|
(XrGetLineJoin):
|
|
(XrGetMiterLimit):
|
|
(XrGetCurrentPoint): Added several new query functions.
|
|
|
|
2003-04-26 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/xrsurface.c (XrSurfaceDestroy): Fix memory leak of
|
|
surface->image_data.
|
|
|
|
2003-04-25 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* configure.in: Fixed libtool versioning
|
|
|
|
2003-04-17 Carl Worth <cworth@isi.edu>
|
|
|
|
* Switched from imake to autotools.
|
|
|
|
* src/xrint.h: XrSurface structure is now greatly simplified,
|
|
(details now handled by XcSurface).
|
|
|
|
* src/Xr.h: Eliminated Display * parameter so Xr can be used for
|
|
non-X drawing.
|
|
Removed XrPushGroup/XrPopGroup.
|
|
Replaced XrSetDrawable/XrSetVisual with XrSetTargetDrawable.
|
|
Added XrSetTargetSurface and several new XrSurfaceCreate
|
|
functions.
|
|
Added XrShowSurface, (functionality overlaps with XrShowImage --
|
|
need to fix this)
|
|
|
|
|
|
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 ;-)
|
|
|
|
|
|
|