Add inverse to Shadows Highlight

This commit is contained in:
Desmis
2019-03-12 08:56:40 +01:00
parent 5f95aae42f
commit 4756e5184c
12 changed files with 376 additions and 372 deletions

View File

@@ -16,27 +16,19 @@
* You should have received a copy of the GNU General Public License
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _PARAMEDITED_H_
#define _PARAMEDITED_H_
#pragma once
#include <glibmm.h>
#include <vector>
#include "../rtengine/procparams.h"
#include "../rtengine/rtengine.h"
class GeneralParamsEdited
{
public:
struct GeneralParamsEdited {
bool rank;
bool colorlabel;
bool intrash;
};
class ToneCurveParamsEdited
{
public:
struct ToneCurveParamsEdited {
bool curve;
bool curve2;
bool curveMode;
@@ -58,9 +50,7 @@ public:
bool clampOOG;
};
class RetinexParamsEdited
{
public:
struct RetinexParamsEdited {
bool enabled;
bool str;
bool scal;
@@ -90,19 +80,17 @@ public:
bool lhcurve;
bool retinex;
bool medianmap;
bool isUnchanged() const;
bool highlights;
bool htonalwidth;
bool shadows;
bool stonalwidth;
bool radius;
bool isUnchanged() const;
};
class LCurveParamsEdited
{
public:
struct LCurveParamsEdited {
bool enabled;
bool brightness;
bool contrast;
@@ -122,9 +110,7 @@ public:
};
class LocalContrastParamsEdited
{
public:
struct LocalContrastParamsEdited {
bool enabled;
bool radius;
bool amount;
@@ -132,11 +118,7 @@ public:
bool lightness;
};
class RGBCurvesParamsEdited
{
public:
struct RGBCurvesParamsEdited {
bool enabled;
bool lumamode;
bool rcurve;
@@ -144,10 +126,7 @@ public:
bool bcurve;
};
class ColorToningEdited
{
public:
struct ColorToningEdited {
bool enabled;
bool opacityCurve;
bool colorCurve;
@@ -182,31 +161,22 @@ public:
bool labregionsShowMask;
};
class SharpenEdgeParamsEdited
{
public :
struct SharpenEdgeParamsEdited {
bool enabled;
bool passes;
bool amount;
bool threechannels;
};
class SharpenMicroParamsEdited
{
public :
struct SharpenMicroParamsEdited {
bool enabled;
bool matrix;
bool amount;
bool contrast;
bool uniformity;
};
class SharpeningParamsEdited
{
public:
struct SharpeningParamsEdited {
bool enabled;
bool contrast;
bool blurradius;
@@ -226,10 +196,7 @@ public:
bool deconvdamping;
};
class VibranceParamsEdited
{
public:
struct VibranceParamsEdited {
bool enabled;
bool pastels;
bool saturated;
@@ -240,19 +207,7 @@ public:
bool skintonescurve;
};
/*class ColorBoostParamsEdited {
public:
bool amount;
bool avoidclip;
bool enable_saturationlimiter;
bool rstprotection;
};*/
class WBParamsEdited
{
public:
struct WBParamsEdited {
bool enabled;
bool method;
bool temperature;
@@ -261,50 +216,19 @@ public:
bool tempBias;
};
/*class ColorShiftParamsEdited {
public:
bool a;
bool b;
};*/
/*class LumaDenoiseParamsEdited {
public:
bool enabled;
bool radius;
bool edgetolerance;
};*/
/*class ColorDenoiseParamsEdited {
public:
bool enabled;
bool amount;
};*/
class DefringeParamsEdited
{
public:
struct DefringeParamsEdited {
bool enabled;
bool radius;
bool threshold;
bool huecurve;
};
class ImpulseDenoiseParamsEdited
{
public:
struct ImpulseDenoiseParamsEdited {
bool enabled;
bool thresh;
};
class ColorAppearanceParamsEdited
{
public:
struct ColorAppearanceParamsEdited {
bool curve;
bool curve2;
bool curve3;
@@ -337,22 +261,16 @@ public:
bool rstprotection;
bool surrsource;
bool gamut;
// bool badpix;
bool datacie;
bool tonecie;
// bool sharpcie;
bool tempout;
bool greenout;
bool ybout;
bool tempsc;
bool greensc;
};
class DirPyrDenoiseParamsEdited
{
public:
struct DirPyrDenoiseParamsEdited {
bool enabled;
bool enhance;
bool median;
@@ -365,7 +283,6 @@ public:
bool lcurve;
bool cccurve;
// bool perform;
bool dmethod;
bool Lmethod;
bool Cmethod;
@@ -375,12 +292,9 @@ public:
bool methodmed;
bool rgbmethod;
bool passes;
};
class EPDParamsEdited
{
public:
struct EPDParamsEdited {
bool enabled;
bool strength;
bool gamma;
@@ -389,21 +303,14 @@ public:
bool reweightingIterates;
};
class FattalToneMappingParamsEdited
{
public:
struct FattalToneMappingParamsEdited {
bool enabled;
bool threshold;
bool amount;
bool anchor;
};
class SHParamsEdited
{
public:
struct SHParamsEdited {
bool enabled;
bool highlights;
bool htonalwidth;
@@ -413,10 +320,7 @@ public:
bool lab;
};
class CropParamsEdited
{
public:
struct CropParamsEdited {
bool enabled;
bool x;
bool y;
@@ -428,33 +332,21 @@ public:
bool guide;
};
class CoarseTransformParamsEdited
{
public:
struct CoarseTransformParamsEdited {
bool rotate;
bool hflip;
bool vflip;
};
class CommonTransformParamsEdited
{
public:
struct CommonTransformParamsEdited {
bool autofill;
};
class RotateParamsEdited
{
public:
struct RotateParamsEdited {
bool degree;
};
class DistortionParamsEdited
{
public:
struct DistortionParamsEdited {
bool amount;
};
class LocallabParamsEdited
@@ -543,6 +435,7 @@ public:
bool blendmaskSH;
bool radmaskSH;
bool blurSHde;
bool inverssh;
// Vibrance
bool expvibrance;
bool saturated;
@@ -633,28 +526,29 @@ public:
std::vector<LocallabSpotEdited> spots;
};
class LensProfParamsEdited
{
public:
bool lcpFile, useDist, useVign, useCA;
bool useLensfun, lfAutoMatch, lfCameraMake, lfCameraModel, lfLens;
struct LensProfParamsEdited {
bool lcpFile;
bool useDist;
bool useVign;
bool useCA;
bool useLensfun;
bool lfAutoMatch;
bool lfCameraMake;
bool lfCameraModel;
bool lfLens;
bool lcMode;
bool isUnchanged() const;
};
class PerspectiveParamsEdited
{
public:
struct PerspectiveParamsEdited {
bool horizontal;
bool vertical;
};
class GradientParamsEdited
{
public:
struct GradientParamsEdited {
bool enabled;
bool degree;
bool feather;
@@ -663,20 +557,14 @@ public:
bool centerY;
};
class PCVignetteParamsEdited
{
public:
struct PCVignetteParamsEdited {
bool enabled;
bool strength;
bool feather;
bool roundness;
};
class VignettingParamsEdited
{
public:
struct VignettingParamsEdited {
bool amount;
bool radius;
bool strength;
@@ -684,20 +572,15 @@ public:
bool centerY;
};
class ChannelMixerParamsEdited
{
public:
struct ChannelMixerParamsEdited {
bool enabled;
bool red[3];
bool green[3];
bool blue[3];
};
class BlackWhiteParamsEdited
{
public:
struct BlackWhiteParamsEdited {
bool enabledcc;
bool enabled;
bool method;
@@ -721,28 +604,14 @@ public:
bool afterCurveMode;
bool autoc;
bool algo;
};
class CACorrParamsEdited
{
public:
struct CACorrParamsEdited {
bool red;
bool blue;
};
/*
class HRecParamsEdited {
public:
bool enabled;
bool method;
};
*/
class ResizeParamsEdited
{
public:
struct ResizeParamsEdited {
bool scale;
bool appliesTo;
bool method;
@@ -753,10 +622,7 @@ public:
bool allowUpscaling;
};
class ColorManagementParamsEdited
{
public:
struct ColorManagementParamsEdited {
bool inputProfile;
bool toneCurve;
bool applyLookTable;
@@ -773,10 +639,8 @@ public:
bool outputIntent;
bool outputBPC;
};
class WaveletParamsEdited
{
public:
struct WaveletParamsEdited {
bool enabled;
bool strength;
bool balance;
@@ -860,13 +724,9 @@ public:
bool expfinal;
bool exptoning;
bool expnoise;
};
class DirPyrEqualizerParamsEdited
{
public:
struct DirPyrEqualizerParamsEdited {
bool enabled;
bool gamutlab;
bool mult[6];
@@ -874,52 +734,35 @@ public:
bool threshold;
bool skinprotect;
bool hueskin;
// bool algo;
};
class HSVEqualizerParamsEdited
{
public:
struct HSVEqualizerParamsEdited {
bool enabled;
bool hcurve;
bool scurve;
bool vcurve;
};
class FilmSimulationParamsEdited
{
public:
struct FilmSimulationParamsEdited {
bool enabled;
bool clutFilename;
bool strength;
};
class SoftLightParamsEdited
{
public:
struct SoftLightParamsEdited {
bool enabled;
bool strength;
};
class DehazeParamsEdited
{
public:
struct DehazeParamsEdited {
bool enabled;
bool strength;
bool showDepthMap;
bool depth;
};
class RAWParamsEdited
{
public:
class BayerSensor
{
public:
struct RAWParamsEdited {
struct BayerSensor {
bool method;
bool border;
bool imageNum;
@@ -949,7 +792,6 @@ public:
bool pixelShiftNonGreenCross;
bool pixelShiftDemosaicMethod;
//bool allEnhance;
bool greenEq;
bool linenoise;
bool linenoiseDirection;
@@ -958,10 +800,7 @@ public:
bool isUnchanged() const;
};
class XTransSensor
{
public:
struct XTransSensor {
bool method;
bool dualDemosaicAutoContrast;
bool dualDemosaicContrast;
@@ -999,67 +838,57 @@ public:
};
class MetaDataParamsEdited
{
public:
struct MetaDataParamsEdited {
bool mode;
};
class ParamsEdited
{
public:
GeneralParamsEdited general;
ToneCurveParamsEdited toneCurve;
LCurveParamsEdited labCurve;
LocalContrastParamsEdited localContrast;
RGBCurvesParamsEdited rgbCurves;
ColorToningEdited colorToning;
RetinexParamsEdited retinex;
SharpeningParamsEdited sharpening;
SharpeningParamsEdited prsharpening;
SharpenEdgeParamsEdited sharpenEdge;
SharpenMicroParamsEdited sharpenMicro;
VibranceParamsEdited vibrance;
ColorAppearanceParamsEdited colorappearance;
//ColorBoostParamsEdited colorBoost;
WBParamsEdited wb;
//ColorShiftParamsEdited colorShift;
//LumaDenoiseParamsEdited lumaDenoise;
//ColorDenoiseParamsEdited colorDenoise;
DefringeParamsEdited defringe;
DirPyrDenoiseParamsEdited dirpyrDenoise;
EPDParamsEdited epd;
struct ParamsEdited {
GeneralParamsEdited general;
ToneCurveParamsEdited toneCurve;
LCurveParamsEdited labCurve;
LocalContrastParamsEdited localContrast;
RGBCurvesParamsEdited rgbCurves;
ColorToningEdited colorToning;
RetinexParamsEdited retinex;
SharpeningParamsEdited sharpening;
SharpeningParamsEdited prsharpening;
SharpenEdgeParamsEdited sharpenEdge;
SharpenMicroParamsEdited sharpenMicro;
VibranceParamsEdited vibrance;
ColorAppearanceParamsEdited colorappearance;
WBParamsEdited wb;
DefringeParamsEdited defringe;
DirPyrDenoiseParamsEdited dirpyrDenoise;
EPDParamsEdited epd;
FattalToneMappingParamsEdited fattal;
ImpulseDenoiseParamsEdited impulseDenoise;
SHParamsEdited sh;
CropParamsEdited crop;
CoarseTransformParamsEdited coarse;
CommonTransformParamsEdited commonTrans;
RotateParamsEdited rotate;
DistortionParamsEdited distortion;
LensProfParamsEdited lensProf;
PerspectiveParamsEdited perspective;
GradientParamsEdited gradient;
ImpulseDenoiseParamsEdited impulseDenoise;
SHParamsEdited sh;
CropParamsEdited crop;
CoarseTransformParamsEdited coarse;
CommonTransformParamsEdited commonTrans;
RotateParamsEdited rotate;
DistortionParamsEdited distortion;
LensProfParamsEdited lensProf;
PerspectiveParamsEdited perspective;
GradientParamsEdited gradient;
LocallabParamsEdited locallab;
PCVignetteParamsEdited pcvignette;
CACorrParamsEdited cacorrection;
VignettingParamsEdited vignetting;
ChannelMixerParamsEdited chmixer;
BlackWhiteParamsEdited blackwhite;
ResizeParamsEdited resize;
ColorManagementParamsEdited icm;
RAWParamsEdited raw;
DirPyrEqualizerParamsEdited dirpyrequalizer;
WaveletParamsEdited wavelet;
HSVEqualizerParamsEdited hsvequalizer;
FilmSimulationParamsEdited filmSimulation;
SoftLightParamsEdited softlight;
DehazeParamsEdited dehaze;
MetaDataParamsEdited metadata;
bool exif;
bool iptc;
PCVignetteParamsEdited pcvignette;
CACorrParamsEdited cacorrection;
VignettingParamsEdited vignetting;
ChannelMixerParamsEdited chmixer;
BlackWhiteParamsEdited blackwhite;
ResizeParamsEdited resize;
ColorManagementParamsEdited icm;
RAWParamsEdited raw;
DirPyrEqualizerParamsEdited dirpyrequalizer;
WaveletParamsEdited wavelet;
HSVEqualizerParamsEdited hsvequalizer;
FilmSimulationParamsEdited filmSimulation;
SoftLightParamsEdited softlight;
DehazeParamsEdited dehaze;
MetaDataParamsEdited metadata;
bool exif;
bool iptc;
explicit ParamsEdited(bool value = false);
@@ -1067,4 +896,3 @@ public:
void initFrom(const std::vector<rtengine::procparams::ProcParams>& src);
void combine(rtengine::procparams::ProcParams& toEdit, const rtengine::procparams::ProcParams& mods, bool forceSet);
};
#endif