Index: ui/gfx/rect.cc |
diff --git a/ui/gfx/rect.cc b/ui/gfx/rect.cc |
index 300b8adbf0f746d9caf6643e9c3032751a1232e3..9a254d41882d1545fde9145f9aee90702729bb94 100644 |
--- a/ui/gfx/rect.cc |
+++ b/ui/gfx/rect.cc |
@@ -4,6 +4,8 @@ |
#include "ui/gfx/rect.h" |
+#include <math.h> |
+ |
#if defined(OS_WIN) |
#include <windows.h> |
#elif defined(OS_MACOSX) |
@@ -44,6 +46,14 @@ Rect::Rect(const gfx::Point& origin, const gfx::Size& size) |
Rect::~Rect() {} |
+void Rect::ScaleBounds(float scale) { |
+ int left = static_cast<int>(floorf(x() * scale)); |
+ int top = static_cast<int>(floorf(y() * scale)); |
+ int right = static_cast<int>(ceilf((x() + width()) * scale)); |
+ int bottom = static_cast<int>(ceilf((y() + height()) * scale)); |
+ SetRect(left, top, right - left, bottom - top); |
+} |
+ |
#if defined(OS_WIN) |
Rect::Rect(const RECT& r) |
: RectBaseT(gfx::Point(r.left, r.top)) { |