summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-03-27 12:22:15 +0100
committerAshod Nakashian <ashod.nakashian@collabora.co.uk>2017-12-05 08:17:30 -0500
commit9fa747a62b29906e11a29e1276df66b00b5ba33b (patch)
tree251e4d492b95b57294da967a5c6c083d254f75b9
parent245c7fedb2c901c59053e0cdafb36ac41deb5f15 (diff)
process palette standalone
Change-Id: I489a5cdecf4a5c856e9e5fdd03e6f9c920c0a4d5 (cherry picked from commit dfed481524113a1be03d29ec8a9e13bb96052895) (cherry picked from commit ddcb49d42089b2eec168afb63da551666aaa4a72)
-rw-r--r--vcl/source/gdi/dibtools.cxx11
1 files changed, 6 insertions, 5 deletions
diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx
index 1559a6ac189f..eacd18ca1f97 100644
--- a/vcl/source/gdi/dibtools.cxx
+++ b/vcl/source/gdi/dibtools.cxx
@@ -288,9 +288,9 @@ bool ImplReadDIBInfoHeader(SvStream& rIStm, DIBV5Header& rHeader, bool& bTopDown
return rIStm.good();
}
-bool ImplReadDIBPalette( SvStream& rIStm, BitmapWriteAccess& rAcc, bool bQuad )
+bool ImplReadDIBPalette(SvStream& rIStm, BitmapPalette& rPal, bool bQuad)
{
- const sal_uInt16 nColors = rAcc.GetPaletteEntryCount();
+ const sal_uInt16 nColors = rPal.GetEntryCount();
const sal_uLong nPalSize = nColors * ( bQuad ? 4UL : 3UL );
BitmapColor aPalColor;
@@ -310,7 +310,7 @@ bool ImplReadDIBPalette( SvStream& rIStm, BitmapWriteAccess& rAcc, bool bQuad )
if( bQuad )
pTmpEntry++;
- rAcc.SetPaletteColor( i, aPalColor );
+ rPal[i] = aPalColor;
}
return( rIStm.GetError() == 0UL );
@@ -935,8 +935,9 @@ bool ImplReadDIBBody( SvStream& rIStm, Bitmap& rBmp, AlphaMask* pBmpAlpha, sal_u
// read palette
if (nColors)
{
- pAcc->SetPaletteEntryCount(nColors);
- ImplReadDIBPalette(*pIStm, *pAcc, aHeader.nSize != DIBCOREHEADERSIZE);
+ BitmapPalette aPalette(nColors);
+ ImplReadDIBPalette(*pIStm, aPalette, aHeader.nSize != DIBCOREHEADERSIZE);
+ pAcc->SetPalette(aPalette);
}
// read bits