source: Include/Classes/System/Drawing/PointF.ab@ 212

Last change on this file since 212 was 212, checked in by イグトランス (egtra), 17 years ago

Object.ReferenceEqualsを追加

File size: 2.7 KB
RevLine 
[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
9Class PointF
10Public
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
[212]21 Sub PointF(pt As PointF)
[1]22 x = pt.x
23 y = pt.y
24 End Sub
25
[212]26 Sub PointF(sz As SizeF)
[1]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
[104]47 Function IsEmpty() As Boolean
[212]48 Return x = 0 And y = 0
[1]49 End Function
[212]50/*
[1]51 Sub Operator = (ByRef pt As PointF)
52 x = pt.x
53 y = pt.y
54 End Sub
[212]55*/
[1]56 Function Operator + (pt As PointF) As PointF
[27]57 Return Add(This, pt)
[1]58 End Function
59
60 Function Operator + (sz As Size) As PointF
[27]61 Return Add(This, sz)
[1]62 End Function
63
64 Function Operator + (sz As SizeF) As PointF
[27]65 Return Add(This, sz)
[1]66 End Function
67
68 Function Operator - (pt As PointF) As PointF
[27]69 Return Substract(This, pt)
[1]70 End Function
71
72 Function Operator - (sz As Size) As PointF
[27]73 Return Substract(This, sz)
[1]74 End Function
75
76 Function Operator - (sz As SizeF) As PointF
[27]77 Return Substract(This, sz)
[1]78 End Function
79
[104]80 Function Operator == (sz As PointF) As Boolean
[1]81 Return Equals(sz)
82 End Function
83
[104]84 Function Operator <> (sz As PointF) As Boolean
[1]85 Return Not Equals(sz)
86 End Function
87
[27]88 Static Function Add(pt1 As PointF, pt2 As PointF) As PointF
89 Dim ret As PointF(pt1.x + pt2.x, pt1.y + pt2.y)
[1]90 Return ret
91 End Function
92
[27]93 Static Function Add(pt As PointF, sz As Size) As PointF
94 Dim ret As PointF(pt.x + sz.Width, pt.y + sz.Height)
[1]95 Return ret
96 End Function
97
[27]98 Static Function Add(pt As PointF, sz As SizeF) As PointF
99 Dim ret As PointF(pt.x + sz.Width, pt.y + sz.Height)
[1]100 Return ret
101 End Function
102
[77]103 Static Function Substract(pt1 As PointF, pt2 As PointF) As PointF
[27]104 Dim ret As PointF(pt1.x - pt2.x, pt1.y - pt2.y)
[1]105 Return ret
106 End Function
107
[27]108 Static Function Substract(pt As PointF, sz As Size) As PointF
109 Dim ret As PointF(pt.x - sz.Width, pt.y - sz.Height)
[1]110 Return ret
111 End Function
112
[27]113 Static Function Substract(pt As PointF, sz As SizeF) As PointF
114 Dim ret As PointF(pt.x - sz.Width, pt.y - sz.Height)
[1]115 Return ret
116 End Function
117
[104]118 Function Equals(pt As PointF) As Boolean
[212]119 Return x = pt.x And y = pt.y
[1]120 End Function
121
[166]122 Override Function GetHashCode() As Long
[212]123 Return (GetDWord(VarPtr(x)) Xor _System_BSwap(GetDWord(VarPtr(x)))) As Long
[166]124 End Function
125
[1]126Private
127 x As Single
128 y As Single
129End Class
130
131#endif '__SYSTEM_DRAWING_POINTF_AB__
Note: See TracBrowser for help on using the repository browser.