| [1] | 1 | ' Classes/System/Drawing/PointF.ab | 
|---|
|  | 2 |  | 
|---|
|  | 3 | #ifndef __SYSTEM_DRAWING_POINTF_AB__ | 
|---|
|  | 4 | #define __SYSTEM_DRAWING_POINTF_AB__ | 
|---|
|  | 5 |  | 
|---|
|  | 6 | #include <Classes/System/Drawing/Size.ab> | 
|---|
|  | 7 | #include <Classes/System/Drawing/SizeF.ab> | 
|---|
|  | 8 |  | 
|---|
|  | 9 | Class PointF | 
|---|
|  | 10 | Public | 
|---|
|  | 11 | Sub PointF() | 
|---|
|  | 12 | x = 0 | 
|---|
|  | 13 | y = 0 | 
|---|
|  | 14 | End Sub | 
|---|
|  | 15 |  | 
|---|
|  | 16 | Sub PointF(initX As Single, initY As Single) | 
|---|
|  | 17 | x = initX | 
|---|
|  | 18 | y = initY | 
|---|
|  | 19 | End Sub | 
|---|
|  | 20 |  | 
|---|
|  | 21 | Sub PointF(ByRef pt As PointF) | 
|---|
|  | 22 | x = pt.x | 
|---|
|  | 23 | y = pt.y | 
|---|
|  | 24 | End Sub | 
|---|
|  | 25 |  | 
|---|
|  | 26 | Sub PointF(ByRef sz As SizeF) | 
|---|
|  | 27 | x = sz.Width | 
|---|
|  | 28 | y = sz.Height | 
|---|
|  | 29 | End Sub | 
|---|
|  | 30 |  | 
|---|
|  | 31 | Function X() As Single | 
|---|
|  | 32 | Return x | 
|---|
|  | 33 | End Function | 
|---|
|  | 34 |  | 
|---|
|  | 35 | Sub X(newX As Single) | 
|---|
|  | 36 | x = newX | 
|---|
|  | 37 | End Sub | 
|---|
|  | 38 |  | 
|---|
|  | 39 | Function Y() As Single | 
|---|
|  | 40 | Return y | 
|---|
|  | 41 | End Function | 
|---|
|  | 42 |  | 
|---|
|  | 43 | Sub Y(newY As Single) | 
|---|
|  | 44 | y = newY | 
|---|
|  | 45 | End Sub | 
|---|
|  | 46 |  | 
|---|
|  | 47 | Function IsEmpty() As BOOL | 
|---|
|  | 48 | If x = 0 And y = 0 Then | 
|---|
|  | 49 | Return _System_TRUE | 
|---|
|  | 50 | Else | 
|---|
|  | 51 | Return _System_FALSE | 
|---|
|  | 52 | End If | 
|---|
|  | 53 | End Function | 
|---|
|  | 54 |  | 
|---|
|  | 55 | Sub Operator = (ByRef pt As PointF) | 
|---|
|  | 56 | x = pt.x | 
|---|
|  | 57 | y = pt.y | 
|---|
|  | 58 | End Sub | 
|---|
|  | 59 |  | 
|---|
| [27] | 60 | Function Operator () As PointF | 
|---|
|  | 61 | Dim ptf As PointF(X, Y) | 
|---|
|  | 62 | Return ptf | 
|---|
|  | 63 | End Function | 
|---|
|  | 64 |  | 
|---|
| [1] | 65 | Function Operator + (pt As PointF) As PointF | 
|---|
| [27] | 66 | Return Add(This, pt) | 
|---|
| [1] | 67 | End Function | 
|---|
|  | 68 |  | 
|---|
|  | 69 | Function Operator + (sz As Size) As PointF | 
|---|
| [27] | 70 | Return Add(This, sz) | 
|---|
| [1] | 71 | End Function | 
|---|
|  | 72 |  | 
|---|
|  | 73 | Function Operator + (sz As SizeF) As PointF | 
|---|
| [27] | 74 | Return Add(This, sz) | 
|---|
| [1] | 75 | End Function | 
|---|
|  | 76 |  | 
|---|
|  | 77 | Function Operator - (pt As PointF) As PointF | 
|---|
| [27] | 78 | Return Substract(This, pt) | 
|---|
| [1] | 79 | End Function | 
|---|
|  | 80 |  | 
|---|
|  | 81 | Function Operator - (sz As Size) As PointF | 
|---|
| [27] | 82 | Return Substract(This, sz) | 
|---|
| [1] | 83 | End Function | 
|---|
|  | 84 |  | 
|---|
|  | 85 | Function Operator - (sz As SizeF) As PointF | 
|---|
| [27] | 86 | Return Substract(This, sz) | 
|---|
| [1] | 87 | End Function | 
|---|
|  | 88 |  | 
|---|
|  | 89 | Function Operator == (sz As PointF) As BOOL | 
|---|
|  | 90 | Return Equals(sz) | 
|---|
|  | 91 | End Function | 
|---|
|  | 92 |  | 
|---|
|  | 93 | Function Operator <> (sz As PointF) As BOOL | 
|---|
|  | 94 | Return Not Equals(sz) | 
|---|
|  | 95 | End Function | 
|---|
|  | 96 |  | 
|---|
| [27] | 97 | Static Function Add(pt1 As PointF, pt2 As PointF) As PointF | 
|---|
|  | 98 | Dim ret As PointF(pt1.x + pt2.x, pt1.y + pt2.y) | 
|---|
| [1] | 99 | Return ret | 
|---|
|  | 100 | End Function | 
|---|
|  | 101 |  | 
|---|
| [27] | 102 | Static Function Add(pt As PointF, sz As Size) As PointF | 
|---|
|  | 103 | Dim ret As PointF(pt.x + sz.Width, pt.y + sz.Height) | 
|---|
| [1] | 104 | Return ret | 
|---|
|  | 105 | End Function | 
|---|
|  | 106 |  | 
|---|
| [27] | 107 | Static Function Add(pt As PointF, sz As SizeF) As PointF | 
|---|
|  | 108 | Dim ret As PointF(pt.x + sz.Width, pt.y + sz.Height) | 
|---|
| [1] | 109 | Return ret | 
|---|
|  | 110 | End Function | 
|---|
|  | 111 |  | 
|---|
| [77] | 112 | Static Function Substract(pt1 As PointF, pt2 As PointF) As PointF | 
|---|
| [27] | 113 | Dim ret As PointF(pt1.x - pt2.x, pt1.y - pt2.y) | 
|---|
| [1] | 114 | Return ret | 
|---|
|  | 115 | End Function | 
|---|
|  | 116 |  | 
|---|
| [27] | 117 | Static Function Substract(pt As PointF, sz As Size) As PointF | 
|---|
|  | 118 | Dim ret As PointF(pt.x - sz.Width, pt.y - sz.Height) | 
|---|
| [1] | 119 | Return ret | 
|---|
|  | 120 | End Function | 
|---|
|  | 121 |  | 
|---|
| [27] | 122 | Static Function Substract(pt As PointF, sz As SizeF) As PointF | 
|---|
|  | 123 | Dim ret As PointF(pt.x - sz.Width, pt.y - sz.Height) | 
|---|
| [1] | 124 | Return ret | 
|---|
|  | 125 | End Function | 
|---|
|  | 126 |  | 
|---|
|  | 127 | Function Equals(pt As PointF) As BOOL | 
|---|
|  | 128 | If x = pt.x And y = pt.y Then | 
|---|
|  | 129 | Equals = _System_TRUE | 
|---|
|  | 130 | Else | 
|---|
|  | 131 | Equals = _System_FALSE | 
|---|
|  | 132 | End If | 
|---|
|  | 133 | End Function | 
|---|
|  | 134 |  | 
|---|
|  | 135 | Private | 
|---|
|  | 136 | x As Single | 
|---|
|  | 137 | y As Single | 
|---|
|  | 138 | End Class | 
|---|
|  | 139 |  | 
|---|
|  | 140 | #endif '__SYSTEM_DRAWING_POINTF_AB__ | 
|---|