Commit graph

2255 commits

Author SHA1 Message Date
Emmanuel Pacaud
d76701f465 Use CLEAR operator for initialisation of similar surface with a transparent color. 2006-05-05 16:47:06 +02:00
Emmanuel Pacaud
36fcaa76d6 SVG: Fix cairo_svg_surface_restrict_to_version.
surface parameter is actually a paginated surface.
Use the same logic as pdf backend.
2006-05-05 16:02:04 +02:00
Emmanuel Pacaud
6b40ba283b SVG: Remove special case for unclipped CLEAR and SOURCE in paint when
we're in analysis mode.

intersect_clip_path is not analyzed, so we can't know if we're clipped
when we're in analysis mode.
2006-05-05 12:59:29 +02:00
Emmanuel Pacaud
fb269aac08 SVG: Sets something sane in width and height if acquire source image fails.
In composite_image_pattern.
2006-05-05 11:10:02 +02:00
Carl Worth
c399b7a047 Increment CAIRO_VERSION to 1.1.7 after making the 1.1.6 snapshot 2006-05-04 23:48:28 -07:00
Carl Worth
7ba3b75efd Fix typos in EXTRA_DIST list of reference images. 2006-05-04 23:44:07 -07:00
Carl Worth
5b3425972d Update version to 1.1.6 and add notes to NEWS file.
Also update libtool version information to 8:0:6.
2006-05-04 23:39:12 -07:00
Carl Worth
cfdb9a1c53 RELEASING: Add a few more steps that we've been somtimes forgetting 2006-05-04 23:36:59 -07:00
Carl Worth
b948683917 Flesh out the documentation for cairo_push_group, cairo_pop_group and friends 2006-05-04 22:43:22 -07:00
Carl Worth
344c2c7acd Add a couple more group-using tests: fill-and-stroke-alpha[-add] 2006-05-04 21:35:23 -07:00
Carl Worth
a16f0b4223 Add push-group to test/.gitignore 2006-05-04 15:55:05 -07:00
Ian Osgood
57a0242d06 Additional piece of "Fix the XCB backend build for the XCB 0.9 release." 2006-05-04 14:43:03 -07:00
Ian Osgood
8c9da52dc2 Fix the XCB backend build for the XCB 0.9 release.
* use split out xcb-render package
* fix deprecated calls
* use XCB-specific symbols
2006-05-04 14:29:03 -07:00
Carl Worth
450e29ce09 pixman: Remove potential memory leak in failure path.
Thanks to Petr Kobalicek <kobalicek.petr@gmail.com> for pointing this out.
2006-05-04 14:24:18 -07:00
Carl Worth
ec94f0a7e2 Remove trailing comma in enum to pander to non-C99-conformant compilers 2006-05-04 12:52:17 -07:00
Emmanuel Pacaud
457132fc2b SVG: Don't test rectangle-rounding-error.
This test uses CAIRO_ANTIALIAS_NONE, which is not supported yet by
the SVG backend.
2006-05-04 21:41:36 +02:00
Emmanuel Pacaud
f6748ad030 SVG: Add reference image for tests failing on composited image misplacement.
There's a bug in librsvg/cairo that offsets composited images by half a pixel.
http://bugzilla.gnome.org/show_bug.cgi?id=330055
2006-05-04 21:40:17 +02:00
Emmanuel Pacaud
720edfe865 SVG: Add reference images for push-groups test.
Tests just fail for a one digit color on error.
2006-05-04 18:53:51 +02:00
Emmanuel Pacaud
a3997501fa SVG: Update reference images for shrinked tests. 2006-05-04 18:40:37 +02:00
Emmanuel Pacaud
135449ae03 SVG: Fix the previous fix for xlink namespace.
It seems libxml2 2.6.24 now requires a node using xlink
namespace to be linked to a node where it can find this
namespace.
2006-05-04 18:06:06 +02:00
Emmanuel Pacaud
a428f11738 SVG: Fix bug in test suite causing SVG to fail with rgb24 and device offsets.
Same fix as for PDF and PS surfaces.
2006-05-04 14:18:59 +02:00
Carl Worth
1431a9d4d3 Clean up error management of xlib surface getter functions. 2006-05-04 04:03:19 -07:00
Robert O'Callahan
4a4603d551 Add Xlib surface getter functions.
Add the following five functions:

cairo_public Display *
cairo_xlib_surface_get_display (cairo_surface_t *surface);

cairo_public Drawable
cairo_xlib_surface_get_drawable (cairo_surface_t *surface);

cairo_public Screen *
cairo_xlib_surface_get_screen (cairo_surface_t *surface);

cairo_public Visual *
cairo_xlib_surface_get_visual (cairo_surface_t *surface);

cairo_public int
cairo_xlib_surface_get_depth (cairo_surface_t *surface);
2006-05-04 04:03:19 -07:00
Emmanuel Pacaud
68915fdfcb SVG: Fix xml namespace declaration.
It looks like since libxml2 2.6.24, we can't just use xmlSetProp
for namespace declaration anymore.
2006-05-04 12:56:06 +02:00
Carl Worth
7aa2b05e48 Add missing prototype for _cairo_clip_translate 2006-05-04 03:44:45 -07:00
Robert O'Callahan
7bcf957b4e Rename cairo_rectangle_t to cairo_rectangle_fixed_t.
This is in preparation for a later function addition for extracting
clip rectangles from a cairo_t, (which will add a public
cairo_rectangle_t).
2006-05-04 03:43:34 -07:00
Carl Worth
d71ddec8df ROADMAP: Note that device-offset and push-pop-group have landed. 2006-05-04 03:05:12 -07:00
Vladimir Vukicevic
fb7f7c2f27 Fix up clip at pop_group time, to keep it in surface backend coordinates
We keep the clip in surface-backend coordinates always, so it needs
fixing whenever we change the target surface out in the gstate.  The
only place this happens is in push_group, so fix it as part of
gstate_redirect().
2006-05-04 03:02:27 -07:00
Vladimir Vukicevic
7fa3c6eee5 Add push-group test and reference images 2006-05-04 02:53:45 -07:00
Vladimir Vukicevic
ee02c1b914 Implement push_group/pop_group
This patch adds the following API calls:

 cairo_push_group
 cairo_push_group_with_content
 cairo_pop_group
 cairo_pop_group_to_source
 cairo_get_group_target

