source: trunk/Include/Classes/System/Drawing/Size.ab@ 303

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

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

File size: 2.4 KB
RevLine 
[1]1' Classes/System/Drawing/Size.ab
2
3#ifndef __SYSTEM_DRAWING_SIZE_AB__
4#define __SYSTEM_DRAWING_SIZE_AB__
5
6#include <Classes/System/Math.ab>
7#include <Classes/System/Drawing/SizeF.ab>
8
9Class Size
10Public
11 Sub Size()
12 width = 0
13 height = 0
14 End Sub
15
16 Sub Size(initWidth As Long, initHeight As Long)
17 width = initWidth
18 height = initHeight
19 End Sub
20
[212]21 Sub Size(sz As Size)
[1]22 width = sz.width
23 height = sz.height
24 End Sub
25
26 Function Width() As Long
27 Return width
28 End Function
29
30 Sub Width(w As Long)
31 width = w
32 End Sub
33
34 Function Height() As Long
35 Return height
36 End Function
37
38 Sub Height(h As Long)
39 height = h
40 End Sub
41
[166]42 Function Operator +(sz As Size) As Size
[1]43 Dim ret As Size(width + sz.width, height + sz.height)
44 Return ret
45 End Function
46
[166]47 Function Operator -(sz As Size) As Size
[1]48 Dim ret As Size(width - sz.width, height - sz.height)
49 Return ret
50 End Function
51
52 Function Operator () As SizeF
53 Dim szf As SizeF(width, height)
54 Return szf
55 End Function
56
[166]57 Function Operator ==(sz As Size) As Boolean
[1]58 Return Equals(sz)
59 End Function
60
[166]61 Function Operator <>(sz As Size) As Boolean
[1]62 Return Not Equals(sz)
63 End Function
[212]64/*
[166]65 Sub Operator =(ByRef sz As Size)
[1]66 width = sz.width
67 height = sz.height
68 End Sub
[212]69*/
[104]70 Function Equals(sz As Size) As Boolean
[1]71 If width = sz.width And height = sz.height Then
[303]72 Equals = True
[1]73 Else
[303]74 Equals = False
[1]75 End If
76 End Function
77
[166]78 Override Function GetHashCode() As Long
[223]79 Return width As DWord Xor _System_BSwap(height As DWord)
[166]80 End Function
81
[104]82 Function IsEmpty() As Boolean
[212]83 Return width = 0 And height = 0
[1]84 End Function
85
86 Function Add(sz As Size) As Size
87 Return This + sz
88 End Function
89
90 Function Subtract(sz As Size) As Size
91 Return This - sz
92 End Function
93
94 Static Function Ceiling(szf As SizeF) As Size
[303]95 Dim sz As Size(System.Math.Ceiling(szf.Width) As Long, System.Math.Ceiling(szf.Height) As Long)
[1]96 Return sz
97 End Function
98
99 Static Function Round(szf As SizeF) As Size
[303]100 Dim sz As Size(System.Math.Round(szf.Width) As Long, System.Math.Round(szf.Height) As Long)
[1]101 Return sz
102 End Function
103
104 Static Function Truncate(szf As SizeF) As Size
[303]105 Dim sz As Size(System.Math.Truncate(szf.Width) As Long, System.Math.Truncate(szf.Height) As Long)
[1]106 Return sz
107 End Function
108
109Private
110 width As Long
111 height As Long
112End Class
113
114#endif '__SYSTEM_DRAWING_SIZE_AB__
Note: See TracBrowser for help on using the repository browser.