]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/root.cpp
Add a render method to Root that takes care of proper matrices
[libs/gltk.git] / source / root.cpp
index 9023b7cb5c0f0f89578dbd864f12228dab9d5f88..17416469fbb7961bc5c5ca6bb66973cda0a0fa14 100644 (file)
@@ -5,6 +5,7 @@ Copyright © 2007-2009  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
+#include <msp/gl/blend.h>
 #include <msp/input/keys.h>
 #include <msp/time/units.h>
 #include <msp/time/utils.h>
@@ -16,8 +17,7 @@ namespace Msp {
 namespace GLtk {
 
 Root::Root(const Resources &r, Graphics::Window &w):
-       Widget(r),
-       Panel(r),
+       resources(r),
        window(w),
        lbl_tooltip(0),
        tooltip_target(0)
@@ -53,7 +53,7 @@ void Root::tick()
                {
                        if(!lbl_tooltip)
                        {
-                               lbl_tooltip = new Label(res);
+                               lbl_tooltip = new Label;
                                add(*lbl_tooltip);
                                lbl_tooltip->set_style("tooltip");
                        }
@@ -79,6 +79,15 @@ void Root::tick()
        }
 }
 
+void Root::render() const
+{
+       GL::MatrixStack::projection() = GL::Matrix::ortho_bottomleft(geom.w, geom.h);
+       GL::MatrixStack::modelview() = GL::Matrix();
+       GL::Bind bind_blend(GL::Blend::alpha());
+
+       Widget::render();
+}
+
 void Root::button_press_event(int x, int y, unsigned btn, unsigned mod)
 {
        if(visible)