Added some SysWM bits for Mir.

This commit is contained in:
Ryan C. Gordon 2014-02-02 23:53:48 -05:00
parent 8674b7aeee
commit 6bc2977043
2 changed files with 17 additions and 0 deletions

View File

@ -93,6 +93,11 @@ typedef struct _UIWindow UIWindow;
#endif #endif
#endif #endif
#if defined(SDL_VIDEO_DRIVER_MIR)
#include <mir_toolkit/mir_client_library.h>
#endif
/** /**
* These are the various supported windowing subsystems * These are the various supported windowing subsystems
*/ */
@ -205,6 +210,14 @@ struct SDL_SysWMinfo
struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */ struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */
} wl; } wl;
#endif #endif
#if defined(SDL_VIDEO_DRIVER_MIR)
struct
{
MirConnection *connection; /**< Mir display server connection */
MirSurface *surface; /**< Mir surface */
} mir;
#endif
/* Can't have an empty union */ /* Can't have an empty union */
int dummy; int dummy;
} info; } info;

View File

@ -158,8 +158,12 @@ MIR_GetWindowWMInfo(_THIS, SDL_Window* window, SDL_SysWMinfo* info)
{ {
if (info->version.major == SDL_MAJOR_VERSION && if (info->version.major == SDL_MAJOR_VERSION &&
info->version.minor == SDL_MINOR_VERSION) { info->version.minor == SDL_MINOR_VERSION) {
MIR_Window* mir_window = window->driverdata;
info->subsystem = SDL_SYSWM_MIR; info->subsystem = SDL_SYSWM_MIR;
info->info.mir.connection = mir_window->mir_data->connection;
info->info.mir.surface = mir_window->surface;
return SDL_TRUE; return SDL_TRUE;
} }