Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Side by Side Diff: sky/engine/core/painting/Rect.dart

Issue 1216013003: Fix the floating action button. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | sky/sdk/lib/painting/box_painter.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 4 floating-point coordinates for a rectangle. 7 /// Holds 4 floating-point coordinates for a rectangle.
8 class Rect { 8 class Rect {
9 Rect(); 9 Rect();
10 10
(...skipping 12 matching lines...) Expand all
23 ..[2] = left + width 23 ..[2] = left + width
24 ..[3] = top + height; 24 ..[3] = top + height;
25 } 25 }
26 26
27 final Float32List _value = new Float32List(4); 27 final Float32List _value = new Float32List(4);
28 double get left => _value[0]; 28 double get left => _value[0];
29 double get top => _value[1]; 29 double get top => _value[1];
30 double get right => _value[2]; 30 double get right => _value[2];
31 double get bottom => _value[3]; 31 double get bottom => _value[3];
32 32
33 Point get center => new Point(left + right / 2.0, top + bottom / 2.0); 33 double get width => right - left;
34 double get height => bottom - top;
35
36 Size get size => new Size(width, height);
37
38 double get shortestSide {
39 double w = width.abs();
40 double h = height.abs();
41 return w < h ? w : h;
42 }
43
44 Point get center => new Point(left + width / 2.0, top + height / 2.0);
34 Point get topLeft => new Point(left, top); 45 Point get topLeft => new Point(left, top);
35 Point get topRight => new Point(right, top); 46 Point get topRight => new Point(right, top);
36 Point get bottomLeft => new Point(left, bottom); 47 Point get bottomLeft => new Point(left, bottom);
37 Point get bottomRight => new Point(right, bottom); 48 Point get bottomRight => new Point(right, bottom);
38 49
39 Size get size => new Size(right - left, bottom - top);
40
41 // Rects are inclusive of the top and left edges but exclusive of the bottom 50 // Rects are inclusive of the top and left edges but exclusive of the bottom
42 // right edges. 51 // right edges.
43 bool contains(Point point) { 52 bool contains(Point point) {
44 return point.x >= left && point.x < right && point.y >= top && point.y < bot tom; 53 return point.x >= left && point.x < right && point.y >= top && point.y < bot tom;
45 } 54 }
46 55
47 bool operator ==(other) { 56 bool operator ==(other) {
48 if (other is! Rect) 57 if (other is! Rect)
49 return false; 58 return false;
50 for (var i = 0; i < 4; ++i) { 59 for (var i = 0; i < 4; ++i) {
51 if (_value[i] != other._value[i]) 60 if (_value[i] != other._value[i])
52 return false; 61 return false;
53 } 62 }
54 return true; 63 return true;
55 } 64 }
56 int get hashCode =>_value.fold(373, (value, item) => (37 * value + item.hashCo de)); 65 int get hashCode =>_value.fold(373, (value, item) => (37 * value + item.hashCo de));
57 String toString() => "Rect.fromLTRB($left, $top, $right, $bottom)"; 66 String toString() => "Rect.fromLTRB($left, $top, $right, $bottom)";
58 } 67 }
OLDNEW
« no previous file with comments | « no previous file | sky/sdk/lib/painting/box_painter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698