浏览代码

Windows: Report window HDC in SDL_SysWMinfo.

Fixes Bugzilla #2668.
Ryan C. Gordon 10 年之前
父节点
当前提交
331a434fa1
共有 2 个文件被更改,包括 4 次插入2 次删除
  1. 1 0
      include/SDL_syswm.h
  2. 3 2
      src/video/windows/SDL_windowswindow.c

+ 1 - 0
include/SDL_syswm.h

@@ -186,6 +186,7 @@ struct SDL_SysWMinfo
         struct
         struct
         {
         {
             HWND window;                /**< The window handle */
             HWND window;                /**< The window handle */
+            HDC hdc;                    /**< The window device context */
         } win;
         } win;
 #endif
 #endif
 #if defined(SDL_VIDEO_DRIVER_WINRT)
 #if defined(SDL_VIDEO_DRIVER_WINRT)

+ 3 - 2
src/video/windows/SDL_windowswindow.c

@@ -643,10 +643,11 @@ WIN_DestroyWindow(_THIS, SDL_Window * window)
 SDL_bool
 SDL_bool
 WIN_GetWindowWMInfo(_THIS, SDL_Window * window, SDL_SysWMinfo * info)
 WIN_GetWindowWMInfo(_THIS, SDL_Window * window, SDL_SysWMinfo * info)
 {
 {
-    HWND hwnd = ((SDL_WindowData *) window->driverdata)->hwnd;
+    const SDL_WindowData *data = (const SDL_WindowData *) window->driverdata;
     if (info->version.major <= SDL_MAJOR_VERSION) {
     if (info->version.major <= SDL_MAJOR_VERSION) {
         info->subsystem = SDL_SYSWM_WINDOWS;
         info->subsystem = SDL_SYSWM_WINDOWS;
-        info->info.win.window = hwnd;
+        info->info.win.window = data->hwnd;
+        info->info.win.hdc = data->hdc;
         return SDL_TRUE;
         return SDL_TRUE;
     } else {
     } else {
         SDL_SetError("Application not compiled with SDL %d.%d\n",
         SDL_SetError("Application not compiled with SDL %d.%d\n",