Changeset 647 for trunk/src/user32/new/oslibres.cpp
- Timestamp:
- Aug 23, 1999, 3:58:19 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/new/oslibres.cpp
r601 r647 1 /* $Id: oslibres.cpp,v 1. 5 1999-08-20 20:09:51sandervl Exp $ */1 /* $Id: oslibres.cpp,v 1.6 1999-08-23 13:56:35 sandervl Exp $ */ 2 2 /* 3 3 * Window API wrappers for OS/2 … … 58 58 HBITMAP hbmColor, hbmMask; 59 59 BITMAPARRAYFILEHEADER2 *bafh = (BITMAPARRAYFILEHEADER2 *)iconbitmap; 60 BITMAPFILEHEADER2 *bfh; 60 BITMAPFILEHEADER2 *bfhBW; 61 BITMAPFILEHEADER2 *bfhColor; 61 62 HPS hps; 62 63 HANDLE hIcon; … … 66 67 return 0; 67 68 } 68 //skip xor/and mask 69 bfh = (BITMAPFILEHEADER2 *)((char *)&bafh->bfh2 + sizeof(RGB2)*2 + sizeof(BITMAPFILEHEADER2)); 69 if(bafh->usType == BFT_BITMAPARRAY && bafh->cbSize == sizeof(BITMAPARRAYFILEHEADER2)) { 70 bfhBW = &bafh->bfh2; 71 bfhColor = (BITMAPFILEHEADER2 *)((char *)&bafh->bfh2 + sizeof(RGB2)*2 + sizeof(BITMAPFILEHEADER2)); 72 } 73 else {//single icon 74 bfhBW = (BITMAPFILEHEADER2 *)iconbitmap; 75 bfhColor = (BITMAPFILEHEADER2 *)((char *)bfhBW + sizeof(RGB2)*2 + sizeof(BITMAPFILEHEADER2)); 76 bafh = (BITMAPARRAYFILEHEADER2 *)bfhBW; //for calculation bitmap offset 77 } 70 78 hps = WinGetPS(HWND_DESKTOP); 71 hbmColor = GpiCreateBitmap(hps, &bfh ->bmp2, CBM_INIT,72 (char *)bafh + bfh ->offBits,73 (BITMAPINFO2 *)&bfh ->bmp2);79 hbmColor = GpiCreateBitmap(hps, &bfhColor->bmp2, CBM_INIT, 80 (char *)bafh + bfhColor->offBits, 81 (BITMAPINFO2 *)&bfhColor->bmp2); 74 82 if(hbmColor == GPI_ERROR) { 75 83 dprintf(("OSLibWinCreateIcon: GpiCreateBitmap failed!")); … … 77 85 return 0; 78 86 } 79 hbmMask = GpiCreateBitmap(hps, &b afh->bfh2.bmp2, CBM_INIT,80 (char *)bafh + b afh->bfh2.offBits,81 (BITMAPINFO2 *)&b afh->bfh2.bmp2);87 hbmMask = GpiCreateBitmap(hps, &bfhBW->bmp2, CBM_INIT, 88 (char *)bafh + bfhBW->offBits, 89 (BITMAPINFO2 *)&bfhBW->bmp2); 82 90 if(hbmMask == GPI_ERROR) { 83 91 dprintf(("OSLibWinCreateIcon: GpiCreateBitmap hbmMask failed!")); … … 88 96 89 97 pointerInfo.fPointer = FALSE; //icon 90 pointerInfo.xHotspot = bfh ->xHotspot;91 pointerInfo.yHotspot = bfh ->yHotspot;98 pointerInfo.xHotspot = bfhBW->xHotspot; 99 pointerInfo.yHotspot = bfhBW->yHotspot; 92 100 pointerInfo.hbmColor = hbmColor; 93 101 pointerInfo.hbmPointer = hbmMask;
Note:
See TracChangeset
for help on using the changeset viewer.