diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-06-14 09:48:46 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-06-14 09:48:46 -0700 |
commit | ee59b3c6b69e9b5cfb0f5135dfb5fe3ce9a1a8c9 (patch) | |
tree | 351b79f6a4fb4041c37dca51dd9600a6d6c33424 /render_sdl.c | |
parent | e591e6333eb073c557e0c827bc132f6568017677 (diff) |
Initial support for drag and drop. Some work needed for proper menu integration.
Diffstat (limited to 'render_sdl.c')
-rwxr-xr-x | render_sdl.c | 12 |
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); |