mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-25 22:20:10 +01:00
927 lines
32 KiB
Text
927 lines
32 KiB
Text
2003-10-11 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo-xlib.h: Add extern "C" stuff. (Thanks to Soory Kuloor
|
|
for the reminder).
|
|
|
|
2003-10-09 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_font.c: Stub out NULL_POINTER errors as
|
|
CAIRO_STATUS_SUCCESS so that drawing to off-screen images still
|
|
works even though text does not yet.
|
|
|
|
2003-10-04 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_hull.c (_cairo_hull_compute): Add cairo_hull.c to
|
|
compute a convex hull, (using Graham scan algorithm).
|
|
|
|
* src/cairo_pen.c (_cairo_pen_add_points): Generate convex hull of
|
|
pen after adding new points.
|
|
|
|
* src/cairoint.h: Rename pen->vertex to pen->vertices
|
|
|
|
* Replaced "pt" with "point" in about a zillion places.
|
|
|
|
* src/cairo.c (cairo_destroy): Fix to continue with destroy even
|
|
in the face of non-zero status.
|
|
(cairo_set_target_surface):
|
|
(cairo_set_target_image): Don't do anything even if cr->status is
|
|
CAIRO_STATUS_NO_TARGET_SURFACE.
|
|
(cairo_status_string): Report "<unknown error status>" rather than
|
|
en empty string.
|
|
|
|
2003-10-01 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_copy): Don't choke if
|
|
asked to copy a gstate with a NULL font.
|
|
|
|
* src/cairo_font.c (_cairo_font_init):
|
|
(_cairo_font_init_copy):
|
|
(_cairo_font_copy):
|
|
(_cairo_font_fini):
|
|
(_cairo_font_select):
|
|
(_cairo_font_scale):
|
|
(_cairo_font_transform):
|
|
(_cairo_font_text_extents):
|
|
(_cairo_font_show_text): Return immediately if passed a NULL pointer.
|
|
|
|
2003-09-30 Jamey Sharp <jamey@minilop.net>
|
|
|
|
* src/Makefile.am, src/cairo.c, src/cairo.h, src/cairo_font.c,
|
|
src/cairo_gstate.c, src/cairo_surface.c, src/cairoint.h:
|
|
Virtualized font and surface backends. All Xlib/Xft calls are in
|
|
cairo_xlib_surface.c/cairo-xlib.h now. Resolves a TODO item.
|
|
|
|
2003-09-30 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* src/cairo.c (cairo_copy): Don't copy a gstate if src->status != 0.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init_copy): Be careful to
|
|
preserve gstate->next.
|
|
(_cairo_gstate_copy): New function to support cairo_copy.
|
|
|
|
* src/cairo.c (cairo_copy): Fixed horribly botched implementation
|
|
of cairo_copy.
|
|
|
|
* configure.in: Bumped version to 0.1.7 to indicate change in
|
|
cairo_copy.
|
|
|
|
* src/cairo.c (cairo_copy): Changed cairo_copy to copy graphics
|
|
state from one cairo_t to another rather than allocating a new
|
|
cairo_t.
|
|
|
|
* src/cairo_surface.c (cairo_surface_destroy):
|
|
(cairo_surface_create_similar_solid): Fix to delay XFreePixmap
|
|
until cairo_surface_destroy.
|
|
|
|
2003-09-29 Carl Worth <cworth@east.isi.edu>
|
|
|
|
* TODO: Remove arc notes since arcs are done.
|
|
|
|
* src/cairo_surface.c (_cairo_surface_composite): Fix bug
|
|
(IcImageGetHeight instead of IcImageGetWidth) from Graydon Hoare
|
|
<graydon@redhat.com>.
|
|
|
|
2003-09-29 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bumpred version to 0.1.6 to
|
|
indicate new cairo_arc and cairo_arc_negative.
|
|
|
|
* src/cairo_gstate.c (_arc_error_normalized):
|
|
(_arc_max_angle_for_tolerance_normalized):
|
|
(_cairo_gstate_arc_segments_needed):
|
|
(_cairo_gstate_arc_segment):
|
|
(_cairo_gstate_arc_dir):
|
|
(_cairo_gstate_arc):
|
|
(_cairo_gstate_arc_negative): Several new functions to implement
|
|
arc support.
|
|
|
|
* src/cairo.h: Added cairo_arc and cairo_arc_negative.
|
|
|
|
* src/cairo.c (cairo_arc):
|
|
(cairo_arc_negative): Added new arc support.
|
|
|
|
2003-09-27 Carl Worth <cworth@isi.edu>
|
|
|
|
* src/cairoint.h: Fixed several enum symbols that had been
|
|
mistakenly converted to lowercase at some point.
|
|
Consolidated cairo_path_direction_t and
|
|
cairo_pen_stroke_direction_t into cairo_direction_t.
|
|
Removed accidental addition of two _print_svg functions that had
|
|
been used for debugging temporarily.
|
|
|
|
2003-09-25 Carl Worth <cworth@isi.edu>
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.5 to
|
|
indicate removal of cairo_path_t and related functions.
|
|
|
|
* src/cairo.h: Decided that we don't actually need any of the
|
|
cairo_path_t functionality exposed in the commit earlier
|
|
today. Ripped all of that back out.
|
|
|
|
* configure.in (CAIRO_VERSION): Bumped version to 0.1.4 for new
|
|
exposed cairo_path_t and related functions.
|
|
|
|
* src/cairo_path.c (cairo_path_create):
|
|
(_cairo_path_copy):
|
|
(cairo_path_destroy): New create/copy/destroy functions for paths.
|
|
(_cairo_path_init): Added current_pt state to cairo_path_t.
|
|
(cairo_path_rel_move_to):
|
|
(cairo_path_rel_line_to):
|
|
(cairo_path_rel_curve_to): Added relative path creation functions,
|
|
(relative stufff used to be done internally in cairo_gstate).
|
|
(_cairo_path_set_ctm_inverse):
|
|
(_cairo_path_transform): Added functions to transform all
|
|
coordinates in a path.
|
|
|
|
* src/cairo_gstate.c (_cairo_gstate_init): Moved all current_pt
|
|
state out of cairo_gstate and into cairo_path.
|
|
(_cairo_gstate_copy): Renamed _cairo_gstate_clone to
|
|
_cairo_gstate_copy for consitency with other functions, (though I
|
|
may reconsider and rename all of them to _clone).
|
|
(_cairo_gstate_current_path):
|
|
(_cairo_gstate_set_path): New functions for "user path" support.
|
|
|
|
* src/cairo.h: Expose new opaque cairo_path_t object along with
|
|
several new public functions: cairo_set_path, cairo_current_path,
|
|
cairo_path_create, cairo_path_destroy, cairo_path_move_to,
|
|
cairo_path_line_to, cairo_path_curve_to, cairo_path_rel_move_to,
|
|
cairo_path_rel_line_to, cairo_path_rel_curve_to,
|
|
cairo_path_close_path, cairo_path_current_point.
|
|
|
|
* src/cairo.c (cairo_set_path, cairo_current_path): Added
|
|
functions to get/set current path.
|
|
|
|
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 ;-)
|
|
|
|
|
|
|