summaryrefslogtreecommitdiff
path: root/render_sdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'render_sdl.c')
-rwxr-xr-xrender_sdl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/render_sdl.c b/render_sdl.c
index d2fda42..8e1e7f6 100755
--- a/render_sdl.c
+++ b/render_sdl.c
@@ -914,6 +914,12 @@ static uint8_t scancode_map[SDL_NUM_SCANCODES] = {
[SDL_SCANCODE_KP_PERIOD] = 0x71,
};
+static drop_handler drag_drop_handler;
+void render_set_drag_drop_handler(drop_handler handler)
+{
+ drag_drop_handler = handler;
+}
+
static int32_t handle_event(SDL_Event *event)
{
switch (event->type) {
@@ -986,6 +992,12 @@ static int32_t handle_event(SDL_Event *event)
break;
}
break;
+ case SDL_DROPFILE:
+ if (drag_drop_handler) {
+ drag_drop_handler(event->drop.file);
+ }
+ SDL_free(event->drop.file);
+ break;
case SDL_QUIT:
puts("");
exit(0);