From ee59b3c6b69e9b5cfb0f5135dfb5fe3ce9a1a8c9 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Wed, 14 Jun 2017 09:48:46 -0700 Subject: Initial support for drag and drop. Some work needed for proper menu integration. --- render_sdl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'render_sdl.c') 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); -- cgit v1.2.3