diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-17 22:20:39 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-17 22:20:39 +1000 |
commit | 34bb0b54222c1c0f3450c56e76f89f192d77374b (patch) | |
tree | 09e119625d066d16e3a81a8f6c0c424c4159f058 /source/windowing/StarCanvasWidget.cpp | |
parent | 848b11399f2e34d7f1e0523e214287bfdcc5816c (diff) |
Initial voice HUD indicator setup
Diffstat (limited to 'source/windowing/StarCanvasWidget.cpp')
-rw-r--r-- | source/windowing/StarCanvasWidget.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/source/windowing/StarCanvasWidget.cpp b/source/windowing/StarCanvasWidget.cpp index ed2e30f..a0eeb7d 100644 --- a/source/windowing/StarCanvasWidget.cpp +++ b/source/windowing/StarCanvasWidget.cpp @@ -88,20 +88,21 @@ bool CanvasWidget::sendEvent(InputEvent const& event) { return false; auto& context = GuiContext::singleton(); + int interfaceScale = m_ignoreInterfaceScale ? 1 : context.interfaceScale(); if (auto mouseButtonDown = event.ptr<MouseButtonDownEvent>()) { - if (inMember(*context.mousePosition(event)) && m_captureMouse) { - m_clickEvents.append({*context.mousePosition(event) - screenPosition(), mouseButtonDown->mouseButton, true}); + if (inMember(*context.mousePosition(event, interfaceScale)) && m_captureMouse) { + m_clickEvents.append({*context.mousePosition(event, interfaceScale) - screenPosition(), mouseButtonDown->mouseButton, true}); m_clickEvents.limitSizeBack(MaximumEventBuffer); return true; } } else if (auto mouseButtonUp = event.ptr<MouseButtonUpEvent>()) { if (m_captureMouse) { - m_clickEvents.append({*context.mousePosition(event) - screenPosition(), mouseButtonUp->mouseButton, false}); + m_clickEvents.append({*context.mousePosition(event, interfaceScale) - screenPosition(), mouseButtonUp->mouseButton, false}); m_clickEvents.limitSizeBack(MaximumEventBuffer); return true; } } else if (event.is<MouseMoveEvent>()) { - m_mousePosition = *context.mousePosition(event) - screenPosition(); + m_mousePosition = *context.mousePosition(event, interfaceScale) - screenPosition(); return false; } else if (auto keyDown = event.ptr<KeyDownEvent>()) { if (m_captureKeyboard) { @@ -258,7 +259,7 @@ void CanvasWidget::renderTriangles(Vec2F const& renderingOffset, List<tuple<Vec2 void CanvasWidget::renderText(Vec2F const& renderingOffset, String const& s, TextPositioning const& position, unsigned fontSize, Vec4B const& color, FontMode mode, float lineSpacing, String const& font, String const& directives) { auto& context = GuiContext::singleton(); context.setFontProcessingDirectives(directives); - context.setFontSize(fontSize); + context.setFontSize(fontSize, m_ignoreInterfaceScale ? 1 : context.interfaceScale()); context.setFontColor(color); context.setFontMode(mode); context.setFont(font); |