Kaydet (Commit) 69baf700 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Try to fix colour issues

Use RGBA consistenly. Wonder why the code was changed to use BGRA at
some point?

I got the picture in the document to show up with correct colours but
unfortunately not the RED GREEN BLUE etc text. Weird. Even weirder, if
I add a temporary hack in CoreTextStyle::SetTextColor() to use some
other colours for non-black text (instead of the ones passed in the
parameter), those colours do show up. This is a mystery.

Change-Id: I591424a19fa02b3f095035e989cbc49fff94b8ca
üst 108eee30
...@@ -156,7 +156,7 @@ public: ...@@ -156,7 +156,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_BGRA, true, basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_RGBA,
pSysParent ) pSysParent )
{ {
enableDamageTracker(); enableDamageTracker();
...@@ -361,7 +361,7 @@ IMPL_LINK( IosSalInstance, RenderWindows, RenderWindowsArg*, arg ) ...@@ -361,7 +361,7 @@ IMPL_LINK( IosSalInstance, RenderWindows, RenderWindowsArg*, arg )
CGImageCreate( aDevice->getSize().getX(), aDevice->getSize().getY(), CGImageCreate( aDevice->getSize().getX(), aDevice->getSize().getY(),
8, 32, aDevice->getScanlineStride(), 8, 32, aDevice->getScanlineStride(),
CGColorSpaceCreateDeviceRGB(), CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little, kCGImageAlphaNoneSkipLast,
provider, provider,
NULL, NULL,
false, false,
...@@ -403,7 +403,7 @@ touch_lo_copy_buffer(const void * source, size_t sourceWidth, size_t sourceHeigh ...@@ -403,7 +403,7 @@ touch_lo_copy_buffer(const void * source, size_t sourceWidth, size_t sourceHeigh
32, 32,
sourceBytesPerRow, sourceBytesPerRow,
CGColorSpaceCreateDeviceRGB(), CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little, kCGImageAlphaNoneSkipLast,
provider, provider,
NULL, NULL,
false, false,
......
...@@ -302,6 +302,7 @@ AquaSalGraphics::~AquaSalGraphics() ...@@ -302,6 +302,7 @@ AquaSalGraphics::~AquaSalGraphics()
void AquaSalGraphics::SetTextColor( SalColor nSalColor ) void AquaSalGraphics::SetTextColor( SalColor nSalColor )
{ {
maTextColor = RGBAColor( nSalColor ); maTextColor = RGBAColor( nSalColor );
// SAL_ DEBUG(std::hex << nSalColor << std::dec << "={" << maTextColor.GetRed() << ", " << maTextColor.GetGreen() << ", " << maTextColor.GetBlue() << ", " << maTextColor.GetAlpha() << "}");
if( mpTextStyle) if( mpTextStyle)
mpTextStyle->SetTextColor( maTextColor ); mpTextStyle->SetTextColor( maTextColor );
} }
...@@ -819,6 +820,13 @@ bool SvpSalGraphics::CheckContext() ...@@ -819,6 +820,13 @@ bool SvpSalGraphics::CheckContext()
CGColorSpaceCreateDeviceRGB(), CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaNoneSkipLast); kCGImageAlphaNoneSkipLast);
break; break;
case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
mrContext = CGBitmapContextCreate(pixelBuffer.get(),
bufferSize.getX(), bufferSize.getY(),
8, scanlineStride,
CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaNoneSkipFirst);
break;
case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA: case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
mrContext = CGBitmapContextCreate(pixelBuffer.get(), mrContext = CGBitmapContextCreate(pixelBuffer.get(),
bufferSize.getX(), bufferSize.getY(), bufferSize.getX(), bufferSize.getY(),
...@@ -826,6 +834,13 @@ bool SvpSalGraphics::CheckContext() ...@@ -826,6 +834,13 @@ bool SvpSalGraphics::CheckContext()
CGColorSpaceCreateDeviceRGB(), CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little); kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little);
break; break;
case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_ABGR:
mrContext = CGBitmapContextCreate(pixelBuffer.get(),
bufferSize.getX(), bufferSize.getY(),
8, scanlineStride,
CGColorSpaceCreateDeviceRGB(),
kCGImageAlphaNoneSkipLast | kCGBitmapByteOrder32Little);
break;
default: default:
SAL_WARN( "vcl.ios", "CheckContext: unsupported color format " << basebmp::formatName( m_aDevice->getScanlineFormat() ) ); SAL_WARN( "vcl.ios", "CheckContext: unsupported color format " << basebmp::formatName( m_aDevice->getScanlineFormat() ) );
warned = true; warned = true;
......
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