Browse Source

Rename gui.hpp to window.hpp

tags/v0.6.0
Andrew Belt 7 years ago
parent
commit
979e44f650
25 changed files with 98 additions and 97 deletions
  1. +1
    -1
      include/widgets.hpp
  2. +15
    -15
      include/window.hpp
  3. +4
    -4
      src/app/Knob.cpp
  4. +8
    -8
      src/app/ModuleWidget.cpp
  5. +2
    -2
      src/app/PluginManagerWidget.cpp
  6. +2
    -2
      src/app/Port.cpp
  7. +8
    -8
      src/app/RackScene.cpp
  8. +1
    -1
      src/app/RackScrollWidget.cpp
  9. +1
    -1
      src/app/RackWidget.cpp
  10. +1
    -1
      src/app/SVGPanel.cpp
  11. +7
    -7
      src/app/Toolbar.cpp
  12. +1
    -1
      src/app/WireWidget.cpp
  13. +1
    -1
      src/engine.cpp
  14. +4
    -4
      src/main.cpp
  15. +6
    -6
      src/settings.cpp
  16. +2
    -2
      src/ui/MenuItem.cpp
  17. +2
    -2
      src/ui/MenuLabel.cpp
  18. +1
    -1
      src/ui/Scene.cpp
  19. +3
    -3
      src/ui/ScrollBar.cpp
  20. +4
    -4
      src/ui/ScrollWidget.cpp
  21. +3
    -3
      src/ui/Slider.cpp
  22. +3
    -3
      src/ui/TextField.cpp
  23. +1
    -1
      src/ui/Tooltip.cpp
  24. +1
    -1
      src/widgets/FramebufferWidget.cpp
  25. +16
    -15
      src/window.cpp

+ 1
- 1
include/widgets.hpp View File

