Fixed OnEvent logic, Updated example

This commit is contained in:
Robert 2020-05-16 20:09:21 +02:00
parent 05c7cddfd3
commit bf6b934b9b
4 changed files with 19 additions and 16 deletions

View file

@ -47,15 +47,15 @@ namespace sdlu
return !IS_NULLPTR(m_pWindow);
}
bool RenderWindow::PollEvent(SDL_Event& event)
bool RenderWindow::PollEvent(SDL_Event* event)
{
// Handle events before the user in case a derived
// class decides to block the event.
while (SDL_PollEvent(&event))
while (SDL_PollEvent(event))
{
switch(event.type)
switch(event->window.event)
{
case SDL_WINDOWEVENT_RESIZED: OnResize() ? break : return true;
case SDL_WINDOWEVENT_RESIZED: if (!OnResize()) return true; break;
default: return true;
}
}
@ -64,8 +64,9 @@ namespace sdlu
return false;
}
bool RenderWindow::WaitEvent(SDL_Event& event)
bool RenderWindow::WaitEvent(SDL_Event* event)
{
while (!PollEvent(event)) continue;
return true;
}
}

View file

@ -70,15 +70,15 @@ namespace sdlu
* @param[out] event An object to write the latest event to
* @return True if there was an event, False if there wasn't
*/
bool PollEvent(SDL_Event& event);
bool PollEvent(SDL_Event* event);
/**
* @brief A blocking event polling function
*
* @param[out] event An object to write the latest event to
* @return True if there was an event, False if there wasn't
* @return True if an event was polled
*/
bool WaitEvent(SDL_Event& event);
bool WaitEvent(SDL_Event* event);
protected:
SDL_Window* m_pWindow; ///< A pointer to the window object