[librsvg: 16/20] feOffset: shorten code by implementing Default and Clone for its parameters
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 16/20] feOffset: shorten code by implementing Default and Clone for its parameters
- Date: Wed, 17 Mar 2021 19:08:06 +0000 (UTC)
commit bd5ededf63093219a76497d00c141a5983bcade9
Author: Federico Mena Quintero <federico gnome org>
Date: Tue Mar 16 15:21:48 2021 -0600
feOffset: shorten code by implementing Default and Clone for its parameters
src/filters/offset.rs | 32 +++++++-------------------------
1 file changed, 7 insertions(+), 25 deletions(-)
---
diff --git a/src/filters/offset.rs b/src/filters/offset.rs
index d032121e..9f2be567 100644
--- a/src/filters/offset.rs
+++ b/src/filters/offset.rs
@@ -12,42 +12,28 @@ use super::context::{FilterContext, FilterOutput, FilterResult};
use super::{FilterEffect, FilterError, Input, Primitive, PrimitiveParams, ResolvedPrimitive};
/// The `feOffset` filter primitive.
-#[derive(Clone)]
+#[derive(Default)]
pub struct FeOffset {
base: Primitive,
- in1: Input,
- dx: f64,
- dy: f64,
+ params: Offset,
}
/// Resolved `feOffset` primitive for rendering.
+#[derive(Clone, Default)]
pub struct Offset {
in1: Input,
dx: f64,
dy: f64,
}
-impl Default for FeOffset {
- /// Constructs a new `Offset` with empty properties.
- #[inline]
- fn default() -> FeOffset {
- FeOffset {
- base: Default::default(),
- in1: Default::default(),
- dx: 0f64,
- dy: 0f64,
- }
- }
-}
-
impl SetAttributes for FeOffset {
fn set_attributes(&mut self, attrs: &Attributes) -> ElementResult {
- self.in1 = self.base.parse_one_input(attrs)?;
+ self.params.in1 = self.base.parse_one_input(attrs)?;
for (attr, value) in attrs.iter() {
match attr.expanded() {
- expanded_name!("", "dx") => self.dx = attr.parse(value)?,
- expanded_name!("", "dy") => self.dy = attr.parse(value)?,
+ expanded_name!("", "dx") => self.params.dx = attr.parse(value)?,
+ expanded_name!("", "dy") => self.params.dy = attr.parse(value)?,
_ => (),
}
}
@@ -97,11 +83,7 @@ impl FilterEffect for FeOffset {
fn resolve(&self, _node: &Node) -> Result<(Primitive, PrimitiveParams), FilterError> {
Ok((
self.base.clone(),
- PrimitiveParams::Offset(Offset {
- in1: self.in1.clone(),
- dx: self.dx,
- dy: self.dy,
- }),
+ PrimitiveParams::Offset(self.params.clone()),
))
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]