source: trunk/Include/Classes/System/Drawing/Point.ab@ 384

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

フルコンパイルでのミスあぶり出し。註:修正は全て@300や@301以前に行われた。

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