[librsvg: 1/13] with_saved_transform: don't take an Option<Transform>; it is always passed as Some




commit b5065a557d608777a32683dd577bac1a07bed28b
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon May 10 19:30:37 2021 -0500

    with_saved_transform: don't take an Option<Transform>; it is always passed as Some

 src/drawing_ctx.rs | 10 ++++------
 src/element.rs     |  2 +-
 src/marker.rs      |  2 +-
 3 files changed, 6 insertions(+), 8 deletions(-)
---
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index 62e9028c..fe0968b1 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -798,8 +798,8 @@ impl DrawingCtx {
             .pre_translate(rect.x0, rect.y0)
     }
 
-    /// Saves the current transform, applies a new transform if specified,
-    /// runs the draw_fn, and restores the original transform
+    /// Saves the current transform, applies a new transform, runs the
+    /// draw_fn, and restores the original transform
     ///
     /// This is slightly cheaper than a `cr.save()` / `cr.restore()`
     /// pair, but more importantly, it does not reset the whole
@@ -807,14 +807,12 @@ impl DrawingCtx {
     /// was set by the `draw_fn`.
     pub fn with_saved_transform(
         &mut self,
-        transform: Option<Transform>,
+        transform: &Transform,
         draw_fn: &mut dyn FnMut(&mut DrawingCtx) -> Result<BoundingBox, RenderingError>,
     ) -> Result<BoundingBox, RenderingError> {
         let orig_transform = self.get_transform();
 
-        if let Some(t) = transform {
-            self.cr.transform(t.into());
-        }
+        self.cr.transform((*transform).into());
 
         let res = draw_fn(self);
 
diff --git a/src/element.rs b/src/element.rs
index 00c9f1ed..1956c2ac 100644
--- a/src/element.rs
+++ b/src/element.rs
@@ -281,7 +281,7 @@ impl<T: SetAttributes + Draw> Draw for ElementInner<T> {
         if !self.is_in_error() {
             let values = cascaded.get();
             if values.is_displayed() {
-                draw_ctx.with_saved_transform(Some(self.get_transform()), &mut |dc| {
+                draw_ctx.with_saved_transform(&self.get_transform(), &mut |dc| {
                     self.element_impl
                         .draw(node, acquired_nodes, cascaded, dc, clipping)
                 })
diff --git a/src/marker.rs b/src/marker.rs
index 7c8e12da..31e5584d 100644
--- a/src/marker.rs
+++ b/src/marker.rs
@@ -159,7 +159,7 @@ impl Marker {
             )
         };
 
-        draw_ctx.with_saved_transform(Some(transform), &mut |dc| {
+        draw_ctx.with_saved_transform(&transform, &mut |dc| {
             dc.with_clip_rect(clip, &mut |dc| {
                 dc.with_discrete_layer(node, acquired_nodes, values, clipping, &mut |an, dc| {
                     node.draw_children(an, &cascaded, dc, clipping)


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