Kaydet (Commit) 10a3db37 authored tarafından Caolán McNamara's avatar Caolán McNamara

gtk3: handle 32bit icons, silences ugly warnings as bonus

Change-Id: I015c89740631dfcbe62cab62f75b4a44d2b3b35a
üst 3097a60e
...@@ -1630,7 +1630,7 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha ) ...@@ -1630,7 +1630,7 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha )
BitmapBuffer *pBitmap = pSalBitmap->AcquireBuffer( BITMAP_READ_ACCESS ); BitmapBuffer *pBitmap = pSalBitmap->AcquireBuffer( BITMAP_READ_ACCESS );
g_return_val_if_fail( pBitmap != NULL, NULL ); g_return_val_if_fail( pBitmap != NULL, NULL );
g_return_val_if_fail( pBitmap->mnBitCount == 24, NULL ); g_return_val_if_fail( pBitmap->mnBitCount == 24 || pBitmap->mnBitCount == 32, NULL );
BitmapBuffer *pAlpha = pSalAlpha->AcquireBuffer( BITMAP_READ_ACCESS ); BitmapBuffer *pAlpha = pSalAlpha->AcquireBuffer( BITMAP_READ_ACCESS );
g_return_val_if_fail( pAlpha != NULL, NULL ); g_return_val_if_fail( pAlpha != NULL, NULL );
...@@ -1650,19 +1650,20 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha ) ...@@ -1650,19 +1650,20 @@ bitmapToPixbuf( SalBitmap *pSalBitmap, SalBitmap *pSalAlpha )
for( nX = 0; nX < pBitmap->mnWidth; nX++ ) for( nX = 0; nX < pBitmap->mnWidth; nX++ )
{ {
if( pBitmap->mnFormat == BMP_FORMAT_24BIT_TC_BGR ) BitmapColor aColor;
if (pBitmap->mnBitCount == 24)
{ {
pDestData[2] = *pData++; pBitmap->maColorMask.GetColorFor24Bit(aColor, pData);
pDestData[1] = *pData++; pData+=3;
pDestData[0] = *pData++;
} }
else // BMP_FORMAT_24BIT_TC_RGB else
{ {
pDestData[0] = *pData++; pBitmap->maColorMask.GetColorFor32Bit(aColor, pData);
pDestData[1] = *pData++; pData+=4;
pDestData[2] = *pData++;
} }
pDestData += 3; *pDestData++ = aColor.GetRed();
*pDestData++ = aColor.GetGreen();
*pDestData++ = aColor.GetBlue();
*pDestData++ = 255 - *pAlphaData++; *pDestData++ = 255 - *pAlphaData++;
} }
} }
......
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