feat(ui): add CSimpleSlider::OnLayerMouseDown

This commit is contained in:
fallenoak 2025-11-30 11:52:14 -06:00
parent 79482ea860
commit 01bea8630e
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
2 changed files with 11 additions and 0 deletions

View File

@ -133,6 +133,16 @@ void CSimpleSlider::OnLayerHide() {
this->CSimpleFrame::OnLayerHide(); this->CSimpleFrame::OnLayerHide();
} }
int32_t CSimpleSlider::OnLayerMouseDown(const CMouseEvent& evt, const char* btn) {
// TODO something like CSimpleFrame::IsEnabled or CSimpleFrame::GetFrameFlag
if (!(this->m_flags & 0x400)) {
this->m_buttonDown = 1;
this->OnLayerTrackUpdate(evt);
}
return this->CSimpleFrame::OnLayerMouseDown(evt, btn);
}
int32_t CSimpleSlider::OnLayerTrackUpdate(const CMouseEvent& evt) { int32_t CSimpleSlider::OnLayerTrackUpdate(const CMouseEvent& evt) {
if (this->m_buttonDown && this->m_thumbTexture) { if (this->m_buttonDown && this->m_thumbTexture) {
auto thumbTexture = this->m_thumbTexture; auto thumbTexture = this->m_thumbTexture;

View File

@ -36,6 +36,7 @@ class CSimpleSlider : public CSimpleFrame {
virtual void OnLayerHide(); virtual void OnLayerHide();
virtual void OnLayerUpdate(float elapsedSec); virtual void OnLayerUpdate(float elapsedSec);
virtual int32_t OnLayerTrackUpdate(const CMouseEvent& evt); virtual int32_t OnLayerTrackUpdate(const CMouseEvent& evt);
virtual int32_t OnLayerMouseDown(const CMouseEvent& evt, const char* btn);
// Member functions // Member functions
CSimpleSlider(CSimpleFrame* parent) CSimpleSlider(CSimpleFrame* parent)