#include <sigc++/trackable.h>
#include <msp/gl/camera.h>
#include <msp/gl/program.h>
+#include <msp/gl/renderable.h>
#include <msp/graphics/window.h>
#include <msp/input/keyboard.h>
#include <msp/input/mouse.h>
/**
A Root is a special type of Panel that covers the entire viewport and receives
-input from keyboard and mouse.
+input from keyboard and mouse. It can be used by itself or in a GL::Pipeline.
+Due to its specialized nature it's recommended to not use it with Scenes or
+other containers.
*/
-class Root: public Panel, public sigc::trackable
+class Root: public Panel, public GL::Renderable, public sigc::trackable
{
public:
sigc::signal<std::string, int, int> signal_tooltip;
virtual unsigned get_height() const { return geom.h; }
void tick();
- void render() const;
+ virtual void render(const GL::Tag & = GL::Tag()) const;
+ virtual void render(GL::Renderer &, const GL::Tag & = GL::Tag()) const;
private:
bool button_press_event(unsigned);