feat(ui): implement CSimpleFrame_SetBackdropColor

This commit is contained in:
fallenoak 2025-10-01 23:42:04 -05:00
parent 568db50717
commit e9ef44c008
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 21 additions and 1 deletions

View File

@ -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);
}
}

View File

@ -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

View File

@ -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<CSimpleFrame*>(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) {