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.
|
- #pragma once
-
- #include "widgets.hpp"
-
-
- namespace rack {
-
-
- /** Deletes itself from parent when clicked */
- struct MenuOverlay : OpaqueWidget {
- void step() override {
- Widget::step();
-
- // Fit all children in the box
- for (Widget *child : children) {
- child->box = child->box.nudge(box.zeroPos());
- }
- }
-
- void on(event::Button &e) override;
- void on(event::HoverKey &e) override;
- };
-
-
- } // namespace rack
-
-
- #include "ui/Scene.hpp"
-
-
- namespace rack {
-
-
- inline void MenuOverlay::on(event::Button &e) {
- EventWidget::on(e);
- if (!e.target) {
- // deletes `this`
- gScene->setOverlay(NULL);
- e.target = this;
- }
- }
-
- inline void MenuOverlay::on(event::HoverKey &e) {
- switch (e.key) {
- case GLFW_KEY_ESCAPE: {
- gScene->setOverlay(NULL);
- // e.consumed = true;
- return;
- } break;
- }
-
- // if (!e.consumed) {
- // // Recurse children but consume the event
- // Widget::onHoverKey(e);
- // e.consumed = true;
- // }
- }
-
-
- } // namespace rack
|