window: invoke all listener callbacks at once

This commit is contained in:
Hyper 2024-11-10 17:56:29 +00:00
parent 2104f97b81
commit 5b54f777e4

View file

@ -57,9 +57,6 @@ int Window_OnSDLEvent(void*, SDL_Event* event)
}
}
for (auto listener : Window::s_listeners)
listener->OnKeyDown(event->key.keysym.sym);
break;
}
@ -72,9 +69,6 @@ int Window_OnSDLEvent(void*, SDL_Event* event)
m_isFullscreenKeyReleased = true;
break;
}
for (auto listener : Window::s_listeners)
listener->OnKeyUp(event->key.keysym.sym);
}
case SDL_WINDOWEVENT:
@ -115,8 +109,19 @@ int Window_OnSDLEvent(void*, SDL_Event* event)
}
for (auto listener : Window::s_listeners)
{
listener->OnSDLEvent(event);
if (event->type == SDL_KEYDOWN)
{
listener->OnKeyDown(event->key.keysym.sym);
}
else if (event->type == SDL_KEYUP)
{
listener->OnKeyUp(event->key.keysym.sym);
}
}
return 0;
}