• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
6 #define UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
7 
8 #include "ui/gfx/geometry/rect.h"
9 #include "ui/gfx/geometry/rect_f.h"
10 
11 namespace gfx {
12 
13 // Returns the smallest Rect that encloses the given RectF.
14 GFX_EXPORT Rect ToEnclosingRect(const RectF& rect);
15 
16 // Returns the largest Rect that is enclosed by the given RectF.
17 GFX_EXPORT Rect ToEnclosedRect(const RectF& rect);
18 
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);
24 
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);
29 
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);
33 
34 }  // namespace gfx
35 
36 #endif  // UI_GFX_GEOMETRY_RECT_CONVERSIONS_H_
37