* gdipFunctions.cs: Added declaration for GdipCreateRegionRgnData.
* Region.cs: Implemented .ctor(RegionData)
svn path=/trunk/mcs/; revision=55753
+2006-01-18 Sebastien Pouliot <sebastien@ximian.com>
+
+ * gdipFunctions.cs: Added declaration for GdipCreateRegionRgnData.
+ * Region.cs: Implemented .ctor(RegionData)
+
2006-01-13 Miguel de Icaza <miguel@novell.com>
* Region.cs: Revert the Region.cs check in GetHrgn as it was used
{
if (rgnData == null)
throw new ArgumentNullException ("rgnData");
- //Status status = GDIPlus.GdipCreateRegionRgnData (rgnData.Data, out nativeRegion);
- //GDIPlus.CheckStatus (status);
- throw new NotImplementedException ();
+ // a NullReferenceException can be throw for rgnData.Data.Length (if rgnData.Data is null) just like MS
+ Status status = GDIPlus.GdipCreateRegionRgnData (rgnData.Data, rgnData.Data.Length, out nativeRegion);
+ GDIPlus.CheckStatus (status);
}
//
[DllImport("gdiplus.dll")]
static internal extern Status GdipCreateRegion (out IntPtr region);
+ [DllImport("gdiplus.dll")]
+ static internal extern Status GdipCreateRegionRgnData (byte[] data, int size, out IntPtr region);
+
[DllImport("gdiplus.dll")]
static internal extern Status GdipDeleteRegion (IntPtr region);