[librsvg: 26/43] Convert StitchTiles, NoiseType to CssParseError
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 26/43] Convert StitchTiles, NoiseType to CssParseError
- Date: Sat, 21 Dec 2019 02:31:40 +0000 (UTC)
commit 09d082160c497b0ece1be8f35f71b58e6fd0d025
Author: Federico Mena Quintero <federico gnome org>
Date: Fri Dec 20 18:08:30 2019 -0600
Convert StitchTiles, NoiseType to CssParseError
rsvg_internals/src/filters/turbulence.rs | 43 +++++++++++++++-----------------
1 file changed, 20 insertions(+), 23 deletions(-)
---
diff --git a/rsvg_internals/src/filters/turbulence.rs b/rsvg_internals/src/filters/turbulence.rs
index c9a9b403..c81bc97b 100644
--- a/rsvg_internals/src/filters/turbulence.rs
+++ b/rsvg_internals/src/filters/turbulence.rs
@@ -5,7 +5,7 @@ use markup5ever::{expanded_name, local_name, namespace_url, ns};
use crate::drawing_ctx::DrawingCtx;
use crate::error::*;
use crate::node::{CascadedValues, NodeResult, NodeTrait, RsvgNode};
-use crate::parsers::{NumberOptionalNumber, Parse, ParseValue, ParseValueToParseError};
+use crate::parsers::{NumberOptionalNumber, ParseToParseError, ParseValueToParseError};
use crate::property_bag::PropertyBag;
use crate::surface_utils::{
shared_surface::{SharedImageSurface, SurfaceType},
@@ -73,7 +73,7 @@ impl NodeTrait for FeTurbulence {
} else {
Err(ValueErrorKind::value_error("values can't be negative"))
}
- }
+ },
)?;
self.base_frequency = (x, y);
@@ -83,18 +83,17 @@ impl NodeTrait for FeTurbulence {
}
// Yes, seed needs to be parsed as a number and then truncated.
expanded_name!(svg "seed") => {
- self.seed = f64::parse_str(value)
- .map(|x| {
- clamp(
- x.trunc(),
- f64::from(i32::min_value()),
- f64::from(i32::max_value()),
- ) as i32
- })
- .attribute(attr)?
+ let v: f64 = attr.parse_to_parse_error(value)?;
+ self.seed = clamp(
+ v.trunc(),
+ f64::from(i32::min_value()),
+ f64::from(i32::max_value()),
+ ) as i32;
}
- expanded_name!(svg "stitchTiles") => self.stitch_tiles = attr.parse(value)?,
- expanded_name!(svg "type") => self.type_ = attr.parse(value)?,
+ expanded_name!(svg "stitchTiles") => {
+ self.stitch_tiles = attr.parse_to_parse_error(value)?
+ }
+ expanded_name!(svg "type") => self.type_ = attr.parse_to_parse_error(value)?,
_ => (),
}
}
@@ -423,25 +422,23 @@ impl FilterEffect for FeTurbulence {
}
}
-impl Parse for StitchTiles {
- fn parse(parser: &mut Parser<'_, '_>) -> Result<Self, ValueErrorKind> {
- parse_identifiers!(
+impl ParseToParseError for StitchTiles {
+ fn parse_to_parse_error<'i>(parser: &mut Parser<'i, '_>) -> Result<Self, CssParseError<'i>> {
+ Ok(parse_identifiers!(
parser,
"stitch" => StitchTiles::Stitch,
"noStitch" => StitchTiles::NoStitch,
- )
- .map_err(|_| ValueErrorKind::parse_error("parse error"))
+ )?)
}
}
-impl Parse for NoiseType {
- fn parse(parser: &mut Parser<'_, '_>) -> Result<Self, ValueErrorKind> {
- parse_identifiers!(
+impl ParseToParseError for NoiseType {
+ fn parse_to_parse_error<'i>(parser: &mut Parser<'i, '_>) -> Result<Self, CssParseError<'i>> {
+ Ok(parse_identifiers!(
parser,
"fractalNoise" => NoiseType::FractalNoise,
"turbulence" => NoiseType::Turbulence,
- )
- .map_err(|_| ValueErrorKind::parse_error("parse error"))
+ )?)
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]