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 #include "ColorConstants.h" 00008 #include "ColorFilterSettings.h" 00009 #include "ColorFilterSettingsStrategyForeground.h" 00010 #include <QTextStream> 00011 00012 ColorFilterSettingsStrategyForeground::ColorFilterSettingsStrategyForeground () 00013 { 00014 } 00015 00016 ColorFilterSettingsStrategyForeground::~ColorFilterSettingsStrategyForeground () 00017 { 00018 } 00019 00020 double ColorFilterSettingsStrategyForeground::high (const ColorFilterSettings &colorFilterSettings) const 00021 { 00022 return (double) (colorFilterSettings.foregroundHigh () - FOREGROUND_MIN) / 00023 (double) (FOREGROUND_MAX - FOREGROUND_MIN); 00024 } 00025 00026 double ColorFilterSettingsStrategyForeground::low (const ColorFilterSettings &colorFilterSettings) const 00027 { 00028 return (double) (colorFilterSettings.foregroundLow () - FOREGROUND_MIN) / 00029 (double) (FOREGROUND_MAX - FOREGROUND_MIN); 00030 } 00031 00032 void ColorFilterSettingsStrategyForeground::printStream (const ColorFilterSettings &colorFilterSettings, 00033 QString indentation, 00034 QTextStream &str) const 00035 { 00036 str << indentation << "foregroundLow=" << colorFilterSettings.intensityLow () << "\n"; 00037 str << indentation << "foregroundHigh=" << colorFilterSettings.intensityHigh () << "\n"; 00038 } 00039 00040 void ColorFilterSettingsStrategyForeground::setHigh (ColorFilterSettings &colorFilterSettings, 00041 double s0To1) 00042 { 00043 colorFilterSettings.setForegroundHigh (FOREGROUND_MIN + s0To1 * (FOREGROUND_MAX - FOREGROUND_MIN)); 00044 } 00045 00046 void ColorFilterSettingsStrategyForeground::setLow (ColorFilterSettings &colorFilterSettings, 00047 double s0To1) 00048 { 00049 colorFilterSettings.setForegroundLow (FOREGROUND_MIN + s0To1 * (FOREGROUND_MAX - FOREGROUND_MIN)); 00050 }