Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPlainColorSource Class Reference

#include <kis_color_source.h>

+ Inheritance diagram for KisPlainColorSource:

Public Member Functions

 KisPlainColorSource (const KoColor &backGroundColor, const KoColor &foreGroundColor)
 
void selectColor (double mix, const KisPaintInformation &pi) override
 
 ~KisPlainColorSource () override
 
- Public Member Functions inherited from KisUniformColorSource
void applyColorTransformation (const KoColorTransformation *transfo) override
 
void colorize (KisPaintDeviceSP, const QRect &rect, const QPoint &offset) const override
 
const KoColorSpacecolorSpace () const override
 
 KisUniformColorSource ()
 
virtual void resize (double, double)
 
virtual void rotate (double)
 
const KoColoruniformColor () const
 
 ~KisUniformColorSource () override
 
- Public Member Functions inherited from KisColorSource
virtual ~KisColorSource ()
 

Private Attributes

KoColor m_backGroundColor
 
KoColor m_cachedBackGroundColor
 
KoColor m_foreGroundColor
 

Additional Inherited Members

- Protected Attributes inherited from KisUniformColorSource
KoColor m_color
 

Detailed Description

Definition at line 66 of file kis_color_source.h.

Constructor & Destructor Documentation

◆ KisPlainColorSource()

KisPlainColorSource::KisPlainColorSource ( const KoColor & backGroundColor,
const KoColor & foreGroundColor )

Definition at line 70 of file kis_color_source.cpp.

71 : m_backGroundColor(backGroundColor)
72 , m_cachedBackGroundColor(backGroundColor)
73 , m_foreGroundColor(foreGroundColor)
74{
75}

◆ ~KisPlainColorSource()

KisPlainColorSource::~KisPlainColorSource ( )
override

Definition at line 77 of file kis_color_source.cpp.

78{
79}

Member Function Documentation

◆ selectColor()

void KisPlainColorSource::selectColor ( double mix,
const KisPaintInformation & pi )
overridevirtual

This is function is called to initialize the color that will be used for the dab.

Parameters
mixis a parameter between 0.0 and 1.0
pipaint information

Implements KisColorSource.

Definition at line 81 of file kis_color_source.cpp.

82{
83 Q_UNUSED(pi);
84
89 }
90
91 const quint8 *colors[2];
92 colors[0] = m_cachedBackGroundColor.data();
93 colors[1] = m_foreGroundColor.data();
94
95 // equally distribute mix factor over [0..255]
96 // mix * 256 ensures that, with exception of mix==1.0, which gets special handling
97 const int weight = (mix == 1.0) ? 255 : (int)(mix * 256);
98 const qint16 weights[2] = { (qint16)(255 - weight), (qint16)weight };
99
100 m_color.colorSpace()->mixColorsOp()->mixColors(colors, weights, 2, m_color.data());
101}
KoMixColorsOp * mixColorsOp
quint8 * data()
Definition KoColor.h:144
const KoColorSpace * colorSpace() const
return the current colorSpace
Definition KoColor.h:82
void fromKoColor(const KoColor &src)
Definition KoColor.cpp:294
virtual void mixColors(const quint8 *const *colors, const qint16 *weights, int nColors, quint8 *dst, int weightSum=255) const =0

References KoColor::colorSpace(), KoColor::data(), KoColor::fromKoColor(), m_backGroundColor, m_cachedBackGroundColor, KisUniformColorSource::m_color, m_foreGroundColor, KoMixColorsOp::mixColors(), and KoColorSpace::mixColorsOp.

Member Data Documentation

◆ m_backGroundColor

KoColor KisPlainColorSource::m_backGroundColor
private

Definition at line 73 of file kis_color_source.h.

◆ m_cachedBackGroundColor

KoColor KisPlainColorSource::m_cachedBackGroundColor
private

Definition at line 74 of file kis_color_source.h.

◆ m_foreGroundColor

KoColor KisPlainColorSource::m_foreGroundColor
private

Definition at line 75 of file kis_color_source.h.


The documentation for this class was generated from the following files: