Merge branch 'dev' into metadata-exiv2

This commit is contained in:
Thanatomanic
2021-04-27 09:59:52 +02:00
249 changed files with 22554 additions and 8710 deletions

View File

@@ -41,6 +41,9 @@
*
*/
template<typename T>
class array2D;
template<typename T>
class LUT;
@@ -275,6 +278,8 @@ public:
virtual void sizeChanged(int w, int h, int ow, int oh) = 0;
};
class HistogramObservable;
/** This listener is used when the histogram of the final image has changed. */
class HistogramListener
{
@@ -300,8 +305,43 @@ public:
const LUTu& histGreenRaw,
const LUTu& histBlueRaw,
const LUTu& histChroma,
const LUTu& histLRETI
const LUTu& histLRETI,
int vectorscopeScale,
const array2D<int>& vectorscopeHC,
const array2D<int>& vectorscopeHS,
int waveformScale,
const array2D<int>& waveformRed,
const array2D<int>& waveformGreen,
const array2D<int>& waveformBlue,
const array2D<int>& waveformLuma
) = 0;
/** Tells which observable is notifying the listener. */
virtual void setObservable(HistogramObservable* observable) = 0;
/** Returns if the listener wants the histogram to be updated. */
virtual bool updateHistogram(void) const = 0;
/** Returns if the listener wants the raw histogram to be updated. */
virtual bool updateHistogramRaw(void) const = 0;
/** Returns if the listener wants the H-C vectorscope to be updated. */
virtual bool updateVectorscopeHC(void) const = 0;
/** Returns if the listener wants the H-S vectorscope to be updated. */
virtual bool updateVectorscopeHS(void) const = 0;
/** Returns if the listener wants the waveform to be updated. */
virtual bool updateWaveform(void) const = 0;
};
class HistogramObservable
{
public:
/** Tells the observable to update the histogram data. */
virtual void requestUpdateHistogram() = 0;
/** Tells the observable to update the raw histogram data. */
virtual void requestUpdateHistogramRaw() = 0;
/** Tells the observable to update the H-C vectorscope data. */
virtual void requestUpdateVectorscopeHC() = 0;
/** Tells the observable to update the H-S vectorscope data. */
virtual void requestUpdateVectorscopeHS() = 0;
/** Tells the observable to update the waveform data. */
virtual void requestUpdateWaveform() = 0;
};
/** This listener is used when the auto exposure has been recomputed (e.g. when the clipping ratio changed). */
@@ -372,7 +412,7 @@ public:
virtual ~LocallabListener() = default;
virtual void refChanged(const std::vector<locallabRef> &ref, int selspot) = 0;
virtual void minmaxChanged(const std::vector<locallabRetiMinMax> &minmax, int selspot) = 0;
virtual void logencodChanged(const float blackev, const float whiteev, const float sourceg, const float targetg) = 0;
virtual void logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg) = 0;
};
class AutoColorTonListener
@@ -443,7 +483,7 @@ class FilmNegListener
{
public:
virtual ~FilmNegListener() = default;
virtual void filmBaseValuesChanged(std::array<float, 3> rgb) = 0;
virtual void filmRefValuesChanged(const procparams::FilmNegativeParams::RGB &refInput, const procparams::FilmNegativeParams::RGB &refOutput) = 0;
};
/** This class represents a detailed part of the image (looking through a kind of window).
@@ -522,7 +562,7 @@ public:
virtual void updateUnLock() = 0;
virtual void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask, int locall_Mask) = 0;
virtual void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask, int localllogMask, int locall_Mask) = 0;
/** Creates and returns a Crop instance that acts as a window on the image
* @param editDataProvider pointer to the EditDataProvider that communicates with the EditSubscriber
@@ -532,9 +572,8 @@ public:
virtual bool getAutoWB (double& temp, double& green, double equal, double tempBias) = 0;
virtual void getCamWB (double& temp, double& green) = 0;
virtual void getSpotWB (int x, int y, int rectSize, double& temp, double& green) = 0;
virtual bool getFilmNegativeExponents(int xA, int yA, int xB, int yB, std::array<float, 3>& newExps) = 0;
virtual bool getRawSpotValues (int x, int y, int spotSize, std::array<float, 3>& rawValues) = 0;
virtual bool getFilmNegativeSpot(int x, int y, int spotSize, procparams::FilmNegativeParams::RGB &refInput, procparams::FilmNegativeParams::RGB &refOutput) = 0;
virtual void getAutoCrop (double ratio, int &x, int &y, int &w, int &h) = 0;
virtual void saveInputICCReference (const Glib::ustring& fname, bool apply_wb) = 0;