[librsvg: 2/5] node: remove get_cascaded_values
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 2/5] node: remove get_cascaded_values
- Date: Sat, 18 May 2019 14:55:05 +0000 (UTC)
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]