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

Side by Side Diff: ui/views/rect_based_targeting_utils.cc

Issue 265713007: views: Update event-related API to use PointF/RectF instead of Point/Rect. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "ui/views/rect_based_targeting_utils.h" 5 #include "ui/views/rect_based_targeting_utils.h"
6 6
7 #include "ui/gfx/point.h" 7 #include "ui/gfx/point.h"
8 #include "ui/gfx/rect.h" 8 #include "ui/gfx/rect.h"
9 9
10 namespace views { 10 namespace views {
11 11
12 bool UsePointBasedTargeting(const gfx::Rect& rect) { 12 bool UsePointBasedTargeting(const gfx::RectF& rect) {
13 return rect.width() == 1 && rect.height() == 1; 13 return rect.width() == 1.f && rect.height() == 1.f;
tdresser 2014/05/02 13:19:06 Is comparing equality of floats here acceptable, o
14 } 14 }
15 15
16 float PercentCoveredBy(const gfx::Rect& rect_1, const gfx::Rect& rect_2) { 16 float PercentCoveredBy(const gfx::RectF& rect_1, const gfx::RectF& rect_2) {
17 gfx::Rect intersection(rect_1); 17 gfx::RectF intersection(rect_1);
18 intersection.Intersect(rect_2); 18 intersection.Intersect(rect_2);
19 int intersect_area = intersection.size().GetArea(); 19 int intersect_area = intersection.size().GetArea();
20 int rect_1_area = rect_1.size().GetArea(); 20 int rect_1_area = rect_1.size().GetArea();
21 return rect_1_area ? 21 return rect_1_area ?
22 static_cast<float>(intersect_area) / static_cast<float>(rect_1_area) : 0; 22 static_cast<float>(intersect_area) / static_cast<float>(rect_1_area) : 0;
23 } 23 }
24 24
25 int DistanceSquaredFromCenterToPoint(const gfx::Point& point, 25 float DistanceSquaredFromCenterToPoint(const gfx::PointF& point,
26 const gfx::Rect& rect) { 26 const gfx::RectF& rect) {
27 gfx::Point center_point = rect.CenterPoint(); 27 gfx::PointF center_point = rect.CenterPoint();
28 int dx = center_point.x() - point.x(); 28 float dx = center_point.x() - point.x();
29 int dy = center_point.y() - point.y(); 29 float dy = center_point.y() - point.y();
30 return (dx * dx) + (dy * dy); 30 return (dx * dx) + (dy * dy);
31 } 31 }
32 32
33 } // namespace views 33 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698