فهرست منبع

Added some SysWM bits for Mir.

Ryan C. Gordon 11 سال پیش
والد
کامیت
6bc2977043
2فایلهای تغییر یافته به همراه17 افزوده شده و 0 حذف شده
  1. 13 0
      include/SDL_syswm.h
  2. 4 0
      src/video/mir/SDL_mirwindow.c

+ 13 - 0
include/SDL_syswm.h

@@ -93,6 +93,11 @@ typedef struct _UIWindow UIWindow;
 #endif
 #endif
 
+#if defined(SDL_VIDEO_DRIVER_MIR)
+#include <mir_toolkit/mir_client_library.h>
+#endif
+
+
 /**
  *  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) */
         } wl;
 #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 */
         int dummy;
     } info;

+ 4 - 0
src/video/mir/SDL_mirwindow.c

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