karbon
vcolor.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __VCOLOR_H__
00022 #define __VCOLOR_H__
00023
00024
00025 #include <qcolor.h>
00026 #include <qstring.h>
00027 #include <koffice_export.h>
00028 class QDomElement;
00029
00030
00040 class KARBONBASE_EXPORT VColor
00041 {
00042 public:
00043 enum VColorSpace
00044 {
00045 rgb = 0,
00046 cmyk = 1,
00047 hsb = 2,
00048 gray = 3
00049 };
00050
00056 VColor( VColorSpace colorSpace = rgb );
00057
00063 VColor( const VColor& color );
00064
00070 VColor( const QColor& color );
00071
00075 operator QColor() const;
00076
00083 float operator[]( unsigned i ) const
00084 { return m_value[i]; }
00085
00091 void set( float v1 )
00092 { m_value[0] = v1; }
00093
00100 void set( float v1, float v2 )
00101 { m_value[0] = v1; m_value[1] = v2; }
00102
00110 void set( float v1, float v2, float v3 )
00111 { m_value[0] = v1; m_value[1] = v2; m_value[2] = v3; }
00112
00121 void set( float v1, float v2, float v3, float v4 )
00122 { m_value[0] = v1; m_value[1] = v2; m_value[2] = v3; m_value[3] = v4; }
00123
00131 float opacity() const { return m_opacity; }
00132
00138 void setOpacity( float opacity ) { m_opacity = opacity; }
00139
00145 VColorSpace colorSpace() const { return m_colorSpace; }
00146
00155 void setColorSpace( const VColorSpace colorSpace, bool convert = true );
00156
00162 void save( QDomElement& element ) const;
00163
00169 void load( const QDomElement& element );
00170
00171 private:
00172 void convertToColorSpace( const VColorSpace colorSpace );
00173
00174 VColorSpace m_colorSpace;
00175
00176 float m_value[4];
00177 float m_opacity;
00178
00179 QString m_name;
00180 };
00181
00182 #endif
|