aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/Point.cs
diff options
context:
space:
mode:
authorjpbruyere <jp_bruyere@hotmail.com>2013-11-16 09:16:43 +0100
committerjpbruyere <jp_bruyere@hotmail.com>2013-11-16 09:16:43 +0100
commitdab0f2befeda33bd1c8e59ec41a2e1768712086b (patch)
treee1dc606a3d8eeccd221e8adc03edc8639c3daa17 /src/Point.cs
first commit
Diffstat (limited to 'src/Point.cs')
-rw-r--r--src/Point.cs124
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();
+ }
+ }
+
+}