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.

41 lines
585B

  1. #include "widgets.hpp"
  2. namespace rack {
  3. void Scene::setOverlay(Widget *w) {
  4. if (overlay) {
  5. removeChild(overlay);
  6. delete overlay;
  7. overlay = NULL;
  8. }
  9. if (w) {
  10. addChild(w);
  11. overlay = w;
  12. overlay->box.pos = Vec();
  13. }
  14. }
  15. Menu *Scene::createMenu() {
  16. // Get relative position of the click
  17. MenuOverlay *overlay = new MenuOverlay();
  18. Menu *menu = new Menu();
  19. menu->box.pos = gMousePos;
  20. overlay->addChild(menu);
  21. gScene->setOverlay(overlay);
  22. return menu;
  23. }
  24. void Scene::step() {
  25. if (overlay) {
  26. overlay->box.size = box.size;
  27. }
  28. Widget::step();
  29. }
  30. } // namespace rack