[cairo] cairo snapshot 1.1.2 now available for testing

Carl Worth cworth at cworth.org
Tue Apr 25 09:40:36 PDT 2006


A new cairo snapshot 1.1.2 is now available from:

        http://cairographics.org/snapshots/cairo-1.1.2.tar.gz

    which can be verified with:

        http://cairographics.org/snapshots/cairo-1.1.2.tar.gz.sha1
        7551757bd758428242718638d690ac5d4edd7b28  cairo-1.1.2.tar.gz

        http://cairographics.org/snapshots/cairo-1.1.2.tar.gz.sha1.asc
        (signed by Carl Worth)

This is the first in a series of snapshots working toward the upcoming
1.2 release of cairo. (Subsequent snapshots will use successive even
numbers for the third digit, 1.1.4, 1.1.6, etc.) 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.2.

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.2 compared to the 1.0 series
==============================================

PostScript and PDF backends are no longer "experimental"
--------------------------------------------------------
The major theme of the 1.2 release is improved PostScript and PDF
backends for cairo. Unlike the 1.0 series, in the 1.2 series these
backends will not be marked as experimental and will be enabled by
default. We encourage people to test this snapshot and the PS/PDF
backends in particular as much as possible.

The PostScript and PDF output is not yet ideal.

 * One major problem with the PostScript output is that image
   fallbacks are used more often than strictly necessary, and the
   image fallbacks are at a lower resolution than desired, (the
   cairo_ps_surface_set_dpi call is ignored).

  * The major drawback of the current PDF backend implementation is
    its text support. Every glyph is represented by a filled path in
    the PDF file. The causes file sizes to be much larger and
    rendering to be much slower than desired.

It is anticipated that both of these shortcomings will see some
improvements before the final 1.2 release.

In spite of those shortcomings, we hope that the PS and PDF backends
will yield faithful results for pretty much any cairo operations you
can throw at them. Please let us know if you are getting obviously
"different" results from the PS/PDF backends than from the image or
xlib backends.

Other new experimental backends
-------------------------------
This snapshot includes three new backends that did not exist in the
1.0 series:

	* beos backend

	* directfb backend

	* svg backend

These are all currently marked "experimental" and are disabled by
default. But the SVG backend in particular has seen a lot of recent
development and is very close to passing the entire cairo test
suite. It is possible that this backend will become a fully supported
backend by the time of the cairo 1.2 release.

Public API additions
--------------------
There have been a few new API functions added to cairo, including:

New get_type functions for querying sub-types of object:

	cairo_surface_get_type
	cairo_pattern_get_type
	cairo_font_face_get_type
	cairo_scaled_font_get_type

More convenience in working with cairo_scaled_font_t with new getter
functions:

	cairo_scaled_font_get_font_face
	cairo_scaled_font_get_font_matrix
	cairo_scaled_font_get_ctm
	cairo_scaled_font_get_font_options

As well as a convenience function for setting a scaled font into a
cairo context:

	cairo_set_scaled_font

and a function to allow text extents to be queried directly from a
scaled font, (without requiring a cairo_surface_t or a cairo_t):

	cairo_scaled_font_text_extents

These new scaled font functions were motivated by the needs of the
pango library.

Finally, a new path-construction function was added which clears the
current point in preparation for a new sub path. This makes cairo_arc
easier to use in some situations:

	cairo_new_sub_path

Before the 1.2 release is final we do still plan a few more API
additions specifically motivated by the needs of Mozilla/Firefox.

Optimizations and bug fixes
---------------------------
Shortly after the 1.0 maintenance series branched off the mainline
there was a major rework of the cairo font internals. This should
provide some good performance benefits, but it's also another area
people should look at closely for potential regressions.

There has not yet been any widespread, systematic optimization of
cairo, but various performance improvements have been made, (and some
of them are fairly significant). So if some things seem faster than
1.0 then things are good. If there are any performance regressions
compared to 1.0 then there is a real problem and we would like to hear
about that.

