diff options
-rw-r--r-- | vcl/source/filter/graphicfilter.cxx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/vcl/source/filter/graphicfilter.cxx b/vcl/source/filter/graphicfilter.cxx index b30b8afbe130..e7f86486d792 100644 --- a/vcl/source/filter/graphicfilter.cxx +++ b/vcl/source/filter/graphicfilter.cxx @@ -2269,6 +2269,7 @@ IMPL_LINK( GraphicFilter, FilterCallback, ConvertData&, rData, bool ) sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW; OString aShortName; + css::uno::Sequence< css::beans::PropertyValue > aFilterData; switch( rData.mnFormat ) { case ConvertDataFormat::BMP: aShortName = BMP_SHORTNAME; break; @@ -2295,8 +2296,17 @@ IMPL_LINK( GraphicFilter, FilterCallback, ConvertData&, rData, bool ) else if( !aShortName.isEmpty() ) { // Export +#ifdef IOS + if (aShortName == PNG_SHORTNAME) + { + aFilterData.realloc(aFilterData.getLength() + 1); + aFilterData[aFilterData.getLength() - 1].Name = "Compression"; + // We "know" that this gets passed to zlib's deflateInit2_(). 1 means best speed. + aFilterData[aFilterData.getLength() - 1].Value <<= 1; + } +#endif nFormat = GetExportFormatNumberForShortName( OStringToOUString(aShortName, RTL_TEXTENCODING_UTF8) ); - bRet = ExportGraphic( rData.maGraphic, OUString(), rData.mrStm, nFormat ) == ERRCODE_NONE; + bRet = ExportGraphic( rData.maGraphic, OUString(), rData.mrStm, nFormat, &aFilterData ) == ERRCODE_NONE; } return bRet; |