X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1699cd397f7db0193491c8498608578b43db12b..5e3841bf8069fbcc2b1da3ef36af4f569c604265:/src/mgl/dc.cpp diff --git a/src/mgl/dc.cpp b/src/mgl/dc.cpp index e38597f419..410e1b4016 100644 --- a/src/mgl/dc.cpp +++ b/src/mgl/dc.cpp @@ -332,36 +332,13 @@ void wxDC::Clear() } } -void wxDC::DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, int style) -{ - if (GetBrush().GetStyle() == wxTRANSPARENT) - { - wxLogDebug(wxT("In FloodFill, Current Brush is transparent, no filling done")); - return ; - } - int height = 0; - int width = 0; - this->GetSize(&width, &height); - //it would be nice to fail if we don't get a sensible size... - if (width < 1 || height < 1) - { - wxLogError(wxT("In FloodFill, dc.GetSize routine failed, method not supported by this DC")); - return ; - } - - //this is much faster than doing the individual pixels - wxMemoryDC memdc; - wxBitmap bitmap(width, height); - memdc.SelectObject(bitmap); - memdc.Blit(0, 0, width, height, (wxDC*) this, 0, 0); - memdc.SelectObject(wxNullBitmap); +extern bool wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y, + const wxColour & col, int style); - wxImage image(bitmap); - image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction()); - bitmap = wxBitmap(image); - memdc.SelectObject(bitmap); - this->Blit(0, 0, width, height, &memdc, 0, 0); - memdc.SelectObject(wxNullBitmap); +bool wxDC::DoFloodFill(wxCoord x, wxCoord y, + const wxColour& col, int style) +{ + return wxDoFloodFill(this, x, y, col, style); } bool wxDC::DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const @@ -759,7 +736,7 @@ bool wxDC::SelectMGLFont() !wxTestFontEncoding(nativeEnc) ) { #if wxUSE_FONTMAP - if ( !wxTheFontMapper->GetAltForEncoding(encoding, &nativeEnc) ) + if ( !wxFontMapper::Get()->GetAltForEncoding(encoding, &nativeEnc) ) #endif { nativeEnc.mglEncoding = MGL_ENCODING_ASCII;