@@ -16,7 +16,7 @@ namespace rack {
//////////////////// ////////////////////


// Constructing these directly will load from the disk each time. Use the load() functions to load from disk and cache them as long as the shared_ptr is held. // Constructing these directly will load from the disk each time. Use the load() functions to load from disk and cache them as long as the shared_ptr is held.
// Implemented in gui.cpp
// Implemented in window.cpp


struct Font { struct Font {
int handle; int handle;


include/gui.hpp → include/window.hpp View File

@@ -5,9 +5,9 @@




#ifdef ARCH_MAC #ifdef ARCH_MAC
#define GUI_MOD_KEY_NAME "Cmd"
#define WINDOW_MOD_KEY_NAME "Cmd"
#else #else
#define GUI_MOD_KEY_NAME "Ctrl"
#define WINDOW_MOD_KEY_NAME "Ctrl"
#endif #endif




@@ -30,19 +30,19 @@ extern int gGuiFrame;
extern Vec gMousePos; extern Vec gMousePos;




void guiInit();
void guiDestroy();
void guiRun();
void guiClose();
void guiCursorLock();
void guiCursorUnlock();
bool guiIsModPressed();
bool guiIsShiftPressed();
Vec guiGetWindowSize();
void guiSetWindowSize(Vec size);
Vec guiGetWindowPos();
void guiSetWindowPos(Vec pos);
bool guiIsMaximized();
void windowInit();
void windowDestroy();
void windowRun();
void windowClose();
void windowCursorLock();
void windowCursorUnlock();
bool windowIsModPressed();
bool windowIsShiftPressed();
Vec windowGetWindowSize();
void windowSetWindowSize(Vec size);
Vec windowGetWindowPos();
void windowSetWindowPos(Vec pos);
bool windowIsMaximized();




} // namespace rack } // namespace rack

+ 4
- 4
src/app/Knob.cpp View File

@@ -1,5 +1,5 @@
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "engine.hpp" #include "engine.hpp"
// For GLFW_KEY_LEFT_CONTROL, etc. // For GLFW_KEY_LEFT_CONTROL, etc.
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
@@ -11,7 +11,7 @@ namespace rack {




void Knob::onDragStart(EventDragStart &e) { void Knob::onDragStart(EventDragStart &e) {
guiCursorLock();
windowCursorLock();
dragValue = value; dragValue = value;
randomizable = false; randomizable = false;
} }
@@ -23,7 +23,7 @@ void Knob::onDragMove(EventDragMove &e) {
delta *= range; delta *= range;


// Drag slower if Mod is held // Drag slower if Mod is held
if (guiIsModPressed())
if (windowIsModPressed())
delta /= 16.0; delta /= 16.0;
dragValue += delta; dragValue += delta;
if (snap) if (snap)
@@ -33,7 +33,7 @@ void Knob::onDragMove(EventDragMove &e) {
} }


void Knob::onDragEnd(EventDragEnd &e) { void Knob::onDragEnd(EventDragEnd &e) {
guiCursorUnlock();
windowCursorUnlock();
randomizable = true; randomizable = true;
} }




+ 8
- 8
src/app/ModuleWidget.cpp View File

@@ -1,7 +1,7 @@
#include "app.hpp" #include "app.hpp"
#include "engine.hpp" #include "engine.hpp"
#include "plugin.hpp" #include "plugin.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {
@@ -220,7 +220,7 @@ void ModuleWidget::onMouseMove(EventMouseMove &e) {
if (!gFocusedWidget) { if (!gFocusedWidget) {
// Instead of checking key-down events, delete the module even if key-repeat hasn't fired yet and the cursor is hovering over the widget. // Instead of checking key-down events, delete the module even if key-repeat hasn't fired yet and the cursor is hovering over the widget.
if (glfwGetKey(gWindow, GLFW_KEY_DELETE) == GLFW_PRESS || glfwGetKey(gWindow, GLFW_KEY_BACKSPACE) == GLFW_PRESS) { if (glfwGetKey(gWindow, GLFW_KEY_DELETE) == GLFW_PRESS || glfwGetKey(gWindow, GLFW_KEY_BACKSPACE) == GLFW_PRESS) {
if (!guiIsModPressed() && !guiIsShiftPressed()) {
if (!windowIsModPressed() && !windowIsShiftPressed()) {
gRackWidget->deleteModule(this); gRackWidget->deleteModule(this);
this->finalizeEvents(); this->finalizeEvents();
delete this; delete this;
@@ -234,21 +234,21 @@ void ModuleWidget::onMouseMove(EventMouseMove &e) {
void ModuleWidget::onHoverKey(EventHoverKey &e) { void ModuleWidget::onHoverKey(EventHoverKey &e) {
switch (e.key) { switch (e.key) {
case GLFW_KEY_I: case GLFW_KEY_I:
if (guiIsModPressed() && !guiIsShiftPressed()) {
if (windowIsModPressed() && !windowIsShiftPressed()) {
reset(); reset();
e.consumed = true; e.consumed = true;
return; return;
} }
break; break;
case GLFW_KEY_R: case GLFW_KEY_R:
if (guiIsModPressed() && !guiIsShiftPressed()) {
if (windowIsModPressed() && !windowIsShiftPressed()) {
randomize(); randomize();
e.consumed = true; e.consumed = true;
return; return;
} }
break; break;
case GLFW_KEY_D: case GLFW_KEY_D:
if (guiIsModPressed() && !guiIsShiftPressed()) {
if (windowIsModPressed() && !windowIsShiftPressed()) {
gRackWidget->cloneModule(this); gRackWidget->cloneModule(this);
e.consumed = true; e.consumed = true;
return; return;
@@ -319,13 +319,13 @@ Menu *ModuleWidget::createContextMenu() {


ResetMenuItem *resetItem = new ResetMenuItem(); ResetMenuItem *resetItem = new ResetMenuItem();
resetItem->text = "Initialize"; resetItem->text = "Initialize";
resetItem->rightText = GUI_MOD_KEY_NAME "+I";
resetItem->rightText = WINDOW_MOD_KEY_NAME "+I";
resetItem->moduleWidget = this; resetItem->moduleWidget = this;
menu->addChild(resetItem); menu->addChild(resetItem);


RandomizeMenuItem *randomizeItem = new RandomizeMenuItem(); RandomizeMenuItem *randomizeItem = new RandomizeMenuItem();
randomizeItem->text = "Randomize"; randomizeItem->text = "Randomize";
randomizeItem->rightText = GUI_MOD_KEY_NAME "+R";
randomizeItem->rightText = WINDOW_MOD_KEY_NAME "+R";
randomizeItem->moduleWidget = this; randomizeItem->moduleWidget = this;
menu->addChild(randomizeItem); menu->addChild(randomizeItem);


@@ -336,7 +336,7 @@ Menu *ModuleWidget::createContextMenu() {


CloneMenuItem *cloneItem = new CloneMenuItem(); CloneMenuItem *cloneItem = new CloneMenuItem();
cloneItem->text = "Duplicate"; cloneItem->text = "Duplicate";
cloneItem->rightText = GUI_MOD_KEY_NAME "+D";
cloneItem->rightText = WINDOW_MOD_KEY_NAME "+D";
cloneItem->moduleWidget = this; cloneItem->moduleWidget = this;
menu->addChild(cloneItem); menu->addChild(cloneItem);




+ 2
- 2
src/app/PluginManagerWidget.cpp View File

@@ -1,7 +1,7 @@
#include <thread> #include <thread>
#include "app.hpp" #include "app.hpp"
#include "plugin.hpp" #include "plugin.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "../ext/osdialog/osdialog.h" #include "../ext/osdialog/osdialog.h"




@@ -24,7 +24,7 @@ struct SyncButton : Button {
} }
if (completed) { if (completed) {
if (osdialog_message(OSDIALOG_INFO, OSDIALOG_OK_CANCEL, "All plugins have been updated. Close Rack and re-launch it to load new updates.")) { if (osdialog_message(OSDIALOG_INFO, OSDIALOG_OK_CANCEL, "All plugins have been updated. Close Rack and re-launch it to load new updates.")) {
guiClose();
windowClose();
} }
completed = false; completed = false;
} }


+ 2
- 2
src/app/Port.cpp View File

@@ -1,5 +1,5 @@
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "engine.hpp" #include "engine.hpp"
#include "componentlibrary.hpp" #include "componentlibrary.hpp"


@@ -65,7 +65,7 @@ void Port::onMouseDown(EventMouseDown &e) {
void Port::onDragStart(EventDragStart &e) { void Port::onDragStart(EventDragStart &e) {
// Try to grab wire on top of stack // Try to grab wire on top of stack
WireWidget *wire = gRackWidget->wireContainer->getTopWire(this); WireWidget *wire = gRackWidget->wireContainer->getTopWire(this);
if (type == OUTPUT && guiIsModPressed()) {
if (type == OUTPUT && windowIsModPressed()) {
wire = NULL; wire = NULL;
} }




+ 8
- 8
src/app/RackScene.cpp View File

@@ -1,5 +1,5 @@
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "util/request.hpp" #include "util/request.hpp"
#include "../ext/osdialog/osdialog.h" #include "../ext/osdialog/osdialog.h"
#include <string.h> #include <string.h>
@@ -75,7 +75,7 @@ void RackScene::step() {
if (osdialog_message(OSDIALOG_INFO, OSDIALOG_YES_NO, versionMessage.c_str())) { if (osdialog_message(OSDIALOG_INFO, OSDIALOG_YES_NO, versionMessage.c_str())) {
std::thread t(openBrowser, "https://vcvrack.com/"); std::thread t(openBrowser, "https://vcvrack.com/");
t.detach(); t.detach();
guiClose();
windowClose();
} }
newVersion = ""; newVersion = "";
} }
@@ -91,33 +91,33 @@ void RackScene::onHoverKey(EventHoverKey &e) {
if (!e.consumed) { if (!e.consumed) {
switch (e.key) { switch (e.key) {
case GLFW_KEY_N: { case GLFW_KEY_N: {
if (guiIsModPressed() && !guiIsShiftPressed()) {
if (windowIsModPressed() && !windowIsShiftPressed()) {
gRackWidget->reset(); gRackWidget->reset();
e.consumed = true; e.consumed = true;
return; return;
} }
} break; } break;
case GLFW_KEY_Q: { case GLFW_KEY_Q: {
if (guiIsModPressed() && !guiIsShiftPressed()) {
guiClose();
if (windowIsModPressed() && !windowIsShiftPressed()) {
windowClose();
e.consumed = true; e.consumed = true;
return; return;
} }
} break; } break;
case GLFW_KEY_O: { case GLFW_KEY_O: {
if (guiIsModPressed() && !guiIsShiftPressed()) {
if (windowIsModPressed() && !windowIsShiftPressed()) {
gRackWidget->openDialog(); gRackWidget->openDialog();
e.consumed = true; e.consumed = true;
return; return;
} }
} break; } break;
case GLFW_KEY_S: { case GLFW_KEY_S: {
if (guiIsModPressed() && !guiIsShiftPressed()) {
if (windowIsModPressed() && !windowIsShiftPressed()) {
gRackWidget->saveDialog(); gRackWidget->saveDialog();
e.consumed = true; e.consumed = true;
return; return;
} }
if (guiIsModPressed() && guiIsShiftPressed()) {
if (windowIsModPressed() && windowIsShiftPressed()) {
gRackWidget->saveAsDialog(); gRackWidget->saveAsDialog();
e.consumed = true; e.consumed = true;
return; return;


+ 1
- 1
src/app/RackScrollWidget.cpp View File

@@ -1,5 +1,5 @@
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {


+ 1
- 1
src/app/RackWidget.cpp View File

@@ -1,7 +1,7 @@
#include "app.hpp" #include "app.hpp"
#include "engine.hpp" #include "engine.hpp"
#include "plugin.hpp" #include "plugin.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "settings.hpp" #include "settings.hpp"
#include "asset.hpp" #include "asset.hpp"
#include <map> #include <map>


+ 1
- 1
src/app/SVGPanel.cpp View File

@@ -1,5 +1,5 @@
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {


+ 7
- 7
src/app/Toolbar.cpp View File

@@ -1,5 +1,5 @@
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "engine.hpp" #include "engine.hpp"




@@ -32,7 +32,7 @@ struct SaveAsItem : MenuItem {


struct QuitItem : MenuItem { struct QuitItem : MenuItem {
void onAction(EventAction &e) override { void onAction(EventAction &e) override {
guiClose();
windowClose();
} }
}; };


@@ -43,11 +43,11 @@ struct FileChoice : ChoiceButton {
menu->box.size.x = box.size.x; menu->box.size.x = box.size.x;


{ {
menu->addChild(construct<NewItem>(&MenuItem::text, "New", &MenuItem::rightText, GUI_MOD_KEY_NAME "+N"));
menu->addChild(construct<OpenItem>(&MenuItem::text, "Open", &MenuItem::rightText, GUI_MOD_KEY_NAME "+O"));
menu->addChild(construct<SaveItem>(&MenuItem::text, "Save", &MenuItem::rightText, GUI_MOD_KEY_NAME "+S"));
menu->addChild(construct<SaveAsItem>(&MenuItem::text, "Save as", &MenuItem::rightText, GUI_MOD_KEY_NAME "+Shift+S"));
menu->addChild(construct<QuitItem>(&MenuItem::text, "Quit", &MenuItem::rightText, GUI_MOD_KEY_NAME "+Q"));
menu->addChild(construct<NewItem>(&MenuItem::text, "New", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+N"));
menu->addChild(construct<OpenItem>(&MenuItem::text, "Open", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+O"));
menu->addChild(construct<SaveItem>(&MenuItem::text, "Save", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+S"));
menu->addChild(construct<SaveAsItem>(&MenuItem::text, "Save as", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+Shift+S"));
menu->addChild(construct<QuitItem>(&MenuItem::text, "Quit", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+Q"));
} }
} }
}; };


+ 1
- 1
src/app/WireWidget.cpp View File

@@ -1,7 +1,7 @@
#include "app.hpp" #include "app.hpp"
#include "engine.hpp" #include "engine.hpp"
#include "componentlibrary.hpp" #include "componentlibrary.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {


+ 1
- 1
src/engine.cpp View File

@@ -62,7 +62,7 @@ void engineInit() {
} }


void engineDestroy() { void engineDestroy() {
// Make sure there are no wires or modules in the rack on destruction. This suggests that a module failed to remove itself before the GUI was destroyed.
// Make sure there are no wires or modules in the rack on destruction. This suggests that a module failed to remove itself before the WINDOW was destroyed.
assert(wires.empty()); assert(wires.empty());
assert(modules.empty()); assert(modules.empty());
} }


+ 4
- 4
src/main.cpp View File

@@ -1,6 +1,6 @@
#include "util/common.hpp" #include "util/common.hpp"
#include "engine.hpp" #include "engine.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "app.hpp" #include "app.hpp"
#include "plugin.hpp" #include "plugin.hpp"
#include "settings.hpp" #include "settings.hpp"
@@ -33,7 +33,7 @@ int main(int argc, char* argv[]) {


pluginInit(); pluginInit();
engineInit(); engineInit();
guiInit();
windowInit();
sceneInit(); sceneInit();
settingsLoad(assetLocal("settings.json")); settingsLoad(assetLocal("settings.json"));


@@ -50,13 +50,13 @@ int main(int argc, char* argv[]) {
} }


engineStart(); engineStart();
guiRun();
windowRun();
engineStop(); engineStop();


gRackWidget->savePatch(assetLocal("autosave.vcv")); gRackWidget->savePatch(assetLocal("autosave.vcv"));
settingsSave(assetLocal("settings.json")); settingsSave(assetLocal("settings.json"));
sceneDestroy(); sceneDestroy();
guiDestroy();
windowDestroy();
engineDestroy(); engineDestroy();
pluginDestroy(); pluginDestroy();




+ 6
- 6
src/settings.cpp View File

@@ -1,6 +1,6 @@
#include "settings.hpp" #include "settings.hpp"
#include "app.hpp" #include "app.hpp"
#include "gui.hpp"
#include "window.hpp"
#include "engine.hpp" #include "engine.hpp"
#include "plugin.hpp" #include "plugin.hpp"
#include <jansson.h> #include <jansson.h>
@@ -20,14 +20,14 @@ static json_t *settingsToJson() {
json_t *tokenJ = json_string(gToken.c_str()); json_t *tokenJ = json_string(gToken.c_str());
json_object_set_new(rootJ, "token", tokenJ); json_object_set_new(rootJ, "token", tokenJ);


if (!guiIsMaximized()) {
if (!windowIsMaximized()) {
// windowSize // windowSize
Vec windowSize = guiGetWindowSize();
Vec windowSize = windowGetWindowSize();
json_t *windowSizeJ = json_pack("[f, f]", windowSize.x, windowSize.y); json_t *windowSizeJ = json_pack("[f, f]", windowSize.x, windowSize.y);
json_object_set_new(rootJ, "windowSize", windowSizeJ); json_object_set_new(rootJ, "windowSize", windowSizeJ);


// windowPos // windowPos
Vec windowPos = guiGetWindowPos();
Vec windowPos = windowGetWindowPos();
json_t *windowPosJ = json_pack("[f, f]", windowPos.x, windowPos.y); json_t *windowPosJ = json_pack("[f, f]", windowPos.x, windowPos.y);
json_object_set_new(rootJ, "windowPos", windowPosJ); json_object_set_new(rootJ, "windowPos", windowPosJ);
} }
@@ -78,7 +78,7 @@ static void settingsFromJson(json_t *rootJ) {
if (windowSizeJ) { if (windowSizeJ) {
double width, height; double width, height;
json_unpack(windowSizeJ, "[F, F]", &width, &height); json_unpack(windowSizeJ, "[F, F]", &width, &height);
guiSetWindowSize(Vec(width, height));
windowSetWindowSize(Vec(width, height));
} }


// windowPos // windowPos
@@ -86,7 +86,7 @@ static void settingsFromJson(json_t *rootJ) {
if (windowPosJ) { if (windowPosJ) {
double x, y; double x, y;
json_unpack(windowPosJ, "[F, F]", &x, &y); json_unpack(windowPosJ, "[F, F]", &x, &y);
guiSetWindowPos(Vec(x, y));
windowSetWindowPos(Vec(x, y));
} }


// opacity // opacity


+ 2
- 2
src/ui/MenuItem.cpp View File

@@ -1,5 +1,5 @@
#include "ui.hpp" #include "ui.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {
@@ -26,7 +26,7 @@ void MenuItem::draw(NVGcontext *vg) {
void MenuItem::step() { void MenuItem::step() {
// Add 10 more pixels because Retina measurements are sometimes too small // Add 10 more pixels because Retina measurements are sometimes too small
const float rightPadding = 10.0; const float rightPadding = 10.0;
// HACK use gVg from the gui.
// HACK use gVg from the window.
// All this does is inspect the font, so it shouldn't modify gVg and should work when called from a FramebufferWidget for example. // All this does is inspect the font, so it shouldn't modify gVg and should work when called from a FramebufferWidget for example.
box.size.x = bndLabelWidth(gVg, -1, text.c_str()) + bndLabelWidth(gVg, -1, rightText.c_str()) + rightPadding; box.size.x = bndLabelWidth(gVg, -1, text.c_str()) + bndLabelWidth(gVg, -1, rightText.c_str()) + rightPadding;
Widget::step(); Widget::step();


+ 2
- 2
src/ui/MenuLabel.cpp View File

@@ -1,5 +1,5 @@
#include "ui.hpp" #include "ui.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {
@@ -12,7 +12,7 @@ void MenuLabel::draw(NVGcontext *vg) {
void MenuLabel::step() { void MenuLabel::step() {
// Add 10 more pixels because Retina measurements are sometimes too small // Add 10 more pixels because Retina measurements are sometimes too small
const float rightPadding = 10.0; const float rightPadding = 10.0;
// HACK use gVg from the gui.
// HACK use gVg from the window.
box.size.x = bndLabelWidth(gVg, -1, text.c_str()) + rightPadding; box.size.x = bndLabelWidth(gVg, -1, text.c_str()) + rightPadding;
Widget::step(); Widget::step();
} }


+ 1
- 1
src/ui/Scene.cpp View File

@@ -1,5 +1,5 @@
#include "widgets.hpp" #include "widgets.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {


+ 3
- 3
src/ui/ScrollBar.cpp View File

@@ -1,5 +1,5 @@
#include "ui.hpp" #include "ui.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {
@@ -11,7 +11,7 @@ void ScrollBar::draw(NVGcontext *vg) {


void ScrollBar::onDragStart(EventDragStart &e) { void ScrollBar::onDragStart(EventDragStart &e) {
state = BND_ACTIVE; state = BND_ACTIVE;
guiCursorLock();
windowCursorLock();
} }


void ScrollBar::onDragMove(EventDragMove &e) { void ScrollBar::onDragMove(EventDragMove &e) {
@@ -25,7 +25,7 @@ void ScrollBar::onDragMove(EventDragMove &e) {


void ScrollBar::onDragEnd(EventDragEnd &e) { void ScrollBar::onDragEnd(EventDragEnd &e) {
state = BND_DEFAULT; state = BND_DEFAULT;
guiCursorUnlock();
windowCursorUnlock();
} }






+ 4
- 4
src/ui/ScrollWidget.cpp View File

@@ -1,5 +1,5 @@
#include "ui.hpp" #include "ui.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {
@@ -61,11 +61,11 @@ void ScrollWidget::onMouseMove(EventMouseMove &e) {
// Scroll with arrow keys // Scroll with arrow keys
if (!gFocusedWidget) { if (!gFocusedWidget) {
float arrowSpeed = 30.0; float arrowSpeed = 30.0;
if (guiIsShiftPressed() && guiIsModPressed())
if (windowIsShiftPressed() && windowIsModPressed())
arrowSpeed /= 16.0; arrowSpeed /= 16.0;
else if (guiIsShiftPressed())
else if (windowIsShiftPressed())
arrowSpeed *= 4.0; arrowSpeed *= 4.0;
else if (guiIsModPressed())
else if (windowIsModPressed())
arrowSpeed /= 4.0; arrowSpeed /= 4.0;


if (glfwGetKey(gWindow, GLFW_KEY_LEFT) == GLFW_PRESS) { if (glfwGetKey(gWindow, GLFW_KEY_LEFT) == GLFW_PRESS) {


+ 3
- 3
src/ui/Slider.cpp View File

@@ -1,5 +1,5 @@
#include "ui.hpp" #include "ui.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {
@@ -13,7 +13,7 @@ void Slider::draw(NVGcontext *vg) {


void Slider::onDragStart(EventDragStart &e) { void Slider::onDragStart(EventDragStart &e) {
state = BND_ACTIVE; state = BND_ACTIVE;
guiCursorLock();
windowCursorLock();
} }


void Slider::onDragMove(EventDragMove &e) { void Slider::onDragMove(EventDragMove &e) {
@@ -22,7 +22,7 @@ void Slider::onDragMove(EventDragMove &e) {


void Slider::onDragEnd(EventDragEnd &e) { void Slider::onDragEnd(EventDragEnd &e) {
state = BND_DEFAULT; state = BND_DEFAULT;
guiCursorUnlock();
windowCursorUnlock();
EventAction eAction; EventAction eAction;
onAction(eAction); onAction(eAction);
} }


+ 3
- 3
src/ui/TextField.cpp View File

@@ -1,6 +1,6 @@
#include "ui.hpp" #include "ui.hpp"
// for gVg // for gVg
#include "gui.hpp"
#include "window.hpp"
// for key codes // for key codes
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>


@@ -92,14 +92,14 @@ void TextField::onKey(EventKey &e) {
end = begin = text.size(); end = begin = text.size();
break; break;
case GLFW_KEY_V: case GLFW_KEY_V:
if (guiIsModPressed()) {
if (windowIsModPressed()) {
const char *newText = glfwGetClipboardString(gWindow); const char *newText = glfwGetClipboardString(gWindow);
if (newText) if (newText)
insertText(newText); insertText(newText);
} }
break; break;
case GLFW_KEY_C: case GLFW_KEY_C:
if (guiIsModPressed()) {
if (windowIsModPressed()) {
if (begin < end) { if (begin < end) {
std::string selectedText = text.substr(begin, end - begin); std::string selectedText = text.substr(begin, end - begin);
glfwSetClipboardString(gWindow, selectedText.c_str()); glfwSetClipboardString(gWindow, selectedText.c_str());


+ 1
- 1
src/ui/Tooltip.cpp View File

@@ -1,5 +1,5 @@
#include "ui.hpp" #include "ui.hpp"
#include "gui.hpp"
#include "window.hpp"




namespace rack { namespace rack {


+ 1
- 1
src/widgets/FramebufferWidget.cpp View File

@@ -1,5 +1,5 @@
#include "widgets.hpp" #include "widgets.hpp"
#include "gui.hpp"
#include "window.hpp"
#include <GL/glew.h> #include <GL/glew.h>
#include "../ext/nanovg/src/nanovg_gl.h" #include "../ext/nanovg/src/nanovg_gl.h"
#include "../ext/nanovg/src/nanovg_gl_utils.h" #include "../ext/nanovg/src/nanovg_gl_utils.h"


src/gui.cpp → src/window.cpp View File

@@ -1,4 +1,4 @@
#include "gui.hpp"
#include "window.hpp"
#include "app.hpp" #include "app.hpp"
#include "asset.hpp" #include "asset.hpp"


@@ -30,6 +30,7 @@


namespace rack { namespace rack {



GLFWwindow *gWindow = NULL; GLFWwindow *gWindow = NULL;
NVGcontext *gVg = NULL; NVGcontext *gVg = NULL;
NVGcontext *gFramebufferVg = NULL; NVGcontext *gFramebufferVg = NULL;
@@ -236,7 +237,7 @@ void cursorEnterCallback(GLFWwindow* window, int entered) {
void scrollCallback(GLFWwindow *window, double x, double y) { void scrollCallback(GLFWwindow *window, double x, double y) {
Vec scrollRel = Vec(x, y); Vec scrollRel = Vec(x, y);
#if ARCH_LIN || ARCH_WIN #if ARCH_LIN || ARCH_WIN
if (guiIsShiftPressed())
if (windowIsShiftPressed())
scrollRel = Vec(y, x); scrollRel = Vec(y, x);
#endif #endif
// onScroll // onScroll
@@ -305,7 +306,7 @@ void renderGui() {
glfwSwapBuffers(gWindow); glfwSwapBuffers(gWindow);
} }


void guiInit() {
void windowInit() {
int err; int err;


// Set up GLFW // Set up GLFW
@@ -393,7 +394,7 @@ void guiInit() {
bndSetTheme(theme); bndSetTheme(theme);
} }


void guiDestroy() {
void windowDestroy() {
gGuiFont.reset(); gGuiFont.reset();


#if defined NANOVG_GL2 #if defined NANOVG_GL2
@@ -416,7 +417,7 @@ void guiDestroy() {
glfwTerminate(); glfwTerminate();
} }


void guiRun() {
void windowRun() {
assert(gWindow); assert(gWindow);
gGuiFrame = 0; gGuiFrame = 0;
while(!glfwWindowShouldClose(gWindow)) { while(!glfwWindowShouldClose(gWindow)) {
@@ -483,11 +484,11 @@ void guiRun() {
} }
} }


void guiClose() {
void windowClose() {
glfwSetWindowShouldClose(gWindow, GLFW_TRUE); glfwSetWindowShouldClose(gWindow, GLFW_TRUE);
} }


void guiCursorLock() {
void windowCursorLock() {
if (gAllowCursorLock) { if (gAllowCursorLock) {
#ifdef ARCH_MAC #ifdef ARCH_MAC
glfwSetInputMode(gWindow, GLFW_CURSOR, GLFW_CURSOR_HIDDEN); glfwSetInputMode(gWindow, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
@@ -497,13 +498,13 @@ void guiCursorLock() {
} }
} }


void guiCursorUnlock() {
void windowCursorUnlock() {
if (gAllowCursorLock) { if (gAllowCursorLock) {
glfwSetInputMode(gWindow, GLFW_CURSOR, GLFW_CURSOR_NORMAL); glfwSetInputMode(gWindow, GLFW_CURSOR, GLFW_CURSOR_NORMAL);
} }
} }


bool guiIsModPressed() {
bool windowIsModPressed() {
#ifdef ARCH_MAC #ifdef ARCH_MAC
return glfwGetKey(gWindow, GLFW_KEY_LEFT_SUPER) == GLFW_PRESS || glfwGetKey(gWindow, GLFW_KEY_RIGHT_SUPER) == GLFW_PRESS; return glfwGetKey(gWindow, GLFW_KEY_LEFT_SUPER) == GLFW_PRESS || glfwGetKey(gWindow, GLFW_KEY_RIGHT_SUPER) == GLFW_PRESS;
#else #else
@@ -511,35 +512,35 @@ bool guiIsModPressed() {
#endif #endif
} }


bool guiIsShiftPressed() {
bool windowIsShiftPressed() {
return glfwGetKey(gWindow, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS || glfwGetKey(gWindow, GLFW_KEY_RIGHT_SHIFT) == GLFW_PRESS; return glfwGetKey(gWindow, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS || glfwGetKey(gWindow, GLFW_KEY_RIGHT_SHIFT) == GLFW_PRESS;
} }


Vec guiGetWindowSize() {
Vec windowGetWindowSize() {
int width, height; int width, height;
glfwGetWindowSize(gWindow, &width, &height); glfwGetWindowSize(gWindow, &width, &height);
return Vec(width, height); return Vec(width, height);
} }


void guiSetWindowSize(Vec size) {
void windowSetWindowSize(Vec size) {
int width = size.x; int width = size.x;
int height = size.y; int height = size.y;
glfwSetWindowSize(gWindow, width, height); glfwSetWindowSize(gWindow, width, height);
} }


Vec guiGetWindowPos() {
Vec windowGetWindowPos() {
int x, y; int x, y;
glfwGetWindowPos(gWindow, &x, &y); glfwGetWindowPos(gWindow, &x, &y);
return Vec(x, y); return Vec(x, y);
} }


void guiSetWindowPos(Vec pos) {
void windowSetWindowPos(Vec pos) {
int x = pos.x; int x = pos.x;
int y = pos.y; int y = pos.y;
glfwSetWindowPos(gWindow, x, y); glfwSetWindowPos(gWindow, x, y);
} }


bool guiIsMaximized() {
bool windowIsMaximized() {
return glfwGetWindowAttrib(gWindow, GLFW_MAXIMIZED); return glfwGetWindowAttrib(gWindow, GLFW_MAXIMIZED);
} }



Loading…
Cancel
Save