]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/window.cpp
corrected #ifdef TARGET_CARBON to #if TARGET_CARBON
[wxWidgets.git] / src / mgl / window.cpp
index 55dfa752910664e2247fc9e22287dd00f21f82cc..dac506d5186ae21523d726edc4ca99391bd0fa6d 100644 (file)
@@ -117,7 +117,6 @@ bool wxCreateMGL_WM()
     
 #if wxUSE_SYSTEM_OPTIONS
     // FIXME_MGL -- so what is The Proper Way?
-    width=800, height=600;
     if ( wxSystemOptions::HasOption(wxT("mgl.screen-width") )
         width = wxSystemOptions::GetOptionInt(wxT("mgl.screen-width"));
     if ( wxSystemOptions::HasOption(wxT("mgl.screen-height") )
@@ -174,6 +173,21 @@ static wxWindowMGL* wxGetTopLevelParent(wxWindowMGL *win)
     return p;
 }
 
+#ifdef __WXDEBUG__
+// Add an easy way to capture screenshots:
+static void CaptureScreenshot()
+{
+    wxBusyCursor bcur;
+    
+    static int screenshot_num = 0;
+    char screenshot[128];
+    sprintf(screenshot, "screenshot-%03i.png", screenshot_num++);
+    g_displayDC->savePNGFromDC(screenshot, 0, 0, 
+                               g_displayDC->sizex(), 
+                               g_displayDC->sizey());
+}
+#endif
+
 // ---------------------------------------------------------------------------
 // MGL_WM hooks:
 // ---------------------------------------------------------------------------
@@ -199,7 +213,13 @@ static ibool wxWindowMouseHandler(window_t *wnd, event_t *e)
     MGL_wmCoordGlobalToLocal(win->GetHandle(), 
                              e->where_x, e->where_y, &where.x, &where.y);
 
-    if ( !win->IsEnabled() ) return FALSE;
+    for (wxWindowMGL *w = win; w; w = w->GetParent())
+    {
+        if ( !w->IsEnabled() ) 
+            return FALSE;
+        if ( w->IsTopLevel() )
+            break;
+    }
     
     wxEventType type = wxEVT_NULL;
     wxMouseEvent event;
@@ -462,6 +482,14 @@ static ibool wxWindowKeybHandler(window_t *wnd, event_t *e)
     
         ret = win->GetEventHandler()->ProcessEvent(event);
 
+
+#ifdef __WXDEBUG__
+        // Add an easy way to capture screenshots:
+        if ( event.m_keyCode == WXK_F1 && 
+             event.m_shiftDown && event.m_controlDown )
+            CaptureScreenshot();
+#endif
+
 #if wxUSE_ACCEL
         if ( !ret )
         {
@@ -1098,6 +1126,12 @@ void wxWindowMGL::HandlePaint(MGLDevCtx *dc)
         return;
     }
     
+#if 0 // FIXME_MGL -- debugging stuff!
+    dc->setColorRGB(255,0,255);
+    dc->fillRect(-1000,-1000,2000,2000);
+    wxUsleep(100);
+#endif
+
     MGLRegion clip;
     dc->getClipRegion(clip);
     m_updateRegion = wxRegion(clip);