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

#include <kis_color_source.h>

+ Inheritance diagram for KisTotalRandomColorSource:

Public Member Functions

void applyColorTransformation (const KoColorTransformation *transfo) override
 
void colorize (KisPaintDeviceSP, const QRect &rect, const QPoint &offset) const override
 
const KoColorSpacecolorSpace () const override
 
 KisTotalRandomColorSource ()
 
virtual void resize (double xs, double ys)
 
virtual void rotate (double r)
 
void selectColor (double mix, const KisPaintInformation &pi) override
 
 ~KisTotalRandomColorSource () override
 
- Public Member Functions inherited from KisColorSource
virtual ~KisColorSource ()
 

Private Attributes

const KoColorSpacem_colorSpace
 

Detailed Description

Definition at line 96 of file kis_color_source.h.

Constructor & Destructor Documentation

◆ KisTotalRandomColorSource()

KisTotalRandomColorSource::KisTotalRandomColorSource ( )

Definition at line 155 of file kis_color_source.cpp.

156{
157}
const KoColorSpace * m_colorSpace
static KoColorSpaceRegistry * instance()

◆ ~KisTotalRandomColorSource()

KisTotalRandomColorSource::~KisTotalRandomColorSource ( )
override

Definition at line 159 of file kis_color_source.cpp.

160{
161}

Member Function Documentation

◆ applyColorTransformation()

void KisTotalRandomColorSource::applyColorTransformation ( const KoColorTransformation * transfo)
overridevirtual

Apply a color transformation on the selected color

Implements KisColorSource.

Definition at line 169 of file kis_color_source.cpp.

169{}

◆ colorize()

void KisTotalRandomColorSource::colorize ( KisPaintDeviceSP ,
const QRect & rect,
const QPoint & _offset ) const
overridevirtual

Apply the color on a paint device

Implements KisColorSource.

Definition at line 175 of file kis_color_source.cpp.

176{
177 KoColor kc(dev->colorSpace());
178
179 QColor qc;
180
181 std::random_device rand_dev;
182 std::default_random_engine rand_engine{rand_dev()};
183 std::uniform_int_distribution<> rand_distr(0, 255);
184
185 int pixelSize = dev->colorSpace()->pixelSize();
186
187 KisHLineIteratorSP it = dev->createHLineIteratorNG(rect.x(), rect.y(), rect.width());
188 for (int y = 0; y < rect.height(); y++) {
189 do {
190 qc.setRgb(rand_distr(rand_engine), rand_distr(rand_engine), rand_distr(rand_engine));
191 kc.fromQColor(qc);
192 memcpy(it->rawData(), kc.data(), pixelSize);
193 } while (it->nextPixel());
194 it->nextRow();
195 }
196
197}

References KisPaintDevice::colorSpace(), KisPaintDevice::createHLineIteratorNG(), KoColor::data(), KoColor::fromQColor(), and KoColorSpace::pixelSize().

◆ colorSpace()

const KoColorSpace * KisTotalRandomColorSource::colorSpace ( ) const
overridevirtual

Implements KisColorSource.

Definition at line 170 of file kis_color_source.cpp.

171{
172 return m_colorSpace;
173}

References m_colorSpace.

◆ resize()

void KisTotalRandomColorSource::resize ( double xs,
double ys )
virtual

Definition at line 200 of file kis_color_source.cpp.

200{}

◆ rotate()

void KisTotalRandomColorSource::rotate ( double r)
virtual

Definition at line 199 of file kis_color_source.cpp.

199{}

◆ selectColor()

void KisTotalRandomColorSource::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 163 of file kis_color_source.cpp.

164{
165 Q_UNUSED(mix);
166 Q_UNUSED(pi);
167}

Member Data Documentation

◆ m_colorSpace

const KoColorSpace* KisTotalRandomColorSource::m_colorSpace
private

Definition at line 109 of file kis_color_source.h.


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