7#ifndef _KIS_CUBIC_CURVE_H_
8#define _KIS_CUBIC_CURVE_H_
10#include <boost/operators.hpp>
19#include <kritaimage_export.h>
36 const QPointF& position()
const;
37 bool isSetAsCorner()
const;
39 void setX(qreal newX);
40 void setY(qreal newY);
41 void setPosition(
const QPointF &newPosition);
42 void setAsCorner(
bool newIsSetAsCorner);
46 bool m_isCorner {
false };
54class KRITAIMAGE_EXPORT
KisCubicCurve :
public boost::equality_comparable<KisCubicCurve>
68 qreal
value(qreal x)
const;
77 void setPoint(
int idx,
const QPointF& position,
bool setAsCorner);
78 void setPoint(
int idx,
const QPointF& position);
79 void setPointPosition(
int idx,
const QPointF& position);
80 void setPointAsCorner(
int idx,
bool setAsCorner);
86 int addPoint(
const QPointF& position,
bool setAsCorner);
87 int addPoint(
const QPointF& position);
88 void removePoint(
int idx);
93 bool isIdentity()
const;
98 bool isConstant(qreal c)
const;
105 void setName(
const QString& name);
108 static qreal interpolateLinear(qreal normalizedValue,
const QVector<qreal> &transfer);
114 QString toString()
const;
115 Q_DECL_DEPRECATED
void fromString(
const QString&);
float value(const T *src, size_t ch)
bool operator==(const KisRegion &lhs, const KisRegion &rhs)
KisCubicCurvePoint & operator=(const KisCubicCurvePoint &)=default
KisCubicCurvePoint(const KisCubicCurvePoint &)=default
KisCubicCurvePoint()=default
const QString DEFAULT_CURVE_STRING
Q_DECLARE_METATYPE(KisPaintopLodLimitations)
const QString & name() const
Q_DECL_DEPRECATED QList< QPointF > points() const