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

DirextX编程

开发平台:

Visual C++

  1. // Copyright (C) 1998-1999 DXGuide.  All Rights Reserved.
  2. // File: DIBPal.h
  3. #ifndef _DIBPAL__H
  4. #define _DIBPAL__H
  5. #if _MSC_VER >= 1000
  6. #pragma once
  7. #endif // _MSC_VER >= 1000
  8. // turn off warnings for /W4
  9. #pragma warning(disable: 4201)
  10. #include <mmsystem.h>
  11. #pragma warning(default: 4201)
  12. class CDIB;
  13. class CPackFileManager;
  14. class CDIBPal : public CPalette
  15. {
  16. public:
  17. CDIBPal(void);
  18. ~CDIBPal();
  19. public:
  20. // Create a new palette;
  21. bool Create(CDIB const*  pDIB); // create from a DIB
  22. bool Create(BITMAPINFO const*  pBMI); // create from color table
  23. bool Create(RGBQUAD const*  pRGB, int  nColors); // create from clr table
  24. public:
  25. void Draw(HDC  hDC, RECT*  pRect, bool  bBkgnd = false);
  26. // Create an identity palette.
  27. bool SetSysPalColors(void);
  28. // Load a palette from a file.
  29. bool Load(LPCTSTR  pszFilename = NULL,
  30. CPackFileManager*  pPackFileManager = NULL);
  31. bool Load(CFile*  fp);  
  32. bool Load(UINT  hFile);
  33. bool Load(HMMIO  hmmio);
  34. bool LoadResource(WORD  wID, LPCTSTR  lpType = NULL);
  35. // Save the palette to a file.
  36. bool Save(LPCTSTR  pszFilename = NULL);
  37. bool Save(CFile*  fp);  
  38. bool Save(UINT  hFile);
  39. bool Save(HMMIO  hmmio);
  40. // Create a color cube wash palette.
  41. bool CreateWash(void);
  42. // Create a palette from the 20 system reserved colors.
  43. bool CreateSystemColorPalette(void);
  44. public:
  45. static const LPCTSTR m_lpcszDefaultPalTypeName;
  46. };
  47. #endif // _DIBPAL__H