vcl/inc/opengl/salbmp.hxx | 1 + vcl/win/source/gdi/salgdi2.cxx | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-)
New commits: commit dc1d837bdd7d006b1bc217d01e5cb4470037c67f Author: Marco Cecchetti <[email protected]> Date: Sun Mar 20 12:23:41 2016 +0100 tdf#98324 - PNG prints as black block with OpenGL - fixed Now the correct color palette is used. Change-Id: Ice532091713788c7c6b380550c65e26bc4b76c74 Reviewed-on: https://gerrit.libreoffice.org/23377 Tested-by: Jenkins <[email protected]> Reviewed-by: Michael Meeks <[email protected]> (cherry picked from commit d0cfcb6f1afe4022b322988627d8dccc9e05acc3) Reviewed-on: https://gerrit.libreoffice.org/23401 Reviewed-by: Tomaž Vajngerl <[email protected]> Reviewed-by: Jan Holesovsky <[email protected]> Tested-by: Jan Holesovsky <[email protected]> diff --git a/vcl/inc/opengl/salbmp.hxx b/vcl/inc/opengl/salbmp.hxx index 8917a5a..15c0832 100644 --- a/vcl/inc/opengl/salbmp.hxx +++ b/vcl/inc/opengl/salbmp.hxx @@ -87,6 +87,7 @@ public: bool Create( const OpenGLTexture& rTex, long nX, long nY, long nWidth, long nHeight ); OpenGLTexture& GetTexture() const; static rtl::Reference<OpenGLContext> GetBitmapContext(); + const BitmapPalette& GetBitmapPalette() const { return maPalette; } private: diff --git a/vcl/win/source/gdi/salgdi2.cxx b/vcl/win/source/gdi/salgdi2.cxx index 6f0e5d4..6433921 100644 --- a/vcl/win/source/gdi/salgdi2.cxx +++ b/vcl/win/source/gdi/salgdi2.cxx @@ -29,6 +29,7 @@ #include <win/salids.hrc> #include <win/salgdi.h> #include <win/salframe.h> +#include <opengl/salbmp.hxx> #include "vcl/salbtype.hxx" #include "vcl/bmpacc.hxx" @@ -36,7 +37,6 @@ #include "salgdiimpl.hxx" #include "opengl/win/gdiimpl.hxx" - bool WinSalGraphics::supportsOperation( OutDevSupportType eType ) const { static bool bAllowForTest(true); @@ -76,9 +76,15 @@ namespace void convertToWinSalBitmap(SalBitmap& rSalBitmap, WinSalBitmap& rWinSalBitmap) { - BitmapBuffer* pRead = rSalBitmap.AcquireBuffer(BITMAP_READ_ACCESS); + BitmapPalette aBitmapPalette; + OpenGLSalBitmap* pGLSalBitmap = dynamic_cast<OpenGLSalBitmap*>(&rSalBitmap); + if (pGLSalBitmap != nullptr) + { + aBitmapPalette = pGLSalBitmap->GetBitmapPalette(); + } - rWinSalBitmap.Create(rSalBitmap.GetSize(), rSalBitmap.GetBitCount(), BitmapPalette()); + BitmapBuffer* pRead = rSalBitmap.AcquireBuffer(BITMAP_READ_ACCESS); + rWinSalBitmap.Create(rSalBitmap.GetSize(), rSalBitmap.GetBitCount(), aBitmapPalette); BitmapBuffer* pWrite = rWinSalBitmap.AcquireBuffer(BITMAP_WRITE_ACCESS); sal_uInt8* pSource(pRead->mpBits);
_______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
