00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00026 #ifndef __IMAGE_COLOUR_SPACE_HEADER_INCLUDED__
00027 #define __IMAGE_COLOUR_SPACE_HEADER_INCLUDED__
00028
00029 #include <string>
00030
00031 namespace image {
00032
00033 class CColourSpace
00034 {
00035 private :
00036 enum EColourSpace { eRGB, eCYMK, gray } ;
00037 EColourSpace m_value ;
00038
00039 public :
00040 CColourSpace( ) : m_value( eRGB ) { }
00041
00042 static const CColourSpace RGB( ) ;
00043 static const CColourSpace CYMK( ) ;
00044 static const CColourSpace Gray( ) ;
00045
00046 bool operator==( const CColourSpace& other ) const
00047 { return m_value == other.m_value ; }
00048 bool operator!=( const CColourSpace& other ) const
00049 { return !operator==( other ) ; }
00050
00051 CColourSpace& operator=( const CColourSpace& other )
00052 { m_value = other.m_value ; return *this ; }
00053
00054 const std::string& Name( ) const ;
00055
00056 private :
00057 CColourSpace( EColourSpace value ) : m_value( value ) { }
00058 } ;
00059
00060 }
00061
00062 #endif