[librsvg: 2/5] node: remove get_cascaded_values



commit 41fadfe47b784049d4a91a327478b74848ec916f
Author: Paolo Borelli <pborelli gnome org>
Date:   Sat May 18 00:12:40 2019 +0200

    node: remove get_cascaded_values
    
    We are already using CascadedValues::new_* variants in the
    rest of the code, so we may as well be consistent.

 rsvg_internals/src/clip_path.rs              |  4 ++--
 rsvg_internals/src/filters/flood.rs          |  4 ++--
 rsvg_internals/src/filters/light/lighting.rs |  6 +++---
 rsvg_internals/src/filters/mod.rs            |  4 ++--
 rsvg_internals/src/filters/turbulence.rs     |  4 ++--
 rsvg_internals/src/gradient.rs               |  4 ++--
 rsvg_internals/src/handle.rs                 |  9 +++++----
 rsvg_internals/src/marker.rs                 |  2 +-
 rsvg_internals/src/mask.rs                   |  4 ++--
 rsvg_internals/src/node.rs                   | 10 +++-------
 rsvg_internals/src/paint_server.rs           |  4 ++--
 rsvg_internals/src/pattern.rs                |  2 +-
 12 files changed, 27 insertions(+), 30 deletions(-)
---
diff --git a/rsvg_internals/src/clip_path.rs b/rsvg_internals/src/clip_path.rs
index e204e52f..00ad514d 100644
--- a/rsvg_internals/src/clip_path.rs
+++ b/rsvg_internals/src/clip_path.rs
@@ -6,7 +6,7 @@ use crate::bbox::BoundingBox;
 use crate::coord_units::CoordUnits;
 use crate::drawing_ctx::DrawingCtx;
 use crate::error::RenderingError;
-use crate::node::{NodeResult, NodeTrait, RsvgNode};
+use crate::node::{CascadedValues, NodeResult, NodeTrait, RsvgNode};
 use crate::parsers::ParseValue;
 use crate::property_bag::PropertyBag;
 
@@ -41,7 +41,7 @@ impl NodeClipPath {
             return Ok(());
         }
 
