xref: /aosp_15_r20/external/libchrome/ui/gfx/geometry/rect_conversions.h (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file.
4*635a8641SAndroid Build Coastguard Worker 
5*635a8641SAndroid Build Coastguard Worker #ifndef UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
6*635a8641SAndroid Build Coastguard Worker #define UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
7*635a8641SAndroid Build Coastguard Worker 
8*635a8641SAndroid Build Coastguard Worker #include "ui/gfx/geometry/rect.h"
9*635a8641SAndroid Build Coastguard Worker #include "ui/gfx/geometry/rect_f.h"
10*635a8641SAndroid Build Coastguard Worker 
11*635a8641SAndroid Build Coastguard Worker namespace gfx {
12*635a8641SAndroid Build Coastguard Worker 
13*635a8641SAndroid Build Coastguard Worker // Returns the smallest Rect that encloses the given RectF.
14*635a8641SAndroid Build Coastguard Worker GFX_EXPORT Rect ToEnclosingRect(const RectF& rect);
15*635a8641SAndroid Build Coastguard Worker 
16*635a8641SAndroid Build Coastguard Worker // Returns the largest Rect that is enclosed by the given RectF.
17*635a8641SAndroid Build Coastguard Worker GFX_EXPORT Rect ToEnclosedRect(const RectF& rect);
18*635a8641SAndroid Build Coastguard Worker 
19*635a8641SAndroid Build Coastguard Worker // Returns the Rect after snapping the corners of the RectF to an integer grid.
20*635a8641SAndroid Build Coastguard Worker // This should only be used when the RectF you provide is expected to be an
21*635a8641SAndroid Build Coastguard Worker // integer rect with floating point error. If it is an arbitrary RectF, then
22*635a8641SAndroid Build Coastguard Worker // you should use a different method.
23*635a8641SAndroid Build Coastguard Worker GFX_EXPORT Rect ToNearestRect(const RectF& rect);
24*635a8641SAndroid Build Coastguard Worker 
25*635a8641SAndroid Build Coastguard Worker // Returns true if the Rect produced after snapping the corners of the RectF
26*635a8641SAndroid Build Coastguard Worker // to an integer grid is withing |distance|.
27*635a8641SAndroid Build Coastguard Worker GFX_EXPORT bool IsNearestRectWithinDistance(
28*635a8641SAndroid Build Coastguard Worker     const gfx::RectF& rect, float distance);
29*635a8641SAndroid Build Coastguard Worker 
30*635a8641SAndroid Build Coastguard Worker // Returns a Rect obtained by flooring the values of the given RectF.
31*635a8641SAndroid Build Coastguard Worker // Please prefer the previous two functions in new code.
32*635a8641SAndroid Build Coastguard Worker GFX_EXPORT Rect ToFlooredRectDeprecated(const RectF& rect);
33*635a8641SAndroid Build Coastguard Worker 
34*635a8641SAndroid Build Coastguard Worker }  // namespace gfx
35*635a8641SAndroid Build Coastguard Worker 
36*635a8641SAndroid Build Coastguard Worker #endif  // UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
37