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.

29 lines
569B

  1. #pragma once
  2. #include <widget/OpaqueWidget.hpp>
  3. #include <ui/common.hpp>
  4. #include <ui/MenuEntry.hpp>
  5. namespace rack {
  6. namespace ui {
  7. struct Menu : widget::OpaqueWidget {
  8. Menu* parentMenu = NULL;
  9. Menu* childMenu = NULL;
  10. /** The entry which created the child menu */
  11. MenuEntry* activeEntry = NULL;
  12. BNDcornerFlags cornerFlags = BND_CORNER_NONE;
  13. Menu();
  14. ~Menu();
  15. void setChildMenu(Menu* menu);
  16. void step() override;
  17. void draw(const DrawArgs& args) override;
  18. void onHoverScroll(const HoverScrollEvent& e) override;
  19. };
  20. } // namespace ui
  21. } // namespace rack