home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / include / wx / os2 / palette.h < prev    next >
C/C++ Source or Header  |  2002-08-27  |  3KB  |  81 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        palette.h
  3. // Purpose:     wxPalette class
  4. // Author:      David Webster
  5. // Modified by:
  6. // Created:     10/12/99
  7. // RCS-ID:      $Id: PALETTE.H,v 1.5 2002/08/25 18:24:18 SN Exp $
  8. // Copyright:   (c) David Webster
  9. // Licence:     wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_PALETTE_H_
  13. #define _WX_PALETTE_H_
  14.  
  15. #include "wx/gdiobj.h"
  16.  
  17. class WXDLLEXPORT wxPalette;
  18.  
  19. class WXDLLEXPORT wxPaletteRefData: public wxGDIRefData
  20. {
  21.     friend class WXDLLEXPORT wxPalette;
  22. public:
  23.     wxPaletteRefData();
  24.     ~wxPaletteRefData();
  25. // protected:
  26.     WXHPALETTE                      m_hPalette;
  27.     HPS                             m_hPS;
  28. }; // end of CLASS wxPaletteRefData
  29.  
  30. #define M_PALETTEDATA ((wxPaletteRefData *)m_refData)
  31.  
  32. class WXDLLEXPORT wxPalette: public wxGDIObject
  33. {
  34.     DECLARE_DYNAMIC_CLASS(wxPalette)
  35.  
  36. public:
  37.     wxPalette();
  38.     inline wxPalette(const wxPalette& rPalette) { Ref(rPalette); }
  39.  
  40.     wxPalette( int                  n
  41.               ,const unsigned char* pRed
  42.               ,const unsigned char* pGreen
  43.               ,const unsigned char* pBlue
  44.              );
  45.     ~wxPalette();
  46.  
  47.     bool Create( int                  n
  48.                 ,const unsigned char* pRed
  49.                 ,const unsigned char* pGreen
  50.                 ,const unsigned char* pBlue
  51.                );
  52.     int  GetPixel( const unsigned char cRed
  53.                   ,const unsigned char cGreen
  54.                   ,const unsigned char cBlue
  55.                  ) const;
  56.     bool GetRGB( int            nPixel
  57.                 ,unsigned char* pRed
  58.                 ,unsigned char* pGreen
  59.                 ,unsigned char* pBlue
  60.                ) const;
  61.  
  62.     virtual bool Ok(void) const { return (m_refData != NULL) ; }
  63.  
  64.     inline wxPalette& operator = (const wxPalette& rPalette) { if (*this == rPalette) return (*this); Ref(rPalette); return *this; }
  65.     inline bool       operator == (const wxPalette& rPalette) { return m_refData == rPalette.m_refData; }
  66.     inline bool       operator != (const wxPalette& rPalette) { return m_refData != rPalette.m_refData; }
  67.  
  68.     virtual bool FreeResource(bool bForce = FALSE);
  69.  
  70.     inline WXHPALETTE GetHPALETTE(void) const { return (M_PALETTEDATA ? M_PALETTEDATA->m_hPalette : 0); }
  71.     void              SetHPALETTE(WXHPALETTE hPalette);
  72.     void              SetPS(HPS hPS);
  73. }; // end of CLASS wxPalette
  74.  
  75. #define wxColorMap wxPalette
  76. #define wxColourMap wxPalette
  77.  
  78. #endif
  79.     // _WX_PALETTE_H_
  80.  
  81.