palette.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/os2/palette.h
  3. // Purpose: wxPalette class
  4. // Author: David Webster
  5. // Modified by:
  6. // Created: 10/12/99
  7. // Copyright: (c) David Webster
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_PALETTE_H_
  11. #define _WX_PALETTE_H_
  12. #include "wx/gdiobj.h"
  13. #include "wx/os2/private.h"
  14. class WXDLLIMPEXP_FWD_CORE wxPalette;
  15. class WXDLLIMPEXP_CORE wxPaletteRefData: public wxGDIRefData
  16. {
  17. friend class WXDLLIMPEXP_FWD_CORE wxPalette;
  18. public:
  19. wxPaletteRefData();
  20. virtual ~wxPaletteRefData();
  21. // protected:
  22. WXHPALETTE m_hPalette;
  23. HPS m_hPS;
  24. }; // end of CLASS wxPaletteRefData
  25. #define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
  26. class WXDLLIMPEXP_CORE wxPalette: public wxPaletteBase
  27. {
  28. public:
  29. wxPalette();
  30. wxPalette( int n
  31. ,const unsigned char* pRed
  32. ,const unsigned char* pGreen
  33. ,const unsigned char* pBlue
  34. );
  35. virtual ~wxPalette();
  36. bool Create( int n
  37. ,const unsigned char* pRed
  38. ,const unsigned char* pGreen
  39. ,const unsigned char* pBlue
  40. );
  41. int GetPixel( unsigned char cRed
  42. ,unsigned char cGreen
  43. ,unsigned char cBlue
  44. ) const;
  45. bool GetRGB( int nPixel
  46. ,unsigned char* pRed
  47. ,unsigned char* pGreen
  48. ,unsigned char* pBlue
  49. ) const;
  50. virtual bool FreeResource(bool bForce = false);
  51. inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
  52. void SetHPALETTE(WXHPALETTE hPalette);
  53. void SetPS(HPS hPS);
  54. protected:
  55. virtual wxGDIRefData *CreateGDIRefData() const;
  56. virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
  57. private:
  58. DECLARE_DYNAMIC_CLASS(wxPalette)
  59. }; // end of CLASS wxPalette
  60. #endif
  61. // _WX_PALETTE_H_