|
- #pragma once
- #include <app/common.hpp>
- #include <app/ParamWidget.hpp>
-
-
- namespace rack {
- namespace app {
-
-
- /** A ParamWidget that represents an integer.
- Increases by 1 each time it is clicked.
- When maxValue is reached, the next click resets to minValue.
- In momentary mode, the value is instead set to maxValue when the mouse is held and minValue when released.
- */
- struct Switch : ParamWidget {
- /** Return to original position when released */
- bool momentary = false;
- /** Hysteresis state for momentary switch */
- bool momentaryPressed = false;
- bool momentaryReleased = false;
-
- void initParamQuantity() override;
- void step() override;
- void onDoubleClick(const event::DoubleClick& e) override;
- void onDragStart(const event::DragStart& e) override;
- void onDragEnd(const event::DragEnd& e) override;
- };
-
-
- } // namespace app
- } // namespace rack
|