1 /****************************************************************************************************** 2 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released * 3 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file * 4 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. * 5 ******************************************************************************************************/ 6 7 #include "ColorConstants.h" 8 #include "ColorFilterSettings.h" 9 #include "ColorFilterSettingsStrategyForeground.h" 10 #include <qmath.h> 11 #include <QTextStream> 12 ColorFilterSettingsStrategyForeground()13ColorFilterSettingsStrategyForeground::ColorFilterSettingsStrategyForeground () 14 { 15 } 16 ~ColorFilterSettingsStrategyForeground()17ColorFilterSettingsStrategyForeground::~ColorFilterSettingsStrategyForeground () 18 { 19 } 20 high(const ColorFilterSettings & colorFilterSettings) const21double ColorFilterSettingsStrategyForeground::high (const ColorFilterSettings &colorFilterSettings) const 22 { 23 return double (colorFilterSettings.foregroundHigh () - FOREGROUND_MIN) / 24 double (FOREGROUND_MAX - FOREGROUND_MIN); 25 } 26 low(const ColorFilterSettings & colorFilterSettings) const27double ColorFilterSettingsStrategyForeground::low (const ColorFilterSettings &colorFilterSettings) const 28 { 29 return double (colorFilterSettings.foregroundLow () - FOREGROUND_MIN) / 30 double (FOREGROUND_MAX - FOREGROUND_MIN); 31 } 32 printStream(const ColorFilterSettings & colorFilterSettings,QString indentation,QTextStream & str) const33void ColorFilterSettingsStrategyForeground::printStream (const ColorFilterSettings &colorFilterSettings, 34 QString indentation, 35 QTextStream &str) const 36 { 37 str << indentation << "foregroundLow=" << colorFilterSettings.intensityLow () << "\n"; 38 str << indentation << "foregroundHigh=" << colorFilterSettings.intensityHigh () << "\n"; 39 } 40 setHigh(ColorFilterSettings & colorFilterSettings,double s0To1)41void ColorFilterSettingsStrategyForeground::setHigh (ColorFilterSettings &colorFilterSettings, 42 double s0To1) 43 { 44 colorFilterSettings.setForegroundHigh (qFloor (FOREGROUND_MIN + s0To1 * (FOREGROUND_MAX - FOREGROUND_MIN))); 45 } 46 setLow(ColorFilterSettings & colorFilterSettings,double s0To1)47void ColorFilterSettingsStrategyForeground::setLow (ColorFilterSettings &colorFilterSettings, 48 double s0To1) 49 { 50 colorFilterSettings.setForegroundLow (qFloor (FOREGROUND_MIN + s0To1 * (FOREGROUND_MAX - FOREGROUND_MIN))); 51 } 52