- set_geometry(Geometry(0, 0, window.get_width(), window.get_height()));
+ init(&window);
+}
+
+Root::Root(const Resources &r, Graphics::Window *window, Input::Keyboard *k, Input::Mouse *m):
+ resources(r),
+ keyboard(k),
+ mouse(m),
+ own_input(false)
+{
+ init(window);
+}
+
+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;
+
+ camera.set_orthographic(geom.w, geom.h);
+ update_camera();
+
+ if(GL::ARB_shader_objects)
+ {
+ shprog = new GL::Program;
+ GL::ProgramBuilder::StandardFeatures features;
+ features.material = true;
+ features.texture = true;
+ GL::ProgramBuilder(features).add_shaders(*shprog);
+ shprog->link();
+ }
+ else
+ shprog = 0;