Add blur shape detection to Shadows Highlight
This commit is contained in:
parent
bb0a415925
commit
d11eb995de
@ -893,6 +893,7 @@ HISTORY_MSG_639;Local - SH Mask H
|
|||||||
HISTORY_MSG_640;Local - SH blend
|
HISTORY_MSG_640;Local - SH blend
|
||||||
HISTORY_MSG_641;Local - Use SH mask
|
HISTORY_MSG_641;Local - Use SH mask
|
||||||
HISTORY_MSG_642;Local - radius SH
|
HISTORY_MSG_642;Local - radius SH
|
||||||
|
HISTORY_MSG_643;Local - Blur SH
|
||||||
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
||||||
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
||||||
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
||||||
|
@ -152,6 +152,7 @@ struct local_params {
|
|||||||
float struexp;
|
float struexp;
|
||||||
float blurexp;
|
float blurexp;
|
||||||
float blurcol;
|
float blurcol;
|
||||||
|
float blurSH;
|
||||||
float ligh;
|
float ligh;
|
||||||
float lowA, lowB, highA, highB;
|
float lowA, lowB, highA, highB;
|
||||||
int shamo, shdamp, shiter, senssha, sensv;
|
int shamo, shdamp, shiter, senssha, sensv;
|
||||||
@ -486,6 +487,7 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
|||||||
float structexpo = (float) locallab.spots.at(sp).structexp;
|
float structexpo = (float) locallab.spots.at(sp).structexp;
|
||||||
float blurexpo = (float) locallab.spots.at(sp).blurexpde;
|
float blurexpo = (float) locallab.spots.at(sp).blurexpde;
|
||||||
float blurcolor = (float) locallab.spots.at(sp).blurcolde;
|
float blurcolor = (float) locallab.spots.at(sp).blurcolde;
|
||||||
|
float blurSH = (float) locallab.spots.at(sp).blurSHde;
|
||||||
int local_transit = locallab.spots.at(sp).transit;
|
int local_transit = locallab.spots.at(sp).transit;
|
||||||
double radius = locallab.spots.at(sp).radius;
|
double radius = locallab.spots.at(sp).radius;
|
||||||
double sharradius = ((double) locallab.spots.at(sp).sharradius);
|
double sharradius = ((double) locallab.spots.at(sp).sharradius);
|
||||||
@ -540,6 +542,7 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
|||||||
lp.struexp = structexpo;
|
lp.struexp = structexpo;
|
||||||
lp.blurexp = blurexpo;
|
lp.blurexp = blurexpo;
|
||||||
lp.blurcol = blurcolor;
|
lp.blurcol = blurcolor;
|
||||||
|
lp.blurSH = blurSH;
|
||||||
lp.sens = local_sensi;
|
lp.sens = local_sensi;
|
||||||
lp.sensh = local_sensih;
|
lp.sensh = local_sensih;
|
||||||
lp.dehaze = local_dehaze;
|
lp.dehaze = local_dehaze;
|
||||||
@ -3397,6 +3400,11 @@ void ImProcFunctions::transit_shapedetect(int senstype, LabImage * bufexporig, L
|
|||||||
radius = (2.f + 0.2f * lp.blurcol) / sk;
|
radius = (2.f + 0.2f * lp.blurcol) / sk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (senstype == 9)
|
||||||
|
{
|
||||||
|
radius = (2.f + 0.2f * lp.blurSH) / sk;
|
||||||
|
}
|
||||||
|
|
||||||
bool usemask = (lp.showmaskexpmet == 2 || lp.enaExpMask) && senstype == 1;
|
bool usemask = (lp.showmaskexpmet == 2 || lp.enaExpMask) && senstype == 1;
|
||||||
bool usemaskcol = (lp.showmaskcolmet == 2 || lp.enaColorMask) && senstype == 0;
|
bool usemaskcol = (lp.showmaskcolmet == 2 || lp.enaColorMask) && senstype == 0;
|
||||||
bool usemaskSH = (lp.showmaskSHmet == 2 || lp.enaSHMask) && senstype == 9;
|
bool usemaskSH = (lp.showmaskSHmet == 2 || lp.enaSHMask) && senstype == 9;
|
||||||
|
@ -669,6 +669,7 @@ enum ProcEventCode {
|
|||||||
EvlocallabblendmaskSH = 639,
|
EvlocallabblendmaskSH = 639,
|
||||||
EvLocallabEnaSHMask = 640,
|
EvLocallabEnaSHMask = 640,
|
||||||
EvlocallabradmaskSH = 641,
|
EvlocallabradmaskSH = 641,
|
||||||
|
EvlocallabblurSHde = 642,
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2418,6 +2418,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
HHmaskSHcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.0, 1.0, 0.35, 0.35},
|
HHmaskSHcurve{(double)FCT_MinMaxCPoints, 0.0, 1.0, 0.35, 0.35, 0.50, 1.0, 0.35, 0.35, 1.0, 1.0, 0.35, 0.35},
|
||||||
blendmaskSH(0),
|
blendmaskSH(0),
|
||||||
radmaskSH(10.0),
|
radmaskSH(10.0),
|
||||||
|
blurSHde(5),
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance(false),
|
expvibrance(false),
|
||||||
saturated(0),
|
saturated(0),
|
||||||
@ -2583,6 +2584,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& HHmaskSHcurve == other.HHmaskSHcurve
|
&& HHmaskSHcurve == other.HHmaskSHcurve
|
||||||
&& blendmaskSH == other.blendmaskSH
|
&& blendmaskSH == other.blendmaskSH
|
||||||
&& radmaskSH == other.radmaskSH
|
&& radmaskSH == other.radmaskSH
|
||||||
|
&& blurSHde == other.blurSHde
|
||||||
// Vibrance
|
// Vibrance
|
||||||
&& expvibrance == other.expvibrance
|
&& expvibrance == other.expvibrance
|
||||||
&& saturated == other.saturated
|
&& saturated == other.saturated
|
||||||
@ -3705,6 +3707,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).HHmaskSHcurve, "Locallab", "HHmaskSHCurve_" + std::to_string(i), spot.HHmaskSHcurve, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).HHmaskSHcurve, "Locallab", "HHmaskSHCurve_" + std::to_string(i), spot.HHmaskSHcurve, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blendmaskSH, "Locallab", "BlendmaskSH_" + std::to_string(i), spot.blendmaskSH, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blendmaskSH, "Locallab", "BlendmaskSH_" + std::to_string(i), spot.blendmaskSH, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).radmaskSH, "Locallab", "RadmaskSH_" + std::to_string(i), spot.radmaskSH, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).radmaskSH, "Locallab", "RadmaskSH_" + std::to_string(i), spot.radmaskSH, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).blurSHde, "Locallab", "BlurSHde_" + std::to_string(i), spot.blurSHde, keyFile);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).expvibrance, "Locallab", "Expvibrance_" + std::to_string(i), spot.expvibrance, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).expvibrance, "Locallab", "Expvibrance_" + std::to_string(i), spot.expvibrance, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).saturated, "Locallab", "Saturated_" + std::to_string(i), spot.saturated, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).saturated, "Locallab", "Saturated_" + std::to_string(i), spot.saturated, keyFile);
|
||||||
@ -4955,6 +4958,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "HHmaskSHCurve_" + std::to_string(i), pedited, spot.HHmaskSHcurve, spotEdited.HHmaskSHcurve);
|
assignFromKeyfile(keyFile, "Locallab", "HHmaskSHCurve_" + std::to_string(i), pedited, spot.HHmaskSHcurve, spotEdited.HHmaskSHcurve);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "BlendmaskSH_" + std::to_string(i), pedited, spot.blendmaskSH, spotEdited.blendmaskSH);
|
assignFromKeyfile(keyFile, "Locallab", "BlendmaskSH_" + std::to_string(i), pedited, spot.blendmaskSH, spotEdited.blendmaskSH);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "RadmaskSH_" + std::to_string(i), pedited, spot.radmaskSH, spotEdited.radmaskSH);
|
assignFromKeyfile(keyFile, "Locallab", "RadmaskSH_" + std::to_string(i), pedited, spot.radmaskSH, spotEdited.radmaskSH);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "BlurSHde_" + std::to_string(i), pedited, spot.blurSHde, spotEdited.blurSHde);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Expvibrance_" + std::to_string(i), pedited, spot.expvibrance, spotEdited.expvibrance);
|
assignFromKeyfile(keyFile, "Locallab", "Expvibrance_" + std::to_string(i), pedited, spot.expvibrance, spotEdited.expvibrance);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Saturated_" + std::to_string(i), pedited, spot.saturated, spotEdited.saturated);
|
assignFromKeyfile(keyFile, "Locallab", "Saturated_" + std::to_string(i), pedited, spot.saturated, spotEdited.saturated);
|
||||||
|
@ -1019,6 +1019,7 @@ struct LocallabParams {
|
|||||||
std::vector<double> HHmaskSHcurve;
|
std::vector<double> HHmaskSHcurve;
|
||||||
int blendmaskSH;
|
int blendmaskSH;
|
||||||
double radmaskSH;
|
double radmaskSH;
|
||||||
|
int blurSHde;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
bool expvibrance;
|
bool expvibrance;
|
||||||
int saturated;
|
int saturated;
|
||||||
|
@ -668,8 +668,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
LUMINANCECURVE, //EvlocallabHHmaskSHshape
|
LUMINANCECURVE, //EvlocallabHHmaskSHshape
|
||||||
LUMINANCECURVE, //EvlocallabblendmaskSH
|
LUMINANCECURVE, //EvlocallabblendmaskSH
|
||||||
LUMINANCECURVE, //EvLocallabEnaSHMask
|
LUMINANCECURVE, //EvLocallabEnaSHMask
|
||||||
LUMINANCECURVE //EvlocallabradmaskSH
|
LUMINANCECURVE, //EvlocallabradmaskSH
|
||||||
|
LUMINANCECURVE //EvlocallabblurSHde
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,6 +108,7 @@ Locallab::Locallab():
|
|||||||
sensihs(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 15))),
|
sensihs(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 15))),
|
||||||
blendmaskSH(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLENDMASKCOL"), -100, 100, 1, 0))),
|
blendmaskSH(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLENDMASKCOL"), -100, 100, 1, 0))),
|
||||||
radmaskSH(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RADMASKCOL"), 0.0, 100.0, 0.1, 10.))),
|
radmaskSH(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RADMASKCOL"), 0.0, 100.0, 0.1, 10.))),
|
||||||
|
blurSHde(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLURDE"), 2, 100, 1, 5))),
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated(Gtk::manage(new Adjuster(M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.))),
|
saturated(Gtk::manage(new Adjuster(M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.))),
|
||||||
pastels(Gtk::manage(new Adjuster(M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.))),
|
pastels(Gtk::manage(new Adjuster(M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.))),
|
||||||
@ -527,6 +528,7 @@ Locallab::Locallab():
|
|||||||
sensihs->setAdjusterListener(this);
|
sensihs->setAdjusterListener(this);
|
||||||
blendmaskSH->setAdjusterListener(this);
|
blendmaskSH->setAdjusterListener(this);
|
||||||
radmaskSH->setAdjusterListener(this);
|
radmaskSH->setAdjusterListener(this);
|
||||||
|
blurSHde->setAdjusterListener(this);
|
||||||
|
|
||||||
enaSHMaskConn = enaSHMask->signal_toggled().connect(sigc::mem_fun(*this, &Locallab::enaSHMaskChanged));
|
enaSHMaskConn = enaSHMask->signal_toggled().connect(sigc::mem_fun(*this, &Locallab::enaSHMaskChanged));
|
||||||
|
|
||||||
@ -570,6 +572,7 @@ Locallab::Locallab():
|
|||||||
shadhighBox->pack_start(*s_tonalwidth);
|
shadhighBox->pack_start(*s_tonalwidth);
|
||||||
shadhighBox->pack_start(*sh_radius);
|
shadhighBox->pack_start(*sh_radius);
|
||||||
shadhighBox->pack_start(*sensihs);
|
shadhighBox->pack_start(*sensihs);
|
||||||
|
shadhighBox->pack_start(*blurSHde);
|
||||||
maskSHFrame->set_label_align(0.025, 0.5);
|
maskSHFrame->set_label_align(0.025, 0.5);
|
||||||
|
|
||||||
ToolParamBlock* const maskSHBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const maskSHBox = Gtk::manage(new ToolParamBlock());
|
||||||
@ -1705,6 +1708,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve = HHmaskSHshape->getCurve();
|
pp->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve = HHmaskSHshape->getCurve();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).blendmaskSH = blendmaskSH->getIntValue();
|
pp->locallab.spots.at(pp->locallab.selspot).blendmaskSH = blendmaskSH->getIntValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).radmaskSH = radmaskSH->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).radmaskSH = radmaskSH->getValue();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).blurSHde = blurSHde->getIntValue();
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).expvibrance = expvibrance->getEnabled();
|
pp->locallab.spots.at(pp->locallab.selspot).expvibrance = expvibrance->getEnabled();
|
||||||
@ -1887,6 +1891,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pe->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve = pe->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve || !HHmaskSHshape->isUnChanged();
|
pe->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve = pe->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve || !HHmaskSHshape->isUnChanged();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).blendmaskSH = pe->locallab.spots.at(pp->locallab.selspot).blendmaskSH || blendmaskSH->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).blendmaskSH = pe->locallab.spots.at(pp->locallab.selspot).blendmaskSH || blendmaskSH->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).radmaskSH = pe->locallab.spots.at(pp->locallab.selspot).radmaskSH || radmaskSH->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).radmaskSH = pe->locallab.spots.at(pp->locallab.selspot).radmaskSH || radmaskSH->getEditedState();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).blurSHde = pe->locallab.spots.at(pp->locallab.selspot).blurSHde || blurSHde->getEditedState();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).expvibrance = pe->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
pe->locallab.spots.at(pp->locallab.selspot).expvibrance = pe->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).saturated = pe->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).saturated = pe->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
||||||
@ -2054,6 +2059,7 @@ void Locallab::write(ProcParams* pp, ParamsEdited* pedited)
|
|||||||
pedited->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve = pedited->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve || !HHmaskSHshape->isUnChanged();
|
pedited->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve = pedited->locallab.spots.at(pp->locallab.selspot).HHmaskSHcurve || !HHmaskSHshape->isUnChanged();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).blendmaskSH = pedited->locallab.spots.at(pp->locallab.selspot).blendmaskSH || blendmaskSH->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).blendmaskSH = pedited->locallab.spots.at(pp->locallab.selspot).blendmaskSH || blendmaskSH->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).radmaskSH = pedited->locallab.spots.at(pp->locallab.selspot).radmaskSH || radmaskSH->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).radmaskSH = pedited->locallab.spots.at(pp->locallab.selspot).radmaskSH || radmaskSH->getEditedState();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).blurSHde = pedited->locallab.spots.at(pp->locallab.selspot).blurSHde || blurSHde->getEditedState();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).expvibrance = pedited->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
pedited->locallab.spots.at(pp->locallab.selspot).expvibrance = pedited->locallab.spots.at(pp->locallab.selspot).expvibrance || !expvibrance->get_inconsistent();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).saturated = pedited->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).saturated = pedited->locallab.spots.at(pp->locallab.selspot).saturated || saturated->getEditedState();
|
||||||
@ -2883,6 +2889,7 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
sensihs->setDefault((double)defSpot->sensihs);
|
sensihs->setDefault((double)defSpot->sensihs);
|
||||||
blendmaskSH->setDefault((double)defSpot->blendmaskSH);
|
blendmaskSH->setDefault((double)defSpot->blendmaskSH);
|
||||||
radmaskSH->setDefault(defSpot->radmaskSH);
|
radmaskSH->setDefault(defSpot->radmaskSH);
|
||||||
|
blurSHde->setDefault((double)defSpot->blurSHde);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->setDefault((double)defSpot->saturated);
|
saturated->setDefault((double)defSpot->saturated);
|
||||||
pastels->setDefault((double)defSpot->pastels);
|
pastels->setDefault((double)defSpot->pastels);
|
||||||
@ -2979,6 +2986,7 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
sensihs->setDefaultEditedState(Irrelevant);
|
sensihs->setDefaultEditedState(Irrelevant);
|
||||||
blendmaskSH->setDefaultEditedState(Irrelevant);
|
blendmaskSH->setDefaultEditedState(Irrelevant);
|
||||||
radmaskSH->setDefaultEditedState(Irrelevant);
|
radmaskSH->setDefaultEditedState(Irrelevant);
|
||||||
|
blurSHde->setDefaultEditedState(Irrelevant);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->setDefaultEditedState(Irrelevant);
|
saturated->setDefaultEditedState(Irrelevant);
|
||||||
pastels->setDefaultEditedState(Irrelevant);
|
pastels->setDefaultEditedState(Irrelevant);
|
||||||
@ -3079,6 +3087,7 @@ void Locallab::setDefaults(const ProcParams * defParams, const ParamsEdited * pe
|
|||||||
sensihs->setDefaultEditedState(defSpotState->sensihs ? Edited : UnEdited);
|
sensihs->setDefaultEditedState(defSpotState->sensihs ? Edited : UnEdited);
|
||||||
blendmaskSH->setDefaultEditedState(defSpotState->blendmaskSH ? Edited : UnEdited);
|
blendmaskSH->setDefaultEditedState(defSpotState->blendmaskSH ? Edited : UnEdited);
|
||||||
radmaskSH->setDefaultEditedState(defSpotState->radmaskSH ? Edited : UnEdited);
|
radmaskSH->setDefaultEditedState(defSpotState->radmaskSH ? Edited : UnEdited);
|
||||||
|
blurSHde->setDefaultEditedState(defSpotState->blurSHde ? Edited : UnEdited);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->setDefaultEditedState(defSpotState->saturated ? Edited : UnEdited);
|
saturated->setDefaultEditedState(defSpotState->saturated ? Edited : UnEdited);
|
||||||
pastels->setDefaultEditedState(defSpotState->pastels ? Edited : UnEdited);
|
pastels->setDefaultEditedState(defSpotState->pastels ? Edited : UnEdited);
|
||||||
@ -3374,6 +3383,12 @@ void Locallab::adjusterChanged(Adjuster * a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == blurSHde) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(EvlocallabblurSHde, blurSHde->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3776,6 +3791,7 @@ void Locallab::setBatchMode(bool batchMode)
|
|||||||
sensihs->showEditedCB();
|
sensihs->showEditedCB();
|
||||||
blendmaskSH->showEditedCB();
|
blendmaskSH->showEditedCB();
|
||||||
radmaskSH->showEditedCB();
|
radmaskSH->showEditedCB();
|
||||||
|
blurSHde->showEditedCB();
|
||||||
// Vibrance
|
// Vibrance
|
||||||
saturated->showEditedCB();
|
saturated->showEditedCB();
|
||||||
pastels->showEditedCB();
|
pastels->showEditedCB();
|
||||||
@ -4156,6 +4172,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
HHmaskSHshape->setCurve(pp->locallab.spots.at(index).HHmaskSHcurve);
|
HHmaskSHshape->setCurve(pp->locallab.spots.at(index).HHmaskSHcurve);
|
||||||
blendmaskSH->setValue(pp->locallab.spots.at(index).blendmaskSH);
|
blendmaskSH->setValue(pp->locallab.spots.at(index).blendmaskSH);
|
||||||
radmaskSH->setValue(pp->locallab.spots.at(index).radmaskSH);
|
radmaskSH->setValue(pp->locallab.spots.at(index).radmaskSH);
|
||||||
|
blurSHde->setValue(pp->locallab.spots.at(index).blurSHde);
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance->setEnabled(pp->locallab.spots.at(index).expvibrance);
|
expvibrance->setEnabled(pp->locallab.spots.at(index).expvibrance);
|
||||||
saturated->setValue(pp->locallab.spots.at(index).saturated);
|
saturated->setValue(pp->locallab.spots.at(index).saturated);
|
||||||
@ -4366,6 +4383,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
HHmaskSHshape->setUnChanged(!spotState->HHmaskSHcurve);
|
HHmaskSHshape->setUnChanged(!spotState->HHmaskSHcurve);
|
||||||
blendmaskSH->setEditedState(spotState->blendmaskSH ? Edited : UnEdited);
|
blendmaskSH->setEditedState(spotState->blendmaskSH ? Edited : UnEdited);
|
||||||
radmaskSH->setEditedState(spotState->radmaskSH ? Edited : UnEdited);
|
radmaskSH->setEditedState(spotState->radmaskSH ? Edited : UnEdited);
|
||||||
|
blurSHde->setEditedState(spotState->blurSHde ? Edited : UnEdited);
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance->set_inconsistent(!spotState->expvibrance);
|
expvibrance->set_inconsistent(!spotState->expvibrance);
|
||||||
|
@ -126,6 +126,7 @@ private:
|
|||||||
Adjuster* const sensihs;
|
Adjuster* const sensihs;
|
||||||
Adjuster* const blendmaskSH;
|
Adjuster* const blendmaskSH;
|
||||||
Adjuster* const radmaskSH;
|
Adjuster* const radmaskSH;
|
||||||
|
Adjuster* const blurSHde;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
Adjuster* const saturated;
|
Adjuster* const saturated;
|
||||||
Adjuster* const pastels;
|
Adjuster* const pastels;
|
||||||
|
@ -1003,6 +1003,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).HHmaskSHcurve = locallab.spots.at(j).HHmaskSHcurve && pSpot.HHmaskSHcurve == otherSpot.HHmaskSHcurve;
|
locallab.spots.at(j).HHmaskSHcurve = locallab.spots.at(j).HHmaskSHcurve && pSpot.HHmaskSHcurve == otherSpot.HHmaskSHcurve;
|
||||||
locallab.spots.at(j).blendmaskSH = locallab.spots.at(j).blendmaskSH && pSpot.blendmaskSH == otherSpot.blendmaskSH;
|
locallab.spots.at(j).blendmaskSH = locallab.spots.at(j).blendmaskSH && pSpot.blendmaskSH == otherSpot.blendmaskSH;
|
||||||
locallab.spots.at(j).radmaskSH = locallab.spots.at(j).radmaskSH && pSpot.radmaskSH == otherSpot.radmaskSH;
|
locallab.spots.at(j).radmaskSH = locallab.spots.at(j).radmaskSH && pSpot.radmaskSH == otherSpot.radmaskSH;
|
||||||
|
locallab.spots.at(j).blurSHde = locallab.spots.at(j).blurSHde && pSpot.blurSHde == otherSpot.blurSHde;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
locallab.spots.at(j).expvibrance = locallab.spots.at(j).expvibrance && pSpot.expvibrance == otherSpot.expvibrance;
|
locallab.spots.at(j).expvibrance = locallab.spots.at(j).expvibrance && pSpot.expvibrance == otherSpot.expvibrance;
|
||||||
locallab.spots.at(j).saturated = locallab.spots.at(j).saturated && pSpot.saturated == otherSpot.saturated;
|
locallab.spots.at(j).saturated = locallab.spots.at(j).saturated && pSpot.saturated == otherSpot.saturated;
|
||||||
@ -2817,6 +2818,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).radmaskSH = mods.locallab.spots.at(i).radmaskSH;
|
toEdit.locallab.spots.at(i).radmaskSH = mods.locallab.spots.at(i).radmaskSH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).blurSHde) {
|
||||||
|
toEdit.locallab.spots.at(i).blurSHde = mods.locallab.spots.at(i).blurSHde;
|
||||||
|
}
|
||||||
|
|
||||||
// Vibrance
|
// Vibrance
|
||||||
if (locallab.spots.at(i).expvibrance) {
|
if (locallab.spots.at(i).expvibrance) {
|
||||||
toEdit.locallab.spots.at(i).expvibrance = mods.locallab.spots.at(i).expvibrance;
|
toEdit.locallab.spots.at(i).expvibrance = mods.locallab.spots.at(i).expvibrance;
|
||||||
@ -4118,6 +4123,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
HHmaskSHcurve(v),
|
HHmaskSHcurve(v),
|
||||||
blendmaskSH(v),
|
blendmaskSH(v),
|
||||||
radmaskSH(v),
|
radmaskSH(v),
|
||||||
|
blurSHde(v),
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance(v),
|
expvibrance(v),
|
||||||
saturated(v),
|
saturated(v),
|
||||||
@ -4280,6 +4286,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
HHmaskSHcurve = v;
|
HHmaskSHcurve = v;
|
||||||
blendmaskSH = v;
|
blendmaskSH = v;
|
||||||
radmaskSH = v;
|
radmaskSH = v;
|
||||||
|
blurSHde = v;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
expvibrance = v;
|
expvibrance = v;
|
||||||
saturated = v;
|
saturated = v;
|
||||||
|
@ -542,6 +542,7 @@ public:
|
|||||||
bool HHmaskSHcurve;
|
bool HHmaskSHcurve;
|
||||||
bool blendmaskSH;
|
bool blendmaskSH;
|
||||||
bool radmaskSH;
|
bool radmaskSH;
|
||||||
|
bool blurSHde;
|
||||||
// Vibrance
|
// Vibrance
|
||||||
bool expvibrance;
|
bool expvibrance;
|
||||||
bool saturated;
|
bool saturated;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user