X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fsmoothcontrol.cpp;h=3218753157628fc477c968acaa7a692673913b1d;hb=7302a061c57602203895b616bf54d96269c677c6;hp=6f4f5a487857deebe9fdaeaec277def92126937e;hpb=84e5e859191eeca5cf8b58da29b5f369be25c93c;p=libs%2Fgui.git diff --git a/source/input/smoothcontrol.cpp b/source/input/smoothcontrol.cpp index 6f4f5a4..3218753 100644 --- a/source/input/smoothcontrol.cpp +++ b/source/input/smoothcontrol.cpp @@ -87,6 +87,7 @@ void SmoothControl::on_release() void SmoothControl::on_motion(float v, float r) { + float old_value = value; if(v<-dead_zone) value = v+dead_zone; else if(v>dead_zone) @@ -104,6 +105,11 @@ void SmoothControl::on_motion(float v, float r) value /= threshold-dead_zone; } + if(value && !old_value) + rising_edge = true; + else if(!value && old_value) + falling_edge = true; + signal_motion.emit(value); if(paired_ctrl && (v>0 || (v==0 && paired_ctrl->value!=0)))