26 const QString &name,
const QColor &color)
36 QGridLayout *sliderLayout =
new QGridLayout();
37 sliderLayout->setColumnStretch(1, 10);
39 QLabel *startLabel =
new QLabel(
"Start");
50 connect(
p_startEdit, SIGNAL(textChanged(
const QString &)),
52 sliderLayout->addWidget(startLabel, 0, 0);
56 QLabel *endLabel =
new QLabel(
"End");
68 connect(
p_endEdit, SIGNAL(textChanged(
const QString &)),
70 sliderLayout->addWidget(endLabel, 1, 0);
74 sliderWidget->setLayout(sliderLayout);
105 double switch1 = 0.0;
106 double switch2 = 1.0;
108 if(newStretch.Pairs() == 2) {
110 if(newStretch.Output(0) == newStretch.Output(1)) {
119 switch1 = newStretch.Input(0);
120 if(switch1 < p_cubeHist->Minimum())
123 interpretted.AddPair(switch1, 0);
124 interpretted.AddPair(switch1 + epsilon, 255);
126 switch2 = newStretch.Input(1);
127 if(switch2 <= switch1 + epsilon)
128 switch2 = switch1 + epsilon + epsilon;
130 interpretted.AddPair(switch2, 255);
131 interpretted.AddPair(switch2 + epsilon, 0);
134 if(end <= switch2 + epsilon)
135 end = switch2 + epsilon + epsilon;
137 interpretted.AddPair(end, 0);
140 else if(newStretch.Pairs() == 4) {
141 if(newStretch.Output(0) > 127) {
144 switch1 = newStretch.Input(1);
145 if(switch1 <= p_cubeHist->Minimum())
148 interpretted.AddPair(switch1, 255);
149 interpretted.AddPair(switch1 + epsilon, 0);
152 if(end <= switch1 + epsilon)
153 end = switch1 + epsilon + epsilon;
157 interpretted.AddPair(end, 0);
162 switch1 = newStretch.Input(1);
163 if(switch1 < p_cubeHist->Minimum())
166 interpretted.AddPair(switch1, 0);
167 interpretted.AddPair(switch1 + epsilon, 255);
170 if(end <= switch1 + epsilon)
171 end = switch1 + epsilon + epsilon;
174 interpretted.AddPair(end, 255);
178 else if(newStretch.Pairs() == 6) {
181 switch1 = newStretch.Input(1);
182 if(switch1 <= p_cubeHist->Minimum())
185 interpretted.AddPair(switch1, 0);
186 interpretted.AddPair(switch1 + epsilon, 255);
189 switch2 = newStretch.Input(3);
190 if(switch2 <= switch1 + epsilon)
191 switch2 = switch1 + epsilon + epsilon;
193 interpretted.AddPair(switch2, 255);
194 interpretted.AddPair(switch2 + epsilon, 0);
197 if(end <= switch2 + epsilon)
198 end = switch2 + epsilon + epsilon;
200 interpretted.AddPair(end, 0);
203 if(!interpretted.Pairs()) {
215 p_endEdit->setText(QString::number(switch2));
224 emit stretchChanged();