From 441ea64a2f8d5c65da6521ceecf40d8e4fb4c52e Mon Sep 17 00:00:00 2001 From: sebastian Date: Wed, 11 Feb 2026 22:47:22 +0100 Subject: [PATCH] FIX: Position of Text --- src/engine/core/gui/uiComponent/UiText.h | 2 +- src/engine/renderer/TextRenderer.cpp | 8 ++++++-- src/game/UILayer.cpp | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/engine/core/gui/uiComponent/UiText.h b/src/engine/core/gui/uiComponent/UiText.h index d39f24a..c1ea85d 100644 --- a/src/engine/core/gui/uiComponent/UiText.h +++ b/src/engine/core/gui/uiComponent/UiText.h @@ -10,7 +10,7 @@ class Font; -class UiText : public UiComponent, public std::enable_shared_from_this { +class UiText : public UiComponent { public: UiText(Font& font, std::string text, const glm::vec2& relativePos, const glm::vec2& relativeSize); void setText(const std::string& text); diff --git a/src/engine/renderer/TextRenderer.cpp b/src/engine/renderer/TextRenderer.cpp index d6dfb74..b35cb56 100644 --- a/src/engine/renderer/TextRenderer.cpp +++ b/src/engine/renderer/TextRenderer.cpp @@ -28,8 +28,12 @@ void TextRenderer::renderText(const UiText &textToRender) const { const Font& font = textToRender.getFont(); const std::string& text = textToRender.getText(); - float x = d.x; - float y = d.y; + float screenX = d.x * Application::getInstance().getWindow().GetWidth(); + float screenY = d.y * Application::getInstance().getWindow().GetHeight(); + + float x = screenX; + float y = screenY; + float scale = 1.0f; diff --git a/src/game/UILayer.cpp b/src/game/UILayer.cpp index 98dcfeb..fdad6b3 100644 --- a/src/game/UILayer.cpp +++ b/src/game/UILayer.cpp @@ -32,7 +32,7 @@ void UILayer::onAttach() { Font myFont("/usr/share/fonts/TTF/DejaVuSans.ttf", 48); font = std::make_unique(myFont); - auto text = std::make_unique(*font, "Hello World!", glm::vec2(0.5f, 0.5f), glm::vec2(0.3f, 0.1f)); + auto text = std::make_unique(*font, "Hello World!", glm::vec2(0.5f, 0.5f), glm::vec2(1.f)); rootContainer->addChild(std::move(text)); }