Ignore:
Timestamp:
Sep 21, 1999, 10:24:53 AM (26 years ago)
Author:
sandervl
Message:

Fixes for icon(group) + cursorgroup conversion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/cvticon.cpp

    r816 r997  
    1 /* $Id: cvticon.cpp,v 1.3 1999-09-04 12:41:46 sandervl Exp $ */
     1/* $Id: cvticon.cpp,v 1.4 1999-09-21 08:24:53 sandervl Exp $ */
    22
    33/*
     
    131131  iconsize = 2*sizeof(BITMAPFILEHEADER2) + 2*sizeof(RGB2) +
    132132             rgbsize + 2*bwsize + bmpHdr->biSizeImage;
    133 #if 0
    134   //SvL: Not necessary anymore
    135   //There are icons without an XOR mask, so check for it
    136   if(bmpHdr->biSizeImage == colorsize) {
    137         iconsize += bwsize;
    138   }
    139 #endif
     133
    140134  iconhdr  = (BITMAPFILEHEADER2 *)malloc(iconsize);
    141135  memset(iconhdr, 0, iconsize);
     
    182176  }
    183177  //write 2*mono pixels + color pixels
    184   //There are icons without an XOR mask, so check for it
     178  //There are icons without an AND mask, so check for it
    185179  if(bmpHdr->biSizeImage == colorsize)
    186180  {
     
    190184  }
    191185  else {
    192         memcpy((char *)os2rgb, (char *)rgb+colorsize, bwsize);
    193         memcpy((char *)os2rgb+bwsize, (char *)rgb+colorsize, bwsize);
    194         memcpy((char *)os2rgb+2*bwsize, (char *)rgb, colorsize);
     186        memset((char *)os2rgb, 0, bwsize); // windows has no xor mask
     187        memcpy((char *)os2rgb+bwsize, (char *)rgb+colorsize, bwsize); // and-mask
     188        memcpy((char *)os2rgb+2*bwsize, (char *)rgb, colorsize); // color(xor-mask)
     189
     190//        memcpy((char *)os2rgb, (char *)rgb+colorsize, bwsize);
     191//        memcpy((char *)os2rgb+bwsize, (char *)rgb+colorsize, bwsize);
     192//        memcpy((char *)os2rgb+2*bwsize, (char *)rgb, colorsize);
    195193  }
    196194  *os2size = iconsize;
Note: See TracChangeset for help on using the changeset viewer.