2 using System.Windows;
\r
8 public partial struct Point
\r
10 public double x, y, z;
\r
11 public Point(double dx, double dy, double dz)
\r
17 public Point(double dx, double dy)
\r
23 public Point set(double dx, double dy, double dz)
\r
30 public Point set(double dx, double dy)
\r
38 public static Point operator +(Point lhs, Point rhs)
\r
40 return new Point(lhs.x + rhs.x, lhs.y + rhs.y, lhs.z + rhs.z);
\r
42 public static Point operator -(Point lhs, Point rhs)
\r
44 return new Point(lhs.x - rhs.x, lhs.y - rhs.y, lhs.z - rhs.z);
\r
49 public partial struct Color
\r
51 public double r, g, b, a;
\r
52 public Color(double lum)
\r
57 public Color(double red, double green, double blue)
\r
64 public Color(double red, double green, double blue, double alpha)
\r
71 public void set(double lum)
\r
76 public void set(double red, double green, double blue)
\r
83 public void set(double red, double green, double blue, double alpha)
\r
91 public static readonly Color
\r
92 black = new Color(0, 0, 0, 1),
\r
93 red = new Color(1, 0, 0, 1),
\r
94 green = new Color(0, 1, 0, 1),
\r
95 blue = new Color(0, 0, 1, 1),
\r
96 yellow = new Color(1, 1, 0, 1),
\r
97 magenta = new Color(1, 0, 1, 1),
\r
98 cyan = new Color(0, 1, 1, 1),
\r
99 white = new Color(1, 1, 1, 1),
\r
100 gray = new Color(.5, .5, .5, 1),
\r
101 null_color = new Color(0, 0, 0, 0);
\r
106 public interface Drawable
\r
109 void clear(Color col);
\r
110 void pix(int x, int y, Color col);
\r
111 void line(Line drawee);
\r
112 void rect(Rectangle drawee);
\r
113 void ellipse(Ellipse drawee);
\r
114 void polygon(Polygon drawee);
\r
115 void letters(Letters drawee);
\r
116 void image(Image drawee);
\r
117 void msg(string s, double x, double y, Color c);
\r
122 public interface Figure
\r
124 Figure shift(Point p);
\r
125 Figure centering(Point p);
\r
128 public static class FigureExtention
\r
130 public static Figure shift(this Figure target, double x, double y)
\r
132 return target.shift(new Point(x, y));
\r
134 public static Figure centering(this Figure target)
\r
136 return target.centering(Main.drawable.getCenter());
\r
138 public static Figure centering(this Figure target, double x, double y)
\r
140 return target.centering(new Point(x, y));
\r
146 public interface PrimitiveFigure : Figure
\r
148 UIElement toNative();
\r