]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagpng.cpp
reduce the margins around bitmaps to avoid truncating the label unnecessarily
[wxWidgets.git] / src / common / imagpng.cpp
index 5d91abbe17a9e2f64ddcb05d141cf645431624da..44c21654ecd4e5bd18b62db5ab54f6de939c2e8d 100644 (file)
@@ -33,7 +33,7 @@
     #include "wx/stream.h"
 #endif
 
-#include <png.h>
+#include "png.h"
 
 // For memcpy
 #include <string.h>
@@ -710,6 +710,21 @@ bool wxPNGHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbos
                                   : PNG_COLOR_TYPE_GRAY;
     }
 
+    if (image->HasOption(wxIMAGE_OPTION_PNG_FILTER))
+        png_set_filter( png_ptr, PNG_FILTER_TYPE_BASE, image->GetOptionInt(wxIMAGE_OPTION_PNG_FILTER) );
+
+    if (image->HasOption(wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL))
+        png_set_compression_level( png_ptr, image->GetOptionInt(wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL) );
+
+    if (image->HasOption(wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL))
+        png_set_compression_mem_level( png_ptr, image->GetOptionInt(wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL) );
+
+    if (image->HasOption(wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY))
+        png_set_compression_strategy( png_ptr, image->GetOptionInt(wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY) );
+
+    if (image->HasOption(wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE))
+        png_set_compression_buffer_size( png_ptr, image->GetOptionInt(wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE) );
+
     png_set_IHDR( png_ptr, info_ptr, image->GetWidth(), image->GetHeight(),
                   iBitDepth, iPngColorType,
                   PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE,