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

#include <KoCmykColorSpaceTraits.h>

+ Inheritance diagram for KoCmykF32Traits:

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< float >
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< float >
typedef float channels_type
 
typedef KoColorSpaceTrait< float, 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< float >
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 166 of file KoCmykColorSpaceTraits.h.

Member Function Documentation

◆ fromNormalisedChannelsValue()

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

Definition at line 215 of file KoCmykColorSpaceTraits.h.

215 {
216 Q_ASSERT((int)values.count() == (int)parent::channels_nb);
218 for (uint i = 0; i < parent::channels_nb; i++) {
219 float b = 0;
220 switch(i) {
221 case c_pos:
222 case m_pos:
223 case y_pos:
224 case k_pos:
225 b = qBound((float)0,
228 break;
229 default:
233 break;
234 }
235 c = (channels_type)b;
236 parent::nativeArray(pixel)[i] = c;
237 }
238 }
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< float >::c_pos, KoColorSpaceTrait< float, 5, 4 >::channels_nb, KoCmykTraits< float >::k_pos, KoCmykTraits< float >::m_pos, KoColorSpaceTrait< float, 5, 4 >::nativeArray(), and KoCmykTraits< float >::y_pos.

◆ normalisedChannelsValue()

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

Definition at line 188 of file KoCmykColorSpaceTraits.h.

189 {
190 Q_ASSERT((int)v.count() == (int)parent::channels_nb);
192 float *channels = v.data();
193 for (uint i = 0; i < parent::channels_nb; i++) {
194 c = nativeArray(pixel)[i];
195 switch (i) {
196 case c_pos:
197 case m_pos:
198 case y_pos:
199 case k_pos:
200 channels[i] = qBound((qreal)0,
203 break;
204 // As per KoChannelInfo alpha channels are [0..1]
205 case 4:
206 default:
207 channels[i] = qBound((qreal)0,
210 break;
211 }
212 }
213 }
qreal v

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

◆ normalisedChannelValueText()

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

Definition at line 168 of file KoCmykColorSpaceTraits.h.

168 {
169 if (channelIndex > parent::channels_nb) return QString("Error");
170 channels_type c = nativeArray(pixel)[channelIndex];
171 switch (channelIndex) {
172 case c_pos:
173 case m_pos:
174 case y_pos:
175 case k_pos:
176 return QString().setNum(100.0 * qBound((qreal)0,
179 case 4:
180 return QString().setNum(100.0 * qBound((qreal)0,
183 default:
184 return QString("Error");
185 }
186 }

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


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