Changeset 997 for trunk/src


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

Fixes for icon(group) + cursorgroup conversion

Location:
trunk/src/kernel32
Files:
3 edited

Legend:

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

    r956 r997  
    1 /* $Id: cvtcursorgrp.cpp,v 1.3 1999-09-15 23:38:00 sandervl Exp $ */
     1/* $Id: cvtcursorgrp.cpp,v 1.4 1999-09-21 08:24:53 sandervl Exp $ */
    22
    33/*
     
    7474        }
    7575
    76         if(i != chdr->cwCount -1) {
    77                 bafh->offNext = (int)&bafh->bfh - (int)orgbafh + winres->getSize();
    78         }
    79         else    bafh->offNext = 0;
    80 
    8176        cursorhdr = (CursorComponent *)winres->lockResource();
    8277        os2cursor = ConvertCursor(cursorhdr, winres->getSize(), &os2cursorsize, (int)bafh - (int)orgbafh + sizeof(BITMAPARRAYFILEHEADER)-sizeof(BITMAPFILEHEADER));
     
    8883                continue;
    8984        }
     85
     86        if(i != chdr->cwCount -1) {
     87                bafh->offNext = (int)&bafh->bfh - (int)orgbafh + os2cursorsize;
     88        }
     89        else    bafh->offNext = 0;
    9090
    9191        memcpy((char *)&bafh->bfh, os2cursor, os2cursorsize);
  • 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;
  • trunk/src/kernel32/cvticongrp.cpp

    r956 r997  
    1 /* $Id: cvticongrp.cpp,v 1.3 1999-09-15 23:38:01 sandervl Exp $ */
     1/* $Id: cvticongrp.cpp,v 1.4 1999-09-21 08:24:53 sandervl Exp $ */
    22
    33/*
     
    7373                continue;
    7474        }
    75         if(i != ihdr->wCount -1) {
    76                 bafh->offNext = (int)&bafh->bfh2 - (int)orgbafh + winres->getSize();
    77         }
    78         else    bafh->offNext = 0;
    7975
    8076        iconhdr = (WINBITMAPINFOHEADER *)winres->lockResource();
     
    8783                continue;
    8884        }
     85
     86        if(i != ihdr->wCount -1) {
     87                bafh->offNext = (int)&bafh->bfh2 - (int)orgbafh + os2iconsize;
     88        }
     89        else    bafh->offNext = 0;
    8990
    9091        memcpy((char *)&bafh->bfh2, os2icon, os2iconsize);
Note: See TracChangeset for help on using the changeset viewer.