home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol10n13.zip / DIBDATA.ADD < prev    next >
Text File  |  1991-06-10  |  741b  |  27 lines

  1.  
  2.  
  3. BYTE huge *DibDataAddress (BYTE huge *pDib)
  4.   {
  5.   DWORD dwInfoSize = ((LPBITMAPINFOHEADER) pDib)->biSize ;
  6.   int   iBitCount, iRgbSize = 0 ;
  7.  
  8.   if (dwInfoSize == sizeof (BITMAPCOREHEADER))
  9.       {
  10.       if (24 != (iBitCount = ((LPBITMAPCOREHEADER) pDib)->bcBitCount))
  11.           iRgbSize = (1 << iBitCount) * sizeof (RGBTRIPLE) ;
  12.       }
  13.   else
  14.       {
  15.       if (dwInfoSize >= 36)
  16.           iRgbSize = ((LPBITMAPINFOHEADER) pDib)->biClrUsed *
  17.                          sizeof (RGBQUAD) ;
  18.       if (iRgbSize == 0)
  19.           if (24 != (iBitCount = ((LPBITMAPINFOHEADER) pDib)->bcBitCount))
  20.                     iRgbSize = (1 << iBitCount) * sizeof (RGBQUAD) ;
  21.           }
  22.  
  23.  return pDib + dwInfoSize + iRgbSize ;
  24.  }
  25.  
  26.  
  27.