]> git.saurik.com Git - wxWidgets.git/commitdiff
Move wxDoFloodFill to dc.cpp so that it can be 'used' without wxImage. Fixes related...
authorRyan Norton <wxprojects@comcast.net>
Tue, 1 Mar 2005 11:10:34 +0000 (11:10 +0000)
committerRyan Norton <wxprojects@comcast.net>
Tue, 1 Mar 2005 11:10:34 +0000 (11:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/dcbase.cpp
src/common/imagfill.cpp

index 1beb8edcae184a1f75c519222fdc2d04ebeeef6f..3156558ff1d249dad279ed1884b8bfa439226d70 100644 (file)
@@ -984,3 +984,38 @@ void wxDCBase::CalculateEllipticPoints( wxList* points,
 
 #endif
 
+bool wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y,
+                   const wxColour& col, int style)
+{
+#if wxUSE_IMAGE
+    if (dc->GetBrush().GetStyle() == wxTRANSPARENT)
+        return true;
+
+    int height = 0;
+    int width  = 0;
+    dc->GetSize(&width, &height);
+
+    //it would be nice to fail if we don't get a sensible size...
+    wxCHECK_MSG(width >= 1 && height >= 1, false,
+                wxT("In FloodFill, dc.GetSize routine failed, method not supported by this DC"));
+
+    //this is much faster than doing the individual pixels
+    wxMemoryDC memdc;
+    wxBitmap bitmap(width, height);
+    memdc.SelectObject(bitmap);
+    memdc.Blit(0, 0, width, height, dc, 0, 0);
+    memdc.SelectObject(wxNullBitmap);
+
+    wxImage image = bitmap.ConvertToImage();
+    wxImageFloodFill(&image, x,y, dc->GetBrush(), col, style,
+                     dc->GetLogicalFunction());
+    bitmap = wxBitmap(image);
+    memdc.SelectObject(bitmap);
+    dc->Blit(0, 0, width, height, &memdc, 0, 0);
+    memdc.SelectObject(wxNullBitmap);
+
+    return true;
+#else
+    return false;
+#endif
+}
index 129c63c168aafc230d60a529019f4c1d7d77b71a..78fd8d316074445629228a3a8c31bf1a965c7d61 100644 (file)
@@ -273,37 +273,6 @@ wxImageFloodFill(wxImage *image,
 }
 
 
-bool wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y,
-                   const wxColour& col, int style)
-{
-    if (dc->GetBrush().GetStyle() == wxTRANSPARENT)
-        return true;
-
-    int height = 0;
-    int width  = 0;
-    dc->GetSize(&width, &height);
-
-    //it would be nice to fail if we don't get a sensible size...
-    wxCHECK_MSG(width >= 1 && height >= 1, false,
-                wxT("In FloodFill, dc.GetSize routine failed, method not supported by this DC"));
-
-    //this is much faster than doing the individual pixels
-    wxMemoryDC memdc;
-    wxBitmap bitmap(width, height);
-    memdc.SelectObject(bitmap);
-    memdc.Blit(0, 0, width, height, dc, 0, 0);
-    memdc.SelectObject(wxNullBitmap);
-
-    wxImage image = bitmap.ConvertToImage();
-    wxImageFloodFill(&image, x,y, dc->GetBrush(), col, style,
-                     dc->GetLogicalFunction());
-    bitmap = wxBitmap(image);
-    memdc.SelectObject(bitmap);
-    dc->Blit(0, 0, width, height, &memdc, 0, 0);
-    memdc.SelectObject(wxNullBitmap);
-
-    return true;
-}
-
 #endif // wxUSE_IMAGE
 
+