diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-27 17:53:18 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-27 17:53:18 +0100 |
commit | 86624627e4b196a78cfd9bd642299441e838e0f2 (patch) | |
tree | 49edd056650918b296654c4b1db402ea9142b80f /boilerplate/cairo-boilerplate-pdf.c | |
parent | c506ddb58612c69b80b08be3a6d14c5bcc1ac21f (diff) | |
download | cairo-86624627e4b196a78cfd9bd642299441e838e0f2.tar.gz |
[test] Add group-unaligned
Test case for:
Bug 22441 -- Unexpected shift with push_group and pop_group
https://bugs.freedesktop.org/show_bug.cgi?id=22441
This is a test that demonstrates the error in the pdf backend when using
groups on surfaces with non-integer sizes. In order to create such a
surface, we need to update the boilerplate to use doubles instead of
integers when specifying the surface size.
Diffstat (limited to 'boilerplate/cairo-boilerplate-pdf.c')
-rw-r--r-- | boilerplate/cairo-boilerplate-pdf.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/boilerplate/cairo-boilerplate-pdf.c b/boilerplate/cairo-boilerplate-pdf.c index c3289f8fb..3ac380c2e 100644 --- a/boilerplate/cairo-boilerplate-pdf.c +++ b/boilerplate/cairo-boilerplate-pdf.c @@ -51,10 +51,10 @@ typedef struct _pdf_target_closure cairo_surface_t * _cairo_boilerplate_pdf_create_surface (const char *name, cairo_content_t content, - int width, - int height, - int max_width, - int max_height, + double width, + double height, + double max_width, + double max_height, cairo_boilerplate_mode_t mode, int id, void **closure) @@ -69,8 +69,8 @@ _cairo_boilerplate_pdf_create_surface (const char *name, *closure = ptc = xmalloc (sizeof (pdf_target_closure_t)); - ptc->width = width; - ptc->height = height; + ptc->width = ceil (width); + ptc->height = ceil (height); xasprintf (&ptc->filename, "%s.out.pdf", name); xunlink (ptc->filename); @@ -85,7 +85,7 @@ _cairo_boilerplate_pdf_create_surface (const char *name, ptc->target = surface; surface = cairo_surface_create_similar (ptc->target, CAIRO_CONTENT_COLOR, - width, height); + ptc->width, ptc->height); if (cairo_surface_status (surface)) goto CLEANUP_TARGET; } else { |