diff options
author | Behdad Esfahbod <behdad@home.(none)> | 2006-03-15 10:31:43 -0500 |
---|---|---|
committer | Behdad Esfahbod <behdad@home.(none)> | 2006-03-15 10:31:43 -0500 |
commit | 35d7810f7bb43dd72675207a2f4d379a76c34e5f (patch) | |
tree | 4eb31c39931d55646e6a98ba55364d6308cc2569 | |
parent | ff33ddb8f864a48c17c45746fb6bbbcf70216288 (diff) | |
download | cairo-35d7810f7bb43dd72675207a2f4d379a76c34e5f.tar.gz |
Remove ChangeLog here too. We'll generate it using git log.
-rw-r--r-- | ChangeLog | 11320 |
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 & 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 ;-) |