#ifndef MSP_INPUT_BINARYCONTROL_H_
#define MSP_INPUT_BINARYCONTROL_H_
+#include <msp/graphics/mspgui_api.h>
#include "control.h"
namespace Msp {
is considered to be active when its value is above a threshold (0.5 by
default).
*/
-class BinaryControl: public Control
+class MSPGUI_API BinaryControl: public Control
{
public:
sigc::signal<void> signal_press;
sigc::signal<void> signal_release;
private:
- bool state;
- float threshold;
+ bool state = false;
+ float threshold = 0.5f;
public:
- BinaryControl();
+ BinaryControl() = default;
BinaryControl(const ControlSource &);
BinaryControl(Device &, ControlSrcType, unsigned);
- virtual ~BinaryControl();
+ ~BinaryControl();
/** Sets the threshold between states for axis sources. No effect on button
sources */
bool was_released() const { return falling_edge; }
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