[lasem] svg_view: fix pattern matrix in create_surface_pattern.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [lasem] svg_view: fix pattern matrix in create_surface_pattern.
- Date: Sun, 29 Aug 2010 07:55:41 +0000 (UTC)
commit 080ebb5b0e3cd20ae6546362a1a89c6cab17e122
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Sat Aug 28 21:44:18 2010 +0200
svg_view: fix pattern matrix in create_surface_pattern.
There was a mismatch in x_scale and y_scale computation.
And the matrix == NULL case was wrong.
src/lsmsvgview.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/src/lsmsvgview.c b/src/lsmsvgview.c
index d9d2dc9..d973c23 100644
--- a/src/lsmsvgview.c
+++ b/src/lsmsvgview.c
@@ -280,8 +280,8 @@ lsm_svg_view_create_surface_pattern (LsmSvgView *view,
device_width = ceil (device_width);
}
- x_scale = device_height / viewport->height;
- y_scale = device_width / viewport->width;
+ x_scale = device_width / viewport->width;
+ y_scale = device_height / viewport->height;
lsm_debug ("render", "[LsmSvgView::create_pattern] pattern size = %g ,%g at %g, %g (scale %g x %g)",
device_width, device_height, viewport->x, viewport->y, x_scale, y_scale);
@@ -318,8 +318,8 @@ lsm_svg_view_create_surface_pattern (LsmSvgView *view,
cairo_matrix_scale (&matrix, 1.0 / x_scale, 1.0 / y_scale);
cairo_matrix_invert (&matrix);
} else {
- cairo_matrix_init_translate (&matrix, -viewport->x, -viewport->y);
- cairo_matrix_scale (&matrix, 1.0 / x_scale, 1.0 / y_scale);
+ cairo_matrix_init_scale (&matrix, x_scale, y_scale);
+ cairo_matrix_translate (&matrix, -viewport->x, -viewport->y);
}
cairo_pattern_set_matrix (view->pattern_data->pattern, &matrix);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]