Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

Forums:

Hi All,
I set the simulator display to 24BPP.
I get the device bitmap:

IBitmap *pBitmap;
IDISPLAY_GetDeviceBitmap(pDisplay, &pBitmap);
AEEBitmapInfo info;
IBITMAP_GetInfo(pBitmap,&info,sizeof(info));
//info.nDepth == 24

IDIB* dib;
IBITMAP_QueryInterface(pBitmap, AEECLSID_DIB, (void**)&dib);
//dib.nDepth == 32 (!)

Is anything wrong here? The display is 24BPP:

AEEDeviceInfo di;
di.wStructSize = sizeof(AEEDeviceInfo);
ISHELL_GetDeviceInfo(piShell, &di);
//di.nColorDepth == 24

So why IDIB is 32BPP?

Thanks,
J4ck

If I set simulator display to 18BPP it looks similar:
IBitmap: 18BPP
IDIB: 32BPP
Note: for 16BPP:
IBitmap: 16BPP
IDIB: 16BPP
I use BREW SDK 4.04 SP01, but this occurs also for BMP (rev. 5.6).

If I set simulator display to 18BPP it looks similar:
IBitmap: 18BPP
IDIB: 32BPP
Note: for 16BPP:
IBitmap: 16BPP
IDIB: 16BPP
I use BREW SDK 4.04 SP01, but this occurs also for BMP (rev. 5.6).

nDepth (AEEBitmapInfo) differs from the nDepth field in IDIB in that this one does not include padding bits.
See dib.nColorScheme, it will be 24

nDepth (AEEBitmapInfo) differs from the nDepth field in IDIB in that this one does not include padding bits.
See dib.nColorScheme, it will be 24

Ah, right.
Thanks!

Ah, right.
Thanks!