Kaydet (Commit) 323f1376 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Use the new THIRTYTWO_BIT_TC_MASK_RGBA format for Android and iOS

Change-Id: I7cc8c5943454edea7fdef50b125d0baa95fc3f8b
üst fd3c83d5
...@@ -702,7 +702,7 @@ public: ...@@ -702,7 +702,7 @@ public:
sal_uLong nSalFrameStyle, sal_uLong nSalFrameStyle,
SystemParentData *pSysParent ) SystemParentData *pSysParent )
: SvpSalFrame( pInstance, pParent, nSalFrameStyle, : SvpSalFrame( pInstance, pParent, nSalFrameStyle,
true, basebmp::Format::THIRTYTWO_BIT_TC_MASK, // FIXME: Or THIRTYTWO_BIT_TC_MASK_ARGB? true, basebmp::Format::THIRTYTWO_BIT_TC_MASK_RGBA,
pSysParent ) pSysParent )
{ {
enableDamageTracker(); enableDamageTracker();
......
...@@ -59,8 +59,11 @@ bool SvpSalBitmap::Create( const Size& rSize, ...@@ -59,8 +59,11 @@ bool SvpSalBitmap::Create( const Size& rSize,
case 16: nFormat = Format::SIXTEEN_BIT_LSB_TC_MASK; break; case 16: nFormat = Format::SIXTEEN_BIT_LSB_TC_MASK; break;
#endif #endif
case 24: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break; case 24: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break;
// FIXME: Should this for Android be THIRTYTWO_BIT_TC_MASK_ARGB? #if defined(ANDROID) || defined(IOS)
case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK_RGBA; break;
#else
case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break; case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break;
#endif
} }
B2IVector aSize( rSize.Width(), rSize.Height() ); B2IVector aSize( rSize.Width(), rSize.Height() );
if( aSize.getX() == 0 ) if( aSize.getX() == 0 )
...@@ -199,13 +202,40 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( bool ) ...@@ -199,13 +202,40 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( bool )
nBitCount = 24; nBitCount = 24;
pBuf->mnFormat = BMP_FORMAT_24BIT_TC_BGR; pBuf->mnFormat = BMP_FORMAT_24BIT_TC_BGR;
break; break;
case Format::THIRTYTWO_BIT_TC_MASK: case Format::THIRTYTWO_BIT_TC_MASK_BGRA:
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_ARGB:
nBitCount = 32;
pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
#ifdef OSL_BIGENDIAN
pBuf->maColorMask = ColorMask( 0x00ff0000, 0x0000ff00, 0x000000ff );
#else
pBuf->maColorMask = ColorMask( 0x0000ff00, 0x00ff0000, 0xff000000 );
#endif
break;
case Format::THIRTYTWO_BIT_TC_MASK_ABGR:
nBitCount = 32;
pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
#ifdef OSL_BIGENDIAN
pBuf->maColorMask = ColorMask( 0x000000ff, 0x0000ff00, 0x00ff0000 );
#else
pBuf->maColorMask = ColorMask( 0xff000000, 0x00ff0000, 0x0000ff00 );
#endif
break;
case Format::THIRTYTWO_BIT_TC_MASK_RGBA:
nBitCount = 32; nBitCount = 32;
pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK; pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
#ifdef OSL_BIGENDIAN #ifdef OSL_BIGENDIAN
pBuf->maColorMask = ColorMask( 0x0000ff, 0x00ff00, 0xff0000 ); pBuf->maColorMask = ColorMask( 0xff000000, 0x00ff0000, 0x0000ff00 );
#else #else
pBuf->maColorMask = ColorMask( 0xff0000, 0x00ff00, 0x0000ff ); pBuf->maColorMask = ColorMask( 0x000000ff, 0x0000ff00, 0x00ff0000 );
#endif #endif
break; break;
......
...@@ -279,7 +279,10 @@ sal_uInt32 SvpElement::getBitCountFromScanlineFormat( sal_Int32 nFormat ) ...@@ -279,7 +279,10 @@ sal_uInt32 SvpElement::getBitCountFromScanlineFormat( sal_Int32 nFormat )
case Format::TWENTYFOUR_BIT_TC_MASK: case Format::TWENTYFOUR_BIT_TC_MASK:
nBitCount = 24; nBitCount = 24;
break; break;
case Format::THIRTYTWO_BIT_TC_MASK: case Format::THIRTYTWO_BIT_TC_MASK_BGRA:
case Format::THIRTYTWO_BIT_TC_MASK_ARGB:
case Format::THIRTYTWO_BIT_TC_MASK_ABGR:
case Format::THIRTYTWO_BIT_TC_MASK_RGBA:
nBitCount = 32; nBitCount = 32;
break; break;
default: default:
......
...@@ -116,7 +116,10 @@ void SvpSalGraphics::setDevice( basebmp::BitmapDeviceSharedPtr& rDevice ) ...@@ -116,7 +116,10 @@ void SvpSalGraphics::setDevice( basebmp::BitmapDeviceSharedPtr& rDevice )
case basebmp::Format::SIXTEEN_BIT_LSB_TC_MASK: case basebmp::Format::SIXTEEN_BIT_LSB_TC_MASK:
case basebmp::Format::SIXTEEN_BIT_MSB_TC_MASK: case basebmp::Format::SIXTEEN_BIT_MSB_TC_MASK:
case basebmp::Format::TWENTYFOUR_BIT_TC_MASK: case basebmp::Format::TWENTYFOUR_BIT_TC_MASK:
case basebmp::Format::THIRTYTWO_BIT_TC_MASK: case basebmp::Format::THIRTYTWO_BIT_TC_MASK_BGRA:
case basebmp::Format::THIRTYTWO_BIT_TC_MASK_ARGB:
case basebmp::Format::THIRTYTWO_BIT_TC_MASK_ABGR:
case basebmp::Format::THIRTYTWO_BIT_TC_MASK_RGBA:
m_eTextFmt = basebmp::Format::EIGHT_BIT_GREY; m_eTextFmt = basebmp::Format::EIGHT_BIT_GREY;
break; break;
default: default:
......
...@@ -83,7 +83,7 @@ sal_Bool SvpSalVirtualDevice::SetSize( long nNewDX, long nNewDY ) ...@@ -83,7 +83,7 @@ sal_Bool SvpSalVirtualDevice::SetSize( long nNewDX, long nNewDY )
case 24: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break; case 24: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break;
case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break; case 32: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break;
#if defined(ANDROID) || defined(IOS) #if defined(ANDROID) || defined(IOS)
case 0: nFormat = Format::THIRTYTWO_BIT_TC_MASK; break; case 0: nFormat = Format::THIRTYTWO_BIT_TC_MASK_RGBA; break;
#else #else
case 0: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break; case 0: nFormat = Format::TWENTYFOUR_BIT_TC_MASK; break;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment