From fd31a10eafbfa1d51eb3f38324c4e33da3b3099f Mon Sep 17 00:00:00 2001 From: fallenoak Date: Wed, 4 Feb 2026 21:06:53 -0600 Subject: [PATCH] feat(ui): implement CSimpleStatusBar::SetBarTexture --- src/ui/simple/CSimpleStatusBar.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ui/simple/CSimpleStatusBar.cpp b/src/ui/simple/CSimpleStatusBar.cpp index 1546869..0e33201 100644 --- a/src/ui/simple/CSimpleStatusBar.cpp +++ b/src/ui/simple/CSimpleStatusBar.cpp @@ -1,6 +1,7 @@ #include "ui/simple/CSimpleStatusBar.hpp" #include "ui/LoadXML.hpp" #include "ui/simple/CSimpleStatusBarScript.hpp" +#include "ui/simple/CSimpleTexture.hpp" #include "util/CStatus.hpp" #include "util/Lua.hpp" #include "util/StringTo.hpp" @@ -150,7 +151,27 @@ void CSimpleStatusBar::RunOnValueChangedScript() { } void CSimpleStatusBar::SetBarTexture(CSimpleTexture* texture, int32_t drawlayer) { - // TODO + // No change + if (this->m_barTexture == texture) { + return; + } + + if (this->m_barTexture) { + delete this->m_barTexture; + } + + if (texture) { + texture->SetFrame(this, drawlayer, true); + + texture->SetPoint(FRAMEPOINT_BOTTOMLEFT, this, FRAMEPOINT_BOTTOMLEFT, 0.0f, 0.0f, true); + texture->SetPoint(FRAMEPOINT_BOTTOMRIGHT, this, FRAMEPOINT_BOTTOMRIGHT, 0.0f, 0.0f, true); + texture->SetPoint(FRAMEPOINT_TOPLEFT, this, FRAMEPOINT_TOPLEFT, 0.0f, 0.0f, true); + texture->SetPoint(FRAMEPOINT_TOPRIGHT, this, FRAMEPOINT_TOPRIGHT, 0.0f, 0.0f, true); + } + + this->m_barTexture = texture; + + this->m_changed = true; } void CSimpleStatusBar::SetMinMaxValues(float min, float max) {