Merge pull request #4723 from lambdageek/bug-54485
[mono.git] / mcs / class / Mono.Cairo / Mono.Cairo / LinearGradient.cs
index 0d551b0598787243c8a740d4aeabce5eaa48de0b..85fdea84a2c53c4252576db7c424c7532b6d3d54 100644 (file)
@@ -1,4 +1,4 @@
-//                                                   
+//
 // Mono.Cairo.LinearGradient.cs
 //
 // Author: Jordi Mas (jordi@ximian.com)
 // distribute, sublicense, and/or sell copies of the Software, and to
 // permit persons to whom the Software is furnished to do so, subject to
 // the following conditions:
-// 
+//
 // The above copyright notice and this permission notice shall be
 // included in all copies or substantial portions of the Software.
-// 
+//
 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 using System;
 
 namespace Cairo {
-   
+
        public class LinearGradient : Gradient
        {
+               internal LinearGradient (IntPtr handle, bool owned) : base (handle, owned)
+               {
+               }
+
                public LinearGradient (double x0, double y0, double x1, double y1)
+                       : base (NativeMethods.cairo_pattern_create_linear (x0, y0, x1, y1), true)
                {
-                       pattern = CairoAPI.cairo_pattern_create_linear (x0, y0, x1, y1);
+               }
+
+               public PointD[] LinearPoints {
+                       get {
+                               double x0, y0, x1, y1;
+                               PointD[] points = new PointD [2];
+
+                               NativeMethods.cairo_pattern_get_linear_points (Handle, out x0, out y0, out x1, out y1);
+
+                               points[0] = new PointD (x0, y0);
+                               points[1] = new PointD (x1, y1);
+                               return points;
+                       }
                }
        }
 }