Parcourir la source

Implementing LinearGradientBrush.cs public methods.

svn path=/trunk/mcs/; revision=24452
Ravindra il y a 22 ans
Parent
commit
bb8fe26a6e

+ 3 - 0
mcs/class/System.Drawing/System.Drawing.Drawing2D/ChangeLog

@@ -1,3 +1,6 @@
+2004-03-23  Ravindra  <[email protected]>
+	* LinearGradientBrush.cs: Implemented public methods.
+
 2004-03-22  Ravindra  <[email protected]>
 	* LinearGradientBrush.cs: Implemented constructors and properties.
 	* PathGradientBrush.cs: Fixed a constructor and few coding

+ 62 - 17
mcs/class/System.Drawing/System.Drawing.Drawing2D/LinearGradientBrush.cs

@@ -171,41 +171,86 @@ namespace System.Drawing.Drawing2D
 
 		// Public Methods
 
-		[MonoTODO()]
-		public override object Clone ()
-		{
-			throw new NotImplementedException ();
-		}
-
-		[MonoTODO()]
 		public void MultiplyTransform (Matrix matrix)
 		{
-			throw new NotImplementedException ();
+			MultiplyTransform (matrix, MatrixOrder.Prepend);
 		}
 
-		[MonoTODO()]
 		public void MultiplyTransform (Matrix matrix, MatrixOrder order)
 		{
-			throw new NotImplementedException ();
+			Status status = GDIPlus.GdipMultiplyLineTransform (nativeObject, matrix.nativeMatrix, order);
+			GDIPlus.CheckStatus (status);
 		}
 
-		[MonoTODO()]
 		public void ResetTransform ()
 		{
-			throw new NotImplementedException ();
+			Status status = GDIPlus.GdipResetLineTransform (nativeObject);
+			GDIPlus.CheckStatus (status);
+		}
+
+		public void RotateTransform (float angle)
+		{
+			RotateTransform (angle, MatrixOrder.Prepend);
 		}
 
-		[MonoTODO()]
 		public void RotateTransform (float angle, MatrixOrder order)
 		{
-			throw new NotImplementedException ();
+			Status status = GDIPlus.GdipRotateLineTransform (nativeObject, angle, order);
+			GDIPlus.CheckStatus (status);
 		}
 
-		[MonoTODO()]
-		public void RotateTransform (float angle)
+		public void ScaleTransform (float sx, float sy)
+		{
+			ScaleTransform (sx, sy, MatrixOrder.Prepend);
+		}
+
+		public void ScaleTransform (float sx, float sy, MatrixOrder order)
+		{
+			Status status = GDIPlus.GdipScaleLineTransform (nativeObject, sx, sy, order);
+			GDIPlus.CheckStatus (status);
+		}
+
+		public void SetBlendTriangularShape (float focus)
+		{
+			SetBlendTriangularShape (focus, 1.0F);
+		}
+
+		public void SetBlendTriangularShape (float focus, float scale)
+		{
+			Status status = GDIPlus.GdipSetLineLinearBlend (nativeObject, focus, scale);
+			GDIPlus.CheckStatus (status);
+		}
+
+		public void SetSigmaBellShape (float focus)
 		{
-			throw new NotImplementedException ();
+			SetSigmaBellShape (focus, 1.0F);
 		}
 
+		public void SetSigmaBellShape (float focus, float scale)
+		{
+			Status status = GDIPlus.GdipSetLineSigmaBlend (nativeObject, focus, scale);
+			GDIPlus.CheckStatus (status);
+		}
+
+		public void TranslateTransform (float dx, float dy)
+		{
+			TranslateTransform (dx, dy, MatrixOrder.Prepend);
+		}
+
+		public void TranslateTransform (float dx, float dy, MatrixOrder order)
+		{
+			Status status = GDIPlus.GdipTranslateLineTransform (nativeObject, dx, dy, order);
+			GDIPlus.CheckStatus (status);
+		}
+
+		public override object Clone ()
+		{
+			IntPtr clonePtr;
+			Status status = GDIPlus.GdipCloneBrush (nativeObject, out clonePtr);
+			GDIPlus.CheckStatus (status);
+
+			LinearGradientBrush clone = new LinearGradientBrush (clonePtr);
+			return clone;
+		}
 	}
 }