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.

32 lines
698B

  1. #pragma once
  2. #include <app/common.hpp>
  3. #include <ui/ScrollWidget.hpp>
  4. #include <widget/ZoomWidget.hpp>
  5. #include <app/RackWidget.hpp>
  6. namespace rack {
  7. namespace app {
  8. struct RackScrollWidget : ui::ScrollWidget {
  9. widget::ZoomWidget* zoomWidget;
  10. RackWidget* rackWidget;
  11. /** The pivot point for zooming */
  12. math::Vec zoomPos;
  13. math::Vec oldOffset;
  14. RackScrollWidget();
  15. void reset();
  16. void step() override;
  17. void draw(const DrawArgs& args) override;
  18. void onHoverKey(const HoverKeyEvent& e) override;
  19. void onHoverScroll(const HoverScrollEvent& e) override;
  20. void onHover(const HoverEvent& e) override;
  21. void onButton(const ButtonEvent& e) override;
  22. };
  23. } // namespace app
  24. } // namespace rack