Index: Include/Classes/System/Drawing/Point.ab
===================================================================
--- Include/Classes/System/Drawing/Point.ab	(revision 26)
+++ Include/Classes/System/Drawing/Point.ab	(revision 27)
@@ -4,4 +4,5 @@
 #define __SYSTEM_DRAWING_POINT_AB__
 
+#include <Classes/System/Drawing/PointF.ab>
 #include <Classes/System/Drawing/Size.ab>
 #include <Classes/System/Drawing/SizeF.ab>
@@ -64,17 +65,17 @@
 
 	Function Operator + (pt As Point) As Point
-		Return Add(pt)
+		Return Add(This, pt)
 	End Function
 
 	Function Operator + (sz As Size) As Point
-		Return Add(sz)
+		Return Add(This, sz)
 	End Function
 
 	Function Operator - (pt As Point) As Point
-		Return Substract(pt)
+		Return Substract(This, pt)
 	End Function
 
 	Function Operator - (sz As Size) As Point
-		Return Substract(sz)
+		Return Substract(This, sz)
 	End Function
 
@@ -87,29 +88,31 @@
 	End Function
 
-	Function Add(pt As Point) As Point
+	Static Function Add(pt1 As Point, pt2 As Point) As Point
+		Dim ret As Point(pt1.x + pt2.x, pt1.y + pt2.y)
+		Return ret
+	End Function
+
+	Static Function Add(pt As Point, sz As Size) As Point
+		Dim ret As Point(pt.x + sz.Width, pt.y + sz.Height)
+		Return ret
+	End Function
+
+	Sub Offset(pt As Point) As Point
 		Dim ret As Point(x + pt.x, y + pt.y)
 		Return ret
 	End Function
 
-	Function Add(sz As Size) As Point
-		Dim ret As Point(x + sz.width, y + sz.height)
+	Sub Offset(dx As Long, dy As Long)
+		x += dx
+		y += dy
+	End Function
+
+	Static Function Substract(pt1 As Point, pt2 As Point) As Point
+		Dim ret As Point(pt1.x - pt2.x, pt1.y - pt2.y)
 		Return ret
 	End Function
 
-	Function Offset(pt As Point) As Point
-		Dim ret As Point(x + pt.x, y + pt.y)
-	End Function
-
-	Function Offset(dx As Long, dy As Long) As Point
-		Dim ret As Point(x + dx, y + dy)
-	End Function
-
-	Function Substract(pt As Point) As Point
-		Dim ret As Point(x - pt.x, y - pt.y)
-		Return ret
-	End Function
-
-	Function Substract(sz As Size) As Point
-		Dim ret As Point(x - sz.width, y - sz.height)
+	Static Function Substract(pt As Point, sz As Size) As Point
+		Dim ret As Point(pt.x - sz.Width, pt.y - sz.Height)
 		Return ret
 	End Function
Index: Include/Classes/System/Drawing/PointF.ab
===================================================================
--- Include/Classes/System/Drawing/PointF.ab	(revision 26)
+++ Include/Classes/System/Drawing/PointF.ab	(revision 27)
@@ -58,26 +58,31 @@
 	End Sub
 
+	Function Operator () As PointF
+		Dim ptf As PointF(X, Y)
+		Return ptf
+	End Function
+
 	Function Operator + (pt As PointF) As PointF
-		Return Add(pt)
+		Return Add(This, pt)
 	End Function
 
 	Function Operator + (sz As Size) As PointF
-		Return Add(sz)
+		Return Add(This, sz)
 	End Function
 
 	Function Operator + (sz As SizeF) As PointF
-		Return Add(sz)
+		Return Add(This, sz)
 	End Function
 
 	Function Operator - (pt As PointF) As PointF
-		Return Substract(pt)
+		Return Substract(This, pt)
 	End Function
 
 	Function Operator - (sz As Size) As PointF
-		Return Substract(sz)
+		Return Substract(This, sz)
 	End Function
 
 	Function Operator - (sz As SizeF) As PointF
-		Return Substract(sz)
+		Return Substract(This, sz)
 	End Function
 
@@ -90,31 +95,31 @@
 	End Function
 
-	Function Add(pt As PointF) As PointF
-		Dim ret As PointF(x + pt.x, y + pt.y)
+	Static Function Add(pt1 As PointF, pt2 As PointF) As PointF
+		Dim ret As PointF(pt1.x + pt2.x, pt1.y + pt2.y)
 		Return ret
 	End Function
 
-	Function Add(sz As Size) As PointF
-		Dim ret As PointF(x + sz.width, y + sz.height)
+	Static Function Add(pt As PointF, sz As Size) As PointF
+		Dim ret As PointF(pt.x + sz.Width, pt.y + sz.Height)
 		Return ret
 	End Function
 
-	Function Add(sz As SizeF) As PointF
-		Dim ret As PointF(x + sz.width, y + sz.height)
+	Static Function Add(pt As PointF, sz As SizeF) As PointF
+		Dim ret As PointF(pt.x + sz.Width, pt.y + sz.Height)
 		Return ret
 	End Function
 
-	Function Substract(pt As PointF) As PointF
-		Dim ret As PointF(x - pt.x, y - pt.y)
+	Static Function Substract((pt1 As PointF, pt2 As PointF) As PointF
+		Dim ret As PointF(pt1.x - pt2.x, pt1.y - pt2.y)
 		Return ret
 	End Function
 
-	Function Substract(sz As Size) As PointF
-		Dim ret As PointF(x - sz.width, y - sz.height)
+	Static Function Substract(pt As PointF, sz As Size) As PointF
+		Dim ret As PointF(pt.x - sz.Width, pt.y - sz.Height)
 		Return ret
 	End Function
 
-	Function Substract(sz As SizeF) As PointF
-		Dim ret As PointF(x - sz.width, y - sz.height)
+	Static Function Substract(pt As PointF, sz As SizeF) As PointF
+		Dim ret As PointF(pt.x - sz.Width, pt.y - sz.Height)
 		Return ret
 	End Function
