summaryrefslogtreecommitdiff
path: root/boilerplate/cairo-boilerplate-pdf.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-06-27 17:53:18 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-06-27 17:53:18 +0100
commit86624627e4b196a78cfd9bd642299441e838e0f2 (patch)
tree49edd056650918b296654c4b1db402ea9142b80f /boilerplate/cairo-boilerplate-pdf.c
parentc506ddb58612c69b80b08be3a6d14c5bcc1ac21f (diff)
downloadcairo-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.c14
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 {