' Classes/System/Drawing/SizeF.ab #ifndef __SYSTEM_DRAWING_SIZEF_AB__ #define __SYSTEM_DRAWING_SIZEF_AB__ #include #include Class SizeF Public Sub SizeF() width = 0 height = 0 End Sub Sub SizeF(initWidth As Single, initHeight As Single) width = initWidth height = initHeight End Sub Sub SizeF(ByRef sz As SizeF) width = sz.width height = sz.height End Sub Function Width() As Single Return width End Function Sub Width(w As Single) width = w End Sub Function Height() As Single Return height End Function Sub Height(h As Single) height = h End Sub Function Operator + (sz As SizeF) As SizeF Dim ret As SizeF(width + sz.width, height + sz.height) Return ret End Function Function Operator - (sz As SizeF) As SizeF Dim ret As SizeF(width - sz.width, height - sz.height) Return ret End Function Function Operator == (sz As SizeF) As BOOL Return Equals(sz) End Function Function Operator <> (sz As SizeF) As BOOL Return Not Equals(sz) End Function Sub Operator = (ByRef sz As SizeF) width = sz.width height = sz.height End Sub Function Equals(sz As SizeF) As BOOL If width = sz.width And height = sz.height Then Equals = _System_TRUE Else Equals = _System_FALSE End If End Function Function IsEmpty() As BOOL If width = 0 And height = 0 Then Empty = _System_TRUE Else Empty = _System_FALSE End If End Function Function Add(sz As Size) As Size Return This + sz End Function Function Subtract(sz As SizeF) As SizeF Return This - sz End Function Function ToSize() As Size Return Size.Round(This) End Function Function ToPointF() As PointF Dim pt As PointF(width, height) Return pt End Function Private width As Single height As Single End Class #endif '__SYSTEM_DRAWING_SIZEF_AB__