Changeset 303 for trunk/Include/Classes/System/Drawing
- Timestamp:
- Aug 24, 2007, 11:14:46 AM (17 years ago)
- Location:
- trunk/Include/Classes/System/Drawing
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/Classes/System/Drawing/Color.ab
r282 r303 69 69 Exit Sub ' パレットインデックス指定は無効 70 70 Else 71 argb = Color_MakeARGB(255, GetRValue(rgb), GetGValue(rgb), GetBValue(rgb))71 argb = MakeARGB(255, GetRValue(rgb) As Byte, GetGValue(rgb) As Byte, GetBValue(rgb) As Byte) 72 72 End If 73 73 End Sub … … 82 82 83 83 Static Function FromArgb(argb As ARGB) As Color 84 Dim c As Color(argb) 85 Rteurn c 84 Return New Color(argb) 86 85 End Function 87 86 88 87 Static Function FromArgb(a As Byte, base As Color) As Color 89 Dim c As Color(a, base.R, base.G, base.B) 90 Return c 88 Return New Color(a, base.R, base.G, base.B) 91 89 End Function 92 90 93 91 Static Function FromArgb(r As Byte, g As Byte, b As Byte) As Color 94 Dim c As Color(r, g, b) 95 Return c 92 Return New Color(r, g, b) 96 93 End Function 97 94 98 95 Static Function FromArgb(a As Byte, r As Byte, g As Byte, b As Byte) As Color 99 Dim c As Color(a, r, g, b) 100 Return c 96 Return New Color(a, r, g, b) 101 97 End Function 102 98 … … 119 115 d = max - min 120 116 If g = max Then 121 Return ( b - r) As Double / d * 60 + 120117 Return ((b - r) As Double / d * 60.0 + 120.0) As Single 122 118 ElseIf b = max Then 123 Return ( r - g) As Double / d * 60 + 240119 Return ((r - g) As Double / d * 60 + 240) As Single 124 120 ElseIf g < b Then 125 Return ( g - b) As Double / d * 60 + 360121 Return ((g - b) As Double / d * 60 + 360) As Single 126 122 Else 127 Return ( g - b) As Double / d * 60123 Return ((g - b) As Double / d * 60) As Single 128 124 EndIf 129 125 End Function 130 126 131 127 Function GetSaturation() As Single 132 Dim max As Long, min As Long133 128 Dim r = R 134 129 Dim g = G 135 130 Dim b = B 136 max = System.Math.Max(System.Math.Max(r, g), b)137 min = System.Math.Min(System.Math.Min(r, g), b)131 Dim max = System.Math.Max(System.Math.Max(r, g), b) As Long 132 Dim min = System.Math.Min(System.Math.Min(r, g), b) As Long 138 133 Return (max - min) / max 139 134 End Function 140 135 141 136 Function GetBrightness() As Single 142 Dim max As Long143 137 Dim r = R 144 138 Dim g = G 145 139 Dim b = B 146 max = System.Math.Max(System.Math.Max(r, g), b)140 Dim max = System.Math.Max(System.Math.Max(r, g), b) 147 141 Return max * (1 / 255) 148 142 End Function -
trunk/Include/Classes/System/Drawing/Point.ab
r223 r303 75 75 76 76 Static Function Add(pt1 As Point, pt2 As Point) As Point 77 Dim ret As Point(pt1.x + pt2.x, pt1.y + pt2.y) 78 Return ret 77 Return New Point(pt1.x + pt2.x, pt1.y + pt2.y) 79 78 End Function 80 79 81 80 Static Function Add(pt As Point, sz As Size) As Point 82 Dim ret As Point(pt.x + sz.Width, pt.y + sz.Height) 83 Return ret 81 Return New Point(pt.x + sz.Width, pt.y + sz.Height) 84 82 End Function 85 83 86 84 Function Offset(pt As Point) As Point 87 Dim ret As Point(x + pt.x, y + pt.y) 88 Return ret 85 Return New Point(x + pt.x, y + pt.y) 89 86 End Function 90 87 … … 95 92 96 93 Static Function Substract(pt1 As Point, pt2 As Point) As Point 97 Dim ret As Point(pt1.x - pt2.x, pt1.y - pt2.y) 98 Return ret 94 Return New Point(pt1.x - pt2.x, pt1.y - pt2.y) 99 95 End Function 100 96 101 97 Static Function Substract(pt As Point, sz As Size) As Point 102 Dim ret As Point(pt.x - sz.Width, pt.y - sz.Height) 103 Return ret 98 Return New Point(pt.x - sz.Width, pt.y - sz.Height) 104 99 End Function 105 100 … … 113 108 114 109 Static Function Ceiling(ptf As PointF) As Point 115 Dim pt As Size(Math.Ceiling(ptf.width), Math.Ceiling(ptf.height)) 116 Return pt 110 Return New Point(System.Math.Ceiling(ptf.X) As Long, System.Math.Ceiling(ptf.Y) As Long) 117 111 End Function 118 112 119 113 Static Function Round(ptf As PointF) As Point 120 Dim pt As Point(Math.Round(ptf.width), Math.Round(ptf.height)) 121 Return pt 114 Return New Point(System.Math.Round(ptf.X) As Long, System.Math.Round(ptf.Y) As Long) 122 115 End Function 123 116 124 117 Static Function Truncate(ptf As PointF) As Point 125 Dim pt As Point(Math.Truncate(ptf.width), Math.Truncate(ptf.height)) 126 Return pt 118 Return New Point(System.Math.Truncate(ptf.X) As Long, System.Math.Truncate(ptf.Y) As Long) 127 119 End Function 128 120 129 121 Function Operator () As PointF 130 Return ReturnPointF(X, Y)122 Return New PointF(X, Y) 131 123 End Function 132 124 -
trunk/Include/Classes/System/Drawing/PointF.ab
r212 r303 48 48 Return x = 0 And y = 0 49 49 End Function 50 /* 51 Sub Operator = (ByRef pt As PointF) 52 x = pt.x 53 y = pt.y 54 End Sub 55 */ 50 56 51 Function Operator + (pt As PointF) As PointF 57 52 Return Add(This, pt) -
trunk/Include/Classes/System/Drawing/Rectangle.ab
r223 r303 110 110 End Function 111 111 112 Function Operator == (rc As Rectangle) 112 Function Operator == (rc As Rectangle) As Boolean 113 113 Return Equals(rc) 114 114 End Function 115 115 116 Function Operator <> (rc As Rectangle) 117 Return Not Equals(rc)116 Function Operator <> (rc As Rectangle) As Boolean 117 Return (Not Equals(rc)) 118 118 End Function 119 119 … … 147 147 148 148 Sub Inflate(dx As Long, dy As Long) 149 X-= dx150 Y-= dy151 Width += dx + dx152 Height += dy + dy149 x -= dx 150 y -= dy 151 width += dx + dx 152 height += dy + dy 153 153 End Sub 154 154 … … 158 158 159 159 Static Function Inflate(rc As Rectangle, x As Long, y As Long) As Rectangle 160 Inflate = New Rectangle(rc )160 Inflate = New Rectangle(rc.X, rc.Y, rc.Width, rc.Height) 161 161 Inflate.Inflate(x, y) 162 162 End Function 163 163 164 164 Sub Intersect(rect As Rectangle) 165 This = Rectangle.Intersect(This, rect) 165 Dim r = Rectangle.Intersect(This, rect) 166 x = r.x 167 y = r.y 168 width = r.width 169 height = r.height 166 170 End Sub 167 171 168 172 Static Function Intersect(a As Rectangle, ByRef b As Rectangle) As Rectangle 169 173 Dim right As Long, bottom As Long, left As Long, top As Long 170 right = Math.Min(a.Right, b.Right)171 bottom = Math.Min(a.Bottom, b.Bottom)172 left = Math.Min(a.Left, b.Left)173 top = Math.Min(a.Top, b.Top)174 right = System.Math.Min(a.Right, b.Right) 175 bottom = System.Math.Min(a.Bottom, b.Bottom) 176 left = System.Math.Min(a.Left, b.Left) 177 top = System.Math.Min(a.Top, b.Top) 174 178 Return Rectangle.FromLTRB(left, top, right, bottom) 175 179 End Function … … 184 188 Static Function Union(a As Rectangle, b As Rectangle) As Rectangle 185 189 Dim right As Long, bottom As Long, left As Long, top As Long 186 right = Math.Max(a.Right(), b.Right())187 bottom = Math.Max(a.Bottom(), b.Bottom())188 left = Math.Max(a.Left(), b.Left())189 top = Math.Max(a.Top(), b.Top())190 right = System.Math.Max(a.Right(), b.Right()) 191 bottom = System.Math.Max(a.Bottom(), b.Bottom()) 192 left = System.Math.Max(a.Left(), b.Left()) 193 top = System.Math.Max(a.Top(), b.Top()) 190 194 Return FromLTRB(left, top, right, bottom) 191 195 End Function … … 196 200 197 201 Sub Offset(dx As Long, dy As Long) 198 X+= dx199 Y+= dy202 x += dx 203 y += dy 200 204 End Sub 201 205 202 206 Static Function Ceiling(rcf As RectangleF) As Rectangle 203 207 Dim r As Rectangle( 204 Math.Ceiling(rcf.X),205 Math.Ceiling(rcf.Y),206 Math.Ceiling(rcf.Width),207 Math.Ceiling(rcf.Height))208 System.Math.Ceiling(rcf.X) As Long, 209 System.Math.Ceiling(rcf.Y) As Long, 210 System.Math.Ceiling(rcf.Width) As Long, 211 System.Math.Ceiling(rcf.Height) As Long) 208 212 Return r 209 213 End Function … … 211 215 Static Function Round(rcf As RectangleF) As Rectangle 212 216 Dim r As Rectangle( 213 Math.Round(rcf.X),214 Math.Round(rcf.Y),215 Math.Round(rcf.Width),216 Math.Round(rcf.Height))217 System.Math.Round(rcf.X) As Long, 218 System.Math.Round(rcf.Y) As Long, 219 System.Math.Round(rcf.Width) As Long, 220 System.Math.Round(rcf.Height) As Long) 217 221 Return r 218 222 End Function … … 220 224 Static Function Truncate(rcf As RectangleF) As Rectangle 221 225 Dim r As Rectangle( 222 Math.Truncate(rcf.X),223 Math.Truncate(rcf.Y),224 Math.Truncate(rcf.Width),225 Math.Truncate(rcf.Height))226 System.Math.Truncate(rcf.X) As Long, 227 System.Math.Truncate(rcf.Y) As Long, 228 System.Math.Truncate(rcf.Width) As Long, 229 System.Math.Truncate(rcf.Height) As Long) 226 230 Return r 227 231 End Function -
trunk/Include/Classes/System/Drawing/RectangleF.ab
r212 r303 106 106 107 107 Function IsEmpty() As Boolean 108 If Width <= 0 Or Height <= 0 Then 109 IsEmpty = _System_TRUE 110 Else 111 IsEmpty = _System_FALSE 112 End If 113 End Function 114 /* 115 Function Operator =(ByRef rc As RectangleF) 116 With rc 117 x = .x 118 y = .y 119 width = .width 120 height = .height 121 End With 122 End Function 123 */ 124 Function Operator ==(rc As RectangleF) 108 Return Width <= 0 Or Height <= 0 109 End Function 110 111 Function Operator ==(rc As RectangleF) As Boolean 125 112 Return Equals(rc) 126 113 End Function 127 114 128 Function Operator <>(rc As RectangleF) 115 Function Operator <>(rc As RectangleF) As Boolean 129 116 Return Not Equals(rc) 130 117 End Function 131 118 132 119 Function Equals(rc As RectangleF) As Boolean 133 If X = rc.X And Y = rc.Y And Width = rc.Width And Height = rc.Height Then 134 Return True 135 Else 136 Return False 137 End If 120 Equals = (X = rc.X And Y = rc.Y And Width = rc.Width And Height = rc.Height) 138 121 End Function 139 122 … … 147 130 148 131 Function Contains(x As Single, y As Single) As Boolean 149 If x >= X And x < X + Width And y >= Y And y < Y + Height Then 150 Contains = _System_TRUE 151 Else 152 Contains = _System_FALSE 153 End If 132 Contains = (x >= X And x < X + Width And y >= Y And y < Y + Height) 154 133 End Function 155 134 … … 159 138 160 139 Function Contains(rc As RectangleF) As Boolean 161 If X <= rc.X And rc.Right <= Right And Y <= rc.Y And rc.Bottom <= Bottom Then 162 Return True 163 Else 164 Return False 165 End If 140 Contains = (X <= rc.X And rc.Right <= Right And Y <= rc.Y And rc.Bottom <= Bottom) 166 141 End Function 167 142 168 143 Sub Inflate(dx As Single, dy As Single) 169 X-= dx170 Y-= dy171 Width += dx + dx172 Height += dy + dy144 x -= dx 145 y -= dy 146 width += dx + dx 147 height += dy + dy 173 148 End Sub 174 149 … … 178 153 179 154 Static Function Inflate(rc As RectangleF, x As Single, y As Single) As RectangleF 180 Inflate = New Rectangle (rc)155 Inflate = New RectangleF(rc.X, rc.Y, rc.Width, rc.Height) 181 156 Inflate.Inflate(x, y) 182 157 End Function 183 158 184 159 Sub Intersect(rect As RectangleF) 185 This = RectangleF.Intersect(This, rect) 160 Dim r = RectangleF.Intersect(This, rect) 161 x = r.x 162 y = r.y 163 width = r.width 164 height = r.height 186 165 End Sub 187 166 188 167 Static Function Intersect(a As RectangleF, b As RectangleF) As RectangleF 189 168 Dim right As Single, bottom As Single, left As Single, top As Single 190 right = Math.Min(a.Right, b.Right)191 bottom = Math.Min(a.Bottom, b.Bottom)192 left = Math.Min(a.Left, b.Left)193 top = Math.Min(a.Top, b.Top)169 right = System.Math.Min(a.Right, b.Right) 170 bottom = System.Math.Min(a.Bottom, b.Bottom) 171 left = System.Math.Min(a.Left, b.Left) 172 top = System.Math.Min(a.Top, b.Top) 194 173 Return FromLTRB(left, top, right, bottom) 195 174 End Function … … 200 179 Right > rc.Left And _ 201 180 Bottom > rc.Top Then 202 IntersectsWith = _System_TRUE181 IntersectsWith = True 203 182 Else 204 IntersectsWith = _System_FALSE183 IntersectsWith = False 205 184 End If 206 185 End Function … … 208 187 Static Function Union(a As RectangleF, b As RectangleF) As RectangleF 209 188 Dim right As Single, bottom As Single, left As Single, top As Single 210 right = Math.Max(a.Right(), b.Right())211 bottom = Math.Max(a.Bottom(), b.Bottom())212 left = Math.Max(a.Left(), b.Left())213 top = Math.Max(a.Top(), b.Top())189 right = System.Math.Max(a.Right(), b.Right()) 190 bottom = System.Math.Max(a.Bottom(), b.Bottom()) 191 left = System.Math.Max(a.Left(), b.Left()) 192 top = System.Math.Max(a.Top(), b.Top()) 214 193 Return FromLTRB(left, top, right, bottom) 215 194 End Function … … 220 199 221 200 Sub Offset(dx As Single, dy As Single) 222 X+= dx223 Y+= dy201 x += dx 202 y += dy 224 203 End Sub 225 204 -
trunk/Include/Classes/System/Drawing/Size.ab
r223 r303 70 70 Function Equals(sz As Size) As Boolean 71 71 If width = sz.width And height = sz.height Then 72 Equals = _System_TRUE72 Equals = True 73 73 Else 74 Equals = _System_FALSE74 Equals = False 75 75 End If 76 76 End Function … … 93 93 94 94 Static Function Ceiling(szf As SizeF) As Size 95 Dim sz As Size( Math.Ceiling(szf.width), Math.Ceiling(szf.height))95 Dim sz As Size(System.Math.Ceiling(szf.Width) As Long, System.Math.Ceiling(szf.Height) As Long) 96 96 Return sz 97 97 End Function 98 98 99 99 Static Function Round(szf As SizeF) As Size 100 Dim sz As Size( Math.Round(szf.width), Math.Round(szf.height))100 Dim sz As Size(System.Math.Round(szf.Width) As Long, System.Math.Round(szf.Height) As Long) 101 101 Return sz 102 102 End Function 103 103 104 104 Static Function Truncate(szf As SizeF) As Size 105 Dim sz As Size( Math.Truncate(szf.width), Math.Truncate(szf.height))105 Dim sz As Size(System.Math.Truncate(szf.Width) As Long, System.Math.Truncate(szf.Height) As Long) 106 106 Return sz 107 107 End Function -
trunk/Include/Classes/System/Drawing/SizeF.ab
r223 r303 68 68 69 69 Override Function GetHashCode() As Long 70 Return VarPtr(GetDWord(width)) Xor _System_BSwap(VarPtr(GetDWord(height)))70 Return GetDWord(VarPtr(width)) Xor _System_BSwap(GetDWord(VarPtr(height))) 71 71 End Function 72 72 … … 75 75 End Function 76 76 77 Function Add(sz As Size ) As Size77 Function Add(sz As SizeF) As SizeF 78 78 Return This + sz 79 79 End Function
Note:
See TracChangeset
for help on using the changeset viewer.