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