Re: DIBEngine: GetDIBits and BitBlt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 20 Nov 2011 01:47:02 -0300, Dribble <wineforum-user@xxxxxxxxxx> wrote:

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?


Ending up with a 1x1 b/w bitmap is a quite normal occurrence even in "real" Windows, if the DC's/bitmaps are not obtained/created/selected/initialized in the right way/sequence. Whether that is the case here is impossible to tell from your example. If you can document a difference in behavior (with a code sample), you should report it as a bug.

Roald




[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux