Add a Resize method to OSWindow.
BUG=angle:730
Change-Id: I64106f05eb4188305eb34bbabe7d1cde037e1948
Reviewed-on: https://chromium-review.googlesource.com/213293
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/util/OSWindow.h b/util/OSWindow.h
index 89aadc7..814fb02 100644
--- a/util/OSWindow.h
+++ b/util/OSWindow.h
@@ -33,8 +33,9 @@
void pushEvent(Event event);
virtual void setMousePosition(int x, int y) = 0;
+ virtual bool resize(int width, int height) = 0;
- private:
+ protected:
int mWidth;
int mHeight;
diff --git a/util/win32/Win32Window.cpp b/util/win32/Win32Window.cpp
index b375482..355b00d 100644
--- a/util/win32/Win32Window.cpp
+++ b/util/win32/Win32Window.cpp
@@ -474,3 +474,22 @@
{
return new Win32Window();
}
+
+bool Win32Window::resize(int width, int height)
+{
+ RECT windowRect;
+ if (!GetWindowRect(mNativeWindow, &windowRect))
+ {
+ return false;
+ }
+
+ if (!MoveWindow(mNativeWindow, windowRect.left, windowRect.top, width, height, FALSE))
+ {
+ return false;
+ }
+
+ mWidth = width;
+ mHeight = height;
+
+ return true;
+}
diff --git a/util/win32/Win32Window.h b/util/win32/Win32Window.h
index 640441c..c58ba3f 100644
--- a/util/win32/Win32Window.h
+++ b/util/win32/Win32Window.h
@@ -29,6 +29,7 @@
void pushEvent(Event event);
void setMousePosition(int x, int y);
+ bool resize(int width, int height);
private:
std::string mClassName;