source: trunk/Include/Classes/System/Drawing/PointF.ab@ 473

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

実験として書いていたControlクラスを追加(せめてコミット前に既存のContorolに混ぜようとしたがコンパイルできなかった)。
ほかForms, Drawing及びGDI+の修正。

File size: 2.4 KB
RevLine 
[1]1' Classes/System/Drawing/PointF.ab
2
[473]3Namespace System
4Namespace Drawing
[1]5
6Class PointF
7Public
8 Sub PointF()
9 x = 0
10 y = 0
11 End Sub
12
13 Sub PointF(initX As Single, initY As Single)
14 x = initX
15 y = initY
16 End Sub
17
[212]18 Sub PointF(pt As PointF)
[1]19 x = pt.x
20 y = pt.y
21 End Sub
22
[212]23 Sub PointF(sz As SizeF)
[1]24 x = sz.Width
25 y = sz.Height
26 End Sub
27
28 Function X() As Single
[473]29 X = x
[1]30 End Function
31
32 Sub X(newX As Single)
33 x = newX
34 End Sub
35
36 Function Y() As Single
[473]37 Y = y
[1]38 End Function
39
40 Sub Y(newY As Single)
41 y = newY
42 End Sub
43
[104]44 Function IsEmpty() As Boolean
[212]45 Return x = 0 And y = 0
[1]46 End Function
[303]47
[1]48 Function Operator + (pt As PointF) As PointF
[27]49 Return Add(This, pt)
[1]50 End Function
51
52 Function Operator + (sz As Size) As PointF
[27]53 Return Add(This, sz)
[1]54 End Function
55
56 Function Operator + (sz As SizeF) As PointF
[27]57 Return Add(This, sz)
[1]58 End Function
59
60 Function Operator - (pt As PointF) As PointF
[27]61 Return Substract(This, pt)
[1]62 End Function
63
64 Function Operator - (sz As Size) As PointF
[27]65 Return Substract(This, sz)
[1]66 End Function
67
68 Function Operator - (sz As SizeF) As PointF
[27]69 Return Substract(This, sz)
[1]70 End Function
71
[104]72 Function Operator == (sz As PointF) As Boolean
[1]73 Return Equals(sz)
74 End Function
75
[104]76 Function Operator <> (sz As PointF) As Boolean
[1]77 Return Not Equals(sz)
78 End Function
79
[27]80 Static Function Add(pt1 As PointF, pt2 As PointF) As PointF
[473]81 Return New PointF(pt1.x + pt2.x, pt1.y + pt2.y)
[1]82 End Function
83
[27]84 Static Function Add(pt As PointF, sz As Size) As PointF
[473]85 Return New PointF(pt.x + sz.Width, pt.y + sz.Height)
[1]86 End Function
87
[27]88 Static Function Add(pt As PointF, sz As SizeF) As PointF
[473]89 Return New PointF(pt.x + sz.Width, pt.y + sz.Height)
[1]90 End Function
91
[77]92 Static Function Substract(pt1 As PointF, pt2 As PointF) As PointF
[473]93 Return New PointF(pt1.x - pt2.x, pt1.y - pt2.y)
[1]94 End Function
95
[27]96 Static Function Substract(pt As PointF, sz As Size) As PointF
[473]97 Return New PointF(pt.x - sz.Width, pt.y - sz.Height)
[1]98 End Function
99
[27]100 Static Function Substract(pt As PointF, sz As SizeF) As PointF
[473]101 Return New PointF(pt.x - sz.Width, pt.y - sz.Height)
[1]102 End Function
103
[104]104 Function Equals(pt As PointF) As Boolean
[212]105 Return x = pt.x And y = pt.y
[1]106 End Function
107
[166]108 Override Function GetHashCode() As Long
[212]109 Return (GetDWord(VarPtr(x)) Xor _System_BSwap(GetDWord(VarPtr(x)))) As Long
[166]110 End Function
111
[1]112Private
113 x As Single
114 y As Single
115End Class
116
[473]117End Namespace
118End Namespace
Note: See TracBrowser for help on using the repository browser.