00001
00002
00003
00004
00005
00006
00007 #ifndef DOCUMENT_MODEL_COLOR_FILTER_H
00008 #define DOCUMENT_MODEL_COLOR_FILTER_H
00009
00010 #include "ColorFilterSettings.h"
00011 #include "DocumentModelAbstractBase.h"
00012 #include <QHash>
00013
00014
00015 typedef QHash<QString, ColorFilterSettings> ColorFilterSettingsList;
00016
00017 class CoordSystem;
00018 class QTextStream;
00019
00021 class DocumentModelColorFilter : public DocumentModelAbstractBase
00022 {
00023 public:
00025 DocumentModelColorFilter();
00026
00028 DocumentModelColorFilter(const DocumentModelColorFilter &other);
00029
00031 DocumentModelColorFilter(const CoordSystem &coordSystem);
00032
00034 DocumentModelColorFilter &operator=(const DocumentModelColorFilter &other);
00035
00037 ColorFilterMode colorFilterMode(const QString &curveName) const;
00038
00040 const ColorFilterSettings colorFilterSettings (const QString &curveName) const;
00041
00043 const ColorFilterSettingsList &colorFilterSettingsList () const;
00044
00046 int foregroundHigh (const QString &curveName) const;
00047
00049 int foregroundLow (const QString &curveName) const;
00050
00053 double high (const QString &curveName) const;
00054
00056 int hueHigh (const QString &curveName) const;
00057
00059 int hueLow (const QString &curveName) const;
00060
00062 int intensityHigh (const QString &curveName) const;
00063
00065 int intensityLow (const QString &curveName) const;
00066
00067 virtual void loadXml(QXmlStreamReader &reader);
00068
00071 double low (const QString &curveName) const;
00072
00074 void printStream (QString indentation,
00075 QTextStream &str) const;
00076
00078 int saturationHigh (const QString &curveName) const;
00079
00081 int saturationLow (const QString &curveName) const;
00082
00083 virtual void saveXml(QXmlStreamWriter &writer) const;
00084
00086 void setColorFilterMode(const QString &curveName,
00087 ColorFilterMode colorFilterMode);
00088
00090 void setForegroundHigh (const QString &curveName,
00091 int foregroundHigh);
00092
00094 void setForegroundLow (const QString &curveName,
00095 int foregroundLow);
00096
00098 void setHigh (const QString &curveName,
00099 double s0To1);
00100
00102 void setHueHigh (const QString &curveName,
00103 int hueHigh);
00104
00106 void setHueLow (const QString &curveName,
00107 int hueLow);
00108
00110 void setIntensityHigh (const QString &curveName,
00111 int intensityHigh);
00112
00114 void setIntensityLow (const QString &curveName,
00115 int intensityLow);
00116
00118 void setLow (const QString &curveName,
00119 double s0To1);
00120
00122 void setSaturationHigh (const QString &curveName,
00123 int saturationHigh);
00124
00126 void setSaturationLow (const QString &curveName,
00127 int saturationLow);
00128
00130 void setValueHigh (const QString &curveName,
00131 int valueHigh);
00132
00134 void setValueLow (const QString &curveName,
00135 int valueLow);
00136
00138 int valueHigh (const QString &curveName) const;
00139
00141 int valueLow (const QString &curveName) const;
00142
00143 private:
00144
00145 ColorFilterSettingsList m_colorFilterSettingsList;
00146 };
00147
00148 #endif // DOCUMENT_MODEL_COLOR_FILTER_H