mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-25 21:36:05 +03:00
fix(ui): implement key repeating (e.g. backspace) for CSimpleEditBox
This commit is contained in:
parent
982aedbc02
commit
6c5c560dc7
@ -891,6 +891,23 @@ int32_t CSimpleEditBox::OnLayerKeyDown(const CKeyEvent& evt) {
|
||||
}
|
||||
}
|
||||
|
||||
int32_t CSimpleEditBox::OnLayerKeyDownRepeat(const CKeyEvent& evt) {
|
||||
if (!this->m_visible) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!CSimpleEditBox::s_currentFocus && this->m_autoFocus) {
|
||||
CSimpleEditBox::SetKeyboardFocus(this);
|
||||
return this->OnLayerKeyDown(evt);
|
||||
}
|
||||
|
||||
if (this == CSimpleEditBox::s_currentFocus) {
|
||||
return this->OnLayerKeyDown(evt);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t CSimpleEditBox::OnLayerMouseDown(const CMouseEvent& evt, const char* btn) {
|
||||
int32_t eaten = CSimpleFrame::OnLayerMouseDown(evt, btn);
|
||||
|
||||
|
||||
@ -72,6 +72,7 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame {
|
||||
virtual void OnFrameSizeChanged(float width, float height);
|
||||
virtual int32_t OnLayerChar(const CCharEvent& evt);
|
||||
virtual int32_t OnLayerKeyDown(const CKeyEvent& evt);
|
||||
virtual int32_t OnLayerKeyDownRepeat(const CKeyEvent& evt);
|
||||
virtual int32_t OnLayerMouseDown(const CMouseEvent& evt, const char* btn);
|
||||
virtual int32_t OnLayerMouseUp(const CMouseEvent& evt, const char* btn);
|
||||
virtual void FontUpdated(CSimpleFontedFrameFont* font, int32_t a3);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user