summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/sdl2helper.cpp11
-rw-r--r--src/utils/sdl2helper.h4
-rw-r--r--src/utils/sdlhelper.cpp10
-rw-r--r--src/utils/sdlhelper.h4
4 files changed, 29 insertions, 0 deletions
diff --git a/src/utils/sdl2helper.cpp b/src/utils/sdl2helper.cpp
index 7648ccc2b..da5b15e41 100644
--- a/src/utils/sdl2helper.cpp
+++ b/src/utils/sdl2helper.cpp
@@ -30,6 +30,7 @@
PRAGMA48(GCC diagnostic push)
PRAGMA48(GCC diagnostic ignored "-Wshadow")
+#include <SDL_events.h>
#include <SDL_syswm.h>
PRAGMA48(GCC diagnostic pop)
@@ -194,4 +195,14 @@ void SDL::WaitThread(SDL_Thread *const thread)
SDL_WaitThread(thread, nullptr);
}
+bool SDL::PollEvent(SDL_Event *event)
+{
+ SDL_PumpEvents();
+ return SDL_PeepEvents(event,
+ 1,
+ SDL_GETEVENT,
+ SDL_FIRSTEVENT,
+ SDL_LASTEVENT) > 0;
+}
+
#endif // USE_SDL2
diff --git a/src/utils/sdl2helper.h b/src/utils/sdl2helper.h
index 089bbbfab..d1b474d50 100644
--- a/src/utils/sdl2helper.h
+++ b/src/utils/sdl2helper.h
@@ -31,6 +31,8 @@ PRAGMA48(GCC diagnostic ignored "-Wshadow")
#include <SDL_thread.h>
PRAGMA48(GCC diagnostic pop)
+union SDL_Event;
+
struct SDL_Surface;
struct SDL_SysWMinfo;
struct SDL_Window;
@@ -65,6 +67,8 @@ namespace SDL
void initLogger();
void WaitThread(SDL_Thread *const thread);
+
+ bool PollEvent(SDL_Event *event);
} // namespace SDL
#endif // USE_SDL2
diff --git a/src/utils/sdlhelper.cpp b/src/utils/sdlhelper.cpp
index 324779898..2e3576578 100644
--- a/src/utils/sdlhelper.cpp
+++ b/src/utils/sdlhelper.cpp
@@ -33,6 +33,7 @@
PRAGMA48(GCC diagnostic push)
PRAGMA48(GCC diagnostic ignored "-Wshadow")
+#include <SDL_events.h>
#include <SDL_syswm.h>
#include <SDL_video.h>
PRAGMA48(GCC diagnostic pop)
@@ -192,4 +193,13 @@ void SDL::WaitThread(SDL_Thread *const thread)
SDL_WaitThread(thread, nullptr);
}
+bool SDL::PollEvent(SDL_Event *event)
+{
+ SDL_PumpEvents();
+ return SDL_PeepEvents(event,
+ 1,
+ SDL_GETEVENT,
+ SDL_ALLEVENTS) > 0;
+}
+
#endif // USE_SDL2
diff --git a/src/utils/sdlhelper.h b/src/utils/sdlhelper.h
index abb3934cb..67a979da3 100644
--- a/src/utils/sdlhelper.h
+++ b/src/utils/sdlhelper.h
@@ -35,6 +35,8 @@ PRAGMA48(GCC diagnostic ignored "-Wshadow")
#include <SDL_thread.h>
PRAGMA48(GCC diagnostic pop)
+union SDL_Event;
+
struct SDL_Surface;
struct SDL_SysWMinfo;
@@ -71,6 +73,8 @@ namespace SDL
void initLogger();
void WaitThread(SDL_Thread *const thread);
+
+ bool PollEvent(SDL_Event *event);
} // namespace SDL
#endif // USE_SDL2