diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 96920c3da..5c96aa6fd 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -2365,13 +2365,13 @@ void ImProcFunctions::ciecam_02float (CieImage* ncie, float adap, int begh, int hist16JCAM[posl]++; if (curveMode3 == ColorAppearanceParams::TC_MODE_CHROMA) { - chsacol = 327.f; + chsacol = 400.f;//327 colch = C; //450.0 approximative factor for s 320 for M } else if (curveMode3 == ColorAppearanceParams::TC_MODE_SATUR) { chsacol = 450.0f; colch = s; } else { /*if(curveMode3 == ColorAppearanceParams::TC_MODE_COLORF)*/ - chsacol = 327.0f; + chsacol = 400.0f;//327 colch = M; } diff --git a/rtgui/diagonalcurveeditorsubgroup.cc b/rtgui/diagonalcurveeditorsubgroup.cc index d12cdf023..936bf0d64 100644 --- a/rtgui/diagonalcurveeditorsubgroup.cc +++ b/rtgui/diagonalcurveeditorsubgroup.cc @@ -620,7 +620,9 @@ void DiagonalCurveEditorSubGroup::switchGUI() } else { // dCurve ave a ColorProvider or a background gradient defined, so we create/update the object if (!leftBar) { - leftBar = new ColoredBar(RTO_Bottom2Top); + leftBar = new ColoredBar(RTO_Bottom2Top); + + } if (barColorProvider) { diff --git a/rtgui/labcurve.cc b/rtgui/labcurve.cc index dc9e404fb..c39dc99fc 100644 --- a/rtgui/labcurve.cc +++ b/rtgui/labcurve.cc @@ -574,6 +574,21 @@ void LCurve::colorForValue (double valX, double valY, enum ColorCaller::ElemType // whole hue range // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) Color::hsv2rgb01(float(valY), float(valX), value, R, G, B); + } else if (callerId == 6) { // cc - left bar + + float value = (1.f - 0.7f) * float(valX) + 0.7f; + float hue = (1.14056f - 0.92f) * float(valY) + 0.92f; + + if (hue > 1.0f) { + hue -= 1.0f; + } + + // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) + Color::hsv2rgb01(hue, float(valX), value, R, G, B); + + // whole hue range + // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) + // Color::hsv2rgb01(float(valY), float(valX), value, R, G, B); } else if (callerId == 3) { // lc - bottom bar float value = (1.f - 0.7f) * float(valX) + 0.7f;