Added status checks using CheckStatus(Status) method.
[mono.git] / mcs / class / System.Drawing / System.Drawing.Drawing2D / Matrix.cs
index e46db6426b9fb992da69210591c47c617dd60c5a..ea580d910cb556619913cf777d14301f56ecf461 100644 (file)
@@ -1,12 +1,14 @@
 //\r
 // System.Drawing.Drawing2D.Matrix.cs\r
 //\r
-// Author:\r
+// Authors:\r
 //   Stefan Maierhofer <sm@cg.tuwien.ac.at>\r
 //   Dennis Hayes (dennish@Raytek.com)\r
 //   Duncan Mak (duncan@ximian.com)\r
+//   Ravindra (rkumar@novell.com)
 //\r
-// (C) Ximian, Inc.  http://www.ximian.com\r
+// (C) Ximian, Inc.  http://www.ximian.com
+// (C) Novell, Inc.  http://www.novell.com\r
 //\r
 \r
 using System;\r
@@ -27,22 +29,26 @@ namespace System.Drawing.Drawing2D
                 \r
                 public Matrix ()\r
                 {\r
-                        Status s = GDIPlus.GdipCreateMatrix (out nativeMatrix);\r
+                       Status status = GDIPlus.GdipCreateMatrix (out nativeMatrix);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public Matrix (Rectangle rect , Point[] plgpts)\r
                 {\r
-                        GDIPlus.GdipCreateMatrix3I (rect, plgpts, out nativeMatrix);\r
+                       Status status = GDIPlus.GdipCreateMatrix3I (rect, plgpts, out nativeMatrix);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public Matrix (RectangleF rect , PointF[] pa)\r
                 {\r
-                        GDIPlus.GdipCreateMatrix3 (rect, pa, out nativeMatrix);\r
+                       Status status = GDIPlus.GdipCreateMatrix3 (rect, pa, out nativeMatrix);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
 \r
                 public Matrix (float m11, float m12, float m21, float m22, float dx, float dy)\r
                 {\r
-                        GDIPlus.GdipCreateMatrix2 (m11, m12, m21, m22, dx, dy, out nativeMatrix);\r
+                       Status status = GDIPlus.GdipCreateMatrix2 (m11, m12, m21, m22, dx, dy, out nativeMatrix);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 // properties\r
@@ -51,7 +57,8 @@ namespace System.Drawing.Drawing2D
                                 IntPtr tmp = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (float)) * 6);\r
                                 float [] retval = new float [6];\r
 \r
-                                Status s = GDIPlus.GdipGetMatrixElements (nativeMatrix, tmp);\r
+                               Status status = GDIPlus.GdipGetMatrixElements (nativeMatrix, tmp);\r
+                               GDIPlus.CheckStatus (status);
 \r
                                 Marshal.Copy (tmp, retval, 0, 6);\r
 \r
@@ -63,8 +70,8 @@ namespace System.Drawing.Drawing2D
                 public bool IsIdentity {\r
                         get {\r
                                 bool retval;\r
-                                GDIPlus.GdipIsMatrixIdentity (nativeMatrix, out retval);\r
-\r
+                               Status status = GDIPlus.GdipIsMatrixIdentity (nativeMatrix, out retval);\r
+                               GDIPlus.CheckStatus (status);\r
                                 return retval;\r
                         }\r
                 }\r
@@ -72,8 +79,8 @@ namespace System.Drawing.Drawing2D
                 public bool IsInvertible {\r
                         get {\r
                                 bool retval;\r
-                                GDIPlus.GdipIsMatrixInvertible (nativeMatrix, out retval);\r
-\r
+                               Status status = GDIPlus.GdipIsMatrixInvertible (nativeMatrix, out retval);\r
+                               GDIPlus.CheckStatus (status);\r
                                 return retval;\r
                         }\r
                 }\r
@@ -93,14 +100,16 @@ namespace System.Drawing.Drawing2D
                 public Matrix Clone()\r
                 {\r
                         IntPtr retval;\r
-                        Status s = GDIPlus.GdipCloneMatrix (nativeMatrix, out retval);\r
+                        Status status = GDIPlus.GdipCloneMatrix (nativeMatrix, out retval);
+                       GDIPlus.CheckStatus (status);\r
                         return new Matrix (retval);\r
                 }\r
                 \r
         \r
                 public void Dispose ()\r
                 {\r
-                        GDIPlus.GdipDeleteMatrix (nativeMatrix); \r
+                       Status status = GDIPlus.GdipDeleteMatrix (nativeMatrix);
+                       GDIPlus.CheckStatus (status);\r
                 }                       \r
         \r
                 public override bool Equals (object obj)\r
@@ -109,8 +118,8 @@ namespace System.Drawing.Drawing2D
 \r
                         if (m != null) {\r
                                 bool retval;\r
-                                GDIPlus.GdipIsMatrixEqual (nativeMatrix, m.nativeMatrix, out retval);\r
-\r
+                               Status status = GDIPlus.GdipIsMatrixEqual (nativeMatrix, m.nativeMatrix, out retval);
+                               GDIPlus.CheckStatus (status);\r
                                 return retval;\r
 \r
                         } else\r
@@ -129,7 +138,8 @@ namespace System.Drawing.Drawing2D
         \r
                 public void Invert ()\r
                 {\r
-                        GDIPlus.GdipInvertMatrix (nativeMatrix);\r
+                       Status status = GDIPlus.GdipInvertMatrix (nativeMatrix);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void Multiply (Matrix matrix)\r
@@ -139,12 +149,14 @@ namespace System.Drawing.Drawing2D
         \r
                 public void Multiply (Matrix matrix, MatrixOrder order)\r
                 {\r
-                        GDIPlus.GdipMultiplyMatrix (nativeMatrix, matrix.nativeMatrix, order);\r
+                       Status status = GDIPlus.GdipMultiplyMatrix (nativeMatrix, matrix.nativeMatrix, order);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void Reset()\r
                 {\r
-                        GDIPlus.GdipSetMatrixElements (nativeMatrix, 1, 0, 0, 1, 0, 0);\r
+                       Status status = GDIPlus.GdipSetMatrixElements (nativeMatrix, 1, 0, 0, 1, 0, 0);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void Rotate (float angle)\r
@@ -154,7 +166,8 @@ namespace System.Drawing.Drawing2D
         \r
                 public void Rotate (float angle, MatrixOrder order)\r
                 {\r
-                        GDIPlus.GdipRotateMatrix (nativeMatrix, angle, order);\r
+                       Status status = GDIPlus.GdipRotateMatrix (nativeMatrix, angle, order);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void RotateAt (float angle, PointF point)\r
@@ -169,24 +182,27 @@ namespace System.Drawing.Drawing2D
                         float sin = (float) Math.Sin (angle);\r
                         float e4 = -point.X * cos + point.Y * sin + point.X;\r
                         float e5 = -point.X * sin - point.Y * cos + point.Y;\r
-                        float[] m = this.Elements;\r
+                        float[] m = this.Elements;
+\r
+                       Status status;
 \r
                         if (order == MatrixOrder.Prepend)\r
-                                GDIPlus.GdipSetMatrixElements (nativeMatrix,\r
-                                                cos * m[0] + sin * m[2],\r
-                                                cos * m[1] + sin * m[3],\r
-                                                -sin * m[0] + cos * m[2],\r
-                                                -sin * m[1] + cos * m[3],\r
-                                                e4 * m[0] + e5 * m[2] + m[4],\r
-                                                e4 * m[1] + e5 * m[3] + m[5]);\r
+                               status = GDIPlus.GdipSetMatrixElements (nativeMatrix,\r
+                                                               cos * m[0] + sin * m[2],\r
+                                                               cos * m[1] + sin * m[3],\r
+                                                               -sin * m[0] + cos * m[2],\r
+                                                               -sin * m[1] + cos * m[3],\r
+                                                               e4 * m[0] + e5 * m[2] + m[4],\r
+                                                               e4 * m[1] + e5 * m[3] + m[5]);\r
                         else\r
-                                GDIPlus.GdipSetMatrixElements (nativeMatrix,\r
-                                                m[0] * cos + m[1] * -sin,\r
-                                                m[0] * sin + m[1] * cos,\r
-                                                m[2] * cos + m[3] * -sin,\r
-                                                m[2] * sin + m[3] * cos,\r
-                                                m[4] * cos + m[5] * -sin + e4,\r
-                                                m[4] * sin + m[5] * cos + e5);\r
+                               status = GDIPlus.GdipSetMatrixElements (nativeMatrix,\r
+                                                               m[0] * cos + m[1] * -sin,\r
+                                                               m[0] * sin + m[1] * cos,\r
+                                                               m[2] * cos + m[3] * -sin,\r
+                                                               m[2] * sin + m[3] * cos,\r
+                                                               m[4] * cos + m[5] * -sin + e4,\r
+                                                               m[4] * sin + m[5] * cos + e5);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void Scale (float scaleX, float scaleY)\r
@@ -196,7 +212,8 @@ namespace System.Drawing.Drawing2D
         \r
                 public void Scale (float scaleX, float scaleY, MatrixOrder order)\r
                 {\r
-                        GDIPlus.GdipScaleMatrix (nativeMatrix, scaleX, scaleY, order);\r
+                       Status status = GDIPlus.GdipScaleMatrix (nativeMatrix, scaleX, scaleY, order);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void Shear (float shearX, float shearY)\r
@@ -206,27 +223,32 @@ namespace System.Drawing.Drawing2D
         \r
                 public void Shear (float shearX, float shearY, MatrixOrder order)\r
                 {\r
-                        GDIPlus.GdipShearMatrix (nativeMatrix, shearX, shearY, order);\r
+                       Status status = GDIPlus.GdipShearMatrix (nativeMatrix, shearX, shearY, order);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void TransformPoints (Point[] pts)\r
                 {\r
-                        GDIPlus.GdipTransformMatrixPointsI (nativeMatrix, pts, pts.Length);\r
+                       Status status = GDIPlus.GdipTransformMatrixPointsI (nativeMatrix, pts, pts.Length);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void TransformPoints (PointF[] pts)\r
                 {\r
-                        GDIPlus.GdipTransformMatrixPoints (nativeMatrix, pts, pts.Length);\r
+                       Status status = GDIPlus.GdipTransformMatrixPoints (nativeMatrix, pts, pts.Length);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void TransformVectors (Point[] pts)\r
                 {\r
-                        GDIPlus.GdipVectorTransformMatrixPointsI (nativeMatrix, pts, pts.Length);\r
+                       Status status = GDIPlus.GdipVectorTransformMatrixPointsI (nativeMatrix, pts, pts.Length);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void TransformVectors (PointF[] pts)\r
                 {\r
-                        GDIPlus.GdipVectorTransformMatrixPoints (nativeMatrix, pts, pts.Length);                        \r
+                       Status status = GDIPlus.GdipVectorTransformMatrixPoints (nativeMatrix, pts, pts.Length);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void Translate (float offsetX, float offsetY)\r
@@ -236,7 +258,8 @@ namespace System.Drawing.Drawing2D
         \r
                 public void Translate (float offsetX, float offsetY, MatrixOrder order)\r
                 {\r
-                        GDIPlus.GdipTranslateMatrix (nativeMatrix, offsetX, offsetY, order);\r
+                       Status status = GDIPlus.GdipTranslateMatrix (nativeMatrix, offsetX, offsetY, order);
+                       GDIPlus.CheckStatus (status);\r
                 }\r
         \r
                 public void VectorTransformPoints (Point[] pts)\r