Ver a proveniência

Fix mouse button order for SDL (#3534)

pull/3539/head
ubkp há 1 ano
committed by GitHub
ascendente
cometimento
87f26c845c
Não foi encontrada uma chave conhecida para esta assinatura, na base de dados ID da chave GPG: 4AEE18F83AFDEB23
1 ficheiros alterados com 14 adições e 2 eliminações
  1. +14
    -2
      src/platforms/rcore_desktop_sdl.c

+ 14
- 2
src/platforms/rcore_desktop_sdl.c Ver ficheiro

@ -1084,14 +1084,26 @@ void PollInputEvents(void)
// Check mouse events // Check mouse events
case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONDOWN:
{ {
CORE.Input.Mouse.currentButtonState[event.button.button - 1] = 1;
// NOTE: SDL2 mouse button order is LEFT, MIDDLE, RIGHT, but raylib uses LEFT, RIGHT, MIDDLE like GLFW
// The following conditions align SDL with raylib.h MouseButton enum order
int btn = event.button.button - 1;
if (btn == 2) btn = 1;
else if (btn == 1) btn = 2;
CORE.Input.Mouse.currentButtonState[btn] = 1;
touchAction = 1; touchAction = 1;
gestureUpdate = true; gestureUpdate = true;
} break; } break;
case SDL_MOUSEBUTTONUP: case SDL_MOUSEBUTTONUP:
{ {
CORE.Input.Mouse.currentButtonState[event.button.button - 1] = 0;
// NOTE: SDL2 mouse button order is LEFT, MIDDLE, RIGHT, but raylib uses LEFT, RIGHT, MIDDLE like GLFW
// The following conditions align SDL with raylib.h MouseButton enum order
int btn = event.button.button - 1;
if (btn == 2) btn = 1;
else if (btn == 1) btn = 2;
CORE.Input.Mouse.currentButtonState[btn] = 0;
touchAction = 0; touchAction = 0;
gestureUpdate = true; gestureUpdate = true;

Carregando…
Cancelar
Guardar