summaryrefslogtreecommitdiff
path: root/vcl/unx/generic/gdi/salgdi2.cxx
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:57:32 +0200
commit1b3a39bfa10177aed40a4a9a69d0fe1970229422 (patch)
treeb91e9aa5d77979d69cced7ff040057af3f22bbaa /vcl/unx/generic/gdi/salgdi2.cxx
parent33231f418f5ec0041a6d6377bf4028ca6028bdd4 (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
Diffstat (limited to 'vcl/unx/generic/gdi/salgdi2.cxx')
-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 6ec682954a6f..5c53635c6e45 100644
--- a/vcl/unx/generic/gdi/salgdi2.cxx
+++ b/vcl/unx/generic/gdi/salgdi2.cxx
@@ -471,8 +471,10 @@ void X11SalGraphics::drawBitmap( const SalTwoRect& rPosAry, 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));
}
}