From e920e18f1fe47b2b751f55d571ed12199ed1aba2 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 29 Oct 2021 19:53:59 +0100 Subject: [PATCH] Fix initial scroll position for new projects Signed-off-by: falkTX --- src/CardinalPlugin.cpp | 6 +++++- src/CardinalUI.cpp | 3 +++ src/override/Window.cpp | 5 +---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index d30410f..27ac61d 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -87,6 +87,7 @@ struct Initializer settings::isPlugin = true; settings::skipLoadOnLaunch = true; settings::showTipsOnLaunch = false; + settings::windowPos = math::Vec(0, 0); #ifdef HEADLESS settings::headless = true; #endif @@ -373,6 +374,7 @@ public: context->scene = new rack::app::Scene; context->event->rootWidget = context->scene; context->patch->loadTemplate(); + context->scene->rackScroll->reset(); context->engine->startFallbackThread(); #ifdef HAVE_LIBLO @@ -711,7 +713,8 @@ protected: context->engine->prepareSave(); context->patch->saveAutosave(); context->patch->cleanAutosave(); - + // context->history->setSaved(); + try { data = rack::system::archiveDirectory(fAutosavePath, 1); } DISTRHO_SAFE_EXCEPTION_RETURN("getState archiveDirectory", String()); @@ -742,6 +745,7 @@ protected: rack::system::unarchiveToDirectory(data, fAutosavePath); context->patch->loadAutosave(); + // context->history->setSaved(); } /* -------------------------------------------------------------------------------------------------------- diff --git a/src/CardinalUI.cpp b/src/CardinalUI.cpp index 376ee2d..1958d32 100644 --- a/src/CardinalUI.cpp +++ b/src/CardinalUI.cpp @@ -489,6 +489,9 @@ protected: { UI::onResize(ev); + if (fContext->window != nullptr) + fContext->window->setSize(rack::math::Vec(ev.size.getWidth(), ev.size.getHeight())); + const double scaleFactor = getScaleFactor(); char sizeString[64]; std::snprintf(sizeString, sizeof(sizeString), "%d:%d", diff --git a/src/override/Window.cpp b/src/override/Window.cpp index 4eae7d3..a4db28b 100644 --- a/src/override/Window.cpp +++ b/src/override/Window.cpp @@ -93,10 +93,6 @@ std::shared_ptr Image::load(const std::string& filename) { } -struct WindowParams { - float rackBrightness = 1.0f; -}; - struct Window::Internal { DISTRHO_NAMESPACE::UI* ui = nullptr; DISTRHO_NAMESPACE::WindowParameters params; @@ -131,6 +127,7 @@ void WindowInit(Window* const window, DISTRHO_NAMESPACE::UI* const ui) INFO("OpenGL: %s", version); window->internal->ui = ui; + window->internal->size = rack::math::Vec(ui->getWidth(), ui->getHeight()); window->vg = ui->getContext(); #ifdef NANOVG_GLES2