X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/85f6b408dfd796805b1c43718e69549506353ca7..632aaa18917a5a26e166aa970f7ad65ff15a3667:/src/common/rgncmn.cpp diff --git a/src/common/rgncmn.cpp b/src/common/rgncmn.cpp index 2b1b5b6600..0732bd75c6 100644 --- a/src/common/rgncmn.cpp +++ b/src/common/rgncmn.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: rgncmn.cpp +// Name: src/common/rgncmn.cpp // Purpose: Methods of wxRegion that have a generic implementation // Author: Robin Dunn // Modified by: @@ -9,28 +9,20 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "rgncmn.h" -#endif - - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif #include "wx/region.h" -#include "wx/bitmap.h" -#if wxUSE_IMAGE -#include "wx/image.h" -#endif -#include "wx/dcmemory.h" - - -//--------------------------------------------------------------------------- +#ifndef WX_PRECOMP + #include "wx/dcmemory.h" + #include "wx/bitmap.h" + #include "wx/image.h" +#endif //WX_PRECOMP wxBitmap wxRegion::ConvertToBitmap() const @@ -60,9 +52,9 @@ static bool DoRegionUnion(wxRegion& region, { unsigned char hiR, hiG, hiB; - hiR = wxMin(0xFF, loR + tolerance); - hiG = wxMin(0xFF, loG + tolerance); - hiB = wxMin(0xFF, loB + tolerance); + hiR = (unsigned char)wxMin(0xFF, loR + tolerance); + hiG = (unsigned char)wxMin(0xFF, loG + tolerance); + hiB = (unsigned char)wxMin(0xFF, loB + tolerance); // Loop through the image row by row, pixel by pixel, building up // rectangles to add to the region. @@ -101,10 +93,11 @@ static bool DoRegionUnion(wxRegion& region, return true; } - + bool wxRegion::Union(const wxBitmap& bmp) { +#if (!defined(__WXMSW__) || wxUSE_WXDIB) if (bmp.GetMask()) { wxImage image = bmp.ConvertToImage(); @@ -116,6 +109,7 @@ bool wxRegion::Union(const wxBitmap& bmp) 0); } else +#endif { return Union(0, 0, bmp.GetWidth(), bmp.GetHeight()); } @@ -125,12 +119,16 @@ bool wxRegion::Union(const wxBitmap& bmp, const wxColour& transColour, int tolerance) { +#if (!defined(__WXMSW__) || wxUSE_WXDIB) wxImage image = bmp.ConvertToImage(); return DoRegionUnion(*this, image, transColour.Red(), transColour.Green(), transColour.Blue(), tolerance); +#else + return false; +#endif } #else @@ -150,5 +148,3 @@ bool wxRegion::Union(const wxBitmap& WXUNUSED(bmp), } #endif - -//---------------------------------------------------------------------------