#include "wx/defs.h"
#endif
-#if wxUSE_STREAMS && wxUSE_LIBPNG
+#if wxUSE_LIBPNG
#include "wx/image.h"
#include "wx/bitmap.h"
IMPLEMENT_DYNAMIC_CLASS(wxPNGHandler,wxImageHandler)
#endif
+#if wxUSE_LIBPNG
+
#if defined(__VISAGECPP__)
#define LINKAGEMODE _Optlink
#else
data[(x << 2) + 0] = *ptr++;
data[(x << 2) + 1] = *ptr++;
data[(x << 2) + 2] = *ptr++;
- if ((data[(x << 2) + 0] == image->GetMaskRed()) &&
- (data[(x << 2) + 1] == image->GetMaskGreen()) &&
- (data[(x << 2) + 2] == image->GetMaskBlue()))
+ if (( !image->HasMask() ) || \
+ (data[(x << 2) + 0] != image->GetMaskRed()) || \
+ (data[(x << 2) + 1] != image->GetMaskGreen()) || \
+ (data[(x << 2) + 2] != image->GetMaskBlue()))
{
- data[(x << 2) + 3] = 0;
+ data[(x << 2) + 3] = 255;
}
else
{
- data[(x << 2) + 3] = 255;
+ data[(x << 2) + 3] = 0;
}
}
png_bytep row_ptr = data;
return (hdr[0] == 0x89 && hdr[1] == 'P' && hdr[2] == 'N' && hdr[3] == 'G');
}
-#endif // wxUSE_STREAMS && wxUSE_LIBPNG
+#endif // wxUSE_STREAMS
+#endif // wxUSE_LIBPNG