Krita Source Code Documentation
Loading...
Searching...
No Matches
KoCmykF64Traits Struct Reference

#include <KoCmykColorSpaceTraits.h>

+ Inheritance diagram for KoCmykF64Traits:

Static Public Member Functions

static void fromNormalisedChannelsValue (quint8 *pixel, const QVector< float > &values)
 
static void normalisedChannelsValue (const quint8 *pixel, QVector< float > &v)
 
static QString normalisedChannelValueText (const quint8 *pixel, quint32 channelIndex)
 
- Static Public Member Functions inherited from KoCmykTraits< double >
static channels_type C (quint8 *data)
 
static channels_type k (quint8 *data)
 
static channels_type M (quint8 *data)
 
static void setC (quint8 *data, channels_type nv)
 Set the Cyan component.
 
static void setK (quint8 *data, channels_type nv)
 Set the Key component.
 
static void setM (quint8 *data, channels_type nv)
 Set the Magenta component.
 
static void setY (quint8 *data, channels_type nv)
 Set the Yellow component.
 
static channels_type Y (quint8 *data)
 
- Static Public Member Functions inherited from KoColorSpaceTrait< _channels_type_, _channels_nb_, _alpha_pos_ >
static quint8 * allocate (quint32 nPixels)
 
static void applyAlphaNormedFloatMask (quint8 *pixels, const float *alpha, qint32 nPixels)
 
static void applyAlphaU8Mask (quint8 *pixels, const quint8 *alpha, qint32 nPixels)
 
static void applyInverseAlphaNormedFloatMask (quint8 *pixels, const float *alpha, qint32 nPixels)
 
static void applyInverseAlphaU8Mask (quint8 *pixels, const quint8 *alpha, qint32 nPixels)
 
static QString channelValueText (const quint8 *pixel, quint32 channelIndex)
 
static void copyOpacityU8 (quint8 *src, quint8 *dst, qint32 nPixels)
 
static void fillGrayBrushWithColor (quint8 *pixels, const QRgb *brush, quint8 *brushColor, qint32 nPixels)
 
static void fillInverseAlphaNormedFloatMaskWithColor (quint8 *pixels, const float *alpha, const quint8 *brushColor, qint32 nPixels)
 
static void fromNormalisedChannelsValue (quint8 *pixel, const QVector< float > &values)
 
template<typename I , typename std::enable_if_t< std::numeric_limits< I >::is_integer, int > = 1>
static void fromNormalisedChannelsValueImpl (quint8 *pixel, const QVector< float > &values)
 
template<typename I , typename std::enable_if_t<!std::numeric_limits< I >::is_integer, int > = 1>
static void fromNormalisedChannelsValueImpl (quint8 *pixel, const QVector< float > &values)
 
static void multiplyAlpha (quint8 *pixels, quint8 alpha, qint32 nPixels)
 
static const channels_typenativeArray (const quint8 *a)
 
static channels_typenativeArray (quint8 *a)
 
static void normalisedChannelsValue (const quint8 *pixel, QVector< float > &v)
 
template<typename I , typename std::enable_if_t< std::numeric_limits< I >::is_integer, int > = 1>
static void normalisedChannelsValueImpl (const quint8 *pixel, QVector< float > &v)
 
template<typename I , typename std::enable_if_t<!std::numeric_limits< I >::is_integer, int > = 1>
static void normalisedChannelsValueImpl (const quint8 *pixel, QVector< float > &v)
 
static QString normalisedChannelValueText (const quint8 *pixel, quint32 channelIndex)
 
static qreal opacityF (const quint8 *U8_pixel)
 
static quint8 opacityU8 (const quint8 *U8_pixel)
 
static void setOpacity (quint8 *pixels, qreal alpha, qint32 nPixels)
 
static void setOpacity (quint8 *pixels, quint8 alpha, qint32 nPixels)
 
static void singleChannelPixel (quint8 *dstPixel, const quint8 *srcPixel, quint32 channelIndex)
 

Additional Inherited Members

- Public Types inherited from KoCmykTraits< double >
typedef double channels_type
 
typedef KoColorSpaceTrait< double, 5, 4 > parent
 
- Public Types inherited from KoColorSpaceTrait< _channels_type_, _channels_nb_, _alpha_pos_ >
typedef _channels_type_ channels_type
 the type of the value of the channels of this color space
 
