summaryrefslogtreecommitdiff
path: root/src/Fl_PNG_Image.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-04-10 18:22:57 +0000
committerManolo Gouy <Manolo>2016-04-10 18:22:57 +0000
commitc3f1877fd111d9d708ef03470e6723d7ce2e24a1 (patch)
tree23ea1db3bde3df90f99b4e5929133081255416b7 /src/Fl_PNG_Image.cxx
parentf9369a74ef156d01e678111fb0de475c1cde98eb (diff)
Remove platform-dependent code from Fl_PNG_Image.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11574 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_PNG_Image.cxx')
-rw-r--r--src/Fl_PNG_Image.cxx13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/Fl_PNG_Image.cxx b/src/Fl_PNG_Image.cxx
index 1d94e9803..aa9635ee9 100644
--- a/src/Fl_PNG_Image.cxx
+++ b/src/Fl_PNG_Image.cxx
@@ -26,10 +26,11 @@
// Include necessary header files...
//
+#include <config.h>
#include <FL/Fl.H>
+#include <FL/Fl_System_Driver.H>
#include <FL/Fl_PNG_Image.H>
#include <FL/Fl_Shared_Image.H>
-#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <FL/fl_utf8.h>
@@ -206,15 +207,7 @@ void Fl_PNG_Image::load_png_(const char *name_png, const unsigned char *buffer_p
for (i = png_set_interlace_handling(pp); i > 0; i --)
png_read_rows(pp, rows, NULL, h());
-#ifdef WIN32
- // Some Windows graphics drivers don't honor transparency when RGB == white
- if (channels == 4) {
- // Convert RGB to 0 when alpha == 0...
- uchar *ptr = (uchar *)array;
- for (i = w() * h(); i > 0; i --, ptr += 4)
- if (!ptr[3]) ptr[0] = ptr[1] = ptr[2] = 0;
- }
-#endif // WIN32
+ if (channels == 4) Fl::system_driver()->png_extra_rgba_processing((uchar*)array, w(), h());
// Free memory and return...
delete[] rows;