|
Krita Source Code Documentation
|
#include <RgbU8ColorSpace.h>
Inheritance diagram for RgbU8ColorSpace:Public Member Functions | |
| virtual KoColorSpace * | clone () const |
| KoID | colorDepthId () const override |
| void | colorFromXML (quint8 *pixel, const QDomElement &elt) const override |
| KoID | colorModelId () const override |
| void | colorToXML (const quint8 *pixel, QDomDocument &doc, QDomElement &colorElt) const override |
| void | fillGrayBrushWithColorAndLightnessOverlay (quint8 *dst, const QRgb *brush, quint8 *brushColor, qint32 nPixels) const override |
| void | fillGrayBrushWithColorAndLightnessWithStrength (quint8 *dst, const QRgb *brush, quint8 *brushColor, qreal strength, qint32 nPixels) const override |
| QVector< double > | fromHSY (qreal *hue, qreal *sat, qreal *luma) const override |
| QVector< double > | fromYUV (qreal *y, qreal *u, qreal *v) const override |
| quint8 | intensity8 (const quint8 *src) const override |
| qreal | intensityF (const quint8 *src) const override |
| void | modulateLightnessByGrayBrush (quint8 *dst, const QRgb *brush, qreal strength, qint32 nPixels) const override |
| RgbU8ColorSpace (const QString &name, KoColorProfile *p) | |
| void | toHSY (const QVector< double > &channelValues, qreal *hue, qreal *sat, qreal *luma) const override |
| void | toYUV (const QVector< double > &channelValues, qreal *y, qreal *u, qreal *v) const override |
| bool | willDegrade (ColorSpaceIndependence) const override |
Public Member Functions inherited from LcmsColorSpace< KoBgrU8Traits > | |
| KoColorTransformation * | createBrightnessContrastAdjustment (const quint16 *transferValues) const override |
| KoColorTransformation * | createPerChannelAdjustment (const quint16 *const *transferValues) const override |
| quint8 | difference (const quint8 *src1, const quint8 *src2) const override |
| quint8 | differenceA (const quint8 *src1, const quint8 *src2) const override |
| void | fromQColor (const QColor &color, quint8 *dst) const override |
| bool | hasHighDynamicRange () const override |
| const KoColorProfile * | profile () const override |
| bool | profileIsCompatible (const KoColorProfile *profile) const override |
| void | toQColor (const quint8 *src, QColor *color) const override |
| void | toQColor16 (const quint8 *src, QColor *color) const override |
Public Member Functions inherited from KoColorSpaceAbstract< _CSTrait > | |
| quint32 | alphaPos () const override |
| void | applyAlphaNormedFloatMask (quint8 *pixels, const float *alpha, qint32 nPixels) const override |
| void | applyAlphaU8Mask (quint8 *pixels, const quint8 *alpha, qint32 nPixels) const override |
| void | applyInverseAlphaU8Mask (quint8 *pixels, const quint8 *alpha, qint32 nPixels) const override |
| void | applyInverseNormedFloatMask (quint8 *pixels, const float *alpha, qint32 nPixels) const override |
| quint32 | channelCount () const override |
| QString | channelValueText (const quint8 *pixel, quint32 channelIndex) const override |
| quint32 | colorChannelCount () const override |
| void | convertChannelToVisualRepresentation (const quint8 *src, quint8 *dst, quint32 nPixels, const QBitArray selectedChannels) const override |
| void | convertChannelToVisualRepresentation (const quint8 *src, quint8 *dst, quint32 nPixels, const qint32 selectedChannelIndex) const override |
| void | copyOpacityU8 (quint8 *src, quint8 *dst, qint32 nPixels) const override |
| KoColorTransformation * | createDarkenAdjustment (qint32 shade, bool compensate, qreal compensation) const override |
| KoColorTransformation * | createInvertTransformation () const override |
| void | fillGrayBrushWithColor (quint8 *dst, const QRgb *brush, quint8 *brushColor, qint32 nPixels) const override |
| void | fillInverseAlphaNormedFloatMaskWithColor (quint8 *pixels, const float *alpha, const quint8 *brushColor, qint32 nPixels) const override |
| void | fromNormalisedChannelsValue (quint8 *pixel, const QVector< float > &values) const override |
| KoColorSpaceAbstract (const QString &id, const QString &name) | |
| void | multiplyAlpha (quint8 *pixels, quint8 alpha, qint32 nPixels) const override |
| void | normalisedChannelsValue (const quint8 *pixel, QVector< float > &channels) const override |
| QString | normalisedChannelValueText (const quint8 *pixel, quint32 channelIndex) const override |
| qreal | opacityF (const quint8 *U8_pixel) const override |
| quint8 | opacityU8 (const quint8 *U8_pixel) const override |
| quint32 | pixelSize () const override |
| quint8 | scaleToU8 (const quint8 *srcPixel, qint32 channelIndex) const override |
| void | setOpacity (quint8 *pixels, qreal alpha, qint32 nPixels) const override |
| void | setOpacity (quint8 *pixels, quint8 alpha, qint32 nPixels) const override |
| void | singleChannelPixel (quint8 *dstPixel, const quint8 *srcPixel, quint32 channelIndex) const override |
Public Member Functions inherited from KoColorSpace | |
| virtual void | addCompositeOp (const KoCompositeOp *op) |
| virtual void | addDitherOp (KisDitherOp *op) |
| virtual void | bitBlt (const KoColorSpace *srcSpace, const KoCompositeOp::ParameterInfo ¶ms, const KoCompositeOp *op, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const |
| QBitArray | channelFlags (bool color=true, bool alpha=false) const |
| QList< KoChannelInfo * > | channels () const |
| const KoCompositeOp * | compositeOp (const QString &id, const KoColorSpace *srcSpace=nullptr) const |
| virtual QList< KoCompositeOp * > | compositeOps () const |
| virtual bool | convertPixelsTo (const quint8 *src, quint8 *dst, const KoColorSpace *dstColorSpace, quint32 numPixels, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const |
| virtual QImage | convertToQImage (const quint8 *data, qint32 width, qint32 height, const KoColorProfile *dstProfile, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const |
| virtual KoConvolutionOp * | convolutionOp () const |
| virtual KoColorConversionTransformation * | createColorConverter (const KoColorSpace *dstColorSpace, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const |
| KoColorTransformation * | createColorTransformation (const QString &id, const QHash< QString, QVariant > ¶meters) const |
| virtual KoColorConversionTransformation * | createProofingTransform (const KoColorSpace *dstColorSpace, const KoColorSpace *proofingSpace, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::Intent proofingIntent, bool bpcFirstTransform, quint8 *gamutWarning, KoColorConversionTransformation::ConversionFlags displayConversionFlags) const |
| createProofingTransform Create a proofing transform. This is a two part transform that can also do gamut checks. The first transform is from source -> proofing space. Here the gamut checks are performed. The second is the proofing to destination space. | |
| virtual void | decreaseHue (quint8 *pixel, qreal step) const |
| virtual void | decreaseLuminosity (quint8 *pixel, qreal step) const |
| virtual void | decreaseSaturation (quint8 *pixel, qreal step) const |
| virtual const KisDitherOp * | ditherOp (const QString &depth, DitherType type) const |
| QPolygonF | estimatedTRCXYY () const |
| virtual void | fromLabA16 (const quint8 *src, quint8 *dst, quint32 nPixels) const |
| virtual void | fromRgbA16 (const quint8 *src, quint8 *dst, quint32 nPixels) const |
| QPolygonF | gamutXYY () const |
| virtual bool | hasCompositeOp (const QString &id, const KoColorSpace *srcSpace=nullptr) const |
| QString | id () const |
| virtual void | increaseBlue (quint8 *pixel, qreal step) const |
| virtual void | increaseGreen (quint8 *pixel, qreal step) const |
| virtual void | increaseHue (quint8 *pixel, qreal step) const |
| virtual void | increaseLuminosity (quint8 *pixel, qreal step) const |
| virtual void | increaseRed (quint8 *pixel, qreal step) const |
| virtual void | increaseSaturation (quint8 *pixel, qreal step) const |
| virtual void | increaseYellow (quint8 *pixel, qreal step) const |
| KoColorSpace (const QString &id, const QString &name, KoMixColorsOp *mixColorsOp, KoConvolutionOp *convolutionOp) | |
| Should be called by real color spaces. | |
| QVector< qreal > | lumaCoefficients () const |
| virtual KoMixColorsOp * | mixColorsOp () const |
| QString | name () const |
| virtual bool | operator== (const KoColorSpace &rhs) const |
| virtual bool | proofPixelsTo (const quint8 *src, quint8 *dst, quint32 numPixels, KoColorConversionTransformation *proofingTransform) const |
| proofPixelsTo | |
| virtual void | toLabA16 (const quint8 *src, quint8 *dst, quint32 nPixels) const |
| virtual void | toRgbA16 (const quint8 *src, quint8 *dst, quint32 nPixels) const |
| virtual void | transparentColor (quint8 *dst, quint32 nPixels) const |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KoLcmsInfo | |
| virtual cmsColorSpaceSignature | colorSpaceSignature () const |
| virtual quint32 | colorSpaceType () const |
| KoLcmsInfo (cmsUInt32Number cmType, cmsColorSpaceSignature colorSpaceSignature) | |
| virtual | ~KoLcmsInfo () |
Static Public Member Functions | |
| static QString | colorSpaceId () |
Definition at line 15 of file RgbU8ColorSpace.h.
| RgbU8ColorSpace::RgbU8ColorSpace | ( | const QString & | name, |
| KoColorProfile * | p ) |
Definition at line 27 of file RgbU8ColorSpace.cpp.
References KoColorSpace::addChannel(), KoColorSpace::addCompositeOp(), KoChannelInfo::ALPHA, KoChannelInfo::COLOR, LcmsColorSpace< KoBgrU8Traits >::init(), and KoChannelInfo::UINT8.
|
virtual |
Definition at line 45 of file RgbU8ColorSpace.cpp.
References clone(), KoColorSpace::name, LcmsColorSpace< KoBgrU8Traits >::profile(), and RgbU8ColorSpace().
|
inlineoverridevirtual |
Implements KoColorSpace.
Definition at line 32 of file RgbU8ColorSpace.h.
References Integer8BitsColorDepthID.
|
overridevirtual |
Unserialize a color following Create's swatch color specification available at https://web.archive.org/web/20110826002520/http://create.freedesktop.org/wiki/Swatches_-_color_file_format/Draft
| pixel | buffer where the color will be unserialized |
| elt | the element to unserialize (<CMYK />, <sRGB />, <RGB />) |
Implements KoColorSpace.
Definition at line 61 of file RgbU8ColorSpace.cpp.
References p, KoColorSpaceMaths< _T, _Tdst >::scaleToA(), and KisDomUtils::toDouble().
|
inlineoverridevirtual |
Implements KoColorSpace.
Definition at line 27 of file RgbU8ColorSpace.h.
References RGBAColorModelID.
|
inlinestatic |
Definition at line 51 of file RgbU8ColorSpace.h.
|
overridevirtual |
Serialize this color following Create's swatch color specification available at https://web.archive.org/web/20110826002520/http://create.freedesktop.org/wiki/Swatches_-_color_file_format/Draft
This function doesn't create the <color /> element but rather the <CMYK />, <sRGB />, <RGB /> ... elements. It is assumed that colorElt is the <color /> element.
| pixel | buffer to serialized |
| colorElt | root element for the serialization, it is assumed that this element is <color /> |
| doc | is the document containing colorElt |
Implements KoColorSpace.
Definition at line 50 of file RgbU8ColorSpace.cpp.
References KoColorProfile::name, p, LcmsColorSpace< KoBgrU8Traits >::profile(), and KisDomUtils::toString().
|
overridevirtual |
Fills dst with specified brushColor and then applies inverted brush mask specified in brush. Inverted red channel of the brush is used as lightness of the destination. Alpha channel of the brush is used as alpha of the destination.
The equation is:
dstL_hsl = preserveLightness(colorL_hsl, lightFactor); dstA = qAlpha(brush);
For details on preserveLightness() formula, see KoColorSpacePreserveLightnessUtils.h
Reimplemented from KoColorSpace.
Definition at line 116 of file RgbU8ColorSpace.cpp.
|
overridevirtual |
Reimplemented from KoColorSpace.
Definition at line 121 of file RgbU8ColorSpace.cpp.
|
overridevirtual |
Implements KoColorSpace.
Definition at line 92 of file RgbU8ColorSpace.cpp.
References HSYToRGB(), and KoColorSpace::lumaCoefficients.
|
overridevirtual |
Implements KoColorSpace.
Definition at line 107 of file RgbU8ColorSpace.cpp.
References KoColorSpace::lumaCoefficients, u, v, and YUVToRGB().
|
overridevirtual |
Calculate the intensity of the given pixel, scaled down to the range 0-255. XXX: Maybe this should be more flexible
Reimplemented from KoColorSpaceAbstract< _CSTrait >.
Definition at line 70 of file RgbU8ColorSpace.cpp.
References p.
|
overridevirtual |
Calculate the intensity of the given pixel, scaled down to the range 0-1
Reimplemented from KoColorSpaceAbstract< _CSTrait >.
Definition at line 79 of file RgbU8ColorSpace.cpp.
References p.
|
overridevirtual |
Reimplemented from KoColorSpace.
Definition at line 126 of file RgbU8ColorSpace.cpp.
|
overridevirtual |
Implements KoColorSpace.
Definition at line 87 of file RgbU8ColorSpace.cpp.
References KoColorSpace::lumaCoefficients, and RGBToHSY().
|
overridevirtual |
Implements KoColorSpace.
Definition at line 100 of file RgbU8ColorSpace.cpp.
References KoColorSpace::lumaCoefficients, RGBToYUV(), u, and v.
|
inlineoverridevirtual |
If false, images in this colorspace will degrade considerably by functions, tools and filters that have the given measure of colorspace independence.
| independence | the measure to which this colorspace will suffer from the manipulations of the tool or filter asking |
Implements KoColorSpace.
Definition at line 22 of file RgbU8ColorSpace.h.