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