X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a679e1298b3f07cb421a756692e58107f3ad5d3e..4a46a5df879c4f820d0a0a435b34c7d5e4793991:/src/mgl/window.cpp diff --git a/src/mgl/window.cpp b/src/mgl/window.cpp index 36e2e13443..5c1cab3bf1 100644 --- a/src/mgl/window.cpp +++ b/src/mgl/window.cpp @@ -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;