13#include "kritapigment_export.h"
17#include <boost/operators.hpp>
30class KRITAPIGMENT_EXPORT
KoColor :
public boost::equality_comparable<KoColor>
52 : m_colorSpace(rhs.m_colorSpace)
54 , m_metadata(rhs.m_metadata)
56 memcpy(m_data, rhs.
m_data, m_size);
72 memcpy(m_data, rhs.
m_data, m_size);
74 assertPermanentColorspace();
93 KoColorConversionTransformation::ConversionFlags conversionFlags);
101 KoColorConversionTransformation::ConversionFlags conversionFlags)
const;
114 void setColor(
const quint8 * data,
const KoColorSpace * colorSpace = 0);
118 void fromKoColor(
const KoColor& src);
121 void toQColor(QColor *c)
const;
123 QColor toQColor()
const;
128 void setOpacity(quint8 alpha);
129 void setOpacity(qreal alpha);
133 quint8 opacityU8()
const;
134 qreal opacityF()
const;
137 void fromQColor(
const QColor& c);
198 void toXML(QDomDocument& doc, QDomElement& colorElt)
const;
212 static KoColor fromXML(
const QDomElement& elt,
const QString & channelDepthId);
227 static KoColor fromXML(
const QDomElement& elt,
const QString & channelDepthId,
bool* ok);
236 QString toXML()
const;
244 static KoColor fromXML(
const QString &xml);
251 QString toSVG11(QHash<QString, const KoColorProfile *> *profileList)
const;
271 static KoColor fromSVG11(
const QString
value, QHash<QString, const KoColorProfile*> profileList,
KoColor current =
KoColor());
278 static QString toQString(
const KoColor &color);
283 void addMetadata(QString key, QVariant
value);
290 QMap<QString, QVariant> metadata()
const;
296 void clearMetadata();
float value(const T *src, size_t ch)
bool operator==(const KisRegion &lhs, const KisRegion &rhs)
KRITAPIGMENT_EXPORT QDebug operator<<(QDebug dbg, const KoColor &color)
QMap< QString, QVariant > m_metadata
void assertPermanentColorspace()
const KoColorSpace * m_colorSpace
const quint8 * data() const
const KoColorSpace * colorSpace() const
return the current colorSpace
KoColor(const KoColor &rhs)
Copy constructor – deep copies the colors.
quint8 m_data[MAX_PIXEL_SIZE]
KoColor & operator=(const KoColor &rhs)
Q_DECLARE_METATYPE(KisPaintopLodLimitations)
static KoColorSpaceRegistry * instance()