mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-05 01:48:07 +02:00
PDF: Don't round pattern y location to an integer
Using cairo_surface_get_extents() to get page height does not work when the page height is not an integer. http://lists.cairographics.org/archives/cairo/2009-July/017570.html
This commit is contained in:
parent
9686331cb0
commit
0d44416b9d
1 changed files with 1 additions and 9 deletions
|
|
@ -2186,7 +2186,6 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface,
|
|||
cairo_matrix_t cairo_p2d, pdf_p2d;
|
||||
cairo_extend_t extend = cairo_pattern_get_extend (&pattern->base);
|
||||
double xstep, ystep;
|
||||
cairo_rectangle_int_t surface_extents;
|
||||
int pattern_width = 0; /* squelch bogus compiler warning */
|
||||
int pattern_height = 0; /* squelch bogus compiler warning */
|
||||
int origin_x = 0; /* squelch bogus compiler warning */
|
||||
|
|
@ -2217,10 +2216,6 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface,
|
|||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_surface_get_extents (&surface->base, &surface_extents);
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
bbox_x = pattern_width;
|
||||
bbox_y = pattern_height;
|
||||
switch (extend) {
|
||||
|
|
@ -2303,10 +2298,7 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface,
|
|||
/* cairo_pattern_set_matrix ensures the matrix is invertible */
|
||||
assert (status == CAIRO_STATUS_SUCCESS);
|
||||
|
||||
cairo_matrix_init_identity (&pdf_p2d);
|
||||
cairo_matrix_translate (&pdf_p2d, 0.0, surface_extents.height);
|
||||
cairo_matrix_scale (&pdf_p2d, 1.0, -1.0);
|
||||
cairo_matrix_multiply (&pdf_p2d, &cairo_p2d, &pdf_p2d);
|
||||
cairo_matrix_multiply (&pdf_p2d, &cairo_p2d, &surface->cairo_to_pdf);
|
||||
cairo_matrix_translate (&pdf_p2d, -origin_x, -origin_y);
|
||||
cairo_matrix_translate (&pdf_p2d, 0.0, pattern_height);
|
||||
cairo_matrix_scale (&pdf_p2d, 1.0, -1.0);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue