This optimisation takes care to not replay what was done
before surface is cleared. We don't erase recorded commands
since we may have earlier snapshots of this surface.
(cherry picked from 926e2494ca2211e9117ab70fc427208d125e1bd5 commit)
The new paginated create_similar simply forwards to target backend create_similar.
We maintain the fact that PS and PDF surfaces are returning image
surfaces for create_similar by moving that explicitly to their own
create_similar functions.
(This commit is the combination of the following original commits:
6b69e8c012adb4f2fc2ee9c1579fed8214e8f510
2589db92a4395f8e900dbc4eafc45982f0d985d3
)
To hit the Firefox 3 schedule in early 2007 we'll need to have a 1.4 release
out much sooner. Let's shoot for October 2006 which gives 6 months between
1.2 and 1.4.
Also, sunmoon1997 has identified a couple more important issues to be fixed
before 1.2 releases.
In several cases the -rgb24 reference images were identical to the -ref images.
So we change the logic to find the latter if the former doesn't exist, and then
we remove the redundant images.
The big change here is to change the upload directory to be the snapshots directory
rather than the releases directory. We also use make dist rather than make distcheck
since there are currently a few tests still failing.
The paginated surface layer was missing its get_font_options function.
It now defers to the target surface. The PDF backend already had a
get_font_options function, but the PS backend was also missing it.
This should fix the problem with 72DPI hinting seen in glyph paths in
PostScript output.
Thanks to Owen Taylor for identifying this problem and the correct
fix.
With this SMask support, the PDF backend is now able to handle a very
large subset of the things that are likely to be thrown at it in
common operation, (for example, when handling images and text from web
pages).
Since the switch to using paginated, we have a guarantee that the following functions
will never be called. So we drop them now:
_cairo_pdf_surface_composite
_cairo_pdf_surface_fill_rectangles
_cairo_pdf_surface_composite_trapezoids
_cairo_pdf_surface_old_show_glyphs
Add a new cairo_test_paint_checkered function so that tests that draw
with alpha can easily put an easy-to-see checkered background in place
first.
Add new tests caps-joins-alpha and paint-source-alpha that do simple
tests of strokes and image painting with source pattern alpha.
Also, add the checkered background to paint-with-alpha for
consistency.
It only fails because the PDF ouput doesn't preserve the NEAREST filter attribute.
There might be a way to get something like this in the PDF, but it's not the point
of the test.
There's a bunch of careful matrix transformation here needed to
resolve the differences between cairo and PDF pattern matrices,
(primarily due to the different location for the origin).
This fixes the several PDF test suite failures that recently appeared
when we switched from ARGB32 to RGB24 source surface patterns.