Procházet zdrojové kódy

Allow resize() to work before a window is created.

Former-commit-id: 7ae96b905e5826b84cd65173e633111181f8e6a5
Jérémie Dumas před 8 roky
rodič
revize
fc87a2e21e
1 změnil soubory, kde provedl 7 přidání a 1 odebrání
  1. 7 1
      include/igl/viewer/Viewer.cpp

+ 7 - 1
include/igl/viewer/Viewer.cpp

@@ -278,6 +278,8 @@ namespace viewer
 
 
   IGL_INLINE Viewer::Viewer()
   IGL_INLINE Viewer::Viewer()
   {
   {
+    window = nullptr;
+
 #ifdef IGL_VIEWER_WITH_NANOGUI
 #ifdef IGL_VIEWER_WITH_NANOGUI
     ngui = nullptr;
     ngui = nullptr;
     screen = nullptr;
     screen = nullptr;
@@ -842,7 +844,11 @@ namespace viewer
 
 
   IGL_INLINE void Viewer::resize(int w,int h)
   IGL_INLINE void Viewer::resize(int w,int h)
   {
   {
-    glfwSetWindowSize(window, w/highdpi, h/highdpi);
+    if (window) {
+      glfwSetWindowSize(window, w/highdpi, h/highdpi);
+    } else {
+      resize_callback(w, h);
+    }
   }
   }
 
 
   IGL_INLINE void Viewer::resize_callback(int w,int h)
   IGL_INLINE void Viewer::resize_callback(int w,int h)