[librsvg: 1/2] node: impl fmt::Display for RsvgNode
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 1/2] node: impl fmt::Display for RsvgNode
- Date: Mon, 13 May 2019 18:33:53 +0000 (UTC)
commit ed894ea5477b2e5da5c09606e1de31d523270828
Author: Paolo Borelli <pborelli gnome org>
Date: Sun May 12 11:00:52 2019 +0200
node: impl fmt::Display for RsvgNode
rsvg_internals/src/drawing_ctx.rs | 8 ++------
rsvg_internals/src/filters/mod.rs | 13 +++----------
rsvg_internals/src/gradient.rs | 10 ++--------
rsvg_internals/src/node.rs | 31 ++++++++++++++-----------------
rsvg_internals/src/pattern.rs | 5 +----
rsvg_internals/src/shapes.rs | 6 +-----
rsvg_internals/src/structure.rs | 6 +-----
rsvg_internals/src/text.rs | 2 +-
8 files changed, 25 insertions(+), 56 deletions(-)
---
diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs
index 41642d8e..ade5322c 100644
--- a/rsvg_internals/src/drawing_ctx.rs
+++ b/rsvg_internals/src/drawing_ctx.rs
@@ -489,11 +489,7 @@ impl DrawingCtx {
})
});
} else {
- rsvg_log!(
- "element {} references nonexistent mask \"{}\"",
- node.get_human_readable_name(),
- mask,
- );
+ rsvg_log!("element {} references nonexistent mask \"{}\"", node, mask);
}
} else {
// No mask, so composite the temporary surface
@@ -580,7 +576,7 @@ impl DrawingCtx {
None => {
rsvg_log!(
"element {} will not be rendered since its filter \"{}\" was not found",
- node.get_human_readable_name(),
+ node,
filter_uri,
);
diff --git a/rsvg_internals/src/filters/mod.rs b/rsvg_internals/src/filters/mod.rs
index ce903ec2..c871307f 100644
--- a/rsvg_internals/src/filters/mod.rs
+++ b/rsvg_internals/src/filters/mod.rs
@@ -285,10 +285,7 @@ pub fn render(
let in_error = c.is_in_error();
if in_error {
- rsvg_log!(
- "(ignoring filter primitive {} because it is in error)",
- c.get_human_readable_name()
- );
+ rsvg_log!("(ignoring filter primitive {} because it is in error)", c);
}
!in_error
@@ -364,11 +361,7 @@ pub fn render(
.render(&rr_node, filter_ctx, draw_ctx)
.and_then(|result| filter_ctx.store_result(result))
{
- rsvg_log!(
- "(filter primitive {} returned an error: {})",
- rr_node.get_human_readable_name(),
- err
- );
+ rsvg_log!("(filter primitive {} returned an error: {})", rr_node, err);
// Exit early on Cairo errors. Continue rendering otherwise.
if let FilterError::CairoError(status) = err {
@@ -390,7 +383,7 @@ pub fn render(
let elapsed = start.elapsed();
rsvg_log!(
"(rendered filter primitive {} in\n {} seconds)",
- rr_node.get_human_readable_name(),
+ rr_node,
elapsed.as_secs() as f64 + f64::from(elapsed.subsec_nanos()) / 1e9
);
}
diff --git a/rsvg_internals/src/gradient.rs b/rsvg_internals/src/gradient.rs
index e3d3cdd1..18931387 100644
--- a/rsvg_internals/src/gradient.rs
+++ b/rsvg_internals/src/gradient.rs
@@ -380,10 +380,7 @@ impl Gradient {
let in_error = child.is_in_error();
if in_error {
- rsvg_log!(
- "(not using gradient stop {} because it is in error)",
- child.get_human_readable_name()
- );
+ rsvg_log!("(not using gradient stop {} because it is in error)", child);
}
!in_error
@@ -549,10 +546,7 @@ impl PaintSource for NodeGradient {
let a_node = acquired.get();
if stack.contains(a_node) {
- rsvg_log!(
- "circular reference in gradient {}",
- node.get_human_readable_name()
- );
+ rsvg_log!("circular reference in gradient {}", node);
return Err(RenderingError::CircularReference);
}
diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs
index 04e98e60..91426697 100644
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@ -2,6 +2,7 @@ use cairo::{Matrix, MatrixTrait};
use downcast_rs::*;
use std::cell::{Cell, Ref, RefCell};
use std::collections::HashSet;
+use std::fmt;
use std::rc::Rc;
use crate::attributes::Attribute;
@@ -327,14 +328,6 @@ impl RsvgNode {
self.borrow().class.as_ref().map(String::as_str)
}
- pub fn get_human_readable_name(&self) -> String {
- format!(
- "{:?} id={}",
- self.get_type(),
- self.get_id().unwrap_or("None")
- )
- }
-
pub fn get_transform(&self) -> Matrix {
self.borrow().transform.get()
}
@@ -541,21 +534,14 @@ impl RsvgNode {
self.borrow().node_impl.draw(node, cascaded, dc, clipping)
})
} else {
- rsvg_log!(
- "(not rendering element {} because it is in error)",
- self.get_human_readable_name()
- );
+ rsvg_log!("(not rendering element {} because it is in error)", self);
Ok(()) // maybe we should actually return a RenderingError::NodeIsInError here?
}
}
pub fn set_error(&self, error: NodeError) {
- rsvg_log!(
- "(attribute error for {}:\n {})",
- self.get_human_readable_name(),
- error
- );
+ rsvg_log!("(attribute error for {}:\n {})", self, error);
*self.borrow().result.borrow_mut() = Err(error);
}
@@ -606,3 +592,14 @@ impl RsvgNode {
specified_values.overflow = SpecifiedValue::Specified(Overflow::Hidden);
}
}
+
+impl fmt::Display for RsvgNode {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(
+ f,
+ "{:?} id={}",
+ self.get_type(),
+ self.get_id().unwrap_or("None")
+ )
+ }
+}
diff --git a/rsvg_internals/src/pattern.rs b/rsvg_internals/src/pattern.rs
index 54dc9934..b5c04bf4 100644
--- a/rsvg_internals/src/pattern.rs
+++ b/rsvg_internals/src/pattern.rs
@@ -242,10 +242,7 @@ impl PaintSource for NodePattern {
let a_node = acquired.get();
if stack.contains(a_node) {
- rsvg_log!(
- "circular reference in pattern {}",
- node.get_human_readable_name()
- );
+ rsvg_log!("circular reference in pattern {}", node);
return Err(RenderingError::CircularReference);
}
diff --git a/rsvg_internals/src/shapes.rs b/rsvg_internals/src/shapes.rs
index f7a9fd1d..5bca9abb 100644
--- a/rsvg_internals/src/shapes.rs
+++ b/rsvg_internals/src/shapes.rs
@@ -132,11 +132,7 @@ impl NodeTrait for NodePath {
// FIXME: we don't propagate errors upstream, but creating a partial
// path is OK per the spec
- rsvg_log!(
- "could not parse path {}: {}",
- node.get_human_readable_name(),
- e
- );
+ rsvg_log!("could not parse path {}: {}", node, e);
}
*self.builder.borrow_mut() = Some(builder);
diff --git a/rsvg_internals/src/structure.rs b/rsvg_internals/src/structure.rs
index 76998774..135148ca 100644
--- a/rsvg_internals/src/structure.rs
+++ b/rsvg_internals/src/structure.rs
@@ -377,11 +377,7 @@ impl NodeTrait for NodeUse {
// to re-acquire the child for other purposes.
acquired.get().clone()
} else {
- rsvg_log!(
- "element {} references nonexistent \"{}\"",
- node.get_human_readable_name(),
- link,
- );
+ rsvg_log!("element {} references nonexistent \"{}\"", node, link,);
return Ok(());
};
diff --git a/rsvg_internals/src/text.rs b/rsvg_internals/src/text.rs
index c8790634..3a832b52 100644
--- a/rsvg_internals/src/text.rs
+++ b/rsvg_internals/src/text.rs
@@ -681,7 +681,7 @@ impl NodeTRef {
} else {
rsvg_log!(
"element {} references a nonexistent text source \"{}\"",
- node.get_human_readable_name(),
+ node,
link,
);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]