[librsvg: 2/8] For unknown nodes, create a NodeNonRendering
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 2/8] For unknown nodes, create a NodeNonRendering
- Date: Tue, 21 May 2019 00:46:40 +0000 (UTC)
commit 51f992ca598b854cad98c2e92288ca00dd9ac1f8
Author: Federico Mena Quintero <federico gnome org>
Date: Thu May 16 17:15:48 2019 -0500
For unknown nodes, create a NodeNonRendering
rsvg_internals/src/create_node.rs | 10 ++++++----
rsvg_internals/src/node.rs | 2 ++
2 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/rsvg_internals/src/create_node.rs b/rsvg_internals/src/create_node.rs
index d9a2694f..28b5db6e 100644
--- a/rsvg_internals/src/create_node.rs
+++ b/rsvg_internals/src/create_node.rs
@@ -126,6 +126,7 @@ node_create_fn!(
FilterPrimitiveMorphology,
Morphology::new
);
+node_create_fn!(create_non_rendering, NonRendering, NodeNonRendering::new);
node_create_fn!(create_offset, FilterPrimitiveOffset, Offset::new);
node_create_fn!(create_path, Path, NodePath::new);
node_create_fn!(create_pattern, Pattern, NodePattern::new);
@@ -287,10 +288,11 @@ pub fn create_node_and_register_id(
let &(supports_class, create_fn) = match NODE_CREATORS.get(name) {
Some(c) => c,
- // Whenever we encounter a node we don't understand, represent it as a defs.
- // This is like a group, but it doesn't do any rendering of children. The
- // effect is that we will ignore all children of unknown elements.
- None => &(true, create_defs as NodeCreateFn),
+
+ // Whenever we encounter a node we don't understand, represent it as a
+ // non-rendering node. This is like a group, but it doesn't do any rendering of
+ // children. The effect is that we will ignore all children of unknown elements.
+ None => &(true, create_non_rendering as NodeCreateFn),
};
if !supports_class {
diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs
index 1004bbc0..d09fc90f 100644
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@ -371,6 +371,7 @@ pub enum NodeType {
Link,
Marker,
Mask,
+ NonRendering,
Path,
Pattern,
PointLight,
@@ -430,6 +431,7 @@ impl NodeType {
NodeType::Link => "a",
NodeType::Marker => "marker",
NodeType::Mask => "mask",
+ NodeType::NonRendering => "rsvg-non-rendering", // Dummy element name
NodeType::Path => "path",
NodeType::Pattern => "pattern",
NodeType::PointLight => "fePointight",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]