[gtk+] rendericon: Save and restore cairo matrix



commit 0138af9f9684c0ec436b37e5962e9f82607d3ff8
Author: Benjamin Otte <otte redhat com>
Date:   Wed Jan 6 18:14:11 2016 +0100

    rendericon: Save and restore cairo matrix
    
    ... instead of requiring cairo_save()/cairo_restore().

 gtk/gtkrendericon.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkrendericon.c b/gtk/gtkrendericon.c
index 2c756a4..cacd510 100644
--- a/gtk/gtkrendericon.c
+++ b/gtk/gtkrendericon.c
@@ -39,7 +39,7 @@ gtk_css_style_render_icon (GtkCssStyle            *style,
                            GtkCssImageBuiltinType  builtin_type)
 {
   const GtkCssValue *shadows;
-  cairo_matrix_t matrix, transform_matrix;
+  cairo_matrix_t matrix, transform_matrix, saved_matrix;
   GtkCssImage *image;
 
   g_return_if_fail (GTK_IS_CSS_STYLE (style));
@@ -49,6 +49,8 @@ gtk_css_style_render_icon (GtkCssStyle            *style,
   if (image == NULL)
     return;
 
+  cairo_get_matrix (cr, &saved_matrix);
+
   shadows = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_SHADOW);
 
   cairo_translate (cr, x, y);
@@ -75,6 +77,8 @@ gtk_css_style_render_icon (GtkCssStyle            *style,
           cairo_paint (cr);
         }
     }
+
+  cairo_set_matrix (cr, &saved_matrix);
 }
 
 gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]