[ros-dev] [ros-diffs] [greatlrd] 33783: revert my last change

James Tabor jimtabor.rosdev at gmail.com
Sat May 31 20:41:20 CEST 2008


Hi!
I checked this and it is all wrong,,,,, I reverted part of revision 19267:

Replacing the code with the original wine code that behaves like
"Windows code" but should be called inside EngCreateBitmap if (pvBits)
Width = DIB_GetDIBWidthBytes( lWidth, iFormat); .

As it should be:

INT FASTCALL DIB_GetDIBWidthBytes (INT width, INT depth)
{
//  return ((width * depth + 31) & ~31) >> 3;
  int words;

  switch(depth)
  {
     case 1:  words = (width + 31) / 32; break;
     case 4:  words = (width + 7) / 8; break;
     case 8:  words = (width + 3) / 4; break;
     case 15:
     case 16: words = (width + 1) / 2; break;
     case 24: words = (width * 3 + 3)/4; break;

     default:
        DPRINT1("(%d): Unsupported depth\n", depth );
    /* fall through */
    case 32:
        words = width;
  }
  return 4 * words;
}


More information about the Ros-dev mailing list