Index: Include/Classes/System/Drawing/Rectangle.ab
===================================================================
--- Include/Classes/System/Drawing/Rectangle.ab	(revision 27)
+++ Include/Classes/System/Drawing/Rectangle.ab	(revision 28)
@@ -27,7 +27,7 @@
 	Sub Rectangle(location As Point, size As Size)
 		x = location.X
-		y = lccation.Y
+		y = location.Y
 		width = size.Height
-		hegiht = size.Height
+		height = size.Height
 	End Sub
 
@@ -35,5 +35,5 @@
 		x = rc.x
 		y = rc.y
-		widht = rc.width
+		width = rc.width
 		height = rc.height
 	End Sub
@@ -107,8 +107,8 @@
 
 	Function IsEmpty() As BOOL
-		If Width <= Single_EPSILON Or Height <= Single_EPSILON Then
-			IsEmptyArea = _System_TRUE
-		Else
-			IsEmptyArea = _System_FALSE
+		If Width <= 0 Or Height <= 0 Then
+			IsEmpty = _System_TRUE
+		Else
+			IsEmpty = _System_FALSE
 		End If
 	End Function
@@ -145,6 +145,6 @@
 
 	Static Function FromLTRB(l As Single, t As Single, r As Single, b As Single) As Rectangle
-		Dim r As Rectangle(left, top, right - left, bottom - top)
-		return r
+		Dim rect As Rectangle(l, t, r - l, r - b)
+		return rect
 	End Function
 
@@ -162,5 +162,5 @@
 
 	Function Contains(ByRef rc As Rectangle) As BOOL
-		If X <= rc.X && rc.Right <= Right && Y <= rc.Y && rc.Bottom <= Bottom Then
+		If X <= rc.X And rc.Right <= Right And Y <= rc.Y And rc.Bottom <= Bottom Then
 			ContainsRCF = _System_TRUE
 		Else
@@ -172,14 +172,10 @@
 		X -= dx
 		Y -= dy
-		Width = dx + dx
-		Height = dy + dy
+		Width += dx + dx
+		Height += dy + dy
 	End Sub
 
 	Sub Inflate(sz As Size)
 		Inflate(sz.Width, sz.Height)
-	End Sub
-
-	Sub Inflate(pt As Point)
-		Inflate(pt.X, pt.Y)
 	End Sub
 
@@ -189,7 +185,7 @@
 	End Function
 
-	Function Intersect(ByRef rect As Rectangle) As BOOL
-		Intersect = Intersect(This, This, rect)
-	End Function
+	Sub Intersect(ByRef rect As Rectangle)
+		This = Rectangle.Intersect(This, rect)
+	End Sub
 
 	Static Function Intersect(ByRef a As Rectangle, ByRef b As Rectangle) As Rectangle
@@ -199,5 +195,5 @@
 		left = Math.Min(a.Left, b.Left)
 		top = Math.Min(a.Top, b.Top)
-		Return FromLTRB(left, top, right, bottom)
+		Return Rectangle.FromLTRB(left, top, right, bottom)
 	End Function
 
@@ -215,8 +211,8 @@
 	Static Function Union(ByRef a As Rectangle, ByRef b As Rectangle) As Rectangle
 		Dim right As Single, bottom As Single, left As Single, top As Single
-		right = Math.Max(a.GetRight(), b.GetRight())
-		bottom = Math.Max(a.GetBottom(), b.GetBottom())
-		left = Math.Max(a.GetLeft(), b.GetLeft())
-		top = Math.Max(a.GetTop(), b.GetTop())
+		right = Math.Max(a.Right(), b.Right())
+		bottom = Math.Max(a.Bottom(), b.Bottom())
+		left = Math.Max(a.Left(), b.Left())
+		top = Math.Max(a.Top(), b.Top())
 		Return FromLTRB(left, top, right, bottom)
 	End Function
