feat(ui): add CSimpleEditBox::ClearKeyboardFocus

This commit is contained in:
Tristan Cormier 2025-12-28 22:20:58 -05:00 committed by fallenoak
parent e3f4322ae3
commit 844ccf348d
2 changed files with 25 additions and 0 deletions

View File

@ -79,6 +79,30 @@ void CSimpleEditBox::SetKeyboardFocus(CSimpleEditBox* editBox) {
editBox->m_dirtyFlags |= 0x4;
}
void CSimpleEditBox::ClearKeyboardFocus(CSimpleEditBox* editBox, bool dispatchEvent) {
if (CSimpleEditBox::s_currentFocus != editBox) {
return;
}
CSimpleEditBox::s_currentFocus = nullptr;
// TODO
// if (editBox->m_password) {
// OsInputEnableSecureMode(0);
// }
// TODO
// if (!(editBox->simpleeditbox_dword4 & 0xC)) {
// CSimpleEditBox::s_currentFocus->Sub963390();
// }
if (dispatchEvent) {
editBox->RunOnEditFocusLostScript();
}
editBox->m_dirtyFlags |= 0x4;
}
CSimpleEditBox::CSimpleEditBox(CSimpleFrame* parent) : CSimpleFrame(parent) {
this->m_autoFocus = 1;
this->m_multiline = 0;

View File

@ -31,6 +31,7 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame {
static int32_t GetObjectType();
static void RegisterScriptMethods(lua_State* L);
static void SetKeyboardFocus(CSimpleEditBox* editBox);
static void ClearKeyboardFocus(CSimpleEditBox* editBox, bool dispatchEvent);
// Member variables
int32_t m_autoFocus : 1;