summaryrefslogtreecommitdiff
path: root/plugingui/window.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2017-02-08 22:22:00 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2017-02-08 22:22:00 +0100
commit728abec962f993309acf3ebb1317b5f3773f18c7 (patch)
treeab4e22fd914681fa42babfcba184a932956c9667 /plugingui/window.cc
parentf762a1fbf4ccf565953855695ddd0bf60b34bf8e (diff)
UI resize refactoring part 1.
Diffstat (limited to 'plugingui/window.cc')
-rw-r--r--plugingui/window.cc44
1 files changed, 27 insertions, 17 deletions
diff --git a/plugingui/window.cc b/plugingui/window.cc
index 5d929b2..98c0c80 100644
--- a/plugingui/window.cc
+++ b/plugingui/window.cc
@@ -46,7 +46,7 @@ namespace GUI {
Window::Window(void* native_window)
: Widget(nullptr)
- , wpixbuf(100, 100)
+ , wpixbuf(1, 1)
{
// Make sure we have a valid size when initialising the NativeWindow
_width = wpixbuf.width;
@@ -88,24 +88,39 @@ void Window::setCaption(const std::string& caption)
//! This overload the resize method on Widget and simply requests a window resize
//! on the windowmanager/OS. The resized() method is called by the event handler
//! once the window has been resized.
-void Window::resize(int width, int height)
+void Window::resize(std::size_t width, std::size_t height)
{
- if((width < 1) || (height < 1))
- {
- return;
- }
-
native->resize(width, height);
}
//! This overload the move method on Widget and simply requests a window move
//! on the windowmanager/OS. The moved() method is called by the event handler
//! once the window has been moved.
-void Window::move(size_t x, size_t y)
+void Window::move(int x, int y)
{
native->move(x, y);
}
+int Window::x()
+{
+ return native->getPosition().first;
+}
+
+int Window::y()
+{
+ return native->getPosition().second;
+}
+
+size_t Window::width()
+{
+ return native->getSize().first;
+}
+
+size_t Window::height()
+{
+ return native->getSize().second;
+}
+
size_t Window::windowX()
{
return 0;
@@ -194,15 +209,10 @@ void Window::redraw()
//! Called by event handler when an windowmanager/OS window resize event has
//! been received. Do not call this directly.
-void Window::resized(size_t width, size_t height)
+void Window::resized(std::size_t width, std::size_t height)
{
- if((_width == width) && (_height == height))
- {
- return;
- }
-
- wpixbuf.realloc(width, height);
- Widget::resize(width, height);
+ wpixbuf.realloc(this->width(), this->height());
+ Widget::resize(this->width(), this->height());
updateBuffer();
}
@@ -210,7 +220,7 @@ void Window::resized(size_t width, size_t height)
//! been received. Do not call this directly.
void Window::moved(int x, int y)
{
- // Make sure widget corrdinates are updated.
+ // Make sure widget coordinates are updated.
Widget::move(x, y);
}