@@ -258,6 +258,7 @@ struct Label : Widget { | |||||
struct MenuOverlay : OpaqueWidget { | struct MenuOverlay : OpaqueWidget { | ||||
void onDragDrop(Widget *origin); | void onDragDrop(Widget *origin); | ||||
bool onScrollOpaque(Vec scrollRel) {return true;} | bool onScrollOpaque(Vec scrollRel) {return true;} | ||||
Widget *onHoverKey(Vec pos, int key); | |||||
}; | }; | ||||
struct Menu : OpaqueWidget { | struct Menu : OpaqueWidget { | ||||
@@ -68,6 +68,9 @@ void RackScene::draw(NVGcontext *vg) { | |||||
} | } | ||||
Widget *RackScene::onHoverKey(Vec pos, int key) { | Widget *RackScene::onHoverKey(Vec pos, int key) { | ||||
Widget *w = Widget::onHoverKey(pos, key); | |||||
if (w) return w; | |||||
switch (key) { | switch (key) { | ||||
case GLFW_KEY_N: | case GLFW_KEY_N: | ||||
if (guiIsModPressed() && !guiIsShiftPressed()) { | if (guiIsModPressed() && !guiIsShiftPressed()) { | ||||
@@ -99,7 +102,7 @@ Widget *RackScene::onHoverKey(Vec pos, int key) { | |||||
break; | break; | ||||
} | } | ||||
return Widget::onHoverKey(pos, key); | |||||
return NULL; | |||||
} | } | ||||
@@ -241,9 +241,6 @@ void guiInit() { | |||||
err = glewInit(); | err = glewInit(); | ||||
assert(err == GLEW_OK); | assert(err == GLEW_OK); | ||||
// Check framebuffer support | |||||
assert(GLEW_EXT_framebuffer_object); | |||||
// GLEW generates GL error because it calls glGetString(GL_EXTENSIONS), we'll consume it here. | // GLEW generates GL error because it calls glGetString(GL_EXTENSIONS), we'll consume it here. | ||||
glGetError(); | glGetError(); | ||||
@@ -10,5 +10,12 @@ void MenuOverlay::onDragDrop(Widget *origin) { | |||||
} | } | ||||
} | } | ||||
Widget *MenuOverlay::onHoverKey(Vec pos, int key) { | |||||
Widget *w = Widget::onHoverKey(pos, key); | |||||
if (w) return w; | |||||
// Steal all keys | |||||
return this; | |||||
} | |||||
} // namespace rack | } // namespace rack |