From 358f45ef39381b4eb4f37dc6c20e52fd07c0fbcf Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Sun, 24 Mar 2013 17:42:16 +0200 Subject: [PATCH] Take a Window pointer along with custom input devices --- source/root.cpp | 13 +++++++------ source/root.h | 6 ++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/source/root.cpp b/source/root.cpp index 1b47e8a..eaf5819 100644 --- a/source/root.cpp +++ b/source/root.cpp @@ -15,22 +15,23 @@ Root::Root(const Resources &r, Graphics::Window &window): mouse(new Input::Mouse(window)), own_input(true) { - set_geometry(Geometry(0, 0, window.get_width(), window.get_height())); - - init(); + init(&window); } -Root::Root(const Resources &r, Input::Keyboard *k, Input::Mouse *m): +Root::Root(const Resources &r, Graphics::Window *window, Input::Keyboard *k, Input::Mouse *m): resources(r), keyboard(k), mouse(m), own_input(false) { - init(); + init(window); } -void Root::init() +void Root::init(Graphics::Window *window) { + if(window) + set_geometry(Geometry(0, 0, window->get_width(), window->get_height())); + lbl_tooltip = 0; tooltip_target = 0; diff --git a/source/root.h b/source/root.h index 5d5a3d1..64829e7 100644 --- a/source/root.h +++ b/source/root.h @@ -38,9 +38,11 @@ public: window's size, and input devices are created automatically. */ Root(const Resources &, Graphics::Window &); - Root(const Resources &, Input::Keyboard *, Input::Mouse *); + /** Creates a Root widget with custom input devices. If window is not null, + it is used to set the widget's initial geometry. */ + Root(const Resources &, Graphics::Window *, Input::Keyboard *, Input::Mouse *); private: - void init(); + void init(Graphics::Window *); public: virtual ~Root(); -- 2.43.0