[librsvg: 4/45] LinearGradient: resolved version of LinearGradientData
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 4/45] LinearGradient: resolved version of LinearGradientData
- Date: Tue, 1 Oct 2019 15:07:16 +0000 (UTC)
commit 4167d2576f0a3abeba9cb2e4b60f3c3631b49060
Author: Federico Mena Quintero <federico gnome org>
Date: Thu Sep 26 17:26:07 2019 -0500
LinearGradient: resolved version of LinearGradientData
rsvg_internals/src/gradient.rs | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
---
diff --git a/rsvg_internals/src/gradient.rs b/rsvg_internals/src/gradient.rs
index 6d065799..fdab0532 100644
--- a/rsvg_internals/src/gradient.rs
+++ b/rsvg_internals/src/gradient.rs
@@ -285,6 +285,13 @@ pub struct LinearGradientData {
y2: Option<LengthVertical>,
}
+pub struct LinearGradient {
+ x1: LengthHorizontal,
+ y1: LengthVertical,
+ x2: LengthHorizontal,
+ y2: LengthVertical,
+}
+
impl Resolve for LinearGradientData {
fn is_resolved(&self) -> bool {
self.x1.is_some() && self.y1.is_some() && self.x2.is_some() && self.y2.is_some()
@@ -321,6 +328,19 @@ impl LinearGradientData {
Ok(())
}
+ fn to_resolved(self) -> LinearGradient {
+ assert!(self.is_resolved());
+
+ let LinearGradientData { x1, y1, x2, y2 } = self;
+
+ LinearGradient {
+ x1: x1.unwrap(),
+ y1: y1.unwrap(),
+ x2: x2.unwrap(),
+ y2: y2.unwrap(),
+ }
+ }
+
fn to_cairo_gradient(
&self,
values: &ComputedValues,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]