A new cairo snapshot 1.1.6 is now available from: http://cairographics.org/snapshots/cairo-1.1.6.tar.gz which can be verified with: http://cairographics.org/snapshots/cairo-1.1.6.tar.gz.sha1 6c2c5dc688edca44f8087b6ffe8bfc1b7b1c3ba1 cairo-1.1.6.tar.gz http://cairographics.org/snapshots/cairo-1.1.6.tar.gz.sha1.asc (signed by Carl Worth) Additionally, a git clone of the source tree: git clone git://git.cairographics.org/git/cairo will include a signed 1.1.6 tag which points to a commit named: 7ba3b75efd56113411ed141a86675099ae82d5d5 which can be verified with: git verify-tag 1.1.6 and can be checked out with a command such as: git checkout -b build 1.1.6 Snapshot 1.1.6 (2006-05-04 Carl Worth <cworth cworth org>) ========================================================== This is the third in a series of snapshots working toward the imminent 1.2 release of cairo. For a list of items still needing work on the cairo 1.2 roadmap, please see: http://cairographics.org/ROADMAP As can be seen in that list, there are no longer any API additions left on the roadmap. Instead, there is a feature (PDF type 3 fonts) a performance optimization (X server gradients) and a list of bug fixes. This gives us a fair amount of freedom to cut the 1.2 release at almost any point by deciding to defer remaining bug fixes to subsequent maintenance releases such as 1.2.2 and 1.2.4. Before we will do that, we must first be wiling to commit to all the new API additions. As a heads-up, there are a couple of potential API changes being considered. (Note that these are changes to new API introduced during 1.1 so these will not introduce API incompatibilities compared to the stable 1.0 series). The changes being considered are: cairo_get_group_target: may acquire x and y offset return parameters. May also be eliminated in favor of cairo_get_target assuming its role cairo_pdf_surface_set_dpi: cairo_ps_surface_set_dpi: cairo_svg_surface_set_dpi: These functions may be removed in favor of a new cairo_surface_set_fallback_resolution Additionally there is the possibility of a slight change in the semantics of cairo_set_line_width. We believe the current behavior of the sequence: cairo_set_line_width; ... change CTM ...; cairo_stroke; is buggy. It is currently behaving the same as: ... change CTM ...; cairo_set_line_width; cairo_stroke; We are considering fixing this bug before 1.2 with the hope that nobody is already relying on the buggy behavior described here. Do shout if you suspect you might be in that position. This snapshot is backwards-compatible with the 1.0 series---it makes a few API additions but does not remove any API. See a few paragraphs below for details on what's new in 1.1.6. What is cairo ============= Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, win32, and image buffers. Experimental backends include OpenGL (through glitz), Quartz, XCB, PostScript and PDF file output. Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). The cairo API provides operations similar to the drawing operators of PostScript and PDF. Operations in cairo including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.). Cairo has been designed to let you draw anything you want in a modern 2D graphical user interface. At the same time, the cairo API has been designed to be as fun and easy to learn as possible. If you're not having fun while programming with cairo, then we have failed somewhere---let us know and we'll try to fix it next time around. Cairo is free software and is available to be redistributed and/or modified under the terms of either the GNU Lesser General Public License (LGPL) version 2.1 or the Mozilla Public License (MPL) version 1.1. Where to get more information about cairo ========================================= The primary source of information about cairo is: http://cairographics.org/ The latest releases of cairo can be found at: http://cairographics.org/releases Snapshots of in-development versions of cairo: http://cairographics.org/snapshots The programming manual for using cairo: http://cairographics.org/manual Mailing lists for contacting cairo users and developers: http://cairographics.org/lists Answers to some frequently asked questions about cairo: http://cairographics.org/FAQ What's new in 1.1.6 compared to 1.1.4 ===================================== API additions ------------- The long-awaited group-rendering support is now available with the following function calls: cairo_push_group cairo_push_group_with_content cairo_pop_group cairo_pop_group_to_source cairo_get_group_target This API provides a much more convenient mechanism for doing rendering to an intermediate surface without the need to manually create a temporary cairo_surface_t and a temporary cairo_t and clean them up afterwards. Add the following missing get function to complement cairo_surface_set_device_offset: cairo_surface_get_device_offset PDF backend (API addition) -------------------------- The PDF backend now provides for per-page size changes, (similar to what the PostScript backend got in the 1.1.4 snapshot). The new API is: cairo_pdf_surface_set_size Xlib backend (API additions) ---------------------------- The following functions have been added to allow the extraction of Xlib surface: cairo_xlib_surface_get_display cairo_xlib_surface_get_drawable cairo_xlib_surface_get_screen cairo_xlib_surface_get_visual cairo_xlib_surface_get_depth XCB backend (experimental) -------------------------- Update backend so that it now compiles with the recent XCB 0.9 release. Bug fixes and memory leak cleanup --------------------------------- Various little things, nothing too significant though. Tag '1.1.6' created by Carl Worth <cworth cworth org> at 2006-05-05 07:45 -0700 cairo-1.1.6 snapshot -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBEWvSm6JDdNq8qSWgRAn6yAKCpZMJMPd0XWIlTwRDWZbPCbGq1OQCfbtaw uttUtbY2THSy0jMePnbFT4w= =s/P8 -----END PGP SIGNATURE----- Changes since 1.1.4: Carl Worth: Increment CAIRO_VERSION to 1.1.5 after making the 1.1.4 snapshot PS: Use ceil, not rounding when computing integers for BoundingBox ps-features: Minor touchups (missing include, typo in error message) PDF: Add new cairo_pdf_surface_set_size for doing per-page size changes Add new pdf-features test to exercise cairo_pdf_surface_set_size ROADMAP: Note that PDF per-page size setting is done. Sort things that appear in 1.1.4 Add pdf2svg utility for manual testing (not used in test suite) Add test/pdf-features.c missing from an earlier commit Quiet some 'may be used uninitialized' warnings. Shrink the size of a couple of tests (and update reference images). Fix bug in test suite causing PS and PDF to fail with rgb24 and device offsets. _cairo_surface_fallback_composite_trapezoids: Remove unused variable. _cairo_surface_copy_pattern_for_destination: Fix transformation sign/order. Abstract away repeated test as _cairo_surface_has_device_offset_or_scale _cairo_surface_copy_pattern_for_destination: Remove leaking second call to pattern_init_copy _cairo_surface_copy_pattern_for_destination: Don't do any transform if there is no offset Move device-offset handling for clipping from _cairo_surface_interesect_clip_path _cairo_surface_set_clip_region: Remove device-offset handling that is cairo-surface.c: Correct reversed semantics of SURFACE_TO_BACKEND and BACKEND_TO_SURFACE _cairo_surface_show_glyphs: Fix reversed device-offset handling so text works again. Remove undesired device-offset handling during unbounded fixups. cairo_surface_mark_dirty_rectangle: correct sense of device-offset handling Remove dead code from _cairo_surface_{acquire,release}_dest_image Prefer classic C style comments rather than C++/C99-style Rip out device_{x,y}_scale. Add support to handle the device-offset of a source surface. Move device-offset touchups from the surface layer up to the gstate. Implement the device_offset functionality at surface, not gstate layer Merge branch 'device-offset-history' into cairo ROADMAP: Note that device-offset and push-pop-group have landed. Add missing prototype for _cairo_clip_translate Clean up error management of xlib surface getter functions. Remove trailing comma in enum to pander to non-C99-conformant compilers pixman: Remove potential memory leak in failure path. Add push-group to test/.gitignore Add a couple more group-using tests: fill-and-stroke-alpha[-add] Flesh out the documentation for cairo_push_group, cairo_pop_group and friends RELEASING: Add a few more steps that we've been somtimes forgetting Update version to 1.1.6 and add notes to NEWS file. Fix typos in EXTRA_DIST list of reference images. Emmanuel Pacaud: SVG: Emit correct version property of "svg" element. SVG: Only "comp-op" property when svg_version >= 1.2 SVG: Emit "svg" version in document_finish. SVG: Fix xml namespace declaration. SVG: Fix bug in test suite causing SVG to fail with rgb24 and device offsets. SVG: Fix the previous fix for xlink namespace. SVG: Update reference images for shrinked tests. SVG: Add reference images for push-groups test. SVG: Add reference image for tests failing on composited image misplacement. SVG: Don't test rectangle-rounding-error. Ian Osgood: Fix the XCB backend build for the XCB 0.9 release. Additional piece of "Fix the XCB backend build for the XCB 0.9 release." Robert O'Callahan: Rename cairo_rectangle_t to cairo_rectangle_fixed_t. Add Xlib surface getter functions. Vladimir Vukicevic: Augment test framework to test everything under device offsets as well. Implement device offset/scale at cairo-surface layer Take device offsets into account when compositing scaled glyph images Move device offsets handling into high-level operations only (stroke/fill/paint/etc) Implement push_group/pop_group Add push-group test and reference images Fix up clip at pop_group time, to keep it in surface backend coordinates --- NEWS | 97 ++++ RELEASING | 19 ROADMAP | 28 - configure.in | 8 pixman/src/ictri.c | 10 src/cairo-analysis-surface.c | 4 src/cairo-atsui-font.c | 2 src/cairo-beos-surface.cpp | 44 - src/cairo-clip-private.h | 28 - src/cairo-clip.c | 106 +++- src/cairo-directfb-surface.c | 42 - src/cairo-glitz-surface.c | 42 - src/cairo-gstate-private.h | 4 src/cairo-gstate.c | 263 ++++++----- src/cairo-image-surface.c | 28 - src/cairo-lzw.c | 4 src/cairo-meta-surface.c | 4 src/cairo-paginated-surface.c | 8 src/cairo-path.c | 46 + src/cairo-pattern.c | 6 src/cairo-pdf-surface.c | 100 +++- src/cairo-pdf.h | 5 src/cairo-ps-surface.c | 20 src/cairo-quartz-private.h | 2 src/cairo-quartz-surface.c | 26 - src/cairo-region.c | 10 src/cairo-scaled-font.c | 16 src/cairo-surface-fallback-private.h | 6 src/cairo-surface-fallback.c | 228 ++++----- src/cairo-surface.c | 350 +++++++++++---- src/cairo-svg-surface.c | 69 +- src/cairo-traps.c | 49 ++ src/cairo-win32-private.h | 4 src/cairo-win32-surface.c | 20 src/cairo-xcb-surface.c | 44 - src/cairo-xlib-surface.c | 109 +++- src/cairo-xlib.h | 15 src/cairo.c | 238 +++++++++- src/cairo.h | 58 +- src/cairoint.h | 110 +++- src/test-fallback-surface.c | 24 - src/test-meta-surface.c | 4 src/test-paginated-surface.c | 4 test/.gitignore | 42 - test/Makefile.am | 17 test/buffer-diff.c | 94 ++-- test/buffer-diff.h | 21 test/cairo-test.c | 150 ++++-- test/composite-integer-translate-over-svg-argb32-ref.png |binary test/composite-integer-translate-over-svg-rgb24-ref.png |binary test/fill-and-stroke-alpha-add-ref.png |binary test/fill-and-stroke-alpha-add.c | 112 ++++ test/fill-and-stroke-alpha-ref.png |binary test/fill-and-stroke-alpha.c | 106 ++++ test/imagediff.c | 47 -- test/linear-gradient-ref.png |binary test/linear-gradient-svg-argb32-ref.png |binary test/linear-gradient-svg-rgb24-ref.png |binary test/linear-gradient.c | 6 test/make-html.pl | 122 ++--- test/paint-source-alpha-svg-argb32-ref.png |binary test/paint-source-alpha-svg-rgb24-ref.png |binary test/paint-with-alpha-svg-argb32-ref.png |binary test/paint-with-alpha-svg-rgb24-ref.png |binary test/pdf-features.c | 150 ++++++ test/pdf2svg.c | 101 ++++ test/ps-features.c | 11 test/push-group-ref.png |binary test/push-group-rgb24-ref.png |binary test/push-group-svg-argb32-ref.png |binary test/push-group-svg-rgb24-ref.png |binary test/push-group.c | 119 +++++ test/scale-source-surface-paint-svg-argb32-ref.png |binary test/scale-source-surface-paint-svg-rgb24-ref.png |binary test/text-pattern-ref.png |binary test/text-pattern-rgb24-ref.png |binary test/text-pattern-svg-argb32-ref.png |binary test/text-pattern-svg-rgb24-ref.png |binary test/text-pattern.c | 4 test/xlib-surface.c | 4 80 files changed, 2511 insertions(+), 899 deletions(-) ---
Attachment:
pgpbXLfPTGNsU.pgp
Description: PGP signature