There has been a huge number of bug fixes---too many to mention in
detail, (but I've attached the giant log below). Again, things should
be better, and never worse compared to 1.0. Please let us know if your
testing shows otherwise.

-Carl

Tag '1.1.2' created by Carl Worth <cworth at cworth.org> at 2006-04-25 17:12 -0700

cairo-1.1.2 snapshot
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQBETkqK6JDdNq8qSWgRAstiAJ0YBzZKSfFV3I3BLXtWwiZnYqN59ACfQxin
MR5x+RGZMUUtpe14aD0dTQM=
=Jj2I
-----END PGP SIGNATURE-----

Changes since RELEASE_1_0_0:
Alexander Larsson:
      Add LZW image compression and ASCII85 encoding for PostScript image output.

Anders Carlsson:
      Bring the ATSUI backend up to date wrt the new font backend changes. Also, add cairo_atsui_font_face_create_for_atsu_font_id which takes an ATSUFontID and returns a cairo_font_face_t.
      Invoke PKG_PROG_PKG_CONFIG so $PKG_CONFIG will be set early on.
      If the surface is flipped, flip the CG coordinate system before drawing the images.
      Use uint32_t instead of uint;
      Add cairo-quartz-private.h
      Remove old scale matrix since it exists in our base class.
      * Fix build
      * Save and restore state when drawing glyphs using the short circuit.
      Merge with git+ssh://git.cairographics.org/git/cairo
      Don't set can_draw_directly to FALSE.
      Rework the quartz backend to not always hold an image but instead to create it on demand.#
      Remove unused function
      Make the API more like Vlad's new API.#
      Merge with git+ssh://git.cairographics.org/git/cairo

Behdad Esfahbod:
      Add cairo_scaled_font_text_extents.
      Add make bits to autogenerate ChangeLog
      Update release infra to reflect git transition.
      Note using "git diff" instead of "git status" as the latter is a bit tricky when it says nothing to commit...
      Add a release-publish-message target to only get the message.
      Clarify that git tag -s does GPG signing.
      Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo
      Implement cairo_set_scaled_font().
      Unified handling of --enable-backend options.
      Better message when backends are disabled.
      Merge branch 'configure-backends'
      Set background color to red for test failures printing on a terminal.
      Use white on red for failures.

Bertram Felgenhauer:
      add docs-publish as a phony target
      Add missing pair of braces. This fixes a crash on text output.
      Using a pointer comparison as the fallback total order was wrong - these pointers are not stable. So we introduce our own total order instead.
      ChangeLog cosmetics.
      simplify id initialisation of last patch

Billy Biggs:
      Update formatting of the title and short description, as this actually changes how the TOC appears in devhelp.
      Some fixes for warnings from sparse (Part of bug #4208, Kjartan Maraas)
      Bug #4414, reviewed by otaylor, cworth.
      Bug #4414, reviewed by otaylor, cworth.
      Only include xmmintrin.h if USE_SSE is defined.
      Fix the MMX test to only check for MMX intrinsics and not the SSE intrinsics.
      Add extended repeat modes, copied from XRender.
      Add a "nearest" extend mode, where the closest pixel is repeated for pixels outside of the source area. Note that for gradients, applications which had explicitly set a repeat mode of NONE will now need to change to use NEAREST to get the same behaviour.
      Make space for the new bits needed by expand.
      Add a new test to start investigating bug 4183.
      Add documentation for the extend modes.
      Call it CAIRO_EXTEND_PAD instead of CAIRO_EXTEND_NEAREST.

Carl Worth:
      Increment CAIRO_VERSION to 1.0.1 after tagging RELEASE_1_0_0.
      Add Radek Doulík.
      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.
      Add note to use ./autogen.sh instead of ./configure when working with source from cvs.
      Increment CAIRO_VERSION to 1.1.1 after making branch tag BRANCH_1_0.
      Add call to XSynchronize, (the expected clip-all failure isn't occuring without it for some reason).
      Add call to XSynchronize, (the expected clip-all failure isn't occuring without it for some reason).
      Add includes to get sized-integer types such as uint32_t.
      Clean up some documentation issues pointed out by otaylor.
      Add description of cairo's versioning scheme.
      Make a very preliminary attempt at 1.0.2, 1.2.0, and 1.4.0 roadmaps.
      Ignore cairo.def.
      Give cairo_public an empty definition by default.
      Put win32 mutex locking on the 1.2.0 roadmap.
      Add open bug list for 1.0.2.
      Add two bugs to the 1.0.2 roadmap: 4408 Missing dashes on stroked curves 4409 Dashes are missing initial caps
      Fix for bug #4401 as reported by Tim Mooney:
      Originally 2005-09-06 Carl Worth <cworth at cworth.org>:
      Add documentation for cairo_test functions.
      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.
      Adjust parameters to stress things a bit more, (better exposing another locking bug).
      Add missing locking around the call into the thread-shared cache here.
      Mark bug #4299 fixed (by the several lock-related commits below). Add clip-all XFAIL to the 1.0.2 roadmap.
      Set return-value *glyphs to NULL after freeing it in the error case.
      Mark 4260 as resolved. Add 4414 to the 1.0.2 roadmap.
      Tested by: John Ellson Closes bug #4408 https://bugs.freedesktop.org/show_bug.cgi?id=4408
      Mark 4408 as resolved.
      Prefer cairo_bool_t, TRUE, and FALSE over int, 1, and 0.
      Note that 4414 is now fixed.
      Add cairo-cache-private.h which was missing from the list, (thanks to sunmoon1997).
      Originally: 2005-09-19 Hans Breuer <hans at breuer.org>
      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.
      Note that the clip-all test now passes.
      Added bug 4599 and 4602 to the 1.0.2 roadmap.
      Add two test cases. One for caps and joins (passes), and one for dashed caps and joins, (fails, see bug #4409).
      Note that bug #4409 (Dashes are missing initial caps) is now fixed.
      Add 4612 to the 1.0.2 roadmap.
      Add date of 2005-10-03 for 1.0.2. Add 4630 to the 1.0.2 roadmap.
      Oops. Reverting debug output that was mistakenly committed.
      Add a couple of potential bugs to BUGS.
      Add notes for the 1.0.2 release.
      Add missing initialization for ximage.xoffset.
      Add ChangeLog information for code that was accidentally committed along with an earlier bug fix:
      Fix typo leading to truncated error message (Christian Biesinger <cbiesinger at web.de>).
      Enable PS and PDF backends by default, (in preparation for 1.2.0)
      Ignore output of PS tests.
      Add ps-backend-specific reference images for test for which the current output is fine, but just happens to not be identical to the existing reference images, (ie. just minor differences shape-boundary pixels).
      Remove 1.0.2 entries now that it is out. Note that the PS backend has now been added to the test suite.
      Make surface image data static to work around a bug in cairo-meta-surface.c (not copying source surface pattern data).
      Doc SGML churn
      Doc churn
      Add return value at ASSERT_NOT_REACHED.
      Add a couple of tests to improve our coverage (clipping under both fill rules).
      Add extend-reflect to the 1.2.0 roadmap. Mark dashed splines and clip-all as fixed.
      Increment libtool versioning to 5:0:3 in anticipation of 1.2.0 which will add interfaces. The motivation for this is to make the 1.1.1 release install a library which will be considered newer than 1.0.2.
      Fix indentation.
      Push fill_path fallbacks down from gstate into the surface where all the other fallbacks are.
      Add comment for obviously broken function.
      New function to create a snapshot copy of a pattern.
      Add verified image for PS output for dash-offset-negative.
      Add reference images for antialiasing modes which are basically not applicable to the PS output.
      Added list of 9 remaining PS backend test suite failures to the 1.2.0 roadmap.
      Mark the operator-source and trap-clip tests as now passing for the PS backend (7 to go).
      Mark the composite-integer-translate-source test as now passing for the PS backend (6 to go).
      Add mention of suspected bug in PS backend.
      Add critical bug #4863 to the 1.0.4 roadmap.
      Add explicit NULLs for unimplmented backend functions to better document what might be improved here.
      Move paint fallback from gstate to surface where it belongs.
      Fix leak of pattern (missing _cairo_pattern_fini).
      Originally 2005-10-28 Keith Packard <keithp at keithp.com>:
      Rename surface->backend->show_glyphs to surface->backend->old_show_glyphs.
      Rework support in the surface backend for the five basic drawing operations (paint, mask, stroke, fill, and show_glyphs). Now, all 5 operations have backend functions, and all use a consistent convention for argument naming and ordering. The old fill_path has been replaced with a new fill. The old show_glyphs function was recently renamed to old_show_glyphs and has not yet been ported to the new show_glyphs, (so all backends have a NULL show_glyphs function). In fact, of the 5 new backend functions, fill is the only one that has an implementation in any backend. As part of this cleanup a new cairo_stroke_style_t object is introduced to capture the many settings unique to the stroke operation, (line_width, line_cap, line_join, miter_limit, dash, num_dashes, and dash_offset).
      Add documentation for all _cairo_array interface functions.
      Rename old, rarely used _cairo_array_append to _cairo_array_append_multiple. Add much more common _cairo_array_append. Fix both to return a cairo_status_t. Remove undocumented code to allow a non-copying append when elements is NULL, (let's not encourage unintialized data, shall we?)
      Add missing declarations for status variables. Thanks to Mikael Hallendal for pointing this out.
      Add a function for copying font options rather than just using direct structure copying.
      Add documentation for _cairo_gstate_create, _cairo_gstate_init_copy, and _cairo_gstate_clone.
      Remove unused prototypes for _cairo_gstate_begin_group and _cairo_gstate_end_group.
      Add functions to initialize and copy cairo_stroke_style_t objects.
      Style fix: test-and-bail rather than making the working body conditional.
      Reorder function bodies to match to match the order of the fields in the structure definition.
      Perform copy and reference in a single step.
      Two more instances of copy-and-reference in a single step.
      Reorder function bodies to match the order of fields in the structure definition. Some style cleanups.
      Fix to copy region if NULL.
      Use field-by-field copying rather than whole structure copying. This avoids the hidden copies being overlooked in future code modifications.
      Add new _cairo_array_allocate function for growing the array and getting a pointer to the buffer of new data. This is intended to be used in place of the abuse of passing data=NULL to _cairo_array_append_multiple.
      Slip the 1.2 release by two weeks to 2005-11-15.
      Split the 1.2.0 features into "essential" and "desired".
      Add support to cairo_meta_surface for the 5 basic drawing operations. Remove _cairo_meta_surface_get_extents and _cairo_meta_surface_old_show_glyphs.
      Note that PS is now passing all tests except for self-copy.
      Change scheduled release date of 1.2.0 out to 2005-12-15.
      Remove spurios INT_ prefixes which break the build with very recent binutils.
      Add reminder to fix all memory leaks (as determined by the test suite) before release 1.2.0.
      Remove duplicate definitions of pixman_color_to_pixel and pixman_composite.
      Use more portable shell syntax, ('test =' rather than 'test =='). Thanks to Richard Lloyd and Klaus Heinz. Closes bug #4823.
      Fix to check cairo_surface_status rather than !surface which is always false. (cleanup_ps): Fix leak of filename memory.
      Note that self-copy now works with the PS backend.
      Add checks for poppler and friends which are needed by pdf2png. Set CAIRO_CAN_TEST_PDF_SURFACE as both a #define and an automake conditional.
      Note that that PDF backend has been incorporated into the test suite.
      Make creator be cairo, not Cairo.
      Add preliminary support for --enable-gcov. Thanks to Pierre-Alain Joye (with inspiration from the PHP gcov support by Jani Taskinen and Ilia Alshanetsky).
      Remove dead code from cairo-meta-surface: vestiges of meta-surface backend implementations of composite, fill_rectangles, composite_trapezoids, set_clip_region, and old_show_glyphs.
      Make poppler check require poppler >= 0.4.1.
      Don't export cairo_image_surface_set_clip_region.
      Add a new option --enable-test-surfaces.
      Return a test_fallback_surface_t rather than a cairo_image_surface_t for better testing, (otherwise, an image surface would meet the semantic demands of create_similar just fine).
      Use _cairo_surface_paint rather than _cairo_surface_fill_rectangle as only the former is guaranteed to work with all backends.
      Begin moving fallback code out of cairo-surface.c and into cairo-surface-fallback.c.
      Move more fallback code from cairo-gstate.c to cairo-surface-fallback.c where it belongs. In the process, clean up the function names a bit and make the whole mess static.
      Add some comments describing what a cairo_meta_surface_t is.
      Remove cruft from old commands that the meta surface no longer implements (composite, fill_rectangles, composite_trapezoids, and set_clip_region).
      Fix indentation.
      Revert inadvertent commit (immediately previous).
      Here is a cleaner implementation of the _cairo_array_t change which was previously committed inadvertently.
      Add a private cairo_paginated_surface_t which builds on top of the meta surface and is intended to provide an easy interface with common functionality for the various paginated surface types (ps, pdf, etc.).
      Don't implement create_similar for the test-meta or the paginated surface. This was slowing things down a _lot_ (about 11× for the mask test for example) without any improvement in output quality. We can revisit this again later if there's any output improvement to be had down the road.
      Remove some unneeded backend functions (composite, fill_rectangles, composite_trapezoids, old_show_glyphs).
      Originally: 2005-10-10 David Reveman <davidr at novell.com>
      2005-10-10 David Reveman <davidr at novell.com>
      2005-10-10 David Reveman <davidr at novell.com>
      Slip 1.2.0 projected data (again) out to 2006-01-13. Note that win32 is now incorporated into the test suite and is only failing two tests (self-copy and trap-clip). Note new progress on cairo_push/pop_group. Add item to support pango's hex-box drawing. Note that gradient computation performance has been improved. Note that experimental SVG backend has been added.
      Reviewed by keithp
      Reviewed by keithp
      Add printf format attribute to cairo_test_log.
      Note that from here on out, the PDF output should always pass the entire test suite!
      Note that PS backend has now been switched over to use cairo_paginated_surface_t.
      Paint with white to intermediate RGB24 images before replaying meta-surface to preserve default white background instead of forcing a black background instead.
      Some fixes for the fact that multi-page output was totally broken for cairo_ps_surface_t (at least):
      Add a new CAIRO_HAS_MULTI_PAGE_SURFACES automake conditional.
      Add a call to cairo_copy_page, so that that gets called at least once within the test suite.
      Eliminate cast of state->dx.elements which has been wrong since the internals of cairo_array_t changed on 2005-12-21. Now, hopefully less than all text will be broken on win32.
      Rip out the misguided paint-with-white and RGB24 surface code and go back to using ARGB32. It turns out that the PS backend already has its own blend-with-white code, and the test-paginated-surface really wants ARGB32.
      Fix things up to conform with Adobe PostScript Document Structuring Conventions Specification. Thanks to Michael Sweet for bringing several items to our attention. Things that are fixed: Add Pages: (atend) to header, add Pages: N to trailer, properly advertise DocumentData of Binary rather than Clean7Bit, remove fictitious EndPage, move showpage to after the grestore.
      Big change to the test infrastructure and supporting internals. The goal now is to test both a COLOR_ALPHA and a COLOR content for each surface backend, (since the semantics are different and we probably need to support both in each backend.
      Fix documentation of cairo_arc which erroneously claimed M_PI radians == 90 degrees to correctly say that M_PI/2.0 radians == 90 degrees. This closes bug #5649 (with thanks to kengruven at gmail.com).
      Change documentation to recommend cairo_paint rather than cairo_rectangle;cairo_fill for clearing a surface.
      Fix compilation-breaking typo.
      Rip the cairo_content_t argument out of ps/pdf_surface_create as per discussion on cairo mailing list. Instead these surface will behave as if CONTENT_COLOR_ALPHA had been passed (that is, compositing operators will behave as if destination alpha were available).
      Check font_face->status and return a nil scaled font if it is in an error state. (Thanks to Christian Biesinger and sunmoon1997 who pointed this out as part of bug #4674).
      Fix test to use fontconfig properly so that the test no longer fails. Fixes bug #4674. (Thnks to sunmoon1997 for the fix).
      Add getter functions for cairo_scaled_font_t.
      A few random changes to the slides.
      Add Red Hat logos to slide templates.
      Here's the actual template I was referring to in my previous commit.
      Move the magic header files to be down in an include directory and more out of the way.
      Shrink the font size to make the tutorial instructions fit.
      Add a CONTROL-Q keybinding to quit.
      Rename .cvsignore to .gitignore. Add *~ and *.o.
      Annoying churn of tmpl file. (We really need to get all of these built files out of version control.)
      Slip 1.2.0 release date out to 2006-03-08
      Add Mozilla patches to ROADMAP
      Allow _get_bitmap_surface to work for 0x0 glyphs, (fix for bug #5734).
      Normalize indentation after previous commit.
      Remove ChangeLog as it is no longer maintained as a separate file (instead it is implicitly generated)
      cairo_new_sub_path: Making cairo_arc easier to use and more.
      cairo_close_path: Document that there will be a current point after
      autogen.sh: Pass --foreign option to automake so that it doesn't
      Add get_type functions: cairo_surface_get_type,
      cairo.h: Fix two typos in the documentation.
      cairo.h: Fix typo (thanks to Torsten Schoenfeld)
      Remove private cairo_pattern_type in favor of new public one. Rename
      Implement cairo_font_face_get_type.
      Rename cairo_analyze_surface_t to cairo_analysis_surface_t.
      cairo_analysis_surface: Rename region_[un]supported() to get_[un]supported().
      Drop gratuitous structure with single function pointer. Rename
      Remove unused RCS $Id:$ tags.
      Implement cairo_scaled_font_get_type
      Implement cairo_surface_get_type
      Implement cairo_pattern_get_type
      Add documentation for cairo_font_face_get_type,
      Add testing for cairo_surface_get_type.
      test/pattern-get-type: Add new test case for cairo_pattern_get_type.
      Correct copyright date
      Add some basic testing of cairo_font_face_get_type and
      Merge branch 'get-type' into cairo
      Merge in upstream 'ps-surface' changes
      Fix last piece of merge resolution missing from previous commit
      test/show-glyphs-many: New test case to demonstrate bug #5528
      _cairo_xlib_surface_old_show_glyphs: Break up rendering into chunks to fit
      Merge branch 'show-glyphs-many' into cairo
      cairo_show_glyphs: Do nothing if num_glyphs == 0
      cairo-output-stream: Don't dereference a NULL pointer due to OOM.
      Merge branch 'cairo-origin' into cairo
      cairo-pdf-surface: Close memory leak during OOM handling.
      cairo-clip: Fix memory leak during OOM handling.
      _clip_and_composite_trapezoids: Avoid NULL pointer dereference due to OOM.
      fbCompositeTrans_0888xnx0888: Fix suspicious logical negation of pointer value.
      Remove annoyinc RCS magic lines that are not being used, but cause conflicts.
      Make all hash/cache keys_equal function accept const pointers.
      Rename _cairo_compress_lzw to _cairo_lzw_compress and tighten the parameter list.
      cairo-lzw: Replace LZW code from libtiff with an original implementation.
      Optimize the implementation of _cairo_lzw_compress.
      _cairo_lzw_compress: Remove unused code which we had for testing
      Update PDF backend for new paginated API so it at least doesn't crash.
      Back out use of meta-surface for similar-paginated-surface. It's not ready yet.
      cairo-ps-surface: Fix characterization of CLEAR and SOURCE operators.
      cairo-ps-surface: Don't support meta-surfaces. This isn't ready yet.
      cairo-ps-surface: Simplify operation analysis.
      Move base85 code out of cairo-output-stream.c into new cairo-base85-stream.c
      Implement cairo-base85-stream as a filtering output stream not just a write function.
      Implement proper cairo-style error-handling for cairo_output_stream_t.
      Explicitly remove the output png image before creating it during testing.
      Emit images into PostScript output as strings rather than inline.
      Break PostScript image data into chunks that each fit into a string.
      Merge branch 'cairo-origin' into analysis-surface
      Add attribution for Bdale Garbee to the AUTHORS file.
      Merge branch 'analysis-surface' into cairo
      Disable show-glyphs-many test to avoid abusing ghostscript too badly.
      Add a call to _cairo_ps_surface_start_page in _cairo_ps_surface_intersect_clip_path.
      Use ghostscript's pngalpha rather than png16m target for PS->PNG
      Build fix for typo from recent commit.
      Revert "Use ghostscript's pngalpha rather than png16m target for PS->PNG"
      Tweak initial erase so it doesn't trigger fallbacks for every PS test case.
      Rename write_data to write_func in cairo_output_stream_t.
      Update dash-caps-joins test cases to show independent dashing of sub-paths.
      Add new ps-specific reference image for dash-caps-joins test.
      Print both page label and number in PostScript %%Page headers.
      Add some documentation to string_array_stream
      Merge 'Save PS output in temp file' from ps-type3 branch
      Clean up output_stream error handling in _cairo_ps_surface_create.
      Fix missing argument to printf in _cairo_ps_surface_stat_page
      Use ferror to get error checking for stdio-based output streams.
      Propagate stream status values through _cairo_ps_surface_finish
      Add documentation for _cairo_output_stream_create_for_file.
      Merge branch 'ps-type3' into cairo (no bitmap support for type 3 yet).
      Add simple word wrapping to keep PostScript output within 80 columns or less.
      Optimize PostScript file size with procedures instead of builtin operators.
      Fix page numbers in PostScript output to start at 1
      Move cairo_pdf_surface_backend to file end so it's easier to find.
      Add new PS-specific image for dash-zero-length test.
      Flesh test-paginated-surface out into a complete surface.
      Fix _composite_trap_region to restore the original clip when done.
      Add a new cairo_paginated_surface_backend_t rather than just a single function pointer.
      Obnoxious churn of gtk-doc templates.
      Add a start_page function to the paginated_surface_backend.
      Update documentation of cairo_paginated_surface
      Add stub implementations of drawing operations for the PDF backend.
      Move optimization of CLEAR on blank page up from PS to paginated surface.
      Add tests for PAGINATED_MODE_ANALYZE to PDF (no real analysis yet)
      Move analysis of operators from cairo-ps-surface.c to cairo-operator.c
      Farm out the surface and pattern analysis functions away from cairo-ps-surface.c.
      Ignore dash-zero-length
      Fix _cairo_surface_is_opaque to return FALSE not TRUE for non-image surfaces.
      Enable real analysis for _cairo_pdf_surface_paint.
      Merge branch 'cairo' into new-sub-path
      Add new PS-specific reference image for new-sub-path.
      Add support for _cairo_pdf_surface_stroke.
      Fix stale code in comment.
      Add implementation of _cairo_pdf_surface_paint (and fix emit_surface_pattern).
      Use fallbacks in PDF backend for CAIRO_ANTIALIAS_NONE.
      PDF: Add simple implementation of _cairo_pdf_surface_show_glyphs (text as paths).
      PDF: Cleanup error handling of emit_image_rgb_data
      PDF: Fix reference images inadvertently committed as PDF not PNG
      Fix invalid restore that was causing subsequent pages after first to be inverted
      Fix broken error-checking in cairo_{ps,pdf}_surface_set_dpi
      Prefer RGB24 over ARGB32 for source surfaces in tests.
      Trivial indentation fix
      PDF: Fix surface pattern transformation and support for EXTEND_NONE.
      Add PDF-specific reference image for scale-source-surface-paint
      Augment tests to do better testing of paths/images with alpha.
      PDF: Remove unused backend functions.
      PDF: Add SMask output and simplify analysis to support all OVER operations.
      Fix default font options for PS and PDF backends.
      Merge branch 'behdad-colored-fails' into cairo
      Update PS and PDF reference images for change in font options
      Add some notes for the 1.1.2 snapshot
      Increment CAIRO_VERSION to 1.1.2 and libtool versioning to 6:0:4
      Add release vs. snapshot distinction to version increment instructions
      Change release targets as appropriate for a snapshot, not a release.
      Remove from EXTRA_DIST reference images which don't exist

Christian Biesinger:
      Globally rename "operator" to "op", to allow writing backends in C++
      make the SVG backend freetype message actually mention SVG rather than PDF.
      Move enum to cairoint.h
      Mention new --enable-svg option
      Use gtk-doc syntax rather than doxygen syntax for internal functions (to avoid warnings from gtk-doc when it processes this file)
      Some final changes to the beos backend before checkin were wrong, fixing.
      Use correct color when OPERATOR_SOURCE is used on a surface without alpha information.
      Fix some typos
      Don't require that the caller locks the view; do it in cairo code.
      Implement composite for the beos backend. Don't map CAIRO_OPERATOR_ADD to B_OP_ADD for now, something's broken there.
      Add BeOS-specific reference images for tests where the maximum color difference is 1.
      Ignore glitz-glx test output
      Update BeOS reference images per the recent gradient changes
      Don't mix declarations and code. This makes the code valid ISO C, fixes a gcc -pedantic warning, and unbreaks the build with the compiler Zeta ships with.
      Update BeOS test code per the cairo_format_t -> cairo_content_t changes.
      Updating BeOS reference images, the tests use a black background now.
      Adds the BeOS surface functions to the list of functions for which to generate documentation.
      Use TRUE/FALSE instead of 1/0 for boolean values
      Fix typo.
      Don't call _cairo_error when returning an error
      Add missing gradient functions to pixman-remap.h
      Mark private functions as cairo_private
      Use C-style comments rather than C++-style
      Updating BeOS surface per the get_type changes
      Fixing BeOS surface part II
      Remove trailing comma in enumeration
      Don't link to C++ libraries on non-BeOS systems
      More consistent naming for the BeOS surface functions
      Implement create_similar for BeOS
      Add an assert for the unsupported image surface formats
      Use more portable shell syntax
      Use calloc rather than malloc+memset
      Fixing bad merge
      Fix create_xcb_surface signature

David Reveman:
      Track changes to glitz and update glyph caching in glitz backend
      White-space cleanups to glitz backend
      Change Carl's comment about saturate operator
      Add missing break to switch statement
      Track changes to glitz
      More updates to track latest changes to glitz
      glitz backend gradient fix
      Update gradient code in PDF backend
      Update gradient code in glitz backend
      Gradient updates in SVG backend and no sorting of color stops in SVG or PDF backend

Dom Lachowicz:
      Change cairo_image_surface_create to zero out surface contents.

Emmanuel Pacaud:
      add optionnal disabled by default SVG backend.
      shhh...
      CAIRO_CAN_TEST_SVG_SURFACE depends on librsvg.
      Shhhh...
      fix stroke linewidth and dashes, I hope. Emit stroke-dashoffset.
      store surfaces in a <g> node, and clip to surface area. Now SVG backend should pass pixman-rotate test. (emit_composite_svg_pattern): emit transformation matrix. (_cairo_svg_surface_intersect_clip_path): don't use xmlBuffer here.
      namespace declarations for SVG and XLINK (#5411).
      no more has_clip boolean. Init clip_level. (_cairo_surface_intersect_clip_path): a NULL path means reset of clipping region, not back to previous clipping level.
      add missing header. Fix #5544.
      fix offset of pattern stops.
      fix filename.
      Add mask support and switch to SVG 1.2 for compositing operators.
      convert _cairo_svg_surface_old_show_glyphs to _cairo_svg_surface_show_glyphs.
      Fix gcc 4.0 signedness warnings
      Fix self-copy test
      Don't duplicate unmodified SVG surfaces
      Merge branch 'master' of git+ssh://emmanuel@git.cairographics.org/git/cairo
      SVG: use xmlOutputBuffer for file creation, instead of dumping xml tree in a memory buffer.
      SVG: return len in _cairo_svg_document_write when operation succeed.
      SVG: Fix typo and stream status handling
      SVG: Emulate CLEAR and SOURCE operators on paint call when no clipping region is defined.
      SVG: Add documentation for public API. Fix test filenames and add testing of CAIRO_CONTENT_COLOR
      PDF: Fix typo in documentation.
      SVG: enable SVG backend API documentation in /doc
      SVG: Add support for CAIRO_CONTENT_COLOR in create_similar.
      SVG: Add reference files for antialiased text tests.
      SVG: Return UNTESTED for test involving operators.
      SVG: Don't check for content type in create_similar, and mark surface as modified when clearing it.
      SVG: Don't insert /n/r in base64 encoded image data
      SVG: Fix mask and try to support CAIRO_CONTENT_ALPHA.
      SVG: Add validating ref file for unantialias tests.
      Merge branch 'master' of git+ssh://emmanuel@git.cairographics.org/git/cairo
      Clear completely the temporary surface between each subtest in mask.c

Jeff Muizelaar:
      Reset dashing for new subpaths.
      Add test case for dashed lines.
      Check for zero length dashed lines.
      Move calculation of slope outside of _cairo_stroker_add_sub_edge.
      Move the test for zero length sub edges below the computation of faces.
      Fix skipping zero length dash segments in dash_start.

Keith Packard:
      Split out scaled font code to cairo-scaled-font.c
      Oops. Call _cairo_scaled_font_set_metrics to set user-space metrics for scaled fonts.
      Add rgb24 surface tests, support per-target reference images and support PS surface testing
      The comment said 'blend over white', the code did 'blend under garbage'. I made the code look like the comment. More tests pass now. mmm.
      Add const to _cairo_surface_is_image parameter
      Switch fallback from list of rects to region. Check operator and patterns for non-ps drawing ability. Operators can sometimes be always opaque, independent of the pattern, sometimes always translucent, independent of the pattern and sometimes depend on whether is translucent.
      Split _cairo_operator_bounded into two separate functions _cairo_operator_bounded_by_mask and _cairo_operator_bound_by_source to distinguish between how operators use source and mask operands.
      Bound mask fallback operation by transformed mask and source. This should speed up any applications calling cairo_mask with a bounded source or mask operand.
      Use _cairo_pattern_get_extents in _fallback_paint to bound paint operators.
      Clean up argument order for _fallback_stroke to match other functions
      Use NULL clip instead of special serial zero cairo_clip_t Should make using surfaces easier.
      Adopt proposed new cairo color scheme. Recolor scarab, eliminate gradient in dung Use new blue background color. Rework font sizes, use bold for titles. Change tutorial title.
      Make watermark consistently translucent Use fill for dung outline Fix text locations
      Primitive "real" postscript output for stroke/fill/paint
      rename evaluate surface to analyze surface, pull to separate files
      Support image surface patterns
      Primitive ps glyph support. Fix ps strokes to not leave path defined
      Release pattern source image when done with it
      Support meta surface patterns
      Need cairo_analyze_surface_get_extents
      Save PS output in temp file so we can prepend global data (like fonts)
      Allow hash entry deletion during cairo_hash_foreach
      Use Type3 fonts for PostScript output. No bitmap support yet.
      Allow hash entry deletion during cairo_hash_foreach
      PDF: Execute entire path in user coordinates when stroking so that line params are interpreted correctly

Kristian Høgsberg:
      Apply patch from #4672 by Jens Taprogge to implement color stop sorting and multiple color stops for gradients.
      Transform source pattern for _cairo_surface_fill_path() also (#4673).
      Implement non-uniformly spaced color stops for PDF gradients. Patch from Jens Taprogge (#4722).
      Make cairo_t and cairo_output_stream_t destructors handle NULL.

Laxmi Harikumar:
      Simple fix for build failure on DEC/OSF1.

manu:
      Git test
      Revert "Git test"
      s/CAIRO_PATTERN/CAIRO_PATTERN_TYPE/

Mart Raudsepp:
      Complete the CAIRO_PATTERN_TYPE renaming

Michael Emmel:
      New directfb backend for cairo includes test suite and example to run the test is in the comment at the top of cairo-test-directfb.c enable with

Owen Taylor:
      Make the code work with
      Fix docs not to talk about %NULL returns. #4271, Duncan Coutts.
      Undef MIN/MAX before defining them in case some system header happens to define them. (#4196, Christian Biesinger)
      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)
      Make the check for rectangular trapezoids simpler and more accurate. (#4220, found using test case from Richard Stellingwerff)
      Use local labels rather than global labels in the assembly, to be robust if the code is inlined in multiple places. (#4283, Reported by Marco Manfredini)
      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)
      Liberalize the ServerVendor check so that we can handle the Mandriva vendor string. (#4298, Frederic Crozat)
      Handle displays which don't match the local endianness by byteswapping on GetImage/PutImage. (#4321, reported by Sjoerd Simons)
      Bug #4260, Reviewed by B. Biggs

Stuart Parmenter:
      Hooked up tests to run on Windows with a Windows surface
      #define access _access and #define F_OK to 0 on for MSVC

Tor Lillqvist:
      Include the documentation, too.
      Pass scratch space instead of NULL for image_extra to acquire/release_dest_image.
      Pass appropriate pointer for image_extra to release_dest_image.
      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, print error message and set metrics to zero. (#3927, Hans Breuer) (cairo_win32_scaled_font_select_font): Add detail on what API failed to the error messages.
      Note that Bug #4602 (use of 0x0 images causes win32 backend failure) is now fixed.
      Note that Bug #4612 (Text not being drawn if first character entirely out of surface) is now fixed.
      Use _cairo_utf8_to_utf16 for character conversion.
      Intersect clip region with target surface so we don't waste time and memory.
      Call _cairo_scaled_glyph_set_path().

Vladimir Vukicevic:
      bump glitz req to 0.5.1, test for backends
      Clean up output some; show only images that fail, otherwise just show pass/fail squares.
      Clamp surface dimensions to a minimum of 1. (_cairo_glitz_surface_get_image): Set the glitz clip to NULL before calling glitz_get_pixels, to return the full surface contents. Restore clip afterwards. (_cairo_glitz_surface_composite_trapezoid): Return UNSUPPORTED if the antialias is anything other than DEFAULT/GRAY.
      Misc compilation fixes (C++-style comments, M_PI decls, etc.)
      Win32: Rework clip and extents handling
      Have mark_dirty always invalidate the last clip set on the surface
      Win32: expose win32 DIB (image) surface creation function, and DC getter
      Win32: rename cairo_surface_create_dib to cairo_surface_create_with_dib
      Win32: Fix up src coords before calling AlphaBlend/BitBlt to avoid invalid calls
      Win32: Set surface format based on device caps
      Win32: Handle BitBlt in get_image failure and AlphaBlend not being supported
      Remove ft-font's usage of device offset surface fields for storing bearings
      Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo
      Revert "Remove ft-font's usage of device offset surface fields for storing bearings"
      Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo
      [win32] Add missing depth-16 format check

---
 .cvsignore                                                 |   20 
 .gitignore                                                 |   26 
 AUTHORS                                                    |    3 
 BUGS                                                       |   25 
 CODING_STYLE                                               |    2 
 ChangeLog                                                  |10914 -------------
 INSTALL                                                    |    5 
 Makefile.am                                                |   65 
 NEWS                                                       |  195 
 README                                                     |    5 
 RELEASING                                                  |   33 
 ROADMAP                                                    |  249 
 autogen.sh                                                 |    2 
 configure.in                                               |  418 
 doc/.gitignore                                             |    1 
 doc/public/.gitignore                                      |    1 
 doc/public/cairo-docs.xml                                  |    2 
 doc/public/cairo-sections.txt                              |   15 
 doc/public/language-bindings.xml                           |    1 
 doc/public/tmpl/.cvsignore                                 |    1 
 doc/public/tmpl/.gitignore                                 |    3 
 doc/public/tmpl/cairo-beos.sgml                            |   19 
 doc/public/tmpl/cairo-font-options.sgml                    |  142 
 doc/public/tmpl/cairo-font.sgml                            |   54 
 doc/public/tmpl/cairo-ft.sgml                              |   51 
 doc/public/tmpl/cairo-glitz.sgml                           |   15 
 doc/public/tmpl/cairo-image.sgml                           |   48 
 doc/public/tmpl/cairo-matrix.sgml                          |  125 
 doc/public/tmpl/cairo-paths.sgml                           |  192 
 doc/public/tmpl/cairo-pattern.sgml                         |  172 
 doc/public/tmpl/cairo-pdf.sgml                             |   39 
 doc/public/tmpl/cairo-png.sgml                             |   46 
 doc/public/tmpl/cairo-ps.sgml                              |   39 
 doc/public/tmpl/cairo-quartz.sgml                          |   17 
 doc/public/tmpl/cairo-scaled-font.sgml                     |   66 
 doc/public/tmpl/cairo-status.sgml                          |   15 
 doc/public/tmpl/cairo-surface.sgml                         |  125 
 doc/public/tmpl/cairo-svg.sgml                             |   52 
 doc/public/tmpl/cairo-text.sgml                            |  129 
 doc/public/tmpl/cairo-transforms.sgml                      |  112 
 doc/public/tmpl/cairo-types.sgml                           |   10 
 doc/public/tmpl/cairo-version.sgml                         |  112 
 doc/public/tmpl/cairo-win32-fonts.sgml                     |   42 
 doc/public/tmpl/cairo-win32.sgml                           |   15 
 doc/public/tmpl/cairo-xcb-xrender.sgml                     |   19 
 doc/public/tmpl/cairo-xcb.sgml                             |   41 
 doc/public/tmpl/cairo-xlib-xrender.sgml                    |   14 
 doc/public/tmpl/cairo-xlib.sgml                            |   53 
 doc/public/tmpl/cairo.sgml                                 |  430 
 doc/tutorial/slides/.gitignore                             |    2 
 doc/tutorial/slides/cairo-blank.svg                        |   26 
 doc/tutorial/slides/cairo-code.svg                         |  485 
 doc/tutorial/slides/cairo-large-content.svg                |  899 +
 doc/tutorial/slides/cairo-separator.svg                    |  468 
 doc/tutorial/slides/cairo-title.svg                        |  569 
 doc/tutorial/slides/cairo.svg                              |  466 
 doc/tutorial/slides/rendering-model.png                    |binary
 doc/tutorial/slides/tutorial.xml                           |  541 
 doc/tutorial/src/.gitignore                                |    3 
 doc/tutorial/src/Makefile                                  |   15 
 doc/tutorial/src/README                                    |   66 
 doc/tutorial/src/circle.c                                  |   18 
 doc/tutorial/src/expander.c                                |   16 
 doc/tutorial/src/include/cairo-tutorial-gtk.h              |   23 
 doc/tutorial/src/include/cairo-tutorial-pdf.h              |    4 
 doc/tutorial/src/include/cairo-tutorial-png.h              |    4 
 doc/tutorial/src/include/cairo-tutorial-xlib.h             |   48 
 doc/tutorial/src/lca.c                                     |   32 
 pixman/.gitignore                                          |    1 
 pixman/ChangeLog                                           |  118 
 pixman/src/.cvsignore                                      |    6 
 pixman/src/.gitignore                                      |   10 
 pixman/src/fbcompose.c                                     | 1354 +
 pixman/src/fbedge.c                                        |    2 
 pixman/src/fbedgeimp.h                                     |    2 
 pixman/src/fbmmx.c                                         |  119 
 pixman/src/fbpict.c                                        |  143 
 pixman/src/fbpict.h                                        |   12 
 pixman/src/icbltone.c                                      |    6 
 pixman/src/icimage.c                                       |  344 
 pixman/src/icimage.h                                       |   85 
 pixman/src/icint.h                                         |    7 
 pixman/src/icpixels.c                                      |    4 
 pixman/src/icrect.c                                        |    4 
 pixman/src/ictrap.c                                        |   12 
 pixman/src/pixman-remap.h                                  |    4 
 pixman/src/pixman-xserver-compat.h                         |    2 
 pixman/src/pixman.h                                        |   77 
 pixman/src/pixregion.c                                     |    6 
 pixman/src/pixregionint.h                                  |    2 
 pixman/src/renderedge.c                                    |    2 
 pixman/src/renderedge.h                                    |    2 
 src/.cvsignore                                             |    8 
 src/.gitignore                                             |   13 
 src/Makefile.am                                            |   76 
 src/cairo-analysis-surface-private.h                       |   55 
 src/cairo-analysis-surface.c                               |  256 
 src/cairo-array.c                                          |  267 
 src/cairo-atsui-font.c                                     |  878 -
 src/cairo-atsui.h                                          |    3 
 src/cairo-base85-stream.c                                  |  130 
 src/cairo-beos-surface.cpp                                 | 1005 +
 src/cairo-beos.h                                           |   61 
 src/cairo-cache-private.h                                  |  125 
 src/cairo-cache.c                                          |  697 
 src/cairo-clip-private.h                                   |    8 
 src/cairo-clip.c                                           |   70 
 src/cairo-debug.c                                          |    1 
 src/cairo-directfb-surface.c                               |  805 
 src/cairo-directfb.h                                       |   60 
 src/cairo-features.h.in                                    |   10 
 src/cairo-font-options.c                                   |   12 
 src/cairo-font-subset.c                                    |   65 
 src/cairo-font.c                                           |  872 -
 src/cairo-ft-font.c                                        | 1416 -
 src/cairo-ft.h                                             |   10 
 src/cairo-glitz-surface.c                                  | 1037 -
 src/cairo-glitz.h                                          |    2 
 src/cairo-gstate-private.h                                 |   14 
 src/cairo-gstate.c                                         | 1152 -
 src/cairo-hash-private.h                                   |    2 
 src/cairo-hash.c                                           |   43 
 src/cairo-hull.c                                           |   15 
 src/cairo-image-surface.c                                  |  198 
 src/cairo-lzw.c                                            |  400 
 src/cairo-matrix.c                                         |   23 
 src/cairo-meta-surface-private.h                           |  161 
 src/cairo-meta-surface.c                                   |  764 
 src/cairo-operator.c                                       |  119 
 src/cairo-output-stream.c                                  |  153 
 src/cairo-paginated-surface-private.h                      |  141 
 src/cairo-paginated-surface.c                              |  499 
 src/cairo-path-stroke.c                                    |  341 
 src/cairo-path.c                                           |   58 
 src/cairo-pattern.c                                        |  847 -
 src/cairo-pdf-surface.c                                    | 1569 +
 src/cairo-pdf.h                                            |   12 
 src/cairo-pen.c                                            |   27 
 src/cairo-ps-surface.c                                     | 2111 +-
 src/cairo-ps.h                                             |   12 
 src/cairo-quartz-private.h                                 |   57 
 src/cairo-quartz-surface.c                                 |  243 
 src/cairo-quartz.h                                         |    5 
 src/cairo-scaled-font.c                                    | 1330 +
 src/cairo-stroke-style.c                                   |   87 
 src/cairo-surface-fallback-private.h                       |  119 
 src/cairo-surface-fallback.c                               | 1177 +
 src/cairo-surface.c                                        |  641 
 src/cairo-svg-surface.c                                    | 1507 +
 src/cairo-svg.h                                            |   63 
 src/cairo-traps.c                                          |   16 
 src/cairo-wideint.c                                        |    3 
 src/cairo-wideint.h                                        |    3 
 src/cairo-win32-font.c                                     |  470 
 src/cairo-win32-private.h                                  |    7 
 src/cairo-win32-surface.c                                  |  310 
 src/cairo-win32.h                                          |   18 
 src/cairo-xcb-surface.c                                    |   38 
 src/cairo-xcb-xrender.h                                    |    2 
 src/cairo-xcb.h                                            |    6 
 src/cairo-xlib-surface.c                                   | 1157 -
 src/cairo-xlib-xrender.h                                   |    2 
 src/cairo-xlib.h                                           |    8 
 src/cairo.c                                                |  121 
 src/cairo.h                                                |  514 
 src/cairoint.h                                             |  858 -
 src/test-fallback-surface.c                                |  206 
 src/test-fallback-surface.h                                |   50 
 src/test-meta-surface.c                                    |  327 
 src/test-meta-surface.h                                    |   50 
 src/test-paginated-surface.c                               |  284 
 src/test-paginated-surface.h                               |   52 
 test/.cvsignore                                            |   75 
 test/.gitignore                                            |  123 
 test/Makefile.am                                           |  295 
 test/a8-mask-rgb24-ref.png                                 |binary
 test/buffer-diff.c                                         |   94 
 test/buffer-diff.h                                         |    7 
 test/cairo-test-beos.cpp                                   |  236 
 test/cairo-test-beos.h                                     |   26 
 test/cairo-test-directfb.c                                 |  127 
 test/cairo-test-directfb.h                                 |   23 
 test/cairo-test.c                                          | 1340 +
 test/cairo-test.h                                          |   86 
 test/caps-joins-alpha-ref.png                              |binary
 test/caps-joins-alpha-rgb24-ref.png                        |binary
 test/caps-joins-alpha.c                                    |   94 
 test/caps-joins-ps-argb32-ref.png                          |binary
 test/caps-joins-ref.png                                    |binary
 test/caps-joins-rgb24-ref.png                              |binary
 test/caps-joins.c                                          |   91 
 test/caps-sub-paths-ps-argb32-ref.png                      |binary
 test/caps-sub-paths-ref.png                                |binary
 test/caps-sub-paths-rgb24-ref.png                          |binary
 test/caps-sub-paths.c                                      |    6 
 test/clip-all-ref.png                                      |binary
 test/clip-all-rgb24-ref.png                                |binary
 test/clip-all.c                                            |   69 
 test/clip-fill-rule-pixel-aligned-ref.png                  |binary
 test/clip-fill-rule-pixel-aligned-rgb24-ref.png            |binary
 test/clip-fill-rule-pixel-aligned.c                        |   95 
 test/clip-fill-rule-ps-argb32-ref.png                      |binary
 test/clip-fill-rule-ref.png                                |binary
 test/clip-fill-rule-rgb24-ref.png                          |binary
 test/clip-fill-rule.c                                      |   79 
 test/clip-nesting-ps-argb32-ref.png                        |binary
 test/clip-nesting-rgb24-ref.png                            |binary
 test/clip-operator-ref.png                                 |binary
 test/clip-operator-rgb24-ref.png                           |binary
 test/clip-operator.c                                       |    2 
 test/clip-twice-ps-argb32-ref.png                          |binary
 test/clip-twice-rgb24-ref.png                              |binary
 test/composite-integer-translate-over-repeat-rgb24-ref.png |binary
 test/composite-integer-translate-over-rgb24-ref.png        |binary
 test/composite-integer-translate-source-rgb24-ref.png      |binary
 test/create-from-png-rgb24-ref.png                         |binary
 test/create-from-png-stream-rgb24-ref.png                  |binary
 test/create-from-png-stream.c                              |    6 
 test/dash-caps-joins-ps-argb32-ref.png                     |binary
 test/dash-caps-joins-ref.png                               |binary
 test/dash-caps-joins-rgb24-ref.png                         |binary
 test/dash-caps-joins.c                                     |  100 
 test/dash-offset-negative-ps-argb32-ref.png                |binary
 test/dash-offset-negative-ref.png                          |binary
 test/dash-offset-negative-rgb24-ref.png                    |binary
 test/dash-offset-negative.c                                |    6 
 test/dash-zero-length-ps-argb32-ref.png                    |binary
 test/dash-zero-length-ref.png                              |binary
 test/dash-zero-length-rgb24-ref.png                        |binary
 test/dash-zero-length.c                                    |   88 
 test/extend-reflect.c                                      |   38 
 test/fill-and-stroke-ps-argb32-ref.png                     |binary
 test/fill-and-stroke-rgb24-ref.png                         |binary
 test/fill-and-stroke.c                                     |    2 
 test/fill-rule-ps-argb32-ref.png                           |binary
 test/fill-rule-rgb24-ref.png                               |binary
 test/filter-nearest-offset-rgb24-ref.png                   |binary
 test/filter-nearest-offset.c                               |    4 
 test/font-face-get-type.c                                  |   64 
 test/ft-font-create-for-ft-face.c                          |   38 
 test/get-and-set.c                                         |   12 
 test/gradient-alpha-ref.png                                |binary
 test/gradient-alpha-rgb24-ref.png                          |binary
 test/leaky-polygon-ps-argb32-ref.png                       |binary
 test/leaky-polygon-ref.png                                 |binary
 test/leaky-polygon-rgb24-ref.png                           |binary
 test/leaky-polygon.c                                       |    6 
 test/line-width-ps-argb32-ref.png                          |binary
 test/line-width-ref.png                                    |binary
 test/line-width-rgb24-ref.png                              |binary
 test/line-width.c                                          |    4 
 test/linear-gradient-ref.png                               |binary
 test/linear-gradient-rgb24-ref.png                         |binary
 test/make-html.pl                                          |  206 
 test/mask-beos-rgb24-ref.png                               |binary
 test/mask-beos_bitmap-argb32-ref.png                       |binary
 test/mask-beos_bitmap-rgb24-ref.png                        |binary
 test/mask-ctm-rgb24-ref.png                                |binary
 test/mask-ctm.c                                            |    4 
 test/mask-ref.png                                          |binary
 test/mask-rgb24-ref.png                                    |binary
 test/mask-surface-ctm-rgb24-ref.png                        |binary
 test/mask-surface-ctm.c                                    |    2 
 test/mask.c                                                |    8 
 test/move-to-show-surface-rgb24-ref.png                    |binary
 test/move-to-show-surface.c                                |    4 
 test/multi-page.c                                          |  178 
 test/new-sub-path-ps-argb32-ref.png                        |binary
 test/new-sub-path-ref.png                                  |binary
 test/new-sub-path-rgb24-ref.png                            |binary
 test/new-sub-path.c                                        |   79 
 test/nil-surface-rgb24-ref.png                             |binary
 test/nil-surface.c                                         |    2 
 test/operator-clear-ref.png                                |binary
 test/operator-clear-rgb24-ref.png                          |binary
 test/operator-source-ref.png                               |binary
 test/operator-source-rgb24-ref.png                         |binary
 test/paint-rgb24-ref.png                                   |binary
 test/paint-source-alpha-ref.png                            |binary
 test/paint-source-alpha-rgb24-ref.png                      |binary
 test/paint-source-alpha.c                                  |   67 
 test/paint-with-alpha-ref.png                              |binary
 test/paint-with-alpha-rgb24-ref.png                        |binary
 test/paint-with-alpha.c                                    |   13 
 test/path-data-ps-argb32-ref.png                           |binary
 test/path-data-ref.png                                     |binary
 test/path-data-rgb24-ref.png                               |binary
 test/path-data.c                                           |    6 
 test/pattern-get-type.c                                    |   74 
 test/pdf2png.c                                             |   88 
 test/pixman-rotate-rgb24-ref.png                           |binary
 test/png-flatten.c                                         |   77 
 test/ps-surface.c                                          |  115 
 test/pthread-show-text.c                                   |  110 
 test/rectangle-rounding-error-ps-argb32-ref.png            |binary
 test/rectangle-rounding-error-rgb24-ref.png                |binary
 test/rel-path-rgb24-ref.png                                |binary
 test/scale-source-surface-paint-pdf-argb32-ref.png         |binary
 test/scale-source-surface-paint-rgb24-ref.png              |binary
 test/scale-source-surface-paint.c                          |    4 
 test/self-copy-rgb24-ref.png                               |binary
 test/self-intersecting-rgb24-ref.png                       |binary
 test/set-source-beos-rgb24-ref.png                         |binary
 test/set-source-beos_bitmap-rgb24-ref.png                  |binary
 test/set-source-rgb24-ref.png                              |binary
 test/set-source.c                                          |    2 
 test/show-glyphs-many-ref.png                              |binary
 test/show-glyphs-many-rgb24-ref.png                        |binary
 test/show-glyphs-many.c                                    |  127 
 test/show-text-current-point-pdf-argb32-ref.png            |binary
 test/show-text-current-point-ps-argb32-ref.png             |binary
 test/show-text-current-point-ref.png                       |binary
 test/show-text-current-point-rgb24-ref.png                 |binary
 test/show-text-current-point-svg-argb32-ref.png            |binary
 test/show-text-current-point-svg-rgb24-ref.png             |binary
 test/show-text-current-point.c                             |    6 
 test/source-clip-rgb24-ref.png                             |binary
 test/source-surface-scale-paint-rgb24-ref.png              |binary
 test/source-surface-scale-paint.c                          |    4 
 test/surface-pattern-rgb24-ref.png                         |binary
 test/svg-clip.c                                            |   12 
 test/svg-surface.c                                         |   10 
 test/svg2png.c                                             |   63 
 test/text-antialias-gray-pdf-argb32-ref.png                |binary
 test/text-antialias-gray-ps-argb32-ref.png                 |binary
 test/text-antialias-gray-ref.png                           |binary
 test/text-antialias-gray-rgb24-ref.png                     |binary
 test/text-antialias-gray-svg-argb32-ref.png                |binary
 test/text-antialias-gray-svg-rgb24-ref.png                 |binary
 test/text-antialias-gray.c                                 |    8 
 test/text-antialias-none-pdf-argb32-ref.png                |binary
 test/text-antialias-none-ps-argb32-ref.png                 |binary
 test/text-antialias-none-ref.png                           |binary
 test/text-antialias-none-rgb24-ref.png                     |binary
 test/text-antialias-none-svg-argb32-ref.png                |binary
 test/text-antialias-none-svg-rgb24-ref.png                 |binary
 test/text-antialias-none.c                                 |    8 
 test/text-antialias-subpixel-pdf-argb32-ref.png            |binary
 test/text-antialias-subpixel-ps-argb32-ref.png             |binary
 test/text-antialias-subpixel-ref.png                       |binary
 test/text-antialias-subpixel-rgb24-ref.png                 |binary
 test/text-antialias-subpixel-svg-argb32-ref.png            |binary
 test/text-antialias-subpixel-svg-rgb24-ref.png             |binary
 test/text-antialias-subpixel.c                             |    2 
 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-rotate-rgb24-ref.png                             |binary
 test/transforms-ps-argb32-ref.png                          |binary
 test/transforms-ref.png                                    |binary
 test/transforms-rgb24-ref.png                              |binary
 test/transforms.c                                          |    6 
 test/translate-show-surface-rgb24-ref.png                  |binary
 test/translate-show-surface.c                              |    4 
 test/trap-clip-beos-rgb24-ref.png                          |binary
 test/trap-clip-beos_bitmap-rgb24-ref.png                   |binary
 test/trap-clip-ref.png                                     |binary
 test/trap-clip-rgb24-ref.png                               |binary
 test/unantialiased-shapes-ps-argb32-ref.png                |binary
 test/unantialiased-shapes-rgb24-ref.png                    |binary
 test/unantialiased-shapes-svg-argb32-ref.png               |binary
 test/unantialiased-shapes-svg-rgb24-ref.png                |binary
 test/unbounded-operator-ref.png                            |binary
 test/unbounded-operator-rgb24-ref.png                      |binary
 365 files changed, 27630 insertions(+), 23418 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20060425/1bd7e02f/attachment-0001.pgp


More information about the cairo mailing list