| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef UI_GFX_SAFE_INTEGER_CONVERSIONS_H_ | 5 // TODO(beng): remove once callsites are patched. | 
| 6 #define UI_GFX_SAFE_INTEGER_CONVERSIONS_H_ | 6 #include "ui/gfx/geometry/safe_integer_conversions.h" | 
| 7 | 7 | 
| 8 #include <cmath> |  | 
| 9 #include <limits> |  | 
| 10 |  | 
| 11 #include "ui/gfx/gfx_export.h" |  | 
| 12 |  | 
| 13 namespace gfx { |  | 
| 14 |  | 
| 15 inline int ClampToInt(float value) { |  | 
| 16   if (value != value) |  | 
| 17     return 0; // no int NaN. |  | 
| 18   if (value >= std::numeric_limits<int>::max()) |  | 
| 19     return std::numeric_limits<int>::max(); |  | 
| 20   if (value <= std::numeric_limits<int>::min()) |  | 
| 21     return std::numeric_limits<int>::min(); |  | 
| 22   return static_cast<int>(value); |  | 
| 23 } |  | 
| 24 |  | 
| 25 inline int ToFlooredInt(float value) { |  | 
| 26   return ClampToInt(std::floor(value)); |  | 
| 27 } |  | 
| 28 |  | 
| 29 inline int ToCeiledInt(float value) { |  | 
| 30   return ClampToInt(std::ceil(value)); |  | 
| 31 } |  | 
| 32 |  | 
| 33 inline int ToRoundedInt(float value) { |  | 
| 34   float rounded; |  | 
| 35   if (value >= 0.0f) |  | 
| 36     rounded = std::floor(value + 0.5f); |  | 
| 37   else |  | 
| 38     rounded = std::ceil(value - 0.5f); |  | 
| 39   return ClampToInt(rounded); |  | 
| 40 } |  | 
| 41 |  | 
| 42 inline bool IsExpressibleAsInt(float value) { |  | 
| 43   if (value != value) |  | 
| 44     return false; // no int NaN. |  | 
| 45   if (value > std::numeric_limits<int>::max()) |  | 
| 46     return false; |  | 
| 47   if (value < std::numeric_limits<int>::min()) |  | 
| 48     return false; |  | 
| 49   return true; |  | 
| 50 } |  | 
| 51 |  | 
| 52 }  // namespace gfx |  | 
| 53 |  | 
| 54 #endif  // UI_GFX_SAFE_INTEGER_CONVERSIONS_H_ |  | 
| OLD | NEW | 
|---|