OSDN Git Service

flip ok
[psychlops/silverlight.git] / dev3 / psychlops / core / graphic / shape.cs
index 9533e8e..2933260 100644 (file)
@@ -15,6 +15,8 @@ namespace Psychlops{
        public interface Shape : Figure\r
        {\r
                void draw(Color c);\r
+               Color fill { get; set; }\r
+               Stroke stroke { get; set; }\r
        }\r
        public static class ShapeExtention\r
        {\r
@@ -26,12 +28,18 @@ namespace Psychlops{
                */\r
        }\r
 \r
-       public struct Stroke\r
+       public partial struct Stroke\r
        {\r
-\r
+               public double thick;\r
+               public Color color;\r
+               public void set(Color c, double t)\r
+               {\r
+                       color = c;\r
+                       thick = t;\r
+               }\r
        }\r
 \r
-       public class Line : Shape\r
+       public partial class Line : Shape\r
        {\r
                public Point begin, end;\r
 \r
@@ -76,7 +84,7 @@ namespace Psychlops{
                }\r
                public void draw()\r
                {\r
-                       Main.drawable.line(this, Color.white);\r
+                       Main.drawable.line(this);\r
                }\r
 \r
                public double left { get { return begin.x < end.x ? begin.x : end.x; } }\r
@@ -86,19 +94,12 @@ namespace Psychlops{
                public double width { get { return Math.abs(begin.x - end.x); } }\r
                public double height { get { return Math.abs(begin.y - end.y); } }\r
 \r
-               public static implicit operator System.Windows.Shapes.Line(Line d)\r
-               {\r
-                       var tmp = new System.Windows.Shapes.Line();\r
-                       tmp.X1 = d.begin.x;\r
-                       tmp.Y1 = d.begin.y;\r
-                       tmp.X2 = d.end.x;\r
-                       tmp.Y2 = d.end.y;\r
-                       return tmp;\r
-               }\r
+               public Color fill { get; set; }\r
+               public Stroke stroke { get; set; }\r
        }\r
 \r
 \r
-       public class Rectangle : Shape\r
+       public partial class Rectangle : Shape\r
        {\r
                public Point v1, v2;\r
 \r
@@ -140,7 +141,7 @@ namespace Psychlops{
                }\r
                public void draw()\r
                {\r
-                       Main.drawable.rect(this, Color.white);\r
+                       Main.drawable.rect(this);\r
                }\r
 \r
                public double left   { get { return v1.x; } }\r
@@ -151,15 +152,13 @@ namespace Psychlops{
                public double height { get { return Math.abs(v1.y - v2.y); } }\r
 \r
 \r
-               public static implicit operator System.Windows.Rect(Rectangle d)\r
-               {\r
-                       return new System.Windows.Rect(d.v1.x, d.v1.y, d.v2.x, d.v2.y);\r
-               }\r
+               public Color fill { get; set; }\r
+               public Stroke stroke { get; set; }\r
 \r
        }\r
 \r
 \r
-       public class Ellipse : Shape\r
+       public partial class Ellipse : Shape\r
        {\r
                public Point datum;\r
                public double xdiameter, ydiameter;\r
@@ -196,7 +195,7 @@ namespace Psychlops{
                }\r
                public void draw()\r
                {\r
-                       Main.drawable.ellipse(this, Color.white);\r
+                       Main.drawable.ellipse(this);\r
                }\r
 \r
                public double left { get { return datum.x - xdiameter/2.0; } }\r
@@ -205,10 +204,13 @@ namespace Psychlops{
                public double bottom { get { return datum.y + ydiameter / 2.0; } }\r
                public double width { get { return Math.abs(xdiameter); } }\r
                public double height { get { return Math.abs(ydiameter); } }\r
+\r
+               public Color fill { get; set; }\r
+               public Stroke stroke { get; set; }\r
        }\r
 \r
 \r
-       public class Polygon : Shape\r
+       public partial class Polygon : Shape\r
        {\r
                public Point datum;\r
                public System.Collections.Generic.List<Point> vertices;\r
@@ -257,8 +259,11 @@ namespace Psychlops{
                }\r
                public void draw()\r
                {\r
-                       Main.drawable.polygon(this, Color.white);\r
+                       Main.drawable.polygon(this);\r
                }\r
+\r
+               public Color fill { get; set; }\r
+               public Stroke stroke { get; set; }\r
        }\r
 \r
 }
\ No newline at end of file