add Exposure contrast curve

This commit is contained in:
Desmis
2017-07-24 10:57:15 +02:00
parent a1069920d5
commit 7e40527926
11 changed files with 387 additions and 64 deletions

View File

@@ -1361,6 +1361,22 @@ bool Locallab::localretComputed_ ()
ImProcFunctions::strcurv_data (nextps_str2, s_datcps, sizps);
psThreshold->setValue (s_datcps[0], s_datcps[1]);
//exCurve
int *s_datcex;
s_datcex = new int[70];
int sizex;
ImProcFunctions::strcurv_data (nextex_str2, s_datcex, sizex);
std::vector<double> cex;
for (int j = 0; j < sizex; j++) {
cex.push_back ((double) (s_datcex[j]) / 1000.);
}
delete [] s_datcex;
shape->setCurve (cex);
enableListener ();
//update all sliders by this strange process!
@@ -1443,6 +1459,10 @@ bool Locallab::localretComputed_ ()
listener->panelChanged (EvlocallabPastSatThreshold, M (""));
}
if (listener) {//for PSthreshold
listener->panelChanged (Evlocallabshape, M (""));
}
return false;
@@ -1633,8 +1653,8 @@ bool Locallab::localComputed_ ()
hlcomprthresh->setValue (nextdatasp[67]);
shcompr->setValue (nextdatasp[68]);
sensiex->setValue (nextdatasp[69]);
double intermed = 0.01 * (double) nextdatasp[64];
hueref->setValue (intermed);
chromaref->setValue (nextdatasp[65]);
@@ -1743,6 +1763,21 @@ bool Locallab::localComputed_ ()
psThreshold->setValue (s_datcps[0], s_datcps[1]);
//exCurve
int *s_datcex;
s_datcex = new int[70];
int sizex;
ImProcFunctions::strcurv_data (nextex_str, s_datcex, sizex);
std::vector<double> cex;
for (int j = 0; j < sizex; j++) {
cex.push_back ((double) (s_datcex[j]) / 1000.);
}
delete [] s_datcex;
shape->setCurve (cex);
enableListener ();
//update all sliders by this strange process!
@@ -1866,22 +1901,26 @@ bool Locallab::localComputed_ ()
}
//for checkbox
if (listener) {//for PSthreshold
if (listener) {//f
listener->panelChanged (EvlocallabProtectSkins, M (""));
}
if (listener) {//for PSthreshold
if (listener) {//fo
listener->panelChanged (EvlocallabAvoidColorShift, M (""));
}
if (listener) {//for PSthreshold
if (listener) {//for
listener->panelChanged (EvlocallabPastSatTog, M (""));
}
if (listener) {//for
listener->panelChanged (Evlocallabshape, M (""));
}
return false;
}
void Locallab::localChanged (int **datasp, std::string datastr, std::string ll_str, std::string lh_str, std::string cc_str, std::string hh_str, std::string sk_str, std::string ps_str, int sp, int maxdat)
void Locallab::localChanged (int **datasp, std::string datastr, std::string ll_str, std::string lh_str, std::string cc_str, std::string hh_str, std::string sk_str, std::string ps_str, std::string ex_str, int sp, int maxdat)
{
for (int i = 2; i < 73; i++) {
nextdatasp[i] = datasp[i][sp];
@@ -1894,12 +1933,13 @@ void Locallab::localChanged (int **datasp, std::string datastr, std::string ll_
nexthh_str = hh_str;
nextsk_str = sk_str;
nextps_str = ps_str;
nextex_str = ex_str;
nextlength = maxdat;
g_idle_add (localChangedUI, this);
}
void Locallab::localretChanged (int **datasp, std::string datastr, std::string ll_str, std::string lh_str, std::string cc_str, std::string hh_str, std::string sk_str, std::string ps_str, int sp, int maxdat)
void Locallab::localretChanged (int **datasp, std::string datastr, std::string ll_str, std::string lh_str, std::string cc_str, std::string hh_str, std::string sk_str, std::string ps_str, std::string ex_str, int sp, int maxdat)
{
nextlength = maxdat;
nextstr2 = datastr;
@@ -1909,6 +1949,7 @@ void Locallab::localretChanged (int **datasp, std::string datastr, std::string
nexthh_str2 = hh_str;
nextsk_str2 = sk_str;
nextps_str2 = ps_str;
nextex_str2 = ex_str;
g_idle_add (localretChangedUI, this);
}