Changeset 349 for trunk/src/pe2lx/icon.cpp
- Timestamp:
- Jul 20, 1999, 7:50:19 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/pe2lx/icon.cpp
r97 r349 1 /* $Id: icon.cpp,v 1. 3 1999-06-10 17:08:53 phallerExp $ */1 /* $Id: icon.cpp,v 1.4 1999-07-20 17:50:19 sandervl Exp $ */ 2 2 3 3 /* … … 35 35 { 36 36 RGBQUAD *rgb; 37 RGB 37 RGB2 *os2rgb; 38 38 int bwsize, i, colorsize, rgbsize; 39 39 OS2Icon *icon = OS2Icon::icons; … … 91 91 //for color bitmap + RGB structs for all the colors 92 92 //SvL, 3-3-98: 2*bwsize 93 iconsize = 2*sizeof(BITMAPFILEHEADER ) + 2*sizeof(RGB) +93 iconsize = 2*sizeof(BITMAPFILEHEADER2) + 2*sizeof(RGB2) + 94 94 rgbsize + 2*bwsize + bmpHdr->biSizeImage; 95 95 //There are icons without an XOR mask, so check for it … … 97 97 iconsize += bwsize; 98 98 } 99 iconhdr = (BITMAPFILEHEADER *)malloc(iconsize); 99 iconhdr = (BITMAPFILEHEADER2 *)malloc(iconsize); 100 memset(iconhdr, 0, iconsize); 100 101 iconhdr->usType = BFT_COLORICON; 101 iconhdr->cbSize = sizeof(BITMAPFILEHEADER );102 iconhdr->cbSize = sizeof(BITMAPFILEHEADER2); 102 103 iconhdr->xHotspot = 0; 103 104 iconhdr->yHotspot = 0; 104 iconhdr->offBits = 2*sizeof(BITMAPFILEHEADER) + 105 2*sizeof(RGB) + rgbsize; 106 iconhdr->bmp.cbFix = sizeof(BITMAPINFOHEADER); 107 iconhdr->bmp.cx = (USHORT)bmpHdr->biWidth; 108 iconhdr->bmp.cy = (USHORT)bmpHdr->biHeight; 109 iconhdr->bmp.cPlanes = 1; 110 iconhdr->bmp.cBitCount = 1; 111 os2rgb = (RGB *)(iconhdr+1); 112 memset(os2rgb, 0, sizeof(RGB)); 113 memset(os2rgb+1, 0xff, sizeof(RGB)); 114 iconhdr2 = (BITMAPFILEHEADER *)(os2rgb+2); 105 iconhdr->offBits = 2*sizeof(BITMAPFILEHEADER2) + 106 2*sizeof(RGB2) + rgbsize; 107 iconhdr->bmp2.cbFix = sizeof(BITMAPINFOHEADER2); 108 iconhdr->bmp2.cx = (USHORT)bmpHdr->biWidth; 109 iconhdr->bmp2.cy = (USHORT)bmpHdr->biHeight; 110 iconhdr->bmp2.cPlanes = 1; 111 iconhdr->bmp2.cBitCount= 1; 112 iconhdr->bmp2.ulCompression = BCA_UNCOMP; 113 iconhdr->bmp2.ulColorEncoding = BCE_RGB; 114 os2rgb = (RGB2 *)(iconhdr+1); 115 memset(os2rgb, 0, sizeof(RGB2)); 116 memset(os2rgb+1, 0xff, sizeof(RGB)); //not reserved byte 117 iconhdr2 = (BITMAPFILEHEADER2 *)(os2rgb+2); 115 118 iconhdr2->usType = BFT_COLORICON; 116 iconhdr2->cbSize = sizeof(BITMAPFILEHEADER );119 iconhdr2->cbSize = sizeof(BITMAPFILEHEADER2); 117 120 iconhdr2->xHotspot = 0; 118 121 iconhdr2->yHotspot = 0; 119 iconhdr2->offBits = 2*sizeof(BITMAPFILEHEADER) + 120 2*sizeof(RGB) + rgbsize + 2*bwsize; 121 iconhdr2->bmp.cbFix = sizeof(BITMAPINFOHEADER); 122 iconhdr2->bmp.cx = (USHORT)bmpHdr->biWidth; 123 iconhdr2->bmp.cy = (USHORT)(bmpHdr->biHeight/2); 124 iconhdr2->bmp.cPlanes = bmpHdr->biPlanes; 125 iconhdr2->bmp.cBitCount= bmpHdr->biBitCount; 126 os2rgb = (RGB *)(iconhdr2+1); 122 iconhdr2->offBits = 2*sizeof(BITMAPFILEHEADER2) + 123 2*sizeof(RGB2) + rgbsize + 2*bwsize; 124 iconhdr2->bmp2.cbFix = sizeof(BITMAPINFOHEADER2); 125 iconhdr2->bmp2.cx = (USHORT)bmpHdr->biWidth; 126 iconhdr2->bmp2.cy = (USHORT)(bmpHdr->biHeight/2); 127 iconhdr2->bmp2.cPlanes = bmpHdr->biPlanes; 128 iconhdr2->bmp2.cBitCount= bmpHdr->biBitCount; 129 iconhdr2->bmp2.ulCompression = BCA_UNCOMP; 130 iconhdr2->bmp2.ulColorEncoding = BCE_RGB; 131 os2rgb = (RGB2 *)(iconhdr2+1); 127 132 rgb = (RGBQUAD *)(bmpHdr+1); 128 133 if(bmpHdr->biBitCount < 24) { … … 173 178 //****************************************************************************** 174 179 //****************************************************************************** 175 BITMAPFILEHEADER *OS2Icon::GetIconHeader()180 BITMAPFILEHEADER2 *OS2Icon::GetIconHeader() 176 181 { 177 182 return(iconhdr);
Note:
See TracChangeset
for help on using the changeset viewer.