Howdy Colin, At 01:30 AM 5/31/2003 +0100, you wrote:
I just love ATI, great hardware... pity about the software!
They had and still have the best TV out support. I wish my GF or Voodoos had 1/2 the configurability.
Here's my 'results' (attached) using Harold's Test87 binary at 32bpp 1280x1024 on my antique ATI Rage Pro! xload & xclock looks dodgy, yes it's all a black and white problem!
Thx, it looks like the mask is not working at all when you have a 32bpp icon map and a 1bpp icon mask. White's a 255,255,255 tuple so when you OR it with anything you get 255, so it'll show up white no matter what...
I just realized my laptop doesn't have cygwin installed, so it may be a bit before I can do local testing. One thing I'd like you to add is a check after the ii.mask = CreateBitmap() call, that the returned value isn't NULL. Also, can you dump the image planes, I'm assuming that planes==1 everywhere because I never heard of it being otherwise except in 16-color (4bpp!) mode...
winmultiwindow.c line2198 or so...
/* Create Win32 mask from pixmap shape */ ii.hbmMask = CreateBitmap (iconSize, iconSize, planes, 1, mask); + ErrorF("Planes: %d\n", planes); + if (iihbmMask==NULL) + { + LPVOID lpMsgBuf; + + /* Display a fancy error message */ + FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + GetLastError (), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &lpMsgBuf, + 0, NULL); + + ErrorF ("Mask creation failed, error %s\n", + (LPSTR)lpMsgBuf); + LocalFree (lpMsgBuf); + }
All the rest are fantastic!!!
That's REALLY a kicker, the same kind of mask creation is done without regard to the source image depth!
-Earle F. Philhower, III [EMAIL PROTECTED] cdrlabel - ZipLabel - FlpLabel http://www.cdrlabel.com