Skip to content

Commit

Permalink
Enable wheel scrolling in GUI list boxes
Browse files Browse the repository at this point in the history
  • Loading branch information
dpogue committed Jan 26, 2025
1 parent 2bde021 commit 04cdcc2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
19 changes: 19 additions & 0 deletions Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIListBoxMod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,25 @@ void pfGUIListBoxMod::HandleMouseDblClick( hsPoint3 &mousePt, uint8_t modifie
}
}

//// HandleMouseWheel /////////////////////////////////////////////////////////

void pfGUIListBoxMod::HandleMouseWheel(hsPoint3& mousePt, uint8_t modifiers)
{
static float deltaAccum = 0.f;

deltaAccum += mousePt.fZ;

// Set the Z-component to 0 for the bounds test
mousePt.fZ = 0;

if (fabs(deltaAccum) >= 120.f) {
int32_t delta = int32_t(deltaAccum / 120.f);
SetScrollPos(GetScrollPos() + delta);

deltaAccum -= (delta * 120.f);
}
}

//// IGetItemFromPoint ///////////////////////////////////////////////////////

int32_t pfGUIListBoxMod::IGetItemFromPoint(const hsPoint3 &mousePt)
Expand Down
1 change: 1 addition & 0 deletions Sources/Plasma/FeatureLib/pfGameGUIMgr/pfGUIListBoxMod.h
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ class pfGUIListBoxMod : public pfGUIControlMod
void HandleMouseDrag(hsPoint3 &mousePt, uint8_t modifiers) override;
void HandleMouseHover(hsPoint3 &mousePt, uint8_t modifiers) override;
void HandleMouseDblClick(hsPoint3 &mousePt, uint8_t modifiers) override;
void HandleMouseWheel(hsPoint3 &mousePt, uint8_t modifiers) override;

bool HandleKeyPress(wchar_t key, uint8_t modifiers) override;
bool HandleKeyEvent(pfGameGUIMgr::EventType event, plKeyDef key, uint8_t modifiers) override;
Expand Down

0 comments on commit 04cdcc2

Please sign in to comment.