[librsvg: 4/10] text: remove usage of NodeType::Chars
- From: Federico Mena Quintero <federico src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [librsvg: 4/10] text: remove usage of NodeType::Chars
 
- Date: Mon, 16 Mar 2020 23:42:55 +0000 (UTC)
 
commit e4c216adbfa34ead3a2891a9abab139297870d91
Author: Paolo Borelli <pborelli gnome org>
Date:   Mon Mar 16 07:51:40 2020 +0100
    text: remove usage of NodeType::Chars
 rsvg_internals/src/text.rs | 62 ++++++++++++++++++++++++----------------------
 1 file changed, 33 insertions(+), 29 deletions(-)
---
diff --git a/rsvg_internals/src/text.rs b/rsvg_internals/src/text.rs
index 1b4345dc..fcf25cef 100644
--- a/rsvg_internals/src/text.rs
+++ b/rsvg_internals/src/text.rs
@@ -428,38 +428,42 @@ fn children_to_chunks(
     depth: usize,
 ) {
     for child in node.children() {
-        match child.borrow().get_type() {
-            NodeType::Chars => {
-                let values = cascaded.get();
-                child
-                    .borrow_chars()
-                    .to_chunks(&child, values, chunks, dx, dy, depth);
-            }
+        if child.is_chars() {
+            let values = cascaded.get();
+            child
+                .borrow_chars()
+                .to_chunks(&child, values, chunks, dx, dy, depth);
+        } else {
+            assert!(child.is_element());
 
-            NodeType::TSpan => {
-                let cascaded = CascadedValues::new(cascaded, &child);
-                child.borrow_element().get_impl::<TSpan>().to_chunks(
-                    &child,
-                    acquired_nodes,
-                    &cascaded,
-                    draw_ctx,
-                    chunks,
-                    depth + 1,
-                );
-            }
+            let elt = child.borrow_element();
 
-            NodeType::TRef => {
-                let cascaded = CascadedValues::new(cascaded, &child);
-                child.borrow_element().get_impl::<TRef>().to_chunks(
-                    &child,
-                    acquired_nodes,
-                    &cascaded,
-                    chunks,
-                    depth + 1,
-                );
-            }
+            match elt.get_type() {
+                NodeType::TSpan => {
+                    let cascaded = CascadedValues::new(cascaded, &child);
+                    elt.get_impl::<TSpan>().to_chunks(
+                        &child,
+                        acquired_nodes,
+                        &cascaded,
+                        draw_ctx,
+                        chunks,
+                        depth + 1,
+                    );
+                }
+
+                NodeType::TRef => {
+                    let cascaded = CascadedValues::new(cascaded, &child);
+                    elt.get_impl::<TRef>().to_chunks(
+                        &child,
+                        acquired_nodes,
+                        &cascaded,
+                        chunks,
+                        depth + 1,
+                    );
+                }
 
-            _ => (),
+                _ => (),
+            }
         }
     }
 }
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]