summaryrefslogtreecommitdiff
path: root/vcl/headless
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-02-26 20:22:41 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-02-26 20:59:24 +0000
commit46ce83541b2670e72f1281f8d3a7df5af9c4aed2 (patch)
tree5cfe08acd645573211dcbe606151c6eb6e13faa5 /vcl/headless
parent00646102569739e0bf8929c271963f129d747a5a (diff)
Restore "Use the cairo-compatible basebmp surface for headless"
as it now works again after ancient emf import bug is fixed by commit 5e5b90c12862b522a4553337fbf6309bb8278b8c Date: Thu Feb 26 13:47:58 2015 +0000 in BITFIELDS mode (3) there are *3* pal entries not 12 and two writer qa tests adapted to test for the actual pixel color vs the underlying pixel data This reverts commit 3c4f7704e0af64bf967f5f767bf4b4cff7f59d6c. Change-Id: Id94f98f9c620c90fda097fa97fc34c9ee957c483
Diffstat (limited to 'vcl/headless')
-rw-r--r--vcl/headless/svpbmp.cxx10
-rw-r--r--vcl/headless/svpgdi.cxx1
-rw-r--r--vcl/headless/svpinst.cxx4
3 files changed, 13 insertions, 2 deletions
diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index cedb9751a025..d9da88b920d7 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -185,6 +185,15 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
nBitCount = 24;
pBuf->mnFormat = BMP_FORMAT_24BIT_TC_BGR;
break;
+ case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
+ nBitCount = 32;
+ pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
+#ifdef OSL_BIGENDIAN
+ pBuf->maColorMask = ColorMask( 0x0000ff00, 0x00ff0000, 0xff000000 );
+#else
+ pBuf->maColorMask = ColorMask( 0x00ff0000, 0x0000ff00, 0x000000ff );
+#endif
+ break;
case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
nBitCount = 32;
pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
@@ -389,6 +398,7 @@ sal_uInt32 SvpSalBitmap::getBitCountFromScanlineFormat( basebmp::Format nFormat
case FORMAT_TWENTYFOUR_BIT_TC_MASK:
nBitCount = 24;
break;
+ case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
case FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
case FORMAT_THIRTYTWO_BIT_TC_MASK_ABGR:
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index b65e7b973e0e..3f63146bd149 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -126,6 +126,7 @@ void SvpSalGraphics::setDevice( basebmp::BitmapDeviceSharedPtr& rDevice )
case basebmp::FORMAT_SIXTEEN_BIT_LSB_TC_MASK:
case basebmp::FORMAT_SIXTEEN_BIT_MSB_TC_MASK:
case basebmp::FORMAT_TWENTYFOUR_BIT_TC_MASK:
+ case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_ABGR:
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 7523dfd36368..a1088834def4 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -439,14 +439,14 @@ Format SvpSalInstance::getFormatForBitCount( sal_uInt16 nBitCount )
return FORMAT_SIXTEEN_BIT_LSB_TC_MASK;
#endif
case 24:
- return FORMAT_TWENTYFOUR_BIT_TC_MASK;
+ return FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX;
case 32:
return FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA;
case 0:
#ifdef ANDROID
return FORMAT_THIRTYTWO_BIT_TC_MASK_RGBA;
#else
- return FORMAT_TWENTYFOUR_BIT_TC_MASK;
+ return FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX;
#endif
default:
return SVP_DEFAULT_BITMAP_FORMAT;