DIB.INL
上传用户:wymy58
上传日期:2007-01-07
资源大小:2086k
文件大小:1k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. // Copyright (C) 1999 DXGuide.  All Rights Reserved.
  2. // File: DIB.inl
  3. // Inlines for CDIB
  4. inline bool CDIB::IsValid(void) const
  5. {
  6. return  (m_pBMI != NULL);
  7. }
  8. inline int CDIB::GetBitsPerPixel(void) const
  9. {
  10. ASSERT(m_pBMI != NULL);
  11. return  m_pBMI->bmiHeader.biBitCount;
  12. }
  13. inline void CDIB::GetRect(RECT*  pRect) const
  14. {
  15. pRect->top = pRect->left = 0;
  16. pRect->bottom = GetHeight();
  17. pRect->right = GetWidth();
  18. }
  19. inline int CDIB::GetNumClrEntries(void) const
  20. {
  21. ASSERT(m_pBMI != NULL);
  22. return  NumDIBColorEntries(m_pBMI);
  23. }
  24. inline RGBQUAD* CDIB::GetClrTabAddress(void) const
  25. {
  26. ASSERT(m_pBMI != NULL);
  27. return  (LPRGBQUAD)(((BYTE*)(m_pBMI)) + sizeof(BITMAPINFOHEADER));
  28. }
  29. // This function gets the size required to store the DIB's
  30. // palette by multiplying the number of colors by the size of
  31. // an RGBQUAD
  32. inline DWORD CDIB::GetPaletteSize(void) const
  33. {
  34. return  GetNumClrEntries() * sizeof(RGBQUAD);
  35. }
  36. inline const BITMAPINFO* CDIB::GetBitmapInfoAddress(void) const
  37. {
  38. return  m_pBMI;
  39. }