These methods support implementing layers on top of a cairo context,
allowing for drawing with transparency and temporary buffering.
cairo_get_group_target allows an app to get access to the actual surface
created by the last push_group call, in case itneeds to perform native
drawing to it.
2006-05-04 02:52:38 -07:00
Carl Worth
5e708b38e0 Merge branch 'device-offset-history' into cairo 2006-05-04 01:46:34 -07:00
Carl Worth
a6b1b014bb Implement the device_offset functionality at surface, not gstate layer
This is a mega-patch that has the advantage that the entire test suite
passes both immediately before and immediately after this commit.

The disadvantage of the mega-patch is that it does not reflect the
development history of the device-offset branch, (with its various
fumblings and flailings). To capture that history, we will next merge
in that branch.
2006-05-04 01:45:41 -07:00
Carl Worth
99719bde9e Move device-offset touchups from the surface layer up to the gstate.
This fixes the self-copy test which was the last one that was really
failing due to device offsets.
2006-05-04 01:34:05 -07:00
Carl Worth
ee687d722a Add support to handle the device-offset of a source surface.
This change caused all self-copy failures to now pass.
But, it also causes all previous self-copy passes to now fail.
2006-05-04 01:33:54 -07:00
Carl Worth
ea2faa5fae Rip out device_{x,y}_scale.
This device scale stuff is currently not being used. However it is also adding
complexity to the current device-offset rework. And since it's not being tested
I'm sure we're getting it wrong. It's better to not even have it here rather
than having it be broken.
2006-05-04 01:33:37 -07:00
Carl Worth
0e230727f8 Prefer classic C style comments rather than C++/C99-style 2006-05-04 01:30:59 -07:00
Carl Worth
f9333e9975 Remove dead code from _cairo_surface_{acquire,release}_dest_image 2006-05-04 01:30:59 -07:00
Carl Worth
f66ce88e0e cairo_surface_mark_dirty_rectangle: correct sense of device-offset handling 2006-05-04 01:30:59 -07:00
Carl Worth
460820cb58 Remove undesired device-offset handling during unbounded fixups.
This code was already commented as being suspicious and its removal causes some
tests to start passing once again.
2006-05-04 01:30:58 -07:00
Carl Worth
b0c047ad95 _cairo_surface_show_glyphs: Fix reversed device-offset handling so text works again. 2006-05-04 01:30:58 -07:00
Carl Worth
ee1c642cd8 cairo-surface.c: Correct reversed semantics of SURFACE_TO_BACKEND and BACKEND_TO_SURFACE 2006-05-04 01:30:58 -07:00
Carl Worth
a5cb546212 _cairo_surface_set_clip_region: Remove device-offset handling that is
now taken care of in _cairo_clip_clip.
2006-05-04 01:30:58 -07:00
Carl Worth
69affa5faf Move device-offset handling for clipping from _cairo_surface_interesect_clip_path
to the more general _cairo_clip_clip to handle more cases correctly.
2006-05-04 01:30:58 -07:00
Carl Worth
50dcd4d1ac _cairo_surface_copy_pattern_for_destination: Don't do any transform if there is no offset 2006-05-04 01:30:58 -07:00
Carl Worth
6d212c9e39 _cairo_surface_copy_pattern_for_destination: Remove leaking second call to pattern_init_copy 2006-05-04 01:30:57 -07:00
Carl Worth
81e469523f Abstract away repeated test as _cairo_surface_has_device_offset_or_scale 2006-05-04 01:30:57 -07:00
Carl Worth
4ed3e60a25 _cairo_surface_copy_pattern_for_destination: Fix transformation sign/order.
This allows the scale-source-surface-paint test to start passing again
at least.
2006-05-04 01:30:57 -07:00
Carl Worth
d3ff6f0e4b _cairo_surface_fallback_composite_trapezoids: Remove unused variable. 2006-05-04 01:30:57 -07:00
Vladimir Vukicevic
46a1f40b7d Move device offsets handling into high-level operations only (stroke/fill/paint/etc)
Remove all device offsets handling from internal cairo_surface methods,
which will become truly internal shortly.  Have all device offsets
handled by top-level entry points (stroke/fill/paint/show_glyphs/mask, and
clipping).
2006-05-04 01:30:57 -07:00
Carl Worth
6197d5a761 Fix bug in test suite causing PS and PDF to fail with rgb24 and device offsets.
Patch from cworth@cworth.org.

The trick with this one is that the test suite is using device offsets
in a rather fabricated way, and the final copy from an offset surface
to a non-offset surface is between two surfaces of the same size, so
must be 1:1. To get this we turn the device offset off before the
copy.

In a more conventional use of device offsets the surfaces would be of
different sizes, and the offset would be desired during the copy.
2006-05-04 01:30:56 -07:00