[librsvg: 4/45] LinearGradient: resolved version of LinearGradientData



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]