24 #ifndef DIGIKAM_IMAGE_CURVES_H
25 #define DIGIKAM_IMAGE_CURVES_H
29 #include <QSharedDataPointer>
42 class CurvesContainer;
52 const static int NUM_POINTS = 17;
57 const static int NUM_CHANNELS = 5;
62 const static int MULTIPLIER_16BIT = 255;
70 typedef double CRMatrix[4][4];
87 void fillFromOtherCurves(
ImageCurves*
const otherCurves);
93 void curvesChannelReset(
int channel);
94 void curvesCalculateCurve(
int channel);
95 void curvesCalculateAllCurves();
96 float curvesLutFunc(
int n_channels,
int channel,
float value);
97 void curvesLutSetup(
int nchannels);
98 void curvesLutProcess(uchar*
const srcPR, uchar*
const destPR,
int w,
int h);
102 void setCurveValue(
int channel,
int bin,
int val);
103 void setCurvePointX(
int channel,
int point,
int x);
104 void setCurvePointY(
int channel,
int point,
int y);
105 void setCurveType(
int channel,
CurveType type);
108 void setCurvePoint(
int channel,
int point,
const QPoint& val);
109 void setCurvePoints(
int channel,
const QPolygon& vals);
110 void setCurveValues(
int channel,
const QPolygon& vals);
112 void unsetCurvePoint(
int channel,
int point);
116 bool isDirty()
const;
117 bool isSixteenBits()
const;
119 int getCurveValue(
int channel,
int bin)
const;
120 int getCurvePointX(
int channel,
int point)
const;
121 int getCurvePointY(
int channel,
int point)
const;
122 CurveType getCurveType(
int channel)
const;
124 bool isCurvePointEnabled(
int channel,
int point)
const;
125 QPoint getCurvePoint(
int channel,
int point)
const;
126 QPolygon getCurvePoints(
int channel)
const;
127 QPolygon getCurveValues(
int channel)
const;
147 bool isLinear(
int channel)
const;
148 bool isLinear()
const;
155 QByteArray channelToBinary(
int channel)
const;
163 bool setChannelFromBinary(
int channel,
const QByteArray& array);
167 bool saveCurvesToGimpCurvesFile(
const QUrl& fileUrl)
const;
168 bool loadCurvesFromGimpCurvesFile(
const QUrl& fileUrl);
170 static QPoint getDisabledValue();
174 void curvesPlotCurve(
int channel,
int p1,
int p2,
int p3,
int p4);
175 void curvesCRCompose(CRMatrix a, CRMatrix b, CRMatrix ab);
181 QSharedDataPointer<Private> d;
Definition: curvescontainer.h:44
Definition: imagecurves.h:45
CurveType
Definition: imagecurves.h:65
qulonglong value
Definition: itemviewutilities.cpp:592
Definition: datefolderview.cpp:43