[librsvg: 7/17] For diagnostics, get a primitive's name from a new function




commit 8fed91778fc42c4433fc26012e2ab693465b5710
Author: Federico Mena Quintero <federico gnome org>
Date:   Fri Apr 16 17:52:40 2021 -0500

    For diagnostics, get a primitive's name from a new function

 src/filters/mod.rs | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)
---
diff --git a/src/filters/mod.rs b/src/filters/mod.rs
index 6074ef71..edf9abba 100644
--- a/src/filters/mod.rs
+++ b/src/filters/mod.rs
@@ -77,6 +77,32 @@ pub enum PrimitiveParams {
     Turbulence(turbulence::Turbulence),
 }
 
+impl PrimitiveParams {
+    /// Returns a human-readable name for a primitive.
+    #[rustfmt::skip]
+    fn name(&self) -> &'static str {
+        use PrimitiveParams::*;
+        match self {
+            Blend(..)             => "feBlend",
+            ColorMatrix(..)       => "feColorMatrix",
+            ComponentTransfer(..) => "feComponentTransfer",
+            Composite(..)         => "feComposite",
+            ConvolveMatrix(..)    => "feConvolveMatrix",
+            DiffuseLighting(..)   => "feDiffuseLighting",
+            DisplacementMap(..)   => "feDisplacementMap",
+            Flood(..)             => "feFlood",
+            GaussianBlur(..)      => "feGaussianBlur",
+            Image(..)             => "feImage",
+            Merge(..)             => "feMerge",
+            Morphology(..)        => "feMorphology",
+            Offset(..)            => "feOffset",
+            SpecularLighting(..)  => "feSpecularLighting",
+            Tile(..)              => "feTile",
+            Turbulence(..)        => "feTurbulence",
+        }
+    }
+}
+
 /// The base filter primitive node containing common properties.
 #[derive(Default, Clone)]
 pub struct Primitive {
@@ -287,7 +313,7 @@ pub fn render(
                     let elapsed = start.elapsed();
                     rsvg_log!(
                         "(rendered filter primitive {} in\n    {} seconds)",
-                        primitive_name,
+                        params.name(),
                         elapsed.as_secs() as f64 + f64::from(elapsed.subsec_nanos()) / 1e9
                     );
 


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