#define MSP_GLTK_ROOT_H_
#include <sigc++/trackable.h>
+#include <msp/gl/camera.h>
+#include <msp/gl/program.h>
#include <msp/graphics/window.h>
#include <msp/input/keyboard.h>
#include <msp/input/mouse.h>
int pointer_y;
Time::TimeStamp tooltip_timeout;
Widget *tooltip_target;
+ Msp::GL::Camera camera;
+ Msp::GL::Program *shprog;
public:
/** Creates a Root widget for a window. The geometry is set to match the
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();
bool character_event(StringCodec::unichar);
void get_pointer(int &, int &);
+ void update_camera();
+
+ virtual void on_geometry_change();
+ virtual void on_child_added(Widget &);
};
} // namespace GLtk