[gthumb/gthumb-3-2] rotation: fixed the image position when rotating
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb/gthumb-3-2] rotation: fixed the image position when rotating
- Date: Wed, 9 Oct 2013 18:10:22 +0000 (UTC)
commit 190c2725d5b0dbbf6125ae77b46f26bd0fa4c3dd
Author: Paolo Bacchilega <paobac src gnome org>
Date: Wed Oct 9 20:08:56 2013 +0200
rotation: fixed the image position when rotating
extensions/file_tools/gth-image-rotator.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/extensions/file_tools/gth-image-rotator.c b/extensions/file_tools/gth-image-rotator.c
index 7ec4b22..183cb4b 100644
--- a/extensions/file_tools/gth-image-rotator.c
+++ b/extensions/file_tools/gth-image-rotator.c
@@ -280,14 +280,16 @@ static void
paint_image (GthImageRotator *self,
cairo_t *cr)
{
+ cairo_matrix_t matrix;
+
cairo_save (cr);
- cairo_set_matrix (cr, &self->priv->matrix);
- cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE);
+ cairo_get_matrix (cr, &matrix);
+ cairo_matrix_multiply (&matrix, &self->priv->matrix, &matrix);
+ cairo_set_matrix (cr, &matrix);
cairo_set_source_surface (cr, self->priv->preview_image,
self->priv->preview_image_area.x,
self->priv->preview_image_area.y);
- cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_FAST);
cairo_rectangle (cr,
self->priv->preview_image_area.x,
self->priv->preview_image_area.y,
@@ -446,6 +448,7 @@ gth_image_rotator_draw (GthImageViewerTool *base,
self->priv->background_color.blue,
self->priv->background_color.alpha);
cairo_fill (cr);
+ cairo_restore (cr);
if (self->priv->preview_image == NULL)
return;
@@ -457,8 +460,10 @@ gth_image_rotator_draw (GthImageViewerTool *base,
if (self->priv->dragging) {
GdkPoint center;
+ cairo_save (cr);
cairo_set_antialias (cr, CAIRO_ANTIALIAS_DEFAULT);
cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
+ cairo_restore (cr);
center.x = self->priv->center.x * self->priv->preview_zoom + self->priv->preview_image_area.x;
center.y = self->priv->center.y * self->priv->preview_zoom + self->priv->preview_image_area.y;
@@ -469,8 +474,6 @@ gth_image_rotator_draw (GthImageViewerTool *base,
paint_point (self, cr, &self->priv->drag_p2);
*/
}
-
- cairo_restore (cr);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]