00001 /****************************************************************************************************** 00002 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released * 00003 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file * 00004 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. * 00005 ******************************************************************************************************/ 00006 00007 #ifndef COLOR_FILTER_SETTINGS_STRATEGY_ABSTRACT_BASE_H 00008 #define COLOR_FILTER_SETTINGS_STRATEGY_ABSTRACT_BASE_H 00009 00010 #include <QString> 00011 00012 class ColorFilterSettings; 00013 class QTextStream; 00014 00017 class ColorFilterSettingsStrategyAbstractBase 00018 { 00019 public: 00021 ColorFilterSettingsStrategyAbstractBase(); 00022 00023 virtual ~ColorFilterSettingsStrategyAbstractBase(); 00024 00026 virtual double high (const ColorFilterSettings &colorFilterSettings) const = 0; 00027 00029 virtual double low (const ColorFilterSettings &colorFilterSettings) const = 0; 00030 00032 virtual void printStream (const ColorFilterSettings &colorFilterSettings, 00033 QString indentation, 00034 QTextStream &str) const = 0; 00035 00037 virtual void setHigh (ColorFilterSettings &colorFilterSettings, 00038 double s0To1) = 0; 00039 00041 virtual void setLow (ColorFilterSettings &colorFilterSettings, 00042 double s0To1) = 0; 00043 }; 00044 00045 #endif // COLOR_FILTER_SETTINGS_STRATEGY_ABSTRACT_BASE_H