summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-12-07 13:34:01 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-12-07 20:48:41 +0000
commitbc45215ec6e5d508415465ad3f619c3dbe23f7c8 (patch)
tree09b3fd7124e8b4274f8d5331cd4bfed1c943efff /vcl
parent48f0ba92a6e9828805ce6f5d87147b9d0dcefe3b (diff)
Resolves: tdf#96224 don't fiddle around with a separate alpha buffer
use a format that supports alpha directly now we can unify the android and linux cases as well and drop the BGRX support Change-Id: I3c845913691d8194822423005d308cfa7ef13ec3 Reviewed-on: https://gerrit.libreoffice.org/20440 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/headless/svpbmp.cxx20
-rw-r--r--vcl/headless/svpgdi.cxx4
-rw-r--r--vcl/inc/headless/svpgdi.hxx2
-rw-r--r--vcl/qa/cppunit/BitmapTest.cxx2
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx2
5 files changed, 5 insertions, 25 deletions
diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index 02f1453ede59..e6d962f268b3 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -198,25 +198,6 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
nBitCount = 24;
pBuf->mnFormat = BMP_FORMAT_24BIT_TC_BGR;
break;
- case Format::ThirtyTwoBitTcMaskBGRX:
- {
- nBitCount = 32;
- pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
-#ifdef OSL_BIGENDIAN
- ColorMaskElement aRedMask(0x0000ff00);
- ColorMaskElement aGreenMask(0x00ff0000);
- ColorMaskElement aBlueMask(0xff000000);
-#else
- ColorMaskElement aRedMask(0x00ff0000);
- ColorMaskElement aGreenMask(0x0000ff00);
- ColorMaskElement aBlueMask(0x000000ff);
-#endif
- aBlueMask.CalcMaskShift();
- aRedMask.CalcMaskShift();
- aGreenMask.CalcMaskShift();
- pBuf->maColorMask = ColorMask(aRedMask, aGreenMask, aBlueMask);
- break;
- }
case Format::ThirtyTwoBitTcMaskBGRA:
{
nBitCount = 32;
@@ -457,7 +438,6 @@ sal_uInt32 SvpSalBitmap::getBitCountFromScanlineFormat( basebmp::Format nFormat
case Format::TwentyFourBitTcMask:
nBitCount = 24;
break;
- case Format::ThirtyTwoBitTcMaskBGRX:
case Format::ThirtyTwoBitTcMaskBGRA:
case Format::ThirtyTwoBitTcMaskARGB:
case Format::ThirtyTwoBitTcMaskABGR:
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index e610ad4c87a2..94871be0cc0a 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -308,7 +308,7 @@ namespace
sal_Int32 nStride = rBuffer->getScanlineStride();
cairo_format_t nFormat;
if (rBuffer->getScanlineFormat() == SVP_CAIRO_FORMAT)
- nFormat = CAIRO_FORMAT_RGB24;
+ nFormat = CAIRO_FORMAT_ARGB32;
else
nFormat = CAIRO_FORMAT_A1;
return (cairo_format_stride_for_width(nFormat, size.getX()) == nStride);
@@ -1305,7 +1305,7 @@ cairo_surface_t* SvpSalGraphics::createCairoSurface(const basebmp::BitmapDeviceS
basebmp::RawMemorySharedArray data = rBuffer->getBuffer();
cairo_format_t nFormat;
if (rBuffer->getScanlineFormat() == SVP_CAIRO_FORMAT)
- nFormat = CAIRO_FORMAT_RGB24;
+ nFormat = CAIRO_FORMAT_ARGB32;
else
nFormat = CAIRO_FORMAT_A1;
cairo_surface_t *target =
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index 1adbc72b2819..ab675a9ad836 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -41,7 +41,7 @@
#ifdef ANDROID
# define SVP_CAIRO_FORMAT basebmp::Format::ThirtyTwoBitTcMaskRGBA
#else
-# define SVP_CAIRO_FORMAT basebmp::Format::ThirtyTwoBitTcMaskBGRX
+# define SVP_CAIRO_FORMAT basebmp::Format::ThirtyTwoBitTcMaskBGRA
#endif
class GlyphCache;
diff --git a/vcl/qa/cppunit/BitmapTest.cxx b/vcl/qa/cppunit/BitmapTest.cxx
index 33820e467c3b..eb393bc5c538 100644
--- a/vcl/qa/cppunit/BitmapTest.cxx
+++ b/vcl/qa/cppunit/BitmapTest.cxx
@@ -70,7 +70,7 @@ void BitmapTest::testConvert()
{
Bitmap::ScopedReadAccess pReadAccess(aBitmap);
#if defined LINUX
- // 24 bit Bitmap on SVP backend uses 32bit BGRX format
+ // 24 bit Bitmap on SVP backend uses 32bit BGRA format
CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(32), pReadAccess->GetBitCount());
CPPUNIT_ASSERT_EQUAL(sal_uLong(40), pReadAccess->GetScanlineSize());
#else
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 75fa0dfbb36e..62b2ac46125e 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1511,7 +1511,7 @@ void GtkSalFrame::AllocateFrame()
if( aFrameSize.getY() == 0 )
aFrameSize.setY( 1 );
m_aFrame = basebmp::createBitmapDevice(aFrameSize, true, SVP_CAIRO_FORMAT);
- assert(cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, aFrameSize.getX()) ==
+ assert(cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, aFrameSize.getX()) ==
m_aFrame->getScanlineStride());
m_aFrame->setDamageTracker(
basebmp::IBitmapDeviceDamageTrackerSharedPtr(new DamageTracker(*this)) );