Alexandre Julliard : gdi32: Use the bpp info from the bitmap structure now that it' s identical to the DIB one.
Alexandre Julliard
julliard at winehq.org
Tue Jan 10 13:11:20 CST 2012
Module: wine
Branch: master
Commit: 66774baba3e67f8c6002f7954401abd7ae625444
URL: http://source.winehq.org/git/wine.git/?a=commit;h=66774baba3e67f8c6002f7954401abd7ae625444
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Jan 9 19:38:54 2012 +0100
gdi32: Use the bpp info from the bitmap structure now that it's identical to the DIB one.
---
dlls/gdi32/bitmap.c | 9 +++------
dlls/gdi32/dib.c | 26 +++++++++-----------------
2 files changed, 12 insertions(+), 23 deletions(-)
diff --git a/dlls/gdi32/bitmap.c b/dlls/gdi32/bitmap.c
index dcccd3d..ab93525 100644
--- a/dlls/gdi32/bitmap.c
+++ b/dlls/gdi32/bitmap.c
@@ -342,9 +342,7 @@ LONG WINAPI GetBitmapBits(
if (!bmp) return 0;
funcs = get_bitmap_funcs( bmp );
- if (bmp->dib) dst_stride = get_bitmap_stride( bmp->dib->dsBmih.biWidth, bmp->dib->dsBmih.biBitCount );
- else dst_stride = get_bitmap_stride( bmp->bitmap.bmWidth, bmp->bitmap.bmBitsPixel );
-
+ dst_stride = get_bitmap_stride( bmp->bitmap.bmWidth, bmp->bitmap.bmBitsPixel );
ret = max = dst_stride * bmp->bitmap.bmHeight;
if (!bits) goto done;
if (count > max) count = max;
@@ -426,8 +424,7 @@ LONG WINAPI SetBitmapBits(
count = -count;
}
- if (bmp->dib) src_stride = get_bitmap_stride( bmp->dib->dsBmih.biWidth, bmp->dib->dsBmih.biBitCount );
- else src_stride = get_bitmap_stride( bmp->bitmap.bmWidth, bmp->bitmap.bmBitsPixel );
+ src_stride = get_bitmap_stride( bmp->bitmap.bmWidth, bmp->bitmap.bmBitsPixel );
count = min( count, src_stride * bmp->bitmap.bmHeight );
dst_stride = get_dib_stride( bmp->bitmap.bmWidth, bmp->bitmap.bmBitsPixel );
@@ -481,7 +478,7 @@ LONG WINAPI SetBitmapBits(
/* query the color info */
info->bmiHeader.biSize = sizeof(info->bmiHeader);
info->bmiHeader.biPlanes = 1;
- info->bmiHeader.biBitCount = bmp->dib ? bmp->dib->dsBmih.biBitCount : bmp->bitmap.bmBitsPixel;
+ info->bmiHeader.biBitCount = bmp->bitmap.bmBitsPixel;
info->bmiHeader.biCompression = BI_RGB;
info->bmiHeader.biXPelsPerMeter = 0;
info->bmiHeader.biYPelsPerMeter = 0;
diff --git a/dlls/gdi32/dib.c b/dlls/gdi32/dib.c
index 3a8fadb..143cc47 100644
--- a/dlls/gdi32/dib.c
+++ b/dlls/gdi32/dib.c
@@ -975,25 +975,17 @@ static int fill_query_info( BITMAPINFO *info, BITMAPOBJ *bmp )
header.biWidth = bmp->bitmap.bmWidth;
header.biHeight = bmp->bitmap.bmHeight;
header.biPlanes = 1;
+ header.biBitCount = bmp->bitmap.bmBitsPixel;
- if (bmp->dib)
+ switch (header.biBitCount)
{
- header.biBitCount = bmp->dib->dsBm.bmBitsPixel;
- switch (bmp->dib->dsBm.bmBitsPixel)
- {
- case 16:
- case 32:
- header.biCompression = BI_BITFIELDS;
- break;
- default:
- header.biCompression = BI_RGB;
- break;
- }
- }
- else
- {
- header.biCompression = (bmp->bitmap.bmBitsPixel > 8) ? BI_BITFIELDS : BI_RGB;
- header.biBitCount = bmp->bitmap.bmBitsPixel;
+ case 16:
+ case 32:
+ header.biCompression = BI_BITFIELDS;
+ break;
+ default:
+ header.biCompression = BI_RGB;
+ break;
}
header.biSizeImage = get_dib_image_size( (BITMAPINFO *)&header );
More information about the wine-cvs
mailing list