kis_abstract_colorspace.h
94 virtual TQString normalisedChannelValueText(const TQ_UINT8 *pixel, TQ_UINT32 channelIndex) const = 0;
100 virtual void getSingleChannelPixel(TQ_UINT8 *dstPixel, const TQ_UINT8 *srcPixel, TQ_UINT32 channelIndex);
130 virtual void fromTQColor(const TQColor& c, TQ_UINT8 opacity, TQ_UINT8 *dst, KisProfile * profile = 0);
133 virtual void toTQColor(const TQ_UINT8 *src, TQColor *c, TQ_UINT8 *opacity, KisProfile * profile = 0);
162 virtual void applyAdjustment(const TQ_UINT8 *src, TQ_UINT8 *dst, KisColorAdjustment *, TQ_INT32 nPixels);
168 virtual void mixColors(const TQ_UINT8 **colors, const TQ_UINT8 *weights, TQ_UINT32 nColors, TQ_UINT8 *dst) const;
170 virtual void convolveColors(TQ_UINT8** colors, TQ_INT32* kernelValues, KisChannelInfo::enumChannelFlags channelFlags, TQ_UINT8 *dst, TQ_INT32 factor, TQ_INT32 offset, TQ_INT32 nPixels) const;
172 virtual void darken(const TQ_UINT8 * src, TQ_UINT8 * dst, TQ_INT32 shade, bool compensate, double compensation, TQ_INT32 nPixels) const;
215 virtual void compositeCopy(TQ_UINT8 *dstRowStart, TQ_INT32 dstRowStride, const TQ_UINT8 *srcRowStart, TQ_INT32 srcRowStride, const TQ_UINT8 *maskRowStart, TQ_INT32 maskRowStride, TQ_INT32 rows, TQ_INT32 numColumns, TQ_UINT8 opacity);
300 icColorSpaceSignature m_colorSpaceSignature; // The colorspace signature as defined in icm/icc files
A colorspace strategy is the definition of a certain color model in Chalk.
Definition kis_abstract_colorspace.h:47
virtual KisCompositeOpList userVisiblecompositeOps() const =0
Returns the list of user-visible composite ops supported by this colourspace.
virtual void bitBlt(TQ_UINT8 *dst, TQ_INT32 dstRowSize, const TQ_UINT8 *src, TQ_INT32 srcRowStride, const TQ_UINT8 *srcAlphaMask, TQ_INT32 maskRowStride, TQ_UINT8 opacity, TQ_INT32 rows, TQ_INT32 cols, const KisCompositeOp &op)=0
Compose two byte arrays containing pixels in the same color model together.
virtual TQString normalisedChannelValueText(const TQ_UINT8 *pixel, TQ_UINT32 channelIndex) const =0
Return a string with the channel's value with integer channels normalised to the floating point range...
virtual TQ_UINT32 nSubstanceChannels() const
The total number of substance channels for a single pixel in this color model.
Definition kis_abstract_colorspace.h:88
virtual bool hasHighDynamicRange() const
Returns true if the colorspace supports channel values outside the (normalised) range 0 to 1.
Definition kis_abstract_colorspace.h:119
virtual TQ_UINT32 nColorChannels() const =0
The total number of color channels (excludes alpha and substance) for a single pixel in this color mo...
virtual TQValueVector< KisChannelInfo * > channels() const =0
Return a vector describing all the channels this color model has.
virtual TQ_UINT16 scaleToU16(const TQ_UINT8 *srcPixel, TQ_INT32 channelPos)=0
Convert the value of the channel at the specified position into a 16-bit value.
virtual TQ_UINT8 scaleToU8(const TQ_UINT8 *srcPixel, TQ_INT32 channelPos)=0
Convert the value of the channel at the specified position into an 8-bit value.
virtual TQ_UINT32 nChannels() const =0
The total number of channels for a single pixel in this color model.
virtual TQString channelValueText(const TQ_UINT8 *pixel, TQ_UINT32 channelIndex) const =0
Return a string with the channel's value suitable for display in the gui.
virtual KisProfile * getProfile() const
Return the profile of this color space.
Definition kis_abstract_colorspace.h:123
virtual KisID id() const
Chalk definition for use in .kra files and internally: unchanging name + i18n'able description.
Definition kis_abstract_colorspace.h:104
virtual TQ_UINT32 pixelSize() const =0
The size in bytes of a single pixel in this color model.
A colorspace is the definition of a certain color model in Chalk.
Definition kis_colorspace.h:58
virtual KisColorAdjustment * createDesaturateAdjustment()=0
Create an adjustment object for desaturating.
virtual void bitBlt(TQ_UINT8 *dst, TQ_INT32 dststride, KisColorSpace *srcSpace, const TQ_UINT8 *src, TQ_INT32 srcRowStride, const TQ_UINT8 *srcAlphaMask, TQ_INT32 maskRowStride, TQ_UINT8 opacity, TQ_INT32 rows, TQ_INT32 cols, const KisCompositeOp &op)=0
Compose two arrays of pixels together.
virtual void toTQColor(const TQ_UINT8 *src, TQColor *c, KisProfile *profile=0)=0
The toTQColor methods take a byte array that is at least pixelSize() long and converts the contents t...
virtual void mixColors(const TQ_UINT8 **colors, const TQ_UINT8 *weights, TQ_UINT32 nColors, TQ_UINT8 *dst) const =0
Mix the colors given their weights and return in dst The sum of weights is assumed 255.
virtual void darken(const TQ_UINT8 *src, TQ_UINT8 *dst, TQ_INT32 shade, bool compensate, double compensation, TQ_INT32 nPixels) const =0
Darken all color channels with the given amount.
virtual TQ_UINT8 intensity8(const TQ_UINT8 *src) const =0
Calculate the intensity of the given pixel, scaled down to the range 0-255.
virtual void applyAdjustment(const TQ_UINT8 *src, TQ_UINT8 *dst, KisColorAdjustment *, TQ_INT32 nPixels)=0
Apply the adjustment created with onr of the other functions.
virtual void invertColor(TQ_UINT8 *src, TQ_INT32 nPixels)=0
Invert color channels of the given pixels.
virtual void fromTQColor(const TQColor &c, TQ_UINT8 *dst, KisProfile *profile=0)=0
The fromTQColor methods take a given color defined as an RGB TQColor and fills a byte array with the ...
virtual KisColorAdjustment * createBrightnessContrastAdjustment(TQ_UINT16 *transferValues)=0
Create an adjustment object for adjusting the brightness and contrast transferValues is a 256 bins ar...
virtual void convolveColors(TQ_UINT8 **colors, TQ_INT32 *kernelValues, KisChannelInfo::enumChannelFlags channelFlags, TQ_UINT8 *dst, TQ_INT32 factor, TQ_INT32 offset, TQ_INT32 nPixels) const =0
Convolve the given array of pointers to pixels and return the result in dst.
virtual bool convertPixelsTo(const TQ_UINT8 *src, TQ_UINT8 *dst, KisColorSpace *dstColorSpace, TQ_UINT32 numPixels, TQ_INT32 renderingIntent=INTENT_PERCEPTUAL)=0
Convert a byte array of srcLen pixels *src to the specified color space and put the converted bytes i...
virtual TQImage convertToTQImage(const TQ_UINT8 *data, TQ_INT32 width, TQ_INT32 height, KisProfile *dstProfile, TQ_INT32 renderingIntent=INTENT_PERCEPTUAL, float exposure=0.0f)=0
Convert the pixels in data to (8-bit BGRA) TQImage using the specified profiles.
virtual KisColorAdjustment * createPerChannelAdjustment(TQ_UINT16 **transferValues)=0
Create an adjustment object for adjusting individual channels transferValues is an array of nColorCha...
virtual void getSingleChannelPixel(TQ_UINT8 *dstPixel, const TQ_UINT8 *srcPixel, TQ_UINT32 channelIndex)=0
Set dstPixel to the pixel containing only the given channel of srcPixel.
virtual void toLabA16(const TQ_UINT8 *src, TQ_UINT8 *dst, const TQ_UINT32 nPixels) const =0
Convert the specified data to Lab.
virtual void fromLabA16(const TQ_UINT8 *src, TQ_UINT8 *dst, const TQ_UINT32 nPixels) const =0
Convert the specified data from Lab.
virtual KisID mathToolboxID() const =0
Create a mathematical toolbox compatible with this colorspace.
virtual TQ_UINT8 difference(const TQ_UINT8 *src1, const TQ_UINT8 *src2)=0
Get the difference between 2 colors, normalized in the range (0,255)
