diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-27 12:22:15 +0100 |
---|---|---|
committer | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2017-12-05 08:17:30 -0500 |
commit | 9fa747a62b29906e11a29e1276df66b00b5ba33b (patch) | |
tree | 251e4d492b95b57294da967a5c6c083d254f75b9 | |
parent | 245c7fedb2c901c59053e0cdafb36ac41deb5f15 (diff) |
process palette standalone
Change-Id: I489a5cdecf4a5c856e9e5fdd03e6f9c920c0a4d5
(cherry picked from commit dfed481524113a1be03d29ec8a9e13bb96052895)
(cherry picked from commit ddcb49d42089b2eec168afb63da551666aaa4a72)
-rw-r--r-- | vcl/source/gdi/dibtools.cxx | 11 |
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 |