Commit graph

1192 commits

Author SHA1 Message Date
Carl Worth
e71e2fc4f1 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.).
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-21 16:46:44 +00:00
Carl Worth
c786853993 Here is a cleaner implementation of the _cairo_array_t change which was 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-21 16:35:32 +00:00
Carl Worth
122a83643b Revert inadvertent commit (immediately previous). 2005-12-21 12:20:06 +00:00
Carl Worth
5280c09b7d Fix indentation. 2005-12-21 12:08:57 +00:00
Carl Worth
3eb2a252ad Remove cruft from old commands that the meta surface no longer implements (composite, fill_rectangles, composite_trapezoids, and set_clip_region). 2005-12-21 12:07:25 +00:00
Christian Biesinger
088c664b9c Fix some typos 2005-12-21 08:19:47 +00:00
Emmanuel Pacaud
90c1837e17 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. 2005-12-21 07:25:01 +00:00
Carl Worth
e95376c1c3 Add some comments describing what a cairo_meta_surface_t is.
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-20 10:30:11 +00:00
Carl Worth
7cc38be7d1 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. 2005-12-20 09:37:15 +00:00
Carl Worth
ff486bec0f Begin moving fallback code out of cairo-surface.c and into cairo-surface-fallback.c. 2005-12-19 22:45:41 +00:00
Carl Worth
75b2fe93f0 Use _cairo_surface_paint rather than _cairo_surface_fill_rectangle as only 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-19 22:01:39 +00:00
Christian Biesinger
606d23b287 Use correct color when OPERATOR_SOURCE is used on a surface without alpha information. 2005-12-19 17:16:28 +00:00
Emmanuel Pacaud
d0eaab305c fix stroke linewidth and dashes, I hope. Emit stroke-dashoffset. 2005-12-19 15:33:32 +00:00
Keith Packard
a83a42b248 Use NULL clip instead of special serial zero cairo_clip_t Should make using surfaces easier. 2005-12-19 15:08:05 +00:00
Emmanuel Pacaud
ec574cd6f0 CAIRO_CAN_TEST_SVG_SURFACE depends on librsvg.
cairo_svg_surface_t owns a xml node, for support of svg_surface_composite. (_cairo_svg_surface_create_for_document): init xml_node. All surfaces except first one are stored in defs node. (emit_composite_image_pattern): returns pattern size, and don't call emit_transform if is_pattern == TRUE. (emit_composite_svg_pattern): do something. (emit_composite_pattern): returns pattern size. (_cairo_svg_surface_composite): xml_node is stored in cairo_svg_surface_t now. (emit_surface_pattern): emit surface pattern width here. Fix property names. (_cairo_svg_path_close_path): don't close path if no current point. (_cairo_svg_surface_fill_rectangles): new. (_cairo_svg_surface_fill): emit fill rule. xml_node is in surface now. (_cairo_svg_surface_composite_trapezoids): xml_node is in surface now. (_cairo_svg_surface_stroke): ditto. (_cairo_svg_surface_intersect_clip_path): ditto. Emit fill rule.
ignore svg2png.
build svg2png utility.
test SVG backend if CAIRO_HAS_SVG_SURFACE && CAIRO_CAN_TEST_SVG_SURFACE.
new.
2005-12-19 13:59:34 +00:00
Christian Biesinger
70c45dd502 Some final changes to the beos backend before checkin were wrong, fixing. 2005-12-19 11:01:42 +00:00
Christian Biesinger
9af7220b68 Use gtk-doc syntax rather than doxygen syntax for internal functions (to avoid warnings from gtk-doc when it processes this file) 2005-12-19 10:17:22 +00:00
Christian Biesinger
6142bc5348 Mention new --enable-svg option
Add notes for the new BeOS backend
Add disabled by default BeOS backend
Add BeOS files
New
New
BEOS_SURFACE_FEATURE
BeOS mutex functions
Ignore files generates by the BeOS tests
Add cairo-test-beos.*
New.
Test BeOS backend.
2005-12-18 17:20:06 +00:00
Christian Biesinger
93da7fa203 Move enum to cairoint.h
add CAIRO_BEGIN_DECLS and CAIRO_END_DECLS, and move an enum from cairo-clip-private.h here (C++ doesn't like forward-declarations of enums). Final patch for allowing C++ backends.
reviewed by: cworth
2005-12-18 16:37:14 +00:00
Christian Biesinger
2c8859c8b5 make the SVG backend freetype message actually mention SVG rather than PDF. 2005-12-16 16:23:04 +00:00
Carl Worth
464d3fc563 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). 2005-12-16 11:48:48 +00:00
Carl Worth
c75232f8ab Add a new option --enable-test-surfaces.
New surface backend for testing only. It has as many NULL backend entries as possible.
Add support to test the new test_fallback backend.
2005-12-16 11:31:10 +00:00
Carl Worth
79eee2c303 Don't export cairo_image_surface_set_clip_region.
Eliminate some unnecessary _cairo_image_abstract_surface variations of backend function.
Remove errant include of cairo-pdf.h.
2005-12-16 11:21:24 +00:00
Christian Biesinger
6ba7772138 Globally rename "operator" to "op", to allow writing backends in C++
reviewed by: cworth
2005-12-16 03:02:35 +00:00
Carl Worth
11d20940b2 Make poppler check require poppler >= 0.4.1. 2005-12-15 08:58:08 +00:00
Stuart Parmenter
88615148ca #define access _access and #define F_OK to 0 on for MSVC
add CAIRO_BEGIN_DECLS and CAIRO_END_DECLS
2005-12-14 19:56:09 +00:00
Carl Worth
9becae35c0 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. 2005-12-14 16:45:39 +00:00
Carl Worth
77540a2dfa Add preliminary support for --enable-gcov. Thanks to Pierre-Alain Joye (with inspiration from the PHP gcov support by Jani Taskinen and Ilia Alshanetsky).
Ignore *.gcda and *.gcno gcov data files.
2005-12-14 16:22:06 +00:00
Carl Worth
bb418ab4e5 Make creator be cairo, not Cairo. 2005-12-13 16:31:14 +00:00
Vladimir Vukicevic
c2c4f0bb25 bump glitz req to 0.5.1, test for backends
Add glitz backend (original patches from sunmoon1997@gmail.com), including glx, wgl, and agl support. Add CAIRO_TEST_TARGET environment variable for limiting backends to test.
Takes all *.log files and spits out html to stdout that can be used to view all test results at once.
2005-12-12 11:56:40 +00:00
Emmanuel Pacaud
840f93698d shhh... 2005-12-08 13:22:09 +00:00
Emmanuel Pacaud
b2f973e7f4 add optionnal disabled by default SVG backend.
include SVG backend files.
include SVG_SURFACE_FEATURE.
rename dtostr to _cairo_dtostr for use in cairo-svg-surface.c.
_cairo_dtostr declaration.
new.
new.
build svg-surface and svg-clip.
new.
new.
2005-12-08 13:09:26 +00:00
Carl Worth
73df5f2d62 Note that that PDF backend has been incorporated into the test suite. 2005-12-07 16:16:20 +00:00
Carl Worth
45c350e328 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.
Build pdf2png if possible.
Add support for testing the PDF backend.
New utility program to convert a PDF file into a PNG image using poppler (thanks to Kristian Høgsberg).
Ignore new stuff generated by PDF backend testing.
2005-12-07 16:06:11 +00:00
Carl Worth
964c56e72b Note that self-copy now works with the PS backend.
Add _cairo_array_init_snapshot and checks for is_snapshot throughout.
Add a new surface->backend->snapshot function.
Implement _cairo_meta_surface_snapshot and _cairo_meta_surface_acquire/release_source_image. Change _cairo_meta_surface_create to require the width and height in pixels to be used when replaying for purposed of _cairo_meta_surface_aquire_source_image.
Track change in prototype of _cairo_meta_surface_create. Implement _cairo_ps_surface_snapshot by deferring down into _cairo_meta_surface_snapshot.
2005-12-07 12:19:10 +00:00
Carl Worth
96be55124f Fix to check cairo_surface_status rather than !surface which is always false. (cleanup_ps): Fix leak of filename memory. 2005-12-07 11:53:30 +00:00
Carl Worth
0883155111 Use more portable shell syntax, ('test =' rather than 'test =='). Thanks to Richard Lloyd and Klaus Heinz. Closes bug #4823. 2005-12-07 11:44:28 +00:00
David Reveman
4484830d6c glitz backend gradient fix 2005-12-05 08:33:04 +00:00
David Reveman
57fe792019 More updates to track latest changes to glitz 2005-12-04 07:47:44 +00:00
David Reveman
2802950123 Track changes to glitz 2005-11-29 15:48:34 +00:00
Carl Worth
9e7076fd27 Remove duplicate definitions of pixman_color_to_pixel and pixman_composite. 2005-11-21 11:46:40 +00:00
Carl Worth
674ed1932e Add reminder to fix all memory leaks (as determined by the test suite) before release 1.2.0.
Patch leak of patterns as noted in bug #5100 (thanks to Richard Stellingwerff <remenic@gmail.com>).
2005-11-21 10:50:20 +00:00
Carl Worth
345ba540b1 Remove spurios INT_ prefixes which break the build with very recent binutils. 2005-11-18 09:15:43 +00:00
Stuart Parmenter
49136c04f2 Hooked up tests to run on Windows with a Windows surface 2005-11-17 11:55:20 +00:00
Anders Carlsson
a16d93f367 If the surface is flipped, flip the CG coordinate system before drawing the images.
(cairo_quartz_surface_create):
Add "flipped" argument to cairo_quartz_surface_create.
2005-11-14 12:57:31 +00:00
Carl Worth
b5759f9e07 Change scheduled release date of 1.2.0 out to 2005-12-15. 2005-11-10 16:25:18 +00:00
Carl Worth
5b6c912667 Note that PS is now passing all tests except for self-copy.
Add missing glue to hook up PS backend with new meta-surface support for the 5 basic drawing operations. Currently, this forces image fallbacks for all operations.
Switch from gs device of pngalpha to png16m which for some reason gives the correct result for nil-surface now, while pngalpha does not.
Key off of N_OPERATORS as the loop control for easier trimming down of this test case when debugging.
Rename stroke_style parameter to style in backend->stroke parameter list.
Remove PS-specific reference images for many tests which are now using more fallback paths than before.
2005-11-08 17:43:13 +00:00
Carl Worth
48218fec48 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.
Remove size for _cairo_meta_surface_create. It is no longer needed now that get_extents is not a required backend function.
Track change in cairo_meta_surface_create no longer requiring a size
Qualify the glyphs argument to backend->show_glyphs as const.
Whitespace style cleanup.
2005-11-08 17:16:21 +00:00
Carl Worth
c66a3db4c3 Split the 1.2.0 features into "essential" and "desired". 2005-11-08 11:44:18 +00:00
Carl Worth
75881041f0 Slip the 1.2 release by two weeks to 2005-11-15. 2005-11-08 11:39:21 +00:00