Engauge Digitizer  2
ColorFilterSettingsStrategySaturation.cpp
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 "ColorFilterSettingsStrategySaturation.h"
10 #include <QTextStream>
11 
13 {
14 }
15 
16 ColorFilterSettingsStrategySaturation::~ColorFilterSettingsStrategySaturation ()
17 {
18 }
19 
20 double ColorFilterSettingsStrategySaturation::high (const ColorFilterSettings &colorFilterSettings) const
21 {
22  return (double) (colorFilterSettings.saturationHigh () - SATURATION_MIN) /
23  (double) (SATURATION_MAX - SATURATION_MIN);
24 }
25 
26 double ColorFilterSettingsStrategySaturation::low (const ColorFilterSettings &colorFilterSettings) const
27 {
28  return (double) (colorFilterSettings.saturationLow () - SATURATION_MIN) /
29  (double) (SATURATION_MAX - SATURATION_MIN);
30 }
31 
33  QString indentation,
34  QTextStream &str) const
35 {
36  str << indentation << "saturationLow=" << colorFilterSettings.saturationLow () << "\n";
37  str << indentation << "saturationHigh=" << colorFilterSettings.saturationHigh () << "\n";
38 }
39 
41  double s0To1)
42 {
43  colorFilterSettings.setSaturationHigh (SATURATION_MIN + s0To1 * (SATURATION_MAX - SATURATION_MIN));
44 }
45 
47  double s0To1)
48 {
49  colorFilterSettings.setSaturationLow (SATURATION_MIN + s0To1 * (SATURATION_MAX - SATURATION_MIN));
50 }
void setSaturationLow(int saturationLow)
Set method for saturation low.
Color filter parameters for one curve. For a class, this is handled the same as LineStyle and PointSt...
virtual double high(const ColorFilterSettings &colorFilterSettings) const
Return the high value normalized to 0 to 1.
virtual void setLow(ColorFilterSettings &colorFilterSettings, double s0To1)
Set the low value given the normalized value.
virtual double low(const ColorFilterSettings &colorFilterSettings) const
Return the low value normalized to 0 to 1.
virtual void printStream(const ColorFilterSettings &colorFilterSettings, QString indentation, QTextStream &str) const
Print the low and high values.
int saturationHigh() const
Get method for saturation higher bound.
void setSaturationHigh(int saturationHigh)
Set method for saturation high.
virtual void setHigh(ColorFilterSettings &colorFilterSettings, double s0To1)
Set the high value given the normalized value.
int saturationLow() const
Get method for saturation lower bound.