Commit 85cacd8f authored by Alexandre Julliard's avatar Alexandre Julliard

Removed call to DIB_GetDIBWidthBytes.

parent e21c15e3
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#include "ddraw.h" #include "ddraw.h"
#include "d3d.h" #include "d3d.h"
#include "wine/debug.h" #include "wine/debug.h"
#include "bitmap.h"
#include "ddraw_private.h" #include "ddraw_private.h"
#include "ddraw/main.h" #include "ddraw/main.h"
......
...@@ -35,6 +35,28 @@ WINE_DEFAULT_DEBUG_CHANNEL(ddraw); ...@@ -35,6 +35,28 @@ WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
static ICOM_VTABLE(IDirectDrawSurface7) DIB_IDirectDrawSurface7_VTable; static ICOM_VTABLE(IDirectDrawSurface7) DIB_IDirectDrawSurface7_VTable;
/* Return the width of a DIB bitmap in bytes. DIB bitmap data is 32-bit aligned. */
inline static int get_dib_width_bytes( int width, int depth )
{
int words;
switch(depth)
{
case 1: words = (width + 31) / 32; break;
case 4: words = (width + 7) / 8; break;
case 8: words = (width + 3) / 4; break;
case 15:
case 16: words = (width + 1) / 2; break;
case 24: words = (width * 3 + 3)/4; break;
default:
WARN("(%d): Unsupported depth\n", depth );
/* fall through */
case 32: words = width; break;
}
return 4 * words;
}
static HRESULT create_dib(IDirectDrawSurfaceImpl* This) static HRESULT create_dib(IDirectDrawSurfaceImpl* This)
{ {
BITMAPINFO* b_info; BITMAPINFO* b_info;
...@@ -136,7 +158,7 @@ static HRESULT create_dib(IDirectDrawSurfaceImpl* This) ...@@ -136,7 +158,7 @@ static HRESULT create_dib(IDirectDrawSurfaceImpl* This)
if (!This->surface_desc.u1.lPitch) { if (!This->surface_desc.u1.lPitch) {
/* This can't happen, right? */ /* This can't happen, right? */
/* or use GDI_GetObj to get it from the created DIB? */ /* or use GDI_GetObj to get it from the created DIB? */
This->surface_desc.u1.lPitch = DIB_GetDIBWidthBytes(b_info->bmiHeader.biWidth, b_info->bmiHeader.biBitCount); This->surface_desc.u1.lPitch = get_dib_width_bytes(b_info->bmiHeader.biWidth, b_info->bmiHeader.biBitCount);
This->surface_desc.dwFlags |= DDSD_PITCH; This->surface_desc.dwFlags |= DDSD_PITCH;
} }
......
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