Merge with e190c52ab7861c68762aaa552f3dc0f59fe2e225 from default

This revision compiles and runs on Win7x64- but further evaluation is necessary.
There may be an issue with cmake step -After cmake I had to copy rtgui/version.h & config.h into out of source build /rtgui folder.
Additional notes:
- ImProcFunctions::hsv2rgb01   -> this likely need to be added to color.h & color.cc
- Use of array2D should be verified in NR code
- compilation warning for rtengine::RawImageSource::isWBProviderReady()
This commit is contained in:
michael
2012-07-03 23:15:07 -04:00
parent 78d4f80875
commit 3a4100e710
374 changed files with 47381 additions and 39387 deletions

View File

@@ -18,7 +18,7 @@
*/
#include "hsvequalizer.h"
#include "../rtengine/utils.h"
#include "../rtengine/improcfun.h"
#include "../rtengine/color.h"
using namespace rtengine;
@@ -28,7 +28,7 @@ using namespace rtengine::procparams;
HSVEqualizer::HSVEqualizer () : Gtk::VBox(), FoldableToolPanel(this) {
curveEditorG = new CurveEditorGroup (M("TP_HSVEQUALIZER_CHANNEL"));
curveEditorG = new CurveEditorGroup (options.lastHsvCurvesDir, M("TP_HSVEQUALIZER_CHANNEL"));
curveEditorG->setCurveListener (this);
curveEditorG->setColorProvider (this);
@@ -191,27 +191,27 @@ void HSVEqualizer::colorForValue (double valX, double valY) {
if (ce == hshape) { // Hue = f(Hue)
float h = (float)((valY - 0.5) * 2. + valX);
if (h > 1.0)
h -= 1.0;
else if (h < 0.0)
h += 1.0;
Color::hsv2rgb(h, (float)0.5, (float)0.5, r, g, b);
red = (double)r;
green = (double)g;
blue = (double)b;
float h = float((valY - 0.5) * 2. + valX);
if (h > 1.0f)
h -= 1.0f;
else if (h < 0.0f)
h += 1.0f;
ImProcFunctions::hsv2rgb01(h, 0.5f, 0.5f, r, g, b);
red = double(r);
green = double(g);
blue = double(b);
}
else if (ce == sshape) { // Saturation = f(Hue)
Color::hsv2rgb((float)valX, (float)valY, (float)0.5, r, g, b);
red = (double)r;
green = (double)g;
blue = (double)b;
ImProcFunctions::hsv2rgb01(float(valX), float(valY), 0.5f, r, g, b);
red = double(r);
green = double(g);
blue = double(b);
}
else if (ce == vshape) { // Value = f(Hue)
Color::hsv2rgb((float)valX, (float)0.5, (float)valY, r, g, b);
red = (double)r;
green = (double)g;
blue = (double)b;
ImProcFunctions::hsv2rgb01(float(valX), 0.5f, float(valY), r, g, b);
red = double(r);
green = double(g);
blue = double(b);
}
else {
printf("Error: no curve displayed!\n");