]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/erase/erase.cpp
Changes for wxOGL since wxFatalError has been deprecated.
[wxWidgets.git] / samples / erase / erase.cpp
index dde8738687f4f3da7728151566201f0bef85a09f..f25a7927394886ccc6073af133a04c147e7f0b27 100644 (file)
@@ -39,7 +39,7 @@
 // resources
 // ----------------------------------------------------------------------------
 // the application icon
-#if defined(__WXGTK__) || defined(__WXMOTIF__)
+#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) || defined(__WXX11__)
     #include "mondrian.xpm"
 #endif
 
@@ -157,7 +157,7 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
     wxString msg;
-    msg.Printf( _T("This is the about dialog of tghe Erase sample.\n")
+    msg.Printf( _T("This is the about dialog of the Erase sample.\n")
                 _T("Welcome to %s"), wxVERSION_STRING);
 
     wxMessageBox(msg, "About Erase", wxOK | wxICON_INFORMATION, this);
@@ -181,8 +181,25 @@ void MyCanvas::OnPaint( wxPaintEvent &event )
     wxPaintDC dc(this);
     PrepareDC( dc );
     
+    wxRegion region( 110, 110, 80, 80 );
+    wxRegion hole( 130, 130, 40, 1 );
+    region.Intersect( hole );
+    dc.SetClippingRegion( region );
+    
     dc.SetBrush( *wxRED_BRUSH );
-    dc.DrawRectangle( 100, 100, 300, 500 );
+    dc.DrawRectangle( 100, 100, 200, 200 );
+    
+    dc.DestroyClipingRegion();
+
+    dc.SetPen( *wxTRANSPARENT_PEN );
+    
+    wxRegion strip( 110, 200, 30, 1 );
+    wxRegionIterator it( strip );
+    while (it)
+    {
+        dc.DrawRectangle( it.GetX(), it.GetY(), it.GetWidth(), it.GetHeight() );
+        it ++;
+    }
 }
 
 void MyCanvas::OnEraseBackground( wxEraseEvent &event )