summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog1087
1 files changed, 1087 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 25f8a8f..9da7852 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1077 @@
+2005-08-13 Carl Worth <cworth@cworth.org>
+
+ * NEWS: Added notes for release 0.9.2.
+
+ * configure.in: Increment CAIRO_VERSION to 0.9.2 and libtool
+ versioning to 3:1:1.
+
+ * RELEASING: Remove some more 'snapshot' language. Make it more
+ clear that the libtool versioning numbers need to be updated.
+
+2005-08-13 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-pattern.c: Fix unterminated comment that eliminated
+ cairo_pattern_add_color_stop_rgba.
+
+2005-08-13 Carl Worth <cworth@cworth.org>
+
+ * NEWS: Add missing notes on soname and user-space locking for
+ cairo_set_source() to the 0.9.0 release notes.
+
+ * src/cairo-pattern.c: Document cairo_pattern_add_color_stop_rgb,
+ cairo_pattern_add_color_stop_rgba, cairo_pattern_set_matrix, and
+ cairo_pattern_get_matrix.
+
+ * src/cairo.c: Add note on user-space locking to the documentation
+ for cairo_set_source().
+
+2005-08-13 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Turn the mutex code back on. It looks like the
+ deadlocks have disappeared as of the cairo_scaled_font_map patch
+ from two days ago.
+
+ * configure.in: Setup an automake conditional for the HAVE_PTHREAD
+ case.
+
+ * test/Makefile.am: Link all tests with -lpthread if available, so
+ that we can get some testing of cairo with mutexes turned on.
+
+2005-08-13 Carl Worth <cworth@cworth.org>
+
+ Minor, cosmetic changes:
+
+ * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_lock_face): Reowrd
+ comment to be more clear.
+
+ * src/cairo-ft-font.c: (_cairo_ft_scaled_font_create): Prefer
+ return of address of base field rather than cast.
+
+ * src/cairo-ft-font.c: (_cairo_ft_font_face_destroy): Whitespace
+ fix.
+
+2005-08-13 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_map_create),
+ (_cairo_ft_unscaled_font_init_key), (_cairo_ft_unscaled_font_init),
+ (_cairo_unscaled_font_is_ft), (_cairo_ft_unscaled_font_fini),
+ (_cairo_ft_unscaled_font_keys_equal),
+ (_cairo_ft_unscaled_font_create_from_face),
+ (_cairo_ft_unscaled_font_destroy): Shuffle functions around to put
+ them in a sane order within the file. There should be no
+ functional change here.
+
+2005-08-11 Carl Worth <cworth@cworth.org>
+
+ Reviewed by: keithp
+
+ * src/cairoint.h: Add hash_entry field to cairo_scaled_font_t so
+ that it can be hashed.
+
+ * src/cairo-font.c: (_cairo_scaled_font_map_lock),
+ (_cairo_scaled_font_map_unlock), (_cairo_scaled_font_map_destroy),
+ (_cairo_scaled_font_init_key), (_cairo_scaled_font_keys_equal),
+ (_cairo_scaled_font_init), (_cairo_scaled_font_fini),
+ (cairo_scaled_font_create), (cairo_scaled_font_reference),
+ (cairo_scaled_font_destroy), (_cairo_font_reset_static_data):
+ Convert the font_face/matrix/ctm/options => cairo_scaled_font_t
+ mapping from a two-layer cairo-cache.c implementation to a single
+ cairo-hash.c implementation backed by a simple array for the
+ secondary cache.
+
+2005-08-13 Behdad Esfahbod <behdad@behdad.org>
+
+ * src/cairo-path-data.c (_cairo_path_data_append_to_context):
+ Move checks for invalid number of points before the calls that
+ use the points.
+
+2005-08-13 Behdad Esfahbod <behdad@behdad.org>
+
+ * src/cairo-color.c: Fix conversion to short, to get a uniform
+ range even for 0xffff. In other words, a color component of
+ of (1.0 - epsilon) would convert to 0xffff, not 0xfffe.
+
+2005-08-13 Behdad Esfahbod <behdad@behdad.org>
+
+ * RELEASING:
+ * Makefile.am: Generate sh1sum instead of md5sum. Use gpg to
+ sign it. You need gpg set up.
+
+2005-08-12 Carl Worth <cworth@cworth.org>
+
+ * RELEASING:
+ * Makefile.am: Move tagging from an instruction in RELEASING to
+ an automated step at the end of release-publish.
+
+2005-08-13 Behdad Esfahbod <behdad@behdad.org>
+
+ * Makefile.am (release-publish): Check that the micro component
+ of the version number is even.
+
+ * RELEASING: Fixed the pattern to find all public header files.
+
+2005-08-11 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-font.c (_cairo_toy_font_face_fini): Fix inverted sense
+ of assert statement which led to lots of unpleasant crashes.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ Reviewed by: keithp
+
+ * src/cairoint.h: Add hash_entry field to cairo_font_face_t so
+ that it can (optionally) be hashed.
+
+ * src/cairo-font.c: (_cairo_toy_font_face_hash_table_lock),
+ (_cairo_toy_font_face_hash_table_unlock),
+ (_cairo_toy_font_face_init_key), (_cairo_toy_font_face_init),
+ (_cairo_toy_font_face_fini), (_cairo_toy_font_face_keys_equal),
+ (_cairo_toy_font_face_create), (_cairo_toy_font_face_destroy),
+ (_cairo_toy_font_face_scaled_font_create),
+ (_cairo_font_reset_static_data): Complete the remainder of the
+ simple -> toy renaming. Convert the family/slant/weight ->
+ cairo_toy_font_face_t mapping to use cairo-hash.c rather
+ than cairo-cache.c.
+
+2005-08-11 Carl Worth <cworth@cworth.org>
+
+ Reviewed by: keithp
+
+ * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_init),
+ (_cairo_ft_unscaled_font_init_key),
+ (_cairo_ft_unscaled_font_keys_equal),
+ (_cairo_ft_unscaled_font_fini),
+ (_cairo_ft_unscaled_font_map_destroy),
+ (_cairo_ft_unscaled_font_map_lock),
+ (_cairo_ft_unscaled_font_map_unlock),
+ (_cairo_ft_unscaled_font_map_create),
+ (_cairo_ft_unscaled_font_create_for_pattern), (_has_unlocked_face),
+ (_cairo_ft_unscaled_font_lock_face),
+ (_cairo_ft_unscaled_font_destroy),
+ (_cairo_ft_scaled_font_create_toy),
+ (cairo_ft_font_face_create_for_pattern),
+ (_cairo_ft_font_reset_static_data):
+ Move implementation of filename/id => cairo_ft_unscaled_font_t
+ from cairo-cache.c to cairo-hash.c, with new
+ cairo_ft_unscaled_font_map.
+
+ * src/cairoint.h: Add cairo_unscaled_font->hash_entry so that
+ unscaled fonts can live in hash tables.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ Reviewed by: otaylor
+
+ * src/cairoint.h: Re-order cairo_scaled_font->font_face parameter
+ to maintain the font_face,font_matrix,ctm,options order that
+ prevails throughout the implementation. Add font_face parameter to
+ _cairo_scaled_font_init.
+
+ * src/cairoint.h:
+ * src/cairo-atsui-font.c: (_cairo_atsui_font_create_toy):
+ * src/cairo-win32-font.c: (_cairo_win32_scaled_font_create_toy):
+ * src/cairo-ft-font.c: (_cairo_ft_scaled_font_create_toy):
+ Remove const qualifier from toy_face parameter to creat_toy, as
+ these functions may reference the font face. Track addition of
+ font_face parameter to _cairo_scaled_font_init.
+
+ * src/cairo-font.c: (_cairo_inner_font_cache_create_entry),
+ (_cairo_scaled_font_init): Implement font_face parameter to
+ _cairo_scaled_font_init, moving the reference of the font_face
+ from _cairo_inner_font_cache_create_entry.
+
+ * src/cairo-ft-font.c: (_cairo_ft_scaled_font_create): Add a
+ font_face parameter in addition to the unscaled_font parameter.
+
+ * src/cairo-ft-font.c: (_cairo_ft_font_face_scaled_font_create):
+ Track new font_face parameter to _cairo_ft_scaled_font_create.
+
+ * src/cairo-ft-font.c: (_cairo_ft_font_face_create),
+ (cairo_ft_scaled_font_lock_face): Whitespace touchup.
+
+2005-08-10 Billy Biggs <vektor@dumbterm.net>
+
+ * test/clip-operator-ref.png: Update to match the output from
+ libpixman.
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ Thanks to Olivier Andrieu:
+
+ * NEWS: Add mention of cairo_get_antialias. Fix to mention
+ cairo_surface_flush by its correct name, (rather than the
+ non-existent cairo_flush).
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ * doc/public/cairo-docs.xml: Fix id to be cairo rather than
+ libglade. (Thanks to Christian Biesinger).
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ * src/cairo.h:
+ * src/cairo.c: (cairo_version), (cairo_version_string):
+ Augment existing CAIRO_VERSION_MAJOR/MINOR/MICRO and
+ CAIRO_VERSION_STRING with CAIRO_VERSION_ENCODE and CAIRO_VERSION.
+ Add functions for run-time access:
+
+ cairo_version
+ cairo_version_string
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ From Travis Spencer <tspencer@cs.pdx.edu>:
+
+ * src/cairo-xcb-surface.c:
+ (_cairo_xcb_surface_composite_trapezoids): Fix typo causing a
+ syntax error.
+
+2005-08-10 Keith Packard <keithp@keithp.com>
+
+ * test/Makefile.am:
+ Place private include directives before CAIRO_CFLAGS in case
+ pixman remains installed in the system.
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ From Keith Packard <keithp@keithp.com>,
+
+ Build pixman internally as a private part of cairo, with suitable
+ name changes to avoid any visible pixman symbols in the cairo
+ library:
+
+ * Makefile.am: Descend into pixman.
+
+ * cairo.pc.in: Drop libpixman from Requires.
+
+ * configure.in: Don't check for libpixman. Check version of
+ pkg-config and use Requires.private instead of Requires in
+ cairo.pc if possible. Generate pixman Makefiles.
+
+ * pixman/Makefile.am: Rip out release-publish target and
+ installation of libpixman.pc.
+
+ * pixman/src/Makefile.am: Add pixman-remap.h. Drop libpixman.la
+ target.
+
+ * pixman/src/icint.h: Fix to include "config.h" rather than
+ "../config.h"
+
+ * pixman/src/pixman-remap.h: This is the cpp magic to rename all
+ pixman functions from the various fb, Fb, INT_pixman, pixman,
+ Render, _Render, or no prefix to _cairo_pixman_ prefixes.
+
+ * pixman/src/pixman.h: Include pixman-remap.h to get all the
+ cairo-internalized names.
+
+ * src/Makefile.am:
+ * test/Makefile.am: Add -I$(top_srcdir)pixman/src to get at
+ pixman-remap.h.
+
+2005-08-10 Vladimir Vukicevic <vladimir@pobox.com>
+
+ * src/cairo-glitz-surface.c: Additional fix for 0-width/0-height
+ glyphs.
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ * Makefile.am:
+ * RELEASING: Change release instructions to indicate new odd-micro
+ version for in-progress development, and even-micro for released
+ versions. Do a bit of snapshot->release renaming.
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ * configure.in: Change CAIRO_VERSION from 0.9.0-head to 0.9.1.
+
+ Patch from Behdad Esfahbod <behdad@behdad.org>:
+
+ * configure.in: Update to use AC_INIT and AM_INIT_AUTOMAKE in
+ recommended ways. Add support for substituting
+ CAIRO_VERSION_MAJOR/MINOR/MICRO into generated headers.
+
+ * src/cairo-features.h.in: Add CAIRO_VERSION_MAJOR/MINOR/MICRO and
+ CAIRO_VERSION_STRING which are generated by configure.
+
+2005-08-10 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-path-data-private.h:
+ * src/cairoint.h: Add cairo_private to the few pieces of data that
+ were missing it.
+
+2005-08-09 Vladimir Vukicevic <vladimir@pobox.com>
+
+ * src/cairo-glitz-surface.c: Don't crash on 0-width or 0-height
+ glyphs; also correctly initialize entry->key.base.memory with the
+ image cache image.
+
+ * src/cairo-xlib-surface.c (_xlib_glyphset_cache_create_entry):
+ Free allocated entry in case of error to avoid leaking memory.
+
+2005-08-09 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-arc-private.h:
+ * src/cairo-ft-private.h:
+ * src/cairo-meta-surface-private.h:
+ * src/cairoint.h: Add cairo_private to several function prototypes
+ that were missing it.
+
+2005-08-09 Carl Worth <cworth@cworth.org>
+
+ * ROADMAP: Note that sane clipping is done now. Add release
+ versions for previously completed items.
+
+ * test/.cvsignore: Ignore unantialiased-shapes.
+
+2005-07-29 T Rowley <tim.rowley@gmail.com>
+
+ * src/cairo-atsui-font.c (_cairo_atsui_font_create_toy):
+ Get cairo_toy_font_face_t type right.
+
+2005-08-09 Carl Worth <cworth@cworth.org>
+
+ * configure.in: Add -head to CAIRO_VERSION after tagging with
+ RELEASE_0_9_0.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ * NEWS: Added notes for release 0.9.0.
+
+ * configure.in: Increment CAIRO_VERSION to 0.9.0. Increment
+ LT_CURRENT to 2 to mark the beginning of proper soname management.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ * src/Makefile.am (libcairo_la_SOURCES): Add missing cairo-debug.h
+ which was hold up make distcheck.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ * test/Makefile.am (EXTRA_DIST): Fix typo that was holding up make
+ distcheck from working.
+
+2005-08-08 Billy Biggs <vektor@dumbterm.net>
+
+ * src/cairo-path-data-private.h: Declare _cairo_path_nil as extern.
+
+2005-08-08 Billy Biggs <vektor@dumbterm.net>
+
+ reviewed by: cworth, otaylor
+
+ * src/cairo.c: (cairo_set_antialias), (cairo_get_antialias):
+ * src/cairo.h: Add a new API for disabling antialiasing of shapes
+ drawn by cairo. This is a hint and is not supported by all backends.
+
+ * src/cairoint.h:
+ * src/cairo-gstate-private.h:
+ * src/cairo-gstate.c: (_cairo_gstate_init),
+ (_composite_traps_draw_func),
+ (_cairo_surface_clip_and_composite_trapezoids),
+ (_cairo_gstate_clip_and_composite_trapezoids),
+ (_cairo_gstate_clip), (_cairo_gstate_set_antialias),
+ (_cairo_gstate_get_antialias): Store the antialiasing mode in the
+ gstate and pass it to the backend for trapezoid rendering and for
+ clipping.
+
+ * src/cairo-clip-private.h:
+ * src/cairo-clip.c: (_cairo_clip_intersect_path),
+ (_cairo_clip_intersect_mask), (_cairo_clip_clip): Pass the
+ antialiasing parameter down to the backend where appropriate.
+
+ * src/cairo-surface.c: (_fallback_composite_trapezoids),
+ (_cairo_surface_composite_trapezoids), (_cairo_surface_reset_clip),
+ (_cairo_surface_intersect_clip_path),
+ (_cairo_surface_set_clip_path_recursive),
+ (_cairo_surface_set_clip_path): Pass the antialiasing parameter down
+ to the backend where appropriate.
+
+ * src/cairo-image-surface.c:
+ (_cairo_image_surface_composite_trapezoids): Add support for A1 format
+ trapezoid rendering, and remove the _create_mask_image function,
+ creating a temporary image from memory we allocate and clear.
+
+ * src/cairo-xcb-surface.c:
+ (_cairo_xcb_surface_composite_trapezoids): Support A1 masks to disable
+ antialiasing using the RENDER extension when requested.
+
+ * src/cairo-xlib-surface.c: (_create_trapezoid_mask),
+ (_cairo_xlib_surface_composite_trapezoids): Support A1 masks to disable
+ antialiasing using the RENDER extension when requested.
+
+ * src/cairo-meta-surface-private.h:
+ * src/cairo-meta-surface.c:
+ (_cairo_meta_surface_composite_trapezoids),
+ (_cairo_meta_surface_intersect_clip_path),
+ (_cairo_meta_surface_replay): Blindly pass through the antialising
+ parameter.
+
+ * src/cairo-glitz-surface.c:
+ (_cairo_glitz_surface_composite_trapezoids):
+ * src/cairo-pdf-surface.c:
+ (_cairo_pdf_surface_composite_trapezoids),
+ (_cairo_pdf_surface_intersect_clip_path):
+ * src/cairo-ps-surface.c: (_cairo_ps_surface_composite_trapezoids),
+ (_cairo_ps_surface_intersect_clip_path),
+ (_ps_output_composite_trapezoids),
+ (_ps_output_intersect_clip_path): Add the antialiasing parameter but
+ don't support it.
+
+ * test/Makefile.am:
+ * test/unantialiased-shapes-ref.png:
+ * test/unantialiased-shapes.c: (big_star_path), (draw), (main):
+ Add a test case and a reference image from the latest libpixman.
+
+ * doc/public/tmpl/cairo-font.sgml:
+ * doc/public/tmpl/cairo.sgml:
+ * doc/public/cairo-sections.txt: Add the new antialiasing disabling API to
+ the docs.
+
+ * TODO: Update progress on a parameter to disable antialiasing.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ * test/.cvsignore: Ignore clip-operator and unbounded-operator.
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ * RELEASING: Fix gnome-announce-list address.
+
+2005-08-08 Owen Taylor <otaylor@redhat.com>
+
+ * src/cairo-xlib-surface.c (_xlib_glyphset_cache_destroy_entry):
+ Don't free the glyph if the entry doesn't have a glyph.
+ (Maybe #3909, Carlos Garnacho Parro)
+
+2005-08-08 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-gstate.c: (_cairo_operator_bounded): Add a return
+ value after ASSERT_NOT_REACHED to quiet an anxious compiler.
+
+2005-08-08 Owen Taylor <otaylor@redhat.com>
+
+ * src/cairo-gstate.c: (_cairo_surface_clip_and_composite_trapezoids):
+ Fix accidentally committed line.
+
+2005-08-08 Kristian Høgsberg <krh@redhat.com>
+
+ * src/cairo-surface.c (_cairo_surface_set_clip_path): Update doc
+ comment.
+
+2005-08-08 Owen Taylor <otaylor@redhat.com>
+
+ * src/cairo-gstate.c (_cairo_operator_bounded): Add a function to test
+ whether a cairo_operator_t is bounded (does nothing for 0 src/mask)
+
+ * src/cairo-surface.c (_cairo_surface_composite_fixup_unbounded) cairoint.h:
+ Add a helper function to take clearing areas that are outside the source/mask
+ but are cleared by unbounded operations.
+
+ * src/cairo-image-surface.c (_cairo_image_surface_composite)
+ src/cairo-xlib-surface.c (_cairo_xlib_surface_composite): Use
+ _cairo_surface_composite_fixup_unbounded() as needed.
+
+ * src/cairo-image-surface.c src/cairint.h: Keep track of whether the surface
+ has a clip or not ... we need this for determining when we can bypass
+ an intermediate mask for composite_trapezoids().
+
+ * src/cairo-image-surface.c (_cairo_image_surface_composite_trapezoids):
+ Create an intermediate mask of the right size with pixman_add_trapezoids()
+ and composite that.
+
+ * src/cairo-xlib-surface.c (_cairo_xlib_surface_composite_trapezoids):
+ When rendering with an unbounded operator, create the intermediate mask
+ ourselves and render with ADD to that, then composite the result.
+
+ * src/cairo-ft-font.c (_cairo_ft_scaled_font_show_glyphs): Create an
+ intermediate surface the size of the extents, render the glyphs to that
+ then composite the results.
+
+ * src/cairo-xlib-surface.c (glyphset_cache_entry_t): Add the size of the glyph
+
+ * src/cairo-xlib-surface.c (_show_glyphs_fixup_unbounded): Compute the size
+ of the glyph mask, then use _cairo_surface_composite_fixup_unbounded().
+
+ * src/cairo-xlib-surface.c (_cairo_xlib_surface_show_glyphs32): Use the right
+ mask format. (Unrelated bugfix)
+
+ * src/cairo-gstate.c (_cairo_gstate_clip_and_composite): New function taking
+ a drawing function as a parameter to encapsulate shared logic between
+ compositing trapezoid, glyphs, and masks.
+
+ * src/cairo-gstate.c (_cairo_gstate_mask,
+ _cairo_surface_clip_and_composite_trapezoids, _cairo_gstate_show_glyphs):
+ Use _cairo_gstate_clip_and_composite(). Also fix extents computations for
+ unbounded operators.
+
+ * src/cairo-clip.c src/cairo-clip-private.h (_cairo_clip_combine_to_surface):
+ Add the destination as an extra parameter to allow combining to an intermediate
+ surface.
+
+ * tests/unbounded-operator.c tests/Makefile.am: Add a test for the
+ operation of the 6 unbounded operators against different shapes.
+
+ * tests/clip-operator.c tests/Makefile.am: Add a test that tests
+ surface clipping with different shapes against all the operators.
+
+ * test/composite-integer-translate-over-repeat.c (draw): Make use OVER
+ like the name and description. With fixed semantics, SOURCE does something
+ different.
+
+2005-08-06 Carl Worth <cworth@cworth.org>
+
+ * BUGS: Remove several bugs that have been fixed.
+
+ * ROADMAP: Slip group support off of the 1.0 roadmap. Update
+ status of clipping work which otaylor is working on.
+
+ * TODO: Update for progress on cairo_surface_mark_dirty
+ (committed), non-antialiased rendering (patch), cairo_arc_to
+ (patch), consistent error handling (committed), cairo_content_t
+ (committed). Remove details for some completed items.
+
+ * src/cairo-gstate.c (_cairo_gstate_set_font_face): Don't crash if
+ font_face is NULL, (this is a documented mechanism for returning
+ to the default font_face).
+
+2005-08-06 Carl Worth <cworth@cworth.org>
+
+ * src/cairo.c (cairo_get_font_face): Fix to return
+ &_cairo_font_face_nil instead of NULL on error.
+
+2005-08-06 Jeff Muizelaar <jeff@infidigm.net>
+
+ * test/a8-mask.c: (main): Give reason for failure.
+
+2005-08-06 Owen Taylor <otaylor@redhat.com>
+
+ * src/cairo-win32-font.c (_cairo_win32_scaled_font_show_glyphs):
+ Remove a non-sensical XXX that crept in at some point; for
+ a solid color, there is no difference between premultiplied
+ and non-premultiplied colors.
+
+2005-08-06 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Add a hash_entry as the first member of
+ cairo_unscaled_font_t so that in can live in a hash table.
+
+ * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_init),
+ (_cairo_ft_unscaled_font_init_key),
+ (_cairo_ft_unscaled_font_keys_equal),
+ (_cairo_ft_unscaled_font_fini),
+ (_cairo_ft_unscaled_font_map_destroy),
+ (_cairo_ft_unscaled_font_map_lock),
+ (_cairo_ft_unscaled_font_map_unlock),
+ (_cairo_ft_unscaled_font_map_create),
+ (_cairo_ft_unscaled_font_create_for_pattern), (_has_unlocked_face),
+ (_cairo_ft_unscaled_font_lock_face),
+ (_cairo_ft_unscaled_font_destroy),
+ (_cairo_ft_scaled_font_create_toy),
+ (cairo_ft_font_face_create_for_pattern),
+ (_cairo_ft_font_reset_static_data): Rewrite the mapping from
+ filename/id -> cairo_ft_unscaled_font. The new version uses the
+ more appropriate cairo_hash_table_t rather than the awkward
+ cairo_cache_backend_t.
+
+2005-08-06 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-ft-font.c: (_cairo_ft_scaled_font_create),
+ (_cairo_ft_scaled_font_create_toy),
+ (_cairo_ft_scaled_font_glyph_extents),
+ (_cairo_ft_font_face_scaled_font_create): Fix up some stale
+ comments. Rename _cairo_ft_scaled_font_create_for_unscaled to its
+ proper name of _cairo_ft_scaled_font_create (which is available
+ now that _cairo_ft_scaled_font_create_toy has its correct
+ name). Also prefer 'scaled_font' over 'f' as an identifier.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_init),
+ (_cairo_ft_unscaled_font_create_from_face),
+ (_cairo_ft_unscaled_font_create_from_filename): Unify
+ initialization for _cairo_ft_unscaled_font_create_from_face and
+ _cairo_ft_unscaled_font_create_from_filename through new
+ _cairo_ft_unscaled_font_init.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-ft-font.c: (_cairo_ft_font_face_create): Rename
+ _ft_font_face_backend to be preoperly namespaced as
+ _cairo_ft_font_face_backend.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-ft-font.c: (_cairo_ft_font_face_destroy),
+ (_cairo_ft_font_face_create): Rename cairo_ft_font_face->next_face
+ to next.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Include cairo-hash-private.h.
+
+ * src/Makefile.am (libcairo_la_SOURCES): Add cairo-hash.c and
+ cairo-hash-private.h since we're actually going to start using
+ them now.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-gstate.c: (_cairo_gstate_set_font_face): Simplify the
+ implementation by taking advantage of the fact that destroy and
+ reference are safe for NULL, and that reference returns its
+ argument.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-gstate.c: (_cairo_gstate_translate),
+ (_cairo_gstate_scale), (_cairo_gstate_rotate),
+ (_cairo_gstate_transform), (_cairo_gstate_set_matrix),
+ (_cairo_gstate_identity_matrix), (_cairo_gstate_unset_scaled_font),
+ (_cairo_gstate_set_font_size), (_cairo_gstate_set_font_matrix),
+ (_cairo_gstate_set_font_options),
+ (_cairo_gstate_ensure_scaled_font),
+ (_cairo_gstate_get_font_extents), (_cairo_gstate_text_to_glyphs),
+ (_cairo_gstate_set_font_face), (_cairo_gstate_glyph_extents),
+ (_cairo_gstate_show_glyphs), (_cairo_gstate_glyph_path):
+ Rename two functions:
+
+ _cairo_gstate_unset_font -> _cairo_gstate_unset_scaled_font
+ _cairo_gstate_ensure_font -> _cairo_gstate_ensure_scaled_font
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Entagle the cairo_unscaled_font_t typedef.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Rename font_face_backend->create_font to
+ scaled_font_create. Group the scaled_font prototypes together. A
+ little more simple -> toy renaming.
+
+ * src/cairo-font.c: (_cairo_toy_font_face_create_from_cache_key),
+ (_cairo_toy_font_face_destroy),
+ (_cairo_toy_font_face_create):
+ * src/cairo-gstate.c: (_cairo_gstate_select_font_face),
+ (_cairo_gstate_ensure_font_face):
+ A little more simple -> toy renaming.
+
+ * src/cairo-font.c: (_cairo_toy_font_face_scaled_font_create),
+ (_cairo_inner_font_cache_create_entry):
+ * src/cairo-ft-font.c: (_cairo_ft_font_face_scaled_font_create):
+ * src/cairo-win32-font.c: (_cairo_win32_font_face_scaled_font_create):
+ Track rename of font_face_backend->scaled_font_create.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Rather gratuitous (though mostly harmless)
+ whitespace changes for font backend tables.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo.c: Document the implicit closing of sub-paths for
+ cairo_fill and cairo_fill_preserve.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Rename parameters to scalend_font_backend from
+ font to scaled_font.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Rename scaled_font_backend->destroy to the more
+ accurate fini, (since it frees only the dependent data within the
+ scaled_font and not the scaled_font itself).
+
+ * src/cairo-atsui-font.c: (_cairo_atsui_font_fini):
+ * src/cairo-font.c: (cairo_scaled_font_destroy):
+ * src/cairo-ft-font.c: (_cairo_ft_scaled_font_fini):
+ * src/cairo-win32-font.c: (_cairo_win32_scaled_font_fini):
+ Track rename of scaled_font_backend->fini.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairoint.h: Rename scaled_font_backend->create to
+ create_toy. Move declaration of cairo_simple_font_face_t from
+ cairo_font.c to cairoint.h and rename it
+ cairo_toy_font_face_t. Rework create_toy to accept a
+ cairo_toy_font_face_t rather than separate family, slant, and
+ weight.
+
+ * src/cairo-atsui-font.c: (_cairo_atsui_font_create_toy):
+ * src/cairo-ft-font.c: (_cairo_ft_scaled_font_create_toy):
+ * src/cairo-win32-font.c: (_cairo_win32_scaled_font_create_toy):
+ Track change in create_toy interface.
+
+ * src/cairo-font.c: (_cairo_toy_font_face_create_from_cache_key),
+ (_cairo_simple_font_cache_create_entry),
+ (_cairo_simple_font_face_destroy),
+ (_cairo_simple_font_face_create_font):
+ Partial rename of simple->toy. It's not complete as this is a step
+ in the process of merging in a large patch of mine which actually
+ removes most of the affected code.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * test/.cvsignore: ignore a8-mask
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * test/a8-mask.c (draw): Patch memory leaks.
+
+2005-08-05 Jeff Muizelaar <jeff@infidigm.net>
+
+ * test/Makefile.am:
+ * test/a8-mask-ref.png:
+ * test/a8-mask.c: (draw), (main):
+ Add a test case for CAIRO_FORMAT_A8 masks that fails with
+ libpixman.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * autogen.sh (automake_min_vers): Bump automake_min_vers up to 1.7
+ since we clearly don't work with 1.4 anymore.
+
+2005-08-05 Jeff Muizelaar <jeff@infidigm.net>
+
+ * test/xlib-surface.c: (do_test): use the newly added
+ buffer_diff_noalpha for comparing buffers of
+ CAIRO_FORMAT_RGB24.
+
+2005-08-05 Jeff Muizelaar <jeff@infidigm.net>
+
+ * test/buffer-diff.c: (buffer_diff_core), (buffer_diff),
+ (buffer_diff_noalpha):
+ * test/buffer-diff.h: rewrite buffer_diff to be endian safe
+ and add a new fuction buffer_diff_noalpha
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * doc/public/cairo-sections.txt: Remove CAIRO_BEGIN_DECLS and
+ CAIRO_END_DECLS which don't belong here.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * test/surface-finish-twice.c (draw): Remove unused variable.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * doc/public/Makefile.am: Ignore cairo-clip-private.h.
+
+ * doc/public/cairo-docs.xml: Drop non-existent cairo-atsui.xml.
+
+ * src/cairo-font.c: Fix misnamed parameters in comment blocks.
+
+ * test/cairo-test.c: Include config.h so HAVE_UNISTD_H gets
+ picked up as necessary.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * doc/public/Makefile.am (IGNORE_HFILES): Ignore
+ cairo-clip-private.h.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * doc/public/cairo-sections.txt: Add some missing declarations to
+ the appropriate sections.
+
+ * doc/public/tmpl/cairo-font.sgml:
+ * doc/public/tmpl/cairo-surface.sgml:
+ * doc/public/tmpl/cairo-xlib.sgml:
+ * doc/public/tmpl/cairo.sgml: churn
+
+ * src/cairo-path-data-private.h: Rename cairo_path_nil to
+ _cairo_path_nil since it may be exported, and tag it cairo_private
+ to try to avoid exporting it. Qualify it as const well.
+
+ * src/cairo-path-data.c: (_cairo_path_data_create_real):
+ * src/cairo.c: (cairo_copy_path), (cairo_copy_path_flat):
+ Track new name of _cairo_path_nil and cast away the const as
+ required.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-arc.c:
+ * src/cairo-matrix.c: Remove include of math.h since cairoint.h
+ does it more carefully, (for annoying platforms for which just
+ including math.h without extra defines is not enough).
+
+ * src/cairo.c: Replace Cairo with cairo.
+
+ * test/buffer-diff.c: Include config.h so HAVE_UNISTD_H gets
+ picked up as necessary.
+
+ * test/cairo-test.c: Fix non-UTF-8 copyright symbol.
+
+2005-08-05 Carl Worth <cworth@cworth.org>
+
+ Patch from John Ehresman <jpe@wingide.com> to aid win32
+ compilation:
+
+ * src/cairo-output-stream.c: Define snprintf as _snprintf when
+ under the influence of _MSC_VER.
+
+ * test/read-png.c: (read_png_argb32):
+ * src/cairo-wideint.h: Define int32_t and friends as __int32 and
+ friends when under the influence of _MSC_VER.
+
+ * test/buffer-diff.c:
+ * test/cairo-test.c: Make include of unistd.h conditional on
+ HAVE_UNISTD_H.
+
+2005-08-05 Kristian Høgsberg <krh@redhat.com>
+
+ Patch from Adrian Johnson <ajohnson@redneon.com>
+
+ * src/cairo-font-subset.c (cairo_pdf_ft_font_write_glyf_table)
+ (cairo_pdf_ft_font_remap_composite_glyph): Remap composite glyps
+ to use subset font glyph indices.
+
+2005-08-05 Kristian Høgsberg <krh@redhat.com>
+
+ Reviewed by: otaylor
+
+ * src/Makefile.am:
+ * src/cairo-clip-private.h:
+ * src/cairo-clip.c: New files. Move code for manipulating
+ cairo_clip_t out into cairo_clip_* functions and put them in
+ cairo-clip.c.
+
+ * src/cairo-gstate-private.h:
+ * src/cairo-gstate.c: Rewrite to use new cairo_clip_t functions
+ for manipulating the clip state, change the
+ clip_and_composite_trapezoids call tree to use cairo_clip_t
+ instead of cairo_gstate_t.
+
+ * src/cairo-meta-surface.c: Use new cairo_clip_t function to
+ maintain clip state while replaying.
+
+ * src/cairo-path-fill.c: (_cairo_filler_init),
+ (_cairo_filler_curve_to), (_cairo_path_fixed_fill_to_traps): Pass
+ fill rule and tolerance directly, to break gstate dependency.
+
+ * src/cairo-surface.c: (_cairo_surface_set_clip): New function.
+ Set the clip for a surface as specified by the cairo_clip_t.
+
+ * src/cairo-traps.c: (_cairo_traps_translate): Move
+ translate_traps() from cairo-gstate.c to here and rename it.
+
+2005-08-04 Kristian Høgsberg <krh@redhat.com>
+
+ * src/cairo-font.c: (cairo_font_face_reference),
+ (_cairo_unscaled_font_reference), (cairo_scaled_font_reference):
+ * src/cairo-gstate.c: (_cairo_clip_path_reference):
+ * src/cairo-pattern.c: (cairo_pattern_reference):
+ * src/cairo-pdf-surface.c: (_cairo_pdf_document_reference):
+ * src/cairo-surface.c: (cairo_surface_reference):
+ * src/cairo.c: (cairo_reference):
+ * src/cairo.h:
+ * src/cairoint.h:
+ Change *_reference() functions to return the object being
+ referenced.
+
+2005-07-29 T Rowley <tim.rowley@gmail.com>
+
+ Reviewed by: otaylor
+
+ * src/cairo-xlib-surface.c ( _categorize_composite_operation):
+ Check for render bug involving repeated patterns with a general
+ transform matrix.
+
+2005-08-04 Carl Worth <cworth@cworth.org>
+
+ Originally 2005-07-13 Carl Worth <cworth@cworth.org>
+
+ Reviewed by: otaylor
+
+ * src/cairo-ft-private.h: Export opaque cairo_ft_unscaled_font_t
+ and change _cairo_ft_unscaled_font_[un]lock_face to accept
+ cairo_ft_unscaled_font_t rather than cairo_unscaled_font_t.
+
+ * src/cairo-font-subset.c: (_cairo_font_subset_create),
+ (cairo_pdf_ft_font_generate): Cast explicitly to
+ cairo_ft_unscaled_font_t to track change in prototype of
+ _cairo_ft_unscaled_font_[un]lock_face.
+
+ * src/cairo-ft-font.c: Lots of renaming to use consistent
+ namespacing:
+
+ ft_font_transform_t -> cairo_ft_font_transform_t
+ ft_font_face_t -> cairo_ft_font_face_t
+ ft_unscaled_font_t -> cairo_ft_unscaled_font_t
+
+ Add missing _cairo prefix to many functions.
+
+ Disambiguate _ft_scaled_font_create and
+ _cairo_ft_scaled_font_create by renaming the former to
+ _cairo_ft_scaled_font_create_for_unscaled.
+
+2005-08-03 Carl Worth <cworth@cworth.org>
+
+ Fix for bug #3951:
+
+ * configure.in: Add new _CHECK_FUNCS_WITH_FLAGS to abstract out
+ the pain of temporarily setting flags for AC_CHECK_FUNCS. Use this
+ to check for the existence of FcFini.
+
+ * test/cairo-test.c: (cairo_test_expecting): Make call to FcFini
+ conditional on HAVE_FCFINI.
+
+ * test/text-cache-crash.c: (main): Remove stale comment about
+ cleaning up memory which is now handled by cairo-test.c.
+
+2005-08-01 Owen Taylor <otaylor@redhat.com>
+
+ reviewed by: cworth
+
+ * src/cairo-gstate.c src/cairo-gstate-private.h: Store the
+ inverse CTM at the time of cairo_gstate_set_source() to
+ "lock" the user space matrix.
+
+ * src/cairo-gstate.c: Move the source pattern transformation
+ to the outside of _cairo_gstate_clip_and_composite_trapezoids()
+ instead of doing it at the leaves.
+
+ * test/source-surface-scale-paint.c: Change size of output
+ surface for aesthetics.
+
+ * test/source-surface-scale-paint-ref.png: Updated to correspond
+ to the current definition.
+
+ * test/Makefile.am (XFAIL_TESTS):
+ Remove source-surface-scale-paint.
+
+2005-08-01 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-debug.h: New public header file.
+
+ * src/cairo-debug.c: (cairo_debug_reset_static_data): New function
+ to reset all static data (eg. caches) to their initial state.
+
+ * Makefile.am: Fix check-valgrind target to depend on the 'all'
+ target.
+
+ * configure.in: Add check for a new, proposed, XrmFinalize
+ function.
+
+ * src/Makefile.am: Add cairo-debug.c.
+
+ * src/cairo.h:
+ * src/cairo-features.h.in: Move the definition of
+ CAIRO_BEGIN_DECLS to cairo-features.h so that it can be shared
+ between public header files, and so that it doesn't clutter
+ cairo.h
+
+ * src/cairoint.h:
+ * src/cairo-font.c: (_get_global_simple_cache),
+ (_get_outer_font_cache), (_get_inner_font_cache),
+ (_cairo_unlock_global_image_glyph_cache),
+ (_cairo_font_reset_static_data):
+ * src/cairo-ft-font.c: (_cairo_ft_font_reset_static_data):
+ * src/cairo-xlib-screen.c: (_cairo_xlib_close_display),
+ (_cairo_xlib_screen_info_reset),
+ (_cairo_xlib_screen_reset_static_data):
+ * src/cairo-xlib-surface.c: (_unlock_xlib_glyphset_caches),
+ (_destroy_glyphset_cache_recurse),
+ (_cairo_xlib_surface_reset_static_data): Implement
+ reset_static_data in all modules as required.
+
+ * test/xlib-surface.c: (main):
+ * test/cairo-test.h:
+ * test/cairo-test.c: (cairo_test_for_target),
+ (cairo_test_expecting): Call cairo_debug_reset_static_data and
+ FcFini so that we can have all tests be valgrind-clean with
+ respect to memory leaks and still-reachable data.
+
+2005-08-01 Owen Taylor <otaylor@redhat.com>
+
+ * src/cairo.h src/cairoint.h src/cairo-surface.c:
+ Add cairo_mark_dirty[_rectangle]() and cairo_flush() for
+
+ * src/cairo-win32-surface.c: Implement a cairo_flush()
+ that restores the original clip. Also restore the original
+ flush when a surface is finished.
+
+ * ROADMAP: Check off the item.
+
+2005-07-31 Billy Biggs <vektor@dumbterm.net>
+
+ reviewed by: keithp
+
+ * src/cairo-ft-font.c: (_ft_unscaled_font_set_scale): Support
+ versions of freetype without exact FT_Bitmap_Size.x/y_ppem
+ values by using the pixel width and height values instead.
+
+ * configure.in: Add a check for FT_Bitmap_Size.y_ppem.
+
+2005-07-31 Billy Biggs <vektor@dumbterm.net>
+
+ * src/cairo-quartz-surface.c: (cairo_quartz_surface_create):
+ Cast away the const on the nil surface to avoid a compiler warning.
+
+2005-07-31 Billy Biggs <vektor@dumbterm.net>
+
+ * src/cairo-atsui-font.c: (_cairo_atsui_font_create): Pass the
+ options down to the scaled font object to keep things compiling.
+
+2005-07-30 Keith Packard <keithp@keithp.com>
+
+ * src/cairo-wideint.c: (_cairo_int32x32_64_mul),
+ (_cairo_uint64_divrem), (_cairo_uint128_divrem):
+ * src/cairo-wideint.h:
+
+ Replace wide integer divide algorithms with
+ trivial bit-at-a-time code. Original code was
+ of unclear provenance, this new code is
+ completely different.
+
+2005-07-29 Carl Worth <cworth@cworth.org>
+
+ * ROADMAP: Remove completed 0.6 tasks. Add cairo_surface_flush to
+ the cairo_surface_mark_dirty task.
+
+2005-07-29 T Rowley <tim.rowley@gmail.com>
+
+ * src/cairo-atsui-font.c ( _cairo_atsui_font_create):
+ src/cairo-quartz-surface.c (_cairo_quartz_surface_acquire_dest_image):
+ Minor updates to keep quartz backend limping along.
+
+2005-07-29 Owen Taylor <otaylor@redhat.com>
+
+ * src/cairo-font.c src/cairo-ft-font.c src/cairo-win32-font.c
+ src/cairoint.h: Move the font options into the base
+ cairo_scaled_font_t object so that we have them available
+ to use when we are removing a scaled font from the cache.
+ (http://bugzilla.gnome.org/show_bug.cgi?id=311299,
+ Ali Akcaagac, Behdad Esfahbod)
+
+2005-07-28 Carl Worth <cworth@cworth.org>
+
+ * src/cairo-gstate.c: (_cairo_gstate_mask): Run the mask pattern
+ through the CTM in the same way as the source pattern. This fixes
+ the bug demonstrated by the mask-ctm and mask-surface-ctm tests so
+ they should no longer fail.
+
+2005-07-28 Carl Worth <cworth@cworth.org>
+
+ * test/.cvsignore:
+ * test/Makefile.am:
+ * test/mask-ctm-ref.png:
+ * test/mask-ctm.c: (draw), (main):
+ * test/mask-surface-ctm-ref.png:
+ * test/mask-surface-ctm.c: (draw), (main): Add two new tests:
+ mask-ctm
+ mask-surface-ctm
+ demonstrating that masks are not currently being modified by the
+ CTM.
+
+2005-07-28 Carl Worth <cworth@cworth.org>
+
+ * RELEASING: CC gnome-announce-list@gnome.org on cairo release
+ announcements.
+
+2005-07-28 Carl Worth <cworth@cworth.org>
+
+ * configure.in: Add -head to CAIRO_VERSION after tagging with
+ SNAPSHOT_0_6_0.
+
2005-07-28 Carl Worth <cworth@cworth.org>
* NEWS: Added notes for snapshot 0.6.0
@@ -550,6 +1624,19 @@
2005-07-18 Carl Worth <cworth@cworth.org>
+ * test/.valgrind-suppressions: Add valgrind suppressions for
+ libpng/libz use of uninitialized data. There are clearly bugs here
+ that are not cairo's fault as zeroing the buffer before writing
+ the png image actually causes more errors(!). And, notably,
+ setting all the data to random bytes usually makes the errors go
+ away.
+
+ * test/Makefile.am: Change the check-valgrind target to include
+ the .valgrind-suppresions file and to tee output into
+ valgrind.log.
+
+2005-07-18 Carl Worth <cworth@cworth.org>
+
* configure.in: Add -head to CAIRO_VERSION after tagging with
SNAPSHOT_0_5_2.