summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@home.(none)>2006-03-15 10:31:43 -0500
committerBehdad Esfahbod <behdad@home.(none)>2006-03-15 10:31:43 -0500
commit35d7810f7bb43dd72675207a2f4d379a76c34e5f (patch)
tree4eb31c39931d55646e6a98ba55364d6308cc2569
parentff33ddb8f864a48c17c45746fb6bbbcf70216288 (diff)
downloadcairo-35d7810f7bb43dd72675207a2f4d379a76c34e5f.tar.gz
Remove ChangeLog here too. We'll generate it using git log.
-rw-r--r--ChangeLog11320
1 files changed, 0 insertions, 11320 deletions
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index baa8b8ff2..000000000
--- a/ChangeLog
+++ /dev/null
@@ -1,11320 +0,0 @@
-2005-12-07 Carl Worth <cworth@cworth.org>
-
- * configure.in: Use more portable shell syntax, ('test =' rather
- than 'test =='). Thanks to Richard Lloyd and Klaus Heinz. Closes
- bug #4823.
-
-2005-12-07 Carl Worth <cworth@cworth.org>
-
- * src/pixman-remap.h: Remove duplicate definitions of
- pixman_color_to_pixel and pixman_composite.
-
-2005-11-21 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Add reminder to fix all memory leaks (as determined by
- the test suite) before release 1.2.0.
-
-2005-11-21 Carl Worth <cworth@cworth.org>
-
- * src/pixman-remap.h: Remove duplicate definitions of
- pixman_color_to_pixel and pixman_composite.
-
-2005-11-18 Carl Worth <cworth@cworth.org>
-
- * src/pixman-remap.h: Remove spurios INT_ prefixes which break the
- build with very recent binutils.
-
-2005-10-12 T Rowley <tim.rowley@gmail.com>
-
- Reviewed by: cworth
-
- * src/cairo-clip.c (_cairo_clip_intersect_mask): Intersect clip
- region with target surface so we don't waste time and memory.
-
-2005-10-10 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-atsui-font.c (_cairo_atsui_font_glyph_path):
- Apply proper transform to generated paths.
-
-2005-10-08 Carl Worth <cworth@cworth.org>
-
- * configure.in: Fix typo leading to truncated error message
- (Christian Biesinger <cbiesinger@web.de>).
-
-2005-10-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c: (_draw_image_surface): Add missing
- initialization for ximage.xoffset.
-
-2005-10-04 Anders Carlsson <andersca@imendio.com>
-
- * configure.in: Invoke PKG_PROG_PKG_CONFIG so $PKG_CONFIG
- will be set early on.
-
-2005-10-03 Carl Worth <cworth@cworth.org>
-
- * src/cairo-win32-surface.c: (DllMain): Add missing initialization
- for _global_image_glyph_cache_mutex (Vladimir Vukicevic
- <vladimirv@gmail.com>).
-
-2005-10-03 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 1.0.3 after tagging
- RELEASE_1_0_2.
-
-2005-10-03 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 1.0.2 and libtool
- versioning to 4:3:2.
-
- * NEWS: Add notes for the 1.0.2 release.
-
-2005-09-30 Bertram Felgenhauer <int-e@gmx.de>
-
- reviewed by: keithp
-
- * src/cairo-hull.c (_cairo_hull_create): simplify id
- initialisation of last patch
-
- reviewed by: cworth
-
- * src/cairo-hull.c (_cairo_hull_create),
- (_cairo_hull_vertex_compare): Using a pointer comparison as the
- fallback total order was wrong - these pointers are not stable.
- So we introduce our own total order instead. (#4599)
-
-2005-09-28 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-atsui-font.c (_cairo_atsui_font_text_to_glyphs):
- Use _cairo_utf8_to_utf16 for character conversion.
-
-2005-09-28 T Rowley <tim.rowley@gmail.com>
-
- Bug #4612, reviewed by cworth.
-
- * src/cairo-win32-font.c (_cairo_win32_scaled_font_glyph_bbox):
- Add cast so that sign conversion doesn't alter comparison.
-
-2005-09-27 T Rowley <tim.rowley@gmail.com>
-
- Bug #4602, reviewed by cworth.
-
- * src/cairo-win32-surface.c (_create_dc_and_bitmap):
- Avoid creating size-0 bitmap, which fails.
-
-2005-09-27 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that bug #4409 (Dashes are missing initial caps)
- is now fixed.
-
- * src/cairo-path-stroke.c: (_cairo_stroker_add_cap),
- (_cairo_stroker_add_leading_cap),
- (_cairo_stroker_add_trailing_cap),
- (_cairo_stroker_add_caps): Move face-flipping from inside
- _cairo_stroker_add_caps to new _cairo_stroker_add_leading_cap
- variant of _cairo_stoker_add_cap.
-
- * src/cairo-path-stroke.c: (_cairo_stroker_line_to_dashed): Change
- to call _cairo_stroker_add_leading_cap or
- _cairo_stroker_add_trailing_cap as appropriate.
-
- * test/Makefile.am (XFAIL_TESTS):
- * test/dash-caps-joins-ref.png:
- * test/dash-caps-joins.c: (main): Remove dash-caps-joins from the
- XFAIL list and add reference image.
-
-2005-09-27 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/caps-joins-ref.png:
- * test/caps-joins.c: (make_path), (draw), (main):
- * test/dash-caps-joins.c: (make_path), (draw), (main): Add two
- test cases. One for caps and joins (passes), and one for dashed
- caps and joins, (fails, see bug #4409).
-
-2005-09-26 Carl Worth <cworth@cworth.org>
-
- Backported from HEAD:
- 2005-09-07 Carl Worth <cworth@cworth.org>
-
- Portability improvements for win32 thanks to Hans Breuer
- <hans@breuer.org>:
-
- * pixman/src/pixman.h: Defined sized-integer types when under the
- influence of _MSC_VER and without stdint.h.
-
- * src/cairoint.h: Use #error which is more portable than #warning,
- (and more indicative of where we want to be before the next
- release).
-
-2005-09-26 Carl Worth <cworth@cworth.org>
-
- Backported from HEAD:
- 2005-08-31 Owen Taylor <otaylor@redhat.com>
-
- * test/cairo-test.c: Protect inclusion of fontconfig.h
- with HAVE_FCFINI.
-
- * test/nil-surface.c: Remove stray cairo-ft.h include.
-
- * test/nil-surface.c: Include stddef.h for NULL.
-
- * test/create-from-png-stream.c (draw): Open the file "rb".
-
-2005-09-26 Tor Lillqvist <tml@novell.com>
-
- * src/cairo-win32-font.c (_win32_scaled_font_get_scaled_hfont),
- (_win32_scaled_font_get_unscaled_hfont): Set LOGFONT::lfHeight
- negative. A negative lfHeight means "em height" which is what we
- want, and matches how other toolkits interpret font sizes on
- Win32. (Positive lfHeight means "cell height".) (#4593)
- (_cairo_win32_scaled_font_init_glyph_metrics): If
- GetGlyphOutlineW() fails, set metrics to zero. (#3927, Hans
- Breuer) (Don't print error message, as this might occur frequently
- with a misconfigured Pango 1.10.0.)
-
-2005-09-20 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-atsui-font.c (_cairo_atsui_font_show_glyphs):
- Pass scratch space instead of NULL for image_extra to
- acquire/release_dest_image.
-
-2005-09-19 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c: (_create_a8_picture): Avoid attempting
- to create a size-0 Pixmap, (to prevent the associated X
- error). This actually showed up when the clip region is
- empty. Thanks to Radek Doulík for the bug report.
-
- * test/Makefile.am:
- * test/clip-all.c: (main): Remove clip-all from the XFAIL list
- since it works now.
-
-2005-09-19 Carl Worth <cworth@cworth.org>
-
- Originally: 2005-09-19 Hans Breuer <hans@breuer.org>
-
- * src/cairoint.h : win32 specific definitions for
- CAIRO_MUTEX_DECLARE, CAIRO_MUTEX_LOCK etc. [not based on win32
- mutex but critical sections]
-
- * src/cairo-win32-surface.c : add DllMain() to do global,
- single-threaded 'mutex' (de)initialization. No ifdefs needed, some
- variables would simply not be used when the respective backend
- would not be compiled in.
-
-2005-09-18 Billy Biggs <vektor@dumbterm.net>
-
- Bug #4414, reviewed by otaylor, cworth.
-
- * configure.in: Remove -msse from the MMX CFLAGS as it causes
- gcc to emit SSE instructions, however the detection code only
- checks for processors supporting MMX and does not require SSE.
- Fix the MMX test to only check for MMX intrinsics and not the
- SSE intrinsics.
-
-2005-09-16 Carl Worth <cworth@cworth.org>
-
- Tested by: John Ellson
- Closes bug #4408
- https://bugs.freedesktop.org/show_bug.cgi?id=4408
-
- * src/cairo-path-stroke.c: (_cairo_stroker_curve_to_dashed),
- (_cairo_path_fixed_stroke_to_traps): Add support for dashed
- splines. (The antialiasing quality isn't perfect, but at least the
- curves are dashed now).
-
-2005-09-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ft-font.c: (_cairo_ft_scaled_font_text_to_glyphs):
- Expand locking to include all modification of cairo_scaled_font
- and related objects.
-
-2005-09-13 Carl Worth <cworth@cworth.org>
-
- * test/pthread-show-text.c: (start), (main): Adjust parameters to
- stress things a bit more, (better exposing another locking bug).
-
-2005-09-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo-scaled-font.c: (cairo_scaled_font_reference),
- (cairo_scaled_font_destroy): Expand locking to encapsulate any
- modification to the reference count of a scaled font, rather than
- just modifcations of the scaled_font_map, since scaled fonts are
- shared between threads.
-
-2005-09-13 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.h: Add documentation for cairo_test functions.
-
- * test/cairo-test.c: (cairo_test_init), (cairo_test_expecting):
- Abstract log fie creation into cairo_test_init for use by tests
- that don't use cairo_test().
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/pthread-show-text.c: (start), (main): Add new test for bug
- #4299 as reported by Alexey Shabalin.
-
-2005-09-12 Carl Worth <cworth@cworth.org>
-
- Fix for bug #4401 as reported by Tim Mooney:
-
- * configure.in: Don't bother checking for sincos function.
-
- * src/cairo-matrix.c: (cairo_matrix_init_rotate): Don't use sincos
- function since it is apparently buggy on some platforms, (Tru64 at
- least).
-
-2005-09-01 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.h: Add includes to get sized-integer types such
- as uint32_t.
-
- * test/filter-nearest-offset.c: (draw):
- * test/mask-ctm.c: (draw):
- * test/mask-surface-ctm.c: (draw):
- * test/move-to-show-surface.c: (draw):
- * test/paint-with-alpha.c: (draw):
- * test/scale-source-surface-paint.c: (draw):
- * test/set-source.c: (draw):
- * test/source-surface-scale-paint.c: (draw):
- * test/translate-show-surface.c: (draw): Fix declaration of image
- data array to be uint32_t rather than unsigned long. Fixes four
- out of the remaining five failures in bug #4245.
-
-2005-08-31 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (create_xlib_surface): Add call to
- XSynchronize, (the expected clip-all failure isn't occuring
- without it for some reason).
-
- * test/clip-all.c: (main): Note reason for expected failure.
-
-2005-08-31 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_get_image_surface)
- (_draw_image_surface): Handle displays which don't match
- the local endianness by byteswapping on GetImage/PutImage.
- (#4321, reported by Sjoerd Simons)
-
-2005-08-31 Carl Worth <cworth@cworth.org>
-
- * INSTALL: Add note to use ./autogen.sh instead of ./configure
- when working with source from cvs.
-
-2005-08-31 Carl Worth <cworth@cworth.org>
-
- * test/get-and-set.c: Fix test to not try to set a non-invertible
- matrix. (We'd gotten away with this due to round-off error on many
- systems). Fixes one out of six failures in bug #4245.
-
-2005-08-31 Carl Worth <cworth@cworth.org>
-
- * AUTHORS: Add Radek Doulík.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/clip-all.c: (draw), (main): Add test exposing a BadValue
- (0-size pixmap) bug in cairo-xlib-surface when everything is
- clipped away (thanks to Radek Doulík <rodo@novell.com>).
-
-2005-08-30 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal):
- Liberalize the ServerVendor check so that we can handle
- the Mandriva vendor string. (#4298, Frederic Crozat)
-
-2005-08-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-pattern.c (_cairo_pattern_acquire_surface_for_gradient):
- Use a 8xN rather than a 1xN strip for a vertical gradient. This
- is much more tolerant of slow compositing code, and is worth some
- extra expense computing the gradient. (#4263, found in test case
- from Richard Stellingwerff)
-
-2005-08-27 Owen Taylor <otaylor@redhat.com>
-
- reviewed by: cworth
-
- * src/cairo-traps.c (_cairo_traps_extract_region): Make the
- check for rectangular trapezoids simpler and more accurate.
- (#4220, found using test case from Richard Stellingwerff)
-
-2005-08-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal):
- Make the vendor string check for XFree86 more liberal, to deal
- with older versions of gentoo that modified it in a different
- way. (#4231, fix from Billy Biggs)
-
-2005-08-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairoint.h: Undef MIN/MAX before defining them in case
- some system header happens to define them. (#4196, Christian
- Biesinger)
-
-2005-08-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-image-surface.c (cairo_image_surface_create)
- (cairo_image_surface_create_for_data): Fix docs not to talk about
- %NULL returns. (#4271, Duncan Coutts.)
-
-2005-08-25 Tor Lillqvist <tml@novell.com>
-
- * Makefile.am (developer_zip_file): Include the documentation, too.
-
-2005-08-24 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/tmpl/cairo-font-options.sgml:
- * doc/public/tmpl/cairo-font.sgml:
- * doc/public/tmpl/cairo-ft.sgml:
- * doc/public/tmpl/cairo-glitz.sgml:
- * doc/public/tmpl/cairo-image.sgml:
- * doc/public/tmpl/cairo-matrix.sgml:
- * doc/public/tmpl/cairo-paths.sgml:
- * doc/public/tmpl/cairo-pattern.sgml:
- * doc/public/tmpl/cairo-pdf.sgml:
- * doc/public/tmpl/cairo-png.sgml:
- * doc/public/tmpl/cairo-ps.sgml:
- * doc/public/tmpl/cairo-quartz.sgml:
- * doc/public/tmpl/cairo-scaled-font.sgml:
- * doc/public/tmpl/cairo-status.sgml:
- * doc/public/tmpl/cairo-surface.sgml:
- * doc/public/tmpl/cairo-text.sgml:
- * doc/public/tmpl/cairo-transforms.sgml:
- * doc/public/tmpl/cairo-types.sgml:
- * doc/public/tmpl/cairo-version.sgml:
- * doc/public/tmpl/cairo-win32-fonts.sgml:
- * doc/public/tmpl/cairo-win32.sgml:
- * doc/public/tmpl/cairo-xcb-xrender.sgml:
- * doc/public/tmpl/cairo-xcb.sgml:
- * doc/public/tmpl/cairo-xlib.sgml:
- * doc/public/tmpl/cairo.sgml: Update formatting of the title
- and short description, as this actually changes how the TOC
- appears in devhelp.
-
-2005-08-24 Bertram Felgenhauer <int-e@gmx.de>
-
- * Makefile.am (.PHONY): add docs-publish as a phony target
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 1.0.1 after tagging
- RELEASE_1_0_0.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 1.0.0 and libtool
- versioning to 4:2:2.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * NEWS: Fix typos. Add CAIRO_STATUS_INVALID_DASH.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * README: Unabbreviate "eg." to "for example,".
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * PORTING_GUIDE: Update name from "0.5 porting guide" to "1.0
- porting guide."
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * README: Some text cleanups from Øyvind Kolås.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
-
- * AUTHORS: Add Amaury Jacquot.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * RELEASING: Fix typo.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * AUTHORS:
- * README: Fix typos.
-
-2005-08-24 Tor Lillqvist <tml@novell.com>
-
- * src/Makefile.am (cairo.def): Drop PDF and PS backend and FT font
- API from Win32 DLL entry points for now.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * README: Fix typos.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * README: Move glitz into the experimental list.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * INSTALL: Put glitz in the experimental section.
-
- * configure.in: Give glitz the experimental treatment, (disable it
- by default.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * INSTALL: Add some more detailed build instructions.
-
-2005-08-24 Billy Biggs <vektor@dumbterm.net>
-
- * src/cairo.c (cairo_text_extents), (cairo_glyph_extents),
- (cairo_show_text): Fix some minor typos in the doc.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * configure.in: Disable ATSUI by default as well.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * BUGS: Add pointer to http://bugs.freedesktop.org.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * README: Add more detailed notes on what is required to compile
- cairo on Mac OS X or win32.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * Makefile.am:
- * RELEASING: Change upload directory from snapshots to releases
- now thatwe're doing stable releases of cairo.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * configure.in: Give PostScript and PDF backends the experimental
- treatment, disabling them by default.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * NEWS: Add notes for 1.0 release. Thanks to Owen Taylor.
-
- * README: Note that PS and PDF backends are experimental.
-
- * ROADMAP: Note the progress that has been completed so that 1.0
- is ready now.
-
-2005-08-24 Keith Packard <keithp@keithp.com>
-
- reviewed by: cworth
-
- * src/cairo-ps-surface.c:
- (_cairo_ps_surface_create_for_stream_internal),
- (cairo_ps_surface_set_dpi), (color_is_translucent),
- (pattern_is_translucent), (emit_image), (_ps_output_composite),
- (_ps_output_fill_rectangles), (_ps_output_composite_trapezoids),
- (_ps_output_path_move_to), (_ps_output_path_line_to),
- (_ps_output_path_curve_to), (_ps_output_intersect_clip_path),
- (_ps_output_show_glyphs), (_ps_output_fill_path),
- (_cairo_ps_surface_render_page):
-
- Use new device_x_scale/device_y_scale surface fields
- to set the device coordinate space to the nominal pixels.
-
- Treat more alpha values as translucent (up to 0.999)
-
- Fix emit_image to actually use a temporary image
- when necessary.
-
- Change PS coordinate space to match cairo (top-down),
- adjust PS output to use new space.
-
- Find more cases where PS output was not supported and
- fall back to image surface.
-
-2005-08-24 Keith Packard <keithp@keithp.com>
-
- reviewed by: cworth
-
- * src/cairo-meta-surface.c: (_cairo_meta_surface_replay):
- _cairo_surface_show_glyphs may return UNSUPPORTED in which
- case a call to scaled_font->backend->show_glyphs is needed.
-
-2005-08-24 Keith Packard <keithp@keithp.com>
-
- reviewed by: cworth
-
- * src/cairo-gstate-private.h:
- * src/cairo-gstate.c: (_cairo_gstate_init),
- (_cairo_gstate_apply_device_transform),
- (_cairo_gstate_apply_device_inverse_transform),
- (_cairo_gstate_get_matrix), (_cairo_gstate_set_matrix),
- (_cairo_gstate_identity_matrix), (_cairo_gstate_user_to_backend),
- (_cairo_gstate_backend_to_user):
- * src/cairo-surface.c: (_cairo_surface_init),
- (cairo_surface_set_device_offset):
- * src/cairoint.h:
- Add device_x_scale and device_y_scale to
- surface so that the coordinate system seen
- by the backend can differ from the nominal
- device coordinate space used by the application.
-
- Useful for printer backends where the device
- coordinate space should be in pixels while the
- user visible device space is in points.
-
- There is no API to set these values; the backends
- using this functionality should do that themselves
- before the first cairo_t is created.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c: (cairo_show_text): Fix cairo_show_text to advance
- the current point. Add documentation for cairo_show_text.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/show-text-current-point-ref.png:
- * test/show-text-current-point.c: (draw), (main): Add test to
- verify that the current-point-advancing behavior of
- cairo_show_text is working.
-
- * BUGS: Remove bug about cairo_show_text not advancing the current
- point.
-
-2005-08-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_new_path, cairo_move_to, cairo_line_to,
- cairo_curve_to, cairo_arc, cairo_rel_move_to, cairo_rel_line_to,
- cairo_rel_curve_to, cairo_rectangle, cairo_close_path): Update
- documentation for most path construction functions. Add discussion
- of the effects on the current point to all functions. Rephrase the
- wording of the relative functions. Big rewrite of cairo_arc
- description. Add discussion of join not caps to cairo_close_path.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Minor doc edit.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * doc/public/tmpl/cairo-matrix.sgml: Minor doc edits.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * doc/public/tmpl/cairo-matrix.sgml:
- * doc/public/tmpl/cairo-status.sgml:
- * doc/public/tmpl/cairo-types.sgml:
- * doc/public/tmpl/cairo.sgml: Prefer cairo over Cairo when not at
- the beginning of a sentence.
-
-2005-08-23 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/tmpl/cairo-image.sgml: Add a long description.
- * doc/public/tmpl/cairo.sgml: Fix a typo.
- * src/cairo-font.c: Document the return value of
- cairo_scaled_font_reference().
- * src/cairo-xlib-surface.c: Document the width and height
- parameters of cairo_xlib_surface_set_drawable().
-
-2005-08-23 Billy Biggs <vektor@dumbterm.net>
-
- * src/cairo.c: Document the rest of the path functions (except the
- two text ones, which should coordinate with their corresponding
- non-path versions).
- * doc/public/cairo-sections.txt:
- * doc/public/tmpl/cairo-paths.sgml:
- * doc/public/tmpl/cairo-text.sgml: Minor shuffling.
-
-2005-08-23 Kristian Høgsberg <krh@redhat.com>
-
- * AUTHORS:
- * README: More minor edits.
-
-2005-08-23 Billy Biggs <vektor@dumbterm.net>
-
- * README: Minor edits.
-
-2005-08-23 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/tmpl/cairo-matrix.sgml: Update the long description
- of cairo_matrix_t to match the current sources.
- * doc/public/tmpl/cairo-paths.sgml: Add cairo_path_data_t.
- * src/cairo-ft-font.c:
- * src/cairo-path-data.c:
- * src/cairo-pattern.c:
- * src/cairo.c:
- * src/cairo.h: Some documentation updates and improvements.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/.valgrind-suppressions: Add suppression for uninitialized
- data in fbBltOne.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * README: Big update in preparation for 1.0.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * AUTHORS: Added several names to the AUTHORS file (since
- 2005-01-24):
-
- Josh Aas <joshmoz@gmail.com>
- Billy Biggs <vektor@dumbterm.net>
- Damien Carbery <damien.carbery@sun.com>
- Steve Chaplin <stevech1097@yahoo.com.au>
- Tomasz Cholewo <cholewo@ieee-cis.org>
- John Ehresman <jpe@wingide.com>
- Behdad Esfahbod <behdad@behdad.org>
- Bertram Felgenhauer <int-e@gmx.de>
- J. Ali Harlow <ali@avrc.city.ac.uk>
- Adrian Johnson <ajohnson@redneon.com>
- Michael Johnson <ahze@ahze.net>
- Øyvind Kolås <pippin@freedesktop.org>
- Martin Kretzschmar <martink@gnome.org>
- Tor Lillqvist <tml@novell.com>
- Luke-Jr <luke-jr@utopios.org>
- Jeff Muizelaar <jeff@infidigm.net>
- Peter Nilsson <c99pnn@cs.umu.se>
- Geoff Norton <gnorton@customerdna.com>
- Robert O'Callahan <rocallahan@novell.com>
- Mike Owens <etc@filespanker.com>
- Stuart Parmenter <pavlov@pavlov.net>
- Tim Rowley <tim.rowley@gmail.com>
- Jason Dorje Short <jdorje@users.sf.net>
- Travis Spencer <tspencer@cs.pdx.edu>
- Malcolm Tredinnick <malcolm@commsecure.com.au>
-
-2005-08-23 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/cairo-docs.xml: Experimental Quartz and XCB
- backends removed from the public doc for now.
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- * configure.in: Reverse the help text for --enable-xcb,
- --enable-quartz.
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- * configure.in: Disable XCB and Quartz backends unless
- explicitely enabled. Add a big warning message if they
- are enabled about bugs and API instability.
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-pattern.c (_cairo_pattern_calc_color_at_pixel):
- Rip out all the code for doing anything other than linear
- interpolation between color stops, instead of doing different
- funky things based on pattern->filter. (#4184)
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo-font.c: (cairo_font_face_reference),
- (cairo_scaled_font_reference): Remove assert statements that
- violate two intentional instances of ref_count == 0.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/text-pattern.c: (draw): Fix memory leak of pattern.
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32-font.c (_cairo_win32_scaled_font_show_glyphs):
- Check for AlphaBlend() with GetProcAddress() to support older
- compilation environments like MSVC 6. (Also fixes this portion
- of the code to run on Win98 and Win95, but much of the rest
- of cairo-win32-* won't work in that environment)
- (#3926, Hans Breuer, Christian Biesinger, based on code
- originally from Mozilla)
-
- * src/cairo-win32-private.h: Remove WINVER define, since it
- was there only for AlphaBlend().
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c: Call _get_pattern_load_flags()
- on the resolved pattern, not the input pattern.
- (Further fix from sunmoon1997)
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- Reviewed by: otaylor
- Fixes bug #4198
-
- * src/cairo-font.c: (cairo_font_face_reference),
- (cairo_font_face_destroy), (cairo_scaled_font_reference),
- (cairo_scaled_font_destroy):
- * src/cairo-pattern.c: (cairo_pattern_reference),
- (cairo_pattern_destroy):
- * src/cairo-surface.c: (cairo_surface_reference),
- (cairo_surface_destroy):
- * src/cairo.c: (cairo_reference), (cairo_destroy):
- Detect (by assert and crash) if users attempt to twice destroy or
- re-reference a destroyed object. The condition for detecting this
- case is a ref_count of 0.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairoint.h: Move CAIRO_CONTENT_VALID and CAIRO_FORMAT_VALID
- from the public cairo.h to the private cairoint.h where they
- belong.
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_cairo_ft_scaled_font_show_glyphs):
- when creating the temporary mask, do glyph ADD mask, not
- (glyph IN source) ADD mask. Set the mask as having component
- alpha when it's 4-channel.
-
- * test/text-antialias-subpixel.c test/Makefile.am: No longer XFAIL.
-
- * test/text-antialias-gray.c test/text-antialias-subpixel.c
- * test/text-antialias-none.c (draw): Don't turn off metrics
- hinting, it doesn't make sense.
-
- * test/text-antialias-*-ref.png: Update.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * CODING_STYLE: Revise the description of indentation and tabs to
- be clear (I hope).
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/text-antialias-subpixel.c (draw): Clear to opaque white at
- the beginning of the test so that the 0 alpha values in the
- destination don't cause bizarre results.
- (main): Note that only the image backend should fail now.
-
- * test/text-antialias-subpixel-ref.png: Add new reference image.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/text-rotate-ref.png:
- * test/text-rotate.c: (draw), (main): Add more comments on the
- improved state of this bug. Commit a reference image generated
- with cairo_text_path; cairo_fill. (We may not require getting this
- exact result, but I think it is worth examining the differences
- closely.)
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * Makefile.am: Add docs-publish target to build and push
- documentation, (since our nightly server-side cron job is not
- working right now).
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * BUGS:
- * src/cairo-xlib-screen.c: Move comment about missing cleanup of
- caches on XCloseDisplay from BUGS to a
- _cairo_xlib_close_display. Also covered in bug #4120.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am:
- * test/caps-sub-paths.c: (main): Remove caps-sub-paths from the
- XFAIL list since it is fixed now.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- Fix for bug #4205:
-
- * src/cairo-path-stroke.c: (_cairo_stroker_add_caps):
- (_cairo_path_fixed_stroke_to_traps): Abstract the cap-addition
- code from the end of the stroke operation into a new
- _cairo_stroker_add_caps function.
-
- * src/cairo-path-stroke.c: (_cairo_stroker_move_to): Call the new
- _cairo_stroker_add_caps at the beginning of every move_to so that
- we get caps on every subpath and not just the last one.
-
-2005-08-23 Billy Biggs <vektor@dumbterm.net>
-
- * src/Makefile.am: Add libpixman.la to the libcairo_la_DEPENDENCIES
- line so that changes to pixman get picked up.
-
-2005-08-23 Owen Taylor <otaylor@redhat.com>
-
- Some fixes for warnings from sparse (Part of #4208,
- Kjartan Maraas)
-
- * test/cairo-test.c (create_xlib_surface): Use NULL, not 0.
-
- * src/cairo-matrix.c (_cairo_matrix_transformed_circle_major_axis):
- Fix C99'ism of mixed code and declarations.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * BUGS: caps only added to last subpath: COVERED by
- test/caps-sub-paths and bug #4205.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/caps-sub-paths.c: Use the expect_failure variant of
- cairo_test so that make check prints the reason this test fails.
-
-2005-08-23 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/caps-sub-paths-ref.png:
- * test/caps-sub-paths.c: (draw), (main): Add test to demonstrate
- bug #4205, missing caps on all but last sub-path in a complex
- path.
-
-2005-08-22 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_create): Remove discussion of the BAD_NESTING
- restriction from the documentation of cairo_create. No such
- restriction exists anymore.
-
-2005-08-22 Carl Worth <cworth@cworth.org>
-
- Fix for bug #4192:
-
- * src/cairo-ft-font.c: (_font_map_release_face_lock_held): New
- function to handle both calling FT_Done_Face on unscaled->face and
- decrementing font_map->num_open_faces.
-
- * src/cairo-ft-font.c:
- (_cairo_ft_unscaled_font_map_destroy),
- (_cairo_ft_unscaled_font_destroy),
- (_cairo_ft_unscaled_font_lock_face): Call new
- _font_map_release_face_lock_held as approporiate.
-
- * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_map_destroy):
- Assert that (font_map->num_open_faces == 0) when we're done, to
- help guarantee the bug is fixed.
-
- * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_fini): Don't call
- FT_Done_Face anymore, instead assert that (unscaled->face == NULL)
- by the time this function is called.
-
- * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_init),
- (_cairo_ft_unscaled_font_set_scale): Prefer TRUE/FALSE as values
- for cairo_bool_t have_scale.
-
-2005-08-22 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/Makefile.am: Add version.xml to content_files
- so it will be copied to the right place for DESTDIR builds.
-
-2005-08-22 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/cairo-docs.xml:
- * doc/public/cairo-sections.txt: Rework the index for the
- reference manual.
-
- * doc/public/tmpl/cairo-font-options.sgml:
- * doc/public/tmpl/cairo-font.sgml:
- * doc/public/tmpl/cairo-ft.sgml:
- * doc/public/tmpl/cairo-glitz.sgml:
- * doc/public/tmpl/cairo-image.sgml:
- * doc/public/tmpl/cairo-matrix.sgml:
- * doc/public/tmpl/cairo-paths.sgml:
- * doc/public/tmpl/cairo-pattern.sgml:
- * doc/public/tmpl/cairo-pdf.sgml:
- * doc/public/tmpl/cairo-png.sgml:
- * doc/public/tmpl/cairo-ps.sgml:
- * doc/public/tmpl/cairo-quartz.sgml:
- * doc/public/tmpl/cairo-scaled-font.sgml:
- * doc/public/tmpl/cairo-status.sgml:
- * doc/public/tmpl/cairo-surface.sgml:
- * doc/public/tmpl/cairo-text.sgml:
- * doc/public/tmpl/cairo-transforms.sgml:
- * doc/public/tmpl/cairo-types.sgml:
- * doc/public/tmpl/cairo-version.sgml:
- * doc/public/tmpl/cairo-win32-fonts.sgml:
- * doc/public/tmpl/cairo-win32.sgml:
- * doc/public/tmpl/cairo-xcb-xrender.sgml:
- * doc/public/tmpl/cairo-xcb.sgml:
- * doc/public/tmpl/cairo-xlib.sgml:
- * doc/public/tmpl/cairo.sgml: Update descriptions and add new
- files for added sections.
-
-2005-08-22 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c: Make cairo_ft_unscaled_font_backend static.
-
- * src/cairo-gstate.c (_cairo_gstate_fini): Add missing static.
-
- * src/cairo-pattern.c (_cairo_pattern_init_gradient):
- * src/cairo-ps-surface.c (_cairo_ps_surface_finish):
- * src/cairo-xlib-surface.c (_get_image_surface): Use
- NULL, not 0.
-
- * src/cairo-font.c (_cairo_lock,unlock,get_global_image_glyph_cache):
- Use void in the definition of void functions, not ().
-
- * src/cairo-pattern.c: Make non-exported
- cairo_pattern_nil_* static.
-
-2005-08-22 Carl Worth <cworth@cworth.org>
-
- * BUGS: ref_counts will go negative: COVERED by
- https://bugs.freedesktop.org/show_bug.cgi?id=4198
-
-2005-08-22 Carl Worth <cworth@cworth.org>
-
- * BUGS: Remove several entries in an effort to obsolete the BUGS
- file in favor of bugzilla and cairo/test. Specifically:
-
- cairo_image_surface_create should clear image: NOTABUG. The user
- can clear if desired, and cairo clearing unconditionally would
- be performance overhead).
-
- cairo_clip is really slow: FIXED/COVERED. Since the time this
- entry was added we've got rectangular, pixel-alignend clipping
- optimized. And there's a bug in bugzilla
- (https://bugs.freedesktop.org/show_bug.cgi?id=4191) for
- optimizing IN.
-
- self-intersecting path is wrong: COVERED by
- test/self-intersecting.c.
-
- Cairo is crashing Xnest: NEEDINFO. Is this still happening? Xfake
- has been working quite well for a very long time now.
-
- font-size="0" in SVG does bad things: FIXED.
-
-2005-08-22 Bertram Felgenhauer <int-e@gmx.de>
-
- * src/cairoint.h, src/cairo-matrix.c
- (_cairo_matrix_compute_eigen_values): remove.
-
-2005-08-22 Bertram Felgenhauer <int-e@gmx.de>
-
- * src/cairo-arc.c (_arc_segments_needed): correct the calculation of
- the error bound.
-
-2005-08-22 Bertram Felgenhauer <int-e@gmx.de>
-
- * src/cairo-pen.c (_cairo_pen_vertices_needed): use new function.
- strip comment of derivation for major axis length.
-
- * src/cairo-matrix.c (_cairo_matrix_transformed_circle_major_axis):
- use _cairo_matrix_get_affine to retrieve matrix entries.
-
- * src/cairoint.h, src/cairo-matrix.c
- (_cairo_matrix_transformed_circle_major_axis): new function split out
- of cairo-pen.c. UTF8-ify the comment that explains the calculation.
-
-2005-08-22 Bertram Felgenhauer <int-e@gmx.de>
-
- * src/cairo-pen.c (_cairo_pen_vertices_needed): use correctly
- transposed version of the matrix and fix up the comments above
- to use row vector notation.
-
-2005-08-22 Tor Lillqvist <tml@novell.com>
-
- * configure.in: Calculate LT_CURRENT_MINUS_AGE (which forms part
- of the DLL name on Win32), and AC_SUBST it.
-
- * Makefile.am: Add target "zips" to create zip file based
- distribution for Win32.
-
- * src/Makefile.am: Produce a cairo.def file for distribution by
- preprocessing the relevant header files and grepping for
- declarations of functions that start with cairo_. Works for now,
- will have to modify later if necessary. Use the .def file when
- linking on Win32.
-
-2005-08-22 Owen Taylor <otaylor@redhat.com>
-
- Support artificial bold fonts with FC_EMBOLDEN; patch
- from Jackey Yang and sunmoon1997.
-
- * configure.in: Check for FT_GlyphSlot_Embolden()
-
- * src/cairo-ft-font.c: Call FT_GlyphSlot_Embolden for
- fonts where FC_EMBOLDEN is set but that aren't bold.
- Add another private flag for this.
-
-2005-08-22 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am (EXTRA_DIST): Fix typo that was causing make
- dist to fail.
-
-2005-08-22 Owen Taylor <otaylor@redhat.com>
-
- * test/text-rotate.c (draw): Use floor(0.5+x) rather than
- round(), which is C99. (David Hollenberg)
-
-2005-08-22 Owen Taylor <otaylor@redhat.com>
-
- * autogen.sh: Set LC_ALL=C rather than LANG and LC_NUMERIC to be
- robust against whatever settings the user has. (Martin Dobias)
-
-2005-08-21 Billy Biggs <vektor@dumbterm.net>
-
- * src/cairo.c: (cairo_paint_with_alpha): Optimize away calls to
- cairo_paint_with_alpha() if the alpha value given is <= 0.
-
- * src/cairoint.h: Add a new macro CAIRO_ALPHA_IS_ZERO.
-
-2005-08-21 Billy Biggs <vektor@dumbterm.net>
-
- Fix for bug #4172:
-
- * src/cairo-pattern.c: (_cairo_pattern_shader_gaussian),
- (_cairo_image_data_set_linear), (_cairo_image_data_set_radial):
- Use _cairo_fixed_to_double and _cairo_double_to_fixed when converting
- between double and 16.16 fixed point. These functions round nicely,
- and solve some inconsistencies in rendering between my PPC and x86
- machines. Thanks to Owen Taylor for suggesting the fix.
-
- * test/gradient-alpha-ref.png:
- * test/linear-gradient-ref.png:
- * test/text-pattern-ref.png: The above change does affect linear
- gradients slightly, but it seems worth it. Update the reference
- images to follow.
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-surface.c (_cairo_surface_acquire_dest_image): Remove
- stray doc sentence that wasn't meant to be committed.
-
-2005-08-21 Billy Biggs <vektor@dumbterm.net>
-
- Fix for bug #4165:
-
- * src/cairo-hull.c: (_cairo_hull_vertex_compare): Use pointer
- comparison for coincident points to ensure a well-defined
- ordering, and avoid setting discard on both points. This fixes
- problems with my Mac's implementation of qsort. Final patch by
- Bertram Felgenhauer.
-
- * test/clip-operator-ref.png:
- * test/linear-gradient-ref.png:
- * test/operator-clear-ref.png:
- * test/operator-source-ref.png:
- * test/unantialiased-shapes-ref.png:
- * test/unbounded-operator-ref.png: Update reference images after
- the change.
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * autogen.sh: Check automake-<ver> if automake isn't sufficiently
- new. (#3593, Philip Van Hoof)
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * autogen.sh: When invoked as, say, ../autogen.sh, switch to
- the sourcedir to run the auto*. Based on corresponding code
- in GTK+'s autogen.sh. (#3402, Thomas Fitzsimmons)
-
- * gtk-doc.make: Update from gtk-doc CVS, bringing in some
- minor output changes. (Eliminate the *** from the messages
- that don't indicate errors.)
-
- * doc/public/Makefile.am (EXTRA_DIST): Use += for EXTRA_DIST,
- since gtk-doc.make already defines it.
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * configure.in: Check for FT_Load_Sfnt_Table and disable
- the PDF/PS backends if not found. (#4144, Billy Biggs)
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-surface.c (_cairo_surface_clone_similar): Fix the
- handling of backend->clone_similar == NULL. (#4161,
- Christian Biesinger)
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-surface.c: Improve the documentation of internal
- functions. (Based on a patch from Christian Biesinger, #4162)
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal):
- Recognize gentoo's (and maybe other distro's) modified
- server vendor string, where extra text is added to the
- upstream value. (#4068, reported by Doug Goldstein, others.
- Patch from Mart Raudsepp)
-
-2005-08-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_cairo_ft_unscaled_font_create_glyph):
- Don't try to transform val->image when it is NULL.
- (#4163, Mathias Hasselmann)
-
-2005-08-20 Carl Worth <cworth@cworth.org>
-
- Fix for bug #4142:
-
- * test/cairo-test.c (create_xlib_surface): Disable xlib tests on X
- servers without the Render, since they currently just crash
- there. A better long-term fix would be to do some useful tests in
- this case. Thanks to Tim Mooney.
-
-2005-08-20 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal):
- Include Xfree86-4.5 in the blacklist. (Reported by
- Andrew Benton)
-
-2005-08-20 Billy Biggs <vektor@dumbterm.net>
-
- Fix for bug #4096:
-
- * src/cairo-png.c: (multiply_alpha), (premultiply_data): Improve
- the performance of png reading by adding special cases for fully
- transparent and fully opaque alpha, and using the standard
- optimization for 8-bit division by 255.
-
- * src/cairoint.h: Add an INLINE macro for gcc.
-
-2005-08-19 Carl Worth <cworth@cworth.org>
-
- From Bertram Felgenhauer <int-e@gmx.de>:
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/rectangle-rounding-error-ref.png:
- * test/rectangle-rounding-error.c: (draw), (main):
- Add regression test for bug #4137 (fixed earlier).
-
-2005-08-19 Billy Biggs <vektor@dumbterm.net>
-
- * test/pixman-rotate.c: No need to include cairo-pdf.h.
-
-2005-08-19 Carl Worth <cworth@cworth.org>
-
- Fix for bug #4137:
-
- * src/cairo-fixed.c: (_cairo_fixed_from_double): Fix to round
- properly.
-
-2005-08-19 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-pdf-surface.c (_cairo_pdf_surface_show_glyphs):
- Ignore really small fonts, since size zero fonts give xpdf
- fits. (#2938)
-
-2005-08-19 Carl Worth <cworth@cworth.org>
-
- * src/cairo-font.c: (_cairo_scaled_font_set_error): Fix to
- actually test scaled_font->status instead of just having a comment
- that claims to test it. Thanks to Behdad Esfahbod
- <behdad@cs.toronto.edu>.
-
-2005-08-18 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_composite): We need
- the call to fixup_unbounded when we optimize the RENDER operator
- to XCopyArea as well.
-
-2005-08-19 Carl Worth <cworth@cworth.org>
-
- Fixes for a general problem of which bug #4094 was a specific
- instance:
-
- * src/cairo.c: (_cairo_set_error):
- * src/cairo-font.c: (_cairo_scaled_font_set_error):
- * src/cairo-pattern.c: (_cairo_pattern_set_error):
- * src/cairo-surface.c: (_cairo_surface_set_error):
- Don't change the status value if it already holds an error. This
- avoids destroying "first error" information and also avoids
- attempting to write read-only data, (eg. from nil objects).
-
- * src/cairo-font.c:
- (cairo_scaled_font_extents), (cairo_scaled_font_glyph_extents):
- * src/cairo-pattern.c::
- (cairo_pattern_create_rgb), (cairo_pattern_create_rgba):
- * src/cairo-surface.c:
- (cairo_surface_flush), (cairo_surface_mark_dirty_rectangle),
- (cairo_surface_set_device_offset):
- * src/cairo-win32-font.c: (cairo_win32_scaled_font_select_font):
- * src/cairo.c: (cairo_save), (cairo_restore),
- (cairo_set_operator), (cairo_set_source_rgb),
- (cairo_set_source_rgba), (cairo_set_source_surface),
- (cairo_set_source), (cairo_set_tolerance), (cairo_set_antialias),
- (cairo_set_fill_rule), (cairo_set_line_width),
- (cairo_set_line_cap), (cairo_set_line_join), (cairo_set_dash),
- (cairo_set_miter_limit), (cairo_translate), (cairo_scale),
- (cairo_rotate), (cairo_transform), (cairo_set_matrix),
- (cairo_identity_matrix), (cairo_user_to_device),
- (cairo_user_to_device_distance), (cairo_device_to_user),
- (cairo_device_to_user_distance), (cairo_new_path), (cairo_move_to),
- (cairo_line_to), (cairo_curve_to), (cairo_arc),
- (cairo_arc_negative), (cairo_rel_move_to), (cairo_rel_line_to),
- (cairo_rel_curve_to), (cairo_rectangle), (cairo_close_path),
- (cairo_paint), (cairo_paint_with_alpha), (cairo_mask),
- (cairo_mask_surface), (cairo_stroke_preserve),
- (cairo_fill_preserve), (cairo_copy_page), (cairo_show_page),
- (cairo_in_stroke), (cairo_in_fill), (cairo_stroke_extents),
- (cairo_fill_extents), (cairo_clip_preserve), (cairo_reset_clip),
- (cairo_select_font_face), (cairo_get_font_face),
- (cairo_font_extents), (cairo_set_font_face), (cairo_set_font_size),
- (cairo_set_font_matrix), (cairo_set_font_options),
- (cairo_text_extents), (cairo_glyph_extents), (cairo_show_text),
- (cairo_show_glyphs), (cairo_text_path), (cairo_glyph_path),
- (cairo_append_path):
- Don't set an error on the same object if it is in an error state
- to begin with, just return immediately. This is intended to reduce
- (eventual) error prints to the first cause of an error for any
- given object, instead of a continual spew.
-
-2005-08-19 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-ps-surface.c (cairo_ps_surface_set_dpi): Add this
- missing fuction.
-
- * src/cairo-pdf-surface.c (cairo_pdf_surface_create): Document
- this funtion.
-
-2005-08-19 Carl Worth <cworth@cworth.org>
-
- Fix for bug #2729:
-
- * src/cairo-gstate.c: (_cairo_gstate_set_dash): Adjust negative
- offsets up to their equivalent positive value. Add error checking
- for dash values, (must each be non-negative and must not be all
- zero).
-
- * src/cairo.c (cairo_set_dash): Add documentation.
-
- * src/cairo.h:
- * src/cairo.c: (cairo_status_to_string): Add new
- CAIRO_STATUS_INVALID_DASH.
-
- * test/.cvsignore:
- * test/Makefile.am: Add dash-offfset-negative test from Owen.
-
- * doc/public/tmpl/cairo.sgml: churn
-
-2005-08-19 Carl Worth <cworth@cworth.org>
-
- Fix for bug #3915:
-
- * src/cairo-pattern.c: (_cairo_pattern_nil_for_status): Add new
- NULL_POINTER nil pattern.
-
- * src/cairo-pattern.c: (cairo_pattern_create_for_surface): Check
- for surface == NULL and return a nil pattern.
-
- * test/nil-surface.c: (draw): Verify that the above fix works.
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- Fix for bug #4088:
-
- * src/cairo-pattern.c: (_cairo_pattern_nil_for_status):
- New function to return the current nil pattern depending on the
- status.
-
- * src/cairo-pattern.c: (cairo_pattern_create_for_surface):
- * src/cairo-pattern.c: (_cairo_pattern_init_for_surface): Add
- missing early bailout on surface->status with error propagation to
- the pattern.
-
- Related cleanups for cairo_pattern_t:
-
- * src/cairo-pattern.c: (_cairo_gradient_pattern_init_copy): Don't
- check other->status since this is a static function.
-
- * src/cairo-pattern.c: (_cairo_pattern_init_copy): Add missing
- early bailout on other->status.
-
- * src/cairo-pattern.c: (_cairo_pattern_fini): Cleanup identifier
- names.
-
- * src/cairo-pattern.c: (_cairo_pattern_create_solid),
- (cairo_pattern_create_linear), (cairo_pattern_create_radial):
- Track rename of nil patterns.
-
- * src/cairo-pattern.c: (cairo_pattern_set_matrix),
- (cairo_pattern_set_filter),
- (cairo_pattern_set_extend): Don't call _cairo_error for
- pre-existing errors.
-
- * src/cairo-pattern.c: (_cairo_pattern_acquire_surface): Take care
- to initialize some fields to that _cairo_pattern_release_surface
- will work even after an error.
-
- * src/cairoint.h:
- * src/cairo.c: (cairo_get_source): Track rename of
- cairo_solid_pattern_nil to cairo_pattern_nil.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/nil-surface-ref.png:
- * test/nil-surface.c: (draw), (main): New test to ensure that a
- file-not-found error will propagate from a surface, through a
- pattern, and onto a cairo_t.
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * test/.valgrind-suppressions: Suppress a pthread initialization
- error now that tests are linked with -lpthread.
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * src/cairo-pattern.c: Fix documentation comment to use &amp; in
- place of &.
-
-2005-08-18 Owen Taylor <otaylor@redhat.com>
-
- Reviewed by: krh
-
- * configure.in: Fix tests to just disable FreeType if a too-old FreeType
- is found, rather than erroring out. (#2298)
-
-2005-08-18 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_show_glyphs): Fix offset
- passed in for source patterns. (#2333, Tim Rowley)
-
- * test/text-pattern.c: Fix font to Vera Sans rather than "Sans"
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Update the roadmap. Remove difficulty rating from
- completed tasks. Note that PostScript/PDF is (grudgingly) done as
- far as 1.0 is concerned, but there is more work to completing this
- that is slipped beyond 1.0. Note that the deadlock bug is fixed as
- of 0.9.2. Update who is working on what for performance. Add some
- new detail for post-1.0 PostScript/PDF work. Slip the overlapping
- source/dest Render workaround past 1.0.
-
-2005-08-18 Owen Taylor <otaylor@redhat.com>
-
- * test/text-pattern.c: Add a test for bug #2333 (Tim Rowley)
-
-2005-08-17 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-gstate.c: Implement new equations for CLEAR and SOURCE
- CLEAR: (mask IN clip) ? 0 : dest
- SOURCE: (mask IN clip) ? src : dest
- That behave more like what people expect.
-
- * src/cairo-gstate.c (_cairo_operator_bounded): CLEAR and SOURCE are
- now bounded.
-
- * src/cairo-font.c (_cairo_ft_scaled_font_show_glyphs)
- * src/cairo-surface.c (_cairo_surface_composite_trapezoids):
- Assert that SOURCE and CLEAR aren't passed to these functions.
-
- * src/cairo-surface.c (_cairo_surface_composite):
- Assert that SOURCE and CLEAR aren't passed to these functions
- when there is a mask.
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_composite)
- * src/cairo-image-surface.c (_cairo_image_surface_composite):
- Do fixups for SOURCE and CLEAR as well as unbounded operators,
- since in the absence of a mask, we need SOURCE to work
- correctly (don't care about CLEAR)
-
- * src/cairo-ft-font.c (_transform_glyph_bitmap, _cairo_ft_font_show_glyphs)
- Consistently use CLEAR/TRANSPARENT (source doesn't matter)
- rather than SOURCE/TRANSPARENT when clearing rectangles.
-
- * src/cairo-xlib-surface.c src/cairo-surface.c: Use
- IN rather than SOURCE as an example of an unbounded operator in
- docs.
-
- * test/unbounded-operator.c: Remove CLEAR/SOURCE columns since
- they are no longer unbounded.
-
- * test/operator-clear.c test/operator-source Makefile.am: Add
- targetted tests of CLEAR/SOURCE.
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * src/cairo-quartz-surface.c
- (_cairo_quartz_surface_acquire_source_image): Fix to not leak
- surface->cgImage on out-of-memory (thanks to Josh Aas
- <joshmoz@gmail.com>).
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * src/cairo-fixed.c: (_cairo_fixed_integer_ceil): Fix to not
- right-shift a negative number when called with an argument of 0.
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cairo_test_expecting): Disable
- not-yet-implemented quartz stuff.
-
-2005-08-18 Billy Biggs <vektor@dumbterm.net>
-
- * doc/public/version.xml.in: Add an autoconf-generated version
- file to advertise what cairo version the manual was generated
- for. Idea taken from the GTK+ documentation.
-
- * doc/public/cairo-docs.xml: Include the version number, along
- with the title, in a bookinfo section.
-
- * doc/public/Makefile.am: Add the version.xml.in to the dist.
-
- * doc/public/.cvsignore: Ignore version.xml.
-
- * configure.in: Generate doc/public/version.xml.
-
-2005-08-18 Carl Worth <cworth@cworth.org>
-
- * Makefile.am: Clear setgid bit on regular files prior to tarring
- up a release.
-
-2005-08-18 Kristian Høgsberg <krh@redhat.com>
-
- * configure.in: Fix typo in freetype configure check.
-
-2005-08-17 Kristian Høgsberg <krh@redhat.com>
-
- * configure.in: Try to use pkg-config to detect freetype2, then
- fall back to the existing freetype-config based check.
-
-2005-08-17 Carl Worth <cworth@cworth.org>
-
- Fixes for bug #4110:
-
- * src/cairo-ft-font.c (_cairo_ft_unscaled_font_init): Don't call
- _cairo_ft_unscaled_font_init_key in the from_face case, just clear
- filename and id instead. Initialize unscaled->base first so that
- initialization order matches the structure declaration order.
-
- * src/cairo-cache.c (_cairo_hash_string): Fix to accept a NULL
- string and hash it identically to a zero-length string.
-
- * test/Makefile.am:
- * test/ft-font-create-for-ft-face: Add a test that calls
- cairo_ft_font_create_for_ft_face to demonstrate bug #4110.
-
-2005-08-16 Billy Biggs <vektor@dumbterm.net>
-
- * test/filter-nearest-offset.c: (draw): Fix the filter-nearest-offset
- test to actually test CAIRO_FILTER_NEAREST.
-
-2005-08-16 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-region.c (_cairo_region_rectangle_extents)
- (_cairo_region_create_from_rectangle) src/cairoint.h: Split out
- a couple of useful utility functions.
-
- * src/cairo-clip.c src/cairo-gstate.c: Use them.
-
- * src/cairo-surface.c (_cairo_surface_fill_region): Move code to
- fill a pixman_region16_t to here.
-
- * src/cairo-surface.c (_cairo_surface_fill_rectangle)
- * src/cairo-surface.c (_cairo_surface_fill_rectangles): Document.
-
- * src/cairo-gstate.c (_cairo_surface_clip_and_composite_trapezoids):
- Use _cairo_surface_fill_region().
-
- * src/cairo-surface.c (_cairo_surface_composite_fixup_unbounded):
- Add a return status, use regions to simplify.
-
- * src/cairoint.h
- * src/cairo-image-surface.c (_cairo_image_surface_composite)
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_composite)
- (_show_glyphs_fixup_unbounded): Handle the return value from
- _cairo_surface_composite_fixup_unbounded().
-
- * src/cairo-surface.c src/cairoint.h
- (_cairo_surface_composite_shape_fixup_unbounded): Add a variant
- of _cairo_surface_composite_fixup_unbounded() to avoid creating
- a dummy cairo_surface_attributes_t.
-
- * src/cairo-xlib-surface (_show_glyphs_fixup_unbounded):
- Use _cairo_surface_composite_shape_fixup_unbounded().
-
- * src/cairo-image-surface.c (_cairo_image_surface_composite_trapezoids)
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_composite_trapezoids):
- Call _cairo_surface_composite_shape_fixup_unbounded(), since the source
- might still be restricted, even though the mask is unbounded.
-
- * src/cairo-gstate.c (_cairo_surface_clip_and_composite_trapezoids):
- Restore the rectangle optizations when drawing with unbounded
- operators by adding a clear for the extra area after drawing
- the rectangles.
-
-2005-08-16 Billy Biggs <vektor@dumbterm.net>
-
- * configure.in: Add a check for the MMX intrinsics used by pixman.
- gcc >= 3.4 is required.
-
-2005-08-16 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h (CAIRO_PRINTF_FORMAT): Rename cairo_printf_format
- to CAIRO_PRINTF_FORMAT. Fix syntax error in the case of an empty
- definition. (Thanks to Vladimir Vukicevic).
-
-2005-08-14 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-ft-font.c (_cairo_ft_unscaled_font_lock_face): Zero
- out 'entry', not 'unscaled' when evicting face from cache.
-
-2005-08-13 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-ps-surface.c: (_ps_output_fill_rectangles): Fix a
- mismatch between printf arguments and format string (thanks to
- Adrian Johnson).
-
- * src/cairoint.h (cairo_printf_format): Add macro to mark printf
- like functions.
-
-2005-08-13 Owen Taylor <otaylor@redhat.com>
-
- * Makefile.am (DIST_SUBDIRS): Change docREEL back to doc.
- (Found by Kjartan Maraas)
-
-2005-08-13 Carl Worth <cworth@cworth.org>
-
- * NEWS: Fix typo ('internal' should have been 'external').
-
-2005-08-13 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 0.9.3 after tagging
- RELEASE_0_9_2.
-
- * Makefile.am (release-publish): Slight rewording of announcement
- email.
-
-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
-
- * configure.in: Increment CAIRO_VERSION to 0.6.0
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ft-font.c: (_move_to), (_line_to), (_conic_to),
- (_cubic_to): Remove const qualifiers that only make things happy
- with a from-cvs version of freetype. Now we should be back to
- being happy with a released version.
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * src/cairo-png.c (read_png): Add missing cast.
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am (EXTRA_DIST): Remove
- text-antialias-subpixel-ref.png from the list since it doesn't
- exist yet.
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * doc/public/tmpl/cairo.sgml: More doc/public/tmpl churn.
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am (EXTRA_DIST): Add
- text-antialias-{gray|none|subpixel}-ref.png so they get
- distributed.
-
-2005-07-28 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * test/cairo-test.c (cairo_test_create_surface_from_png): Use
- cairo_surface_status(image) instead of testing for NULL from
- cairo_image_surface_create_from_png to enable testing when srcdir
- != builddir again.
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that consistent error handling is done now.
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * src/cairo-image-surface.c: (cairo_image_surface_get_width),
- (cairo_image_surface_get_height): Fix to call _cairo_error and
- return 0 on surface-type mismatch.
-
-2005-07-28 Owen Taylor <otaylor@redhat.com>
-
- * configure.in Makefile.am: Skip tests/ directory if
- libpng was disabled. (#3423, reported by Steve Chaplin)
-
-2005-07-28 Carl Worth <cworth@cworth.org>
-
- * src/cairo-png.c: (read_png),
- (cairo_image_surface_create_from_png): Fix so that one of three
- different error status values will be returned:
-
- CAIRO_STATUS_NO_MEMORY
- CAIRO_STATUS_FILE_NOT_FOUND
- CAIRO_STATUS_READ_ERROR
-
- * src/cairo.h:
- * src/cairo.c: (cairo_status_to_string): Add new
- CAIRO_STATUS_FILE_NOT_FOUND.
-
- * src/cairoint.h:
- * src/cairo-surface.c: Add new _cairo_surface_nil_read_error and
- _cairo_surface_nil_file_not_found.
-
- * test/create-from-png.c: (draw): Test the new FILE_NOT_FOUND
- error.
-
-2005-07-28 Stuart Parmenter <pavlov@pavlov.net>
-
- * src/cairo-win32-font.c
- * src/cairo-win32-surface.c
- Use surface->base.status instead of just surface on
- cairo_win32_surface_t *s
-
-2005-07-28 Owen Taylor <otaylor@redhat.com>
-
- * configure.in: Disable PS surface build if no freetype.
-
-2005-07-28 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32-font.c (_draw_glyphs_on_surface): Pass
- -1 not 1 to RestoreDC to restore to the last SaveDC.
- (#3905, Stuart Parmenter)
-
-2005-07-16 Owen Taylor <otaylor@redhat.com>
-
- Patch from Martin Kretzschmar <martink@gnome.org>, #3798
-
- * src/cairo-xlib-surface.c (_get_image_surface): prevent
- sign-extension of masks.*_mask on 64bit architectures.
-
- * src/cairo-xcb-surface.c (_get_image_surface): ditto.
-
-2005-07-28 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-image-surface.c (_cairo_image_surface_acquire_source,dest_image)
- src/cairo-quartz-surface.c (_cairo_quartz_surface_acquire_dest_image)
- src/cairo-xcb-surface.c (_cairo_xcb_surface_acquire_source,dest_image):
- src/cairo-xlib-surface.c (_cairo_xlib_surface_acquire_source,dest_image):
- Set image_extra to NULL to avoid purify warnings. (#3777, Stuart Parmenter)
-
-2005-07-27 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-path-data-private.h:
- * src/cairo-path-data.c:
- * src/cairo-pattern.c:
- * src/cairo-surface.c:
- Remove all create_in_error functions as they were just muddling up
- the memory management semantics:
-
- _cairo_path_data_create_in_error
- _cairo_pattern_create_in_error
- _cairo_surface_create_in_error
-
- * src/cairo-gstate.c: (_cairo_gstate_mask),
- (_composite_traps_intermediate_surface),
- (_cairo_gstate_intersect_clip_mask), (_cairo_gstate_show_glyphs):
-
- Don't bother with extra check of other->status to anticipate and
- try to prevent cairo_surface_create_similar from returning through
- cairo_surface_create_in_error.
-
- * src/cairo-glitz-surface.c: (cairo_glitz_surface_create):
- * src/cairo-image-surface.c: (cairo_image_surface_create),
- (cairo_image_surface_create_for_data):
- * src/cairo-png.c: (cairo_image_surface_create_from_png):
- * src/cairo-surface.c: (_cairo_surface_create_similar_scratch),
- (cairo_surface_create_similar),
- (_cairo_surface_create_similar_solid):
- * src/cairo-win32-surface.c: (_cairo_win32_surface_create_for_dc):
- * src/cairo-xlib-surface.c: (cairo_xlib_surface_create):
- * src/cairo.c: (cairo_get_source), (cairo_get_font_face):
- (cairo_get_target), (cairo_copy_path), (cairo_copy_path_flat):
-
- Just return &_cairo_surface|pattern|path_nil rather than
- _cairo_surface|pattern|path_create_in_error.
-
- * src/cairo-ft-font.c:
- * src/cairo-glitz-surface.c:
- * src/cairo-gstate.c:
- * src/cairo-pattern.c:
- * src/cairo-ps-surface.c:
- * src/cairo-win32-font.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c:
- After checking surface->status from a cairo_<foo>_surface_create
- function, just return CAIRO_STATUS_NO_MEMORY since that's the only
- error we'll get from one of these create functions.
-
- * src/cairo-gstate.c: (_cairo_gstate_get_target):
- Remove unnecessary check for gstate == NULL;
-
- * src/cairo-pattern.c:
- (_cairo_pattern_acquire_surface_for_gradient): Fix old check for
- image == NULL instead of image->base.status.
-
- * src/cairo-quartz-surface.c:
- (_cairo_quartz_surface_acquire_source_image):
-
- Add missing check of surface->image_base.status after creating
- surface->image.
-
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_create_similar):
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_create_similar):
- Add missing check of surface->base.status after creating surface.
-
-2005-07-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-font.c src/cairoint.h: Define _cairo_font_face_nil.
- (cairo_font_face_reference, cairo_font_face_destroy
- cairo_font_face_set_user_data): Handle a nil font face.
- (cairo_font_face_status): New function.
-
- * src/cairo-font.c (_cairo_simple_font_face_create)
- src/cairo-ft-font.c (cairo_ft_font_face_create_for_pattern):
- src/cairo-ft-font.c (cairo_ft_font_face_create_for_ft_face):
- src/cairo-win32-font.c (cairo_win32_font_face_create_for_logfontw):
- Return _cairo_font_face_nil on out-of-memory.
-
- * src/cairo-gstate.c (_cairo_gstate_select_font_face)
- * src/cairo-gstate.c (_cairo_gstate_ensure_font_face): Check return
- of _cairo_simple_font_face_create().
-
- * src/cairo-gstate.c (_cairo_gstate_set_font_face): Error out
- if font_face has a status.
-
- * src/cairo-surface.c (cairo_surface_set_user_data): Handle a nil
- surface.
-
-2005-07-27 Owen Taylor <otaylor@redhat.com>
-
- * test/Makefile.am (XFAIL_TESTS): Remove
- text-antialias-none which is now fixed.
-
- * test/text-antialias-none.c (main): No longer xfail.
-
-2005-07-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32-font.c (_win32_scaled_font_create):
- * src/cairo-ft-font.c (_ft_scaled_font_create): Go back to
- returning NULL.
-
- * src/cairoint.h src/cairo-ft-font.c: Stop exporting
- _cairo_scaled_font_nil, since we dont' need it publically
- any more.
-
- * src/cairo-surface.c (_cairo_surface_reset_clip): return
- surface->status not status. (Fixes warning)
-
-2005-07-26 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Add CAIRO_STATUS_INVALID_CONTENT,
- CAIRO_STATUS_INVALID_FORMAT, and CAIRO_STATUS_INVALID_VISUAL.
-
- Change functions to return type of void:
-
- cairo_scaled_font_extents
- cairo_surface_finish
-
- Add new functions to query object status:
-
- cairo_scaled_font_status
- cairo_surface_status
-
- * doc/public/tmpl/cairo.sgml:
- * src/cairo-array.c:
- * src/cairo-atsui-font.c:
- * src/cairo-font.c:
- * src/cairo-ft-font.c:
- * src/cairo-glitz-surface.c:
- * src/cairo-gstate.c:
- * src/cairo-image-surface.c:
- * src/cairo-meta-surface.c:
- * src/cairo-path-data.c:
- * src/cairo-pattern.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-png.c:
- * src/cairo-ps-surface.c:
- * src/cairo-quartz-surface.c:
- * src/cairo-surface.c:
- * src/cairo-win32-font.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c:
- * src/cairo.c:
- * src/cairoint.h: Implementation of new error handling scheme for
- cairo_surface_t and cairo_scaled_font_t.
-
- * test/surface-finish-twice.c: Track change in return value of
- cairo_surface_finish.
-
-2005-07-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_get_font_options):
- Turn off antialiasing for rendering to alpha surfaces.
-
-2005-07-27 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that the XFAIL tests all need to be fixed before
- 1.0.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/text-antialias-gray-ref.png:
- * test/text-antialias-gray.c: (draw), (main):
- * test/text-antialias-none-ref.png:
- * test/text-antialias-none.c: (draw), (main):
- * test/text-antialias-subpixel.c: (draw), (main): Add three new
- tests for testing the various antialiasing options for text
- rendering.
-
-2005-07-27 Carl Worth <cworth@cworth.org>
-
- * src/cairo-png.c: (cairo_image_surface_create_from_png_stream):
- Fix typo that caused cairo_image_surface_create_from_png_stream to
- segfault. Closes bug #3863 (thanks to Steve Chaplin).
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/create-from-png-stream-ref.png:
- * test/create-from-png-stream.c:
- * test/create-from-png.c: Add a test to actually call
- cairo_image_surface_create_from_png_stream.
-
-2005-07-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_xlib_glyphset_cache_create_entry): Deal
- with glyphs with entry->im->image NULL. (This can happen if fonts
- have size-zero bitmaps for some characters, for example)
- (http://bugzilla.gnome.org/show_bug.cgi?id=311709, Sangu Kim)
-
-2005-07-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_get_bitmap_surface): FreeType bitmaps may
- only be padded out to 8-bit boundaries, not 32-bit boundaries.
- (_render_glyph_bitmap): Fix sign error in using glyphslot->bitmap_left.
-
-2005-07-27 David Reveman <davidr@novell.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_screen_from_visual): Trivial
- fix for typo that caused infinite loop when using non-default visuals.
-
-2005-07-25 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-font.c:
- * src/cairo-ft-font.c:
- * src/cairo-glitz-surface.c:
- * src/cairo-pdf-surface.c: Replace all occurences of refcount with
- ref_count.
-
- * doc/public/language-bindings.xml: Replace refcounted with
- reference-counted.
-
-2005-07-25 Owen Taylor <otaylor@redhat.com>
-
- reviewed by: cworth
-
- * src/cairo.[ch] src/cairo-gstate-private.h src/cairo-gstate.c
- src/cairoint.c: Add cairo_{get,set}_font_options().
-
- * doc/public/Makefile.am (IGNORE_HFILES): Add cairo-xlib-private.h
-
- * doc/public/cairo-sections.txt: Update
-
-2005-07-24 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_render_glyph_outline): Fix size of allocated buffer
- for vertical subpixel rendering. (Reported by Fryderyk Dziarmagowski,
- http://bugzilla.gnome.org/show_bug.cgi?id=310935)
- (_get_pattern_load_flags): Fix a problem where we were OR'ing multiple
- FT_LOAD_* flags together.
-
- * src/cairo-xlib-screen.c (_cairo_xlib_init_screen_font_options): Fix
- reversed check for subpixel or not.
-
-2005-07-23 Malcolm Tredinnick <malcolm@commsecure.com.au>
-
- * src/cairo-ft-font.c:
- * src/cairo.h: Add some missing parameters for API docs.
-
-2005-07-23 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-private.h src/cairo-xlib-screen.c: Switch to using
- Screen * not screen number to match surface code.
-
- * src/cairo-xlib-screen.c: Get the screen info for the right screen
- for the surface.
-
-2005-07-22 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c: Protect against division by zero in various places.
- (http://bugzilla.gnome.org/show_bug.cgi?id=311299, reported by Ali Akcaagac)
-
-2005-07-22 Owen Taylor <otaylor@redhat.com>
-
- Patch from Tor Lillqvist <tml@novell.com>
-
- * src/cairo-win32-font.c: Define TT_PRIM_CSPLINE if it wasn't in
- the headers.
- (_get_system_quality): Add missing variable smoothing_type.
-
-2005-07-22 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h: Get the case right. It's cairo, not Cairo.
-
-2005-07-22 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that sub-pixel text rendering is done now.
-
-2005-07-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c: The FT_LOAD_TARGET_* flags aren't separate
- bitfields, but rather an embedded subfield, so test with
- FT_LOAD_TARGET_MODE (val->key.flags) == FT_RENDER_LCD, and similar.
-
-2005-07-21 Keith Packard <keithp@keithp.com>
-
- reviewed by: cworth, otaylor
-
- * src/cairo-ft-font.c: (_ft_font_cache_create_entry),
- (_ft_unscaled_font_set_scale), (_native_byte_order_lsb),
- (_get_bitmap_surface), (_render_glyph_outline),
- (_render_glyph_bitmap), (_get_pattern_load_flags),
- (_get_options_load_flags):
- * src/cairo-xlib-surface.c: (cairo_xlib_surface_set_size),
- (_native_byte_order_lsb), (_xlib_glyphset_cache_create_entry),
- (_xlib_glyphset_cache_destroy_entry), (_get_glyphset_cache),
- (_select_text_mask_format), (_cairo_xlib_surface_show_glyphs32),
- (_cairo_xlib_surface_show_glyphs16),
- (_cairo_xlib_surface_show_glyphs8):
- * src/cairoint.h:
-
- Add ARGB glyph support.
-
- Change Bi-level glyph support to use A1 format.
-
- Support bit/byte swapping of glyph image data in
- the Xlib backend.
-
-2005-07-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ft.h:
- * src/cairo-quartz.h: Whitespace fixes.
-
-2005-07-21 David Reveman <davidr@novell.com>
-
- * src/cairo-glitz-surface.c (_cairo_glitz_area_move_out): Check if
- empty area.
-
-2005-07-21 Keith Packard <keithp@keithp.com>
-
- reviewed by: otaylor, cworth
-
- * ROADMAP:
- * src/cairo-xlib-surface.c: (cairo_xlib_surface_set_drawable):
- * src/cairo-xlib.h:
- Add cairo_xlib_surface_set_drawable which changes the
- target drawable for an xlib cairo_t to another which
- shares the same format, screen and display.
-
-2005-07-21 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that cairo_font_options_t is done now.
-
-2005-07-13 Owen Taylor <otaylor@redhat.com>
-
- reviewed by: cworth
-
- * src/cairo-font-options.c src/cairo.h src/cairoint.h
- src/Makefile.am: Add an opaque cairo_font_options_t structure.
-
- * src/cairo-font.c src/cairo.h src/cairoint.h: Add a
- cairo_font_options_t object to cairo_scaled_font_create().
-
- * src/cairo-surface.c src/cairoint.h: Add virtualized
- cairo_surface_get_font_options() to get the font options for
- a surface.
-
- * src/cairo-gstate.c: Adapt to cairo_scaled_font_create() change.
-
- * src/cairo-pdf-surface.c: Add an implementation of
- get_font_options() that turns off metrics hinting.
-
- * src/cairo-xlib-screen.c src/cairo-xlib-private.h: Add
- a "screen info" structure that holds (for now) information
- about the default font options for the screen.
-
- * src/cairo-xlib-surface.c: Implement get_font_options()
-
- * src/cairo-ft-font.c src/cairo-ft.h: Add functions to apply
- a cairo_font_options_t to a FcPattern or get the load flags
- for a cairo_font_options_t.
-
- * src/cairo-ft-font.c: Adapt to font options additions.
- Add support for non-antialiased rendering of scalable fonts.
- Add support for turning off metrics hinting.
-
- * src/cairo-win32-font.c: Adapt to font options additions.
-
- * doc/public/Makefile.am doc/public/cairo-sections.txt: Update.
-
-2005-07-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo-glitz-surface.c:
- (_cairo_glitz_pattern_release_surface),
- (_cairo_glitz_pattern_acquire_surfaces),
- (_cairo_glitz_surface_composite),
- (_cairo_glitz_surface_composite_trapezoids),
- (_cairo_glitz_surface_show_glyphs): Finally grepped through and
- fixed up the last remaining calls to
- cairo_pattern_release_surface.
-
-2005-07-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_composite),
- (_cairo_xcb_surface_composite_trapezoids): Fix yet another file
- that I missed when I made the cairo_pattern_release_surface
- change. You would think that I would have grepped for all uses of
- this function by now.
-
-2005-07-21 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Mark cairo_xlib_surface_create as complete. Move
- cairo_xlib_surface_set_drawable from 0.6 to 1.0 since it is an API
- addition, not a change.
-
-2005-07-20 Carl Worth <cworth@cworth.org>
-
- reviewed by: keithp
-
- * src/cairo.h (CAIRO_CONTENT_VALID): Fix macro to not consider
- CAIRO_FORMAT_ARGB32 (==0) as a valid cairo_content_t.
-
-2005-07-20 Keith Packard <keithp@keithp.com>
-
- reviewed by: otaylor
-
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_create_similar),
- (_cairo_xlib_surface_same_screen),
- (_cairo_xlib_surface_clone_similar), (_surfaces_compatible),
- (_categorize_composite_operation),
- (_cairo_xlib_surface_create_internal),
- (_cairo_xlib_screen_from_visual), (cairo_xlib_surface_create),
- (cairo_xlib_surface_create_for_bitmap),
- (cairo_xlib_surface_create_with_xrender_format):
- * src/cairo-xlib-xrender.h:
- * src/cairo-xlib.h:
- * test/cairo-test.c: (create_xlib_surface):
-
- Add Screen* arguments to:
-
- cairo_xlib_surface_create_with_xrender_format
- cairo_xlib_surface_create_for_bitmap
-
- Required to correctly identify when two Xlib surfaces are
- compatible with Core and Render rendering requests.
-
- cairo_xlib_surface_create can determine the screen given
- the required Visual *
-
-2005-07-20 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Move all API changes from 1.0 to 0.6. Other 1.0 API
- issues are strictly additions.
-
-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>
-
- * 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.
-
-2005-07-18 Carl Worth <cworth@cworth.org>
-
- * src/cairo-quartz-surface.c:
- (_cairo_quartz_surface_acquire_source_image),
- (_cairo_quartz_surface_set_clip_region): Fix the quartz backend so
- that it at least compiles again. This change is slipped in before
- 0.5.2 was pushed out and tagged.
-
-2005-07-18 Carl Worth <cworth@cworth.org>
-
- * NEWS: Added notes for snapshot 0.5.2
-
- * configure.in: Increment CAIRO_VERSION to 0.5.2
-
-2005-07-18 Carl Worth <cworth@cworth.org>
-
- * test/composite-integer-translate-over-repeat.c (draw): Fix leak
- of pattern.
-
-2005-07-18 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note some progress.
-
- * test/cairo-test.h:
- * test/cairo-test.c: (cairo_test_create_surface_from_png),
- (cairo_test_create_pattern_from_png): New helper function to help
- create an image surface from a PNG file, while taking the srcdir
- environment variable into consideration. Rename the pattern
- creating helper function to match.
-
- * test/composite-integer-translate-over.c: (draw):
- * test/composite-integer-translate-source.c: (draw): Use new
- cairo_test_create_surface_from_png so that non-srcdir builds work.
-
- * test/mask.c: (set_image_pattern):
- * test/trap-clip.c: (set_image_pattern): Track change in
- cairo_test_create_pattern_from_png.
-
-2005-07-18 Carl Worth <cworth@cworth.org>
-
- * BUGS: Add note that Xlib caches need to be cleand up on close
- of display.
-
-2005-07-15 Carl Worth <cworth@cworth.org>
-
- * src/cairo-font.c:
- * src/cairo-surface.c: Remove cairo_private qualifier from .c
- files, (we only need it in the .h files).
-
-2005-07-15 Vladimir Vukicevic <vladimir@pobox.com>
-
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_composite,
- _recategorize_composite_repeat): Use XCopyArea when
- possible, for optimization and bug workaround.
-
- * test/composite-integer-translate-{source,over,over-repeat}.c:
- Exercise XCopyArea, XRenderComposite, and XSetTile/XFillRectangle
- paths for _cairo_xlib_surface_composite
-
-2005-07-15 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am: Add new check-valgrind target for running the
- test suite under the influence of valgrind.
-
- * test/buffer-diff.c: (image_diff): Fix memory leak when reference
- image is not found.
-
-2005-07-15 Carl Worth <cworth@cworth.org>
-
- * test/mask.c: (set_gradient_pattern), (set_image_pattern),
- (draw): Fix a few memory leaks (missing cairo_pattern_destroy in 3
- places).
-
-2005-07-15 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c: (_cairo_gstate_mask): Fix memory leak,
- (missing _cairo_pattern_fini).
-
-2005-07-15 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c (cairo_test_for_target): Remove errant line of
- code that was inadvertently committed recently.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/surface-finish-twice.c: (draw): Fix leak of surface.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_finish),
- (_cairo_pdf_document_finish): Call _cairo_array_fini on the
- several array objects to patch memory leaks.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_composite),
- (_cairo_xlib_surface_composite_trapezoids),
- (_cairo_xlib_surface_show_glyphs): Eek. Yet _more_ fixups for
- _cairo_pattern_release_surface missed earlier.
-
-2005-08-14 Stuart Parmenter <pavlov@pavlov.net>
-
- * src/cairo-win32-surface.c: (_cairo_win32_surface_fill_rectangles):
- blue and green values were swapped in the DO_SOURCE case.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cairo_test_create_png_pattern): Rewrite to
- use cairo_image_surface_create_from_png rather than custom
- read_png_argb32. In addition to being simpler, this eliminates the
- leak of the image data buffer.
-
- * test/trap-clip.c: (set_gradient_pattern), (set_image_pattern):
- Add calls to cairo_pattern_destroy to close two memory leaks.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-pattern.c: (_cairo_pattern_acquire_surfaces): Fix up
- one more call to _cairo_pattern_release_surface missed in the
- previous commit.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-pattern.c: (_cairo_pattern_release_surface): Fix to
- accept a cairo_pattern_t rather than a cairo_surface_t as the
- primary argument.
-
- * src/cairo-image-surface.c: (_cairo_image_surface_composite),
- (_cairo_image_surface_composite_trapezoids): Track change in
- _cairo_pattern_release_surface and also pass the appropriate
- pattern for each acquired surface. The previous backend mismatch
- was causing memory leaks.
-
- * src/cairo-xlib-surface.c: (_get_image_surface): Remove stale
- comment.
-
- * test/xlib-surface.c: (main): Add missing fclose to keep valgrind
- happy about memory leaks.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cairo_test_expecting),
- (cairo_test_expect_failure), (cairo_test): Make the per-backend
- test results print XFAIL rather than FAIL for expected failures.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cairo_test_real): Fix comment describing
- test result. It's not enough that all tested backends are
- successful. We also require that at least one backend is actually
- tested.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cairo_test_for_target), (cairo_test_real):
- * test/cairo-test.h: Don't consider a test to fail if it can't
- create a surface at all (eg. no X server is available). Instead
- mark this backend as untested and only consider the overall test a
- success if all tested backend are successful.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ps-surface.c: (pattern_is_translucent): Add missing
- (putatively unreachable) return value.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-image-surface.c:
- (_cairo_image_surface_set_clip_region): Remove the copying of the
- region. This was a workaround for a missing copy bug in libpixman
- that has since been fixed. So now it was just a memory leak.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-png.c (read_png): Patch memory leak of png_info
- object.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/create-for-png-ref.png:
- * test/create-for-png.c:
- * test/create-from-png.c: (draw): Rename create-for-png test to
- create-from-png to match the naming of the
- cairo_image_surface_create_from_png function.
-
-2005-07-14 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cleanup_xcb), (cleanup_xlib),
- (cairo_test_for_target), (cairo_test_real): Patch a few memory
- leaks.
-
-2005-07-13 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-meta-surface.c: (_cairo_meta_surface_replay): Use
- the _cairo_surface_*() functions when replaying.
-
- * src/cairo-ps-surface.c: Fold the "locate fallbacks" pass into
- the postscript output pass, and add a simple, first implementation
- of image fallbacks.
-
-2005-07-13 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-font.c: (_cairo_simple_font_face_create_font): Rename
- CAIRO_FONT_BACKEND_DEFAULT to the more accurate
- CAIRO_SCALED_FONT_BACKEND_DEFAULT.
-
-2005-07-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ft-private.h:
- * src/cairo-ft-font.c: (_cairo_unscaled_font_is_ft),
- (_cairo_scaled_font_is_ft): New predicates to allow checking for
- cairo_ft derivates of generic font type.
-
- * src/cairo-ps-surface.c: (_cairo_ps_surface_get_font),
- (_cairo_ps_surface_show_glyphs), (_ps_output_show_glyphs):
- * src/cairo-pdf-surface.c: (_cairo_pdf_document_get_font),
- (_cairo_pdf_surface_show_glyphs):
- * src/cairo-font-subset.c: (_cairo_font_subset_create):
- Add explicit checks for cairo_ft derivatives of generic fonts
- rather than just blindly assuming that's what we get.
-
-2005-07-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo-hash-private.h:
- * src/cairo-hash.c:
- (_cairo_hash_table_create): Remove destroy notifier. This
- simplifies the implementation a bit, and no anticipated use of
- cairo_hash_table_t in cairo needs the destroy notifier. Most uses
- will be hash-backed object create/destroy functions.
-
- (_cairo_hash_table_destroy): Document that it is now a fatal
- error to call _cairo_hash_table_destroy on a non-empty hash table.
-
- (_cairo_hash_table_insert): Document that it is now a fatal
- error to insert an entry with a key that matches an existing
- entry.
-
- (_cairo_hash_table_random_entry): Add predicate function so that
- the user can select a random entry satisying the given predicate.
-
- (_cairo_hash_table_remove): Change return type to void since
- failure is really not possible here.
-
-2005-07-11 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Add cache lock deadlock problem to roadmap for 0.5.2.
- Fix typo (cairo_ft_options_t -> cairo_font_options_t).
- Add note that glyph measurement performance needs to improve.
-
- * src/cairoint.h: Disable mutex locks, (making the caches
- non-thread-safe again, just like they were in the last snapshot
- and before).
-
-2005-07-11 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that the cairo_content_t work is done.
- Note progress on cairo_meta_surface_t, ARGB text, and group
- support.
- Add recent API change proposals (cairo_ft_options_t,
- cairo_xlib_surface_create needs to be screen aware, and
- cairo_xlib_surface_set_drawable).
-
- * src/cairo-arc.c (_arc_segments_needed): Note that this function
- is computing an incorrect result.
-
-2005-07-08 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Give enum tags an underscore prefix to match the
- style of the struct tags. Add new cairo_content_t and change
- cairo_surface_create_similar to accept a cairo_content_t rather
- than a cairo_format_t.
-
- * src/cairoint.h:
- * src/cairo-glitz-surface.c: (_cairo_glitz_surface_create_similar):
- * src/cairo-image-surface.c: (_cairo_image_surface_create_similar):
- * src/cairo-meta-surface.c: (_cairo_meta_surface_create_similar):
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_create_similar):
- * src/cairo-ps-surface.c: (_cairo_ps_surface_create_similar):
- * src/cairo-quartz-surface.c: (_cairo_quartz_surface_create_similar):
- * src/cairo-surface.c: (_cairo_surface_create_similar_scratch),
- (cairo_surface_create_similar),
- (_cairo_surface_create_similar_solid):
- * src/cairo-win32-surface.c: (_cairo_win32_surface_create_similar),
- (_cairo_win32_surface_get_subimage):
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_create_similar),
- (_cairo_xcb_surface_clone_similar):
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_create_similar),
- (_cairo_xlib_surface_clone_similar): Change surface backend
- create_similar call to accept a cairo_content_t rather than a
- cairo_format_t.
-
- * src/cairo-glitz-surface.c: (_glitz_format_from_content),
- (_cairo_glitz_surface_clone_similar),
- (_cairo_glitz_pattern_acquire_surface),
- (_cairo_glitz_surface_fill_rectangles),
- (_cairo_glitz_surface_composite_trapezoids):
- * src/cairo-gstate.c: (_cairo_gstate_mask),
- (_composite_traps_intermediate_surface),
- (_cairo_gstate_intersect_clip_mask), (_cairo_gstate_show_glyphs):
- * src/cairo-image-surface.c: (cairo_image_surface_create),
- (cairo_image_surface_create_for_data),
- (_cairo_format_from_content), (_cairo_content_from_format):
- * src/cairo-pattern.c: (_cairo_pattern_acquire_surface_for_solid):
- * src/cairo-ps-surface.c: (emit_image):
- * test/mask.c: (mask_polygon), (draw):
- * test/pixman-rotate.c: (draw):
- * test/source-clip.c: (draw): Fix all calls into create_similar to
- pass a cairo_content_t rather than a cairo_format_t.
-
-2005-07-07 Carl Worth <cworth@cworth.org>
-
- * CODING_STYLE: Add a missing word.
-
- * ROADMAP: Note that the BadMatch bug has been resolved.
-
-2005-07-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo.c: (cairo_status_to_string): Remove
- CAIRO_STATUS_NO_TARGET_SURFAC and add CAIRO_STATUS_INVALID_STATUS.
-
- * src/cairo-gstate.c:
- (_cairo_gstate_clip_and_composite_trapezoids),
- (_cairo_gstate_copy_page), (_cairo_gstate_show_page): Don't check
- for gstate->target == NULL anymore as the API now guarantees it
- never occurs.
-
- * src/cairo.c: (cairo_append_path): Check that path->status is a
- valid status value and cause an INVALID_STATUS error otherwise.
-
- * test/path-data.c: (main): Test the new
- CAIRO_STATUS_INVALID_STATUS error case in cairo_append_path.
-
-2005-07-06 Carl Worth <cworth@cworth.org>
-
- * configure.in: Require libpixman >= 0.1.5, (since 0.1.4 crashes
- on some X servers).
-
-2005-07-05 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ps-surface.c: Disable the compilation of the
- _ps_locate_fallbacks code which, inaddition to being broken,
- appears to not currently be used.
-
-2005-07-04 David Reveman <davidr@novell.com>
-
- * configure.in: Require glitz >= 0.4.4.
-
- * src/cairo-glitz-surface.c: Use frame buffer objects instead of
- pbuffers for accelerated offscreen drawing.
- (_cairo_glitz_pattern_acquire_surface): Minor improvement to gradient
- pattern creation.
-
-2005-07-01 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-ps-surface.c: Rewrite postscript backend to generate
- more interesting output than the current big-image implementation,
- using meta surfaces for font subsetting and image fallbacks.
-
- * src/cairo-meta-surface.c: Remove obsolete comment.
-
- * src/cairoint.h:
- * src/cairo-output-stream.c: Make a couple of stylistic changes
- and add _cairo_output_stream_write_hex_string.
-
- * src/cairo-surface.c: Add _cairo_surface_intersect_clip_path so
- we can replay path clipping.
-
-2005-07-01 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-meta-surface-private.h:
- * src/cairo-meta-surface.c: Add meta surface implementation.
-
- * src/Makefile.am (libcairo_la_SOURCES): Add cairo-meta-surface.c
- and cairo-meta-surface-private.h
-
-2005-06-29 Carl Worth <cworth@cworth.org>
-
- * src/cairo-hash.c (_cairo_hash_table_resize): Remove debugging
- printfs.
-
-2005-06-29 Carl Worth <cworth@cworth.org>
-
- * src/cairo-hash-private.h:
- * src/cairo-hash.c (_cairo_hash_table_random_entry): Add
- _cairo_hash_table_random_entry.
-
- * src/cairo-hash.c: (_destroy_entry): Fix to update live_entries.
-
- * src/cairo-hash.c: (_cairo_hash_table_lookup_internal): style
- changes.
-
- * src/cairo-hash.c (_cairo_hash_table_resize): Add code to shrink
- table as well as to grow it.
-
- * src/cairo-hash.c (_cairo_hash_table_insert),
- (_cairo_hash_table_remove): Call new version of resize so that
- table will grow or shrink as needed on insert and remove.
-
-2005-06-29 Carl Worth <cworth@cworth.org>
-
- * src/cairo-hash-private.h:
- * src/cairo-hash.c: (_cairo_hash_table_create), (_destroy_entry),
- (_cairo_hash_table_destroy), (_cairo_hash_table_lookup_internal),
- (_cairo_hash_table_resize), (_cairo_hash_table_lookup),
- (_cairo_hash_table_insert), (_cairo_hash_table_remove),
- (_cairo_hash_table_foreach): Rewrite hash table to use a single
- cairo_hash_entry_t* rather than void *key and void *value. This is
- slightly more painful to use, but lends itself to a more
- memory-efficient implementation. Add documentation.
-
-2005-06-29 Carl Worth <cworth@cworth.org>
-
- * src/cairo-hash-private.h:
- * src/cairo-hash.c: (_cairo_hash_table_create),
- (_cairo_hash_table_destroy_entry), (_cairo_hash_table_destroy),
- (_cairo_hash_table_lookup_internal), (_cairo_hash_table_resize),
- (_cairo_hash_table_lookup), (_cairo_hash_table_insert),
- (_cairo_hash_table_remove), (_cairo_hash_table_foreach): Rework
- the cache code as a hast table with a much simpler interface, (no
- object derviation is required to use it).
-
- * src/cairoint.h: Remove extraneous prototype for non-existent
- _cairo_cache_reference.
-
-2005-06-28 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-pattern.c (cairo_pattern_create_rgb)
- (cairo_pattern_create_rgba): New functions to create a
- cairo_pattern_t corresponding to a solid color and a translucent
- color respectively. Document a few pattern functions.
-
-2005-06-28 T Rowley <tim.rowley@gmail.com>
-
- reviewed by: otaylor
-
- * src/cairo-win32-font.c (_cairo_win32_scaled_font_glyph_path):
- Implement.
-
-2005-06-28 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal): Also
- flag older XFree86 servers as buggy-repeat.
-
-2005-06-28 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-atsui-font.c (_cairo_atsui_font_text_to_glyphs):
- Prevent crash on empty string.
-
-2005-06-25 Keith Packard <keithp@keithp.com>
-
- reviewed by: cworth
-
- * configure.in:
- * src/cairo-cache.c: (_cairo_cache_shrink_to),
- (_cairo_cache_lookup):
- * src/cairo-font.c: (_lock_global_simple_cache),
- (_unlock_global_simple_cache), (_lock_global_font_cache),
- (_unlock_global_font_cache),
- (_cairo_lock_global_image_glyph_cache),
- (_cairo_unlock_global_image_glyph_cache),
- (_cairo_get_global_image_glyph_cache):
- * src/cairo-ft-font.c: (_lock_global_ft_cache),
- (_unlock_global_ft_cache):
- * src/cairo-xlib-surface.c: (_xlib_glyphset_cache_create_entry),
- (_xlib_glyphset_cache_destroy_entry), (_lock_xlib_glyphset_caches),
- (_unlock_xlib_glyphset_caches), (_get_glyphset_cache),
- (_cairo_xlib_surface_show_glyphs):
- * src/cairoint.h:
- Provide locking macros, implement with pthreads.
-
- Add _cairo_cache_shrink_to which reduces cache memory usage
- to a specified level.
-
- Change global glyph and xlib glyphset caches behaviour to only
- shrink cache on unlock. This is done by telling the cache code to
- never shrink (max_memory == 0), and then manually shrinking using
- _cairo_cache_shrink_to from the unlock function.
-
- Fix Carl's variable renaming mixing (cache = cache).
-
-2005-06-24 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_transform_glyph_bitmap): Add mostly
- useless (other than perhaps 90-degree rotation) code for
- transforming bitmap glyphs.
-
-2005-06-25 Carl Worth <cworth@cworth.org>
-
- From: J. Ali Harlow" <ali@avrc.city.ac.uk>
- Reviewed by: Vladimir Vukicevic <vladimirv@gmail.com>
-
- * test/Makefile.am:
- * src/cairo-win32-surface.c: (_cairo_win32_surface_create_for_dc),
- (_cairo_win32_surface_create_similar),
- (_cairo_win32_surface_create_dib),
- (_cairo_win32_surface_composite), (categorize_solid_dest_operator),
- (_cairo_win32_surface_set_clip_region): Update win32 backend to
- match current API, so it actually builds once again.
-
-2005-06-25 Carl Worth <cworth@cworth.org>
-
- * src/cairo-win32-surface.c: (_cairo_win32_surface_create_for_dc),
- (_cairo_win32_surface_create_similar),
- (_cairo_win32_surface_create_dib),
- (_cairo_win32_surface_composite), (categorize_solid_dest_operator),
- (_cairo_win32_surface_set_clip_region):
- * test/Makefile.am:
-
-2005-06-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo-ft-font.c: (_cairo_ft_unscaled_font_create_glyph):
- Remove stray character.
-
-2005-06-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c: (_xlib_glyphset_cache_create_entry),
- (_glyphset_cache_entry_reference),
- (_xlib_glyphset_cache_destroy_entry), (_get_glyphset_cache),
- (_cairo_xlib_surface_show_glyphs32),
- (_cairo_xlib_surface_show_glyphs16),
- (_cairo_xlib_surface_show_glyphs8),
- (_cairo_xlib_surface_show_glyphs): Prefer descriptive variable
- names over single-character names. Remove unneeded XGlpyhInfo
- field from glyphset_cache_entry_t.
-
-2005-06-24 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_render_glyph_bitmap): Handle rendering
- bitmap glyphslots as well as outline glyphslots.
-
- * src/cairo-ft-font.c (_ft_unscaled_font_set_scale): When setting
- the scale for a non-scalable font, use the nearest available
- size (FreeType won't set the glyph metrics otherwise.)
-
-2005-06-23 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Add ARGB text to 1.0 roadmap.
-
-2005-05-17 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-png.c (write_png): Only unpremultiply ARGB32 data,
- do a simpler conversion for RGB24 data (fixes #2297)
- Call png_write_info() *before* we set up the write conversion...
- it doesn't work after.
-
-2005-06-23 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Add workaround for Render's overlapping source/dest bug
- to the 0.5.2 roadmap.
-
-2005-06-22 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Update ROADMAP with some comments on 0.5.2.
- Add link to BadMatch bug.
-
- * src/cairo.c: Add documentation for cairo_set_source_surface and
- fix some typos in other documentation blocks.
-
-2005-06-22 Øyvind Kolås <pippin@freedesktop.org>
-
- * doc/public/language-bindings.xml: spelling and whitespace fix.
-
-2005-06-21 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-pdf-surface.c: Split out font subsetting code from here,
-
- * src/cairo-font-subset-private.h:
- * src/cairo-font-subset.c: and put it here.
-
-2005-06-21 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-atsui-font.c: allow building against < 10.3 SDK.
-
-2005-06-20 Carl Worth <cworth@cworth.org>
-
- * configure.in: Add -head to CAIRO_VERSION after tagging with
- SNAPSHOT_0_5_1.
-
-2005-06-20 Carl Worth <cworth@cworth.org>
-
- * Makefile.am: Force distcheck to enable gtk-doc.
-
-2005-06-20 Carl Worth <cworth@cworth.org>
-
- * NEWS: Added notes for snapshot 0.5.1
-
- * configure.in: Increment CAIRO_VERSION to 0.5.1
-
-2005-06-20 Owen Taylor <otaylor@redhat.com>
-
- Workaround for https://bugs.freedesktop.org/show_bug.cgi?id=3566
-
- * src/cairo-xlib-surface.c: Detect servers with a bug in
- repeating surfaces by checking vendor string and version.
-
- * src/cairo-xlib-surface.c: For such surfaces either fall back to
- an implementation with the core protocol or fall back to the image
- backend.
-
- * src/cairo-xlib-surface.c: Save clip rects when setting a
- clip region on a surface so that we set the right clip for the
- surface's GC if we create it later.
-
-2005-06-20 Carl Worth <cworth@cworth.org>
-
- * src/cairo-matrix.c: (_cairo_matrix_is_integer_translation):
- Make out parameters optional. Style cleanup.
-
-2005-06-20 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-pattern.c: (_cairo_pattern_is_opaque_solid): Abstract
- CAIRO_ALPHA_IS_OPAQUE out for general internal use.
-
- * src/cairo.c: (cairo_paint_with_alpha): Optimize to defer to
- cairo_paint if the alpha value is actually opaque.
-
-2005-06-20 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo-private.h:
- * src/cairo.c: (_cairo_error), (cairo_create): Rip out
- cairo_set_error_notfiy function as it is clear that it is not the
- right approach.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/error-notify.c: Remove error-notify test.
-
-2005-06-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xcb-surface.c (_get_image_surface): Remove references
- to repeat and matrix fields that no longer exist.
-
-2005-06-17 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xcb-surface.c (_get_image_surface)
- * src/cairo-xlib-surface.c (_get_image_surface): Fix
- width/height typo.
-
-2005-06-17 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-glitz-surface.c: (_cairo_glitz_surface_get_image):
- * src/cairo-pattern.c: (cairo_pattern_create_for_surface):
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_composite_pdf):
- * src/cairo-surface.c: (_cairo_surface_init):
- * src/cairo-xlib-surface.c: (_get_image_surface):
- * src/cairoint.h: Remove matrix, filter and repeat from the
- cairo_surface_t struct.
-
-2005-06-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c: (cairo_reference), (cairo_destroy): cairo_reference
- and cairo_destroy shouldn't behave differently when cr->status
- indicates an error. Fix this bug that just slipped back in.
-
- * src/cairo.c: (cairo_restore): Remove useless conditional return
- at the end of a void function.
-
- * src/cairo.c: (cairo_get_source), (cairo_get_font_face),
- (cairo_text_extents), (cairo_show_text), (cairo_text_path):
- Fix so that after calling _cairo_error the most that any cairo
- entry function ever does is return a previously computed value.
-
-2005-06-17 Kristian Høgsberg <krh@redhat.com>
-
- * TODO: Remove the path clipping entry from the list.
-
-2005-06-16 Carl Worth <cworth@cworth.org>
-
- * src/cairo-private.h: Reorder fields of cairo_private_t to match
- initialization order.
-
- * src/cairo.c: (_cairo_error): Call error_notify callback if set.
- (cairo_create): Initialize error_notify callback to NULL.
- (cairo_set_error_notify): New function to allow the user to set
- an error notify callback.
-
- * src/cairo.h: New cairo_set_error_notify prototye.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/error-notify.c: (toggle_status), (do_test), (main): New
- test for cairo_set_error_notify.
-
-2005-06-15 Carl Worth <cworth@cworth.org>
-
- * TODO: Add CAIRO_STATUS_DESTROYED to TODO list.
-
- * ROADMAP: Note progress on consistent error handling.
-
- * src/cairo-surface.c: Fix typo in documentation comment for
- _cairo_surface_get_current_clip_serial.
-
-2005-06-15 Owen Taylor <otaylor@redhat.com>
-
- * doc/public/Makefile.am (MKTMPL_OPTIONS): Remove --only-section-tmpl;
- it doesn't really work currently :-(.
-
-2005-06-15 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-gstate.c (_cairo_gstate_clip_and_composite_trapezoids):
- Use a clip region when rendering a non-solid pattern through
- a rectangular path ... trapezoid rasterization is just too slow
- to use that path when we aren't forced to do so.
-
-2005-06-15 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: Track removal of cairo_status_string.
- (cairo_test_for_target): And add missing parenthesis.
-
-2005-06-15 Carl Worth <cworth@cworth.org>
-
- * TODO: Add cairo_finish to TODO list. Note that
- cairo_satus_string has now been removed.
-
-2005-06-15 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo.c: Remove cairo_status_string function which can now
- be replaced by:
-
- cairo_status_to_string (cairo_status (cr));
-
- This allows consistent handling of status values for things like
- cairo_pattern_status where there is now
- cairo_pattern_status_string function.
-
-2005-06-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c: (_cairo_error): Add _cairo_error so we have a
- single function which all errors can pass through. This allows the
- user to set a breakpoint on error and will allow us to augment
- error handling later as necessary.
-
- * src/cairo.c: (cairo_create), (cairo_reference),
- (cairo_destroy), (cairo_save), (cairo_restore),
- (cairo_set_operator), (cairo_set_source_rgb),
- (cairo_set_source_rgba), (cairo_set_source_surface),
- (cairo_set_source), (cairo_get_source), (cairo_set_tolerance),
- (cairo_set_fill_rule), (cairo_set_line_width),
- (cairo_set_line_cap), (cairo_set_line_join), (cairo_set_dash),
- (cairo_set_miter_limit), (cairo_translate), (cairo_scale),
- (cairo_rotate), (cairo_transform), (cairo_set_matrix),
- (cairo_identity_matrix), (cairo_user_to_device),
- (cairo_user_to_device_distance), (cairo_device_to_user),
- (cairo_device_to_user_distance), (cairo_new_path), (cairo_move_to),
- (cairo_line_to), (cairo_curve_to), (cairo_arc),
- (cairo_arc_negative), (cairo_rel_move_to), (cairo_rel_line_to),
- (cairo_rel_curve_to), (cairo_rectangle), (cairo_close_path),
- (cairo_paint), (cairo_paint_with_alpha), (cairo_mask),
- (cairo_mask_surface), (cairo_stroke_preserve),
- (cairo_fill_preserve), (cairo_copy_page), (cairo_show_page),
- (cairo_in_stroke), (cairo_in_fill), (cairo_stroke_extents),
- (cairo_fill_extents), (cairo_clip_preserve), (cairo_reset_clip),
- (cairo_select_font_face), (cairo_get_font_face),
- (cairo_font_extents), (cairo_set_font_face), (cairo_set_font_size),
- (cairo_set_font_matrix), (cairo_get_font_matrix),
- (cairo_text_extents), (cairo_glyph_extents), (cairo_show_text),
- (cairo_show_glyphs), (cairo_text_path), (cairo_glyph_path),
- (cairo_get_operator), (cairo_get_tolerance),
- (cairo_get_current_point), (cairo_get_fill_rule),
- (cairo_get_line_width), (cairo_get_line_cap),
- (cairo_get_line_join), (cairo_get_miter_limit), (cairo_get_matrix),
- (cairo_get_target), (cairo_copy_path), (cairo_copy_path_flat),
- (cairo_append_path), (cairo_status): Make all assignements to
- cr->status go through the new _cairo_error function. Remove
- CAIRO_CHECK_SANITY macro.
-
-2005-06-15 Carl Worth <cworth@cworth.org>
-
- * doc/public/cairo-sections.txt: Remove cairo-atsui section since
- cairo-atsui.h is currently empty.
- Add cairo_path_data_type_t and cairo_path_data_t.
-
- * test/.cvsignore: Add pdf-clip and pdf-clip.pdf.
-
-2005-06-14 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-gstate-private.h:
- * src/cairo-gstate.c: (_cairo_gstate_init),
- (_cairo_gstate_init_copy), (_cairo_gstate_fini),
- (_cairo_gstate_set_clip), (_composite_trap_region),
- (_cairo_gstate_fill), (_cairo_gstate_reset_clip),
- (_cairo_gstate_intersect_clip_path), (_cairo_clip_path_reference),
- (_cairo_clip_path_destroy), (_cairo_gstate_intersect_clip_region),
- (_cairo_gstate_intersect_clip_mask), (_cairo_gstate_clip):
- * src/cairo-pdf-surface.c:
- (_cairo_pdf_surface_create_for_document),
- (_cairo_pdf_path_move_to), (_cairo_pdf_path_line_to),
- (_cairo_pdf_path_close_path), (_cairo_pdf_surface_fill_path),
- (_cairo_pdf_surface_intersect_clip_path),
- (_cairo_pdf_document_add_page):
- * src/cairo-surface.c: (_cairo_surface_get_clip_mode),
- (_cairo_surface_fill_path), (_cairo_surface_reset_clip),
- (_cairo_surface_set_clip_path_recursive),
- (_cairo_surface_set_clip_path):
- * src/cairoint.h: Implement path clipping and refactor
- _cairo_gstate_clip() out in three different functions
- corresponding to the three different clipping modes.
-
- * src/cairo-glitz-surface.c:
- * src/cairo-ps-surface.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c:
- * src/cairo-image-surface.c:
- * src/cairo-quartz-surface.c: Add NULL pointers for
- intersect_clip_path.
-
- * test/Makefile.am:
- * test/pdf-clip.c: New test case to exercise PDF clipping code.
-
-2005-06-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-glitz-surface.c: (_cairo_glitz_surface_create_similar),
- (_cairo_glitz_surface_clone_similar),
- (_cairo_glitz_pattern_acquire_surface),
- (_cairo_glitz_surface_composite_trapezoids):
- * src/cairo-image-surface.c: (_cairo_image_surface_create_similar):
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_create_similar):
- * src/cairo-ps-surface.c: (_cairo_ps_surface_create_similar):
- * src/cairo-quartz-surface.c:
- (_cairo_quartz_surface_create_similar):
- * src/cairo-surface.c: (_cairo_surface_create_similar_scratch),
- (_cairo_surface_create_similar_solid):
- * src/cairo-win32-surface.c: (_cairo_win32_surface_create_similar),
- (_cairo_win32_surface_get_subimage):
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_create_similar),
- (_cairo_xcb_surface_clone_similar):
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_create_similar),
- (_cairo_xlib_surface_clone_similar):
- * src/cairoint.h: Remove Boolean 'drawable' parameter from the
- create_similar surface backend function since nothing anywhere is
- actually using this parameter.
-
-2005-06-14 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-win32-font.c: Correct extents for text with a general
- tranform.
-
-2005-06-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Remove comment suggesting ambiguity of whether
- cairo_get_target references the surface, (we decided as part of
- the API shakeup that cairo functions returning pointers to
- internal objects do not automatically take a reference).
-
-2005-06-13 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-pattern.c: (_cairo_pattern_create_in_error): Add new
- _cairo_pattern_create_in_error.
-
- * src/cairo.c: (cairo_get_source): Propagate error values from
- cr->status to pattern->status.
-
-2005-06-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (_cairo_set_source_solid),
- (cairo_set_source_surface), (cairo_mask_surface): No longer need
- to check for NULL after creating a pattern.
-
- * src/cairo.c (cairo_set_source), (cairo_mask): Propagate status
- errors from pattern->status to cr->status.
-
- Originally 2005-05-08 Owen Taylor <otaylor@redhat.com>:
-
- * src/cairo-pattern.c src/cairoint.h: If allocation of pattern
- objects fails, return special static nil pattern objects.
-
- * src/cairo-pattern.c: If adding a color stop fails to allocate
- memory, set pattern->status. (And fix a memory leak.) Make public
- functions return when pattern->status is set, (and no longer
- return a cairo_status_t).
-
- * src/cairo-pattern.c src/cairo.h doc/public/cairo-sections.txt:
- Add cairo_pattern_status()
-
- * src/cairo-gstate.c: Check the status of gstate->source and
- of mask patterns passed in.
-
-2005-06-13 Carl Worth <cworth@cworth.org>
-
- Originally 2005-05-08 Owen Taylor <otaylor@redhat.com>:
-
- * src/cairo.c (cairo_create): If cairo_create() fails, return
- a special static object, cairo_nil.
-
- * src/cairo.c (cairo_reference): Don't return early if
- cr->status is set. cr->status should not affect reference
- counting.
-
- * src/cairo.c: (cairo_reference), (cairo_destroy): Ignore any
- magic object with a reference count of -1.
-
-2005-06-13 Carl Worth <cworth@cworth.org>
-
- Originally 2005-06-02 Carl Worth <cworth@cworth.org>:
-
- * src/cairo.h: Add a status field to cairo_path_t.
-
- * src/cairo.c:
- (cairo_copy_path), (cairo_copy_path_flat): Add documentation for
- the new approach for handling errors in these functions---always
- returning a valid pointer with at least a status.
- (cairo_append_path): Propagate path status errors to the
- context. Add note to documentation on initializing path->status.
-
- * src/cairo-path-data-private.h: Add missing cairo_private
- qualifier to a couple functions.
-
- * src/cairo-path-data.c: (_cairo_path_data_create_real): Track new
- status field in cairo_path_t.
- (cairo_path_destroy): Don't destroy cairo_path_nil. Add
- documentation.
- (_cairo_path_data_create):
- (_cairo_path_data_create_flat):
- (_cairo_path_data_append_to_context): Add documentation.
- (_cairo_path_data_create_in_error): New function to create a
- placeholder cairo_path_t just to propagate a cairo_status_t error.
-
-2005-06-11 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-gstate.c: (_cairo_gstate_init,
- _cairo_gstate_init_copy, _cairo_gstate_fini): Make these functions
- static, which allows slightly less awkward error handling within
- them.
-
-2005-06-10 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h: Provide font-backend-specific macros for
- FONT_FAMILY_DEFAULT. Change CAIRO_FT_FONT_FAMILY_DEFAULT from
- "serif" to "" to allow the actual default to come from the
- system/user configuration.
-
-2005-06-10 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Pull the enum out from inside cairo_path_data_t and
- give it a name of cairo_path_data_type_t. This allows C++ programs
- to see the enum values. It also allows variables to be declared of
- this type for manually constructing a cairo_path_t.
-
-2005-06-10 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Add 'consistent error handling' to 1.0 roadmap. (This
- isn't new, we just forgot to list it here before).
-
- * TODO: Big cleanup to remove finished items. Also, split the file
- up to separate TODO items that affect the API from items that do
- not.
-
-2005-06-10 Carl Worth <cworth@cworth.org>
-
- Originally: 2005-06-09 Carl Worth <cworth@cworth.org>
-
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_show_page):
- * src/cairo-xcb-surface.c:
- (_cairo_xcb_surface_acquire_source_image),
- (_cairo_xcb_surface_acquire_dest_image):
- * src/cairo-xlib-surface.c:
- (_cairo_xlib_surface_acquire_source_image),
- (_cairo_xlib_surface_acquire_dest_image): Rework occurrences
- of 'if (status == CAIRO_STATUS_SUCCESS)' to use 'if (status)'
- instead where trivial.
-
-2005-06-10 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-font.c:
- * src/cairo-ft-font.c:
- * src/cairo-glitz-surface.c:
- * src/cairo-gstate.c:
- * src/cairo-image-surface.c:
- * src/cairo-pattern.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-png.c:
- * src/cairo-surface.c:
- * src/cairo-win32-font.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c: Remove STATUS_OK macro which was not
- being used universally.
-
-2005-06-09 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Remove trailing comma from enum values which gcc
- 4.0 does not want to see (Luis Villa). Closes bug #3502.
-
-2005-06-09 Owen Taylor <otaylor@redhat.com>
-
- * test/Makefile.am (INCLUDES): Add
- -I$(top_builddir)/src for cairo-features.h (Tomasz Cholewo)
-
-2005-06-07 Keith Packard <keithp@keithp.com>
-
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_show_glyphs):
- Font matrix was output incorrectly; the implicit mirror-in-y
- transformation was not computed correctly, missing a negation
- of the 'xy' component.
-
-2005-06-02 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-gstate.c (_cairo_gstate_clip): When clipping, update
- the clip surface to a new surface the size of the intersection of
- the old clip surface and the extents of the new clip path.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * src/cairo-font.c: (cairo_font_face_reference),
- (cairo_font_face_destroy), (_cairo_simple_font_face_destroy),
- (_cairo_unscaled_font_reference), (_cairo_unscaled_font_destroy),
- (cairo_scaled_font_reference), (cairo_scaled_font_destroy):
- * src/cairo-ft-font.c: (_ft_font_cache_destroy_cache),
- (_cairo_ft_unscaled_font_destroy), (_ft_font_face_destroy):
- * src/cairo-glitz-surface.c: (_cairo_glitz_area_destroy):
- * src/cairo-path-data.c: (cairo_path_destroy):
- * src/cairo-pdf-surface.c: (cairo_pdf_font_destroy),
- (cairo_pdf_ft_font_destroy):
- * src/cairo-win32-font.c: (_cairo_win32_scaled_font_destroy):
- Allow NULL as a valid value for several objects. That is, calling
- reference or destroy on these objects will simply do nothing,
- successfully.
-
- * src/cairo-atsui-font.c: (_cairo_atsui_font_destroy_font): Remove
- extra whitespace.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-cache.c: (_cairo_cache_init), (_cairo_cache_destroy):
- Remove unused cache->refcount and _cairo_cache_reference().
-
- * src/cairo-cache.c: (_cairo_cache_destroy): Remove gratuitous
- nesting as recommended in CODING_STYLE.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-array.c: (_cairo_user_data_array_fini):
- * src/cairo-font.c: (cairo_font_face_destroy):
- * src/cairo-surface.c: (cairo_surface_destroy): Fix name of
- _cairo_user_data_array_destroy to be _cairo_user_data_array_fini.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * src/cairo-glitz-surface.c:
- (_cairo_glitz_glyph_cache_create_entry),
- (_cairo_glitz_glyph_cache_destroy_entry),
- (_cairo_glitz_glyph_cache_destroy_cache),
- (_cairo_glitz_surface_show_glyphs): Rename functions to match the
- naming scheme used by cairo-cache.c and all other users of
- it. Though it's quite likely that glitz had this right and now
- everything could be changed to match it instead. I'll save that
- for some day when we're cleaning up the cache code.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * CODING_STYLE: Fix spelling errors.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * CODING_STYLE: Fix Freudian unwrapped line in paragraph
- describing why long lines should be wrapped.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * CODING_STYLE: Add CODING_STYLE document to standardize on some
- style issues.
-
- * src/cairo-atsui-font.c:
- * src/cairo-cache.c:
- * src/cairo-ft-font.c:
- * src/cairo-glitz-surface.c:
- * src/cairo-gstate.c:
- * src/cairo-matrix.c:
- * src/cairo-pattern.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-spline.c:
- * src/cairo-wideint.c:
- * src/cairo-win32-font.c:
- * src/cairo-xlib-surface.c: Standardize brace handling around all
- else clauses according to new CODING_STYLE guidelines.
-
-2005-06-03 Kristian Høgsberg <krh@redhat.com>
-
- Patch from Tomasz Cholewo <cholewo@ieee-cis.org>:
-
- * src/cairo-pdf-surface.c: (cairo_pdf_ft_font_write_head_table),
- (cairo_pdf_ft_font_generate): Store the index of the checksum
- instead of a pointer to the location.
-
-2005-06-03 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-gstate.c:
- * src/cairo.c: (_cairo_set_source_solid), (cairo_set_source_rgb),
- (cairo_set_source_rgba): Move internal convenience up from
- _cairo_gstate_set_source_solid to _cairo_set_source_solid so that
- all set_source functions flow through cairo_set_source.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c: (_cairo_gstate_init): Remove obsolete
- _cairo_gstate_set_target_surface, folding its contents into
- _cairo_gstate_init, most of which disappears due to constant
- folding. Ensure that gstate->next is initialized even if
- _cairo_pattern_create_solid fails.
-
- * src/cairo-xcb-surface.c: Remove unused
- _cairo_xcb_surface_set_clip_region.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-font.c:
- * src/cairo-ft-font.c:
- * src/cairo-glitz-surface.c:
- * src/cairo-gstate.c:
- * src/cairo-image-surface.c:
- * src/cairo-pattern.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-png.c:
- * src/cairo-surface.c:
- * src/cairo-win32-font.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c: Rename CAIRO_OK to STATUS_OK. No
- intended changes in functionality.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate-private.h:
- * src/cairo-gstate.c: Rename gstate->surface to gstate->target. No
- intended changes in functionality.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate-private.h:
- * src/cairo-gstate.c: (_cairo_gstate_init): Remove unused fields
- from cairo_gstate_t, (font_family, font_slant,
- font_weight). Reorder fields to match between declaration and
- initialization and to put the most problematic fields (surface and
- source) at the end. No intended changes in functionality.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am (XFAIL_TESTS): Add self-intersecting to the
- list of expected failures.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/self-intersecting-ref.png:
- * test/self-intersecting.c: (draw), (main): Add self-intersecting
- test which demonstrates the long-standing bug with stroking
- self-intersecting paths.
-
-2005-06-01 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c (_cairo_gstate_get_clip_extents): Fix bug in
- converting box to rectangle that left clip_rect.height
- uninitialized, (leading to unpredictable, intermittent test
- failures).
-
-2005-05-31 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo.c: (cairo_status_to_string), (cairo_status_string):
- Add new function cairo_status_to_string an reimplement
- cairo_status_string in terms of the new function.
-
-2005-05-27 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * src/cairo-path-data.c (_cpdc_curve_to_flatten),
- (_cpdp_curve_to_flatten) : Fix memory leak
-
-2005-05-26 Keith Packard <keithp@keithp.com>
-
- reviewed by: krh, otaylor, cworth
-
- Replace nesting-only surface clipping with gstate contained
- serial-number tracked clipping sets that are loaded into the surface
- on demand just before each rendering operation. This permits
- multiple cairo_t contexts to reference a surface without
- regard to ordering of operations among the contexts.
-
- Also in this patch is a change to the xlib surface that
- creates two separate Pictures, one for source and one for
- destination operands which separates the source clipping
- from destination clipping. Cairo now specifies that sources
- are never clipped by any clipping applied to them as destinations.
-
- * src/cairoint.h:
- * src/cairo-gstate-private.h:
- Move cairo_clip_t (renamed from cairo_clip_rec_t) from cairoint.h
- to cairo-gstate-private.h. Eliminate stack of clip state
- from surfaces. Add new surface clipping API.
-
- * src/cairo-gstate.c: (_cairo_gstate_init),
- (_cairo_gstate_init_copy), (_cairo_gstate_fini),
- (_cairo_gstate_has_surface_clip), (_cairo_gstate_set_clip),
- (_cairo_gstate_get_clip_extents),
- (_cairo_gstate_set_target_surface), (_cairo_gstate_paint),
- (_cairo_gstate_combine_clip_surface),
- (_cairo_gstate_intersect_clip), (_get_mask_extents),
- (_cairo_gstate_mask), (_cairo_gstate_stroke),
- (_clip_and_compute_extents_arbitrary), (_composite_trap_region),
- (_cairo_gstate_fill), (_cairo_gstate_reset_clip),
- (_cairo_gstate_clip), (_cairo_gstate_show_glyphs):
- Manage clip objects entirely within the gstate, loading
- the whole thing into the surface just before drawing.
-
- * src/cairo-pattern.c:
- (_cairo_pattern_acquire_surface_for_gradient),
- (_cairo_pattern_acquire_surface_for_solid),
- (_cairo_pattern_acquire_surface_for_surface),
- (_cairo_pattern_acquire_surface), (_cairo_pattern_release_surface):
- Source surfaces need not have clipping modified as the
- surface interface now specifies that source surfaces are always
- unclipped.
-
- * src/cairo-surface.c: (_cairo_surface_init),
- (cairo_surface_finish), (_cairo_surface_clone_similar),
- (_cairo_surface_get_current_clip_serial),
- (_cairo_surface_allocate_clip_serial), (_cairo_surface_reset_clip),
- (_cairo_surface_can_clip_region), (_cairo_surface_set_clip_region),
- (_cairo_surface_can_clip_path), (_cairo_surface_clip_path),
- (_cairo_surface_get_extents):
- Eliminate nested clipping contexts, leaving clip management
- entirely to the gstate. Create new clip API for the gstate
- which uses per-surface serial numbers to match gstate clipping
- against current surface clipping values.
-
- Surfaces no longer track clipping regions at all, so the
- old _cairo_surface_get_clip_extents has been replaced with
- _cairo_surface_get_extents. For PDF/PS surfaces, this
- function is expected to return a rectangle covering the
- entire fixed point coordinate space to leave rendering
- unclipped by the surface.
-
- * src/cairo-xcb-surface.c:
- Region clipping capability is now signalled by a non-NULL
- function pointer in set_clip_region.
-
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_finish),
- (_cairo_xlib_surface_ensure_src_picture),
- (_cairo_xlib_surface_ensure_dst_picture),
- (_cairo_xlib_surface_set_matrix), (_cairo_xlib_surface_set_filter),
- (_cairo_xlib_surface_set_repeat),
- (_cairo_xlib_surface_set_attributes),
- (_cairo_xlib_surface_composite),
- (_cairo_xlib_surface_fill_rectangles),
- (_cairo_xlib_surface_composite_trapezoids),
- (_cairo_xlib_surface_set_clip_region),
- (_cairo_xlib_surface_create_internal),
- (_cairo_xlib_surface_show_glyphs32),
- (_cairo_xlib_surface_show_glyphs16),
- (_cairo_xlib_surface_show_glyphs8),
- (_cairo_xlib_surface_show_glyphs):
- Each surface now contains two Pictures, one for source
- and one for destination operands so that source operands
- are never clipped by destination clipping.
-
- * src/cairo.h:
- * src/cairo.c: (cairo_status_string):
- CAIRO_STATUS_BAD_NESTING removed
-
- * test/Makefile.am:
- * test/self-copy.c: (main):
- self-copy now passes (Xlib only, until libpixman changes land)
-
-2005-05-26 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * src/cairo.c: trivial doc fixes.
-
-2005-05-24 Carl Worth <cworth@cworth.org>
-
- * gtk-doc.make: Re-synch with latest from gtk-doc CVS tree.
-
- * doc/public/Makefile.am (MKTMPL_OPTIONS): Add --only-section-tmpl
- option so that changes to inline documentation does not lead to
- churn in the .sgml template files.
-
- * doc/public/tmpl/cairo-font.sgml:
- * doc/public/tmpl/cairo-ft.sgml:
- * doc/public/tmpl/cairo-glitz.sgml:
- * doc/public/tmpl/cairo-matrix.sgml:
- * doc/public/tmpl/cairo-pattern.sgml:
- * doc/public/tmpl/cairo-pdf.sgml:
- * doc/public/tmpl/cairo-png.sgml:
- * doc/public/tmpl/cairo-ps.sgml:
- * doc/public/tmpl/cairo-quartz.sgml:
- * doc/public/tmpl/cairo-surface.sgml:
- * doc/public/tmpl/cairo-xcb.sgml:
- * doc/public/tmpl/cairo-xlib.sgml:
- * doc/public/tmpl/cairo.sgml: Commit new templates now that
- gtk-doc has ripped all the inline portions out.
-
- * doc/public/tmpl/cairo-win32.sgml:
- * doc/public/tmpl/cairo-xcb-xrender.sgml:
- * doc/public/tmpl/cairo-xlib-xrender.sgml: New template files
- added for new sections.
-
- * doc/public/cairo-sections.txt: Update to match current API.
-
- * src/cairo-xcb.h: Make parameter names match those in the .c file
- and its documentation.
-
-2005-05-22 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_create): Protect less-than and greater-than
- symbols in documentation string.
-
- * TODO: Not that a patch has been submitted for consistent error
- handling.
-
- * src/cairo.c: Fix documentation string for cairo_create so that
- it might actualyl appear in the manual.
-
-2005-05-18 Carl Worth <cworth@cworth.org>
-
- * configure.in: Add -head to CAIRO_VERSION after tagging with
- SNAPSHOT_0_5_0.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * PORTING_GUIDE: Added porting guide to help with transition to
- cairo 0.5 API.
-
- * NEWS: Added notes for snapshot 0.5.0
-
- * configure.in: Increment CAIRO_VERSION to 0.5.0
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xcb-surface.c: (_get_image_surface),
- (_cairo_xcb_surface_create_internal): Bring up to date with
- Keith's latest improvements to cairo-xlib-surface.c: Add some
- comments about how and why masks are computed. Generalize
- overflow detection in mask computation. Expand on pixman format
- conversion comment. Fix the broken visual->format case.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- Two fixes from Kristian Høgsberg:
-
- * src/cairo-output-stream.c: (_cairo_output_stream_create),
- (_cairo_output_stream_destroy),
- (_cairo_output_stream_create_for_file): Fix to close the file if
- we opened it.
-
- * src/cairo-pdf-surface.c: (_cairo_pdf_document_finish): Grab the
- status from out of the stream _before_ we destroy the stream.
-
-2005-05-17 Keith Packard <keithp@keithp.com>
-
- * src/cairo-xlib-surface.c: (_get_image_surface):
- Add some comments about how and why masks are computed.
- Generalize overflow detection in mask computation.
- Expand on pixman format conversion comment.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c: Fix documentation to not mention
- set_size for the _for_bitmap functions.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * util/cairo-api-update: Remove #ifdef munging since we once again
- support either #if or #ifdef.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * RELEASING: Update instructions to match output of 'make
- distcheck'
-
- * src/Makefile.am:
- * test/Makefile.am: Add private headers and flesh out CLEANFILES
- so that 'make distcheck' actually passes.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Add a few more REPLACED_BY and DEPRECATED_BY
- definitions.
-
- * util/cairo-api-update: Add some helpful warnings.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/Makefile.am (libcairo_xlib_headers): Add
- cairo-xlib-xrender.h which was missed from an earlier commit.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/Makefile.am:
- * src/cairo-xcb.h:
- * src/cairo-xcb-xrender.h:
- * src/cairo-xcb-surface.c:
- (cairo_xcb_surface_create),
- (cairo_xcb_surface_create_for_bitmap),
- (cairo_xcb_surface_create_with_xrender_format): Update cairo-xcb.h
- to provide the same style of interface as cairo-xlib.h.
-
- * test/cairo-test.c: Update to match new cairo_xcb_surface_t
- create functions.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c (_get_image_surface): Avoid shifting
- 32-bit quanity by 32 bits, which is undefined behavior.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- Rework of cairo_xlib_surface create functions by Keith Packard:
-
- * src/cairo-xlib-xrender.h:
- Add cairo_xlib_surface_create_with_render_format.
-
- * src/cairo-xlib.h:
- * src/cairo-xlib-surface.c:
- (cairo_xlib_surface_create),
- (cairo_xlib_surface_create_for_bitmap): Reduce Xlib constructors
- down to two simple forms. Add width, height to constructors and
- eliminate any synchronous size queries from the implementation.
-
- * test/cairo-test.c: (create_xlib_surface):
- * test/xlib-surface.c: (do_test): Update to match new
- cairo_xlib_surface_t create functions.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-output-stream.c: Remove destroy_closure from
- cairo_output_stream_t interface.
-
- * src/cairo-pdf.h:
- * src/cairo-pdf-surface.c: Remove destroy_closure argument from
- cairo_pdf_surface_create_for_stream. Rename width,height to
- width_in_points, height_in_points for better clarity.
-
- * src/cairo-ps.h:
- * src/cairo-ps-surface.c: Brush a bunch of dust off of the PS
- backend and bring it up to date with the latest API conventions
- from the PDF backend. These include: accepting a filename rather
- than a FILE in the primary constructor, providing a stream-based
- interface for more flexibility, and accepting a surface size in
- device-space units (points) rather than inches.
-
- * test/pdf-surface.c: (main): Make it a little more clear that the
- width and height being passed around are in units of points.
-
- * test/ps-surface.c: (main): Update to the latest cairo-ps.h
- changes as described above. Notice how much more sane things
- become now that the surface size is described in device-space
- units.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/ps-surface.c: (draw), (main): Add simple test for ps
- surface backend (modeled after pdf-surface.c).
-
- * test/pdf-surface.c: (main): Add print message telling user to
- examine resulting file.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * test/pdf-surface.c: (draw), (main): Update PDF test case to make
- sure we're actually getting the right paper size, image scaling
- etc. And it should now be easier to see if cairo is happy by manually
- viewing the resulting PDF file.
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-test.h: Fix to include cairo-xlib.h, (which also
- fixes test/xlib-surface.c).
-
-2005-05-17 Carl Worth <cworth@cworth.org>
-
- * test/pdf-surface.c: (main): Update to the latest PDF surface API
- changes: use filename not FILE* and use surface dimension in
- points, not inches.
-
-2005-05-16 Keith Packard <keithp@keithp.com>
-
- * src/cairo-pattern.c: (_cairo_pattern_shader_init):
- Initialize op->stops[0].scale = 0.
-
- This scale value is used only when computing gradient values
- before the defined range, in which case stop 0 is used for both
- ends of the interpolation, making the value of 'scale' not
- actually matter, except that valgrind notices we're using
- an undefined value.
-
-2005-05-16 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am: Remove quarter-over test name accidentally
- added to Makefile.
-
-2005-05-16 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-pdf-surface.c (cairo_pdf_surface_create):
- * src/cairo-output-stream.c
- (_cairo_output_stream_create_for_file): Take a filename instead of
- a FILE pointer.
-
-2005-05-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xcb.h:
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_create_similar),
- (_cairo_xcb_surface_finish), (_cairo_xcb_surface_get_size),
- (_bits_per_pixel), (_bytes_per_line), (_get_image_surface),
- (_draw_image_surface), (_cairo_xcb_surface_get_extents),
- (_cairo_surface_is_xcb), (_cairo_xcb_surface_create_internal),
- (cairo_xcb_surface_create_for_pixmap),
- (cairo_xcb_surface_create_for_pixmap_with_visual),
- (cairo_xcb_surface_create_for_window_with_visual),
- (cairo_xcb_surface_set_size):
- Brush the dust off the XCB backend and get it compiling and
- working again. This patch makes the XCB surface API match that of
- the Xlib surface API as of yesterday. But, it's already stale as
- the Xlib API changed again. So we'll need one more revision of the
- XCB backend before the next snapshot.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/cairo-test.c: (create_xcb_surface), (cleanup_xcb):
- * test/cairo-test.h: Add support for testing of the xcb backend as
- well.
-
-2005-05-14 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (cairo_test_real):
- * test/pdf-surface.c: (main):
- * test/xlib-surface.c: (do_test), (main): Cleanup output a bit,
- move verbose messages to test-specific log file.
-
-2005-05-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c: (cairo_xlib_surface_create_with_visual):
- Fix the last commit so it actually compiles now.
-
-2005-05-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xlib-surface.c: (cairo_test_xlib_disable_render),
- (cairo_xlib_surface_create_with_visual)
-
- * test/.cvsignore: Fix a few documentation typos in the recent
- xlib surface rework.
-
-2005-05-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo-atsui.h:
- * src/cairo-ft.h:
- * src/cairo-glitz.h:
- * src/cairo-pdf.h:
- * src/cairo-ps.h:
- * src/cairo-quartz.h:
- * src/cairo-win32.h:
- * src/cairo-xcb.h:
- * src/cairo-xlib.h: Add an #error if cairo-foo.h is included when
- cairo was compiled without support for the foo backend.
-
-2005-05-14 Carl Worth <cworth@cworth.org>
-
- * test/pdf-surface.c (main): Update for change in
- cairo_pdf_surface_create which no longer accepts DPI values.
-
-2005-05-13 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c src/cairo-xlib.h
- doc/public/cairo-sections.txt: Drop the _for_pixmap() and
- _for_window() out of the create functions and use some lazy
- cleverness to sniff the information out as needed.
-
- * src/cairo-xlib-surface.c src/cairo-xlib-test.h Makefile.am:
- add cairo_test_xlib_disable_render() to turn off RENDER
- for tests.
-
- * test/xlib-surface.c: Test various different types of
- Xlib surface creation.
-
- * src/cairo-xlib.h: Remove left-over include of Xrender.h.
-
-2005-05-13 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-pdf-surface.c (_cairo_pdf_document_open_stream): Make
- this a varg function and use the new
- _cairo_output_stream_vprintf() function to format extra dict
- contents.
-
- * src/cairo-output-stream.c (_cairo_output_stream_vprintf):
- Reimplement the printf logic so we can special case formatting of
- doubles to be locale independent and trim trailing zeros.
-
- * src/cairo-pdf-surface.c: Rename
- cairo_pdf_surface_create_for_callback() to
- cairo_pdf_surface_create_for_stream(), and change PDF constructors
- to take width and height as points and move PPI setting to
- cairo_pdf_surface_set_ppi()
-
-2005-05-13 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal): Fix
- misplaced goto.
-
-2005-05-12 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo-image-surface.c: (_cairo_image_surface_create_with_masks):
- Fix image->data to be unsigned
-
- * src/cairo-glitz-surface.c: (_cairo_glitz_surface_get_image):
- * src/cairo-image-surface.c:
- (_cairo_image_surface_create_for_pixman_image),
- * src/cairo-xlib-surface.c: (_get_image_surface),
- (_draw_image_surface), (_xlib_glyphset_cache_create_entry):
- Track change in signedness of data member/parameter.
-
-2005-05-12 Carl Worth <cworth@cworth.org>
-
- Update xcb backend to compile after recent API changes:
-
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_finish):
- Fix missing return value.
- (_cairo_xcb_surface_acquire_source_image): Remove calls to
- non-existent cairo_surface functions.
- (_cairo_xcb_surface_set_matrix): Update for new matrix member names.
- (_cairo_xcb_surface_get_extents): Fix typo.
-
-2005-05-12 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/paint-with-alpha-ref.png:
- * test/paint-with-alpha.c: (draw), (main): Add new test for bug in
- cairo_paint_with_alpha not transforming the source.
-
- * src/cairo-gstate.c: (_cairo_gstate_mask): Use a transformed copy
- of the source just like we do in all the other calls to
- cairo_surface_composite. Fixes the bug tested by
- test/paint-with-alpha.
-
-2005-05-12 Keith Packard <keithp@keithp.com>
-
- reviewed by: otaylor
-
- * src/cairo-gstate.c: (_get_mask_extents):
- _get_mask_extents creates a pixman region but
- neglects to destroy it.
-
-2005-05-11 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32-surface.c (categorize_solid_dest_operator):
- Handle more cases by assuming no-super-luminescent colors.
-
-2005-05-11 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-atsui-font.c:
- * src/cairo-atsui.h:
- * src/cairo-quartz-surface.c: Revive quartz backend.
-
-2005-05-11 David Reveman <davidr@novell.com>
-
- * src/cairo-glitz-surface.c (_cairo_glitz_surface_fill_rectangles):
- Set fill type repeat on source surface.
- (_cairo_glitz_surface_show_glyphs): Add missing cairo operator to
- glitz operator conversion.
- (_cairo_glitz_surface_show_glyphs): Only render glyphs with non zero
- size.
-
-2005-05-11 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-surface.c (_fallback_fill_rectangles):
- Fix bounding box computation.
-
- * src/cairo-win32-surface.c: Patch from Tor Lillqvist
- to make things compile and work again.
-
- * test/cairo-test.c (create_win32_surface): Don't
- #error because there is no win32 test, it isn't useful.
- Just skip it.
-
- * src/cairo-win32-font.c: Fix up matrix constness.
-
- * test/Makefile.am (TESTS): Skip the pdf-surface test
- if we don't have the PDF backend.
-
- * src/cairo-win32-surface.c (categorize_solid_dest_operator):
- Optimize fill_rectangles for all cases where the destination
- ends up a solid color.
-
-2005-05-11 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib-surface.c src/cairo-xlib.h: Remove leftover
- cairo_xlib_surface_create().
-
-2005-05-10 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.c src/cairo-path-data.c src/cairo-path-data-private.h:
- Pass the gstate to _cairo_path_data_create[_flat] and use
- _cairo_gstate_backend_to_user() so as to properly handle
- the surface device offset.
-
-2005-05-10 Carl Worth <cworth@cworth.org>
-
- * src/cairo-arc.c (_cairo_arc_path_negative): Don't use return
- when calling a void function (thanks to Damien Carbery
- <damien.carbery@sun.com>). Closes bug #3134.
-
-2005-05-10 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c:
- * test/cairo-test.h: Removing mucking around with stderr and add a
- cairo_test_log function instead.
-
- * test/buffer-diff.c:
- * test/create-for-png.c:
- * test/pdf-surface.c:
- * test/read-png.c:
- * test/trap-clip.c:
- * test/xmalloc.c: Switch all error messages from
- fprintf(stderr,...) to cairo_test_log(...).
-
-2005-05-10 Carl Worth <cworth@cworth.org>
-
- * configure.in: Fix URLs for glitz and xlibs, (thanks to Jason
- Dorje Short <jdorje@users.sf.net>).
-
-2005-05-10 Carl Worth <cworth@cworth.org>
-
- * configure.in: Update to current canonical URL for XCB.
-
-2005-05-10 Carl Worth <cworth@cworth.org>
-
- * src/cairo-wideint.h: Don't guess and make our own definitions
- for uint8_t, etc. Just error out if we can't find a suitable
- header file.
-
- * src/cairo-png.c: (unpremultiply_data), (premultiply_data):
- * test/read-png.c: (premultiply_data): Fix to use fixed-size type
- so that this code works when sizeof(unsigned long) != 32. Thanks
- to Manish Singh.
-
-2005-05-10 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c: (_cairo_gstate_get_font_matrix):
- * src/cairo.c: (cairo_get_font_matrix):
- * src/cairo.h:
- * src/cairoint.h: Fix cairo_get_font_matrix to actually use its
- out-parameter. And change the return type to void.
-
-2005-05-09 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_cairo_ft_unscaled_font_create_glyph):
- Get the glyphslot point *after* we get the FT_Face. (Robert O'Callahan)
-
-2005-05-09 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h (cairo_current_target_surface): Fix deprecation
- macro to point to the right function, (thanks to John Ellson).
-
-2005-05-09 Carl Worth <cworth@cworth.org>
-
- * src/cairo-font.c: (_cairo_simple_font_face_create_font),
- (cairo_scaled_font_create), (_cairo_scaled_font_init):
- * src/cairo-ft-font.c: (_ft_scaled_font_create),
- (_cairo_ft_scaled_font_create), (_ft_font_face_create_font):
- * src/cairo-gstate.c: (_cairo_gstate_transform),
- (_cairo_gstate_set_matrix), (_cairo_gstate_set_font_matrix):
- * src/cairo-image-surface.c: (_cairo_image_surface_set_matrix):
- * src/cairo-matrix.c: (_cairo_matrix_get_affine),
- (cairo_matrix_transform_distance), (cairo_matrix_transform_point),
- (_cairo_matrix_transform_bounding_box),
- (_cairo_matrix_compute_determinant),
- (_cairo_matrix_compute_eigen_values),
- (_cairo_matrix_compute_scale_factors),
- (_cairo_matrix_is_integer_translation):
- * src/cairo-pattern.c: (cairo_pattern_set_matrix),
- (_cairo_pattern_transform):
- * src/cairo.c: (cairo_transform), (cairo_set_matrix),
- (cairo_set_font_matrix):
- * src/cairo.h:
- * src/cairoint.h: Push cairo_matrix_t const-correctness down
- through the entire implmentation, (expanding on preliminary work
- by Robert O'Callahan <rocallahan@novell.com>)
-
-2005-05-09 Carl Worth <cworth@cworth.org>
-
- * configure.in:
- * src/cairo-features.h.in: Change cairo-features again so that
- either #if or #ifdef will work to test any feature.
-
-2005-05-07 Owen Taylor <otaylor@redhat.com>
-
- * doc/public/language-bindings.xml doc/public/cairo-doc.xml
- doc/public/Makefile.am: Document suggested conventions and
- techniques for many aspects of creating a language binding
- for Cairo.
-
-2005-05-07 Owen Taylor <otaylor@redhat.com>
-
- * doc/public/cairo-sections.txt: Update.
-
-2005-05-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h (cairo_set_alpha): Point to both
- cairo_set_source_rgba and cairo_paint_with_alpha in deprecation of
- cairo_set_alpha.
-
-2005-05-07 Carl Worth <cworth@cworth.org>
-
- * util/cairo-api-update: Make idempotent substitutions that extend
- old names:
-
- cairo_select_font -> cairo_select_font_face
- cairo_pattern_add_color_stop -> cairo_pattern_add_color_stop_rgba
-
- by only substituting if the old name is not immediately followed
- by an underscore.
-
- Tweak the substitution slightly to allow the script to be run on
- the cairo source itself, (eg. avoid changing the REPLACED_BY and
- DEPRECATED_BY macros that must mention the old names).
-
-2005-05-07 Carl Worth <cworth@cworth.org>
-
- * configure.in:
-
- * src/cairo-features.h.in: Change definitions of everything in
- cairo-features.h to prefer #if over #ifdef.
-
- * src/cairo-atsui.h:
- * src/cairo-cache.c:
- * src/cairo-ft-private.h:
- * src/cairo-ft.h:
- * src/cairo-glitz.h:
- * src/cairo-pdf.h:
- * src/cairo-ps.h:
- * src/cairo-quartz.h:
- * src/cairo-win32.h:
- * src/cairo-xcb.h:
- * src/cairo-xlib.h:
- * src/cairo.c:
- * src/cairo.h:
- * src/cairoint.h:
- * test/cairo-test.c: Track #ifdef -> #if changes.
-
- * util/cairo-api-update: Add support to automatically change all
- #ifdef CAIRO_HAS to #if CAIRO_HAS.
-
-2005-05-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c:
- * src/cairo-pattern.c:
- * src/cairo.c:
- * src/cairo.h:
- * src/cairoint.h: Remove deprecated cairo_get_rgb_color that was
- accidentally missed in the recent purge of deprecated functions.
-
-2005-05-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo-xcb-surface.c (_render_operator):
- * src/cairo-win32-surface.c (_cairo_win32_surface_composite)
- (_cairo_win32_surface_fill_rectangles): Update to track new
- CAIRO_OPERATOR names.
-
- * test/select-font-no-show-text.c:
- * src/cairo-surface.c (cairo_surface_set_user_data): Fix
- documentation to refer to functions by their current names.
-
- * src/cairo-gstate.c (_cairo_gstate_begin_group): Update to track
- latest API (in currently unused function).
-
-2005-05-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo-glitz-surface.c (_cairo_glitz_surface_show_glyphs):
- Fix return type from cairo_status_t to cairo_int_status_t.
-
-2005-05-06 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Note that cairo_mask, and "just eliminate a bunch of
- functions are now done".
-
- * TODO: Note that all backwards-compatible and
- backwards-incompatible cahnges for the API Shakeup are now
- done. Sort "new functionality" of API Shakeup into its own
- category.
-
-2005-05-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c:
- * src/cairo.h: Eliminate the following deprecated functions from
- cairo's interface:
-
- cairo_copy
- cairo_get_path
- cairo_get_path_flat
- cairo_matrix_create
- cairo_matrix_destroy
- cairo_matrix_copy
- cairo_matrix_get_affine
- cairo_surface_set_repeat
- cairo_surface_set_matrix
- cairo_surface_get_matrix
- cairo_surface_set_filter
- cairo_surface_get_filter
-
- Also, eliminate all support for compiling against, or running with
- old, deprecated names for functions.
-
- * src/cairo-ft-font.c: (_compute_transform):
- * src/cairo-gstate.c:
- * src/cairo-image-surface.c: (cairo_image_surface_create_for_data):
- * src/cairo-matrix.c: (_cairo_matrix_get_affine),
- (_cairo_matrix_compute_adjoint),
- (_cairo_matrix_is_integer_translation):
- * src/cairo-pattern.c: (cairo_pattern_add_color_stop_rgba),
- (cairo_pattern_set_matrix), (cairo_pattern_get_matrix),
- (_cairo_image_data_set_linear), (_cairo_linear_pattern_classify),
- (_cairo_image_data_set_radial):
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_composite_image),
- (_cairo_pdf_surface_composite_pdf), (emit_surface_pattern),
- (emit_linear_pattern), (emit_radial_pattern):
- * src/cairo-surface.c:
- * src/cairo-xlib-surface.c:
- (_cairo_xlib_surface_acquire_source_image),
- (cairo_xlib_surface_create):
- * src/cairo.c: (cairo_set_source_rgba), (cairo_set_source),
- (cairo_get_source), (cairo_transform), (cairo_identity_matrix),
- (cairo_user_to_device), (cairo_user_to_device_distance),
- (cairo_device_to_user), (cairo_device_to_user_distance),
- (cairo_reset_clip), (cairo_select_font_face), (cairo_font_extents),
- (cairo_set_font_size), (cairo_get_operator), (cairo_get_rgb_color),
- (cairo_get_tolerance), (cairo_get_fill_rule),
- (cairo_get_line_width), (cairo_get_line_cap),
- (cairo_get_line_join), (cairo_get_miter_limit), (cairo_get_matrix),
- (cairo_get_target), (cairo_status), (cairo_status_string):
- * src/cairoint.h:
- * test/cairo-test.c: (cairo_test_create_png_pattern):
- * test/gradient-alpha.c: (draw):
- * test/mask.c: (set_gradient_pattern), (set_image_pattern):
- * test/move-to-show-surface.c: (draw):
- * test/select-font-no-show-text.c: (draw):
- * test/set-source.c: (draw):
- * test/text-cache-crash.c: (draw):
- * test/text-rotate.c: (draw):
- * test/transforms.c: (draw_L_shape):
- * test/translate-show-surface.c: (draw):
- * test/trap-clip.c: (set_gradient_pattern), (set_image_pattern):
- * util/cairo-api-update:
-
- Deal with all of the removals.
-
-2005-05-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo-glitz-surface.c: (_glitz_operator),
- (_cairo_glitz_surface_fill_rectangles):
- * src/cairo-gstate.c: (_cairo_gstate_mask):
- * src/cairo-image-surface.c: (_pixman_operator),
- (_cairo_image_surface_composite_trapezoids):
- * src/cairo-ps-surface.c: (_cairo_ps_surface_erase),
- (_cairo_ps_surface_copy_page):
- * src/cairo-surface.c: (_cairo_surface_create_similar_solid):
- * src/cairo-xlib-surface.c: (_render_operator):
- * src/cairo.h:
- * test/cairo-test.c: (cairo_test_for_target):
- * test/mask.c: (mask_polygon), (draw):
-
- Rename and re-order the cairo_operator_t enum to names that
- abbreviate less and are easier to understand,
- (eg. CAIRO_OPERATOR_DEST_OVER instead of
- CAIRO_OPEERATOR_OVER_REVERSE).
-
-2005-05-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c: (cairo_create), (cairo_save), (cairo_get_target):
- * src/cairo.h:
- * src/cairoint.h:
- * src/cairo-gstate.c: (_cairo_gstate_create), (_cairo_gstate_init),
- (_cairo_gstate_get_target):
- * src/cairo-glitz.h:
- * src/cairo-pdf.h:
- * src/cairo-ps.h:
- * src/cairo-quartz-surface.c:
- * src/cairo-quartz.h:
- * src/cairo-surface.c: (_cairo_surface_begin):
- * src/cairo-win32.h:
- * src/cairo-xcb.h:
- * src/cairo-xlib.h: Remove cairo_set_target_surface and all other
- backend-specific cairo_set_target functions. Require a
- cairo_surface_t* to call cairo_create.
-
- * test/cairo-test.c: (create_image_surface), (cleanup_image),
- (create_glitz_surface), (cleanup_glitz), (create_quartz_surface),
- (cleanup_quartz), (create_win32_surface), (cleanup_win32),
- (create_xcb_surface), (cleanup_xcb), (create_xlib_surface),
- (cleanup_xlib), (cairo_test_for_target), (cairo_test_real):
-
- Port to use new cairo_create interface.
-
- * test/clip-nesting.c: (draw):
- * test/mask.c: (mask_polygon), (draw):
- * test/path-data.c: (main):
- * test/pdf-surface.c: (main):
- * test/pixman-rotate.c: (draw):
- * test/scale-source-surface-paint.c: (draw):
- * test/self-copy.c: (draw):
- * test/source-clip.c: (draw):
- * test/source-surface-scale-paint.c: (draw):
- * test/surface-pattern.c: (draw):
-
- Rewrite all tests that were using cairo_set_target_surface to
- instead create a temporary cairo_t, (eventually to be replaced
- with cairo_begin_group).
-
-2005-05-05 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.[ch] doc/public/cairo-sections.txt: Add
- cairo_paint_with_alpha().
-
- * src/cairo-pattern.c (_cairo_pattern_acquire_surfaces): Fix
- segfault when mask == NULL.
-
- * test/mask.c test/mask-ref.png: Add testing of cairo_paint_with_alpha().
-
- * test/coverage.c test/coverage-ref.png: Remove ... it's not testing
- anything that mask doesn't test better.
-
-2005-05-04 David Reveman <davidr@novell.com>
-
- * src/cairo-glitz-surface.c: Add glyph caching to glitz backend.
-
-2005-05-03 Kristian Høgsberg <krh@redhat.com>
-
- Fills as paths patch originally by Owen Taylor.
-
- * src/cairo-path.c: (_cairo_path_fixed_rel_move_to),
- (_cairo_path_fixed_line_to), (_cairo_path_fixed_rel_line_to),
- (_cairo_path_fixed_curve_to), (_cairo_path_fixed_rel_curve_to):
- Make sure we have a current point for the relative path operators.
-
- * src/cairoint.h:
- * src/cairo-gstate.c: (_cairo_gstate_fill):
- * src/cairo-surface.c: (_cairo_surface_fill_path): Add fill_path
- backend method.
-
- * src/cairo-pdf-surface.c: (_cairo_pdf_document_close_stream),
- (emit_image_data), (emit_surface_pattern),
- (_cairo_pdf_path_move_to), (_cairo_pdf_path_line_to),
- (_cairo_pdf_path_curve_to), (_cairo_pdf_path_close_path),
- (_cairo_pdf_surface_fill_path): Implement fill_path in the PDF
- backend.
-
-2005-05-03 Carl Worth <cworth@cworth.org>
-
- Originally 2005-04-20 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo.c: Remove cairo_show_surface. Add new
- cairo_set_source_surface.
-
- * src/cairo-gstate.c: Remove _cairo_gstate_show_surface.
-
- * test/create-for-png.c: (draw):
- * test/pixman-rotate.c: (draw):
- * test/move-to-show-surface.c: (draw):
- * test/translate-show-surface.c: (draw): Replace calls to
- cairo_show_surface with cairo_set_source_surface; cairo_paint.
-
- * test/cairo-test.c: (cairo_test_real): Fix messages to prefer -
- over _.
-
- * src/cairo-png.c: (cairo_surface_write_to_png): Fix
- documentation.
-
- * test/filter-nearest-offset-ref.png:
- * test/filter-nearest-offset.c:
- * test/scale-source-surface-paint-ref.png:
- * test/scale-source-surface-paint.c:
- * test/source-surface-scale-paint-ref.png:
- * test/source-surface-scale-paint.c: Three new tests to exercise
- set_source_surface more completely, (two of these are expected
- failures dues to outstanding bugs).
-
-2005-05-03 Carl Worth <cworth@cworth.org>
-
- * TODO: Add suggestion for copy-on-write regions to fix clip
- region problems.
-
- * src/Makefile.am (install-data-local): Fix check for old headers
- to respect DESTDIR, (to work better when cross-compiling, etc.).
- Thanks to Luke-Jr <luke-jr@utopios.org>.
-
-2005-05-02 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-ft-font.c (_cairo_ft_scaled_font_font_extents): Changes the
- sign of extents->descent to match win32 backend and the conventional
- convention.
-
- * src/cairo.h: Document cairo_font_extents_t.
-
-2005-04-28 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-surface.c src/cairoint.h: Add _cairo_surface_begin/end
- to save and restore the clip state of a surface. Copy and store
- clip regions set on a surface so that we can save and restore them.
-
- * src/cairo.[ch]: Add a CAIRO_STATUS_BAD_NESTING error
- for interleaved use of two cairo_t's on the same surface. Also,
- add a skeleton doc comment for cairo_status_t.
-
- * src/cairo.c src/cairo-gstate.c src/cairoint.h: Use
- _cairo_surface_begin/end to replace
- _cairo_gstate_restore_external_state.
-
- * src/cairo-gstate.c: Use _cairo_surface_begin/end to save the
- state of a surface when we start drawing at it and restore it
- at the end. Check that the save level of the surface is what
- we expect on drawing operations and fail with CAIRO_STATUS_BAD_NESTING
- otherwise.
-
- * src/cairo-pattern.c src/cairoint.h (_cairo_pattern_acquire_surface_for_surface)
- (_cairo_pattern_release_surface): Surround use of pattern->surface
- with _cairo_surface->begin/end so we don't clip surfaces used as
- sources.
-
- * test/clip-nesting.c test/Makefile.am: Test of destinatin
- clipping with the nested creation of cairo_t's for the same
- context.
-
- * test/source-clip.c test/Makefile.am: Test that clipping on
- a source as a destination doesn't affect use of it as a source.
-
- * test/self-copy.c: XFAIL test for copying from a surface as
- a source to itself as a destination with a clip.
-
-2005-05-02 Keith Packard <keithp@keithp.com>
-
- reviewed by: cworth
-
- * src/cairo-path.c: (_cairo_path_fixed_rel_curve_to):
- Use correct arguments to compute absolute positions.
-
- * test/Makefile.am:
- * test/rel-path-ref.png:
- * test/rel-path.c: (draw), (main):
- Test cairo_rel_move_to, cairo_rel_line_to and cairo_rel_curve_to
-
-2005-05-02 Owen Taylor <otaylor@redhat.com>
-
- * test/Makefile.am (EXTRA_DIST): mask-ref.png, not
- mask.png. (Pointed out by Carl)
-
-2005-05-02 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.[ch] src/cairo-gstate.c: Add cairo_mask()
- and cairo_mask_surface().
-
- * test/maks.c tests/Makefile.am tests/mask-ref.png: Add a
- comprehensive tests for cairo_mask().
-
- * docs/public/cairo-sections.txt: Updated
-
-2005-05-02 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-gstate.c (_cairo_gstate_glyph_path): Also call
- _cairo_gstate_ensure_font() for this function.
-
-2005-04-28 Owen Taylor <otaylor@redhat.com>
-
- * TODO, ROADMAP: Add a item about reworking cairo_format_t.
-
-2005-04-28 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/cairo-test.c: (cairo_test_for_target): Replace annoying _
- in output image filenames with - for better consistency.
-
-2005-04-27 Carl Worth <cworth@cworth.org>
-
- * test/cairo-test.c: (set_xlib_target), (cleanup_xlib_target):
- Use 1 instead of 0 for width and height to avoid BadValue errors
- from XCreatePixmap.
-
-2005-04-27 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/buffer-diff.c: (xunlink), (buffer_diff), (image_diff):
- * test/buffer-diff.h:
- * test/cairo-test.c: (set_image_target), (cleanup_image_target),
- (set_glitz_target), (cleanup_glitz_target), (set_quartz_target),
- (cleanup_quartz_target), (set_win32_target),
- (cleanup_win32_target), (set_xcb_target), (cleanup_xcb_target),
- (set_xlib_target), (cleanup_xlib_target), (cairo_test_for_target),
- (cairo_test_real), (cairo_test_expect_failure), (cairo_test):
- * test/cairo-test.h:
- * test/read-png.c: (read_png_argb32):
- * test/xmalloc.h: Add support for testing multiple backends,
- courtesy of cairo_surface_write_to_png. Currently, only image and
- xlib backends are fullk hooked-up, but other backends should be
- quite easy to add for anyone skilled in the appropriate art.
-
-2005-04-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-traps.c src/cairoint.h (_cairo_traps_init_box):
- New function to create a single trapezoid box.
-
- * src/cairo.c src/cairo-gstate.c src/cairoint.h: Move
- the implementation of cairo_paint() into cairo-gstate.c
- for a better fix for the problem with backend/user coordinate
- confusion. Also no longer clear the current path on
- cairo_paint().
-
-2005-04-26 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_paint): Build rectangle with an identity
- matrix in place so that the entire target surface will be filled
- even when there is a transformation in place.
-
-2005-04-26 Owen Taylor <otaylor@redhat.com>
-
- * doc/public/cairo-sections.txt: Updated.
-
- * src/cairo-png.c src/cairo.h: Fix up some doc build issues.
-
-2005-04-26 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/paint-ref.png:
- * test/paint.c: (draw), (main): Add test to demonstrate bug in
- cairo_paint when under a non-identity transformation.
-
-2005-04-26 Carl Worth <cworth@cworth.org>
-
- * ROADMAP:
- * TODO: Note that cairo_paint and cairo_clip/fill/stroke_preserve
- are all done now.
-
-2005-04-26 Carl Worth <cworth@cworth.org>
-
- Originally: 2005-04-19 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Add cairo_stroke_preserve, cairo_fill_preserve,
- and cairo_clip_preserve.
-
- * src/cairoint.h:
- * src/cairo-gstate-private.h:
- * src/cairo-gstate.c: Rip the path out of cairo_gstate_t.
-
- * src/cairo-private.h: Add path to cairo_t.
-
- * src/cairo.c: Bring in most of the path code that used to live in
- cairo-gstate.c
-
- * src/Makefile.am:
- * src/cairo-arc-private.h:
- * src/cairo-arc.c: Move arc generation code into its own file.
-
- * src/cairo-path-data-private.h:
- * src/cairo-path-data.c: Accept path+ctm_inverse+tolerance instead
- of gstate. Absorb flattening and device space->user space
- conversion that used to be in _cairo_gstate_intepret_path.
-
- * src/cairo-path.c: Prefer cairo_fixed_t parameters over
- ciaro_point_t for cross-file interfaces.
-
- * src/cairo-ft-font.c: Track changes in _cairo_path_fixed
- interfaces.
-
- * test/fill-and-stroke.c: (draw): Port to use cairo_fill_preserve
- rather than cairo_save/cairo_restore which no longer work for
- saving the path.
-
- * test/get-and-set.c: (settings_set), (settings_get),
- (settings_equal): Remove get and set of current point since it is
- no longer affected by cairo_save and cairo_restore. Add get and
- set testing for cairo_matrix_t.
-
-2005-04-26 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/cairo-test.h:
- * test/pdf-surface.c: (main): Add very simple test to generate PDF
- output, (no automated verification yet).
-
- * test/cairo-test.c: (cairo_test):
- * test/create-for-png.c: (draw):
- * test/pixman-rotate.c: Track PNG interface changes, (no more
- include of cairo-png.h, cairo_surface_write_png renamed to
- cairo_surface_write_to_png).
-
-2005-04-26 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-png.h: Prototypes moved to cairo.h, this file removed.
-
- * src/cairo-png.c (cairo_surface_write_to_png_stream): Renamed
- from cairo_surface_write_png_to_stream() for consistency.
- (cairo_surface_write_to_png): Renamed from
- cairo_surface_write_png() for consistency.
-
-2005-04-25 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-png.c (cairo_surface_write_png): Factor out bulk of
- the code into a new callback based function, write_png(). Call it
- with a stdio write callback.
- (cairo_surface_write_png_to_stream): New function to write a
- surface to a PNG stream.
- (cairo_image_surface_create_from_png): Likewise, move most of the
- code to read_png(), clean up error handling and reduce this
- function to calling read_png() with a stdio based read function.
- (cairo_image_surface_create_from_png_stream): New function to
- create an image surface from a PNG stream.
-
- * src/cairo-image-surface.c (cairo_image_surface_get_width)
- (cairo_image_surface_get_height): New functions to get widht and
- height of an image surface.
-
- * src/cairo.h: Add new prototype and error codes.
-
- * test/create-for-png.c (draw): Adjust to new PNG API.
-
-2005-04-25 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32-surface.c (cairo_win32_surface_create): Initialize
- the saved_dc_bitmap field here as well ... not strictly needed,
- but cleaner. (Reported by Peter Arsoff)
-
-2005-04-23 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-gstate.c (_composite_trap_region): Finalize the
- correct pattern.
-
-2005-04-22 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-png.c (cairo_image_surface_create_for_png): Only check
- PNG signature if we read all the bytes. Don't fclose() the FILE
- argument (Steve Chaplin <stevech1097@yahoo.com.au>).
-
- Rename to cairo_image_surface_create_for_png() to
- cairo_image_surface_create_from_png() and change FILE arguments
- for this function and cairo_surface_write_png() to be a filename
- argument instead.
-
-2005-04-21 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-surface.c (_cairo_surface_set_clip_region): Handle
- backends that don't have a set_clip_region implementation (PDF).
-
-2005-04-19 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c: (cairo_paint):
- * src/cairo.h: Add new cairo_paint function.
-
- * src/cairoint.h: Add new get_extents function to the surface
- backend interface.
-
- * src/cairo-gstate.c: (_cairo_gstate_get_clip_extents): Add
- function to query current clip_extents.
-
- * src/cairo-glitz-surface.c: (_cairo_glitz_surface_get_extents):
- * src/cairo-image-surface.c: (_cairo_image_surface_get_extents),
- (_cairo_image_abstract_surface_get_extents):
- * src/cairo-pdf-surface.c: (_cairo_pdf_surface_get_extents):
- * src/cairo-ps-surface.c: (_cairo_ps_surface_get_extents):
- * src/cairo-quartz-surface.c: (_cairo_quartz_surface_get_extents):
- * src/cairo-win32-surface.c: (_cairo_win32_get_extents):
- * src/cairo-xcb-surface.c: (_cairo_xcb_surface_get_extents):
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_get_extents):
- Implement the new get_extents function for each backend.
-
- * src/cairo-surface.c: (_cairo_surface_init),
- (_cairo_surface_set_clip_region),
- (_cairo_surface_get_clip_extents): Save the clip extents from
- set_clip_region and implement _cairo_surface_get_clip_extents.
-
- * src/cairo-xlib-surface.c: (_cairo_xlib_surface_get_size),
- (_get_image_surface): Abstract away the evil XGetGeometry
- roundtrip in _cairo_xlib_surface_get_size.
-
- * test/gradient-alpha.c: (draw):
- * test/linear-gradient.c: (draw): Rewrite a couple of tests to
- call cairo_paint.
-
-2005-04-19 Carl Worth <cworth@cworth.org>
-
- * TODO: Update API Shakeup chart to indicate that cairo_paint and
- cairo_fill_preserve patches have been sent.
-
-2005-04-19 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/surface-pattern-ref.png:
- * test/surface-pattern.c: (draw), (main): Add a test of a
- repeating surface pattern.
-
-2005-04-18 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Mark a couple of items that are now complete.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/fill-and-stroke-ref.png:
- * test/fill-and-stroke.c: (draw), (main): Add test case that fills
- and strokes the same shapes, (in preparation for testing
- cairo_fill_preserve patch).
-
-2005-04-14 Carl Worth <cworth@cworth.org>
-
- * TODO: Update API Shakeup chart to indicate that cairo_set_source
- is done.
-
-2005-04-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo.c: Rename, add, and delete:
-
- cairo_set_pattern -> cairo_set_source
- cairo_get_pattern -> cairo_get_source
- cairo_set_rgb_color -> cairo_set_source_rgb
- -> cairo_set_source_rgba
- cairo_set_alpha ->
- cairo_get_alpha ->
-
- Note that we'll likely want to add cairo_set_source_surface.
-
- * src/cairo-color.c: Add _cairo_stock_color helper function.
- Improve some interfaces:
-
- _cairo_color_init _cairo_color_init_rgb
- _cairo_color_set_rgb -> _cairo_color_init_rgba
- _cairo_color_set_alpha _cairo_color_multiply_alpha
-
- _cairo_color_get_rgb -> _cairo_color_get_rbga
- _cairo_color_get_rgba_premultiplied
-
- * src/cairoint.h: Add cairo_stock_t and some helper macros:
-
- CAIRO_COLOR_WHITE
- CAIRO_COLOR_BLACK
- CAIRO_COLOR_TRANSPARENT
-
- Fix cairo_pattern_t by eliminating pattern->alpha.
- Fix cairo_solid_pattern_t to use cairo_color_t rather than three
- doubles.
-
- * src/cairo-glitz-surface.c:
- (_cairo_glitz_pattern_acquire_surface),
- (_cairo_glitz_pattern_acquire_surfaces),
- (_cairo_glitz_surface_composite_trapezoids): Track removal of
- pattern->alpha, simplifying the code considerably
-
- * src/cairo-gstate-private.h:
-
- * src/cairo-gstate.c: Track _cairo_color interface changes. Remove
- gstate->alpha. Propagate down set_source renamings.
-
- * src/cairo.h:
- * src/cairo-pattern.c: Rename:
-
- cairo_pattern_add_color_stop -> cairo_pattern_add_color_stop_rgba
-
- and add:
-
- cairo_pattern_add_color_stop_rgb
-
- Remove pattern->alpha, simplifying the code considerably.
-
- * src/cairo-pdf-surface.c:
- * src/cairo-ps-surface.c: Track pattern and color interface
- changes.
-
- * src/cairo-surface.c: Add const where appropriate on
- cairo_color_t*.
-
- * src/cairo-xlib-surface.c: (_cairo_surface_is_xlib): Add private
- type inspection predicate.
- (cairo_xlib_surface_set_size): Add check for surface type
- mismatch, (no useful error reporting yet, though).
-
- * test/Makefile.am: Note coverage as en expected failure.
-
- * test/cairo-test.c: (cairo_test_expect_failure): Improve line
- wrap on expected failure messages.
-
- * test/clip-twice.c:
- * test/coverage.c:
- * test/fill-rule.c:
- * test/line-width.c:
- * test/linear-gradient.c:
- * test/pixman-rotate.c:
- * test/set-source.c:
- * test/text-rotate.c:
- * test/trap-clip.c: Port all tests to new cairo_set_source
- interfaces.
-
-2005-04-14 Carl Worth <cworth@cworth.org>
-
- * test/gradient-alpha-ref.png:
- * test/gradient-alpha.c: (draw): Make gradient change color in
- addition to just changing alpha in order to highlight distinction
- between interpolating in premultiplied vs. non-premultiplied
- space.
-
-2005-04-14 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am: Improve instructions for when to add a test to
- the XFAIL list.
-
- * test/cairo-test.c: (cairo_test_expect_failure):
- * test/cairo-test.h:
- * test/pixman-rotate.c: (main):
- * test/text-rotate.c: (main): Print explanations for expected
- failures.
-
-2005-04-14 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/gradient-alpha-ref.png:
- * test/gradient-alpha.c: (draw), (main): Add gradient-alpha test
- in preparation for upcoming cairo_set_source patch.
-
-2005-04-14 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/set-source-ref.png:
- * test/set-source.c: (draw), (main): Add set-source test in
- preparation for upcoming cairo_set_source patch.
-
-2005-04-14 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-font.c (_cairo_simple_font_face_destroy): Remove
- a stray free() (#3029, Carl Worth)
-
- * test/select-font-no-show-text.c: Note that the bug is fixed.
-
-2005-04-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo-image-surface.c:
- (_cairo_image_abstract_surface_finish): Set freed pointer to NULL.
-
- * src/cairo-surface.c: (cairo_surface_finish): Fix to actually set
- surface->finished when done. Closes bug #2950 as documented in
- test/surface-finish-twice.c.
-
- * test/surface-finish-twice.c: Note that this bug is fixed.
-
-2005-04-13 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/surface-finish-twice.c: (draw), (main): Add new test to
- exercise crash when calling cairo_surface_finish twice on the same
- surface.
-
-2005-04-13 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/select-font-no-show-text.c: (draw), (main): Add new
- set-surface-no-show-text test.
-
- * test/cairo-test.c: (cairo_test): Be sure to call cairo_destroy
- even if the image size is 0,0 so that we can test bugs triggered
- during cleanup.
-
-2005-04-13 Carl Worth <cworth@cworth.org>
-
- * test/coverage-ref.png:
- * test/coverage.c: (draw_funcs), (draw): Temporarily remove all
- text from this test case until we come up with an approach for
- drawing the same text with different freetype configurations.
-
-2005-04-13 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-traps.c (_cairo_traps_extract_region): Work around
- a pair of bugs elsewhere (denegerate trapezoids from tesellator,
- pixman_region_union_rect() failing on width/height zero rectangles)
-
-2005-04-13 Owen Taylor <otaylor@redhat.com>
-
- * src/cairoint.h src/cairo-traps.c: Add _cairo_traps_extract_region
- for converting trapezoids into a pixman region.
-
- * src/cairo-gstate.c (cairo_clip): Represent all rectangular
- pixel-aligned regions as regions, not just single rectangles.
-
- * src/cairo-gstate.c (_cairo_gstate_clip_and_composite_trapezoid):
- Split into manageable pieces, optimize rectangular pixel-
- aligned regions by using _cairo_surface_fill_rectangles()
- or _cairo_surface_set_clip_region() as appropriate.
-
- * tests/trap-clip.c tests/trap-clip-ref.png tests/Makefile.am:
- Add a test for trapezoids clipping.
-
- * doc/public/cairo-docs.xml: Add an index.
-
-2005-04-12 Carl Worth <cworth@cworth.org>
-
- * test/translate-show-surface.c: Note that bug is now fixed.
-
-2005-04-12 Carl Worth <cworth@cworth.org>
-
- * autogen.sh: Replace errant use of aclocal with $ACLOCAL, as
- reported by Martin Hedenfalk. Closes bug #3000.
-
-2005-04-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo-pattern.c:
- * src/cairo-surface.c: (_cairo_surface_init): Default to
- CAIRO_FILTER_GOOD rather than CAIRO_FILTER_BEST.
-
- * src/cairo-pattern.c:
- (_cairo_pattern_acquire_surface_for_surface): Optimize to use
- CAIRO_FILTER_NEAREST when the pattern matrix is an integer
- translation.
-
-2005-04-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo-pattern.c:
- (_cairo_pattern_acquire_surface_for_surface):
- * src/cairo-surface.c: (_cairo_surface_init): Use
- CAIRO_FILTER_BEST by default rather than CAIRO_FILTER_NEAREST.
-
-2005-04-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c (_cairo_gstate_show_surface): Offset the src
- pattern by (0,0)->CTM. This fixes test/translate-show-surface.
-
- * src/cairo-glitz-surface.c
- (_cairo_glitz_surface_composite_trapezoids): Use unsigned cahr* to
- match new prototype for cairo_image_surface_create_for_data.
-
-2005-04-11 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/translate-show-surface-ref.png:
- * test/translate-show-surface.c: (draw), (main): Add new test
- demonstrating bug in the sequence: cairo_translate;
- cairo_show_surface.
-
-2005-04-11 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_select_font_face): Add deprecation alias from
- cairo_scale_font to cairo_set_font_size.
-
-2005-04-11 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_select_font_face): Add deprecation alias from
- cairo_select_font to cairo_select_font_face.
-
-2005-04-11 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.h doc/public/cairo-sections.txt
- src/cairo-matrix.c: Update.
-
- * doc/public/cairo-docs.xml: Include cairo-font.xml
-
-2005-04-08 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo.h: Move include of pixman.h from cairo.h to cairoint.h
- since libpixman isn't part of cairo's public interface.
-
- * test/move-to-show-surface.c (draw): Use unsigned long rather
- than uint32_t since we no longer have pixman.h setting that type
- up for us.
-
- * src/cairo-font.c (cairo_font_face_destroy): Remove unused
- variable user_data_copy.
-
-2005-04-08 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.h src/cairo-font.c src/cairoint.h
- doc/public/cairo-sections.txt:
- Add cairo_font_face_set/get_user_data().
-
- * src/cairo-array.c src/cairoint.h src/cairo-surface.c:
- Refactor user data code from cairo-surface.c into
- cairo_user_data_array_t.
-
- * src/cairo-font.c (cairo_font_face_destroy,
- (cairo_scaled_font_destroy, _cairo_unscaled_font_destroy):
- Switch these types to be like cairo_surface_t where the
- generic code frees the wrapper object.
-
- * src/cairo-atsui-font.c src/cairo-ft-font.c
- src/cairo-win32-font.c: Fix up for the above changes.
-
- * src/cairo-ft-font.c (_cairo_ft_unscaled_font_destroy,
- _ft_font_face_destroy): Implement a complicated mutual-referencing
- scheme to make sure that a face from cairo_ft_font_face_create_for_ft_face()
- is freed only when the FT_Face is no longer needed.
-
- * src/cairo-ft-font.c (cairo_ft_font_face_create_for_ft_face):
- Update the docs to describe how to figure out when the FT_Face
- can be freed.
-
- * src/cairo-ft-font.c: Fix refcount leaks when creating fonts.
-
- * src/cairo-pdf-surface.c (cairo_pdf_ft_font_create): Remove
- excess call to _cairo_unscaled_font_reference().
-
- * src/cairo-gstate.c (_cairo_gstate_set_font_face): Remove
- stray initialization of font matrix to the identity.
-
- * src/cairo-array.c (_cairo_user_data_array_set_data) test/user-data.c:
- Fix a bug when setting/unsetting a key with a free key slot before it,
- add that to the test case.
-
- * src/cairo-array.c (_cairo_user_data_array_set_data):
- Don't append an element when user_data is NULL.
-
-2005-04-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * src/cairo-glitz-surface.c (_cairo_glitz_surface_set_matrix):
- Update to track changes to cairo_matrix_t interface.
-
-2005-04-08 Carl Worth <cworth@cworth.org>
-
- * ROADMAP: Add ROADMAP file with an initial stab at 1.0 items.
-
-2005-04-08 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c:
- (_cairo_gstate_transform), (_cairo_gstate_set_matrix),
- (_cairo_gstate_interpret_path): Eliminate internal use of
- deprecated cairo_matrix_copy.
-
- * src/cairo-gstate.c: (_cairo_gstate_get_matrix),
- * src/cairo-matrix.c: (cairo_matrix_copy):
- * src/cairo.c: (cairo_get_matrix):
- * src/cairo.h:
- * src/cairoint.h: Change cairo_get_matrix to accept a pointer to
- the return value cairo_matrix_t rather than returning the value
- directly.
-
-2005-04-08 Carl Worth <cworth@cworth.org>
-
- * src/cairo-matrix.c (cairo_matrix_init_identity): Don't try to
- return a value (even a void value) from a void function. Closes
- bug #2931.
-
-2005-04-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo-wideint.h: Remove broken code for defining
- uint64_t.
-
-2005-04-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo-surface.c: (_cairo_surface_release_source_image),
- (_cairo_surface_release_dest_image),
- (_cairo_surface_clone_similar), (_cairo_surface_composite),
- (_cairo_surface_fill_rectangles),
- (_cairo_surface_composite_trapezoids), (_cairo_surface_copy_page),
- (_cairo_surface_show_page), (_cairo_surface_show_glyphs):
-
- Change to allow NULL backend function pointers to indicate
- unsupported functions.
-
- * src/cairo-glitz-surface.c:
- * src/cairo-image-surface.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-ps-surface.c:
- * src/cairo-quartz-surface.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c: Eliminate stub functions and replace
- with NULL in surface backend table.
-
-2005-04-07 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.[ch] src/cairoint.h src/cairo-gstate.c
- docs/public/cairo-sections.txt:
- cairo_select_font() => cairo_select_font_face()
- cairo_scale_font() => cairo_set_font_size()
- cairo_transform_font() => cairo_set_font_matrix()
- Add cairo_get_font_matrix(). Make cairo_set_font_face()
- not reset the font matrix. Default the font matrix
- to SCALE(10). Document cairo_select_font_face().
-
- * test/coverage.c (draw) test/text-cache-crash.c (draw)
- test/text-rotate.c (draw): Use cairo_set_font_size().
-
- * src/cairo-font.c src/cairo.h: Fix up some parameter
- names for docs.
-
-2005-04-07 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32-font.c: Fix various compilation errors.
-
-2005-04-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c:
- * src/cairo-png.c:
- * src/cairo-win32-font.c:
- * src/cairo-win32-surface.c:
- * src/cairo-win32.h:
- * src/cairoint.h: Minor changes to header file inclusion
- recommended by Oleg Smolsky for better portability to MSVC.
-
-2005-04-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo-png.c (PNG_SIG_SIZE): Use a preprocessor macro to get
- a literal value in the array size declaration, (for better
- portability to lame compilers that can't deal with a const int
- variable for the array size). Reported by Oleg Smolsky.
- (PNG_SIG_SIZE): Fix typo.
-
-2005-04-07 Carl Worth <cworth@cworth.org>
-
- * configure.in:
- * src/cairo-wideint.h:
- * src/cairoint.h: Use configure-time checks for stdint.h
- vs. inttypes.h vs. sys/int_types.h rather than ad-hoc
- system-specific macros. Also define these types manually none of
- these header are available. (Thanks to Jason Dorje Short
- <jdorje@users.sf.net>).
-
-2005-04-07 Carl Worth <cworth@cworth.org>
-
- * test/imagediff.c (main): Fix to return non-zero status on error.
-
-2005-04-06 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.h src/cairo-gstate.c src/cairo-font.c: Add
- a cairo_font_face_t type to hold a description of a font
- face. Replace cairo_set_font() with cairo_set_font_face().
-
- * src/cairoint.h src/cairo-font.c src/cairo-gstate.c: Add
- "cairo_simple_font_face" for family/weight/slant and use
- it to implement font naming for the toy API.
-
- * src/cairo-ft.h src/cairo-ft-font.c cairo-win32.h
- cairo-win32-font.c: Switch the FreeType and Win32 backends
- over to using cairo_font_face_t.
-
- * src/cairo.h src/cairo-font.c src/cairo-ft-font.c
- src/cairo-win32-font.c: Pass in font matrix and CTM separately
- rather than as a composite scale when creating fonts; allows
- removing font_matrix argument to metrics functions.
-
- * src/cairoint.h src/cairo-font.c src/cairo-ft-font.c
- src/cairo-win32-font.c: Remove cairo_font_scale_t type,
- just use cairo_matrix_t and ignore translations.
-
- * src/cairo-ft.h src/cairo-ft-font.c: Remove
- cairo_ft_font_get_pattern() -- it can't work for all FreeType
- backend fonts and doesn't seem particularly useful.
-
- * src/cairo.[ch]: Rename cairo_font_get_extents() to
- cairo_font_extents()
-
- * doc/public/cairo-sections.txt: Update, split font functions
- into a separate section.
-
- * src/cairo-ft-font.c (_ft_unscaled_font_get_for_pattern): Fix
- locking order problem.
-
- * src/cairo-font.c: Add caches for simple font faces and from
- cairo_font_face_t to cairo_scaled_font_t.
-
- * src/cairo.h src/cairoint.h src/cairo-font.c src/cairo-win32-font.c
- src/cairo-ft-font.c src/cairo-gstate.c src/cairo-gstate-private.h:
- Rename cairo_font_t to cairo_scaled_font_t.
-
-2005-04-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Rework the cairo_matrix_t interface in several ways.
- Expose a struct for cairo_matrix_t.
-
- Add new function to return current matrix:
- cairo_get_matrix
-
- Deprecate the following functions (in documentation):
- cairo_matrix_create
- cairo_matrix_destroy
- cairo_matrix_get_affine
-
- Rename:
- cairo_matrix_set_affine -> cairo_matrix_init
- cairo_matrix_set_identity -> cairo_matrix_init_identity
-
- Add other new matrix initialization functions:
- cairo_matrix_init_translate
- cairo_matrix_init_scale
- cairo_matrix_init_rotate
-
- Change return type of almost all cairo_matrix functions from
- cairo_status_t to void.
-
- * src/cairo-atsui-font.c:
- * src/cairo-ft-font.c:
- * src/cairo-gstate.c:
- * src/cairo-image-surface.c:
- * src/cairo-matrix.c:
- * src/cairo-pattern.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-pen.c:
- * src/cairo-surface.c:
- * src/cairo-win32-font.c:
- * src/cairo-xlib-surface.c:
- * src/cairo.c:
- * src/cairoint.h: Track changes to cairo_matrix_t interface.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/transforms-ref.png:
- * test/transforms.c: Add a test case showing the same path drawn
- under various transforms, (including skews set directly by
- initializing a cairo_matrix_t).
-
-2005-04-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Make handling of unsigned char* vs. char*
- consistent. Change all parameters that are actual string data from
- unsigned char* to char* (cairo_text_extents, cairo_show_text,
- cairo_text_path). Change all data buffers from char* to unsigned
- char* (cairo_write_func_t).
-
- * src/cairo-gstate.c: (_cairo_gstate_text_to_glyphs):
- * src/cairo-ft-font.c: (_cairo_ft_font_text_to_glyphs):
- * src/cairo-font.c: (_cairo_font_text_to_glyphs):
- * src/cairo-atsui-font.c: (_cairo_atsui_font_text_to_glyphs):
- * src/cairoint.h:
- * src/cairo.c: (cairo_text_extents), (cairo_show_text),
- (cairo_text_path): Track changes from unsigned char* to
- char*. Convert to unsigned only at the internal interface to
- unicode processing.
-
- * test/move-to-show-surface.c: (draw):
- * src/cairo-output-stream.c: (_cairo_output_stream_printf),
- (stdio_write): Track change from char* to unsigned char*.
-
-2005-04-06 Carl Worth <cworth@cworth.org>
-
- * src/cairo-cache.c (_cairo_cache_init): Fix reversed arguments in
- call to calloc.
-
-2005-04-04 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h (cairo_set_target_image,
- cairo_image_surface_create_for_data):
- * src/cairo.c: (cairo_set_target_image): Change type of data
- parameter from char* to unsigned char*.
-
- * src/cairo-ft-font.c: (_cairo_ft_font_create_glyph):
- * src/cairo-image-surface.c: (cairo_image_surface_create_for_data):
- * src/cairo-pattern.c:
- (_cairo_pattern_acquire_surface_for_gradient):
- * test/buffer-diff.c: (buffer_diff):
- * test/buffer-diff.h:
- * test/write-png.c: (write_png_argb32):
- * test/write-png.h: Propagate the unsigned char* change down the
- stack.
-
- * src/cairo-xlib-surface.c: (_get_image_surface): Add cast since
- XImage uses char* rather than unsigned char*.
-
- * src/cairo-png.c: (cairo_image_surface_create_for_png): Fix
- memory leak of image data.
-
- * test/cairo-test.c: (cairo_test), (cairo_test_create_png_pattern):
- * test/cairo-test.h: Switch to use cairo_surface_write_png rather
- than a custom write_png_argb32.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/create-for-png-ref.png:
- * test/create-for-png.c: (draw), (main): Add test to exercise the
- cairo_image_surface_create_for_png function.
-
-2005-04-04 Carl Worth <cworth@cworth.org>
-
- * TODO: Remove items for PNG backend removal and trapezoid
- reasterization re-implementation since they have been completed.
-
-2005-04-04 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c:
- * src/cairo.h: Drop cairo_default_matrix since it is now always
- identical to cairo_identity_matrix.
-
- * src/cairo-gstate-private.h:
- * src/cairo-gstate.c: (_cairo_gstate_init),
- (_cairo_gstate_set_target_surface): Remove gstate->pixels_per
- inch. Change default matrix to always be the identity matrix.
-
- * src/cairo-glitz-surface.c:
- * src/cairo-image-surface.c:
- * src/cairo-pdf-surface.c:
- * src/cairo-ps-surface.c:
- * src/cairo-quartz-surface.c:
- * src/cairo-surface.c:
- * src/cairo-win32-surface.c:
- * src/cairo-xcb-surface.c:
- * src/cairo-xlib-surface.c:
- * src/cairoint.h: Drop pixels_per_inch function from surface
- backend interface as it is no longer needed.
-
-2005-04-02 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate.c: (_cairo_gstate_show_surface): Use the
- current point to offset just the destination, not the source and
- destination. With this fix, cairo_show_surface should work with
- the current point at places other than the origin.
-
- * test/Makefile.am: Move move-to-show-surface off the expected
- failure list.
-
- * test/move-to-show-surface.c: Add comment indicating that bug is
- resolved.
-
- * test/testsvg: Don't use diff to compare images, just imagediff.
-
-2005-04-02 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h:
- * src/cairo.c: (cairo_set_target_image), (cairo_text_extents),
- (cairo_show_text), (cairo_text_path):
- * src/cairo-image-surface.c: (cairo_image_surface_create_for_data):
- * src/cairo-gstate.c: (_cairo_gstate_text_to_glyphs):
- * src/cairo-font.c: (_cairo_font_create): Style and indentation
- fixes.
-
- * src/cairo-ft-font.c: (_cairo_ft_font_create): Add (unsigned
- char*) cast to quiet new gcc-4 warnings.
-
- * src/cairo-ft-font.c: (_cairo_ft_font_glyph_extents): Initialize
- variables to quiet new gcc-4 warnings.
-
- * src/cairo-pdf-surface.c: (cairo_pdf_ft_font_write_generic_table),
- (cairo_pdf_ft_font_write_glyf_table):
- * src/cairo-png.c: (cairo_surface_write_png),
- (cairo_image_surface_create_for_png):
- * src/cairo-xlib-surface.c: (_get_image_surface):
- * src/cairo-ps-surface.c: (_cairo_ps_surface_copy_page):
- Use unsigned char* as expected by freetype, libpng, Xlib, and zlib.
-
- * src/cairoint.h:
- * src/cairo-unicode.c: (_utf8_get_char), (_utf8_get_char_extended),
- (_cairo_utf8_to_ucs4), (_cairo_utf8_to_utf16): Propagate unsigned
- char* down from cairo_text_extents.
-
-2005-04-01 Carl Worth <cworth@cworth.org>
-
- * TODO: Update API shakeup chart.
-
- * src/cairo.h:
- * src/cairo.c: (cairo_set_target_image_no_data): Add a standin for
- the function that should be cairo_set_target_image which should
- then have some other name. We can straighten that mess out when we
- eliminate the set_target functions. Add deprecation alias for
- cairo_current_pattern.
-
- * src/cairoint.h:
- * src/cairo-image-surface.c:
- * src/cairo-surface.c: Deprecate cairo_surface_create_for_image in
- favor of cairo_image_surface_create_for_data.
-
-2005-03-31 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo.c (cairo_set_target_png): Remove this function now
- that the PNG backend is gone.
-
-2005-03-30 Carl Worth <cworth@cworth.org>
-
- * configure.in: Fix typo I had introduced into Jason's patch that
- made configure fail.
-
-2005-03-30 Carl Worth <cworth@cworth.org>
-
- A few fixes courtesy of Jason Dorje Short <jdorje@users.sf.net>:
-
- * configure.in: Disable PS backend if zlib is not found.
-
- * src/cairo-win32-font.c: (_cairo_win32_font_glyph_path): Fix
- mistyped parameter.
-
- * src/cairo-win32-surface.c: (_cairo_win32_surface_finish): Fix
- missing return value.
-
-2005-03-30 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-gstate.c (_cairo_gstate_stroke_extents): call
- _cairo_pen_init so that the result takes into account the caps.
-
-2005-03-29 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-xlib.h: include Xlib.h to fix solaris build bustage.
-
-2005-03-29 T Rowley <tim.rowley@gmail.com>
-
- * src/cairo-wideint.h: add preprocessor tests for stdint.h/inttypes.h
-
- * src/cairoint.h: add preprocessor tests for stdint.h/inttypes.h
-
-2005-03-29 T Rowley <tim.rowley@gmail.com>
-
- * configure.in: re-enable quartz backend
-
- * src/cairo-quartz-surface.c: update to compilable/workable version
-
- * src/cairo-atsui-font.c: update to compilable/workable version
-
-2005-03-29 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am:
- * test/*_*.c: More _/- renames in the test directory.
-
-2005-03-28 Carl Worth <cworth@cworth.org>
-
- * src/Makefile.am:
- * src/cairo_*.c: Renamed a bunch of files to use - rather than _
- as a separator. Copy happened in the master repository to preserve
- history, so this is just a big remove.
-
-2005-03-28 Carl Worth <cworth@cworth.org>
-
- * TODO: Sorted API shakeup chart.
-
-2005-03-28 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo-png.c (cairo_image_surface_write_png)
- (cairo_image_surface_create_from_png): New PNG utility functions.
-
- * src/cairo_pdf_surface.c, src/cairo-pdf.h: Reverse the naming of
- the pdf constructors so the callback based ones have the long
- names.
-
-2005-03-25 Jamey Sharp <jamey@minilop.net>
-
- * src/cairo-xcb.h:
- * src/cairo_xcb_surface.c:
- Fix "implicit declaration" warning in cairo.c by moving
- cairo_xcb_surface_create prototype into cairo-xcb.h.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo-path-fixed-private.h:
- * src/cairo_path.c: Clean up names of cairo_path internals.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo_path_fill.c:
- * src/cairo_path_stroke.c: Remove unneeded includes of
- cairo-path-fixed-private.h.
-
- * src/cairo_ft_font.c (_cairo_ft_font_glyph_path): Fix
- indentation.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * TODO: More updates to the API Shakeup chart.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo_path.c: (_cairo_path_fixed_init),
- (_cairo_path_fixed_init_copy), (_cairo_path_fixed_fini),
- (_cairo_path_fixed_move_to), (_cairo_path_fixed_rel_move_to),
- (_cairo_path_fixed_line_to), (_cairo_path_fixed_rel_line_to),
- (_cairo_path_fixed_curve_to), (_cairo_path_fixed_rel_curve_to),
- (_cairo_path_fixed_close_path),
- (_cairo_path_fixed_get_current_point), (_cairo_path_add),
- (_cairo_path_add_op_buf), (_cairo_path_new_op_buf),
- (_cairo_path_add_arg_buf), (_cairo_path_new_arg_buf),
- (_cairo_path_fixed_interpret):
- * src/cairo_path_bounds.c: (_cairo_path_fixed_bounds):
- * src/cairo_path_fill.c: (_cairo_path_fixed_fill_to_traps):
- * src/cairo_path_stroke.c: (_cairo_path_fixed_stroke_to_traps):
- * src/cairoint.h: Rename cairo_path_real_t to cairo_path_fixed_t
- and fix all _cairo_path functions to be named as _cairo_path_fixed
- functions.
-
- * src/cairo-gstate-private.h:
- * src/cairo-path-fixed-private.h:
- * src/cairo_font.c: (_cairo_font_glyph_path):
- * src/cairo_ft_font.c: (_move_to), (_line_to), (_conic_to),
- (_cubic_to), (_cairo_ft_font_glyph_path):
- * src/cairo_gstate.c: (_cairo_gstate_init),
- (_cairo_gstate_init_copy), (_cairo_gstate_fini),
- (_cairo_gstate_new_path), (_cairo_gstate_move_to),
- (_cairo_gstate_line_to), (_cairo_gstate_curve_to),
- (_cairo_gstate_rel_move_to), (_cairo_gstate_rel_line_to),
- (_cairo_gstate_rel_curve_to), (_cairo_gstate_close_path),
- (_cairo_gstate_get_current_point), (_cairo_gstate_interpret_path),
- (_cairo_gstate_stroke), (_cairo_gstate_in_stroke),
- (_cairo_gstate_fill), (_cairo_gstate_in_fill),
- (_cairo_gstate_stroke_extents), (_cairo_gstate_fill_extents),
- (_cairo_gstate_clip), (_cairo_gstate_text_to_glyphs): Track name
- change of cairo_path_real_t and _cairo_path_fixed functions.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo-path-data-private.h: Remove CAIRO_BEGIN_DECLS and
- CAIRO_END_DECLS as they are not needed for private headers.
-
- * src/cairoint.h: Add ASSERT_NOT_REACHED macro.
-
- * src/cairo.c: (cairo_get_path), (cairo_get_path_flat): Rewrite in
- terms of cairo_copt_path and cairo_copy_path_flat in preparation
- for removing cairo_gstate_interpret_path.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo-gstate-private.h:
- * src/cairo-path-fixed-private.h:
- * src/cairo-private.h:
- * src/cairoint.h: Begin the process of breaking up cairoint.h,
- moving structure definitions of cairo_t, cairo_gstate_t, and
- cairo_path_real_t into their own header files.
-
- * src/cairo.c:
- * src/cairo_gstate.c:
- * src/cairo_path.c:
- * src/cairo_path_fill.c:
- * src/cairo_path_stroke.c:
- * src/cairo_pen.c: Track changes to header files, reaching into
- the new private headers where necessary.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c: (cairo_set_target_glitz), (cairo_set_target_pdf),
- (cairo_set_target_pdf_as_file), (cairo_set_target_png),
- (cairo_set_target_ps), (cairo_set_target_win32),
- (cairo_set_target_xcb), (cairo_set_target_drawable): Move
- surface-specific cairo_t functions to cairo.c.
-
- * src/cairo_glitz_surface.c:
- * src/cairo_pdf_surface.c:
- * src/cairo_png_surface.c:
- * src/cairo_ps_surface.c:
- * src/cairo_win32_surface.c:
- * src/cairo_xcb_surface.c:
- * src/cairo_xlib_surface.c: Remove functions that have now moved
- to cairo.c.
-
- * test/.cvsignore: A few new files to ignore now with new
- compilation mode using a libtool helper library.
-
-2005-03-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Add backwards-compatibility for recently renamed
- functions.
-
-2005-03-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c:
- * src/cairo_gstate.c: (_cairo_gstate_transform),
- (_cairo_gstate_user_to_device),
- (_cairo_gstate_user_to_device_distance),
- (_cairo_gstate_device_to_user),
- (_cairo_gstate_device_to_user_distance),
- (_cairo_gstate_reset_clip):
- * src/cairo_matrix.c:
- * src/cairoint.h:
- * src/cairo.h: Rename functions to eliminate abbreviations:
- cairo_concat_matrix -> cairo_transform
- cairo_transform_point -> cairo_user_to_device
- cairo_transform_distance -> cairo_user_to_device_distance
- cairo_inverse_transform_point -> cairo_device_to_user
- cairo_inverse_transform_distance-> cairo_device_to_user_distance
- cairo_init_clip -> cairo_reset_clip
-
-2005-03-18 Carl Worth <cworth@cworth.org>
-
- * TODO: Update API shakeup chart.
-
-2005-03-18 Carl Worth <cworth@cworth.org>
-
- * src/cairo-path-data-private.h: * src/cairo.c: (cairo_copy_path),
- (cairo_copy_path_flat),
- (cairo_append_path): Rename cairo_copy_path_data,
- cairop_copy_path_data_flat, and cairo_append_path_data to
- cairo_copy_path, cairo_copy_path_flat, and cairo_append_path.
-
- * src/cairo.h: Add new cairo_path_t, containing a
- cairo_path_data_t array and an explicit length. Remove
- CAIRO_PATH_END_PATH terminator from cairo_path_data_t.
-
- * src/cairo_atsui_font.c: (_cairo_atsui_font_glyph_path):
- * src/cairo_font.c: (_cairo_font_glyph_path):
- * src/cairo_ft_font.c: (_move_to), (_line_to), (_conic_to),
- (_cubic_to), (_cairo_ft_font_glyph_path):
- * src/cairo_gstate.c: (_cairo_gstate_interpret_path):
- * src/cairo_path.c: (_cairo_path_init), (_cairo_path_init_copy),
- (_cairo_path_fini), (_cairo_path_move_to),
- (_cairo_path_rel_move_to), (_cairo_path_line_to),
- (_cairo_path_rel_line_to), (_cairo_path_curve_to),
- (_cairo_path_rel_curve_to), (_cairo_path_close_path),
- (_cairo_path_get_current_point), (_cairo_path_add),
- (_cairo_path_add_op_buf), (_cairo_path_new_op_buf),
- (_cairo_path_add_arg_buf), (_cairo_path_new_arg_buf),
- (_cairo_path_interpret):
- * src/cairo_path_bounds.c: (_cairo_path_bounds):
- * src/cairo_path_data.c: (_cairo_path_data_count),
- (_cairo_path_data_populate), (_cairo_path_data_create_real),
- (cairo_path_destroy), (_cairo_path_data_append_to_context):
- * src/cairo_path_fill.c: (_cairo_path_fill_to_traps):
- * src/cairo_path_stroke.c: (_cairo_path_stroke_to_traps):
- * src/cairoint.h:
- * test/path_data.c: (munge_and_set_path), (draw), (main): Rename
- the internal path object from cairo_path_t to cairo_path_real_t.
-
-2005-03-18 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c (cairo_set_target_pdf_as_file)
- (cairo_set_target_pdf): Remove return statements from these
- functions (bug #2137).
-
-2005-03-18 Carl Worth <cworth@cworth.org>
-
- * src/Makefile.am (libcairo_la_SOURCES): Remove unused
- libcairo_freetype_sources (thanks to Damien Carbery). Closes bug
- #2673.
-
-2005-03-17 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_matrix.c (cairo_matrix_rotate): doc fix -
- 90 degrees is MI_PI/2 radians.
-
- * src/cairo.c src/cairo_matrix.c src/cairo_ft_font.c
- src/cairo_ps_surface.c src/cairo_quartz_surface.c
- src/cairo_win32_font.c src/cairo_win32_surface.c
- src/cairo_xlib_surface.c: Cairo is only capitalized
- at the beginning of sentences.
-
-2005-03-17 Kristian Høgsberg <krh@redhat.com>
-
- From Tor Lillqvist <tml@novell.com>:
-
- * test/cairo_test.c (cairo_test): Open output PNG files in binary
- mode.
-
-2005-03-17 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.h src/cairo_surface.c src/cairo-xlib.h
- src/cairo_xlib_surface.c: Move cairo_xlib_surface_set_device_offset()
- to a generic cairo_surface_set_device_offset().
-
- * src/cairo_gstate.c: Take the surface's device offset into
- account.
-
- * doc/public/cairo-sections.txt: Update.
-
-2005-03-17 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_matrix.c: Fix the docs to to correctly describe
- the order of transformation for muliply/scale/rotate/translate.
- (cairo_matrix_translate): Fix translate/rotate typo in the
- parameter descriptions.
-
-2005-03-17 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_output_stream.c: Forgot to add this file.
-
-2005-03-16 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_surface.c (_destroy_user_data)
- (cairo_surface_set_user_data): Dont call user data destroy
- function if it's NULL.
-
- * test/user_data.c: (main): Add test case for user data with NULL
- destroy function.
-
-2005-03-16 Kristian Høgsberg <krh@redhat.com>
-
- * src/Makefile.am: Add cairo_output_stream.c
-
- * src/cairo.h: Add new errors, CAIRO_STATUS_WRITE_ERROR and
- CAIRO_STATUS_SURFACE_FINISHED, add cairo_surface_finish()
- prototype, add cairo_write_func_t.
-
- * src/cairo.c: Add strings for new errors, documentation fix.
-
- * src/cairo_win32_surface.c:
- * src/cairo_xcb_surface.c:
- * src/cairo_xlib_surface.c:
- * src/cairo_glitz_surface.c:
- * src/cairo_image_surface.c:
- * src/cairo_png_surface.c:
- * src/cairo_ps_surface.c: Rename surface destroy functions to
- finish and change them to not free the surface.
-
- * src/cairo-pdf.h:
- * src/cairo_pdf_surface.c: Change PDF surface constructors to take
- a write function in the general case and add stdio convenience
- constructors. Change destroy function to finish for
- cairo_pdf_surface. Change implementation to use
- cairo_output_stream_t functions for output.
-
- * src/cairo_font.c: (_cairo_font_show_glyphs): Use
- _cairo_surface_show_glyphs instead of calling function pointer
- directly.
-
- * src/cairoint.h: Add prototypes for cairo output stream
- functions, rename destroy to finish in cairo_surface_backend_t and
- add finished flag to cairo_surface_t.
-
- * src/cairo_surface.c: Add cairo_surface_finish() and call it from
- cairo_surface_destroy(). Check the finished flag in
- cairo_surface_t in functions that change the surface.
-
-2005-03-15 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-xlib.h src/cairo_xlib_surface.c: Rework set
- of contructors for XLib surfaces. Add
- cairo_xlib_surface_set_size().
-
- * src/cairo-xlib.h src/cairo_xlib_surface.c: Add
- cairo_xlib_surface_set_device_offset().
-
- * src/cairo_xlib_surface.c (cairo_xlib_surface_set_clip_region):
- Rewrite for clarity and efficiency.
-
- * src/cairo_xlib_surface.c (_get_image_surface): Use a
- temporary pixmap to avoid possible BadMatch when fetch
- from windows.
-
- * src/cairo.[ch] src/cairo-xlib.h: Fix some parameter names
- for the docs.
-
- * doc/public/cairo-sections.txt: Update
-
-2005-03-14 Carl Worth <cworth@cworth.org>
-
- * test/path_data-ref.png: Add reference image.
-
-2005-03-14 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am: Fixes to force tests to run against locally
- compiled version (thanks to Manish Singh).
-
-2005-03-11 Carl Worth <cworth@cworth.org>
-
- * doc/public/cairo-sections.txt:
- * doc/public/tmpl/cairo-surface.sgml:
- * doc/public/tmpl/cairo.sgml: Added some documentation, so we get
- some churn here.
-
- * src/cairo.c:
- * src/cairo.h: New functions: cairo_copy_path_data,
- cairo_copy_path_data_flat, and cairo_append_path_data.
-
- * src/Makefile.am:
- * src/cairo-path-data-private.h:
- * src/cairo_path_data.c: Add new implementation for
- cairo_copy_path_data and cairo_append_path_data.
-
- * test/Makefile.am:
- * test/path_data.c: New test for new path_data functions.
-
-2005-03-10 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_surface.c (_destroy_user_data): Add this function and
- call it on surface destruction.
-
-2005-03-10 Kristian Høgsberg <krh@redhat.com>
-
- * test/user_data.c (main): Fix assert()'s using = instead of ==.
-
- * test/cairo_test.c (cairo_test): Move xunlink call below the
- xasprintf that builds the filename to unlink.
-
-2005-03-10 Carl Worth <cworth@cworth.org>
-
- * TODO: API Shakeup status update.
-
-2005-03-10 Carl Worth <cworth@cworth.org>
-
- Originally: 2005-02-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo_surface.c (cairo_surface_set_user_data)
- (cairo_surface_get_user_data):
- * src/cairo.h: Add const qualifier to cairo_user_data_key_t
- arguments.
-
- Originally: 2005-02-15 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_surface.c (cairo_surface_get_data, cairo_surface_set_data):
- Add these two functions to set and get user data on an surface.
-
- * src/cairo.h: Function prototypes for new functions.
-
- * test/user_data.c: Test case for user data functions.
-
-2005-03-09 Carl Worth <cworth@cworth.org>
-
- * test/cairo_test.c (cairo_test): Move filename initialization up
- to before first use.
-
- * test/get_and_set.c:
- * test/Makefile.am: Add test for the most trivial cairo_get and
- cairo_set functions.
-
-2005-03-09 Carl Worth <cworth@cworth.org>
-
- * test/cairo_test.c: (cairo_test):
- * test/cairo_test.h:
- * test/clip_twice.c: (draw):
- * test/coverage.c: (draw):
- * test/fill_rule.c: (draw):
- * test/leaky_polygon.c: (draw):
- * test/line_width.c: (draw):
- * test/linear_gradient.c: (draw):
- * test/move_to_show_surface.c: (draw):
- * test/pixman_rotate.c: (draw):
- * test/text_cache_crash.c: (draw):
- * test/text_rotate.c: (draw): Change the draw function under test
- to return a cairo_test_status_t so that it can indicate test
- failure even if there is no result image.
-
-2005-03-09 Carl Worth <cworth@cworth.org>
-
- * TODO: Update API Shakeup planning chart.
- fix typos.
-
-2005-03-09 Carl Worth <cworth@cworth.org>
-
- * doc/public/cairo-sections.txt:
- * src/cairo.c: (cairo_get_pattern), (cairo_get_font),
- (cairo_get_font_extents), (cairo_get_operator),
- (cairo_get_rgb_color), (cairo_get_alpha), (cairo_get_tolerance),
- (cairo_get_current_point), (cairo_get_fill_rule),
- (cairo_get_line_width), (cairo_get_line_cap),
- (cairo_get_line_join), (cairo_get_miter_limit), (cairo_get_matrix),
- (cairo_get_target_surface), (cairo_get_path),
- (cairo_get_path_flat):
- * src/cairo.h:
- * src/cairo_ft_font.c: (_conic_to):
- * src/cairo_gstate.c: (_cairo_gstate_get_target_surface),
- (_cairo_gstate_get_pattern), (_cairo_gstate_get_operator),
- (_cairo_gstate_get_rgb_color), (_cairo_gstate_get_tolerance),
- (_cairo_gstate_get_alpha), (_cairo_gstate_get_fill_rule),
- (_cairo_gstate_get_line_width), (_cairo_gstate_get_line_cap),
- (_cairo_gstate_get_line_join), (_cairo_gstate_get_miter_limit),
- (_cairo_gstate_get_matrix), (_cairo_gstate_get_current_point),
- (_cairo_gstate_show_surface), (_cairo_gstate_get_font),
- (_cairo_gstate_get_font_transform), (_cairo_gstate_get_font_scale),
- (_cairo_gstate_ensure_font), (_cairo_gstate_get_font_extents),
- (_cairo_gstate_text_to_glyphs):
- * src/cairo_path.c: (_cairo_path_get_current_point):
- * src/cairoint.h:
- * test/pixman_rotate.c: (draw):Rename all the cairo_current
- functions to cairo_get functions instead. Add documentation for
- all of these functions (and a few others as well).
-
- Add support so that old binarys should still run and old source
- should still compile, (though we'll rip that out again on the API
- Shakeup flag day).
-
-2005-03-08 Carl Worth <cworth@cworth.org>
-
- * configure.in: Add -head to CAIRO_VERSION after tagging with
- SNAPSHOT_0_4_0.
-
-2005-03-08 Carl Worth <cworth@cworth.org>
-
- * gtk-doc.make (dist-check-gtkdoc): Commit workaround to prevent
- make distcheck from making bogus complaints that gtk-doc is not
- enabled.
-
- * test/cairo_test.c (cairo_test_create_png_pattern): Look for png
- images in ${srcdir}/filename as well, so that make distcheck can
- still find them.
-
- * test/Makefile.am (EXTRA_DIST): Add romedalen.png to EXTRA_DIST
- so the tests can pass from the tar file.
-
- * doc/public/cairo-sections.txt: Fix typo: cairo-win3 ->
- cairo-win32.
-
- * doc/public/cairo-docs.xml: Add cairo-win32.xml to the list, so
- it gets generated as well.
-
- * NEWS (http): Add pointer to new win32 documentation.
-
- * configure.in: Increment CAIRO_VERSION to 0.4.0
-
- * NEWS: Added notes for snapshot 0.4.0
-
-2005-03-08 Carl Worth <cworth@cworth.org>
-
- * test/cairo_test.c (xunlink): Shared function for checking unlink
- errrors.
- (cairo_test): Move all error messages to test-specific log files
- for quieter test output.
-
- * test/Makefile.am (XFAIL_TESTS): Make pixman_rotate an expected
- failure.
-
- * configure.in: Require libpixman >= 0.1.4.
-
-2005-03-08 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c (_cairo_pdf_surface_composite): Return
- CAIRO_STATUS_SUCCESS even if we don't implement masks yet, so we
- don't set cr->status to CAIRO_INT_STATUS_UNSUPPORTED.
-
-2005-03-07 Carl Worth <cworth@cworth.org>
-
- * src/cairo_traps.c: Disable the "new" intersection code so that
- the incorrect fill problems (test/fill_rule) go away.
-
- * configure.in: Make configure fail if no font backend is
- available. Point the user at freetype and fontconfig.
-
-2005-03-06 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_pattern.c (_cairo_image_data_set_linear): Comment
- and clean up the gradient computation.
- (_cairo_linear_pattern_classify): Determine if a linear
- gradient is horizontal or vertical.
- (_cairo_pattern_acquire_surface_for_gradient): Optimize
- horizontal/vertical gradients with a repeating surface.
-
- * test/linear_gradient.c: Test case for linear gradients
- at angles and with a rotated pattern matrix.
-
-2005-03-06 David Reveman <davidr@novell.com>
-
- * src/cairo_glitz_surface.c (_cairo_glitz_pattern_acquire_surface):
- Do not allow acceleration of gradients when color stops have different
- alpha. Add note about the current state of glitz's gradient
- acceleration. CAIRO_FILTER_GOOD and CAIRO_FILTER_BEST is ok.
- (_cairo_glitz_surface_composite_trapezoids): Use unsigned short for
- alpha.
-
-2005-03-04 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c src/cairo_win32_surface.c: Update
- for recent backend interface changes.
-
- * configure.in: Reenable win32 backend by default.
-
-2005-03-04 Carl Worth <cworth@cworth.org>
-
- * src/cairo_glitz_surface.c
- (_cairo_glitz_pattern_acquire_surface): Fix accidental reversal of
- condition in previous patch.
-
-2005-03-04 Owen Taylor <otaylor@redhat.com>
-
- * src/cairoint.h src/cairo_pattern.c src/cairo_glitz_surface.c:
- Add _cairo_pattern_is_opaque, use it rather than
- pattern->alpha == 1.0.
-
-2005-03-04 David Reveman <davidr@novell.com>
-
- * configure.in: Enable xcb backend.
-
- * src/cairo_xcb_surface.c: Update xcb backend.
-
- * configure.in: Fixed variable assignments.
-
- * src/cairo_glitz_surface.c: Add overall alpha acceleration
- to a few cases not covered by _cairo_pattern_acquire_surfaces but
- possible to accelerate by glitz.
-
- * src/cairo_pattern.c:
- (_cairo_pattern_acquire_surfaces): Add overall alpha acceleration
- using mask surface.
-
- * src/cairoint.h:
- Add convenience function _cairo_pattern_acquire_surfaces.
-
- * src/cairo_xlib_surface.c:
- * src/cairo_surface.c:
- * src/cairo_ps_surface.c:
- * src/cairo_png_surface.c:
- * src/cairo_pdf_surface.c:
- * src/cairo_pattern.c:
- * src/cairo_image_surface.c:
- * src/cairo_gstate.c:
- * src/cairo_glitz_surface.c:
- * src/cairo_ft_font.c (_cairo_ft_font_show_glyphs): Mask to composite
- operation is now passed as a pattern.
-
- * src/cairoint.h:
- * src/cairo_xlib_surface.c:
- (_cairo_xlib_surface_set_matrix): Setting identity transform should
- always be successful.
-
- * src/cairo_surface.c:
- * src/cairo_ps_surface.c:
- * src/cairo_png_surface.c:
- * src/cairo_pdf_surface.c:
- * src/cairo_image_surface.c:
- * src/cairo_glitz_surface.c: Removed surface backend functions
- set_matrix, set_filter, set_repeat.
-
- * configure.in: Enabled glitz backend.
-
- * src/cairo_glitz_surface.c: Major update to glitz backend. The output
- quality should now be just as good as the image and xlib backends.
-
- * configure.in: Disabled win32 and quartz backends as they are now
- temporarily out of sync.
-
- * src/cairoint.h: Replaced old cairo_pattern_t struct with new
- cairo_surface_t like structure of cairo_pattern_t.
- Added new function prototypes for acquiring a source surface from
- a pattern.
-
- * src/cairo_xlib_surface.c:
- (_cairo_xlib_surface_composite): Removed fast path that used XCopyArea.
-
- * src/cairo_ps_surface.c:
- * src/cairo_pdf_surface.c:
- * src/cairo_image_surface.c:
- * src/cairo_gstate.c: Switched to cairo_surface_t like structure
- of cairo_pattern_t and new interface for acquiring a source
- surface from a pattern.
-
- * src/cairo_pattern.c: New implementations of many functions. This was
- necessary because of switch to cairo_surface_t like structure of
- cairo_pattern_t. Includes new interface for acquiring a source
- surface for a pattern. Things that didn't belong in cairoint.h have
- been moved here.
-
- * src/cairo_gstate.c (_cairo_gstate_show_surface): Inherit surface
- attributes while surface attribute functions still exist.
-
-2005-03-01 Carl Worth <cworth@cworth.org>
-
- * TODO: Note that cairo_output_stream_t patch has been reviewed.
-
-2005-03-01 Carl Worth <cworth@cworth.org>
-
- * src/cairo_gstate.c (_cairo_gstate_show_surface): Fix
- uninitialized value for status, (reported by Manish Singh).
-
-2005-02-27 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_gstate.c (_cairo_rectangle_intersect): Fix this
- function again. Problem with signed/unsigned types reported by
- Jeff Muizelaar <jrmuizel@nit.ca>.
-
-2005-02-27 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo.h (cairo_fill_rule_t): Remove newline in comment which
- was confusing gtk-doc.
-
- * src/cairo_image_surface.c (cairo_image_surface_create_for_data)
- (cairo_image_surface_create): Document these functions.
-
-2005-02-25 Carl Worth <cworth@cworth.org>
-
- * TODO: Note that "user data" and "setters and getters" patches
- have been reviewed. Remove a few more TODO notes:
- cleanup cairo_snippets: DONE
- cairo_surface_finish: Now in API Shakeup
- snapping code: Decided against this
-
-2005-02-25 Carl Worth <cworth@cworth.org>
-
- From David Reveman:
-
- * src/cairo_matrix.c (_cairo_matrix_is_integer_translation):
- Rewrite to use cairo_bool_t for legibility.
-
-2005-02-25 Carl Worth <cworth@cworth.org>
-
- From David Reveman:
-
- * src/cairo_gstate.c (_cairo_gstate_show_surface): Simplify code
- to eliminate a goto.
-
-2005-02-25 Carl Worth <cworth@cworth.org>
-
- From David Reveman:
-
- * src/cairo_gstate.c (_cairo_gstate_pattern_init_copy):
- (_cairo_gstate_clip_and_composite_trapezoids)
- (_cairo_gstate_clip_and_composite_trapezoids)
- (_cairo_gstate_show_surface, _cairo_gstate_show_glyphs)
- (_cairo_gstate_show_glyphs): Clean up the mess that was
- the misnamed _cairo_gstate_create_pattern.
-
-2005-02-25 Carl Worth <cworth@cworth.org>
-
- * src/cairo_pattern.c (_cairo_pattern_shader_init): Don't put an
- off-by-one n_stops into cairo_shader_op_t.
- (_cairo_shader_op_find_color_stops): Put search for two color
- stops containing a given offset into its own function. Handle the
- case of before first and after last stop by returning the nearest
- stop twice.
- (_cairo_pattern_calc_color_at_pixel): Handle case of no color
- stops by returning a transparent pixel.
-
-2005-02-24 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_surface.c: Remove a left-over debug printf.
-
-2005-02-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo_pattern.c (cairo_pattern_add_color_stop): Fix memory
- leak when realloc fails due to out-of-memory.
-
-2005-02-24 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_surface.[ch]: Instead of counting
- on ordering deletion to work (apparently it didn't on
- older Windows), save the initial bitmap created
- with the DC and reselect that into the DC. (Based
- on a patch by Hans Breuer)
-
-2005-02-24 Carl Worth <cworth@cworth.org>
-
- * test/.cvsignore: Add pixman_rotate to ignore list.
-
-2005-02-24 Carl Worth <cworth@cworth.org>
-
- Fixes from David Reveman with minor cleanups by Carl Worth:
-
- * src/cairo_gstate.c (_cairo_gstate_create): Handle new failure
- possibility of _cairo_gstate_init.
- (_cairo_gstate_init): Handle possible failure of
- _cairo_pattern_create_solid.
- (_cairo_gstate_set_pattern): Reference new pattern before
- destroying existing pattern to handle the case where they are the
- same.
- (_cairo_gstate_set_rgb_color): Handle possible failure of
- _cairo_pattern_create_solid.
-
-2005-02-24 Carl Worth <cworth@cworth.org>
-
- * src/cairo.h: Fix typo (pointed out by Kristian Høgsberg).
-
-2005-02-24 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_surface.c (_cairo_win32_surface_destroy):
- When we created a DC/bitmap pair, delete the DC before
- the Bitmap so that the Bitmap will be released from the
- DC and can be destroyed. (Reported by Hans Breuer)
-
- * configure.in cairo.pc.in: Only require fontconfig
- if building FreeType font backend.
-
- * configure.in: Fix output when reporting Win32 font backend.
-
-2005-02-24 Carl Worth c<worth@cworth.org>
-
- * TODO: Remove many TODO items that have now been absorbed by the
- API shakeup. Remove comparison with PostScript as there's nothing
- interesting there left unimplemented, (and cairo is already
- establishing its own conventions in naming and behavior that
- deviate from PostScript).
-
- * src/cairoint.h: Fix typo (pointed out by Mike Emmel)
-
-2005-02-23 Carl Worth <cworth@cworth.org>
-
- * TODO: Add entries from API Shakeup.
-
-2005-02-22 Carl Worth <cworth@cworth.org>
-
- * README:
- * src/cairo-features.h.in:
- * src/cairo-glitz.h:
- * src/cairo-pdf.h:
- * src/cairo-png.h:
- * src/cairo-ps.h:
- * src/cairo-quartz.h:
- * src/cairo-xcb.h:
- * src/cairo-xlib.h:
- * src/cairo.c:
- * src/cairo.h:
- * src/cairo_color.c:
- * src/cairo_fixed.c:
- * src/cairo_font.c:
- * src/cairo_gstate.c:
- * src/cairo_hull.c:
- * src/cairo_image_surface.c:
- * src/cairo_matrix.c:
- * src/cairo_path.c:
- * src/cairo_path_bounds.c:
- * src/cairo_path_fill.c:
- * src/cairo_path_stroke.c:
- * src/cairo_pen.c:
- * src/cairo_png_surface.c:
- * src/cairo_polygon.c:
- * src/cairo_ps_surface.c:
- * src/cairo_slope.c:
- * src/cairo_spline.c:
- * src/cairo_surface.c:
- * src/cairo_traps.c:
- * src/cairo_xcb_surface.c:
- * src/cairo_xlib_surface.c:
- * src/cairoint.h: Switch from broken cworth@isi.edu address to
- canonical cworth@cworth.org address.
-
-2005-02-22 Carl Worth <cworth@cworth.org>
-
- * test/write_png.c:
- * src/cairo-atsui.h:
- * src/cairo_atsui_font.c: Convert to utf-8 encoding.
-
-2005-02-22 Carl Worth <cworth@cworth.org>
-
- * configure.in: Temporarily disable XCB backend by default.
-
-2005-02-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo_pattern.c (cairo_pattern_reference):
- * src/cairo.h: Revert accidental commit.
-
-2005-02-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo_surface.c (_fallback_composite_trapezoids): Fix y
- offset to use dst_y instead of dst_x, (caught by David Reveman).
-
-2005-02-20 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo-win32.h: Fix line endings (reported by
- Hans Breuer)
-
-2005-02-16 Kristian Høgsberg <krh@redhat.com>
-
- Patches from Mike Owens <etc@filespanker.com>:
-
- * src/cairo_png_surface.c (_cairo_png_surface_copy_page): Free
- rows if we fail early in this function.
-
- * src/cairo_path.c (_cairo_path_init_copy): Clean up path if we
- run out of memory.
-
-2005-02-13 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c
- (_cairo_pdf_surface_create_for_document): Initialize array element
- size correctly.
-
-2005-02-10 Kristian Høgsberg <krh@redhat.com>
-
- Patches from Owen Taylor:
-
- * src/cairo_pdf_surface.c
- (_cairo_pdf_surface_show_glyphs): Emit text as octal escapes,
- to avoid problems with \, \r, ), etc.
- (_cairo_pdf_document_write_fonts): Change /Flags to be 4 (symbolic),
- not 32 (non-symbolic), otherwise acroread gets confuse.
- (cairo_pdf_ft_font_write_cmap_table): Use a 1,0 cmap subtable,
- not a 0,0, to conform to the PDF spec.
-
-2005-02-13 Carl Worth <cworth@cworth.org>
-
- * autogen.sh (LC_NUMERIC): Use LC_NUMERIC=C so that decimal
- separator works in version checks.
-
-2005-02-12 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_gstate.c (_cairo_gstate_clip_and_composite_trapezoids): Fix
- x2/x1 typo.
-
-2005-02-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo.c (cairo_text_extents): Return all-zero extents if
- string is NULL.
-
-2005-02-12 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_gstate.c
- (_cairo_gstate_clip_and_composite_trapezoids): Make clipping fast
- path fast. When we have a clipping region set, intersect it
- against the drawing extents to determine the bounding box for the
- visible drawing.
-
-2005-02-10 Carl Worth <cworth@cworth.org>
-
- * BUGS: Add bug for cairo_show_surface under non-default CTM.
-
-2005-02-07 Kristian Høgsberg <krh@redhat.com>
-
- * test/pixman_rotate.c, test/pixman_rotate-ref.png: New test case
- which exposes off-by-one rotation error in pixman.
-
-2005-02-06 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_gstate.c src/cairo.c: Allow cairo_set_font (cr, NULL)
- to unset the current font and return the cairo_t to the the
- "use the font from cairo_select_font() state".
-
-2005-02-06 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c (_cairo_win32_font_text_to_glyphs):
- Return the right status. (Reported by Hans Breuer.)
-
-2005-02-06 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c (_cairo_win32_font_text_to_glyphs): Free
- glyph_indices, not glyphs. (Reported by Hans Breuer.)
-
-2005-02-05 Carl Worth <cworth@cworth.org>
-
- * configure.in: Add message stating why glitz backend is disabled.
-
-2005-02-05 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_ft_font.c (_cairo_ft_font_text_to_glyphs):
- Don't free *glyphs when succeeding! (Reported by Øyvind Kolås)
-
- * configure.in: Temporarily disable glitz by default.
-
-2005-02-04 Carl Worth <cworth@cworth.org>
-
- * src/Makefile.am: Generate an error during make install if old
- cairo headers are found in includedir, (rather than
- includedir/cairo where the new ones are going).
-
-2005-02-03 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_ft_font.c (_cairo_ft_font_text_to_glyphs,
- _cairo_ft_font_create_glyph): Fix missing cairo_ft_font_unlock_face().
-
- * src/cairo_cache.c (_cairo_cache_random_entry): Fix problem
- when no entry could be found.
-
-2005-02-03 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_font.c src/cairo.h doc/public/cairo-sections.txt:
- Add cairo_font_extents().
-
- * src/cairo_win32_font.c src/cairo-win32.h doc/public/cairo-sections.txt:
- Rename cairo_font_create_for_logfont() into
- cairo_font_create_for_logfontw() to make clear what it takes.
- Don't add cairo_font_create_for_logfonta() for now.
-
-2005-02-02 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c doc/public/cairo-sections.txt
- doc/public/Makefile.am: Add windows functions to the docs.
-
-2005-02-02 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c (cairo_win32_font_select_font,
- cairo_win32_release_font, cairo_win32_font_get_scale_factor):
- Add some functions to select the font into a device context
- with the intention to enable callers to use, e.g, Uniscribe.
-
- * src/cairo_win32_font.c: Use 'hdc' not 'dc' for param/variable
- name.
-
-2005-02-02 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c (cairo_win32_font_select_font,
- cairo_win32_release_font, cairo_win32_font_get_scale_factor):
- Add some functions to select the font into a device context
- with the intention to enable callers to use, e.g, Uniscribe.
-
- * src/cairo_win32_font.c: Use 'hdc' not 'dc' for param/variable
- name.
-
- * src/cairo_win32_font.c (_cairo_win32_font_show_glyphs): Return
- immediately if height or width is 0.
-
-2005-02-02 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_win32_font.c: Mostly-functioning Win32 font backend;
- no glyph paths yet.
-
- * configure.in: Turn on building of the Win32 font backend.
-
- * src/cairo-win32-private.h src/Makefile.am: Private header for
- the Win32 backend.
-
- * src/cairo-win32-private.h src/cairo_win32_surface.c:
- Internally export _cairo_win32_print_gdi_error() for use
- in the font code.
-
- * src/cairo-win32-private.h src/cairo_win32_surface.c:
- Add _cairo_win32_surface_create_dib to create a DIB surface.
-
- src/cairo-win32-private.h src/cairo_win32_surface.c:
- Add _cairo_surface_is_win32()
-
- * configure.in: Check for vasnprintf.
-
- * test/cairo_test.c (xasprintf): Add a simple fixed-buffer size
- snprintf fallback in the absence of vasnprintf.
-
-2005-02-01 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c (_cairo_pdf_surface_composite): Pretend
- we support compositing of solid color or gradient patterns to
- prevent image fallback.
- (emit_pattern): New function, code factored out from
- _cairo_pdf_surface_composite_trapezoids.
- (_cairo_pdf_surface_show_glyphs): Use emit_pattern here so we get
- pattern support for text.
-
- * src/cairo_ft_font.c (_cairo_ft_font_get_unscaled_font): Fix typo.
-
-2005-02-01 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_unicode.c src/cairoint.h src/Makefile.am: Add
- _cairo_utf8_to_utf16(), _cairo_utf8_to_ucs4() based on code from GLib.
-
- * src/cairo.[ch]: Add CAIRO_STATUS_INVALID_STRING
-
- * src/cairo_ft_font.c: Use _cairo_utf8_to_ucs4().
-
- * src/cairo.h: Add cairo_bool_t
-
- * src/cairoint.h: Add TRUE/FALSE definitions.
-
- * src/cairo.[ch] src/cairoint.h src/cairo_gstate.c: switch
- cairo_in_stroke/cairo_in_fill and all the functions used to
- implement them over to cairo_bool_t.
-
-2005-01-31 Owen Taylor <otaylor@redhat.com>
-
- * configure.in src/cairo-features.h.in: Add a check for the
- Windows platform and --enable-win32. Also add some (currently
- always off) stubs for native Win32 fonts.
-
- * configure.in: Make building the PDF backend conditional
- on having FreeType.
-
- * src/Makefile.am src/cairo_win32_surface.c src/cairo_win32_font.c
- src/cairo-win32.h: Add a Win32 backend using GDI and software
- fallbacks Font code is not yet there yet, but it works with the
- fontconfig backend.
-
- * src/cairo_gdip_font.cpp src/cairo_gdip_surface.cpp: Remove
- remnants of a GDI+ based backend.
-
- * src/cairoint.h: Prefer platform-specific font backends
- to the fontconfig backend.
-
-2005-01-31 Owen Taylor <otaylor@redhat.com>
-
- * src/cairoint.h src/cairo_image_surface.c
- src/cairo_pdf_surface.c src/cairo_png_surface.c
- src/cairo_surface.c src/cairo_xlib_surface.c: Replace
- the get_image()/set_image() backend operations with
- a more specific {acquire,release}_{source,dest}_image()
- and clone_similar().
-
- * src/cairoint.h src/cairo_pattern.c: Replace
- _cairo_pattern_get_surface() with a
- _cairo_pattern_begin_draw()/_cairo_pattern_end_draw() pair.
-
- * src/cairo_image_surface.c: Save the format for which
- an image is created so we can access it later. (Needed
- for the _cairo_xlib_surface_clone_similar())
-
- * src/cairoint.h src/cairo_image_surface.c:
- Add _cairo_surface_is_image().
-
- * src/cairoint.h: Add CAIRO_OK(status) to check
- for CAIRO_STATUS_SUCCESS.
-
- * src/cairo_xlib_surface.c: In the absence of of
- RENDER, make cairo_xlib_surface_create_similar()
- return an image surface.
-
- * src/cairo_xlib_surface.c: Don't try to use RENDER
- to composite glyphs in the absence of the RENDER
- extension.
-
-2005-01-30 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_ps_surface.c (_cairo_ps_surface_copy_page): Update
- composite-over-white code to use a pattern, not a surface.
- (to match _cairo_surface_composite API change.)
-
-2005-01-30 Owen Taylor <otaylor@redhat.com>
-
- Fixes from David Reveman:
-
- * src/cairo_pattern.c (_cairo_pattern_save/restore_surface): Don't
- save to surface part of the union when the pattern isn't a surface
- pattern.
- (_cairo_pattern_get_surface): Create the new surface at the width
- and height of the source.
-
- * src/Makefile.am (libcairo_ft_sources): Add cairo-ft-private.h
-
-2005-01-28 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_png_surface.c (_cairo_png_surface_composite): Update
- prototype to eliminate warning.
-
- * src/cairo_pattern.c (_cairo_pattern_init_copy): Remember to
- reference surfaces when copying patterns.
-
- * src/cairo_gstate.c: (_cairo_rectangle_intersect),
- (_cairo_gstate_clip_and_composite_trapezoids),
- (_cairo_gstate_clip), (_cairo_gstate_show_glyphs): Don't call
- _gstate_create_pattern for internally created patterns.
- (_cairo_gstate_show_surface): Don't change the surface matrix
- here, it's done later when we set it up as a pattern.
-
- * test/Makefile.am: Correct clip_twice-ref.png filename.
-
- * src/cairoint.h (MIN, MAX): Add these.
-
- * src/cairo_gstate.c (_cairo_rectangle_intersect): Fix broken
- intersection code.
-
-2005-01-27 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pattern.c (_cairo_pattern_get_surface): Make sure we
- always return a surface similar to dst in the gradient case.
-
- * src/cairo_pattern.c (_cairo_pattern_get_surface): Fold
- _cairo_pattern_get_image into _cairo_pattern_get_surface and make
- sure we always return a surface of the same type as dest.
-
- * src/cairo_glitz_surface.c (_cairo_glitz_composite),
- (_cairo_glitz_surface_composite_trapezoids): Use
- _cairo_pattern_get_surface instead of _cairo_pattern_get_image.
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_show_glyphs),
- (_cairo_xlib_surface_composite)
- (_cairo_xlib_surface_composite_trapezoids): Remove use of
- _cairo_xlib_surface_clone_similar since _cairo_pattern_get_surface
- always gives us an xlib surface for the pattern. Clean up error
- handling code in _cairo_xlib_surface_show_glyphs.
-
- * src/cairo_image_surface.c (_cairo_image_surface_composite):
- (_cairo_image_surface_composite_trapezoids): Add missing
- cairo_surface_destroy and tidy up offset calculations as suggested
- by Owen.
-
- * src/cairoint.h (cairo_clip_rect_t):
- * src/cairo_gstate.c (_cairo_gstate_clip_and_composite_trapezoids)
- (_cairo_gstate_clip, _cairo_gstate_show_glyphs): Simplify code for
- computing the extents of clipping area, by introducing a couple of
- cairo_rectangle_t functions.
-
-2005-01-27 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo.[ch] src/cairo_font.c src/cairo_ft_font.c
- src/cairo_ps_surface.c src/cairo_xlib_surface.c: Move
- docs from docs/reference, with a fair bit of addition
- and rewriting.
-
- * doc/reference/: Remove old-format docs.
-
- * configure.in: Add a AC_PREREQ(2.54) (Jason Dorje Short)
-
-2005-01-27 Kristian Høgsberg <krh@redhat.com>
-
- * test/coverage-ref.png:
- * test/clip_twice-ref.png:
- Update these two once again, this time generated using
- libpixman-0.1.3 without leaky circles.
-
-2005-01-27 Owen Taylor <otaylor@redhat.com>
-
- * configure.in Makefile.am docs/Makefile.am docs/public/*:
- Add framework for doing docs via gtk-doc.
-
- * src/cairo.[ch] src/cairo-matrix.c: Add some inline docs
- for arcs and matrices.
-
- * gtk-doc.m4 acinclude.m4: Check in files from gtk-doc
- to make the dependency on gtk-doc optional.
-
- * autogen.sh (LANG): Add --enable-gtk-doc to the default
- args.
-
-2005-01-27 Kristian Høgsberg <krh@redhat.com>
-
- * test/write_png.c (unpremultiply_data):
- * test/read_png.c (premultiply_data):
- Fix missing rounding in these two functions.
-
- * test/coverage-ref.png:
- * test/clip_twice-ref.png:
- Update these to versions with properly rounded alpha values.
-
- * test/Makefile.am: Move clip_twice out of XFAIL now that rounding
- works.
-
- * test/.cvsignore: Add new test cases.
-
-2005-01-27 Kristian Høgsberg <krh@redhat.com>
-
- The overall idea of this rewrite is that we want to pass the
- source pattern all the way down into the backends. The motivation
- for this is that not all backends want a surface for the source
- operand, and by passing the pattern down, backends can choose to
- convert it to a surface if they need that.
-
- The patch removes the create_surface function pointer from the
- surface vtable and moves much of that code into a couple of helper
- functions. The composite, compsite_trapezoids, and show_glyphs
- backend functions are updated to take a cairo_pattern_t instead of
- a surface as the source.
-
- * src/cairo_font.c: (_cairo_font_show_glyphs):
- * src/cairo_gstate.c: (_cairo_gstate_create_pattern),
- (_cairo_gstate_clip_and_composite_trapezoids),
- (_cairo_gstate_clip), (_cairo_gstate_show_surface),
- (_cairo_gstate_show_glyphs):
- Change these functions to not create a surface for the pattern and
- just pass the pattern down to the backend functions.
-
- * src/cairo_gstate.c: (translate_traps):
- New function to translate a set of trapezoids.
-
- * src/cairo_pattern.c:
- (_cairo_pattern_init),
- (_cairo_pattern_init_copy),
- (_cairo_pattern_prepare_surface),
- (_cairo_pattern_restore_surface):
- Break out the code to adjust and restore surface transformation
- and repeat settings into _cairo_pattern_prepare_surface and
- _cairo_pattern_restore_surface.
-
- * src/cairo_pattern.c: (_cairo_pattern_fini),
- (_cairo_pattern_init_for_surface),
- (cairo_pattern_create_for_surface):
- Split cairo_pattern_create_for_surface into an init function and a
- create function.
-
- * src/cairo_pattern.c: (_cairo_pattern_get_image),
- (_cairo_pattern_get_surface):
- Utility functions to create a surface from a pattern.
-
- * src/cairo_ft_font.c:
- * src/cairo_image_surface.c:
- * src/cairo_pdf_surface.c:
- * src/cairo_png_surface.c:
- * src/cairo_ps_surface.c:
- * src/cairo_xlib_surface.c:
- * src/cairo_glitz_surface.c:
- Update these backends to work with the new pattern API. Glitz
- work by David Reveman.
-
- * src/cairo_surface.c: (_cairo_surface_composite),
- (_cairo_surface_composite_trapezoids),
- (_cairo_surface_set_clip_region):
- Update these to pass through the new set of args.
-
- * test/coverage-ref.png:
- Update this reference image as we now render it correctly.
-
-2005-01-26 Kristian Høgsberg <krh@redhat.com>
-
- * test/clip_twice.c, test/clip_twice-ref.png: New test case to
- verify that the clip surface is correctly updated when extending
- an existing clip path.
-
- * test/coverage.c (draw): Set alpha to 1 before setting clip mask.
-
- * test/coverage-ref.png: Added the right reference PNG. Running
- test against stock 0.3.0 gives the expected results.
-
- * test/Makefile.am, test/coverage.c, test/coverage-ref.png: New
- test case, covering various combinations of pattern types, drawing
- operations and clipping. Currently fails, for some combinations,
- coverage-ref.png is just a placeholder.
-
- * test/romedalen.png: Added this PNG from cairo-snippets to use
- for pattern fills.
-
- * test/cairo_test.c, test/cairo_test.h: expose PNG loading to test
- cases.
-
-2005-01-26 Alexander Larsson <alexl@redhat.com>
-
- * src/cairo_ft_font.c: (_ft_unscaled_font_set_scale):
- Fix access to uninitialized data
-
- * src/cairo_xlib_surface.c:
- key must be first element in cache entry
-
-2005-01-25 David Reveman <davidr@novell.com>
-
- * AUTHORS: Update mail address.
-
- * src/cairo_glitz_surface.c: Update mail address.
-
- * configure.in: Require version 0.4.0 of glitz.
-
- * src/cairo_glitz_surface.c: Track changes to glitz.
-
- * src/cairo_xcb_surface.c: Add missing include directive so xcb
- backend compile again.
-
-2005-01-25 Carl Worth <cworth@cworth.org>
-
- * test/imagediff.c
- * test/testsvg: Add new testsvg script and accompanying imagediff
- program, (for interim SVG-based test suites while we wait for the
- standard cairo test suite to mature).
-
- * test/buffer_diff.c:
- * test/cairo_test.c: Split buffer_diff out into its own file for
- the purpose of imagediff.
-
- * src/cairo_ft_font.c (_cairo_ft_font_show_glyphs): Fixed rounding
- of glyph positioning.
-
-2005-01-25 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_pdf_surface.c (_cairo_pdf_document_get_font): Chec
- pdf_font for NULL, not font.
-
-2005-01-25 Alexander Larsson <alexl@redhat.com>
-
- * src/Makefile.am:
- Fix typo that made cairo-ft.h not get installed
-
-2005-01-24 Carl Worth <cworth@cworth.org>
-
- * AUTHORS: Add Shawn T. Amundson, Calum Robinson, and Owen Taylor.
-
- * src/Makefile.am: Conditionally install header files only for
- backends that are compiled. Thanks to Shawn T. Amundson
- <amundson@gtk.org>.
-
- * src/cairoint.h:
- * src/cairo_color.c (_cairo_color_get_rgb): Qualify color argument
- as const. Closes bug #2336.
-
-2005-01-23 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * src/cairo_ft_font.c (_get_load_flags): Protect switch on
- hintstyle with #ifdef FC_HINT_STYLE.
-
-2005-01-23 Carl Worth <cworth@cworth.org>
-
- * RELEASING: Add instructions for handling the new "-head" suffix
- of CAIRO_VERSION at release-time.
-
- * configure.in: Append "-head" to CAIRO_VERSION to indicate state
- between snapshots.
-
- * src/cairo_gstate.c: Add missing prototype for _cairo_gstate_ensure_font.
- (_cairo_gstate_current_font): Add missing declaration so things
- compile again.
-
-2005-01-21 Owen Taylor <otaylor@redhat.com>
-
- * Call _cairo_gstate_ensure_font(). Don't reference
- the returned font.
-
-2005-01-21 Owen Taylor <otaylor@redhat.com>
-
- * src/cairo_ft_font.c (_get_load_flags): Make dependence
- on FC_HINT_STYLE conditional. (reported by Abraham Egnor)
-
- * src/cairo_ft_font.c: Use FT_LOAD_MONOCHROME if
- FT_LOAD_TARGET_MONO isn't defined for compatibility
- with older FreeType.
-
-2005-01-16 Owen Taylor <otaylor@redhat.com>
-
- Change cairo_font_t to refer to a font scaled to a particular
- output device resolution.
-
- * src/cairoint.h src/cairo_font.c src/cairo_ft_font.c
- src/cairo_xlib_surface.c src/cairo_pdf_surface.c src/cairo_gstate.c
- src/cairo.c: Switch many internal methods from handling
- cairo_unscaled_font_t and cairo_font_scale_t pairs to handling
- cairo_font_t.
-
- * src/cairo-ft-private.h src/cairo_ft_fontc: Add some internal
- interfaces for use by the FreeType backend.
-
- * src/cairo_gstate.c: Clear the gstate's current font when
- the transform or target surface changes.
-
- * src/cairo.h src/cairo_ft_font.c: Rename cairo_ft_font_pattern
- to cairo_ft_font_get_pattern().
-
- * src/cairo.h src/cairo_ft_font.c: Make cairo_ft_font_create()
- and cairo_ft_font_create_for_ft_face() take a font scale;
- make the latter take load_flags for FT_Load_Glyph() as well.
- Change cairo_ft_font_face() to Xft-style cairo_ft_font_lock_face,
- cairo_ft_font_unlock_face.
-
- * src/cairo_font.c: Remove the name/slant/weight=>unscaled font
- cache, it didn't work with the new cairo_font_t setup. If it turns
- out to be needed, it can be added back in some other form.
-
- * src/cairoint.h src/cairo_font.c: Add a 'flags' field
- to cairo_glyph_cache_key_t, we use it for load flags with
- freetype backend.
-
- * src/cairo_ft_font.c: Switch the caching to be from
- resolved fontconfig pattern => file; keep only a fixed number
- of FT_Face objects open at once, similar to FreeType.
-
- * src/cairo_font.c (cairo_font_glyph_extents) src/cairo_gstate.c
- src/cairoint.h: Add public cairo_font_glyph_extents, use it
- to implement _cairo_gstate_glyph_extents().
-
- * src/cairo_xlib_surface.c (_glyphset_cache_entry_reference):
- Add refcounting for glyph cache elements; there was an
- bug where elements got ejected from the cache and freed before
- they could be used.
-
- * src/cairoint.h src/cairo_cache.c (_cairo_cache_random_entry())
- New function to return a random entry in the cache matching a predicate;
- reuse the internals for the previous _random_live_entry().
-
- * src/cairoint.h src/cairo_cache.c (_cairo_cache_lookup()): Add an
- optional created_entry return value.
-
- * src/cairo_ft_font.c src/cairo_xlib_surface.c: Adapt to
- _cairo_cache_lookup() change.
-
- * src/cairo_cache.c (_cairo_cache_lookup()): Support max_memory == 0
- to indicate an unbounded cache.
-
- * src/cairoint.h src/cairo_cache.c (_cairo_cache_remove()): Add a
- function to manually remove entries from the cache.
-
- * doc/reference: Update for changes, document cairo_matrix_t,
- cairo_glyph_t, etc.
-
- * src/cairo.h src/cairo-atsui.h src/cairo-ft.h src/cairo-glitz.h
- src/cairo-pdf.h src/cairo-png.h src/cairo-ps.h src/cairo-quartz.h
- src/cairo-xcb.h src/cairo-xlib.h: Add CAIRO_BEGIN/END_DECLS for
- extern "C", use it on all public headers. Move header guards
- outermost.
-
- * src/cairo_quartz_surface.c: Fix encoding.
-
-2005-01-21 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 0.3.0
-
- * NEWS: Add notes for snapshot 0.3.0
-
- * test/fill_rule-ref.png:
- * test/leaky_polygon-ref.png:
- * test/line_width-ref.png: Update reference images for new
- rasterization in libpixman 0.1.3.
-
- * Makefile.am (RELEASE_UPLOAD_DIR): Update since directory changed
- after server compromise.
-
-2005-01-20 Carl Worth <cworth@cworth.org>
-
- * test/cairo_test.c: Add a bunch of missing include directives,
- (now that cairo.h has been cleaned up).
-
-2005-01-20 Carl Worth <cworth@cworth.org>
-
- * src/cairo-atsui.h: Created new public header cairo-atsui.h.
-
- Build fixes for Quartz backend courtesy of
- Geoff Norton <gnorton@customerdna.com>:
-
- * configure.in: Fix check for atsui font backend.
-
- * src/Makefile.am: Add conditional compilation for
- cairo_atsui_font.c and cairo_ft_font.c.
-
- * src/cairo_quartz_surface.c: Add missing include of
- cairo-quartz.h.
-
- * src/cairo-quartz.h: Add include of Carbon/Carbon.h.
-
- * src/cairo-features.h.in: Advertise availability of Quartz
- surface.
-
- * src/Makefile.am: Install cairo-quartz.h, and conditionally
- compile cairo_quartz_surface.c.
-
- * configure.in: Add autofoo checks to detect quartz
- backend.
-
-2005-01-20 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h: Track various renamings.
-
- * src/cairo_xlib_surface.c:
- * src/cairo_ps_surface.c:
- * src/cairo_png_surface.c:
- * src/cairo_pdf_surface.c:
- * src/cairo_glitz_surface.c:
- * src/cairo_ft_font.c: Insert new includes for backend-specific
- header files.
-
- * src/cairo_gdip_surface.cpp:
- * src/cairo_gdip_font.cpp: Remove redundant include of
- cairo-features.h.
-
- * src/cairo.h (CAIRO_H): Rename header-exclusion macro from
- _CAIRO_H_ to CAIRO_H.
- Remove platform-specific grubbing for cairo-features.h and
- pixman.h in odd places.
-
- Remove all backend-specific prototypes, (as they are now in their
- own header files).
-
- * src/cairo.c (cairo_sane_state): Remove printf.
-
- * src/cairo-features.h.in: Convert to utf-8. Use the proper name
- for multiple-header exclusion (CAIRO_FEATURES_H). Track rename of
- FREETYPE_FONT_FEATURE to FT_FONT_FEATURE.
-
- * src/Makefile.am (cairoinclude_HEADERS): Split cairo.h up into
- cairo.h, cairo-ft.h, cairo-glitz.h, cairo-pdf.h, cairo-png.h,
- cairo-ps.h, cairo-xcb.h, cairo-xlib.h.
- Update for rename of cairo_wideint.h to cairo-wideint.h.
-
- * configure.in: Rename CAIRO_HAS_FREETYPE_FONT to
- CAIRO_HAS_FT_FONT, (to match cairo_ft_font functions and
- cairo-ft.h).
-
- * cairo.pc.in (Cflags): Update for public header files now in
- ${includedir}/cairo.
-
-2005-01-19 Carl Worth <cworth@cworth.org>
-
- * src/cairo_matrix.c (cairo_matrix_get_affine):
- * src/cairo_gstate.c (_cairo_gstate_current_point):
- * src/cairo_color.c (_cairo_color_get_rgb): Allow NULL values for
- return pointers so that the user can easily get partial results
- from cairo_matrix_get_affine, cairo_current_point, and
- cairo_current_color_rgb as needed.
-
- * src/cairo_ft_font.c (_utf8_to_ucs4): Fix int* vs. size_t*
- confusion, (currently in favor of int* but only because that's
- easier to implement). Thanks to John Ellson
- <ellson@research.att.com>. Closes bug #2328.
-
-2005-01-19 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c: Add byteswap macros missing for
- bigendian architectures.
-
-2005-01-19 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am (XFAIL_TESTS): Remove fill_rule and
- leaky_polygon from expected failures list. Both of these bugs have
- fixes, (fill_rule is fixed by reverting cairo_traps.c to 1.16, and
- leaky_polygon is fixed in a newer libpixman).
-
- * src/cairo_wideint.h: Remove const qualifiers from the header
- file as well.
-
- * src/cairo_wideint.c: Remove useless const qualifier from
- functions returning simple values, (quiets the warning in
- gcc4). Thanks to John Ellson <ellson@research.att.com>. Closes bug
- #2299.
-
- * BUGS: Add bugs on cairo_surface_create_for_image, bad names for
- cairo_font_set_transform and cairo_font_current_transform,
- segfault on AMD64.
-
-2005-01-17 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c (_cairo_pdf_document_get_font): Fix
- double free in error path.
- (cairo_pdf_ft_font_create): Reference the unscaled font to keep
- the FT_Face around.
- (cairo_pdf_ft_font_generate): Initialize end to avoid compiler
- warning; bail out if table write fails. Fixes from Owen.
-
-2005-01-17 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c: Add preliminary text support, including
- support for truetype font subsetting.
-
- * src/cairoint.h: Change type of 'surface' argument in show_glyphs
- to void * as it is for all other surface virtual functions.
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_show_glyphs):
- Update accordingly.
-
- * configure.in: Add check for endianess.
-
- * src/cairo_array.c (_cairo_array_grow_by): Fix bug in array
- growing loop.
- (_cairo_array_append): Accept NULL for elements argument, in which
- case we just allocate space in the array.
-
-2005-01-17 Kristian Høgsberg <krh@redhat.com>
-
- * test/Makefile.am (EXTRA_DIST): Take image_rotate-ref.png out of
- EXTRA_DIST until we can actually render it correctly.
- (XFAIL_TESTS): Update with new known bugs.
-
- * src/cairo-features.h.in:
- * src/cairo.h:
- * src/cairoint.h:
- * configure.in: Add font backend selection options.
-
-2005-01-15 John Ellson <ellson@research.att.com>
-
- reviewed by: Keith Packard <keithp@keithp.com>
-
- * src/cairo_gstate.c: (_cairo_gstate_glyph_extents):
- Was using the wrong extents variable.
-
-2005-01-13 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_xcb_surface.c: Replace struct cairo_surface_backend with
- cairo_surface_backend_t.
-
-2005-01-13 Carl Worth <cworth@cworth.org>
-
- * test/leaky_polygon.c:
- * test/Makefile.am
- * test/.cvsignore: Add leaky_polygon test for trapezoid
- rasterization corner case.
-
- * src/cairo_xlib_surface.c:
- * src/cairo_glitz_surface.c:
- * src/cairo_ft_font.c:
- * src/cairo_font.c:
- * src/cairoint.h:
- * src/cairo.h: Replace all structure tags to have _ prefix.
- struct cairo_foo -> struct _cairo_foo
- Also, prefer cairo_foo_t over struct _cairo_foo in .c files.
-
-2005-01-12 Carl Worth <cworth@cworth.org>
-
- * test/fill_rule.c: Add big_star_path which shows we still have
- fill bugs, (even now that little_star_path is working).
-
- * src/cairo.c (cairo_sane_state): A NULL cairo_t * is not sane.
-
- * cairo.pc.in (Libs,Cflags): Add freetype flags so that things
- work with freetype in a non-standard location, (a little extra
- work here since freetype doesn't use pkg-config).
-
- * TODO: Add several items culled from recent mailing list
- discussions.
-
- * BUGS: Add bugs on cache locking and surface pattern scaling.
-
-2005-01-11 Keith Packard <keithp@keithp.com>
-
- * src/cairo_matrix.c: (_cairo_matrix_compute_scale_factors):
- Scale factors shouldn't include mirroring.
-
- * src/cairo_wideint.c: (_cairo_int32x32_64_mul),
- (_cairo_int64x64_128_mul):
- * src/cairo_wideint.h:
- int32x32_64_mul and int64x64_128_mul are different from their
- unsigned compatriots
-
-2005-01-11 Øyvind Kolås <pippin@freedesktop.org>
-
- * src/cairo_color.c: renamed CAIRO_COLOR_DEFAULT to CAIRO_COLOR_WHITE,
- and made it white again.
-
-2005-01-11 Øyvind Kolås <pippin@freedesktop.org>
-
- * src/cairo_xlib_surface.c: (_cairo_xlib_surface_composite): removed
- accidental addition of debug printf in previous commit.
-
-2005-01-11 Øyvind Kolås <pippin@freedesktop.org>
-
- * src/cairo_color.c:
- * src/cairo_gstate.c: (_cairo_gstate_init):
- Changed default paint color from opaque white to opaque black.
-
-
-2005-01-11 Keith Packard <keithp@keithp.com>
-
- * cairo.pc.in:
- * configure.in:
- * src/Makefile.am:
- Fix math library detection to use autotools helper
-
- * src/cairo_cache.c: (_cache_sane_state), (_cairo_cache_lookup):
- Remove cache memory usage assertions as single objects can
- be larger than the cache size
-
- * src/cairo_ft_font.c: (_cairo_ft_font_compute_transform),
- (_cairo_ft_font_install_transform), (_install_font_scale),
- (_cairo_ft_font_font_extents), (_cairo_ft_font_glyph_extents),
- (_cairo_ft_font_create_glyph):
- Decompose font matrix transformations into a couple of
- helper routines.
- Return all metrics in font space.
-
- * src/cairo_glitz_surface.c: (_glitz_format):
- Eliminate compiler warning
-
- * src/cairo_gstate.c: (_cairo_gstate_current_font_extents),
- (_cairo_gstate_text_to_glyphs), (_cairo_gstate_glyph_extents):
- Expect glyph metrics to be in font space. Compute text extents
- by fetching one glyph metric at a time, transforming to user
- space and computing the overall bounding box.
-
- * src/cairo_matrix.c: (_cairo_matrix_set_rotate),
- (_cairo_matrix_compute_scale_factors):
- use 'sincos' where available.
- Scale factors now ensure the non-scale transform is area preserving.
- Scale factors requires another parameter to mark the fixed axis.
-
- * src/cairo_wideint.c:
- * src/cairo_wideint.h:
- Change license to LGPL
- Mark int32x32_64_mul as broken (which it still is)
-
- * src/cairo_xlib_surface.c: (_cairo_xlib_surface_show_glyphs32),
- (_cairo_xlib_surface_show_glyphs16),
- (_cairo_xlib_surface_show_glyphs8):
- Ensure each glyph is located as close to the specified position
- as possible
-
- * src/cairoint.h:
- interface change to _cairo_matrix_compute_scale_factors
-
-2005-01-07 Kristian Høgsberg <krh@redhat.com>
-
- * configure.in: Add -lz to CAIRO_LIBS when compiling the PDF
- backend.
-
- * src/cairo_pdf_surface.c (emit_image_data): Don't use
- compressBound, since it's only available in zlib 1.2 and newer.
-
-2005-01-07 Carl Worth <cworth@cworth.org>
-
- * TODO: Add Owen's new equation to fix clipping:
- ((src Op dest) In clip) Add (dest Out clip)
-
-2005-01-06 Carl Worth <cworth@cworth.org>
-
- * TODO: Added some TODO items from mailing list traffic.
- Added cairo_show_surface_mask and note about clipping problems.
-
-2005-01-05 Kristian Høgsberg <krh@redhat.com>
-
- * src/cairo_pdf_surface.c: (emit_image_data): Implement image
- compression (taken from cairo_ps_surface.c).
-
- * src/cairo_pdf_surface.c: New PDF backend.
- * src/cairo.h: Add PDF surface constructors.
- * src/cairo_array.c: New file - generic array implementation.
- * src/cairoint.h: Add cairo_array prototypes.
- * src/Makefile.am (libcairo_la_SOURCES):
- Add cairo_array.c and cairo_pdf_surface.c.
-
-2004-12-23 Carl Worth <cworth@cworth.org>
-
- * src/cairo_traps.c: Remove unused CAIRO_TRAPS_GROWTH_INC.
-
- * src/cairo_spline.c (_cairo_spline_add_point):
- * src/cairo_polygon.c (_cairo_polygon_add_edge): Resize arrays by
- doubling rather than by linear increments.
-
- * BUGS: Add new bug exposed centi_unfinished.svg.
-
-2004-12-21 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h:
- * src/cairo_wideint.h: Rename __internal_linkage to cairo_private
- and move it to the beginning of the line for function
- declarations. Also, drop unneeded "extern" from function
- declarations.
-
-2004-12-21 Carl Worth <cworth@cworth.org>
-
- With thanks to Kristian Høgsberg <krh@bitplanet.net>:
- * src/cairoint.h:
- * src/cairo_wideint.h: Tag a few private functions/data that were
- missing __internal_linkage.
-
- * src/cairo_xlib_surface.c:
- * src/cairo_ft_font.c:
- * src/cairo_font.c: Mark cache backends as static.
-
-2004-12-20 Carl Worth <cworth@cworth.org>
-
- * autogen.sh (LANG): Change "head -1" to more standard "head -n
- 1".
-
-2004-12-20 Alexander Larsson <alexl@redhat.com>
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_create_with_size):
- Fix bug in earlier change.
-
-2004-12-20 Carl Worth <cworth@cworth.org>
-
- * src/cairoint.h: Re-enabled __internal_linkage for all internal
- functions. Now avoid the warning by moving the * from the return
- type after the __internal_linkage macro. It looks awaful, but it
- keeps the compiler quiet.
-
-2004-12-20 Alexander Larsson <alexl@redhat.com>
-
- * src/cairoint.h:
- Add _cairo_gstate_restore_external_state, _cairo_fixed_integer_floor
- and _cairo_fixed_integer_ceil.
-
- * src/cairo.c: (cairo_restore):
- Call _cairo_gstate_restore_external_state on restore.
-
- * src/cairo_cache.c: (_cache_lookup):
- Fix cache-misses.
-
- * src/cairo_fixed.c: (_cairo_fixed_integer_floor),
- (_cairo_fixed_integer_ceil):
- Implement floor and ceil
-
- * src/cairo_gstate.c:
- (_cairo_gstate_restore_external_state):
- Restore surface clip region on restroe.
-
- (_calculate_region_for_intermediate_clip_surface),
- (_cairo_gstate_clip_and_composite_trapezoids),
- (_cairo_gstate_show_surface), (_cairo_gstate_show_glyphs):
- Create intermediate clip surfaces of the minimal required
- size.
-
-2004-12-20 Carl Worth <cworth@cworth.org>
-
- * AUTHORS: Add Alexander Larsson to AUTHORS list.
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_create_with_size):
- Split off from _cairo_xlib_surface_create to avoid roundtrip when
- size is already known.
- (cairo_xlib_surface_create): Simplified to just call XGetGeometry
- that defer to _cairo_xlib_surface_create_with_size. Add comment
- about remaining roundtrip and possible plans to eliminate it later
- with a new interface requiring width/height.
- Thanks to Alexander Larsson <alexl@redhat.com>.
-
- * test/text_cache_crash.c (draw): Disabled test that was killing
- my machine for some reason. Scary.
-
-2004-12-20 Carl Worth <cworth@cworth.org>
-
- * src/cairo_image_surface.c
- (_cairo_image_abstract_surface_create_pattern): Change return
- value from cairo_status_t to cairo_int_status_t to match
- definition in cairo_surface_backend_t.
-
- * BUGS: Add bug about gcc 3.4 warning: '__visibility__' attribute
- ignored on non-class types.
-
- * src/cairoint.h: Remove __internal_linkage macro from all
- functions returning pointers to shut up warning from gcc 3.4.
-
-2004-12-17 Carl Worth <cworth@cworth.org>
-
- * test/cairo_test.c (cairo_test): Fix to find reference images in
- local directory when run directly, (rather than by "make check").
-
- * BUGS: Add bug about invalidating font caches.
-
-2004-12-02 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_gstate.c (_cairo_gstate_clip): Revert the "return early"
- change so that rectangular clipping works with backends that
- don't support clipping regions.
-
-2004-11-29 Carl Worth <cworth@cworth.org>
-
- * COPYING: Fix typo: LPGL->LGPL.
-
- * src/cairo_ps_surface.c (cairo_ps_surface_create): Remove
- unintentional copyright statement from user-generated output
- image.
-
-2004-11-23 Carl Worth <cworth@cworth.org>
-
- * test/Makefile.am (XFAIL_TESTS): Note that text_cache_crash is
- expected to fail.
-
- * test/text_cache_crash.c (draw): Add test to demonstrate bug when
- item is too big for cache.
-
- * src/cairo_cache.c (_cache_sane_state): Really remove that
- refcount assertion this time.
-
- * test/text_cache_crash.c: Add note that bug has been fixed.
- (main): Instrumentation code for testing cache destruction.
-
- * test/cairo_test.c (cairo_test): Support tests that produce no
- output, (don't check image if (width,height) == (0,0)).
-
- * src/cairoint.h: Add #include <assert.h> here rather than in
- multiple .c files.
-
- * src/cairo_cache.c: Add const qualifier to static
- cache_arrangements table.
- (_cache_sane_state): Remove refcount assertion as it it false
- during the cairo_cache_destroy.
- (_cache_sane_state): #include <assert.h> moved up to cairoint.h
- (_entry_destroy): Fix bug in assertion (used_memory >=
- entry->memory), not >.
- (_cairo_cache_destroy): Fix timing of refcount decrement so that
- the destroy function actually works.
-
-2004-11-14 Carl Worth <cworth@cworth.org>
-
- * src/cairo_gstate.c (_cairo_gstate_select_font): Don't destroy a
- NULL font.
-
-2004-11-13 Carl Worth <cworth@cworth.org>
-
- * src/cairo_gstate.c (_cairo_gstate_select_font): Unconditionally
- destroy the old font, (otherwise, if the same font was selected
- twice in a row, a reference was lost to it, leading to assertion
- failures).
-
-2004-11-12 Stuart Parmenter <pavlov@pavlov.net>
- * src/cairo_gdip_font.cpp:
- * src/cairo_gdip_surface.cpp: Added GDI+ backend to Cairo.
-
-2004-11-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo_font.c (_font_cache_hash, _font_cache_create_entry):
- * src/cairo_ft_font.c (_cairo_ft_font_text_to_glyphs): Move
- declarations above statements to satisfy pre-C99 compilers. Thanks
- to Michael Johnson <ahze@ahze.net>.
-
-2004-11-09 Carl Worth <cworth@cworth.org>
-
- * test/text_rotate.c (NUM_TEXT): Increase size and increase number
- of different angles drawn.
- (draw): Fix broken usage of extents (missing bearings), add
- stroked bounding box (shifted out by 0.5 units to just abut the
- text), and increase position adjustments to make room for this
- larger box.
- (draw): Move x_off, y_off calculation outside of loop to emphasize
- loop-independence.
-
-2004-11-08 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * configure.in: require libpixman 0.1.2 since
- src/cairo_glitz_surface.c depends on two new functions of 0.1.2 -
- pixman_format_get_masks and pixman_image_get_format
-
-2004-11-05 Graydon Hoare <graydon@redhat.com>
-
- * src/cairo_ft_font.c: Change the signs of a variety of
- metrics, which were backwards.
- * src/cairo_gstate.c (_cairo_gstate_clip): Return early if we
- found a rectangular clip at all, not just in error case.
- * src/cairo_xlib_surface.c
- (_xlib_glyphset_cache_create_entry): Give render glyphset entry the
- negative bbox offsets it wants, not the bearings.
-
-2004-11-04 Carl Worth <cworth@cworth.org>
-
- * test/text_cache_crash.c: Add new test demonstrating assertion
- failure in cairo_cache_lookup.
-
- * test/text_rotate.c: Add new test showing problems with rotated
- text.
-
-2004-11-04 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_glitz_surface.c (cairo_set_target_glitz):
- cairo_glitz_surface_create now takes a reference to the glitz
- surface, so it shouldn't be done here anymore.
- Removed feature_mask from cairo_glitz_surface_t.
- Removed support for CAIRO_OPERATOR_SATURATE.
- (cairo_glitz_surface_create): Take a reference to the glitz
- surface and no need to get surface features anymore.
- Tracking changes to glitz.
-
- * configure.in: Require version 0.3.0 of glitz.
-
- * src/cairo_gstate.c (_cairo_gstate_clip): Fixed return status.
-
-2004-11-01 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * src/cairo.h: remove cairo_ft_font_destroy() prototype.
-
-2004-10-28 Carl Worth <cworth@cworth.org>
-
- * Makefile.am (release-verify-newer): Abort release-publish if
- there's already a published tar file with the current version.
- (release-publish): Add code to update the LATEST-package-version
- file.
-
-2004-10-27 Carl Worth <cworth@cworth.org>
-
- * configure.in: Increment CAIRO_VERSION to 0.2.0.
-
- * NEWS: Add notes for snapshot 0.2.0.
- Add note on reverted tessellation regression bugs.
-
- * RELEASING: Update release instructions for new release-publish
- target.
-
- * Makefile.am: Add release-check and release-publish targets
- copied from libpixman.
-
- * test/Makefile.am (AM_LDFLAGS): Fix to always link tests against
- locally built library, not installed version.
-
- * test/fill_rule.c: Add new test for cairo_set_fill_rule. Also
- demonstrate some of the current tessellation bugs with the version
- of the code that is in CVS.
-
-2004-10-26 Carl Worth <cworth@cworth.org>
-
- * test/cairo_test.c (cairo_test): Find reference images in
- ${srcdir} so that make distcheck will work.
-
- * test/Makefile.am (cairo_test_lib): Add header files so that make
- distcheck is happy.
- (INCLUDES): Add -D_GNU_SOURCE for asprintf. Someone motivated may
- want to find a more portable approach.
- (EXTRA_DIST): Add reference images for the sake of make distcheck.
-
- * configure.in: Shell doesn't like whitespace around assignment
- operator.
-
- * test/README: Add paragraph on new features.
-
- * test/.cvsignore:
- * test/Makefile.am:
- * test/README:
- * test/cairo_test.c:
- * test/cairo_test.h:
- * test/line_width-ref.png:
- * test/line_width.c:
- * test/move_to_show_surface-ref.png:
- * test/move_to_show_surface.c:
- * test/read_png.c:
- * test/read_png.h:
- * test/write_png.c:
- * test/write_png.h:
- * test/xmalloc.c:
- * test/xmalloc.h: Add initial regression test suite.
-
- * configure.in: Don't AC_SUBST a dozen different FOO_CFLAGS and
- FOO_LIBS. Instead, incrementally build up just CAIRO_CFLAGS and
- CAIRO_LIBS.
-
- * cairo.pc.in (Libs): Don't list flags that should get picked up
- via dependency information through Requires.
-
- * BUGS (font-size): Add description of move_to_show_surface.
-
-2004-10-21 Carl Worth <cworth@cworth.org>
-
- * src/cairo_png_surface.c:
- * src/cairo.c:
- * src/cairo.h:
- * src/cairo_cache.c:
- * src/cairo_color.c:
- * src/cairo_fixed.c:
- * src/cairo_font.c:
- * src/cairo_ft_font.c:
- * src/cairo_glitz_surface.c:
- * src/cairo_gstate.c:
- * src/cairo_hull.c:
- * src/cairo_image_surface.c:
- * src/cairo_matrix.c:
- * src/cairo_path.c:
- * src/cairo_path_bounds.c:
- * src/cairo_path_fill.c:
- * src/cairo_path_stroke.c:
- * src/cairo_pattern.c:
- * src/cairo_pen.c:
- * src/cairo_png_surface.c:
- * src/cairo_polygon.c:
- * src/cairo_ps_surface.c:
- * src/cairo_slope.c:
- * src/cairo_spline.c:
- * src/cairo_surface.c:
- * src/cairo_traps.c:
- * src/cairo_xcb_surface.c:
- * src/cairo_xlib_surface.c:
- * src/cairoint.h: Convert all files to utf-8. Add copyright
- information to cairo_png_surface.c.
-
- * src/cairo_hull.c (_cairo_hull_vertex_compare): Fix comparison so
- that it results in a stable sort. This should fix some rendering
- bugs due to broken pens.
-
- * TODO: Add items on custom caps and getting access to hidden
- image data
-
- * Makefile.am (EXTRA_DIST): Add COPYING-LGPL-2.1 and
- COPYING-MPL-1.1 to the distribution.
-
-2004-10-13 Carl Worth <cworth@cworth.org>
-
- * autogen.sh: automake 1.4 seems to be sufficient. Don't require
- 1.6.
-
-2004-10-12 Keith Packard <keithp@keithp.com>
-
- * src/cairo_traps.c: (_cairo_traps_init), (_cairo_traps_add_trap),
- (_cairo_traps_extents):
- * src/cairoint.h:
- Compute extents of cairo_traps_t on the fly using approximate
- method which is correct given the way cairo generates trapezoids.
-
- * src/cairo_xlib_surface.c: (_cairo_xlib_surface_create_similar):
- Avoid zero-dimensioned pixmaps
-
-2004-10-12 Carl Worth <cworth@cworth.org>
-
- * src/cairo_pen.c: Fix a few typos in pen vertex math description.
-
-2004-10-12 Keith Packard <keithp@keithp.com>
-
- reviewed by: Carl Worth <cworth@cworth.org>
-
- * src/cairo_pen.c: (_cairo_pen_init), (_cairo_pen_vertices_needed):
- Adapt function from Walter Brisken to compute pen ellipse major
- axis length and use that to compute the required number of pen
- vertices.
-
-2004-10-07 Graydon Hoare <graydon@redhat.com>
-
- * src/Makefile.am (libcairo_la_SOURCES): Add cairo_cache.c
-
- * src/cairo.c
- (cairo_text_extents)
- (cairo_show_text)
- (cairo_text_path): Rewrite using temporary glyph arrays
-
- * src/cairo_cache.c: New file.
-
- * src/cairo_font.c (_cairo_glyph_cache_create)
- (_cairo_glyph_cache_destroy)
- (_cairo_glyph_cache_reference)
- (_cairo_glyph_cache_pop_last)
- (_cairo_glyph_surface_init)
- (_cairo_font_lookup_glyph): Remove old glyph cache code.
- (_cairo_font_scale)
- (_cairo_font_transform): Remove font-transforming code.
- (_cairo_font_text_extents)
- (_cairo_font_text_bbox)
- (_cairo_font_show_text)
- (_cairo_font_text_path): Remove text-API code.
- (_cairo_font_cache_key_t): New structure type.
- (_font_cache_hash)
- (_font_cache_keys_equal)
- (_font_cache_create_entry)
- (_font_cache_destroy_entry)
- (_font_cache_destroy_cache): New font cache code.
- (_global_font_cache)
- (_lock_global_font_cache)
- (_unlock_global_font_cache)
- (_get_global_font_cache): New global font cache.
- (_cairo_font_text_to_glyphs)
- (_cairo_glyph_cache_hash)
- (_cairo_glyph_cache_keys_equal)
- (_image_glyph_cache_create_entry)
- (_image_glyph_cache_destroy_entry)
- (_image_glyph_cache_destroy_cache): New glyph cache code.
- (_global_image_glyph_cache)
- (_cairo_lock_global_image_glyph_cache)
- (_cairo_unlock_global_image_glyph_cache)
- (_cairo_get_global_image_glyph_cache): New global glyph cache.
- (_cairo_font_cache_backend): New structure.
- (_cairo_image_cache_backend): Likewise.
- (_cairo_font_create): Reimplement in terms of font cache.
- (_cairo_font_init): Remove matrix and glyph cache related code.
- (_cairo_font_copy): Likewise.
- (_cairo_font_show_glyphs): Delegate to surface when possible.
- (_cairo_font_glyph_extents)
- (_cairo_font_glyph_bbox)
- (_cairo_font_glyph_path)
- (_cairo_font_font_extents)
- (_cairo_font_show_glyphs): Rename to as cairo_unscaled_font_XXX,
- and add scale parameter.
-
- * src/cairo_ft_font.c
- (ft_cache_t)
- (ft_font_val_t)
- (cairo_ft_cache_key_t)
- (cairo_ft_cache_entry_t): New structure types.
- (_create_from_face)
- (_reference_font_val)
- (_destroy_font_val)
- (_create_from_library_and_pattern): New functions.
- (_ft_font_cache_hash)
- (_ft_font_cache_keys_equal)
- (_ft_font_cache_create_entry)
- (_ft_font_cache_destroy_entry)
- (_ft_font_cache_destroy_cache): New ft font cache code.
- (_global_ft_cache)
- (_lock_global_ft_cache)
- (_unlock_global_ft_cache)
- (_get_global_ft_cache): New global ft font cache.
- (_ft_font_cache_backend): New structure.
- (_cairo_ft_font_create): Rewrite to use cache.
- (_cairo_ft_font_destroy): Likewise.
- (_cairo_ft_font_copy): Remove.
- (_install_font_matrix): Rename as _install_font_scale.
- (_utf8_to_glyphs): Rename as _cairo_ft_font_text_to_glyphs.
- (_cairo_ft_font_text_to_glyphs): Use cache for metrics.
- (_cairo_ft_font_extents): Accept size, use scaled metrics.
- (_cairo_ft_font_glyph_extents)
- (_cairo_ft_font_glyph_bbox)
- (_cairo_ft_font_show_glyphs)
- (_cairo_ft_font_glyph_path): Modify to use size, cache.
- (_cairo_ft_font_text_extents)
- (_cairo_ft_font_text_bbox)
- (_cairo_ft_font_show_text)
- (_cairo_ft_font_text_path): Remove text-API code.
- (cairo_ft_font_create)
- (cairo_ft_font_create_for_ft_face)
- (cairo_ft_font_face)
- (cairo_ft_font_pattern): Rewrite using ft_font_val_t.
-
- * src/cairo_gstate.c (cairo_gstate_init_copy): Just reference font.
- (_cairo_gstate_fini): Finalize font matrix.
- (_cairo_gstate_default_matrix): Initialize font matrix.
- (_cairo_gstate_clip): Re-enable clipping rectangle.
- (_cairo_gstate_select_font)
- (_cairo_gstate_set_font): Set font matrix to identity.
- (_cairo_gstate_scale_font): Scale font matrix, not font.
- (_cairo_gstate_transform_font): Transform font matrix, not font.
- (_cairo_gstate_set_font_transform): Install as font matrix, not in font.
- (_build_font_scale): New helper function.
- (_cairo_gstate_text_to_glyphs): New function.
- (_cairo_gstate_current_font_extents)
- (_cairo_gstate_glyph_extents)
- (_cairo_gstate_show_glyphs)
- (_cairo_gstate_glyph_path): Rewrite using font matrix and size.
- (_cairo_gstate_text_path
- (_cairo_gstate_text_extents)
- (_cairo_gstate_show_text): Remove text-API code.
-
- * src/cairo_xlib_surface.c
- (_cairo_xlib_surface_set_clip_region): Minor bug fix.
- (_cairo_xlib_surface_show_glyphs): New function.
- (_cairo_xlib_surface_backend): Add reference to new function.
- (glyphset_cache_t)
- (glyphset_cache_entry_t): New structure types.
- (_next_xlib_glyph): New helper function.
- (_xlib_glyphset_cache_create_value)
- (_xlib_glyphset_cache_destroy_cache)
- (_xlib_glyphset_cache_destroy_value)
- (_xlib_glyphset_cache_backend): New glyphset cache code.
- (_xlib_glyphset_caches)
- (_lock_xlib_glyphset_caches)
- (_unlock_xlib_glyphset_caches)
- (_get_glyphset_cache): New global glyphset cache.
-
- * src/cairo_glitz_surface.c (cairo_glitz_surface_backend):
- Add NULL entry for show_glyphs.
-
- * src/cairo_image_surface.c (cairo_image_surface_backend):
- Add NULL entry for show_glyphs.
-
- * src/cairo_ps_surface.c (cairo_ps_surface_backend):
- Add NULL entry for show_glyphs.
-
- * src/cairo_png_surface.c (cairo_png_surface_backend):
- Add NULL entry for show_glyphs.
-
- * src/cairo_xcb_surface.c (cairo_xcb_surface_backend):
- Add NULL entry for show_glyphs.
-
- * src/cairoint.h (cairo_cache_backend_t): New structure type.
- (cairo_cache_entry_base_t)
- (cairo_cache_arrangement_t)
- (cairo_cache_t): New structure types.
- (_cairo_cache_init)
- (_cairo_cache_reference)
- (_cairo_cache_destroy)
- (_cairo_cache_lookup)
- (_cairo_hash_string): New cache functions.
- (CAIRO_IMAGE_GLYPH_CACHE_MEMORY_DEFAULT)
- (CAIRO_XLIB_GLYPH_CACHE_MEMORY_DEFAULT)
- (CAIRO_FONT_CACHE_NUM_FONTS_DEFAULT)
- (CAIRO_FT_CACHE_NUM_FONTS_DEFAULT): New constants.
- (cairo_font_scale_t)
- (cairo_glyph_cache_key_t)
- (cairo_image_glyph_cache_entry_t): New structure types.
- (_cairo_lock_global_image_glyph_cache)
- (_cairo_unlock_global_image_glyph_cache)
- (_cairo_get_global_image_glyph_cache)
- (_cairo_glyph_cache_hash)
- (_cairo_glyph_cache_keys_equal): New functions for glyph caches.
- (cairo_font_backend_t): Remove text-API calls, add scale params,
- remove copy call.
- (cairo_surface_backend_t): Add show_glyphs entry.
- (cairo_glyph_surface_t)
- (cairo_glyph_surface_node_t): Remove old glyph cache structures.
- (cairo_unscaled_font_t): New structure type.
- (cairo_font): Remove glyph cache member, add pointer to unscaled.
- (cairo_gstate): Add font_matrix member, change to hold unscaled.
- (_cairo_gstate_set_font_transform)
- (_cairo_gstate_current_font_transform)
- (_cairo_gstate_text_to_glyphs): New functions.
- (_cairo_gstate_text_path
- (_cairo_gstate_text_extents)
- (_cairo_gstate_show_text)
- (_cairo_font_text_extents)
- (_cairo_font_text_bbox)
- (_cairo_font_show_text)
- (_cairo_font_text_path): Remove text-API code.
- (_cairo_font_glyph_extents)
- (_cairo_font_glyph_bbox)
- (_cairo_font_glyph_path)
- (_cairo_font_font_extents)
- (_cairo_font_show_glyphs): Add scale parameter.
-
-2004-10-04 David Reveman <c99drn@cs.umu.se>
-
- * configure.in: Require version 0.2.3 of glitz.
-
- * src/cairo_glitz_surface.c: Do not use VBOs and PBOs for immediate
- mode drawing.
-
-2004-09-30 Jamey Sharp <jamey@minilop.net>
-
- * src/cairo_xcb_surface.c:
- Update for minor XCB API change.
-
-2004-09-20 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_glitz_surface.c (_cairo_glitz_surface_create_similar):
- Make sure that only offscreen formats are picked.
- (_cairo_glitz_surface_create_similar): Only try to find offscreen
- multi-sample format if offscreen multi-sampling is supported.
- (_cairo_glitz_surface_create_similar): If we can't find a drawable
- format try to pick a non-drawable format.
- (_cairo_glitz_surface_composite): Mask clone should be in
- CAIRO_FORMAT_A8 format.
-
-2004-09-15 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_glitz_surface.c (_cairo_glitz_surface_set_image): Do
- the scanline order conversion in cairo.
- (_cairo_glitz_surface_create_pattern): Pre-multiply gradient colors.
- (_cairo_glitz_surface_create_similar): Find similar formats
- correctly.
-
-2004-09-12 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_glitz_surface.c (_cairo_glitz_surface_create_pattern):
- Pickup repeat setting when cloning surface.
- (_cairo_glitz_surface_create_pattern): cairo_surface_set_repeat
- likes to get a cairo_surface_t pointer not a cairo_glitz_surface_t
- pointer.
- (_cairo_glitz_surface_set_image): Get pixel masks from pixman image
- format.
-
-2004-09-11 Carl Worth <stacyworth@pippin.local>
-
- * autogen.sh: Require automake 1.6 rather than 1.7 since it seems
- to work just fine.
-
-2004-09-11 David Reveman <c99drn@cs.umu.se>
-
- * configure.in: Require version 0.2.2 of glitz.
-
- * src/cairo_glitz_surface.c (_cairo_glitz_surface_create_pattern):
- 0.5 should no longer be added to gradient stop coordinates.
-
- * src/cairo.h: CAIRO_HAS_GL_SURFACE -> CAIRO_HAS_GLITZ_SURFACE.
- cairo_set_target_gl -> cairo_set_target_glitz.
- cairo_gl_surface_create -> cairo_glitz_surface_create.
-
- * src/cairo-features.h.in: GL_SURFACE_FEATURE -> GLITZ_SURFACE_FEATURE.
-
- * src/Makefile.am: CAIRO_HAS_GL_SURFACE -> CAIRO_HAS_GLITZ_SURFACE,
- libcairo_gl_sources -> libcairo_glitz_sources, cairo_gl_surface.c ->
- cairo_glitz_surface.c, GL_CFLAGS -> GLITZ_CFLAGS and
- GL_LIBS -> GLITZ_LIBS.
-
- * cairo.pc.in (Requires): GL_REQUIRES -> GLITZ_REQUIRES.
-
- * configure.in: Replaced the gl backend with the new glitz backend.
- Cairo now requires version 0.2.1 of glitz.
-
-2004-09-04 Carl Worth <cworth@brudder.east.isi.edu>
-
- * COPYING:
- * COPYING-MPL-1.1:
- * COPYING-LGPL-2.1:
- * src/cairo-features.h.in:
- * src/cairo.c:
- * src/cairo.h:
- * src/cairo_color.c:
- * src/cairo_fixed.c:
- * src/cairo_font.c:
- * src/cairo_gstate.c:
- * src/cairo_hull.c:
- * src/cairo_image_surface.c:
- * src/cairo_matrix.c:
- * src/cairo_path.c:
- * 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_ps_surface.c:
- * src/cairo_slope.c:
- * src/cairo_spline.c:
- * src/cairo_surface.c:
- * src/cairo_xcb_surface.c:
- * src/cairo_xlib_surface.c:
- * src/cairoint.h: Add the MPL as a new license option, in addition
- to the LGPL.
-
-2004-08-14 Carl Worth <cworth@isi.edu>
-
- * src/cairo_image_surface.c
- (_cairo_image_surface_set_clip_region): Make a copy of the region
- since pixman is currently taking ownership of it (ugh). Thanks to
- Vladimir Vukicevic <vladimir@pobox.com> and Peter Dennis Bartok
- <peter@novonyx.com>.
-
- * autogen.sh (LANG): Explicitly set LANG=C to fix the awk
- string->number conversion for user with locales that don't match
- ASCII digit conventions.
-
-2004-08-03 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (extract_transformed_rectangle): Temporarily
- disable rectangle-based clipping optimization as it's not working
- (see cairo_snippets/xxx_clip_rectangle for a test case).
-
-2004-08-02 Carl Worth <cworth@isi.edu>
-
- * COPYING:
- * src/cairo-features.h.in:
- * src/cairo.c:
- * src/cairo.h:
- * src/cairo_color.c:
- * src/cairo_fixed.c:
- * src/cairo_font.c:
- * src/cairo_gstate.c:
- * src/cairo_hull.c:
- * src/cairo_image_surface.c:
- * src/cairo_matrix.c:
- * src/cairo_path.c:
- * 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_ps_surface.c:
- * src/cairo_slope.c:
- * src/cairo_spline.c:
- * src/cairo_surface.c:
- * src/cairo_xcb_surface.c:
- * src/cairo_xlib_surface.c:
- * src/cairoint.h: Change from MIT license to LGPL.
- Fix to explicitly refer to GNU Lesser Public License 2.1 rather
- than the Library Public License version 2 or "any later version"
-
- * src/cairo_pattern.c:
- * src/cairo_gl_surface.c: Fix copyright attributions mistakenly
- attributed to University of Southern California rather than to
- David Reveman.
-
- * BUGS: Note that cairo_clip is fixed now.
-
-2004-08-01 Øyvind Kolås <oeyvindk@hig.no>
-
- * src/cairo.h: replaced ct with cr in public headers to keep
- usage consistent.
-
-2004-07-24 Jamey Sharp <jamey@minilop.net>
-
- * src/cairo_xcb_surface.c:
- Updating for XCB API change around iterators.
-
-2004-07-20 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_get_image): Use new
- pixel buffer interface.
- (_cairo_gl_surface_set_image): Use new pixel buffer interface.
- (_cairo_gl_surface_set_filter): Don't use convolution filter for
- gaussian filter type as we have no software fall-back.
- (_cairo_gl_surface_create_pattern): Color ranges now need a surface
- reference.
- Added new CAIRO_GL_SURFACE_IS_DRAWABLE macro.
-
-2004-07-16 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_font.c (_cairo_font_copy): Fixed stupid typo.
- Added decleration of _cairo_glyph_cache_destroy.
-
-2004-07-15 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_font.c (_cairo_font_copy): Destroy glyph cache
- created by font backend.
-
-2004-07-11 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_init_clip): Don't call
- _cairo_surface_set_clip_region with a NULL surface.
-
-2004-07-09 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_arc_dir): Fix numerical
- problem that could lead to infinite loops.
-
-2004-07-09 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * autogen.sh: Require automake 1.7 (and thus aclocal 1.7) which
- requires autoconf 2.54. Changed since newer libtools may fail to
- work with older automake versions such as 1.4. I bet this will
- annoy people with older tool chains :(
-
-2004-07-05 Carl Worth <cworth@isi.edu>
-
- * src/cairo.c (CAIRO_CHECK_SANITY): Remove errant semicolon from
- macro definition.
-
-2004-06-21 David Reveman <c99drn@cs.umu.se>
-
- * configure.in: Require glitz >= 0.1.5.
-
- * src/cairo_gstate.c (_cairo_gstate_clip_and_composite_trapezoids):
- Use correct source offset when creating clip surface.
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_get_image): Use glitz's
- new pixel interface.
- (_cairo_gl_surface_set_image): Use glitz's new pixel interface.
- (_cairo_gl_surface_create_similar): First try to create a drawable
- surface and if that fails, create a read only surface.
- (_cairo_gl_surface_create_similar): Glitz now handles inheritance of
- anti-aliasing hints, so it can be removed from here.
- (_cairo_gl_surface_create_pattern): Temporary fix for gradients.
-
-2004-06-16 Keith Packard <keithp@keithp.com>
-
- * src/cairo_xcb_surface.c: (bytes_per_line),
- (_cairo_xcb_surface_set_image):
- Fix image data length computation (XCB doesn't do this part).
-
-2004-06-11 David Reveman <c99drn@cs.umu.se>
-
- * configure.in: Require glitz 0.1.4.
-
- * src/cairo_gl_surface.c: Added CAIRO_GL_SURFACE_MULTISAMPLE macro.
- (_cairo_gl_extract_rectangle): Added _cairo_gl_extract_rectangle.
- (_cairo_gl_surface_composite_trapezoids): Use fill_rectangles if
- we can represent the traps as a rectangle. fill_trapezoids cannot be
- used with software multi-sampling.
- (CAIRO_GL_COMPOSITE_TRAPEZOIDS_SUPPORT): Glitz can no longer composite
- trapezoids just by using offscreen drawing.
- (_cairo_gl_surface_create_similar): Inherit anti-aliasing properties.
-
- * src/cairo_gstate.c (_cairo_gstate_create_pattern): Get solid color
- from color stop components.
-
- * src/cairoint.h: Removed cairo color from color stop.
-
- * src/cairo_pattern.c: Added MULTIPLY_COLORCOMP macro.
- (cairo_pattern_add_color_stop): Do not pre-multiply stop color.
- (_cairo_pattern_calc_color_at_pixel): Multiply with alpha.
-
-2004-05-28 Carl Worth <cworth@isi.edu>
-
- * These two fixes are from David Reveman <c99drn@cs.umu.se>:
-
- * src/cairo_surface.c (_cairo_surface_create_similar_scratch)
- (_cairo_surface_create_similar_solid): Move NULL test from
- create_similar_scratch to create_similar_solid.
-
- * src/cairo_font.c (_cairo_glyph_surface_init): Fix for when
- surface->backend != image->backend, but the backend does use
- images for similar surfaces.
-
-2004-05-28 Keith Packard <keithp@keithp.com>
-
- * configure.in:
- * src/Makefile.am:
- Add WARN_CFLAGS, autodetection for 64/128 bit ints and
- cairo_wideint.[ch]
-
- * src/cairo_gstate.c: (_cairo_gstate_show_glyphs):
- Check status return from _cairo_gstate_glyph_extents
-
- * src/cairo_pattern.c: (_cairo_image_data_set_radial),
- (_cairo_pattern_get_image):
- * src/cairo_png_surface.c: (_cairo_png_surface_copy_page):
- * src/cairo_surface.c: (_cairo_surface_composite):
- Quiet compiler warnings about uninitialized variables
-
- * src/cairo_traps.c: (_det16_32), (_det32_64),
- (_fixed_16_16_to_fixed_32_32), (_line_segs_intersect_ceil):
- Switch to alternate exact line intersection code.
-
- * src/cairo_wideint.c: (_cairo_uint64_divrem),
- (_cairo_uint32_to_uint64), (_cairo_int32_to_int64),
- (_cairo_uint32s_to_uint64), (_cairo_uint64_add),
- (_cairo_uint64_sub), (_cairo_uint32x32_64_mul),
- (_cairo_uint64_mul), (_cairo_uint64_lsl), (_cairo_uint64_rsl),
- (_cairo_uint64_rsa), (_cairo_uint64_lt), (_cairo_uint64_eq),
- (_cairo_int64_lt), (_cairo_uint64_not), (_cairo_uint64_negate),
- (_cairo_leading_zeros32), (_cairo_uint64x32_normalized_divrem),
- (_cairo_int64_divrem), (_cairo_uint128_divrem),
- (_cairo_uint32_to_uint128), (_cairo_int32_to_int128),
- (_cairo_uint64_to_uint128), (_cairo_int64_to_int128),
- (_cairo_uint128_add), (_cairo_uint128_sub), (uint64_lo),
- (uint64_hi), (uint64_shift32), (_cairo_uint64x64_128_mul),
- (_cairo_uint128_mul), (_cairo_uint128_lsl), (_cairo_uint128_rsl),
- (_cairo_uint128_rsa), (_cairo_uint128_lt), (_cairo_int128_lt),
- (_cairo_uint128_eq), (_cairo_uint128x64_normalized_divrem),
- (_cairo_leading_zeros64), (_cairo_int128_negate),
- (_cairo_int128_not), (_cairo_int128_divrem):
- * src/cairo_wideint.h:
- Add 64/128-bit wide integer arithmetic.
-
- * src/cairoint.h:
- Switch to stdint.h types (and new wide types).
-
-2004-05-24 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo.c (cairo_restore): Moved CAIRO_CHECK_SANITY below
- declarations.
- (cairo_current_font): Moved CAIRO_CHECK_SANITY below declarations.
-
- * src/cairoint.h: Added cairo_glyph_size_t, cairo_glyph_surface_t,
- cairo_glyph_surface_node_t and cairo_glyph_cache_t.
- Added font backend functions text_bbox, glyph_bbox and create_glyph.
- Added source offset parameter to show_text and show_glyphs.
- Added drawable parameter to backend function create_similar.
- cairo_font_t now contains a glyph_cache pointer.
- Added _cairo_font_text_bbox, _cairo_font_glyph_bbox,
- _cairo_font_lookup_glyph and _cairo_surface_create_similar_scratch.
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_create_similar):
- (_cairo_xlib_surface_clone_similar):
- Added drawable parameter to backend function create_similar.
-
- * src/cairo_xcb_surface.c (_cairo_xcb_surface_create_similar):
- (_cairo_xcb_surface_clone_similar):
- Added drawable parameter to backend function create_similar.
-
- * src/cairo_surface.c: Added _cairo_surface_create_similar_scratch.
- Added drawable parameter to backend function create_similar.
-
- * src/cairo_ps_surface.c (_cairo_ps_surface_create_similar):
- Added drawable parameter to backend function create_similar.
-
- * src/cairo_png_surface.c (_cairo_png_surface_create_similar):
- Added drawable parameter to backend function create_similar.
-
- * src/cairo_image_surface.c (_cairo_image_surface_create_similar):
- Added drawable parameter to backend function create_similar.
-
- * src/cairo_gstate.c (_cairo_gstate_show_text): Use new text
- bounding box function. Pass pattern source offset to show_text.
- (_cairo_gstate_show_glyphs): Use new text
- bounding box function. Pass pattern source offset to show_glyps.
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_create_similar): Added
- drawable parameter to backend function create_similar. Use glitz's
- new create similar interface. Support for read-only surfaces.
- (_cairo_gl_surface_clone_similar): Added drawable parameter to
- backend function create_similar.
-
- * src/cairo_ft_font.c: Use new glyph caching system. Added bounding box
- font backend functions.
-
- * src/cairo_font.c: Added glyph caching system. Added bounding box
- font backend functions.
- (_cairo_font_init): Create new glyph cache.
- (_cairo_font_copy): Take a reference to other fonts glyph cache.
- (_cairo_font_show_text):
- (_cairo_font_show_glyphs): Handle source offset.
- (cairo_font_destroy): Destroy glyph cache.
-
-2004-05-20 Graydon Hoare <graydon@redhat.com>
-
- * configure.in: Add sanity checking feature configury.
-
- * src/cairo-features.h.in: Add sanity checking feature.
-
- * src/cairo.c: Add sanity checking.
-
- * src/cairoint.h: Add prototypes.
-
- * src/cairo_fixed.c
- (_cairo_fixed_is_integer):
- (_cairo_fixed_integer_part): New functions.
-
- * src/cairo_matrix.c
- (_cairo_matrix_is_integer_translation): New function.
-
- * src/cairo_gstate.c
- (extract_transformed_rectangle): Use fixed functions.
- (_cairo_gstate_clip): Arithmetic fixes.
- (_cairo_gstate_clip_and_composite_trapezoids):
- (_cairo_gstate_show_surface):
- (_cairo_gstate_show_text):
- (_cairo_gstate_show_glyphs): Corrections to clipping.
-
- * src/cairo_xlib_surface.c
- (_cairo_xlib_surface_composite): Add XCopyArea fast path.
- (_cairo_xlib_surface_set_clip_region): Drive clip to drawable.
-
-2004-05-17 Carl Worth <cworth@isi.edu>
-
- * src/cairo.c (cairo_show_text): Do nothing when passed a NULL
- string.
-
-2004-05-11 Øyvind Kolås <oeyvindk@hig.no>
-
- * src/cairoint.h : changed CAIRO_FILTER_DEFAULT to CAIRO_FILTER_BEST
- to make gradients easier.
-
-2004-05-11 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_pattern.c (_cairo_pattern_get_image): Removed
- pattern_offset.
-
- * src/cairo_surface.c (_cairo_surface_create_pattern): Removed
- pattern_offset.
-
- * src/cairo_gstate.c: Removed pattern_offset.
-
- * src/cairoint.h: Removed pattern_offset.
-
-2004-05-11 Carl Worth <cworth@isi.edu>
-
- * configure.in: Increment CAIRO_VERSION to 0.1.23.
-
- * NEWS: Added notes for snapshot 0.1.23.
-
- * RELEASING: Add reminder to mention incompatible API changes in
- NEWS. Re-order steps to avoid clobbering pre-existing tar
- files.
-
-2004-05-11 Carl Worth <cworth@isi.edu>
-
- * BUGS: Several people have reported that cairo_clip is not
- working right now. And it's always been slow.
-
-2004-05-11 David Reveman <c99drn@cs.umu.se>
-
- * configure.in: Require glitz 0.1.2.
-
- * src/cairo_gl_surface.c: Added opacity attribute. Fixed broken
- CAIRO_GL_COMPOSITE_TRAPEZOIDS_SUPPORT macro.
- (_cairo_gl_surface_composite_trapezoids): Use polygon opacity.
- (_cairo_gl_surface_create_pattern): Added surface pattern support.
- (_cairo_gl_surface_create): Initialize opacity to 0xffff.
-
-2004-05-07 Carl Worth <cworth@isi.edu>
-
- * src/cairo_ft_font.c (_utf8_to_ucs4): Bail on NULL utf8 string.
-
- * src/cairo_spline.c (_cairo_spline_add_point): Don't add two
- consecutive, identical points when decomposing the spline, (which
- was leading to an infinte loop in the stroke algorithm when it
- found a slope of (0,0)).
-
-2004-05-04 Carl Worth <cworth@isi.edu>
-
- * src/cairo_png_surface.c (cairo_png_surface_create): Move all
- libpng-related code into copy_page.
- (unpremultiply_data): Add missing unpremultiply step.
- (_cairo_png_surface_copy_page): Move PNG output to copy_page. Add
- support for A8 and A1 images. Remove time from header (we may want
- to add it again later, but for now it messes up my test suite).
- (_cairo_png_surface_destroy): Call copy_page if it hasn't been
- called already.
- (_cairo_png_surface_show_page): Add implementation.
- (_cairo_png_surface_copy_page): Don't close a file we didn't open.
-
-2004-05-04 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_pattern.c (_cairo_image_data_set_radial): Corrected some
- confusing comments about the math used for radial gradients.
-
-2004-05-01 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_create_pattern):
- cairo_surface_t pointer to cairo_surface_set_matrix.
-
-2004-04-29 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_set_pattern): Don't set
- pattern_offset by the current point. Perhaps we can eliminate
- pattern_offset altogether now?
-
-2004-04-30 David Reveman <c99drn@cs.umu.se>
-
- * src/cairoint.h: Radial patterns only store radius per circle.
- Only inverse CTM to _cairo_pattern_transform.
-
- * src/cairo_pattern.c (cairo_pattern_create_radial): Only one radius
- per circle now.
- (_cairo_pattern_transform): A matrix multiplication with inverse CTM
- is all that's needed here.
- (_cairo_pattern_calc_color_at_pixel): Fixed extend type reflect.
- (_cairo_image_data_set_linear): New linear gradient code.
- Transformation of linear gradient is now handled correctly.
- (_cairo_image_data_set_radial): New radial gradient code. Inner circle
- is now used for creating radial gradients. Transformation of radial
- gradient is now handled correctly.
- (_cairo_pattern_get_image): Fixed handling of pattern offset.
-
- * src/cairo_gstate.c (_cairo_gstate_create_pattern): All pattern types
- are transformed using inverse CTM.
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_create_pattern): Updated
- to use glitz's new linear and radial gradients.
-
- * configure.in: Require glitz 0.1.1.
-
-2004-04-28 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_gl_surface.c: Added CAIRO_GL_MULTITEXTURE_SUPPORT and
- CAIRO_GL_SURFACE_IS_SOLID macros.
- (_cairo_gl_surface_get_image): Simpler way for calculating rowstride.
- (_cairo_gl_surface_composite): Support compositing with mask surface
- when mask is solid or multi-texturing is available.
-
-2004-04-25 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_set_clip_region):
- Fixed conversion of pixman_box16_t to glitz_rectangle_t.
-
- * src/cairoint.h: Added scale factor value to cairo_color_stop_t.
- Added cairo_shader_function_t and cairo_shader_op_t.
-
- * src/cairo_surface.c (_cairo_surface_create_pattern):
- Fixed point updates.
-
- * src/cairo_pattern.c (cairo_pattern_create_radial): Use absolute value
- of radius parameters.
- (cairo_pattern_add_color_stop): Precalculate scale factors and convert
- offset to fixed point value.
- (_cairo_image_data_set_radial):
- (_cairo_image_data_set_linear): Initialize and use shading operator.
- (_cairo_pattern_get_image): Fixed point updates.
- (_cairo_pattern_shader_nearest):
- (_cairo_pattern_shader_linear):
- (_cairo_pattern_shader_gaussian):
- (_cairo_pattern_calc_color_at_pixel):
- Converted shading routines to use fixed point values and introduced
- a shading operator structure for more efficient shading calculations.
- Added _cairo_pattern_shader_init function.
-
- * src/cairo_gl_surface.c (_cairo_gl_surface_composite):
- (_cairo_gl_surface_fill_rectangles):
- (_cairo_gl_surface_composite_trapezoids):
- Make sure that target surface is OK.
- (_cairo_gl_create_color_range): Initialize and use shading operator.
- (_cairo_gl_surface_create_pattern):
- (_cairo_gl_surface_set_clip_region): Fixed point updates.
-
-2004-04-23 Carl Worth <cworth@isi.edu>
-
- * src/cairoint.h:
- * src/cairo_surface.c (_cairo_surface_composite):
- * src/cairo_gstate.c (_cairo_gstate_current_fill_rule): Fixed
- several function prototype mismatches between internal header file
- and implementation (thanks to Carlos Romero and gcc-3.4).
-
-2004-04-22 David Reveman <c99drn@cs.umu.se>
-
- * src/cairoint.h:
- * src/cairo_surface.c (_cairo_surface_create_pattern):
- * src/cairo_pattern.c (_cairo_pattern_set_source_offset)
- (_cairo_pattern_get_image):
- * src/cairo_gstate.c (_cairo_gstate_create_pattern):
- * src/cairo_gl_surface.c (_cairo_gl_surface_create_pattern): Fixed
- pattern source offset.
-
-2004-04-20 David Reveman <c99drn@cs.umu.se>
-
- * src/cairo_pattern.c (_cairo_image_data_set_linear): Use
- CAIRO_MAXSHORT instead of INT_MAX.
-
- * src/cairo_traps.c (_cairo_traps_extents): Use CAIRO_MAXSHORT and
- CAIRO_MINSHORT instead of SHRT_MAX and SHRT_MIN.
-
- * src/cairoint.h: including limits.h and defining CAIRO_MAXSHORT and
- CAIRO_MINSHORT.
-
-2004-04-16 Carl Worth <cworth@isi.edu>
-
- * NEWS: Added notes for snapshot 0.1.22.
-
- * configure.in: Now depends on libpixman 0.1.1.
- Bump version to 0.1.22.
-
- * src/cairo_image_surface.c (_create_pixman_format): Track pixman
- fixes to PIXMAN_FORMAT_NAME_*.
-
- * src/cairo_png_surface.c (cairo_png_surface_create): Explicitly
- add cases for all enum values to eliminate compiler warnings.
-
- * src/cairo.h: Remove proposal for surface_clip interface as
- cairo_clip should be able to cover this case now.
-
- * BUGS: Added bug concerning negative ref_counts.
-
-2004-04-09 David Reveman <c99drn@cs.umu.se>
-
- * NEWS: Added notes for snapshot 0.1.21.
-
- * configure.in: Bump version to 0.1.21.
-
- * src/cairo_surface.c (_cairo_surface_create_pattern):
- * src/cairo_pattern.c (_cairo_pattern_get_image): Fixed
- incorrect rounding of pattern image size.
-
- * AUTHORS: Added myself to the AUTHORS file.
-
- * cairo.pc.in:
- * src/Makefile.am:
- * src/cairo-features.h.in:
- * src/cairo.h:
- * src/cairo_gl_surface.c (added): Added OpenGL surface backend.
-
- * configure.in: Automatically detect available backends.
-
-2004-04-06 Carl Worth <cworth@isi.edu>
-
- * NEWS: Added notes for snapshot 0.1.20.
-
- * RELEASING: Added new RELEASING file.
-
-2004-04-04 David Reveman <c99drn@cs.umu.se>
-
- * src/cairoint.h: Added create_pattern backend function and pattern
- prototypes.
-
- * src/cairo_xlib_surface.c: Added _cairo_xlib_surface_create_pattern.
-
- * src/cairo_xcb_surface.c: Added _cairo_xcb_surface_create_pattern.
-
- * src/cairo_traps.c: Added _cairo_trap_extents and
- _cairo_traps_extents.
-
- * src/cairo_surface.c: Added _cairo_surface_create_pattern.
-
- * src/cairo_ps_surface.c: Added _cairo_ps_surface_create_pattern.
-
- * src/cairo_png_surface.c: Added _cairo_png_surface_create_pattern.
-
- * src/cairo_pattern.c (added): All functions needed for the new
- pattern API.
-
- * src/cairo_image_surface.c: Added
- _cairo_image_abstract_surface_create_pattern.
-
- * src/cairo_gstate.c (_cairo_gstate_init): Create solid pattern
- and set alpha to 0.0.
- (_cairo_gstate_init_copy): Increment pattern references.
- (_cairo_gstate_fini): Destroy pattern.
- (_cairo_gstate_set_pattern): Destroy current pattern,
- increment references to the new pattern and update pattern
- offset with the current point.
- (_cairo_gstate_set_rgb_color): Destroy current pattern and
- create a new solid pattern.
- (_cairo_gstate_current_rgb_color): Get RGB from current pattern.
- (_cairo_gstate_set_alpha): Set gstate->alpha without modifying
- the current pattern.
- (_cairo_gstate_stroke):
- (_cairo_gstate_fill): Removed surface matrix computations as
- they are now handled by _cairo_gstate_create_pattern.
- (_cairo_gstate_clip_and_composite_trapezoids): Create a
- possibly backend accelerated pattern source and use it for
- compositing trapezoids.
- (_cairo_gstate_clip): Allow backends to not support rectangular
- clipping regions. Use solid pattern for creating clip surface.
- (_cairo_gstate_show_surface): Use solid pattern for alpha mask.
- (_cairo_gstate_show_text):
- (_cairo_gstate_show_glyphs): Use current pattern when compositing
- glyphs.
-
- Added _cairo_gstate_current_pattern and _cairo_gstate_create_pattern,
- _cairo_gstate_stroke_extents, _cairo_gstate_fill_extents.
- Removed restore_text_rendering_context, setup_text_rendering_context,
- _cairo_gstate_ensure_source.
-
- * src/cairo_ft_font.c (_cairo_ft_font_show_glyphs): Advance
- source offset.
-
- * src/cairo.h: Added cairo_current_pattern,
- cairo_pattern_create_for_surface, cairo_pattern_create_linear,
- cairo_pattern_create_radial, cairo_pattern_reference,
- cairo_pattern_destroy, cairo_pattern_add_color_stop,
- cairo_pattern_set_matrix, cairo_pattern_get_matrix,
- cairo_pattern_set_extend, cairo_pattern_get_extend,
- cairo_pattern_set_filter, cairo_pattern_get_filter. cairo_set_pattern
- now takes a cairo_pattern_t pointer instead of a cairo_surface_t
- pointer. Added CAIRO_FILTER_GAUSSIAN filter type. Added cairo_extend_t
- enum.
-
- * src/cairo.c: _cairo_restrict_value declared not static as it's
- used in cairo_pattern.c. Added rectangular extents functions
- cairo_stroke_extents and cairo_fill_extents. cairo_set_pattern now
- takes a cairo_pattern_t pointer instead of a cairo_surface_t
- pointer. Added cairo_current_pattern function.
-
- * src/Makefile.am (libcairo_la_LIBADD): Removed -lz and added PS_LIBS.
-
- * configure.in: Bump version to 0.1.20. Includes new pattern
- API. Removed an extra AC_SUBST(XRENDER_LIBS).
- PS_SURFACE_LIBS -> PS_LIBS.
-
- * cairo.pc.in: PS_SURFACE_LIBS -> PS_LIBS.
-
-2004-04-02 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo.h: Move weight after slant to match the order in
- cairo_select_font.
-
- * TODO: Added notes on DPI for image-based backends and on
- proposal for new cairo_text_glyphs function.
-
- * BUGS: Added BUG about cairo_show_text not advancing the current
- point.
-
-2004-03-30 Carl Worth <cworth@isi.edu>
-
- * src/Makefile.am (libcairo_la_LIBADD): Add -lz.
-
-2004-03-30 Carl Worth <cworth@isi.edu>
-
- * configure.in: Add checks for Xrender.h in xrender.pc is not
- found. Remove AC_HELP_STRING to be compatible with older versions
- of autoconf (thanks to Bill Spitzak <spitzak@d2.com>).
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_set_clip_region):
- Add question on semantics with empty region. Fix missing return
- value.
-
- * src/cairo_image_surface.c
- (_cairo_image_surface_set_clip_region): Export for internal use.
- (_cairo_image_abstract_surface_set_clip_region): Add silly wrapper
- to match the backend interface.
-
- * src/cairo_gstate.c (_cairo_gstate_init_clip): Remove unused
- variables.
-
- * src/cairo.h: Add proposal for cairo_xlib_surface_set_size.
-
- * BUGS: Added note about problem with cairo_scale_font.
-
-2004-03-23 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * src/cairo_ps_surface.c (_cairo_ps_surface_set_clip_region)
- * src/cairo_png_surface.c (_cairo_png_surface_set_clip_region):
- Implement _set_clip_region by delegating it to the image backend.
-
- * src/cairo_xcb_surface.c (_cairo_xcb_surface_set_clip_region):
- Add a stub.
-
- * src/cairo.h: Add missing (?) cairo_init_clip
-
-2004-03-20 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * configure.in: Move the PNG_CFLAGS/_LIBS substitutes outside
- the conditional, to match what is already done for XCB.
- Do the same for XRENDER_CFLAGS/LIBS.
-
- * configure.in: Substitute PNG_CFLAGS, PNG_LIBS on
- the configure path when use_png is not enabled to prevent
- the substituions being undefined.
-
-2004-03-19 Graydon Hoare <graydon@redhat.com>
-
- * src/cairo.c (cairo_init_clip): Add.
- * src/cairo_gstate.c:
- Initialize, finalize and copy clip.region.
- Detect rectangular clips and push down to backend.
-
- * src/cairoint.h
- (cairo_surface_backend_t): Add set_clip_region slot.
- (cairo_clip_rec_t): Add region slot.
- (_cairo_gstate_init_clip)
- (_cairo_surface_set_clip_region): Prototype.
-
- * src/cairo_surface.c
- (_cairo_surface_set_clip_region): Add.
-
- * src/cairo_xlib_surface.c
- (_cairo_xlib_surface_set_clip_region): Add.
-
- * src/cairo_image_surface.c
- (_cairo_image_surface_set_clip_region): Add.
-
- * src/cairo_ps_surface.c
- (_cairo_ps_surface_set_clip_region): Stub, not implemented.
-
-2004-03-16 Jamey Sharp <jamey@minilop.net>
-
- * src/cairo.h:
- * src/cairo_xcb_surface.c:
- Updated for XCB typename renaming. The Xlib and XCB surfaces can
- be compiled in the same library now.
-
- * src/cairo_surface.c:
- Initialize the surface's filter value.
-
-2004-02-26 Carl Worth <cworth@isi.edu>
-
- * AUTHORS: Add Jordi and Olivier to the AUTHORS file.
-
- * src/cairo_ft_font.c (_utf8_to_ucs4): Fix broken return value for
- nchars (thanks to Jordi Mas <jordi@ximian.com>).
-
-2004-02-24 Olivier Andrieu <oliv__a@users.sourceforge.net>
-
- * src/cairo.h:
- * src/cairo-features.h.in:
- * src/cairo_png_surface.c: Add PNG backend (cairo_set_target_png
- and cairo_png_surface_create).
-
- * cairo.pc.in:
- * configure.in: autoconf support for the PNG backend. Bump version
- to 0.1.19.
-
- * src/Makefile.am: PNG backend support, removed references to
- X_LIBS and X_CFLAGS.
-
-2004-02-24 Carl Worth <cworth@isi.edu>
-
- * AUTHORS: Add attribution for many people who have made generous
- contributions to cairo. This list was generated by sifting through
- the ChangeLog. Please let me know if I have missed anyone.
-
- * NEWS: Add some historical notes on cairo development, prior to
- when we began to maintain this NEWS file.
-
- * README (http): Add pointer to cairographics.org. Fix to use
- "cairo" rather than "Cairo" when not at the beginning of a
- sentence.
-
- * TODO: Remove cairo_current_path, cairo_current_path_flat,
- cairo_text_extents, cairo_glyph_extents, cairo_text_path, and
- cairo_glyph_path from the TODO list as they have all been
- implemented now.
-
-2004-02-17 Carl Worth <cworth@isi.edu>
-
- * src/cairo.h: Add comment indication cairo_copy will be going
- away at some point. Some indentation fixes.
-
- * configure.in: Bump version to 0.1.18. Includes new functions
- cairo_current_path, cairo_current_path_flat,
- cairo_surface_get_filter. Support for XCB backend. Fixes for
- building in cygwin. Adds cairo_surface_get_filter.
-
- * src/cairo.h:
- * src/cairo.c (cairo_current_path):
- (cairo_current_path_flat): Add new path query functions.
-
- * src/cairo_gstate.c (_gpi_move_to):
- (_gpi_line_to):
- (_gpi_curve_to):
- (_gpi_close_path):
- (_cairo_gstate_interpret_path): Implement support for
- cairo_current_path and cairo_current_path_flat. These functions
- just provide an interface to _cairo_path_interpret and take care
- of mapping from device space back to user space.
-
-2004-02-13 Carl Worth <cworth@east.isi.edu>
-
- * TODO: Add some notes from JG's TODO list on the wiki:
- http://cairographics.org/CairoToDoList. (Also testing automated
- mailing to cairo-commit list).
-
-2004-02-12 Carl Worth <cworth@isi.edu>
-
- * src/cairo.h: Add typedefs for new callbacks to be used by
- cairo_current_path: cairo_move_to_func, cairo_line_to_func,
- cairo_curve_to_func, and cairo_close_path_func.
-
- * src/cairoint.h: cairo_path.last_move_point and
- cairo_path.current_point are now fixed-point not doubles for
- consistency.
-
- * src/cairo_path.c (_cairo_path_interpret): Now accept 4 explicit
- function pointers rather than a structure. Eliminate unnecessary
- done_path callback.
-
- * src/cairo_path_bounds.c (_cairo_path_bounds):
- * src/cairo_path_stroke.c (_cairo_path_stroke_to_traps):
- * src/cairo_path_fill.c (_cairo_path_fill_to_traps): Track change
- in _cairo_path_interpret. Code previously in done_path callback is
- now here immediately after call to _cairo_path_interpret.
-
- * src/cairo_path.c (_cairo_path_move_to):
- (_cairo_path_rel_move_to):
- (_cairo_path_line_to):
- (_cairo_path_rel_line_to):
- (_cairo_path_curve_to):
- (_cairo_path_rel_curve_to):
- (_cairo_path_current_point): Internal _cairo_path API modified to
- accept fixed-point data everywhere. Much cleaner this way.
-
- * src/cairo_gstate.c (_cairo_gstate_move_to):
- (_cairo_gstate_line_to):
- (_cairo_gstate_curve_to):
- (_cairo_gstate_rel_move_to):
- (_cairo_gstate_rel_line_to):
- (_cairo_gstate_rel_curve_to):
- (_cairo_gstate_current_point):
- (_cairo_gstate_show_text):
- (_cairo_gstate_text_path): Have to convert doubles to fixed-point
- to track changes in _cairo_path API.
-
- * src/cairo_ft_font.c (_move_to, _line_to, _conic_to, _cubic_to):
- Keep data in fixed-point rather than going through intermediate
- doubles. Track changes in _cairo_path API.
-
- * src/cairo_fixed.c (_cairo_fixed_from_26_6): New function to help
- when working with freetype.
-
-2004-02-02 Jamey Sharp <jamey@minilop.net>
-
- * configure.in:
- * src/Makefile.am:
- * src/cairo-features.h.in:
- * src/cairo.h:
- * src/cairo_xcb_surface.c (added):
- Ported the Xlib surface backend to XCB.
-
-2004-02-02 Graydon Hoare <graydon@redhat.com>
-
- * src/cairo_xlib_surface.c
- (CAIRO_SURFACE_RENDER_HAS_FILTERS): New predicate.
- (_cairo_xlib_surface_set_filter): Skip filterless servers.
- (_cairo_xlib_surface_clone_similar): Fix typo.
-
-2004-01-27 Graydon Hoare <graydon@redhat.com>
-
- * src/cairoint.h (cairo_surface): New "filter" field.
- * src/cairo_surface.c
- (cairo_surface_get_filter): New function.
- (cairo_surface_set_filter): Store filter in surface.
- * src/cairo.h (cairo_surface_get_filter): Declare.
- * src/cairo_xlib_surface.c
- (_cairo_xlib_surface_clone_similar): Copy filter setting.
- (_cairo_xlib_surface_set_filter): Use constants from Xrender.h
-
-2004-01-24 Carl Worth <cworth@isi.edu>
-
- * src/cairo_path_stroke.c (_cairo_stroker_add_sub_edge): Fix to
- use tessellate_polygon instead of tessellate_rectangle as the
- matrix may have skewed the coordinates into a non-rectangular
- shape.
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_set_filter): Add
- missing break statements to switch.
-
-2004-01-22 Richard D. Worth <richard@theworths.org>
-
- * src/Makefile.am: Add '-no-undefined' to end of
- libcairo_la_LDFLAGS to enable building shared library under
- cygwin.
-
- * src/cairo.h: Remove all 'extern ' and ' __external_linkage'
- (macro for __declspec(dllexport) and __declspec(dllimport))
- from function declarations. These are no longer needed for cygwin.
-
- * src/cairo_traps.c: Changed type of _line_segs_intersect_ceil
- from 'static cairo_fixed_t' to 'static int' to match definition.
- This was necessary to compile under cygwin.
-
-2003-12-17 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo.h: Remove trailing commas from enums, (some compilers
- like to complain about them).
-
-2003-12-16 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * README: Do not require libpixregion, libic.
-
-2003-12-16 Carl Worth <cworth@east.isi.edu>
-
- * NEWS: Add more notes culled from the ChangeLog.
-
-2003-12-16 Carl Worth <cworth@isi.edu>
-
- * NEWS: Begin maintaining NEWS file. Add notes on 0.1.17.
-
- * configure.in: Bump version to 0.1.17 for new functions:
- cairo_text_extents, cairo_glyph_extents, cairo_text_path,
- cairo_glyph_path.
-
- * src/cairo.h:
- * src/cairo.c (cairo_text_path):
- (cairo_glyph_path): Re-enable cairo_text_path and cairo_glyph_path.
-
- * src/cairo_gstate.c (_cairo_gstate_glyph_path): Add missing
- transformation.
-
- * src/cairo_ft_font.c (_move_to):
- (_line_to):
- (_conic_to):
- (_cubic_to):
- (_cairo_ft_font_glyph_path): Initial implementation of glyph_path.
-
-2003-12-16 Carl Worth <cworth@isi.edu>
-
- * src/cairoint.h: Move all current_point state fields from
- cairo_gstate_t to cairo_path_t.
-
- * src/cairo_path.c (_cairo_path_init):
- (_cairo_path_init_copy):
- (_cairo_path_fini):
- (_cairo_path_move_to):
- (_cairo_path_line_to):
- (_cairo_path_curve_to):
- (_cairo_path_close_path): Add current_point state.
- (_cairo_path_current_point): New function.
- (_cairo_path_rel_move_to):
- (_cairo_path_rel_line_to):
- (_cairo_path_rel_curve_to): New functions.
-
- * src/cairo_gstate.c (_cairo_gstate_init):
- (_cairo_gstate_new_path):
- (_cairo_gstate_move_to):
- (_cairo_gstate_line_to):
- (_cairo_gstate_curve_to):
- (_cairo_gstate_rel_move_to):
- (_cairo_gstate_rel_line_to):
- (_cairo_gstate_rel_curve_to):
- (_cairo_gstate_close_path):
- (_cairo_gstate_current_point): Eliminate current_point state.
- (_cairo_gstate_show_text):
- (_cairo_gstate_text_path): Use new _cairo_path_current_point.
-
-2003-12-16 Carl Worth <cworth@isi.edu>
-
-
- * src/cairo_ft_font.c (_cairo_ft_font_glyph_path):
- (_cairo_ft_font_text_path): A couple of changes missed in the last
- batch of commits (reordering so that path is final argument).
-
- * src/cairoint.h: Change cairo_font_backend_t to use a void * for
- the abstract font. Put create, copy, and destroy as the first
- functions in the list. Fix text_path and glyph_path so that the
- path to be returned is the last argument. Add x,y arguments to
- text_path.
-
- * src/cairo_gstate.c (_cairo_gstate_text_path): Compute x,y now
- needed by cairo_font_text_path.
- (_cairo_gstate_glyph_path): Track change in
- cairo_font_text/glyph_path (path argument is now last).
-
- * src/cairo_ft_font.c: Switch to new macro-based mechanism for
- including freetype headers.
- (cairo_ft_font_face):
- (cairo_ft_font_pattern): Minor cleanup.
- (_cairo_ft_font_copy):
- (_cairo_ft_font_destroy):
- (_utf8_to_glyphs):
- (_cairo_ft_font_font_extents):
- (_cairo_ft_font_glyph_extents):
- (_cairo_ft_font_text_extents):
- (_cairo_ft_font_show_glyphs):
- (_cairo_ft_font_show_text): Track changes to cairo_font_backend_t
- interface.
-
- * src/cairo_font.c (_cairo_font_text_path):
- (_cairo_font_glyph_path): Track changes to cairo_font_backend_t
- interface.
-
-2003-12-16 Carl Worth <cworth@isi.edu>
-
- * TODO: Change instances of Cairo to cairo where necessary. Add
- note about broken dashing on splines.
-
-2003-12-15 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_text_extents):
- (_cairo_gstate_glyph_extents):
- * src/cairo_ft_font.c (_cairo_ft_font_glyph_extents):
- (_cairo_ft_font_glyph_extents):
- * src/cairo.h: Rename cairo_text_exextents_t fields:
- left_side_bearing -> x_bearing
- ascent -> y_bearing
- right_side_bearing (replaced by) width
- descent (replaced by) height
-
-2003-12-15 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_text_extents):
- (_cairo_gstate_glyph_extents): Need to divide out the scale factor
- to return user-space extents.
- (_cairo_gstate_glyph_extents): Don't transform glyph locations as
- they're not relevant to extents.
-
- * src/cairo_ft_font.c (_cairo_ft_font_font_extents): Clean up
- implementation.
- (_cairo_ft_font_glyph_extents): Initial implementation. Thanks to
- John Ellson <ellson@research.att.com> for most of the work on this
- function.
- (_cairo_ft_font_show_text): Clean to use num_glyphs not nglyphs.
-
- * src/cairo.h:
- * src/cairo.c (cairo_text_extents):
- (cairo_glyph_extents): Re-enable cairo_text/glyph_extents.
-
-2003-12-15 Carl Worth <cworth@isi.edu>
-
- * src/cairo_matrix.c (_cairo_matrix_compute_scale_factors): Move
- this function from cairo_ft_font.c (_get_scale_factors).
-
- * src/cairo_ft_font.c (DOUBLE_TO_16_16): Fix minor errors in
- fixed/floating-point conversion.
-
- * src/cairoint.h: font->show_glyphs no longer accepts an offset
- point.
-
- * src/cairo_ft_font.c (_utf8_to_glyphs):
- (_cairo_ft_font_text_extents):
- (_cairo_ft_font_show_text):
- (_cairo_ft_font_text_path): _utf8_to_glyphs now accepts a point by
- which each glyph should be offset.
- (cairo_ft_font_backend): Remove evil void * casts on function
- pointers.
-
- * src/cairo_font.c (_cairo_font_show_glyphs): Fix to not require a
- current point.
-
- * src/cairo_gstate.c (_cairo_gstate_show_text):
- (setup_text_rendering_context): Move initialization of current
- device-space point from setup_text_rendering_context to
- _cairo_gstate_show_text.
- (_cairo_gstate_show_glyphs): Fix to not reference current point.
-
-2003-12-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
-
- * src/Makefile.am: Add compatibility defines FONTCONFIG_LIBS,
- X_LIBS, XRENDER_LIBS to keep automake happy - they look like
- automake variable names.
-
-2003-12-12 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo_font.c (_cairo_font_create): Add comment about
- building in a font.
-
- * src/cairo_ft_font.c (_cairo_ft_font_create): Check for NULL
- return value from cairo_ft_font_create.
-
- * src/cairo.h:
- * src/cairo-features.h.in:
- * src/Makefile.am (libcairo_ps_sources): Add conditionals for
- ps_surface functions, etc.
-
- * configure.in: Get rid of AC_PATH_XTRA. Instead, find X
- includes/libraries only via pkg-config xrender.
- Switch option from --without-x to --disable-xlib
- Add option --disable-ps
-
- * cairo.pc.in (Libs): Add -lz only if ps_surface backend is compiled.
-
- * src/cairo.h (__external_linkage): Add missing definitions from
- slim_import.h.
-
-2003-12-11 Carl Worth <cworth@isi.edu>
-
- * src/cairoint.h: Rename surface->ic_image to
- surface->pixman_image.
-
- * src/cairo_image_surface.c
- (_cairo_image_surface_create_for_pixman_image):
- (_cairo_image_surface_create_with_masks):
- (_create_pixman_format):
- (cairo_image_surface_create):
- (cairo_image_surface_create_for_data):
- (_cairo_image_abstract_surface_destroy):
- (_cairo_image_surface_set_matrix):
- (_cairo_image_surface_set_filter):
- (_cairo_image_surface_set_repeat):
- (_pixman_operator):
- (_cairo_image_surface_fill_rectangles):
- (_cairo_image_surface_composite_trapezoids): Rename functions and
- indentifiers with ic_ in the name that were missed by the recent
- renaming. Fix indentation problems left by the recent renaming.
-
- * Shift everything over from libic/libpixregion/slim to
- libpixman. Many thanks to Dave Beckett
- <dave.beckett@bristol.ac.uk> for all of the heavy lifting with
- this renaming effort.
-
- * src/cairoint.h (slim_hidden_proto1): Directly fold in slim stuff
- rather than depending on it from an external package.
-
- * src/cairo_ps_surface.c (_cairo_ps_surface_copy_page):
- * src/cairo_image_surface.c: Switch from libic to libpixman.
-
- * src/cairo.h: Include pixman.h not ic.h.
- (__external_linkage): Directly fold in slim stuff rather than
- depending on it from an external package.
-
- * configure.in (PKG_CHECK_MODULES):
- * cairo.pc.in (Requires): Look for libpixman instead of libic and
- slim.
-
-2003-12-11 Andrew Chant <andrew.chant@utoronto.ca>
-
- * cairo_select_font:
- _cairo_font_create:
- _cairo_ft_font_create:
- _cairo_gstate_select_font:
- change char * family to const char * family
-
-2003-12-11 Carl Worth <cworth@isi.edu>
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_set_image):
- Replace mysterious image->depth == 32 ? 24 : image->depth with
- simply image->depth.
-
-2003-12-11 Carl Worth <cworth@east.isi.edu>
-
- * cairo.pc.in (Requires):
- * configure.in: Add xrender to cairo.pc Renders line if needed.
-
-2003-12-11 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo_ps_surface.c (_cairo_ps_surface_copy_page): Fix to use
- shifts and masks for endianness-correct PS image
- generation. Rename bgr to rgb now that the byte order issues are
- clear.
-
-2003-12-08 Carl Worth <cworth@isi.edu>
-
- * src/cairo_path_bounds.c (_cairo_path_bounder_move_to):
- (_cairo_path_bounder_line_to):
- (_cairo_path_bounder_curve_to):
- (_cairo_path_bounder_close_path): Track change in
- cairo_path_callbacks interface.
-
- * src/cairoint.h:
- * src/cairo_path_stroke.c:
- * src/cairo_path_fill.c:
- * src/cairo_path.c: Clean up cairo_path_callbacks to have move_to,
- line_to, curve_to, abd close_path instead of add_edge, add_spline,
- and done_sub_path. Much, much nicer.
-
- * src/cairo_polygon.c (_cairo_polygon_move_to): Provide
- cairo_polygon_move_to and cairo_polygon_line_to instead of
- cairo_polygon_add_point.
-
- * src/cairo_pen.c (_cairo_pen_stroke_spline_half): Track change in
- cairo_polygon interface.
-
-2003-12-08 Carl Worth <cworth@isi.edu>
-
- * configure.in: Bump version to 0.1.16 since it actually has a
- hope of building, (due to fix for broken cairo-xlib.h includes).
-
-2003-12-05 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo_xlib_surface.c: Don't include obsolete cairo-xlib.h.
-
- * autogen.sh (AUTOCONF): Allow names of all autofoo programs to be
- overridden via environment variables.
-
- * configure.in: Bump version to 0.1.15 for new
- CAIRO_HAS_XLIB_SURFACE macro.
-
- * src/cairo.h: Add missing #include <cairo-features.h>
-
- * Rename cairo-config.h to cairo-features.h.
-
- * configure.in: Rename XLIB_BACKEND_DEFINE to
- XLIB_SURFACE_FEATURE. Rename AM_CONDITIONAL HAVE_XLIB_BACKEND to
- CAIRO_HAS_XLIB_SURFACE. Rename user-visibile macro
- CAIRO_HAS_XLIB_BACKEND to CAIRO_HAS_XLIB_SURFACE.
-
-2003-12-03 Carl Worth <cworth@east.isi.edu>
-
- * configure.in: Bumped version to 0.1.14 to indicate dropped
- cairo-xlib.h and new cairo-config.h.
-
- * New support for "./configure --without-x" to compile without the
- xlib backend. Many thanks to Sasha V. <sasha@aftercode.net>.
-
- * configure.in: We do three things here: Make the pkg-config check
- for xrender conditional, set XLIB_BACKEND_DEFINE to either
- CAIRO_HAS_XLIB_BACKEND or CAIRO_HAS_NO_XLIB_BACKEND to be
- substituted into cairo-config.h, and set an AM_CONDITIONAL for
- HAVE_XLIB_BACKEND to enable conditional compilation of
- cairo_xlib_surface.c. Perhaps that could be simplified a tad, but
- it's what we have working now. Also split up various
- PKG_CHECK_MODULES into separate checks.
-
- * src/cairo_gstate.c: Remove errant reference to
- cairo_gstate_set_drawable.
-
- * src/cairo.h: Move xlib-specific calls in from old cairo-xlib.h,
- now guarded in #ifdef CAIRO_HAS_XLIB_BACKEND.
-
- * src/Makefile.am (libcairo_xlib_sources): Make compilation of
- cairo_xlib_surface.c conditional.
- (INCLUDES, libcairo_la_LIBADD): Add the new variables from
- splitting up the PKG_CHECK_MODULES calls.
-
-2003-12-03 Carl Worth <cworth@east.isi.edu>
-
- * cairo.pc.in (Libs): Add -lz for the compress function used in
- the PS backend.
-
-2003-12-01 Keith Packard <keithp@keithp.com>
-
- * TODO:
- Add note about degenerate path caps being broken
-
-2003-11-21 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo_polygon.c (_cairo_polygon_add_edge): Use 0 and 1 not
- False and True, (to avoid false dependency on X headers).
-
- * src/cairo_path_stroke.c (_compute_face): Use
- cairo_point_double_t not XPointDouble, (to avoid false dependency
- on X headers). Thanks to "Sasha V." <sasha@aftercode.net> for
- pointing these out.
-
-2003-11-18 Carl Worth <cworth@east.isi.edu>
-
- * configure.in: Bump version to 0.1.13 for new freetype header
- compatibility.
- Fix comments regarding freetype version checking.
-
-2003-11-18 James Henstridge <james@daa.com.au>
-
- * cairo.pc.in (Cflags): add FREETYPE_CFLAGS/LIBS to Libs/Cflags
- rather than requiring "freetype2", which doesn't exist in anything
- but the most recent version of freetype.
-
- * configure.in (FREETYPE_LIBS): add freetype cflags/libs
- substitutions.
-
-2003-11-18 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo.h: Fix build for new freetype header include
- mechanism, (thanks to Christof Petig <christof@petig-baender.de>)
-
-2003-11-17 Carl Worth <cworth@isi.edu>
-
- * Remove infinite looping when stroking with a line width at or
- close to 0.0. Thanks to Rob Buis <buis@kde.org> and Noah Levitt
- <nlevitt@columbia.edu> for providing in-the-wild examples of SVG
- files with stroke-width:0 that demonstrated the problem,
- (cowboy.svg and albania.svg).
-
- * src/cairo_pen.c (_cairo_pen_stroke_spline): Do nothing if the
- pen is a degenerate, single point. This happens when the line
- width is a very small, non-zero value.
-
- * src/cairo_gstate.c (_cairo_gstate_stroke): Do nothing when asked
- to stroke a path with a line_width of 0.0. Previously, this would
- lead to an infinite loop.
-
- * src/cairo.c (cairo_set_line_width): Force negative line width
- to 0.0.
-
- * TODO: Updated TODO list.
-
-2003-11-10 Carl Worth <cworth@east.isi.edu>
-
- * configure.in: Fix typo (thanks to John Ellson
- <ellson@research.att.com>)
-
- * TODO: Add TODO items for intersection problem, programmatic
- patterns, missing text functions.
-
-2003-11-06 Carl Worth <cworth@isi.edu>
-
- * configure.in (CAIRO_VERSION): Bumped version to 0.1.12 for new
- cairo_in_stroke and cairo_in_fill functions.
-
- * src/cairo.h:
- * src/cairo.c (cairo_in_stroke):
- (cairo_in_fill): Added new cairo_in_stroke and cairo_in_fill.
-
- * src/cairo_traps.c (_cairo_trap_contains):
- (_cairo_traps_contain): * src/cairo_gstate.c
- (_cairo_gstate_in_stroke):
- (_cairo_gstate_in_fill): New functions to support for
- cairo_in_stroke and cairo_in_fill. Many thanks to Thomas Hunger
- <info@teh-web.de> for the initial implementation which
- demonstrated how easy this would be and pushed me to go and write
- it already.
-
- * src/cairo_gstate.c (_cairo_gstate_clip_and_composite_trapezoids):
- * src/cairo_traps.c (_line_segs_intersect_ceil):
- * src/cairo_path.c (_cairo_path_move_to):
- (_cairo_path_line_to):
- (_cairo_path_curve_to): Fixed to use _cairo_fixed_from_double
- instead of XDoubleToFixed.
-
-2003-11-06 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo.c (cairo_current_font): Move declaration to beginning
- of function to avoid requiring a C99-compatible compiler.
-
- * src/cairo.h: Add comment pondering memory management semantics
- of cairo_current_target_surface.
-
- * src/cairo_pen.c (_cairo_pen_fini): NULL out pen->vertices after
- free.
-
- * src/cairo_image_surface.c
- (_cairo_image_abstract_surface_destroy): NULL out durface->data
- after free.
-
-2003-11-04 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_set_target_surface): Enable
- cairo_set_target_surface (cr, NULL) to work. This can be useful to
- force the current target surface to be finalized.
-
- * configure.in:
- * cairo.pc.in (Requires): Add explicit fontconfig and freetype2
- dependencies that were implicitly dropped along with Xft.
-
-2003-11-04 Carl Worth <cworth@isi.edu>
-
- * TODO: Note that cairo_show_page, cairo_copy_page, PostScript
- backend, "real" text API, and text support for the image backend
- have now all been implemented.
-
-2003-11-04 Carl Worth <cworth@east.isi.edu>
-
- * configure.in:
- * cairo.pc.in (Requires): cairo doesn't depend on Xft after the
- recent text work.
-
-2003-11-03 Carl Worth <cworth@isi.edu>
-
- * configure.in (CAIRO_VERSION): Bump version to 0.1.11 for new
- cairo_copy_page.
-
- * src/cairo_ps_surface.c (cairo_ps_surface_create): Now print
- header at time of surface_create rather than in show_page.
- (_cairo_ps_surface_destroy): Print document footer at time of
- surface_destroy rather than in show_page.
- (_cairo_ps_surface_erase): New function for sharing.
- (_cairo_ps_surface_copy_page): Now keep proper page count.
- (_cairo_ps_surface_show_page): Real work is now done in
- copy_page. show_page is only distinct in that it erases the
- surface afterwards.
-
- * src/cairo.h:
- * src/cairo.c (cairo_copy_page):
- * src/cairo_gstate.c (_cairo_gstate_copy_page):
- * src/cairo_surface.c (_cairo_surface_copy_page):
- * src/cairo_image_surface.c (_cairo_image_surface_copy_page):
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_copy_page): Add
- support for new cairo_copy_page function.
-
-2003-11-03 Carl Worth <cworth@isi.edu>
-
- * src/cairo_ps_surface.c (cairo_set_target_ps): Add missing check
- for out of memory.
-
- * src/cairo_image_surface.c
- (_cairo_image_surface_create_with_masks):
- (_cairo_image_surface_create_with_masks):
- (cairo_image_surface_create):
- (cairo_image_surface_create):
- (cairo_image_surface_create_for_data):
- (cairo_image_surface_create_for_data): Add several missing checks
- for out of memory.
-
-2003-11-03 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo.h: Added __external_linkage to a few functions that
- were missing it.
-
-2003-11-01 Carl Worth <cworth@isi.edu>
-
- * src/cairo_ps_surface.c (_cairo_ps_surface_show_page): Fix
- misplacement of PS origin, (was translating vertically by width
- instead of height).
-
- * configure.in (CAIRO_VERSION): Bumped version to 0.1.10 for new
- functions cairo_set_target_ps, cairo_ps_surface_create, and
- cairo_show_page.
-
- * src/cairo_ps_surface.c: New file with preliminary support for
- drawing to a PostScript file. Most of the ps_surface backend
- functions are just tiny wrappers, deferring to image_surface
- functions to do the real work. Then, in show_page, the image is
- compressed and spit out into the file. Crude and effective.
-
- * src/cairo.c (cairo_show_page):
- * src/cairo_gstate.c (_cairo_gstate_show_page):
- * src/cairo_image_surface (_cairo_image_surface_show_page):
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_show_page):
- * src/cairo_surface.c (_cairo_surface_show_page): Implement new
- support for cairo_show_page -- just a stub in the non-PS surfaces.
-
- * src/cairo_image_surface.c (_cairo_image_surface_set_filter):
- Export this function for internal use.
-
- * src/cairo.h: Added cairo_set_target_ps, cairo_ps_surface_create,
- and cairo_show_page. Noted plans for new cairo_surface_clip_begin,
- perhaps moving some cairo_surface functions to cairo_set_pattern,
- and possibly renaming cairo_matrix_t to cairo_transform_t.
-
- * src/Makefile.am (libcairo_la_SOURCES): Added cairo_ps_surface.c.
-
-2003-10-31 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_arc):
- (_cairo_gstate_arc_negative): Do nothing when radius <= 0.0,
- (which is much better than the current infinite loop).
-
-2003-10-31 Carl Worth <cworth@isi.edu>
-
- * Moved all libic-related drawing into cairo_image_surface.c.
- Details below:
-
- * src/cairo_xlib_surface.c: Add width, height, format to
- cairo_xlib_surface_t.
- (_cairo_xlib_surface_get_image):
- (_cairo_xlib_surface_set_image): Implement new get_image/set_image
- interface instead of pull_image/push_image.
- (_cairo_xlib_surface_get_image): Fix memory leak that showed up
- with non-Render servers.
- (_cairo_xlib_surface_set_matrix): Implement set_matrix with new
- interface.
- (_render_operator): Translate from cairo_operator_t to
- Render-defined operator values rather than assuming they are the
- same.
-
- * src/cairo_surface.c: Move all libic-related code into
- cairo_image_surface.c. cairo_surface is now a thin wrapper around
- concrete surface types, (with fallback code to cairo_image_surface
- whenever a backend does not provide support for a particular
- function). Remove checks for NULL backend functions.
- (_cairo_surface_get_image):
- (_cairo_surface_set_image): New interface to replace
- pull_image/push_image. Now uses a cairo_image_surface rather than
- an IcImage and now also passes it externally rather than storing
- it in the surface.
-
- * src/cairo_gstate.c (_cairo_gstate_fini):
- (_cairo_gstate_set_target_surface):
- (_cairo_gstate_set_rgb_color): Avoid useless calls to
- cairo_surface_destroy for NULL surfaces.
- (_cairo_gstate_show_surface):
- (_cairo_gstate_clip):
- (_cairo_gstate_clip_and_composite_trapezoids):
- (_cairo_gstate_begin_group): Add status checking for calls to
- surface_create_similar, surface_fill_rectangles,
- surface_composite, and surface_composite_trapezoids.
-
- * src/cairo_ft_font.c (_cairo_ft_font_show_glyphs): Remove one
- gratuitous level of nesting.
- (_cairo_ft_font_show_glyphs): Bubble up NULL_MEMORY status.
-
- * src/cairo.h: Portability improvements: Remove include of
- X11/extensions/Xrender.h. Move include down near the freetype
- include.
- cairo_format_t: Eliminate Render-based values for this enum.
- cairo_operator_t: Eliminate Render-based values. Drop
- disjoint/conjoint operators.
- cairo_filter_t: Eliminate libic-based values for this enum.
- Add cairo_image_surface_create and cairo_image_surface_create_for_data.
-
- * src/cairo.c (cairo_status_string): Add new CAIRO_STATUS_NULL_POINTER.
- This can be returned only if the user passes a NULL object in to a
- cairo function.
-
- * src/cairoint.h: Move include of <X11/extensions/Xrender.h> from
- cairo.h to here.
-
- * src/Makefile.am (libcairo_la_SOURCES): Add
- cairo_image_surface.c. Reformat line continuation characters.
-
- * src/cairoint.h: Remove prototypes for obsolete functions:
- _cairo_gstate_set_visual and _cairo_gstate_set_format.
-
-2003-10-30 Carl Worth <cworth@isi.edu>
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_destroy): Fix
- memory leaks of surface->gc and surface->ximage.
- (_cairo_xlib_surface_composite):
- (_cairo_xlib_surface_composite_trapezoids): Fix memory leaks of
- cloned surfaces.
-
-2003-10-30 Carl Worth <cworth@isi.edu>
-
- * configure.in (CAIRO_VERSION): Bumped version to 0.1.9 for change
- in argument list of cairo_ft_font_create.
-
- * src/cairo_ft_font.c: A set of changes to eliminate the static
- FT_Library field, (which could introduce nasty problems with
- respect to threading). With the new code, each font created with
- the toy API will own its own FT_Library. Meanwhile,
- cairo_ft_font_create now accepts an FT_Library parameter.
-
- * src/cairo_ft_font.c: Add ft_library field so that fonts that own
- their own FT_Library can also clean it up. Eliminate static
- FT_Library and _init_cairo_ft_lib.
- (cairo_ft_font_create): Now accepts an FT_Library argument.
- (_cairo_ft_font_create): Create an FT_Library owned by this font,
- (this only happens as part of the "toy API")
- (_cairo_ft_font_destroy): Clean up ft_font->ft_library if
- necessary.
- (cairo_ft_font_create_for_ft_face): Initialize ft_library and
- owns_ft_library.
-
- * src/cairo.h: Add FT_Library parameter to cairo_ft_font_create.
-
-2003-10-30 Carl Worth <cworth@isi.edu>
-
- * cairo_font: A few cleanups to eliminate a memory leak.
-
- * src/cairo_gstate.c (_cairo_gstate_init_copy):
- (_cairo_gstate_fini):
- (_cairo_gstate_select_font):
- (_cairo_gstate_set_font): Replace calls to _cairo_font_fini with
- cairo_font_destroy.
-
- * src/cairo_ft_font.c (_cairo_ft_font_destroy): Rename
- _cairo_ft_font_close to _cairo_ft_font_destroy.
-
- * src/cairo_font.c: Eliminate unnecessary cairo_font_fini
- function.
- (cairo_font_destroy): Put reference decerement here where it
- belongs.
-
- * src/cairoint.h: Eliminate unnecessart family, slant, and weight
- fields from cairo_font_t.
- Rname font backend->close to backend->destroy.
-
-2003-10-28 Carl Worth <cworth@isi.edu>
-
- * README: Updated to match latest text from web page. Fixed stale
- references to Xc and xrtest.
-
-2003-10-28 Carl Worth <cworth@isi.edu>
-
- * src/cairo_xlib_surface.c (_cairo_xlib_surface_pixels_per_inch):
- Implement new backend function.
-
- * src/cairo_surface.c (_cairo_surface_pixels_per_inch): Add new
- function to query surface pixels_per_inch.
-
- * src/cairo_gstate.c (_cairo_gstate_init): Rename gstate->ppm to
- gstate->pixels_per_inch. Swithc from default 3780 pixels per meter
- to 96.0 pixels per inch which is slightly different.
-
-2003-10-28 Carl Worth <cworth@isi.edu>
-
- * src/cairo_gstate.c (_cairo_gstate_ensure_source):
- (_cairo_gstate_clip_and_composite_trapezoids):
- (_cairo_gstate_clip):
- (_cairo_gstate_show_surface): Track changes to
- _cairo_surface_create_similar_solid.
-
- * src/cairo_surface.c (_cairo_surface_create_similar_solid): Now
- that this function is internal, it can accept a cairo_color_t
- which makes the interface much cleaner.
-
- * src/cairo.h: Remove problematic function
- cairo_surface_create_similar_solid from the public API.
-
-2003-10-28 Carl Worth <cworth@isi.edu>
-
- * src/cairo_surface.c (_cairo_surface_composite):
- (_cairo_surface_fill_rectangles):
- (_cairo_surface_composite_trapezoids): Fix bug introduced in last
- commit: must check for NULL backend function before calling
- through it.
-
-2003-10-27 Carl Worth <cworth@isi.edu>
-
- * src/cairo_surface.c (_cairo_surface_composite):
- (_cairo_surface_fill_rectangles):
- (_cairo_surface_composite_trapezoids): backend functions must not
- be NULL. Track new cairo_int_status_t return value for backend
- drawing functions.
-
- * src/cairo_xlib_surface.c: Remove casts when initializing
- cairo_xlib_surface_backend. Rename cairo_xlib_surface as
- cairo_xlib_surface_t.
- (_cairo_xlib_surface_create_similar):
- (_cairo_xlib_surface_destroy):
- (_cairo_xlib_surface_pull_image):
- (_cairo_xlib_surface_push_image):
- (_cairo_xlib_surface_set_matrix):
- (_cairo_xlib_surface_set_filter):
- (_cairo_xlib_surface_set_repeat):
- (_cairo_xlib_surface_composite):
- (_cairo_xlib_surface_fill_rectangles):
- (_cairo_xlib_surface_composite_trapezoids): Track changes in
- cairo_surface_backend API.
-
- * src/cairoint.h: cairo_surface_backend now accepts a void * for
- the virtual surface.
-
-2003-10-27 Carl Worth <cworth@isi.edu>
-
- * src/cairo_ft_font.c (_cairo_ft_font_create): Default to normal
- slant/weight on out-of-range values.
- Add missing include of fontconfig/fcfreetype.h.
-
-2003-10-24 Keith Packard <keithp@keithp.com>
-
- * src/cairo_ft_font.c: (_cairo_ft_font_show_glyphs):
- A HORRIBLE KLUDGE to repad glyph images from freetype to
- meet libic requirements.
-
-2003-10-24 Carl Worth <cworth@east.isi.edu>
-
- * src/cairo_ft_font.c (_init_cairo_ft_lib): Fix missing void from
- function prototype.
- (_utf8_to_ucs4): Mark static.
-
- * src/cairo_xlib_surface.c: Remove unused function
- _cairo_xlib_surface_get_picture.
-
- * src/cairo_ft_font.c (_cairo_ft_font_copy)
- (_cairo_ft_font_glyph_extents, _cairo_ft_font_glyph_path):
- Internal functions can't receive a NULL font pointer.
-
- * src/cairo.c (cairo_text_extents, cairo_glyph_extents)
- (cairo_text_path, cairo_glyph_path): Comment-out functions without
- complete implementations to squelch compiler warnings.
-
- * configure.in: Bump version to 0.1.8 for font API changes.
-
- * src/cairo.c (cairo_current_font): Fix missing return value.
-
- * src/cairoint.h: No need for CAIRO_INT_STATUS_NULL_POINTER
- (CAIRO_FONT_BACKEND_DEFAULT): Move declaration of default font
- backend up into cairoint.h
-
- * src/cairo_gstate.c (_cairo_gstate_init): Create a default font,
- don't leave it NULL.
- (_cairo_gstate_current_font): gstate->font must never be NULL.
- (_cairo_gstate_current_font_extents): Can never be called with a
- NULL gstate.
-
- * src/cairo_font.c (_cairo_font_create): Rename
- _cairo_font_create_font and move to top of file.
- (_cairo_font_init, _cairo_font_scale, _cairo_font_transform)
- (_cairo_font_text_extents, _cairo_font_glyph_extents)
- (_cairo_font_show_text, _cairo_font_show_glyphs)
- (_cairo_font_text_path, _cairo_font_glyph_path)
- (_cairo_font_font_extents): These internal functions can never be
- called with a NULL font.
-
-2003-10-23 Graydon Hoare <graydon@redhat.com>
-
- * src/cairo_ft_font.c: New file.
- * src/Makefile.am: Add cairo_ft_font.c
- * src/cairo.c:
- * src/cairo.h:
- * src/cairo_font.c:
- * src/cairo_gstate.c:
- * src/cairo_xlib_surface.c:
- * src/cairoint.h: Change to virtual font interface.
-
-2003-10-23 Carl Worth <cworth@isi.edu>
-
- * TODO: Added notes on some missing functions. Update PostScript
- comparison with respect ot new arc functions.
-
-2003-10-23 Carl Worth <cworth@isi.edu>
-
- * Many files: Fixed Copyright statements to read "University of
- Southern California" rather than "USC, Information Sciences
- Institute" as the university is the actual corporation.
-
-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 ;-)