[librsvg: 25/36] filters/gaussian_blur: remove interior mutability
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 25/36] filters/gaussian_blur: remove interior mutability
- Date: Mon, 1 Jul 2019 01:55:44 +0000 (UTC)
commit 1012e1d3f4e0767fa7dbbba43e7d5e1a695c125b
Author: Paolo Borelli <pborelli gnome org>
Date: Sun Jun 30 16:37:35 2019 +0200
filters/gaussian_blur: remove interior mutability
rsvg_internals/src/filters/gaussian_blur.rs | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/rsvg_internals/src/filters/gaussian_blur.rs b/rsvg_internals/src/filters/gaussian_blur.rs
index 7b35b5ae..fc61c27f 100644
--- a/rsvg_internals/src/filters/gaussian_blur.rs
+++ b/rsvg_internals/src/filters/gaussian_blur.rs
@@ -1,4 +1,3 @@
-use std::cell::Cell;
use std::cmp::min;
use std::f64;
@@ -28,7 +27,7 @@ const MAXIMUM_KERNEL_SIZE: usize = 500;
/// The `feGaussianBlur` filter primitive.
pub struct GaussianBlur {
base: PrimitiveWithInput,
- std_deviation: Cell<(f64, f64)>,
+ std_deviation: (f64, f64),
}
impl Default for GaussianBlur {
@@ -37,7 +36,7 @@ impl Default for GaussianBlur {
fn default() -> GaussianBlur {
GaussianBlur {
base: PrimitiveWithInput::new::<Self>(),
- std_deviation: Cell::new((0.0, 0.0)),
+ std_deviation: (0.0, 0.0),
}
}
}
@@ -50,8 +49,8 @@ impl NodeTrait for GaussianBlur {
for (attr, value) in pbag.iter() {
match attr {
- local_name!("stdDeviation") => self.std_deviation.set(
- parsers::number_optional_number(value)
+ local_name!("stdDeviation") => {
+ self.std_deviation = parsers::number_optional_number(value)
.attribute(attr.clone())
.and_then(|(x, y)| {
if x >= 0.0 && y >= 0.0 {
@@ -59,8 +58,8 @@ impl NodeTrait for GaussianBlur {
} else {
Err(NodeError::value_error(attr, "values can't be negative"))
}
- })?,
- ),
+ })?
+ }
_ => (),
}
}
@@ -212,7 +211,7 @@ impl Filter for GaussianBlur {
.add_input(&input)
.into_irect(draw_ctx);
- let (std_x, std_y) = self.std_deviation.get();
+ let (std_x, std_y) = self.std_deviation;
let (std_x, std_y) = ctx.paffine().transform_distance(std_x, std_y);
// The deviation can become negative here due to the transform.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]