[librsvg: 32/90] node.rs: use DrawingCtx.with_saved_matrix()



commit e870e9fa37e522dd0ccdd24ea6a9dd8ad8bfe942
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Mar 13 18:02:35 2019 -0600

    node.rs: use DrawingCtx.with_saved_matrix()

 rsvg_internals/src/node.rs | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)
---
diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs
index 80ce82ad..a2486dba 100644
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@ -576,16 +576,12 @@ impl Node {
         clipping: bool,
     ) -> Result<(), RenderingError> {
         if !self.is_in_error() {
-            let cr = draw_ctx.get_cairo_context();
-            let save_affine = cr.get_matrix();
+            draw_ctx.with_saved_matrix(&mut |dc| {
+                let cr = dc.get_cairo_context();
+                cr.transform(self.get_transform());
 
-            cr.transform(self.get_transform());
-
-            let res = self.data.node_impl.draw(node, cascaded, draw_ctx, clipping);
-
-            cr.set_matrix(save_affine);
-
-            res
+                self.data.node_impl.draw(node, cascaded, dc, clipping)
+            })
         } else {
             rsvg_log!(
                 "(not rendering element {} because it is in error)",


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