Blur residual luma and chroma
This commit is contained in:
@@ -808,6 +808,8 @@ HISTORY_MSG_WAVOLDSH;Old algorithm
|
||||
HISTORY_MSG_WAVOFFSET;Offset
|
||||
HISTORY_MSG_BLSHAPE;Blur by level
|
||||
HISTORY_MSG_WAVBL;Blur levels
|
||||
HISTORY_MSG_BLURWAV;Blur luminance
|
||||
HISTORY_MSG_BLURCWAV;Blur chroma
|
||||
HISTORY_NEWSNAPSHOT;Add
|
||||
HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
HISTORY_SNAPSHOT;Snapshot
|
||||
@@ -2142,6 +2144,7 @@ TP_WAVELET_BANONE;None
|
||||
TP_WAVELET_BASLI;Slider
|
||||
TP_WAVELET_BATYPE;Contrast balance method
|
||||
TP_WAVELET_BLCURVE;Blur by levels
|
||||
TP_WAVELET_BLURFRAME;Blur
|
||||
TP_WAVELET_CBENAB;Toning and Color Balance
|
||||
TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted
|
||||
TP_WAVELET_CCURVE;Local contrast
|
||||
@@ -2262,6 +2265,8 @@ TP_WAVELET_RADIUS;Radius Shadows - Highlight
|
||||
TP_WAVELET_RE1;Reinforced
|
||||
TP_WAVELET_RE2;Unchanged
|
||||
TP_WAVELET_RE3;Reduced
|
||||
TP_WAVELET_RESBLUR;Blur Luminance
|
||||
TP_WAVELET_RESBLURC;Blur Chroma
|
||||
TP_WAVELET_RESCHRO;Intensity
|
||||
TP_WAVELET_RESCON;Shadows
|
||||
TP_WAVELET_RESCONH;Highlights
|
||||
@@ -2299,6 +2304,7 @@ TP_WAVELET_TMSTRENGTH;Compression strength
|
||||
TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image.
|
||||
TP_WAVELET_TMEDGS;Edge stopping
|
||||
TP_WAVELET_TON;Toning
|
||||
TP_WAVELET_TMTYPE;Compression method
|
||||
TP_WAVELET_USH;None
|
||||
TP_WAVELET_USHARP;Clarity method
|
||||
TP_WAVELET_USHARP_TOOLTIP;Origin : the source file is the file before Wavelet.\nWavelet : the source file is the file including wavelet threatment
|
||||
|
||||
@@ -65,6 +65,8 @@ struct cont_params {
|
||||
float thH;
|
||||
float conres;
|
||||
float conresH;
|
||||
float blurres;
|
||||
float blurcres;
|
||||
float radius;
|
||||
float chrores;
|
||||
bool oldsh;
|
||||
@@ -396,6 +398,8 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const
|
||||
cp.radius = waparams.radius;
|
||||
cp.chrores = waparams.reschro;
|
||||
cp.oldsh = waparams.oldsh;
|
||||
cp.blurres = waparams.resblur;
|
||||
cp.blurcres = waparams.resblurc;
|
||||
//cp.hueres=waparams.reshue;
|
||||
cp.hueres = 2.f;
|
||||
cp.th = float(waparams.thr);
|
||||
@@ -1910,7 +1914,25 @@ void ImProcFunctions::WaveletcontAllL(LabImage * labco, float ** varhue, float *
|
||||
}
|
||||
}
|
||||
|
||||
//Blur luma
|
||||
if(cp.blurres != 0.f && cp.resena) {
|
||||
float rad = cp.blurres / skip;
|
||||
float * bef = new float[W_L * H_L];
|
||||
float * aft = new float[W_L * H_L];
|
||||
|
||||
for (int i = 0; i < H_L * W_L; i++) {
|
||||
bef[i] = WavCoeffs_L0[i];
|
||||
}
|
||||
boxblur(bef, aft, rad, W_L, H_L, false);
|
||||
|
||||
for (int i = 0; i < H_L * W_L; i++) {
|
||||
WavCoeffs_L0[i] = aft[i];
|
||||
}
|
||||
|
||||
delete bef;
|
||||
delete aft;
|
||||
}
|
||||
//
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel num_threads(wavNestedLevels) if(wavNestedLevels>1)
|
||||
#endif
|
||||
@@ -2054,15 +2076,15 @@ void ImProcFunctions::WaveletcontAllL(LabImage * labco, float ** varhue, float *
|
||||
|
||||
// end
|
||||
}
|
||||
bool wavcurvecomp = false;//not enable if 0.75
|
||||
bool wavcurvecomp = false;//not enable if 0.75
|
||||
|
||||
if (wavblcurve) {
|
||||
for (int i = 0; i < 500; i++) {
|
||||
if (wavblcurve[i] != 0.) {
|
||||
wavcurvecomp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (wavblcurve) {
|
||||
for (int i = 0; i < 500; i++) {
|
||||
if (wavblcurve[i] != 0.) {
|
||||
wavcurvecomp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for schedule(dynamic) collapse(2)
|
||||
@@ -2299,15 +2321,35 @@ void ImProcFunctions::WaveletcontAllAB(LabImage * labco, float ** varhue, float
|
||||
}
|
||||
}
|
||||
|
||||
bool wavcurvecomp = false;//not enable if 0.75
|
||||
//Blur chroma
|
||||
if(cp.blurcres != 0.f && cp.resena) {
|
||||
float rad = cp.blurcres / skip;
|
||||
float * bef = new float[W_L * H_L];
|
||||
float * aft = new float[W_L * H_L];
|
||||
|
||||
if (wavblcurve) {
|
||||
for (int i = 0; i < 500; i++) {
|
||||
if (wavblcurve[i] != 0.) {
|
||||
wavcurvecomp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < H_L * W_L; i++) {
|
||||
bef[i] = WavCoeffs_ab0[i];
|
||||
}
|
||||
boxblur(bef, aft, rad, W_L, H_L, false);
|
||||
|
||||
for (int i = 0; i < H_L * W_L; i++) {
|
||||
WavCoeffs_ab0[i] = aft[i];
|
||||
}
|
||||
|
||||
delete bef;
|
||||
delete aft;
|
||||
}
|
||||
|
||||
|
||||
bool wavcurvecomp = false;//not enable if 0.75
|
||||
|
||||
if (wavblcurve) {
|
||||
for (int i = 0; i < 500; i++) {
|
||||
if (wavblcurve[i] != 0.) {
|
||||
wavcurvecomp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef _OPENMP
|
||||
#pragma omp for schedule(dynamic) collapse(2)
|
||||
|
||||
@@ -2291,6 +2291,8 @@ WaveletParams::WaveletParams() :
|
||||
rescon(0),
|
||||
resconH(0),
|
||||
reschro(0),
|
||||
resblur(0),
|
||||
resblurc(0),
|
||||
tmrs(0),
|
||||
edgs(1.4),
|
||||
scale(1.),
|
||||
@@ -2404,6 +2406,8 @@ bool WaveletParams::operator ==(const WaveletParams& other) const
|
||||
&& rescon == other.rescon
|
||||
&& resconH == other.resconH
|
||||
&& reschro == other.reschro
|
||||
&& resblur == other.resblur
|
||||
&& resblurc == other.resblurc
|
||||
&& tmrs == other.tmrs
|
||||
&& edgs == other.edgs
|
||||
&& scale == other.scale
|
||||
@@ -3601,6 +3605,8 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
||||
saveToKeyfile(!pedited || pedited->wavelet.thrH, "Wavelet", "ThresholdResidHighLight", wavelet.thrH, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.radius, "Wavelet", "Residualradius", wavelet.radius, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.reschro, "Wavelet", "Residualchroma", wavelet.reschro, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.resblur, "Wavelet", "Residualblur", wavelet.resblur, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.resblurc, "Wavelet", "Residualblurc", wavelet.resblurc, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.tmrs, "Wavelet", "ResidualTM", wavelet.tmrs, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.edgs, "Wavelet", "ResidualEDGS", wavelet.edgs, keyFile);
|
||||
saveToKeyfile(!pedited || pedited->wavelet.scale, "Wavelet", "ResidualSCALE", wavelet.scale, keyFile);
|
||||
@@ -4719,6 +4725,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
||||
assignFromKeyfile(keyFile, "Wavelet", "ResidualcontShadow", pedited, wavelet.rescon, pedited->wavelet.rescon);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "ResidualcontHighlight", pedited, wavelet.resconH, pedited->wavelet.resconH);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "Residualchroma", pedited, wavelet.reschro, pedited->wavelet.reschro);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "Residualblur", pedited, wavelet.resblur, pedited->wavelet.resblur);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "Residualblurc", pedited, wavelet.resblurc, pedited->wavelet.resblurc);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "ResidualTM", pedited, wavelet.tmrs, pedited->wavelet.tmrs);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "ResidualEDGS", pedited, wavelet.edgs, pedited->wavelet.edgs);
|
||||
assignFromKeyfile(keyFile, "Wavelet", "ResidualSCALE", pedited, wavelet.scale, pedited->wavelet.scale);
|
||||
|
||||
@@ -1250,6 +1250,8 @@ struct WaveletParams {
|
||||
int rescon;
|
||||
int resconH;
|
||||
int reschro;
|
||||
int resblur;
|
||||
int resblurc;
|
||||
double tmrs;
|
||||
double edgs;
|
||||
double scale;
|
||||
|
||||
@@ -514,6 +514,8 @@ void ParamsEdited::set(bool v)
|
||||
wavelet.offset = v;
|
||||
wavelet.resconH = v;
|
||||
wavelet.reschro = v;
|
||||
wavelet.resblur = v;
|
||||
wavelet.resblurc = v;
|
||||
wavelet.tmrs = v;
|
||||
wavelet.edgs = v;
|
||||
wavelet.scale = v;
|
||||
@@ -1116,6 +1118,8 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
||||
wavelet.rescon = wavelet.rescon && p.wavelet.rescon == other.wavelet.rescon;
|
||||
wavelet.resconH = wavelet.resconH && p.wavelet.resconH == other.wavelet.resconH;
|
||||
wavelet.reschro = wavelet.reschro && p.wavelet.reschro == other.wavelet.reschro;
|
||||
wavelet.resblur = wavelet.resblur && p.wavelet.resblur == other.wavelet.resblur;
|
||||
wavelet.resblurc = wavelet.resblurc && p.wavelet.resblurc == other.wavelet.resblurc;
|
||||
wavelet.tmrs = wavelet.tmrs && p.wavelet.tmrs == other.wavelet.tmrs;
|
||||
wavelet.edgs = wavelet.edgs && p.wavelet.edgs == other.wavelet.edgs;
|
||||
wavelet.scale = wavelet.scale && p.wavelet.scale == other.wavelet.scale;
|
||||
@@ -3198,6 +3202,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
||||
toEdit.wavelet.offset = mods.wavelet.offset;
|
||||
}
|
||||
|
||||
if (wavelet.resblur) {
|
||||
toEdit.wavelet.resblur = mods.wavelet.resblur;
|
||||
}
|
||||
|
||||
if (wavelet.resblurc) {
|
||||
toEdit.wavelet.resblurc = mods.wavelet.resblurc;
|
||||
}
|
||||
|
||||
if (wavelet.resconH) {
|
||||
toEdit.wavelet.resconH = dontforceSet && options.baBehav[ADDSET_WA_RESCONH] ? toEdit.wavelet.resconH + mods.wavelet.resconH : mods.wavelet.resconH;
|
||||
}
|
||||
|
||||
@@ -530,6 +530,8 @@ struct WaveletParamsEdited {
|
||||
bool rescon;
|
||||
bool resconH;
|
||||
bool reschro;
|
||||
bool resblur;
|
||||
bool resblurc;
|
||||
bool tmrs;
|
||||
bool edgs;
|
||||
bool scale;
|
||||
|
||||
@@ -87,6 +87,8 @@ Wavelet::Wavelet() :
|
||||
rescon(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCON"), -100, 100, 1, 0))),
|
||||
resconH(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCONH"), -100, 100, 1, 0))),
|
||||
reschro(Gtk::manage(new Adjuster(M("TP_WAVELET_RESCHRO"), -100, 100, 1, 0))),
|
||||
resblur(Gtk::manage(new Adjuster(M("TP_WAVELET_RESBLUR"), 0, 100, 1, 0))),
|
||||
resblurc(Gtk::manage(new Adjuster(M("TP_WAVELET_RESBLURC"), 0, 100, 1, 0))),
|
||||
tmrs(Gtk::manage(new Adjuster(M("TP_WAVELET_TMSTRENGTH"), -1.0, 2.0, 0.01, 0.0))),
|
||||
edgs(Gtk::manage(new Adjuster(M("TP_WAVELET_TMEDGS"), 0.1, 4.0, 0.01, 1.4))),
|
||||
scale(Gtk::manage(new Adjuster(M("TP_WAVELET_TMSCALE"), 0.1, 10.0, 0.01, 1.0))),
|
||||
@@ -149,6 +151,7 @@ Wavelet::Wavelet() :
|
||||
chanMixerHLFrame(Gtk::manage(new Gtk::Frame(M("TP_COLORTONING_HIGHLIGHT")))),
|
||||
chanMixerMidFrame(Gtk::manage(new Gtk::Frame(M("TP_COLORTONING_MIDTONES")))),
|
||||
chanMixerShadowsFrame(Gtk::manage(new Gtk::Frame(M("TP_COLORTONING_SHADOWS")))),
|
||||
blurFrame(Gtk::manage(new Gtk::Frame(M("TP_WAVELET_BLURFRAME")))),
|
||||
chromaFrame(Gtk::manage(new Gtk::Frame(M("TP_WAVELET_CHROMAFRAME")))),
|
||||
wavLabels(Gtk::manage(new Gtk::Label("---", Gtk::ALIGN_CENTER))),
|
||||
labmC(Gtk::manage(new Gtk::Label(M("TP_WAVELET_CTYPE") + ":"))),
|
||||
@@ -187,6 +190,8 @@ Wavelet::Wavelet() :
|
||||
EvWavoffset = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVOFFSET");
|
||||
EvWavsoftwav = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_SOFTWAV");
|
||||
EvWavblshape = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_BLSHAPE");
|
||||
EvWavresblur = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_BLURWAV");
|
||||
EvWavresblurc = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_BLURCWAV");
|
||||
|
||||
expsettings->signal_button_release_event().connect_notify(sigc::bind(sigc::mem_fun(this, &Wavelet::foldAllButMe), expsettings));
|
||||
|
||||
@@ -662,7 +667,7 @@ Wavelet::Wavelet() :
|
||||
|
||||
softwav->setLogScale(10, -10);
|
||||
softwav->setAdjusterListener(this);
|
||||
blBox->pack_start(*softwav);
|
||||
// blBox->pack_start(*softwav);
|
||||
|
||||
|
||||
// Gamut
|
||||
@@ -741,6 +746,14 @@ Wavelet::Wavelet() :
|
||||
resBox->pack_start(*contrast); //keep the possibility to reinstall
|
||||
|
||||
reschro->setAdjusterListener(this);
|
||||
resblur->setAdjusterListener(this);
|
||||
resblurc->setAdjusterListener(this);
|
||||
|
||||
blurFrame->set_label_align(0.025, 0.5);
|
||||
ToolParamBlock* const blurBox = Gtk::manage(new ToolParamBlock());
|
||||
blurBox->pack_start(*resblur);
|
||||
blurBox->pack_start(*resblurc);
|
||||
blurFrame->add(*blurBox);
|
||||
|
||||
chromaFrame->set_label_align(0.025, 0.5);
|
||||
ToolParamBlock* const chromaBox = Gtk::manage(new ToolParamBlock());
|
||||
@@ -796,6 +809,7 @@ Wavelet::Wavelet() :
|
||||
const std::vector<GradientMilestone> milestones3 = makeWholeHueRange();
|
||||
|
||||
curveEditorRES->setCurveListener(this);
|
||||
resBox->pack_start(*blurFrame);
|
||||
resBox->pack_start(*chromaFrame);
|
||||
|
||||
hhshape = static_cast<FlatCurveEditor*>(curveEditorRES->addCurve(CT_Flat, M("TP_WAVELET_CURVEEDITOR_HH")));
|
||||
@@ -1292,6 +1306,8 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited)
|
||||
rescon->setValue(pp->wavelet.rescon);
|
||||
resconH->setValue(pp->wavelet.resconH);
|
||||
reschro->setValue(pp->wavelet.reschro);
|
||||
resblur->setValue(pp->wavelet.resblur);
|
||||
resblurc->setValue(pp->wavelet.resblurc);
|
||||
tmrs->setValue(pp->wavelet.tmrs);
|
||||
edgs->setValue(pp->wavelet.edgs);
|
||||
scale->setValue(pp->wavelet.scale);
|
||||
@@ -1449,6 +1465,8 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited)
|
||||
offset->setEditedState(pedited->wavelet.offset ? Edited : UnEdited);
|
||||
resconH->setEditedState(pedited->wavelet.resconH ? Edited : UnEdited);
|
||||
reschro->setEditedState(pedited->wavelet.reschro ? Edited : UnEdited);
|
||||
resblur->setEditedState(pedited->wavelet.resblur ? Edited : UnEdited);
|
||||
resblurc->setEditedState(pedited->wavelet.resblurc ? Edited : UnEdited);
|
||||
tmrs->setEditedState(pedited->wavelet.tmrs ? Edited : UnEdited);
|
||||
edgs->setEditedState(pedited->wavelet.edgs ? Edited : UnEdited);
|
||||
scale->setEditedState(pedited->wavelet.scale ? Edited : UnEdited);
|
||||
@@ -1638,6 +1656,8 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pp->wavelet.rescon = rescon->getValue();
|
||||
pp->wavelet.resconH = resconH->getValue();
|
||||
pp->wavelet.reschro = reschro->getValue();
|
||||
pp->wavelet.resblur = resblur->getValue();
|
||||
pp->wavelet.resblurc = resblurc->getValue();
|
||||
pp->wavelet.tmrs = tmrs->getValue();
|
||||
pp->wavelet.edgs = edgs->getValue();
|
||||
pp->wavelet.scale = scale->getValue();
|
||||
@@ -1755,6 +1775,8 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited)
|
||||
pedited->wavelet.rescon = rescon->getEditedState();
|
||||
pedited->wavelet.resconH = resconH->getEditedState();
|
||||
pedited->wavelet.reschro = reschro->getEditedState();
|
||||
pedited->wavelet.resblur = resblur->getEditedState();
|
||||
pedited->wavelet.resblurc = resblurc->getEditedState();
|
||||
pedited->wavelet.tmrs = tmrs->getEditedState();
|
||||
pedited->wavelet.edgs = edgs->getEditedState();
|
||||
pedited->wavelet.scale = scale->getEditedState();
|
||||
@@ -1997,6 +2019,8 @@ void Wavelet::setDefaults(const ProcParams* defParams, const ParamsEdited* pedit
|
||||
rescon->setDefault(defParams->wavelet.rescon);
|
||||
resconH->setDefault(defParams->wavelet.resconH);
|
||||
reschro->setDefault(defParams->wavelet.reschro);
|
||||
resblur->setDefault(defParams->wavelet.resblur);
|
||||
resblurc->setDefault(defParams->wavelet.resblurc);
|
||||
tmrs->setDefault(defParams->wavelet.tmrs);
|
||||
edgs->setDefault(defParams->wavelet.edgs);
|
||||
scale->setDefault(defParams->wavelet.scale);
|
||||
@@ -2062,6 +2086,8 @@ void Wavelet::setDefaults(const ProcParams* defParams, const ParamsEdited* pedit
|
||||
rescon->setDefault(defParams->wavelet.rescon);
|
||||
resconH->setDefault(defParams->wavelet.resconH);
|
||||
reschro->setDefault(defParams->wavelet.reschro);
|
||||
resblur->setDefault(defParams->wavelet.resblur);
|
||||
resblurc->setDefault(defParams->wavelet.resblurc);
|
||||
tmrs->setDefault(defParams->wavelet.tmrs);
|
||||
edgs->setDefault(defParams->wavelet.edgs);
|
||||
scale->setDefault(defParams->wavelet.scale);
|
||||
@@ -2116,6 +2142,8 @@ void Wavelet::setDefaults(const ProcParams* defParams, const ParamsEdited* pedit
|
||||
rescon->setDefaultEditedState(Irrelevant);
|
||||
resconH->setDefaultEditedState(Irrelevant);
|
||||
reschro->setDefaultEditedState(Irrelevant);
|
||||
resblur->setDefaultEditedState(Irrelevant);
|
||||
resblurc->setDefaultEditedState(Irrelevant);
|
||||
tmrs->setDefaultEditedState(Irrelevant);
|
||||
edgs->setDefaultEditedState(Irrelevant);
|
||||
scale->setDefaultEditedState(Irrelevant);
|
||||
@@ -2648,6 +2676,8 @@ void Wavelet::setBatchMode(bool batchMode)
|
||||
rescon->showEditedCB();
|
||||
resconH->showEditedCB();
|
||||
reschro->showEditedCB();
|
||||
resblur->showEditedCB();
|
||||
resblurc->showEditedCB();
|
||||
tmrs->showEditedCB();
|
||||
edgs->showEditedCB();
|
||||
scale->showEditedCB();
|
||||
@@ -2736,6 +2766,10 @@ void Wavelet::adjusterChanged(Adjuster* a, double newval)
|
||||
listener->panelChanged(EvWavresconH, resconH->getTextValue());
|
||||
} else if (a == reschro) {
|
||||
listener->panelChanged(EvWavreschro, reschro->getTextValue());
|
||||
} else if (a == resblur) {
|
||||
listener->panelChanged(EvWavresblur, resblur->getTextValue());
|
||||
} else if (a == resblurc) {
|
||||
listener->panelChanged(EvWavresblurc, resblurc->getTextValue());
|
||||
} else if (a == tmrs) {
|
||||
adjusterUpdateUI(a);
|
||||
listener->panelChanged(EvWavtmrs, tmrs->getTextValue());
|
||||
|
||||
@@ -85,6 +85,8 @@ private:
|
||||
rtengine::ProcEvent EvWavoffset;
|
||||
rtengine::ProcEvent EvWavsoftwav;
|
||||
rtengine::ProcEvent EvWavblshape;
|
||||
rtengine::ProcEvent EvWavresblur;
|
||||
rtengine::ProcEvent EvWavresblurc;
|
||||
|
||||
void foldAllButMe(GdkEventButton* event, MyExpander *expander);
|
||||
|
||||
@@ -185,6 +187,8 @@ private:
|
||||
Adjuster* const rescon;
|
||||
Adjuster* const resconH;
|
||||
Adjuster* const reschro;
|
||||
Adjuster* const resblur;
|
||||
Adjuster* const resblurc;
|
||||
Adjuster* const tmrs;
|
||||
Adjuster* const edgs;
|
||||
Adjuster* const scale;
|
||||
@@ -273,6 +277,7 @@ private:
|
||||
Gtk::Frame* const chanMixerHLFrame;
|
||||
Gtk::Frame* const chanMixerMidFrame;
|
||||
Gtk::Frame* const chanMixerShadowsFrame;
|
||||
Gtk::Frame* const blurFrame;
|
||||
Gtk::Frame* const chromaFrame;
|
||||
|
||||
Gtk::Label* const wavLabels;
|
||||
|
||||
Reference in New Issue
Block a user