ole32: Add support for drawing the dib format.

This commit is contained in:
Huw Davies 2015-03-25 08:37:40 +00:00 committed by Alexandre Julliard
parent e410f273cd
commit b4cd2c4dbb
1 changed files with 20 additions and 0 deletions

View File

@ -1646,6 +1646,26 @@ static HRESULT WINAPI DataCache_Draw(
return S_OK;
}
case CF_DIB:
{
BITMAPFILEHEADER *file_head;
BITMAPINFO *info;
BYTE *bits;
if ((cache_entry->stgmedium.tymed != TYMED_HGLOBAL) ||
!((file_head = GlobalLock( cache_entry->stgmedium.u.hGlobal ))))
continue;
info = (BITMAPINFO *)(file_head + 1);
bits = (BYTE *) file_head + file_head->bfOffBits;
StretchDIBits( hdcDraw, lprcBounds->left, lprcBounds->top,
lprcBounds->right - lprcBounds->left, lprcBounds->bottom - lprcBounds->top,
0, 0, info->bmiHeader.biWidth, info->bmiHeader.biHeight,
bits, info, DIB_RGB_COLORS, SRCCOPY );
GlobalUnlock( cache_entry->stgmedium.u.hGlobal );
return S_OK;
}
}
}