diff options
| author | jpbruyere <jp_bruyere@hotmail.com> | 2013-11-16 09:16:43 +0100 |
|---|---|---|
| committer | jpbruyere <jp_bruyere@hotmail.com> | 2013-11-16 09:16:43 +0100 |
| commit | dab0f2befeda33bd1c8e59ec41a2e1768712086b (patch) | |
| tree | e1dc606a3d8eeccd221e8adc03edc8639c3daa17 /src/Point.cs | |
first commit
Diffstat (limited to 'src/Point.cs')
| -rw-r--r-- | src/Point.cs | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/src/Point.cs b/src/Point.cs new file mode 100644 index 00000000..7f0fd865 --- /dev/null +++ b/src/Point.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace go +{ + public struct Point + { + int _x; + int _y; + + public int X + { + get { return _x; } + set { _x = value; } + } + public int Y + { + get { return _y; } + set { _y = value; } + } + public Point(int x, int y) + { + _x = x; + _y = y; + } + + public static implicit operator Cairo.Point(Point p) + { + return new Cairo.Point(p.X, p.Y); + } + public static implicit operator Cairo.PointD(Point p) + { + return new Cairo.PointD(p.X, p.Y); + } + public static implicit operator System.Drawing.Point(Point p) + { + return new System.Drawing.Point(p.X, p.Y); + } + public static implicit operator Point(System.Drawing.Point p) + { + return new Point(p.X, p.Y); + } + public static implicit operator Point(int i) + { + return new Point(i, i); + } + + public static Point operator +(Point p1, Point p2) + { + return new Point(p1.X + p2.X, p1.Y + p2.Y); + } + public static Point operator -(Point p1, Point p2) + { + return new Point(p1.X - p2.X, p1.Y - p2.Y); + } + public static bool operator >=(Point p1, Point p2) + { + return p1.X >= p2.X && p1.Y >= p2.Y ? true : false; + } + public static bool operator <=(Point p1, Point p2) + { + return p1.X <= p2.X && p1.Y <= p2.Y ? true : false; + } + public static bool operator ==(Point s, int i) + { + if (s.X == i && s.Y == i) + return true; + else + return false; + } + public static bool operator !=(Point s, int i) + { + if (s.X == i && s.Y == i) + return false; + else + return true; + } + public static bool operator >(Point s, int i) + { + if (s.X > i && s.Y > i) + return true; + else + return false; + } + public static bool operator <(Point s, int i) + { + if (s.X < i && s.Y < i) + return true; + else + return false; + } + public static bool operator ==(Point s1, Point s2) + { + if (s1.X == s2.X && s1.Y == s2.Y) + return true; + else + return false; + } + public static bool operator !=(Point s1, Point s2) + { + if (s1.X == s2.X && s1.Y == s2.Y) + return false; + else + return true; + } + + public override string ToString() + { + return string.Format("({0},{1})", X, Y); + } + + public override bool Equals(object obj) + { + return base.Equals(obj); + } + public override int GetHashCode() + { + return base.GetHashCode(); + } + } + +} |