|
|
@@ -399,6 +399,30 @@ struct ViewButton : MenuButton { |
|
|
|
menu->cornerFlags = BND_CORNER_TOP; |
|
|
|
menu->box.pos = getAbsoluteOffset(math::Vec(0, box.size.y)); |
|
|
|
|
|
|
|
menu->addChild(createMenuLabel("Window")); |
|
|
|
|
|
|
|
bool fullscreen = APP->window->isFullScreen(); |
|
|
|
std::string fullscreenText = "F11"; |
|
|
|
if (fullscreen) |
|
|
|
fullscreenText += " " CHECKMARK_STRING; |
|
|
|
menu->addChild(createMenuItem("Fullscreen", fullscreenText, [=]() { |
|
|
|
APP->window->setFullScreen(!fullscreen); |
|
|
|
})); |
|
|
|
|
|
|
|
double frameRate = APP->window->getMonitorRefreshRate() / settings::frameSwapInterval; |
|
|
|
menu->addChild(createSubmenuItem("Frame rate", string::f("%.0f Hz", frameRate), [=](ui::Menu* menu) { |
|
|
|
for (int i = 1; i <= 6; i++) { |
|
|
|
double frameRate = APP->window->getMonitorRefreshRate() / i; |
|
|
|
menu->addChild(createCheckMenuItem(string::f("%.0f Hz", frameRate), "", |
|
|
|
[=]() {return settings::frameSwapInterval == i;}, |
|
|
|
[=]() {settings::frameSwapInterval = i;} |
|
|
|
)); |
|
|
|
} |
|
|
|
})); |
|
|
|
|
|
|
|
menu->addChild(new ui::MenuSeparator); |
|
|
|
menu->addChild(createMenuLabel("Appearance")); |
|
|
|
|
|
|
|
menu->addChild(createBoolPtrMenuItem("Show tooltips", "", &settings::tooltips)); |
|
|
|
|
|
|
|
ZoomSlider* zoomSlider = new ZoomSlider; |
|
|
@@ -421,28 +445,10 @@ struct ViewButton : MenuButton { |
|
|
|
haloBrightnessSlider->box.size.x = 250.0; |
|
|
|
menu->addChild(haloBrightnessSlider); |
|
|
|
|
|
|
|
double frameRate = APP->window->getMonitorRefreshRate() / settings::frameSwapInterval; |
|
|
|
menu->addChild(createSubmenuItem("Frame rate", string::f("%.0f Hz", frameRate), [=](ui::Menu* menu) { |
|
|
|
for (int i = 1; i <= 6; i++) { |
|
|
|
double frameRate = APP->window->getMonitorRefreshRate() / i; |
|
|
|
menu->addChild(createCheckMenuItem(string::f("%.0f Hz", frameRate), "", |
|
|
|
[=]() {return settings::frameSwapInterval == i;}, |
|
|
|
[=]() {settings::frameSwapInterval = i;} |
|
|
|
)); |
|
|
|
} |
|
|
|
})); |
|
|
|
|
|
|
|
bool fullscreen = APP->window->isFullScreen(); |
|
|
|
std::string fullscreenText = "F11"; |
|
|
|
if (fullscreen) |
|
|
|
fullscreenText += " " CHECKMARK_STRING; |
|
|
|
menu->addChild(createMenuItem("Fullscreen", fullscreenText, [=]() { |
|
|
|
APP->window->setFullScreen(!fullscreen); |
|
|
|
})); |
|
|
|
|
|
|
|
menu->addChild(new ui::MenuSeparator); |
|
|
|
menu->addChild(createMenuLabel("Parameters")); |
|
|
|
|
|
|
|
menu->addChild(createBoolPtrMenuItem("Lock cursor while dragging params", "", &settings::allowCursorLock)); |
|
|
|
menu->addChild(createBoolPtrMenuItem("Lock cursor while dragging", "", &settings::allowCursorLock)); |
|
|
|
|
|
|
|
static const std::vector<std::string> knobModeLabels = { |
|
|
|
"Linear", |
|
|
@@ -466,9 +472,12 @@ struct ViewButton : MenuButton { |
|
|
|
knobScrollSensitivitySlider->box.size.x = 250.0; |
|
|
|
menu->addChild(knobScrollSensitivitySlider); |
|
|
|
|
|
|
|
menu->addChild(createBoolPtrMenuItem("Lock module positions", "", &settings::lockModules)); |
|
|
|
menu->addChild(new ui::MenuSeparator); |
|
|
|
menu->addChild(createMenuLabel("Module dragging")); |
|
|
|
|
|
|
|
menu->addChild(createBoolPtrMenuItem("Lock positions", "", &settings::lockModules)); |
|
|
|
|
|
|
|
menu->addChild(createBoolPtrMenuItem("Auto-squeeze modules when dragging", "", &settings::squeezeModules)); |
|
|
|
menu->addChild(createBoolPtrMenuItem("Auto-squeeze algorithm (experimental)", "", &settings::squeezeModules)); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|