summaryrefslogtreecommitdiffstats
path: root/drawinglayer
diff options
context:
space:
mode:
authorVasily Melenchuk <Vasily.Melenchuk@cib.de>2018-03-06 16:23:40 +0300
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-03-14 11:13:52 +0100
commitae11dec72099fafc807d13b7169bd3177e9d539f (patch)
tree7932676b0e627e7a7045985aeb2259187c4b738a /drawinglayer
parentColibre icons: add links.txt file (diff)
downloadcore-ae11dec72099fafc807d13b7169bd3177e9d539f.tar.gz
core-ae11dec72099fafc807d13b7169bd3177e9d539f.zip
tdf#115297: 1bit images displaying fixed (again)
Previous fix 25cd843664919974f0d21ca7a0b02cc43e9eeabb like any other before it have some regressions, so reverted. The root of most problems: fix for tdf#104141 d148340babf6c973f7d463909d7a51e16c953248, where mask drawing was implemented in bitmap drawing code. So instead of guessing for type of bitmap, mask is drawn with DrawBitmapEx resolving all known problems (tdf#114726, tdf#115297, tdf#113918 and tdf#104141). Change-Id: Ie00f7552d667e237b3c0f9505ee09cb51e85c43c Reviewed-on: https://gerrit.libreoffice.org/50828 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'drawinglayer')
-rw-r--r--drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
index 2d9f1612b1f0..ba5cc8441122 100644
--- a/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
+++ b/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx
@@ -271,7 +271,8 @@ namespace drawinglayer
}
else
{
- maVirtualDeviceMask->DrawBitmap(rAnimBitmap.aPosPix, aMask);
+ BitmapEx aExpandVisibilityMask = BitmapEx(aMask, aMask);
+ maVirtualDeviceMask->DrawBitmapEx(rAnimBitmap.aPosPix, aExpandVisibilityMask);
}
break;
@@ -279,7 +280,8 @@ namespace drawinglayer
case Disposal::Previous:
{
maVirtualDevice->DrawBitmapEx(rAnimBitmap.aPosPix, rAnimBitmap.aBmpEx);
- maVirtualDeviceMask->DrawBitmap(rAnimBitmap.aPosPix, rAnimBitmap.aBmpEx.GetMask());
+ BitmapEx aExpandVisibilityMask = BitmapEx(rAnimBitmap.aBmpEx.GetMask(), rAnimBitmap.aBmpEx.GetMask());
+ maVirtualDeviceMask->DrawBitmapEx(rAnimBitmap.aPosPix, aExpandVisibilityMask);
break;
}
}