You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
512B

  1. #pragma once
  2. #include "common.hpp"
  3. #include "ParamWidget.hpp"
  4. namespace rack {
  5. /** Implements vertical dragging behavior for ParamWidgets */
  6. struct Knob : ParamWidget {
  7. /** Snap to nearest integer while dragging */
  8. bool snap = false;
  9. /** Multiplier for mouse movement to adjust knob value */
  10. float speed = 1.0;
  11. float dragValue;
  12. Knob();
  13. void onDragStart(event::DragStart &e) override;
  14. void onDragMove(event::DragMove &e) override;
  15. void onDragEnd(event::DragEnd &e) override;
  16. };
  17. } // namespace rack