diff options
Diffstat (limited to 'vcl/source/image/ImplImage.cxx')
-rw-r--r-- | vcl/source/image/ImplImage.cxx | 11 |
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); |