summaryrefslogtreecommitdiff
path: root/vcl/source/image/ImplImage.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/image/ImplImage.cxx')
-rw-r--r--vcl/source/image/ImplImage.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/vcl/source/image/ImplImage.cxx b/vcl/source/image/ImplImage.cxx
index a63dd8ccb7ce..cf70052a9fd7 100644
--- a/vcl/source/image/ImplImage.cxx
+++ b/vcl/source/image/ImplImage.cxx
@@ -26,6 +26,7 @@
#include <vcl/virdev.hxx>
#include <vcl/BitmapFilter.hxx>
#include <vcl/ImageTree.hxx>
+#include <vcl/skia/SkiaHelper.hxx>
#include <bitmap/BitmapDisabledImageFilter.hxx>
#include <comphelper/lok.hxx>
@@ -164,7 +165,15 @@ BitmapEx const & ImplImage::getBitmapExForHiDPI(bool bDisabled, SalGraphics* pGr
else // if (mxMetaFile)
{
ScopedVclPtrInstance<VirtualDevice> aVDev(DeviceFormat::WITH_ALPHA);
- aVDev->SetOutputSizePixel(aTarget);
+
+ // Fix white background in font color and font background color
+ // in the Breeze icons by setting the alpha mask to transparent
+ bool bAlphaMaskTransparent = true;
+#if HAVE_FEATURE_SKIA
+ if (SkiaHelper::isVCLSkiaEnabled() && SkiaHelper::isAlphaMaskBlendingEnabled())
+ bAlphaMaskTransparent = false;
+#endif
+ aVDev->SetOutputSizePixel(aTarget, true, bAlphaMaskTransparent);
mxMetaFile->WindStart();
mxMetaFile->Play(*aVDev, Point(), aTarget);
maBitmapEx = aVDev->GetBitmapEx(Point(), aTarget);