Don't tag some CAS types as obsolete.
[mono.git] / mcs / class / System.Drawing / System.Drawing / StrokeFactory.jvm.cs
old mode 100755 (executable)
new mode 100644 (file)
index 6882dc6..8878ac7
@@ -10,15 +10,19 @@ namespace System.Drawing {
                interface StrokeCreator {\r
                        awt.Stroke Create(float width, int cap, int join, float miterlimit,\r
                                float[] dash, float dash_phase, geom.AffineTransform penTransform,\r
-                               geom.AffineTransform outputTransform, bool fitPen);\r
+                               geom.AffineTransform outputTransform, PenFit penFit);\r
                }\r
 \r
                sealed class AdvancedCreator : StrokeCreator {\r
                        #region StrokeCreator Members\r
 \r
                        public awt.Stroke Create(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase, geom.AffineTransform penTransform,\r
-                               geom.AffineTransform outputTransform, bool fitPen) {\r
-                               return new System.Drawing.AdvancedStroke(width, cap, join, miterlimit, dash, dash_phase, penTransform, outputTransform, fitPen);\r
+                               geom.AffineTransform outputTransform, PenFit penFit) {\r
+                               if ((penFit == PenFit.NotThin) &&\r
+                                       (outputTransform == null || outputTransform.isIdentity()) &&\r
+                                       (penTransform == null || penTransform.isIdentity()))\r
+                                       return new awt.BasicStroke(width, cap, join, miterlimit, dash, dash_phase);\r
+                               return new System.Drawing.AdvancedStroke(width, cap, join, miterlimit, dash, dash_phase, penTransform, outputTransform, penFit);\r
                        }\r
 \r
                        #endregion\r
@@ -28,7 +32,7 @@ namespace System.Drawing {
                        #region StrokeCreator Members\r
 \r
                        public awt.Stroke Create(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase, geom.AffineTransform penTransform,\r
-                               geom.AffineTransform outputTransform, bool fitPen) {\r
+                               geom.AffineTransform outputTransform, PenFit penFit) {\r
                                return new awt.BasicStroke(width, cap, join, miterlimit, dash, dash_phase);\r
                        }\r
 \r
@@ -55,9 +59,9 @@ namespace System.Drawing {
 \r
                static public awt.Stroke CreateStroke(float width, int cap, int join, float miterlimit,\r
                        float[] dash, float dash_phase, geom.AffineTransform penTransform,\r
-                       geom.AffineTransform outputTransform, bool fitPen) {\r
+                       geom.AffineTransform outputTransform, PenFit penFit) {\r
 \r
-                       return Creator.Create(width, cap, join, miterlimit, dash, dash_phase, penTransform, outputTransform, fitPen);\r
+                       return Creator.Create(width, cap, join, miterlimit, dash, dash_phase, penTransform, outputTransform, penFit);\r
                }\r
        }\r
 }
\ No newline at end of file