(SDL*) Refactor *set_handles() functions

This commit is contained in:
Higor Eurípedes 2014-08-27 00:10:38 -03:00
parent b15ffc999c
commit e218e53755
2 changed files with 7 additions and 15 deletions

View File

@ -198,25 +198,21 @@ static void sdl2_render_msg(sdl2_video_t *vid, const char *msg)
static void sdl2_gfx_set_handles(sdl2_video_t *vid) static void sdl2_gfx_set_handles(sdl2_video_t *vid)
{ {
// SysWMinfo headers are broken on OSX. :( // SysWMinfo headers are broken on OSX. :(
#if defined(_WIN32) #if defined(_WIN32) || defined(HAVE_X11)
SDL_SysWMinfo info; SDL_SysWMinfo info;
SDL_VERSION(&info.version); SDL_VERSION(&info.version);
if (SDL_GetWindowWMInfo(vid->window, &info) == 1) if (SDL_GetWindowWMInfo(vid->window, &info) == 1)
{ {
#if defined(_WIN32)
driver.display_type = RARCH_DISPLAY_WIN32; driver.display_type = RARCH_DISPLAY_WIN32;
driver.video_display = 0; driver.video_display = 0;
driver.video_window = (uintptr_t)info.info.win.window; driver.video_window = (uintptr_t)info.info.win.window;
}
#elif defined(HAVE_X11) #elif defined(HAVE_X11)
SDL_SysWMinfo info;
SDL_VERSION(&info.version);
if (SDL_GetWindowWMInfo(vid->window, &info) == 1)
{
driver.display_type = RARCH_DISPLAY_X11; driver.display_type = RARCH_DISPLAY_X11;
driver.video_display = (uintptr_t)info.info.x11.display; driver.video_display = (uintptr_t)info.info.x11.display;
driver.video_window = (uintptr_t)info.info.x11.window; driver.video_window = (uintptr_t)info.info.x11.window;
#endif
} }
#endif #endif
} }

View File

@ -31,7 +31,7 @@
#include "config.h" #include "config.h"
#endif #endif
#include "SDL/SDL_syswm.h" #include "SDL_syswm.h"
typedef struct sdl_menu_frame typedef struct sdl_menu_frame
{ {
@ -210,25 +210,21 @@ static void sdl_render_msg(sdl_video_t *vid, SDL_Surface *buffer,
static void sdl_gfx_set_handles(void) static void sdl_gfx_set_handles(void)
{ {
// SysWMinfo headers are broken on OSX. :( // SysWMinfo headers are broken on OSX. :(
#if defined(_WIN32) #if defined(_WIN32) || defined(HAVE_X11)
SDL_SysWMinfo info; SDL_SysWMinfo info;
SDL_VERSION(&info.version); SDL_VERSION(&info.version);
if (SDL_GetWMInfo(&info) == 1) if (SDL_GetWMInfo(&info) == 1)
{ {
#if defined(_WIN32)
driver.display_type = RARCH_DISPLAY_WIN32; driver.display_type = RARCH_DISPLAY_WIN32;
driver.video_display = 0; driver.video_display = 0;
driver.video_window = (uintptr_t)info.window; driver.video_window = (uintptr_t)info.window;
}
#elif defined(HAVE_X11) #elif defined(HAVE_X11)
SDL_SysWMinfo info;
SDL_VERSION(&info.version);
if (SDL_GetWMInfo(&info) == 1)
{
driver.display_type = RARCH_DISPLAY_X11; driver.display_type = RARCH_DISPLAY_X11;
driver.video_display = (uintptr_t)info.info.x11.display; driver.video_display = (uintptr_t)info.info.x11.display;
driver.video_window = (uintptr_t)info.info.x11.window; driver.video_window = (uintptr_t)info.info.x11.window;
#endif
} }
#endif #endif
} }