[librsvg] shapes.rs: Factor out function to render a path builder



commit ee07e154453b05776c3594f648932bad43606d38
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Feb 20 15:27:46 2017 -0600

    shapes.rs: Factor out function to render a path builder

 rust/src/shapes.rs |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/rust/src/shapes.rs b/rust/src/shapes.rs
index fb889e5..afe7ba4 100644
--- a/rust/src/shapes.rs
+++ b/rust/src/shapes.rs
@@ -15,6 +15,21 @@ use property_bag;
 use property_bag::*;
 use state::RsvgState;
 
+fn render_path_builder (builder:  &RsvgPathBuilder,
+                        draw_ctx: *const RsvgDrawingCtx,
+                        state:    *mut RsvgState,
+                        dominate: i32,
+                        render_markers: bool) {
+    drawing_ctx::state_reinherit_top (draw_ctx, state, dominate);
+    drawing_ctx::render_path_builder (draw_ctx, builder);
+
+    if render_markers {
+        marker::render_markers_for_path_builder (builder, draw_ctx);
+    }
+}
+
+/***** NodePath *****/
+
 struct NodePath {
     builder: RefCell<RsvgPathBuilder>
 }
@@ -40,11 +55,7 @@ impl NodeTrait for NodePath {
     }
 
     fn draw (&self, node: &RsvgNode, draw_ctx: *const RsvgDrawingCtx, dominate: i32) {
-        let builder = &*self.builder.borrow ();
-
-        drawing_ctx::state_reinherit_top (draw_ctx, node.get_state (), dominate);
-        drawing_ctx::render_path_builder (draw_ctx, builder);
-        marker::render_markers_for_path_builder (builder, draw_ctx);
+        render_path_builder (&*self.builder.borrow (), draw_ctx, node.get_state (), dominate, true);
     }
 
     fn get_c_impl (&self) -> *const RsvgCNodeImpl {
@@ -52,6 +63,8 @@ impl NodeTrait for NodePath {
     }
 }
 
+/***** C Prototypes *****/
+
 #[no_mangle]
 pub extern fn rsvg_node_path_new (element_name: *const libc::c_char, raw_parent: *const RsvgNode) -> *const 
RsvgNode {
     box_node (Rc::new (Node::new (NodeType::Path,


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