]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/window.cpp
Updates for Y positioning
[wxWidgets.git] / src / mgl / window.cpp
index 36e2e1344379ce1f979c204b3151772276d6389d..5c1cab3bf154f9afa2c3495d9aac7ffe85727a95 100644 (file)
@@ -591,6 +591,7 @@ bool wxWindowMGL::Create(wxWindow *parent,
         x = 0; // FIXME_MGL, something better, see GTK+
     if ( y == -1 )
         y = 0; // FIXME_MGL, something better, see GTK+
+    AdjustForParentClientOrigin(x, y, 0);
     w = WidthDefault(size.x);
     h = HeightDefault(size.y);
     
@@ -959,7 +960,7 @@ void wxWindowMGL::DoSetSize(int x, int y, int width, int height, int sizeFlags)
             width = currentW;
         }
     }
-
+    
     if ( height == -1 )
     {
         if ( sizeFlags & wxSIZE_AUTO_HEIGHT )
@@ -978,6 +979,16 @@ void wxWindowMGL::DoSetSize(int x, int y, int width, int height, int sizeFlags)
             height = currentH;
         }
     }
+    
+    int maxWidth = GetMaxWidth(),
+        minWidth = GetMinWidth(),    
+        maxHeight = GetMaxHeight(),
+        minHeight = GetMinHeight();
+        
+    if ( minWidth != -1 && width < minWidth ) width = minWidth;
+    if ( maxWidth != -1 && width > maxWidth ) width = maxWidth;
+    if ( minHeight != -1 && height < minHeight ) height = minHeight;
+    if ( maxHeight != -1 && height > maxHeight ) height = maxHeight;
 
     if ( m_wnd->x != x || m_wnd->y != y || 
          (int)m_wnd->width != width || (int)m_wnd->height != height )
@@ -1126,10 +1137,17 @@ void wxWindowMGL::HandlePaint(MGLDevCtx *dc)
         return;
     }
     
-#if 0 // FIXME_MGL -- debugging stuff!
-    dc->setColorRGB(255,0,255);
-    dc->fillRect(-1000,-1000,2000,2000);
-    wxUsleep(50);
+#ifdef __WXDEBUG__ 
+    // FIXME_MGL -- debugging stuff, to be removed!
+    static int debugPaintEvents = -1;
+    if ( debugPaintEvents == -1 )
+        debugPaintEvents = wxGetEnv(wxT("WXMGL_DEBUG_PAINT_EVENTS"), NULL);
+    if ( debugPaintEvents )
+    {
+        dc->setColorRGB(255,0,255);
+        dc->fillRect(-1000,-1000,2000,2000);
+        wxUsleep(50);
+    }
 #endif
 
     MGLRegion clip;