Parcourir la source

SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE can be combined with SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE

Sam Lantinga il y a 3 mois
Parent
commit
551510c0eb
2 fichiers modifiés avec 4 ajouts et 6 suppressions
  1. 1 2
      include/SDL3/SDL_hints.h
  2. 3 4
      src/events/SDL_mouse.c

+ 1 - 2
include/SDL3/SDL_hints.h

@@ -2534,8 +2534,7 @@ extern "C" {
  * - "1": Relative mouse motion will be scaled using the system mouse
  *   acceleration curve.
  *
- * If SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE is set, that will override the
- * system speed scale.
+ * If SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE is set, that will apply before the system speed scale.
  *
  * This hint can be set anytime.
  *

+ 3 - 4
src/events/SDL_mouse.c

@@ -672,10 +672,9 @@ static void SDL_PrivateSendMouseMotion(Uint64 timestamp, SDL_Window *window, SDL
             if (mouse->enable_relative_speed_scale) {
                 x *= mouse->relative_speed_scale;
                 y *= mouse->relative_speed_scale;
-            } else if (mouse->enable_relative_system_scale) {
-                if (mouse->ApplySystemScale) {
-                    mouse->ApplySystemScale(mouse->system_scale_data, timestamp, window, mouseID, &x, &y);
-                }
+            }
+            if (mouse->enable_relative_system_scale && mouse->ApplySystemScale) {
+                mouse->ApplySystemScale(mouse->system_scale_data, timestamp, window, mouseID, &x, &y);
             }
         } else {
             if (mouse->enable_normal_speed_scale) {