[Wine] DIBEngine: GetDIBits and BitBlt

Dribble wineforum-user at winehq.org
Sat Nov 19 22:47:02 CST 2011


I am trying to run a Windows app on Mac using Wineskin. The app uses the functions GetDIBits and BitBlt for the purpose of capturing a snapshot of the screen.

The problem is that these functions seem to behave a little different with Wineskin than in Windows. For example:

HBITMAP hbm;
hbm = (HBITMAP) GetCurrentObject(bitmapDC, OBJ_BITMAP);
GetDIBits(bitmapDC, hbm, 0, 0, NULL, (LPBITMAPINFO) bitmapInfo, DIB_RGB_COLORS);

After I do the above, I get wrong info in bitmapInfo (bitcount 1 instead of 32, width 1 instead of 1366, height 1 instead of 768, compression BI_RGB instead of the BI_BITFIELDS that I get in Windows).

Also, when I use BitBlt to copy from screen DC to a bitmap DC, I get a black bitmap when running on Wine.

I'm new to Wine (the reason I'm using Wineskin) and after some Googling I came across the notes on DIBEngine.  Compiling wine is no small task on a Mac, so before I start down that road, can anyone tell me:  will DIBEngine fix this issue?







More information about the wine-users mailing list