Ciecam02 fixed bad temp and tint cat02preset

This commit is contained in:
Desmis 2020-02-29 12:51:17 +01:00
parent c79997bc48
commit aa389dbcae
4 changed files with 24 additions and 0 deletions

View File

@ -1159,6 +1159,11 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange)
if (params->colorappearance.autoybscen && acListener && params->colorappearance.enabled && !params->colorappearance.presetcat02) {
acListener->ybCamChanged((int) yb); //real value Yb scene
}
if (params->colorappearance.enabled && params->colorappearance.presetcat02) {
acListener->wbCamChanged(params->wb.temperature, params->wb.green); //real temp and tint
}
} else {
// CIECAM is disabled, we free up its image buffer to save some space
if (ncie) {

View File

@ -355,6 +355,8 @@ public :
virtual void autoCamChanged(double ccam, double ccamout) = 0;
virtual void adapCamChanged(double cadap) = 0;
virtual void ybCamChanged(int yb) = 0;
virtual void wbCamChanged(double tem, double tin) = 0;
};
class AutoChromaListener

View File

@ -1631,6 +1631,22 @@ void ColorAppearance::adapCamChanged (double cadap)
);
}
void ColorAppearance::wbCamChanged (double temp, double tin)
{
idle_register.add(
[this, temp, tin]() -> bool
{
disableListener();
tempout->setValue(temp);
greenout->setValue(tin);
enableListener();
return false;
}
);
}
void ColorAppearance::ybCamChanged (int ybsc)
{
if(presetcat02->get_active()){

View File

@ -63,6 +63,7 @@ public:
void autoCamChanged (double ccam, double ccamout) override;
bool autoCamComputed_ ();
void adapCamChanged (double cadap) override;
void wbCamChanged(double tem, double tin) override;
bool adapCamComputed_ ();
void ybCamChanged (int yb) override;
bool ybCamComputed_ ();