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"
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
);
36 #endif // UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_