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

#include <kis_color_source_option.h>

Classes

struct  Private
 

Public Member Functions

KisColorSourcecreateColorSource (const KisPainter *_painter) const
 
 KisColorSourceOption (const KisPropertiesConfiguration *setting)
 
 ~KisColorSourceOption ()
 

Private Attributes

const QScopedPointer< Privated
 

Detailed Description

Definition at line 19 of file kis_color_source_option.h.

Constructor & Destructor Documentation

◆ KisColorSourceOption()

KisColorSourceOption::KisColorSourceOption ( const KisPropertiesConfiguration * setting)

Definition at line 24 of file kis_color_source_option.cpp.

25 : d(new Private)
26{
28 data.read(setting);
29 d->type = data.type;
30}
const QScopedPointer< Private > d
bool read(const KisPropertiesConfiguration *setting)

References d, KisColorSourceOptionData::read(), and KisColorSourceOptionData::type.

◆ ~KisColorSourceOption()

KisColorSourceOption::~KisColorSourceOption ( )

Definition at line 32 of file kis_color_source_option.cpp.

33{
34}

Member Function Documentation

◆ createColorSource()

KisColorSource * KisColorSourceOption::createColorSource ( const KisPainter * _painter) const

Definition at line 36 of file kis_color_source_option.cpp.

37{
38 Q_ASSERT(_painter);
39
40 switch (d->type) {
42 return new KisPlainColorSource(_painter->backgroundColor(), _painter->paintColor());
44 return new KisGradientColorSource(_painter->gradient(), _painter->paintColor().colorSpace());
46 return new KisUniformRandomColorSource();
48 return new KisTotalRandomColorSource();
50 if (_painter->pattern()) {
51 KisPaintDevice* dev = new KisPaintDevice(_painter->paintColor().colorSpace(), _painter->pattern()->name());
52 dev->convertFromQImage(_painter->pattern()->pattern(), 0);
53 return new KoPatternColorSource(dev, _painter->pattern()->width(), _painter->pattern()->height(), false);
54 }
55 break;
56 }
58 if (_painter->pattern()) {
59 KisPaintDevice* dev = new KisPaintDevice(_painter->paintColor().colorSpace(), _painter->pattern()->name());
60 dev->convertFromQImage(_painter->pattern()->pattern(), 0);
61 return new KoPatternColorSource(dev, _painter->pattern()->width(), _painter->pattern()->height(), true);
62 }
63
64 }
65 }
66 // Fallback in case the patterns are messed up
67 return new KisPlainColorSource(_painter->backgroundColor(), _painter->paintColor());
68}
void convertFromQImage(const QImage &image, const KoColorProfile *profile, qint32 offsetX=0, qint32 offsetY=0)
KoColor paintColor
KoColor backgroundColor
KoAbstractGradientSP gradient
KoPatternSP pattern
const KoColorSpace * colorSpace() const
return the current colorSpace
Definition KoColor.h:82

References KisPainter::backgroundColor, KoColor::colorSpace(), KisPaintDevice::convertFromQImage(), d, KisPainter::gradient, KisColorSourceOptionData::GRADIENT, KisPainter::paintColor, KisPainter::pattern, KisColorSourceOptionData::PATTERN, KisColorSourceOptionData::PATTERN_LOCKED, KisColorSourceOptionData::PLAIN, KisColorSourceOptionData::TOTAL_RANDOM, and KisColorSourceOptionData::UNIFORM_RANDOM.

Member Data Documentation

◆ d

const QScopedPointer<Private> KisColorSourceOption::d
private

Definition at line 28 of file kis_color_source_option.h.


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