summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-09-04 17:12:02 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-09-04 21:52:35 +0200
commit67951d08ddd20ac87fc7eb54a90cb81901a89f8c (patch)
tree3dd9625695ca7823d1b265fa26773e08bd23834c
parenta89c3dc4b0a2ec846af387833474b543b3f149ad (diff)
Resolves: tdf#111073 incorrect gif background color
a) set correct palette entries for the 1bit bitmap returned b) only use a BITMASK for the mask (like its AnimatedGraphicPrimitive2D brother in drawinglayer does) Change-Id: I704997de554dc4d0e523458d45ab329815b5046a Reviewed-on: https://gerrit.libreoffice.org/41905 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--slideshow/source/engine/shapes/gdimtftools.cxx2
-rw-r--r--vcl/headless/svpgdi.cxx9
2 files changed, 9 insertions, 2 deletions
diff --git a/slideshow/source/engine/shapes/gdimtftools.cxx b/slideshow/source/engine/shapes/gdimtftools.cxx
index 3d7e643dfb7b..fb12c9853392 100644
--- a/slideshow/source/engine/shapes/gdimtftools.cxx
+++ b/slideshow/source/engine/shapes/gdimtftools.cxx
@@ -285,7 +285,7 @@ bool getAnimationFromGraphic( VectorOfMtfAnimationFrames& o_rFrames,
pVDev->EnableMapMode( false );
// setup mask VDev (alpha VDev is currently rather slow)
- ScopedVclPtrInstance< VirtualDevice > pVDevMask;
+ ScopedVclPtrInstance<VirtualDevice> pVDevMask(DeviceFormat::BITMASK);
pVDevMask->SetOutputSizePixel( aAnimSize );
pVDevMask->EnableMapMode( false );
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 170d6c6087e6..5b8c0a8a66e0 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1145,7 +1145,14 @@ void SvpSalGraphics::drawMask( const SalTwoRect& rTR,
SalBitmap* SvpSalGraphics::getBitmap( long nX, long nY, long nWidth, long nHeight )
{
SvpSalBitmap* pBitmap = new SvpSalBitmap();
- pBitmap->Create(Size(nWidth, nHeight), GetBitCount(), BitmapPalette());
+ BitmapPalette aPal;
+ if (GetBitCount() == 1)
+ {
+ aPal.SetEntryCount(2);
+ aPal[0] = Color(COL_BLACK);
+ aPal[1] = Color(COL_WHITE);
+ }
+ pBitmap->Create(Size(nWidth, nHeight), GetBitCount(), aPal);
cairo_surface_t* target = SvpSalGraphics::createCairoSurface(pBitmap->GetBuffer());
cairo_t* cr = cairo_create(target);