aboutsummaryrefslogtreecommitdiff
path: root/cast/standalone_receiver/sdl_glue.h
diff options
context:
space:
mode:
Diffstat (limited to 'cast/standalone_receiver/sdl_glue.h')
-rw-r--r--cast/standalone_receiver/sdl_glue.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/cast/standalone_receiver/sdl_glue.h b/cast/standalone_receiver/sdl_glue.h
index 59a3a020..7e136074 100644
--- a/cast/standalone_receiver/sdl_glue.h
+++ b/cast/standalone_receiver/sdl_glue.h
@@ -7,14 +7,16 @@
#include <stdint.h>
-#include <functional>
-#include <memory>
-
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
#include <SDL2/SDL.h>
#pragma GCC diagnostic pop
+#include <functional>
+#include <memory>
+#include <utility>
+#include <vector>
+
#include "util/alarm.h"
namespace openscreen {
@@ -66,11 +68,15 @@ class SDLEventLoopProcessor {
std::function<void()> quit_callback);
~SDLEventLoopProcessor();
+ using KeyboardEventCallback = std::function<void(const SDL_KeyboardEvent&)>;
+ void RegisterForKeyboardEvent(KeyboardEventCallback cb);
+
private:
void ProcessPendingEvents();
Alarm alarm_;
std::function<void()> quit_callback_;
+ std::vector<KeyboardEventCallback> keyboard_callbacks_;
};
} // namespace cast