Update background with luma and chroma ref for L C curves Color and Light
This commit is contained in:
parent
af0b83be81
commit
7ce4d0eb52
@ -399,6 +399,25 @@ DiagonalCurveEditor* DiagonalCurveEditorSubGroup::addCurve(Glib::ustring curveLa
|
|||||||
return newCE;
|
return newCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DiagonalCurveEditorSubGroup::updateLocallabBackground(CurveEditor* ce)
|
||||||
|
{
|
||||||
|
if (ce == parent->displayedCurve) {
|
||||||
|
paramCurve->updateLocallabBackground(ce->locallabRef);
|
||||||
|
customCurve->updateLocallabBackground(ce->locallabRef);
|
||||||
|
NURBSCurve->updateLocallabBackground(ce->locallabRef);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DiagonalCurveEditorSubGroup::restoreLocallabBackground()
|
||||||
|
{
|
||||||
|
if (parent->displayedCurve) {
|
||||||
|
paramCurve->updateLocallabBackground(parent->displayedCurve->locallabRef);
|
||||||
|
customCurve->updateLocallabBackground(parent->displayedCurve->locallabRef);
|
||||||
|
NURBSCurve->updateLocallabBackground(parent->displayedCurve->locallabRef);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Switch off the edit button
|
* Switch off the edit button
|
||||||
*/
|
*/
|
||||||
|
@ -95,6 +95,7 @@ public:
|
|||||||
void pipetteDrag(EditDataProvider *provider, int modifierKey) override;
|
void pipetteDrag(EditDataProvider *provider, int modifierKey) override;
|
||||||
void showCoordinateAdjuster(CoordinateProvider *provider) override;
|
void showCoordinateAdjuster(CoordinateProvider *provider) override;
|
||||||
void stopNumericalAdjustment() override;
|
void stopNumericalAdjustment() override;
|
||||||
|
void updateLocallabBackground(CurveEditor* ce) override;
|
||||||
|
|
||||||
bool curveReset (CurveEditor *ce) override;
|
bool curveReset (CurveEditor *ce) override;
|
||||||
|
|
||||||
@ -102,6 +103,7 @@ protected:
|
|||||||
void storeCurveValues (CurveEditor* ce, const std::vector<double>& p) override;
|
void storeCurveValues (CurveEditor* ce, const std::vector<double>& p) override;
|
||||||
void storeDisplayedCurve () override;
|
void storeDisplayedCurve () override;
|
||||||
void restoreDisplayedHistogram () override;
|
void restoreDisplayedHistogram () override;
|
||||||
|
void restoreLocallabBackground() override;
|
||||||
void savePressed ();
|
void savePressed ();
|
||||||
void loadPressed ();
|
void loadPressed ();
|
||||||
void copyPressed ();
|
void copyPressed ();
|
||||||
|
@ -1873,6 +1873,11 @@ void LocallabColor::updateMaskBackground(const double normChromar, const double
|
|||||||
HHshape->updateLocallabBackground(normHuer);
|
HHshape->updateLocallabBackground(normHuer);
|
||||||
CHshape->updateLocallabBackground(normHuer);
|
CHshape->updateLocallabBackground(normHuer);
|
||||||
LHshape->updateLocallabBackground(normHuer);
|
LHshape->updateLocallabBackground(normHuer);
|
||||||
|
llshape->updateLocallabBackground(normLumar);
|
||||||
|
ccshape->updateLocallabBackground(normChromar);
|
||||||
|
clshape->updateLocallabBackground(normLumar);
|
||||||
|
lcshape->updateLocallabBackground(normChromar);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -39,7 +39,9 @@ MyDiagonalCurve::MyDiagonalCurve () :
|
|||||||
ugpX(0.0),
|
ugpX(0.0),
|
||||||
ugpY(0.0),
|
ugpY(0.0),
|
||||||
activeParam(-1),
|
activeParam(-1),
|
||||||
bghistvalid(false)
|
bghistvalid(false),
|
||||||
|
locallabRef(0.0)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
grab_point = -1;
|
grab_point = -1;
|
||||||
@ -129,6 +131,36 @@ std::vector<double> MyDiagonalCurve::get_vector (int veclen)
|
|||||||
return vector;
|
return vector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyDiagonalCurve::updateLocallabBackground(double ref)
|
||||||
|
{
|
||||||
|
locallabRef = ref;
|
||||||
|
|
||||||
|
mcih->pending++;
|
||||||
|
|
||||||
|
idle_register.add(
|
||||||
|
[this]() -> bool
|
||||||
|
{
|
||||||
|
if (mcih->destroyed) {
|
||||||
|
if (mcih->pending == 1) {
|
||||||
|
delete mcih;
|
||||||
|
} else {
|
||||||
|
--mcih->pending;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
mcih->clearPixmap();
|
||||||
|
mcih->myCurve->queue_draw();
|
||||||
|
|
||||||
|
--mcih->pending;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MyDiagonalCurve::get_LUT (LUTf &lut)
|
void MyDiagonalCurve::get_LUT (LUTf &lut)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -260,6 +292,20 @@ void MyDiagonalCurve::draw (int handle)
|
|||||||
|
|
||||||
cr->set_line_width (1.0 * s);
|
cr->set_line_width (1.0 * s);
|
||||||
|
|
||||||
|
// Draw Locallab reference value in the background
|
||||||
|
if (locallabRef > 0.0) {
|
||||||
|
cr->set_line_width(1.0);
|
||||||
|
cr->move_to(double(graphX + 1), double(graphY - 1));
|
||||||
|
c = style->get_color(state);
|
||||||
|
cr->set_source_rgba(c.get_red(), c.get_green(), c.get_blue(), 0.2);
|
||||||
|
cr->line_to(double(graphX + 1), double(graphY - 1) - double(graphH - 2));
|
||||||
|
cr->line_to(double(graphX) + 1.5 + locallabRef*double(graphW -2), double(graphY - 1) - double(graphH - 2));
|
||||||
|
cr->line_to(double(graphX) + 1.5 + locallabRef*double(graphW -2), double(graphY - 1));
|
||||||
|
cr->close_path();
|
||||||
|
cr->fill();
|
||||||
|
cr->stroke();
|
||||||
|
}
|
||||||
|
|
||||||
// draw the left colored bar
|
// draw the left colored bar
|
||||||
if (leftBar) {
|
if (leftBar) {
|
||||||
// first the background
|
// first the background
|
||||||
|
@ -62,6 +62,7 @@ protected:
|
|||||||
int activeParam;
|
int activeParam;
|
||||||
unsigned int* bghist; // histogram values
|
unsigned int* bghist; // histogram values
|
||||||
bool bghistvalid;
|
bool bghistvalid;
|
||||||
|
double locallabRef; // Locallab reference value to display in the background
|
||||||
|
|
||||||
void draw (int handle);
|
void draw (int handle);
|
||||||
void interpolate ();
|
void interpolate ();
|
||||||
@ -91,6 +92,7 @@ public:
|
|||||||
bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) override;
|
bool pipetteButton1Pressed(EditDataProvider *provider, int modifierKey) override;
|
||||||
void pipetteButton1Released(EditDataProvider *provider) override;
|
void pipetteButton1Released(EditDataProvider *provider) override;
|
||||||
void pipetteDrag(EditDataProvider *provider, int modifierKey) override;
|
void pipetteDrag(EditDataProvider *provider, int modifierKey) override;
|
||||||
|
void updateLocallabBackground(double ref);
|
||||||
|
|
||||||
void setPos(double pos, int chanIdx) override;
|
void setPos(double pos, int chanIdx) override;
|
||||||
void stopNumericalAdjustment() override;
|
void stopNumericalAdjustment() override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user