-/* $Id$
-
-This file is part of libmspgbase
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#ifndef MSP_GBASE_SMOOTHCONTROL_H_
-#define MSP_GBASE_SMOOTHCONTROL_H_
+#ifndef MSP_INPUT_SMOOTHCONTROL_H_
+#define MSP_INPUT_SMOOTHCONTROL_H_
#include "control.h"
SmoothControl();
SmoothControl(const ControlSource &);
SmoothControl(Device &, ControlSrcType, unsigned);
- virtual ~SmoothControl();
+ ~SmoothControl();
/// Sets the dead zone value. Any value below this will be treated as 0.
void set_dead_zone(float);
- /// Sets the max-out threshold. Any value above this will be treated as 1.
+ /** Sets the max-out threshold. Any value above this will be treated as 1.
+ A negative value can be used to disable the threshold entirely. */
void set_threshold(float);
+ /// Sets dead zone and threshold in a single function call.
+ void set_range(float, float);
+
void pair(SmoothControl *ctrl);
float get_value() const { return value; }
private:
- virtual void on_press();
- virtual void on_release();
- virtual void on_motion(float, float);
+ void on_press() override;
+ void on_release() override;
+ void on_motion(float, float) override;
};
} // namespace Input