typedef KoColorSpaceMathsTraits< _channels_type_ > math_trait
 the associated math class
 
- Static Public Attributes inherited from KoCmykTraits< double >
static const qint32 c_pos
 
static const qint32 k_pos
 
static const qint32 m_pos
 
static const qint32 y_pos
 
- Static Public Attributes inherited from KoColorSpaceTrait< _channels_type_, _channels_nb_, _alpha_pos_ >
static const qint32 alpha_pos = _alpha_pos_
 
static const quint32 channels_nb = _channels_nb_
 the number of channels in this color space
 
static const int depth = KoColorSpaceMathsTraits<_channels_type_>::bits
 the number of bit for each channel
 
static const quint32 pixelSize = channels_nb * sizeof(channels_type)
 

Detailed Description

Definition at line 241 of file KoCmykColorSpaceTraits.h.

Member Function Documentation

◆ fromNormalisedChannelsValue()

static void KoCmykF64Traits::fromNormalisedChannelsValue ( quint8 * pixel,
const QVector< float > & values )
inlinestatic

Definition at line 290 of file KoCmykColorSpaceTraits.h.

290 {
291 Q_ASSERT((int)values.count() == (int)parent::channels_nb);
293 for (uint i = 0; i < parent::channels_nb; i++) {
294 float b = 0;
295 switch(i) {
296 case c_pos:
297 case m_pos:
298 case y_pos:
299 case k_pos:
300 b = qBound((float)0,
303 break;
304 default:
308 break;
309 }
310 c = (channels_type)b;
311 parent::nativeArray(pixel)[i] = c;
312 }
313 }
unsigned int uint
static const quint32 channels_nb
the number of channels in this color space
static const channels_type * nativeArray(const quint8 *a)

References KoCmykTraits< double >::c_pos, KoColorSpaceTrait< double, 5, 4 >::channels_nb, KoCmykTraits< double >::k_pos, KoCmykTraits< double >::m_pos, KoColorSpaceTrait< double, 5, 4 >::nativeArray(), and KoCmykTraits< double >::y_pos.

◆ normalisedChannelsValue()

static void KoCmykF64Traits::normalisedChannelsValue ( const quint8 * pixel,
QVector< float > & v )
inlinestatic

Definition at line 263 of file KoCmykColorSpaceTraits.h.

264 {
265 Q_ASSERT((int)v.count() == (int)parent::channels_nb);
267 float *channels = v.data();
268 for (uint i = 0; i < parent::channels_nb; i++) {
269 c = nativeArray(pixel)[i];
270 switch (i) {
271 case c_pos:
272 case m_pos:
273 case y_pos:
274 case k_pos:
275 channels[i] = qBound((qreal)0,
278 break;
279 // As per KoChannelInfo alpha channels are [0..1]
280 case 4:
281 default:
282 channels[i] = qBound((qreal)0,
285 break;
286 }
287 }
288 }
qreal v

References KoCmykTraits< double >::c_pos, KoColorSpaceTrait< double, 5, 4 >::channels_nb, KoCmykTraits< double >::k_pos, KoCmykTraits< double >::m_pos, KoColorSpaceTrait< _channels_type_, _channels_nb_, _alpha_pos_ >::nativeArray(), v, and KoCmykTraits< double >::y_pos.

◆ normalisedChannelValueText()

static QString KoCmykF64Traits::normalisedChannelValueText ( const quint8 * pixel,
quint32 channelIndex )
inlinestatic

Definition at line 243 of file KoCmykColorSpaceTraits.h.

243 {
244 if (channelIndex > parent::channels_nb) return QString("Error");
245 channels_type c = nativeArray(pixel)[channelIndex];
246 switch (channelIndex) {
247 case c_pos:
248 case m_pos:
249 case y_pos:
250 case k_pos:
251 return QString().setNum(100.0 * qBound((qreal)0,
254 case 4:
255 return QString().setNum(100.0 * qBound((qreal)0,
258 default:
259 return QString("Error");
260 }
261 }

References KoCmykTraits< double >::c_pos, KoColorSpaceTrait< double, 5, 4 >::channels_nb, KoCmykTraits< double >::k_pos, KoCmykTraits< double >::m_pos, KoColorSpaceTrait< _channels_type_, _channels_nb_, _alpha_pos_ >::nativeArray(), and KoCmykTraits< double >::y_pos.


The documentation for this struct was generated from the following file: