]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/widget.cpp
Add a system for animating widgets
[libs/gltk.git] / source / widget.cpp
index aa05675b97c1c989c499916247173785593dad5c..b40aa75214f2855def232ebbd48a6f85b7b3fb66 100644 (file)
@@ -188,6 +188,20 @@ void Widget::set_state(State mask, State bits)
                rebuild();
 }
 
+void Widget::set_animation_interval(const Time::TimeDelta &iv)
+{
+       if(iv<Time::zero)
+               throw invalid_argument("Widget::set_animation_interval");
+
+       anim_interval = iv;
+       signal_request_animation.emit(anim_interval);
+}
+
+void Widget::stop_animation()
+{
+       set_animation_interval(Time::zero);
+}
+
 void Widget::rebuild()
 {
        if(!style)