Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / gfx / geometry / rect_conversions.h
blob617074abeeed4047377f7a19986613618077ba8b
1 // Copyright (c) 2012 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 #ifndef UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
6 #define UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
8 #include "ui/gfx/geometry/rect.h"
9 #include "ui/gfx/geometry/rect_f.h"
11 namespace gfx {
13 // Returns the smallest Rect that encloses the given RectF.
14 GFX_EXPORT Rect ToEnclosingRect(const RectF& rect);
16 // Returns the largest Rect that is enclosed by the given RectF.
17 GFX_EXPORT Rect ToEnclosedRect(const RectF& rect);
19 // Returns the Rect after snapping the corners of the RectF to an integer grid.
20 // This should only be used when the RectF you provide is expected to be an
21 // integer rect with floating point error. If it is an arbitrary RectF, then
22 // you should use a different method.
23 GFX_EXPORT Rect ToNearestRect(const RectF& rect);
25 // Returns true if the Rect produced after snapping the corners of the RectF
26 // to an integer grid is withing |distance|.
27 GFX_EXPORT bool IsNearestRectWithinDistance(
28 const gfx::RectF& rect, float distance);
30 // Returns a Rect obtained by flooring the values of the given RectF.
31 // Please prefer the previous two functions in new code.
32 GFX_EXPORT Rect ToFlooredRectDeprecated(const RectF& rect);
34 } // namespace gfx
36 #endif // UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_