diff options
Diffstat (limited to 'src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx')
| -rw-r--r-- | src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx index 9df5b2f71..529f9ade7 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx @@ -868,6 +868,14 @@ void *Fl_WinAPI_System_Driver::dlopen(const char *filename) return LoadLibrary(filename); } +void Fl_WinAPI_System_Driver::png_extra_rgba_processing(unsigned char *ptr, int w, int h) +{ + // Some Windows graphics drivers don't honor transparency when RGB == white + // Convert RGB to 0 when alpha == 0... + for (int i = w * h; i > 0; i --, ptr += 4) { + if (!ptr[3]) ptr[0] = ptr[1] = ptr[2] = 0; + } +} // // End of "$Id$". |
