summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-01-17Big change to the test infrastructure and supporting internals. The goal now ↵Carl Worth68-174/+756
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. The PS/PDF backends don't allow a content to be passed in right now, so they fail against the rgb24 tests, but the trivial addition to the constructors will allow them to pass all tests with both content values. And new constructors (currently internal only) to create an image surface with a cairo_content_t rather than a cairo_format_t. Add a cairo_content_t argument to the constructor. Add a cairo_content_t to the constructor and use this content value when constructing intermediate image surfaces in acquire_source, show_page, copy_page, and snapshot. Add image flattening by compositing over white, as is done in cairo-ps-surface.c. Track changes to cairo-paginates-surface which now requires a cairo_content_t value (no change to public PS/PDF constructors yet). Track change in meta-surface and paginated-surface interfaces by now accepting a cairo_content_t rather than a cairo_format_t. Ignore new output files (argb32 from pdf and ps as well as rgb24 from test-fallback, test-meta, and test-paginated). Add new utility for flattening PNG images in order to generate the -argbf-ref.png images. Add image_diff_flattened for comparing flattened output from PS and PDF backend with ARGB reference images by first blending the reference images over white. Get rid of conditional, format-specific background-color initialization before running tests. Now uses ARGB(0,0,0,0) in all cases. Switch from specifying tests with a format value to specifying tests with a content value. Add support for a 'fake' COLOR_ALPHA_FLATTENED content for testing the PS and PDF output against a flattened version of the argb32 reference images (first blended over white). Track change in cairo_ps_surface_create (now requires cairo_content_t value). Adjust tests that draw in default (black) to first paint white so that the results are visible. Adjust ARGB32 reference images for new white background for changed tests. Adjust RGB24 reference images for new black background due to changed initialization (and the tests themselves being unchanged).
2006-01-15Update BeOS reference images per the recent gradient changesChristian Biesinger6-0/+9
2006-01-14Ignore glitz-glx test outputChristian Biesinger2-0/+6
2006-01-13Fix things up to conform with Adobe PostScript Document Structuring ↵Carl Worth2-16/+21
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.
2006-01-13Rip out the misguided paint-with-white and RGB24 surface code and go back to ↵Carl Worth2-24/+14
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.
2006-01-13Eliminate cast of state->dx.elements which has been wrong since the ↵Carl Worth2-1/+10
internals of cairo_array_t changed on 2005-12-21. Now, hopefully less than all text will be broken on win32.
2006-01-12Add a call to cairo_copy_page, so that that gets called at least once within ↵Carl Worth3-27/+35
the test suite. Fix broken implementation of copy_page in the paginated surface by hiding it from the target surface which sees only show_page operations. (It's hard to do better than that unless we can guarantee thathe subsequent page won't trigger any image fallbacks.)
2006-01-12Add a new CAIRO_HAS_MULTI_PAGE_SURFACES automake conditional.Carl Worth7-281/+93
Remove backend-specific tests (ps-surface, pdf-surface, and pdf-clip) that are now redundant with the ps and pdf support in the rest of the test suite. Add a new one-off test for testing show_page with both the ps and pdf backends.
2006-01-12Some fixes for the fact that multi-page output was totally broken for ↵Carl Worth3-29/+92
cairo_ps_surface_t (at least): Move the Y-axis-flipping to be on a per-page basis (as it was before and as it must be). Put page number back in, (still missing th number of pages from the header). Add multi-page output for better testing.
2006-01-11Paint with white to intermediate RGB24 images before replaying meta-surface ↵Carl Worth2-1/+30
to preserve default white background instead of forcing a black background instead.
2006-01-11Note that PS backend has now been switched over to use ↵Carl Worth4-555/+254
cairo_paginated_surface_t. Switch from ARGB32 to RGB24 for intermediate image surface since that's all that the current users of cairo_paginated_surface support anyway. Switch cairo_ps_surface_t over to use the new cairo_paginated_surface_t. This drastically simplifies the implementation, but temporarily puts the PostScript output back into the land of one-image-per-page. To be fixed soon though with improvements to cairo_paginated_surface_t. Everything still passes the test suite which is good. The test suite currently does no testing of multi-page output, which is quite bad.
2006-01-11Note that from here on out, the PDF output should always pass the entire ↵Carl Worth5-19/+90
test suite! Add new functions needed by users of cairo_paginated_surface_t. Always snapshot a paginated surface to an image surface, rather than a surface similar to the target. We do this since paginated target surfaces are allowed to not be complete surfaces, (such as not implementing acquire_source_surface). Switch the implementation of cairo_pdf_surface_t to use cairo_paginated_surface_t. For now this means that all PDF output is fallback images, but this can change incrementally as we go forward.
2006-01-10Remove old scale matrix since it exists in our base class.Anders Carlsson2-11/+19
(_cairo_atsui_font_set_metrics): Fix descent calculation.
2006-01-10Add cairo-quartz-private.hAnders Carlsson5-18/+136
If the destination surface is a quartz surface, get the clip mask from it. Added. Keep a copy of the clip mask around. (_cairo_surface_is_quartz): New function which determines if a given surface is a quartz surface.
2006-01-09Add printf format attribute to cairo_test_log.Carl Worth2-1/+12
2006-01-09Use uint32_t instead of uint;Anders Carlsson2-4/+11
2006-01-06Reviewed by keithpCarl Worth2-2/+32
Change the paginated surface to force all output to come from an image surface (to be refined incrementally as we hook real surface backends up to it).
2006-01-06Reviewed by keithpCarl Worth5-11/+104
Implement copy_page for paginated surface. Fix show_page to destroy the meta-surface and create a new one. Change these functions to advertise when they are not supported, so that _cairo_paginated_copy_page can implement things differently depending on whether or not it is personal. Check return values from _cairo_surface_show/copy_page.
2006-01-05Slip 1.2.0 projected data (again) out to 2006-01-13. Note that win32 is now ↵Carl Worth2-4/+34
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.
2006-01-05Gradient updates in SVG backend and no sorting of color stops in SVG or PDF ↵David Reveman3-59/+41
backend
2006-01-05Update gradient code in glitz backendDavid Reveman2-15/+18
2006-01-05Update gradient code in PDF backendDavid Reveman2-15/+20
2006-01-042005-10-10 David Reveman <davidr@novell.com>Carl Worth23-473/+221
Throw away old gradient code from within cairo-pattern.c in favor of using new support in pixman for gradients. Update reference images for all tests involving gradients since the gradient output has changed slightly.
2006-01-042005-10-10 David Reveman <davidr@novell.com>Carl Worth4-459/+776
Some major performance improvements to the general composite code used for gradients and transformed images. Like fetching of mask scanline before source scanline so that only the necessary pixels from source needs to be computed in case of gradients or transformed images as source. This patch also include some gradient specific fixes and performance improvement.
2006-01-04Originally: 2005-10-10 David Reveman <davidr@novell.com>Carl Worth6-55/+510
Add entries for gradient support. Add PictureGradientColor. Add necessary functionality for gradient support. Enable gradient support.
2006-01-03Clamp surface dimensions to a minimum of 1. ↵Vladimir Vukicevic4-36/+104
(_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. Try to recover a standard cairo_format_t from given pixman format masks, so that various things that only work with a standard format work correctly. Remove cairo_glitz_surface_write_to_png, replace with generic cairo_surface_write_to_png (since it works with image-surface create_with_masks fix)
2006-01-03Clean up output some; show only images that fail, otherwise just show ↵Vladimir Vukicevic2-18/+68
pass/fail squares.
2005-12-30no more has_clip boolean. Init clip_level. ↵Emmanuel Pacaud2-8/+15
(_cairo_surface_intersect_clip_path): a NULL path means reset of clipping region, not back to previous clipping level.
2005-12-29New directfb backend for cairo includes test suite and example to run the ↵Michael Emmel9-1/+1064
test is in the comment at the top of cairo-test-directfb.c enable with --enable-directfb
2005-12-28namespace declarations for SVG and XLINK (#5411).Emmanuel Pacaud2-1/+9
2005-12-27Add BeOS-specific reference images for tests where the maximum color ↵Christian Biesinger8-0/+13
difference is 1.
2005-12-26Implement composite for the beos backend. Don't map CAIRO_OPERATOR_ADD to ↵Christian Biesinger2-1/+104
B_OP_ADD for now, something's broken there.
2005-12-26Don't require that the caller locks the view; do it in cairo code.Christian Biesinger3-12/+65
Remove the now-unneeded locking
2005-12-21Remove some unneeded backend functions (composite, fill_rectangles, ↵Carl Worth2-124/+10
composite_trapezoids, old_show_glyphs).
2005-12-21Don't implement create_similar for the test-meta or the paginated surface. ↵Carl Worth3-23/+12
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.
2005-12-21Add a private cairo_paginated_surface_t which builds on top of the meta ↵Carl Worth7-1/+623
surface and is intended to provide an easy interface with common functionality for the various paginated surface types (ps, pdf, etc.). Add test_paginated_surface_t which is another test surface enabled with --enable-test-surfaces. The test_meta_surface code served as the basis for cairo_paginated_surface_t so that test surface may be entirely superfluous now.
2005-12-21Here is a cleaner implementation of the _cairo_array_t change which was ↵Carl Worth5-12/+63
previously committed inadvertently. Fix buggy implementation of _cairo_array_snapshot by changing array->elements to be a pointer to a pointer. This extra level of indirection allows the snapshot array to point to a pointer which will itself get changed when new storage is needed for a growing array. Previously, the snapshot would be left pointing at stale storage. Fix to call _cairo_array_index rather than grabbing array->elements directly and casting (which cast is now wrong with the change in implementation of array->index).
2005-12-21Revert inadvertent commit (immediately previous).Carl Worth5-57/+44
2005-12-21Fix indentation.Carl Worth7-33/+64
2005-12-21Remove cruft from old commands that the meta surface no longer implements ↵Carl Worth2-49/+6
(composite, fill_rectangles, composite_trapezoids, and set_clip_region).
2005-12-21Fix some typosChristian Biesinger4-4/+12
2005-12-21store surfaces in a <g> node, and clip to surface area. Now SVG backend ↵Emmanuel Pacaud2-28/+52
should pass pixman-rotate test. (emit_composite_svg_pattern): emit transformation matrix. (_cairo_svg_surface_intersect_clip_path): don't use xmlBuffer here.
2005-12-20Add some comments describing what a cairo_meta_surface_t is.Carl Worth6-73/+83
Remove unused _test_fallback_surface_create_for_data. Remove unused _test_meta_surface_create_for_data. Add missing source file src/test-meta-surface.h.
2005-12-20Move more fallback code from cairo-gstate.c to cairo-surface-fallback.c ↵Carl Worth4-594/+592
where it belongs. In the process, clean up the function names a bit and make the whole mess static.
2005-12-19Begin moving fallback code out of cairo-surface.c and into ↵Carl Worth5-615/+797
cairo-surface-fallback.c.
2005-12-19Use _cairo_surface_paint rather than _cairo_surface_fill_rectangle as only ↵Carl Worth7-42/+444
the former is guaranteed to work with all backends. Refine the comment describing this test surface. Add new test surface for exercising cairo_meta_surface. Simplify the image and test_fallback targets by not using create_for_data. Allow for NULL cleanup target functions. Add support for the test_meta_surface.
2005-12-19Use correct color when OPERATOR_SOURCE is used on a surface without alpha ↵Christian Biesinger2-0/+16
information.
2005-12-19fix stroke linewidth and dashes, I hope. Emit stroke-dashoffset.Emmanuel Pacaud2-2/+15
2005-12-19Use NULL clip instead of special serial zero cairo_clip_t Should make using ↵Keith Packard4-22/+54
surfaces easier.
2005-12-19Shhhh...Emmanuel Pacaud1-0/+2