diff --git a/src/ui/CBackdropGenerator.cpp b/src/ui/CBackdropGenerator.cpp index 5be5ac0..9a93e49 100644 --- a/src/ui/CBackdropGenerator.cpp +++ b/src/ui/CBackdropGenerator.cpp @@ -383,3 +383,11 @@ void CBackdropGenerator::SetOutput(CSimpleFrame* frame) { bottomRightTexture->SetBlendMode(this->m_blend); } } + +void CBackdropGenerator::SetVertexColor(const CImVector& color) { + this->m_color = color; + + if (this->m_backgroundTexture) { + this->m_backgroundTexture->SetVertexColor(this->m_color); + } +} diff --git a/src/ui/CBackdropGenerator.hpp b/src/ui/CBackdropGenerator.hpp index 06f248e..c943fcb 100644 --- a/src/ui/CBackdropGenerator.hpp +++ b/src/ui/CBackdropGenerator.hpp @@ -44,6 +44,7 @@ class CBackdropGenerator { void LoadXML(XMLNode* node, CStatus* status); void SetBorderVertexColor(const CImVector& borderColor); void SetOutput(CSimpleFrame* frame); + void SetVertexColor(const CImVector& color); }; #endif diff --git a/src/ui/CSimpleFrameScript.cpp b/src/ui/CSimpleFrameScript.cpp index dd9e075..dfa25f4 100644 --- a/src/ui/CSimpleFrameScript.cpp +++ b/src/ui/CSimpleFrameScript.cpp @@ -1,5 +1,6 @@ #include "ui/CSimpleFrameScript.hpp" #include "gx/Coordinate.hpp" +#include "ui/CBackdropGenerator.hpp" #include "ui/CSimpleFrame.hpp" #include "ui/FrameScript.hpp" #include "util/Lua.hpp" @@ -460,7 +461,17 @@ int32_t CSimpleFrame_GetBackdropColor(lua_State* L) { } int32_t CSimpleFrame_SetBackdropColor(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + auto type = CSimpleFrame::GetObjectType(); + auto frame = static_cast(FrameScript_GetObjectThis(L, type)); + + CImVector color = { 0x00 }; + FrameScript_GetColor(L, 2, color); + + if (frame->m_backdrop) { + frame->m_backdrop->SetVertexColor(color); + } + + return 0; } int32_t CSimpleFrame_GetBackdropBorderColor(lua_State* L) {