Skip to content

Commit 5c9f370

Browse files
committed
emscripten: scale mousewheel X coordinates correctly, not just Y coordinates.
Fixes #10454. (cherry picked from commit 00f15dd)
1 parent 257d754 commit 5c9f370

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/video/emscripten/SDL_emscriptenevents.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,20 +714,24 @@ static EM_BOOL Emscripten_HandleWheel(int eventType, const EmscriptenWheelEvent
714714
SDL_WindowData *window_data = userData;
715715

716716
float deltaY = wheelEvent->deltaY;
717+
float deltaX = wheelEvent->deltaX;
717718

718719
switch (wheelEvent->deltaMode) {
719720
case DOM_DELTA_PIXEL:
720721
deltaY /= 100; /* 100 pixels make up a step */
722+
deltaX /= 100; /* 100 pixels make up a step */
721723
break;
722724
case DOM_DELTA_LINE:
723725
deltaY /= 3; /* 3 lines make up a step */
726+
deltaX /= 3; /* 3 lines make up a step */
724727
break;
725728
case DOM_DELTA_PAGE:
726729
deltaY *= 80; /* A page makes up 80 steps */
730+
deltaX *= 80; /* A page makes up 80 steps */
727731
break;
728732
}
729733

730-
SDL_SendMouseWheel(window_data->window, 0, (float)wheelEvent->deltaX, -deltaY, SDL_MOUSEWHEEL_NORMAL);
734+
SDL_SendMouseWheel(window_data->window, 0, deltaX, -deltaY, SDL_MOUSEWHEEL_NORMAL);
731735
return SDL_GetEventState(SDL_MOUSEWHEEL) == SDL_ENABLE;
732736
}
733737

0 commit comments

Comments
 (0)