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
3 // found in the LICENSE file.
5 #include "ui/views/rect_based_targeting_utils.h"
7 #include "ui/gfx/point.h"
8 #include "ui/gfx/rect.h"
12 bool UsePointBasedTargeting(const gfx::Rect
& rect
) {
13 return rect
.width() == 1 && rect
.height() == 1;
16 float PercentCoveredBy(const gfx::Rect
& rect_1
, const gfx::Rect
& rect_2
) {
17 gfx::Rect
intersection(rect_1
);
18 intersection
.Intersect(rect_2
);
19 int intersect_area
= intersection
.size().GetArea();
20 int rect_1_area
= rect_1
.size().GetArea();
22 static_cast<float>(intersect_area
) / static_cast<float>(rect_1_area
) : 0;
25 int DistanceSquaredFromCenterToPoint(const gfx::Point
& point
,
26 const gfx::Rect
& rect
) {
27 gfx::Point center_point
= rect
.CenterPoint();
28 int dx
= center_point
.x() - point
.x();
29 int dy
= center_point
.y() - point
.y();
30 return (dx
* dx
) + (dy
* dy
);