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();
void render() const;
private:
- void button_press_event(unsigned);
- void button_release_event(unsigned);
- void axis_motion_event(unsigned, float, float);
- void key_press_event(unsigned);
- void key_release_event(unsigned);
- void character_event(StringCodec::unichar);
+ bool button_press_event(unsigned);
+ bool button_release_event(unsigned);
+ bool axis_motion_event(unsigned, float, float);
+ bool key_press_event(unsigned);
+ bool key_release_event(unsigned);
+ bool character_event(StringCodec::unichar);
void get_pointer(int &, int &);
+
+ virtual void on_child_added(Widget &);
};
} // namespace GLtk