浏览代码

build on windows

David Rose 16 年之前
父节点
当前提交
7ebb9477f8
共有 1 个文件被更改,包括 18 次插入2 次删除
  1. 18 2
      panda/src/windisplay/winGraphicsWindow.cxx

+ 18 - 2
panda/src/windisplay/winGraphicsWindow.cxx

@@ -868,8 +868,24 @@ open_regular_window() {
   HINSTANCE hinstance = GetModuleHandle(NULL);
 
   _hparent = NULL;
-  if (_properties.has_parent_window()) {
-    _hparent = (HWND) _properties.get_parent_window();
+  
+  WindowHandle *window_handle = _properties.get_parent_window();
+  if (window_handle != NULL) {
+    windisplay_cat.info()
+      << "Got parent_window " << *window_handle << "\n";
+    WindowHandle::OSHandle *os_handle = window_handle->get_os_handle();
+    if (os_handle != NULL) {
+      windisplay_cat.info()
+        << "os_handle type " << os_handle->get_type() << "\n";
+      
+      /*if (os_handle->is_of_type(WinGraphicsPipe::WinHandle::get_class_type())) {
+        WinGraphicsPipe::WinHandle *win_handle = DCAST(WinGraphicsPipe::WinHandle, os_handle);
+        _hparent = win_handle->get_handle();
+        } else*/ if (os_handle->is_of_type(WindowHandle::IntHandle::get_class_type())) {
+        WindowHandle::IntHandle *int_handle = DCAST(WindowHandle::IntHandle, os_handle);
+        _hparent = (HWND)int_handle->get_handle();
+      }
+    }
   }
 
   if (!_hparent) {