diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-30 00:41:38 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-30 00:41:38 +1000 |
commit | ffd1507f725582bd51fe3064263b14ecd7db5edf (patch) | |
tree | 23856a19c61f8da76f53753a1a81ffcba4f804e3 /source/windowing/StarPaneManager.cpp | |
parent | 057f3727deb83a768a45ad3b91282166683e039d (diff) |
ScriptPanes can specify paneLayer and interactive
Diffstat (limited to 'source/windowing/StarPaneManager.cpp')
-rw-r--r-- | source/windowing/StarPaneManager.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/windowing/StarPaneManager.cpp b/source/windowing/StarPaneManager.cpp index 9dd7737..dcdace9 100644 --- a/source/windowing/StarPaneManager.cpp +++ b/source/windowing/StarPaneManager.cpp @@ -6,6 +6,14 @@ namespace Star { +EnumMap<PaneLayer> const PaneLayerNames{ + {PaneLayer::Tooltip, "Tooltip"}, + {PaneLayer::ModalWindow, "ModalWindow"}, + {PaneLayer::Window, "Window"}, + {PaneLayer::Hud, "Hud"}, + {PaneLayer::World, "World"} +}; + PaneManager::PaneManager() : m_context(GuiContext::singletonPtr()), m_prevInterfaceScale(1) { auto assets = Root::singleton().assets(); @@ -350,24 +358,34 @@ Vec2I PaneManager::calculateNewInterfacePosition(PanePtr const& pane, float inte switch (pane->anchor()) { case PaneAnchor::None: scale = Mat3F::scaling(interfaceScaleRatio, Vec2F(windowSize()) / 2); + break; case PaneAnchor::BottomLeft: scale = Mat3F::scaling(interfaceScaleRatio); + break; case PaneAnchor::BottomRight: scale = Mat3F::scaling(interfaceScaleRatio, {size[0], 0}); + break; case PaneAnchor::TopLeft: scale = Mat3F::scaling(interfaceScaleRatio, {0, size[1]}); + break; case PaneAnchor::TopRight: scale = Mat3F::scaling(interfaceScaleRatio, size); + break; case PaneAnchor::CenterTop: scale = Mat3F::scaling(interfaceScaleRatio, {size[0] / 2, size[1]}); + break; case PaneAnchor::CenterBottom: scale = Mat3F::scaling(interfaceScaleRatio, {size[0] / 2, 0}); + break; case PaneAnchor::CenterLeft: scale = Mat3F::scaling(interfaceScaleRatio, {0, size[1] / 2}); + break; case PaneAnchor::CenterRight: scale = Mat3F::scaling(interfaceScaleRatio, {size[0], size[1] / 2}); + break; case PaneAnchor::Center: scale = Mat3F::scaling(interfaceScaleRatio, size / 2); + break; default: scale = Mat3F::scaling(interfaceScaleRatio, Vec2F(windowSize()) / 2); } |