summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2013-06-18 11:55:59 +0200
committerDavid Tardon <dtardon@redhat.com>2013-06-18 11:58:53 +0200
commit5ef3c40ff0e70704cbc7d846722db9618d01ca53 (patch)
treeedcf493a86e6e2dad3ec693c505f2339cd50dc1f
parent1c104c449733767e4ce1b4071acea20d400400c8 (diff)
fdo#65844 use right colors from palette
It is not correct to expect that the palette will always be the same as default-constructed from VCL. For example, 1bit PICT images use reversed white and black. Change-Id: I6b5e7cd19af98202e80f4cff17fddaa3a3f0e3af (cherry picked from commit 1b3a39bfa10177aed40a4a9a69d0fe1970229422) Signed-off-by: David Tardon <dtardon@redhat.com>
-rw-r--r--vcl/unx/generic/gdi/salgdi2.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/vcl/unx/generic/gdi/salgdi2.cxx b/vcl/unx/generic/gdi/salgdi2.cxx
index 0288e0555771..3a54d53f3674 100644
--- a/vcl/unx/generic/gdi/salgdi2.cxx
+++ b/vcl/unx/generic/gdi/salgdi2.cxx
@@ -471,8 +471,10 @@ void X11SalGraphics::drawBitmap( const SalTwoRect* pPosAry, const SalBitmap& rSa
const BitmapPalette& rPalette = pBitmapBuffer->maPalette;
if (rPalette.GetEntryCount() == 2)
{
- aNewVal.foreground = rColMap.GetPixel(ImplColorToSal(rPalette[0]));
- aNewVal.background = rColMap.GetPixel(ImplColorToSal(rPalette[1]));
+ const BitmapColor aBlack( rPalette[rPalette.GetBestIndex( Color( COL_BLACK ) )] );
+ const BitmapColor aWhite( rPalette[rPalette.GetBestIndex( Color( COL_WHITE ) )] );
+ aNewVal.foreground = rColMap.GetPixel(ImplColorToSal(aWhite));
+ aNewVal.background = rColMap.GetPixel(ImplColorToSal(aBlack));
}
}