-        let cascaded = node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(node);
 
         draw_ctx.with_saved_matrix(&mut |dc| {
             let cr = dc.get_cairo_context();
diff --git a/rsvg_internals/src/filters/flood.rs b/rsvg_internals/src/filters/flood.rs
index 8eeae3c5..929bfb81 100644
--- a/rsvg_internals/src/filters/flood.rs
+++ b/rsvg_internals/src/filters/flood.rs
@@ -2,7 +2,7 @@ use cairo::{self, ImageSurface};
 use cssparser;
 
 use crate::drawing_ctx::DrawingCtx;
-use crate::node::{NodeResult, NodeTrait, RsvgNode};
+use crate::node::{CascadedValues, NodeResult, NodeTrait, RsvgNode};
 use crate::property_bag::PropertyBag;
 use crate::surface_utils::shared_surface::{SharedImageSurface, SurfaceType};
 
@@ -46,7 +46,7 @@ impl Filter for Flood {
             ctx.source_graphic().height(),
         )?;
 
-        let cascaded = node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(node);
         let values = cascaded.get();
 
         let color = match values.flood_color.0 {
diff --git a/rsvg_internals/src/filters/light/lighting.rs b/rsvg_internals/src/filters/light/lighting.rs
index 17ef3d8d..69e7c447 100644
--- a/rsvg_internals/src/filters/light/lighting.rs
+++ b/rsvg_internals/src/filters/light/lighting.rs
@@ -28,7 +28,7 @@ use crate::filters::{
     FilterError,
     PrimitiveWithInput,
 };
-use crate::node::{NodeResult, NodeTrait, NodeType, RsvgNode};
+use crate::node::{CascadedValues, NodeResult, NodeTrait, NodeType, RsvgNode};
 use crate::parsers;
 use crate::property_bag::PropertyBag;
 use crate::property_defs::ColorInterpolationFilters;
@@ -212,7 +212,7 @@ impl Filter for Lighting {
 
         let surface_scale = self.surface_scale.get();
 
-        let cascaded = node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(node);
         let values = cascaded.get();
         let lighting_color = match values.lighting_color.0 {
             cssparser::Color::CurrentColor => values.color.0,
@@ -452,7 +452,7 @@ impl Filter for Lighting {
             }
         }
 
-        let cascaded = node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(node);
         let values = cascaded.get();
         // The generated color values are in the color space determined by
         // color-interpolation-filters.
diff --git a/rsvg_internals/src/filters/mod.rs b/rsvg_internals/src/filters/mod.rs
index c1e4207c..9f18f102 100644
--- a/rsvg_internals/src/filters/mod.rs
+++ b/rsvg_internals/src/filters/mod.rs
@@ -10,7 +10,7 @@ use crate::coord_units::CoordUnits;
 use crate::drawing_ctx::DrawingCtx;
 use crate::error::{RenderingError, ValueErrorKind};
 use crate::length::{LengthHorizontal, LengthUnit, LengthVertical};
-use crate::node::{NodeData, NodeResult, NodeTrait, NodeType, RsvgNode};
+use crate::node::{CascadedValues, NodeData, NodeResult, NodeTrait, NodeType, RsvgNode};
 use crate::parsers::{ParseError, ParseValue};
 use crate::properties::ComputedValues;
 use crate::property_bag::PropertyBag;
@@ -292,7 +292,7 @@ pub fn render(
         // Check if the node wants linear RGB.
         .map(|c| {
             let linear_rgb = {
-                let cascaded = c.get_cascaded_values();
+                let cascaded = CascadedValues::new_from_node(&c);
                 let values = cascaded.get();
 
                 values.color_interpolation_filters == ColorInterpolationFilters::LinearRgb
diff --git a/rsvg_internals/src/filters/turbulence.rs b/rsvg_internals/src/filters/turbulence.rs
index b0e90de8..855cd2ab 100644
--- a/rsvg_internals/src/filters/turbulence.rs
+++ b/rsvg_internals/src/filters/turbulence.rs
@@ -5,7 +5,7 @@ use markup5ever::LocalName;
 
 use crate::drawing_ctx::DrawingCtx;
 use crate::error::NodeError;
-use crate::node::{NodeResult, NodeTrait, RsvgNode};
+use crate::node::{CascadedValues, NodeResult, NodeTrait, RsvgNode};
 use crate::parsers::{self, ParseError};
 use crate::property_bag::PropertyBag;
 use crate::property_defs::ColorInterpolationFilters;
@@ -403,7 +403,7 @@ impl Filter for Turbulence {
             }
         }
 
-        let cascaded = node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(node);
         let values = cascaded.get();
         // The generated color values are in the color space determined by
         // color-interpolation-filters.
diff --git a/rsvg_internals/src/gradient.rs b/rsvg_internals/src/gradient.rs
index 53442e2d..043e865d 100644
--- a/rsvg_internals/src/gradient.rs
+++ b/rsvg_internals/src/gradient.rs
@@ -9,7 +9,7 @@ use crate::coord_units::CoordUnits;
 use crate::drawing_ctx::{AcquiredNode, DrawingCtx, NodeStack};
 use crate::error::*;
 use crate::length::*;
-use crate::node::*;
+use crate::node::{CascadedValues, NodeResult, NodeTrait, NodeType, RsvgNode};
 use crate::paint_server::PaintSource;
 use crate::parsers::{Parse, ParseError, ParseValue};
 use crate::properties::ComputedValues;
@@ -386,7 +386,7 @@ impl Gradient {
             })
             .for_each(|child| {
                 child.with_impl(|stop: &NodeStop| {
-                    let cascaded = child.get_cascaded_values();
+                    let cascaded = CascadedValues::new_from_node(&child);
                     let values = cascaded.get();
 
                     let rgba = match values.stop_color {
diff --git a/rsvg_internals/src/handle.rs b/rsvg_internals/src/handle.rs
index 36b8dc01..1bbf5c30 100644
--- a/rsvg_internals/src/handle.rs
+++ b/rsvg_internals/src/handle.rs
@@ -12,7 +12,7 @@ use crate::c_api::{RsvgDimensionData, RsvgPositionData, SizeCallback};
 use crate::dpi::Dpi;
 use crate::drawing_ctx::{DrawingCtx, RsvgRectangle};
 use crate::error::{DefsLookupErrorKind, LoadingError, RenderingError};
-use crate::node::RsvgNode;
+use crate::node::{CascadedValues, RsvgNode};
 use crate::pixbuf_utils::{empty_pixbuf, pixbuf_from_surface};
 use crate::structure::{IntrinsicDimensions, NodeSvg};
 use crate::surface_utils::{shared_surface::SharedImageSurface, shared_surface::SurfaceType};
@@ -207,7 +207,7 @@ impl Handle {
         );
         let root = self.svg.root();
 
-        draw_ctx.draw_node_from_stack(&root.get_cascaded_values(), &root, false)?;
+        draw_ctx.draw_node_from_stack(&CascadedValues::new_from_node(&root), &root, false)?;
 
         let bbox = draw_ctx.get_bbox();
 
@@ -236,7 +236,7 @@ impl Handle {
         let is_root = node == root;
 
         if is_root {
-            let cascaded = node.get_cascaded_values();
+            let cascaded = CascadedValues::new_from_node(&node);
             let values = cascaded.get();
 
             if let Some((root_width, root_height)) =
@@ -373,7 +373,8 @@ impl Handle {
             false,
             is_testing,
         );
-        let res = draw_ctx.draw_node_from_stack(&root.get_cascaded_values(), &root, false);
+        let cascaded = CascadedValues::new_from_node(&root);
+        let res = draw_ctx.draw_node_from_stack(&cascaded, &root, false);
         cr.restore();
 
         res
diff --git a/rsvg_internals/src/marker.rs b/rsvg_internals/src/marker.rs
index 55f31e9a..045233e0 100644
--- a/rsvg_internals/src/marker.rs
+++ b/rsvg_internals/src/marker.rs
@@ -123,7 +123,7 @@ impl NodeMarker {
         line_width: f64,
         clipping: bool,
     ) -> Result<(), RenderingError> {
-        let cascaded = node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(&node);
         let values = cascaded.get();
 
         let params = draw_ctx.get_view_params();
diff --git a/rsvg_internals/src/mask.rs b/rsvg_internals/src/mask.rs
index 93555eac..ac002dd2 100644
--- a/rsvg_internals/src/mask.rs
+++ b/rsvg_internals/src/mask.rs
@@ -6,7 +6,7 @@ use crate::coord_units::CoordUnits;
 use crate::drawing_ctx::{CompositingAffines, DrawingCtx};
 use crate::error::RenderingError;
 use crate::length::{LengthHorizontal, LengthVertical};
-use crate::node::{NodeResult, NodeTrait, RsvgNode};
+use crate::node::{CascadedValues, NodeResult, NodeTrait, RsvgNode};
 use crate::parsers::{Parse, ParseValue};
 use crate::property_bag::PropertyBag;
 use crate::property_defs::Opacity;
@@ -62,7 +62,7 @@ impl NodeMask {
 
         let bbox_rect = bbox.rect.as_ref().unwrap();
 
-        let cascaded = mask_node.get_cascaded_values();
+        let cascaded = CascadedValues::new_from_node(mask_node);
         let values = cascaded.get();
 
         let mask_content_surface = draw_ctx.create_surface_for_toplevel_viewport()?;
diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs
index 431c4c8b..981b1c0e 100644
--- a/rsvg_internals/src/node.rs
+++ b/rsvg_internals/src/node.rs
@@ -247,8 +247,8 @@ impl NodeData {
 /// elsewhere in the SVG; it causes the instanced subtree to re-cascade from the computed values for
 /// the `<use>` element.
 ///
-/// This structure gets created by `Node.get_cascaded_values()`.  You can then call the `get()`
-/// method on the resulting `CascadedValues` to get a `&ComputedValues` whose fields you can access.
+/// You can then call the `get()` method on the resulting `CascadedValues` to get a
+/// `&ComputedValues` whose fields you can access.
 pub struct CascadedValues<'a> {
     inner: CascadedInner<'a>,
 }
@@ -279,7 +279,7 @@ impl<'a> CascadedValues<'a> {
     /// This is to be used only in the toplevel drawing function, or in elements like `<marker>`
     /// that don't propagate their parent's cascade to their children.  All others should use
     /// `new()` to derive the cascade from an existing one.
-    fn new_from_node(node: &RsvgNode) -> CascadedValues<'_> {
+    pub fn new_from_node(node: &RsvgNode) -> CascadedValues<'_> {
         CascadedValues {
             inner: CascadedInner::FromNode(node.borrow().values.borrow()),
         }
@@ -495,10 +495,6 @@ impl RsvgNode {
         self.borrow().transform.get()
     }
 
-    pub fn get_cascaded_values(&self) -> CascadedValues<'_> {
-        CascadedValues::new_from_node(self)
-    }
-
     pub fn cascade(&self, values: &ComputedValues) {
         let mut values = values.clone();
         self.borrow()
diff --git a/rsvg_internals/src/paint_server.rs b/rsvg_internals/src/paint_server.rs
index b371c40a..568df997 100644
--- a/rsvg_internals/src/paint_server.rs
+++ b/rsvg_internals/src/paint_server.rs
@@ -4,7 +4,7 @@ use crate::allowed_url::Fragment;
 use crate::bbox::BoundingBox;
 use crate::drawing_ctx::DrawingCtx;
 use crate::error::*;
-use crate::node::RsvgNode;
+use crate::node::{CascadedValues, RsvgNode};
 use crate::parsers::Parse;
 use crate::properties::ComputedValues;
 use crate::unit_interval::UnitInterval;
@@ -81,7 +81,7 @@ pub trait PaintSource {
         bbox: &BoundingBox,
     ) -> Result<bool, RenderingError> {
         if let Some(resolved) = self.resolve(&node, draw_ctx, bbox)? {
-            let cascaded = node.get_cascaded_values();
+            let cascaded = CascadedValues::new_from_node(node);
             let values = cascaded.get();
             self.set_pattern_on_draw_context(&resolved, values, draw_ctx, opacity, bbox)
         } else {
diff --git a/rsvg_internals/src/pattern.rs b/rsvg_internals/src/pattern.rs
index 5bbb6fa6..323ceba1 100644
--- a/rsvg_internals/src/pattern.rs
+++ b/rsvg_internals/src/pattern.rs
@@ -418,7 +418,7 @@ impl PaintSource for NodePattern {
 
         // Draw everything
         let pattern_node = RsvgNode::upgrade(pattern.node.as_ref().unwrap()).unwrap();
-        let pattern_cascaded = pattern_node.get_cascaded_values();
+        let pattern_cascaded = CascadedValues::new_from_node(&pattern_node);
         let pattern_values = pattern_cascaded.get();
 
         cr_pattern.set_matrix(caffine);


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