merge with dev

This commit is contained in:
Desmis
2017-12-13 08:42:13 +01:00
53 changed files with 645 additions and 375 deletions

View File

@@ -3157,11 +3157,8 @@ void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer
{wprof[2][0], wprof[2][1], wprof[2][2]}
};
// For tonecurve histogram
// float lumimulf[3] = {static_cast<float> (lumimul[0]), static_cast<float> (lumimul[1]), static_cast<float> (lumimul[2])};
bool mixchannels = (params->chmixer.red[0] != 100 || params->chmixer.red[1] != 0 || params->chmixer.red[2] != 0 ||
bool mixchannels = params->chmixer.enabled &&
(params->chmixer.red[0] != 100 || params->chmixer.red[1] != 0 || params->chmixer.red[2] != 0 ||
params->chmixer.green[0] != 0 || params->chmixer.green[1] != 100 || params->chmixer.green[2] != 0 ||
params->chmixer.blue[0] != 0 || params->chmixer.blue[1] != 0 || params->chmixer.blue[2] != 100);
@@ -3170,13 +3167,13 @@ void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer
FlatCurve* vCurve = nullptr;
FlatCurve* bwlCurve = nullptr;
FlatCurveType hCurveType = (FlatCurveType)params->hsvequalizer.hcurve.at(0);
FlatCurveType sCurveType = (FlatCurveType)params->hsvequalizer.scurve.at(0);
FlatCurveType vCurveType = (FlatCurveType)params->hsvequalizer.vcurve.at(0);
FlatCurveType bwlCurveType = (FlatCurveType)params->blackwhite.luminanceCurve.at(0);
bool hCurveEnabled = hCurveType > FCT_Linear;
bool sCurveEnabled = sCurveType > FCT_Linear;
bool vCurveEnabled = vCurveType > FCT_Linear;
FlatCurveType hCurveType = (FlatCurveType)params->hsvequalizer.hcurve.at (0);
FlatCurveType sCurveType = (FlatCurveType)params->hsvequalizer.scurve.at (0);
FlatCurveType vCurveType = (FlatCurveType)params->hsvequalizer.vcurve.at (0);
FlatCurveType bwlCurveType = (FlatCurveType)params->blackwhite.luminanceCurve.at (0);
bool hCurveEnabled = params->hsvequalizer.enabled && hCurveType > FCT_Linear;
bool sCurveEnabled = params->hsvequalizer.enabled && sCurveType > FCT_Linear;
bool vCurveEnabled = params->hsvequalizer.enabled && vCurveType > FCT_Linear;
bool bwlCurveEnabled = bwlCurveType > FCT_Linear;
// TODO: We should create a 'skip' value like for CurveFactory::complexsgnCurve (rtengine/curves.cc)
@@ -3775,7 +3772,7 @@ void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer
}
}
if (rCurve || gCurve || bCurve) { // if any of the RGB curves is engaged
if (params->rgbCurves.enabled && (rCurve || gCurve || bCurve)) { // if any of the RGB curves is engaged
if (!params->rgbCurves.lumamode) { // normal RGB mode
for (int i = istart, ti = 0; i < tH; i++, ti++) {