]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/button.cpp
Pass coordinates relative to the receiving widget's geometry
[libs/gltk.git] / source / button.cpp
index f078ca6fcae2420ed88bdc8b41e32d786366d08e..bc6fd274d7362dae651c7d15f37eafdbb62f7be7 100644 (file)
@@ -23,9 +23,9 @@ void Button::set_text(const std::string &t)
        text=t;
 }
 
-void Button::button_press(int x, int y, unsigned btn)
+void Button::button_press(int, int, unsigned btn)
 {
-       if(geom.is_inside(x, y) && btn==1)
+       if(btn==1)
                state=ACTIVE;
 }
 
@@ -33,10 +33,10 @@ void Button::button_release(int x, int y, unsigned btn)
 {
        if(btn==1)
        {
-               if(geom.is_inside(x, y))
+               if(geom.is_inside_relative(x, y))
                {
-                       signal_clicked.emit();
                        state=HOVER;
+                       signal_clicked.emit();
                }
                else
                        state=NORMAL;
@@ -53,12 +53,10 @@ void Button::pointer_leave()
        state=NORMAL;
 }
 
-void Button::render_part(const Part &part) const
+void Button::render_special(const Part &part) const
 {
        if(part.get_name()=="text")
                render_text(part, text);
-       else
-               Widget::render_part(part);
 }