OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 part of dart.sky; | 5 part of dart.sky; |
6 | 6 |
7 /// Holds a 2D floating-point size. | 7 /// Holds a 2D floating-point size. |
8 class Size { | 8 class Size { |
9 final double width; | 9 final double width; |
10 final double height; | 10 final double height; |
11 | 11 |
12 const Size(this.width, this.height); | 12 const Size(this.width, this.height); |
13 | 13 |
| 14 Point toPoint() { return new Point(width, height); } |
| 15 |
14 const Size.infinite() : width = double.INFINITY, height = double.INFINITY; | 16 const Size.infinite() : width = double.INFINITY, height = double.INFINITY; |
15 | 17 |
16 const Size.fromWidth(this.width) : height = double.INFINITY; | 18 const Size.fromWidth(this.width) : height = double.INFINITY; |
17 const Size.fromHeight(this.height) : width = double.INFINITY; | 19 const Size.fromHeight(this.height) : width = double.INFINITY; |
18 | 20 |
19 bool operator ==(other) { | 21 bool operator ==(other) { |
20 if (!(other is Size)) return false; | 22 if (!(other is Size)) return false; |
21 return width == other.width && height == other.height; | 23 return width == other.width && height == other.height; |
22 } | 24 } |
23 int get hashCode { | 25 int get hashCode { |
24 int result = 373; | 26 int result = 373; |
25 result = 37 * result + width.hashCode; | 27 result = 37 * result + width.hashCode; |
26 result = 37 * result + height.hashCode; | 28 result = 37 * result + height.hashCode; |
27 return result; | 29 return result; |
28 } | 30 } |
29 String toString() => "Size($width, $height)"; | 31 String toString() => "Size($width, $height)"; |
30 } | 32 } |
OLD | NEW |