diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-05 18:25:16 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-05 18:25:16 +1000 |
commit | 54dfd900cab72d9efeff7df35c3a73e9be76bb18 (patch) | |
tree | 0439adfa8ea801d630db46c794f21032948569ed /source/frontend/StarMainInterface.cpp | |
parent | c923f4f13b1cade968bb6fec585a242b62d35715 (diff) |
interface.bindCanvas uses interface scale by default
Diffstat (limited to 'source/frontend/StarMainInterface.cpp')
-rw-r--r-- | source/frontend/StarMainInterface.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/frontend/StarMainInterface.cpp b/source/frontend/StarMainInterface.cpp index 592bc6e..9a47835 100644 --- a/source/frontend/StarMainInterface.cpp +++ b/source/frontend/StarMainInterface.cpp @@ -796,7 +796,10 @@ void MainInterface::update() { for (auto& pair : m_canvases) { pair.second->setPosition(Vec2I()); - pair.second->setSize(Vec2I(m_guiContext->windowSize())); + if (pair.second->ignoreInterfaceScale()) + pair.second->setSize(Vec2I(m_guiContext->windowSize())); + else + pair.second->setSize(Vec2I(m_guiContext->windowInterfaceSize())); pair.second->update(); } } @@ -923,14 +926,17 @@ void MainInterface::warpTo(WarpAction const& warpAction) { } } -CanvasWidgetPtr MainInterface::fetchCanvas(String const& canvasName) { +CanvasWidgetPtr MainInterface::fetchCanvas(String const& canvasName, bool ignoreInterfaceScale) { if (auto canvasPtr = m_canvases.ptr(canvasName)) return *canvasPtr; else { CanvasWidgetPtr canvas = m_canvases.emplace(canvasName, make_shared<CanvasWidget>()).first->second; canvas->setPosition(Vec2I()); - canvas->setSize(Vec2I(m_guiContext->windowSize())); - canvas->setIgnoreInterfaceScale(true); + if (ignoreInterfaceScale) + canvas->setSize(Vec2I(m_guiContext->windowSize())); + else + canvas->setSize(Vec2I(m_guiContext->windowInterfaceSize())); + canvas->setIgnoreInterfaceScale(ignoreInterfaceScale); return canvas; } } |