[librsvg] Inline draw_in_viewport() in its two only callers



commit 5db02f25439b5cf2bb5e4730a44be62ec2b1f84c
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Mar 4 09:48:39 2019 -0600

    Inline draw_in_viewport() in its two only callers
    
    This function no longer did anything itself; it only called
    draw_ctx.with_discrete_layer() directly.

 rsvg_internals/src/structure.rs | 54 ++++++++++++++++-------------------------
 rsvg_internals/src/viewport.rs  | 29 ----------------------
 2 files changed, 21 insertions(+), 62 deletions(-)
---
diff --git a/rsvg_internals/src/structure.rs b/rsvg_internals/src/structure.rs
index ca1fb69d..8ff45f2d 100644
--- a/rsvg_internals/src/structure.rs
+++ b/rsvg_internals/src/structure.rs
@@ -18,7 +18,7 @@ use properties::{ComputedValues, Overflow};
 use property_bag::{OwnedPropertyBag, PropertyBag};
 use rect::RectangleExt;
 use viewbox::*;
-use viewport::{draw_in_viewport, ClipMode};
+use viewport::ClipMode;
 
 pub struct NodeGroup();
 
@@ -286,20 +286,12 @@ impl NodeTrait for NodeSvg {
             (viewport, vbox)
         };
 
-        draw_in_viewport(
-            &viewport,
-            clip_mode,
-            vbox,
-            self.preserve_aspect_ratio.get(),
-            node,
-            values,
-            draw_ctx,
-            clipping,
-            &mut |dc| {
-                // we don't push a layer because draw_in_viewport() already does it
-                node.draw_children(cascaded, dc, clipping)
-            },
-        )
+        draw_ctx.with_discrete_layer(node, values, clipping, &mut |dc| {
+            let _params =
+                dc.push_new_viewport(vbox, &viewport, self.preserve_aspect_ratio.get(), clip_mode);
+
+            node.draw_children(cascaded, dc, clipping)
+        })
     }
 }
 
@@ -439,24 +431,20 @@ impl NodeTrait for NodeUse {
                     None
                 };
 
-                draw_in_viewport(
-                    &viewport,
-                    clip_mode,
-                    symbol.vbox.get(),
-                    symbol.preserve_aspect_ratio.get(),
-                    node,
-                    values,
-                    draw_ctx,
-                    clipping,
-                    &mut |dc| {
-                        // We don't push a layer because draw_in_viewport() already does it
-                        child.draw_children(
-                            &CascadedValues::new_from_values(&child, values),
-                            dc,
-                            clipping,
-                        )
-                    },
-                )
+                draw_ctx.with_discrete_layer(node, values, clipping, &mut |dc| {
+                    let _params = dc.push_new_viewport(
+                        symbol.vbox.get(),
+                        &viewport,
+                        symbol.preserve_aspect_ratio.get(),
+                        clip_mode,
+                    );
+
+                    child.draw_children(
+                        &CascadedValues::new_from_values(&child, values),
+                        dc,
+                        clipping,
+                    )
+                })
             })
         }
     }
diff --git a/rsvg_internals/src/viewport.rs b/rsvg_internals/src/viewport.rs
index 8f1c202e..7d7f7a15 100644
--- a/rsvg_internals/src/viewport.rs
+++ b/rsvg_internals/src/viewport.rs
@@ -1,34 +1,5 @@
-use cairo::Rectangle;
-
-use aspect_ratio::AspectRatio;
-use drawing_ctx::DrawingCtx;
-use error::RenderingError;
-use node::RsvgNode;
-use properties::ComputedValues;
-use viewbox::*;
-
 #[derive(Debug, Copy, Clone, PartialEq)]
 pub enum ClipMode {
     ClipToViewport,
     ClipToVbox,
 }
-
-pub fn draw_in_viewport(
-    viewport: &Rectangle,
-    clip_mode: Option<ClipMode>,
-    vbox: Option<ViewBox>,
-    preserve_aspect_ratio: AspectRatio,
-    node: &RsvgNode,
-    values: &ComputedValues,
-    draw_ctx: &mut DrawingCtx,
-    clipping: bool,
-    draw_fn: &mut FnMut(&mut DrawingCtx) -> Result<(), RenderingError>,
-) -> Result<(), RenderingError> {
-    draw_ctx.with_discrete_layer(node, values, clipping, &mut |dc| {
-        let _params = dc.push_new_viewport(vbox, viewport, preserve_aspect_ratio, clip_mode);
-
-        let res = draw_fn(dc);
-
-        res
-    })
-}


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