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