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

#include <KoCachedGradient.h>

+ Inheritance diagram for KoCachedGradient:

Public Member Functions

const quint8 * cachedAt (qreal t) const
 gets the color data at position 0 <= t <= 1
 
KoResourceSP clone () const override
 
void colorAt (KoColor &color, qreal t) const override
 allow access to the actual color at position 0 <= t <= 1, instead of the cached color
 
const KoColorSpacecolorSpace () const
 
KoAbstractGradientSP gradient ()
 
 KoCachedGradient ()
 
 KoCachedGradient (const KoAbstractGradientSP gradient, qint32 steps, const KoColorSpace *cs)
 
bool loadFromDevice (QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
 
QPair< QString, QString > resourceType () const override
 
void setColorSpace (const KoColorSpace *colorSpace)
 
void setGradient (const KoAbstractGradientSP gradient, qint32 steps)
 
void setGradient (const KoAbstractGradientSP gradient, qint32 steps, const KoColorSpace *cs)
 
QGradient * toQGradient () const override
 
 ~KoCachedGradient () override
 
- Public Member Functions inherited from KoAbstractGradient
virtual void bakeVariableColors (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
KoAbstractGradientSP cloneAndBakeVariableColors (KoCanvasResourcesInterfaceSP canvasResourcesInterface) const
 
KoAbstractGradientSP cloneAndUpdateVariableColors (KoCanvasResourcesInterfaceSP canvasResourcesInterface) const
 
const KoColorSpacecolorSpace () const
 
QImage generatePreview (int width, int height) const
 
QImage generatePreview (int width, int height, KoCanvasResourcesInterfaceSP canvasResourcesInterface) const
 
 KoAbstractGradient (const KoAbstractGradient &rhs)
 
 KoAbstractGradient (const QString &filename)
 
void setColorSpace (KoColorSpace *colorSpace)
 
void setSpread (QGradient::Spread spreadMethod)
 
void setType (QGradient::Type repeatType)
 
QGradient::Spread spread () const
 
QGradient::Type type () const
 
void updatePreview ()
 
virtual void updateVariableColors (KoCanvasResourcesInterfaceSP canvasResourcesInterface)
 
 ~KoAbstractGradient () override
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 
- Public Member Functions inherited from KoResource
bool active () const
 
void addMetaData (QString key, QVariant value)
 store the given key, value pair in the resource
 
virtual void clearSideLoadedResources ()
 
virtual QString defaultFileExtension () const
 
virtual QList< KoResourceLoadResultembeddedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
QString filename () const
 
QImage image () const
 
bool isDirty () const
 
virtual bool isEphemeral () const
 
virtual bool isSerializable () const
 
 KoResource ()
 
 KoResource (const KoResource &rhs)
 
 KoResource (const QString &filename)
 
virtual QList< KoResourceLoadResultlinkedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
bool load (KisResourcesInterfaceSP resourcesInterface)
 
QString md5Sum (bool generateIfEmpty=true) const
 
QMap< QString, QVariant > metadata () const
 get a map with all the metadata
 
virtual QString name () const
 
KoResourceoperator= (const KoResource &rhs)=delete
 
bool permanent () const
 
virtual QList< int > requiredCanvasResources () const
 
QList< KoResourceLoadResultrequiredResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
int resourceId () const
 
bool save ()
 
virtual bool saveToDevice (QIODevice *dev) const
 
void setActive (bool active)
 
void setDirty (bool value)
 Mark the preset as modified but not saved.
 
void setFilename (const QString &filename)
 
void setImage (const QImage &image)
 
void setMD5Sum (const QString &md5sum)
 Set the md5sum of this resource. It must be in hex-encoded string format.
 
void setName (const QString &name)
 
void setPermanent (bool permanent)
 
void setResourceId (int id)
 
void setStorageLocation (const QString &location)
 
void setValid (bool valid)
 
void setVersion (int version)
 
virtual QList< KoResourceLoadResultsideLoadedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
KoResourceSignature signature () const
 
QString storageLocation () const
 
QList< KoResourceLoadResulttakeSideLoadedResources (KisResourcesInterfaceSP globalResourcesInterface)
 
virtual QImage thumbnail () const
 thumbnail the thumbnail image to use in resource selectors
 
virtual QString thumbnailPath () const
 thumbnailPath returns the path to a separate thumbnail image, outside the actual resource file itself. If the path is relative, it is supposed start in the same location as the resource itself. If it's absolute, that is, it starts with "/", it is from the root of the storage.
 
virtual void updateThumbnail ()
 updateThumbnail updates the thumbnail for this resource. Reimplement if your thumbnail is something else than the image set with setImage.
 
bool valid () const
 
int version () const
 Get the version of the resource.
 
virtual ~KoResource ()
 

Private Attributes

KoColor m_black
 
QVector< KoColorm_colors
 
const KoColorSpacem_colorSpace = 0
 
qint32 m_max = 0
 
KoAbstractGradientSP m_subject
 

Additional Inherited Members

- Public Attributes inherited from KoAbstractGradient
const KoColorSpacecolorSpace
 
QGradient::Spread spread
 
QGradient::Type type
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 
- Public Attributes inherited from KoResource
bool active {true}
 
QString filename
 
QImage image
 
QString md5sum
 
QMap< QString, QVariant > metadata
 
bool modified {false}
 
QString name
 
bool permanent {false}
 
int resourceId {-1}
 
QString storageLocation
 
bool valid {false}
 
int version {-1}
 

Detailed Description

Definition at line 9 of file KoCachedGradient.h.

Constructor & Destructor Documentation

◆ KoCachedGradient() [1/2]

KoCachedGradient::KoCachedGradient ( )
inline

Definition at line 13 of file KoCachedGradient.h.

14 {
15 }
KoAbstractGradient(const QString &filename)

◆ KoCachedGradient() [2/2]

KoCachedGradient::KoCachedGradient ( const KoAbstractGradientSP gradient,
qint32 steps,
const KoColorSpace * cs )
inline

Definition at line 17 of file KoCachedGradient.h.

18 : KoAbstractGradient(gradient->filename())
19 {
20 setGradient(gradient, steps, cs);
21 }
void setGradient(const KoAbstractGradientSP gradient, qint32 steps, const KoColorSpace *cs)
KoAbstractGradientSP gradient()

References gradient(), and setGradient().

◆ ~KoCachedGradient()

KoCachedGradient::~KoCachedGradient ( )
inlineoverride

Definition at line 23 of file KoCachedGradient.h.

23{}

Member Function Documentation

◆ cachedAt()

const quint8 * KoCachedGradient::cachedAt ( qreal t) const
inline

gets the color data at position 0 <= t <= 1

Definition at line 58 of file KoCachedGradient.h.

59 {
60 qint32 tInt = t * m_max + 0.5;
61 if (m_colors.size() > tInt) {
62 return m_colors[tInt].data();
63 }
64 else {
65 return m_black.data();
66 }
67 }
QVector< KoColor > m_colors
quint8 * data()
Definition KoColor.h:144

References KoColor::data(), m_black, m_colors, and m_max.

◆ clone()

KoResourceSP KoCachedGradient::clone ( ) const
inlineoverridevirtual

Implements KoResource.

Definition at line 25 of file KoCachedGradient.h.

25 {
27 }
KoAbstractGradientSP m_subject
const KoColorSpace * m_colorSpace
QSharedPointer< KoResource > KoResourceSP

References KoCachedGradient(), m_colorSpace, m_max, and m_subject.

◆ colorAt()

void KoCachedGradient::colorAt ( KoColor & color,
qreal t ) const
inlineoverridevirtual

allow access to the actual color at position 0 <= t <= 1, instead of the cached color

Reimplemented from KoAbstractGradient.

Definition at line 70 of file KoCachedGradient.h.

71 {
72 m_subject->colorAt(color, t);
73 }

References m_subject.

◆ colorSpace()

const KoColorSpace * KoCachedGradient::colorSpace ( ) const
inline

Definition at line 83 of file KoCachedGradient.h.

83{ return m_colorSpace; }

References m_colorSpace.

◆ gradient()

KoAbstractGradientSP KoCachedGradient::gradient ( )
inline

Definition at line 85 of file KoCachedGradient.h.

85{ return m_subject; }

References m_subject.

◆ loadFromDevice()

bool KoCachedGradient::loadFromDevice ( QIODevice * dev,
KisResourcesInterfaceSP resourcesInterface )
inlineoverridevirtual

Implements KoResource.

Definition at line 87 of file KoCachedGradient.h.

87 {
88 return m_subject->loadFromDevice(dev, resourcesInterface);
89 }

References m_subject.

◆ resourceType()

QPair< QString, QString > KoCachedGradient::resourceType ( ) const
inlineoverridevirtual
Returns
the resource type

Implements KoResource.

Definition at line 91 of file KoCachedGradient.h.

91 {
92 return m_subject->resourceType();
93 }

References m_subject.

◆ setColorSpace()

void KoCachedGradient::setColorSpace ( const KoColorSpace * colorSpace)
inline

Definition at line 74 of file KoCachedGradient.h.

75 {
78 for (qint32 i = 0; i < m_colors.size(); i++) {
79 m_colors[i].convertTo(m_colorSpace);
80 }
81 }
82 }
const KoColorSpace * colorSpace() const

References colorSpace(), m_colors, and m_colorSpace.

◆ setGradient() [1/2]

void KoCachedGradient::setGradient ( const KoAbstractGradientSP gradient,
qint32 steps )
inline

Definition at line 53 of file KoCachedGradient.h.

53 {
54 setGradient(gradient, steps, gradient->colorSpace());
55 }

References gradient(), and setGradient().

◆ setGradient() [2/2]

void KoCachedGradient::setGradient ( const KoAbstractGradientSP gradient,
qint32 steps,
const KoColorSpace * cs )
inline

Definition at line 38 of file KoCachedGradient.h.

38 {
40 m_max = steps - 1;
41 m_colorSpace = cs;
42 m_colors.clear();
43
44 m_black = KoColor(cs);
45
46 KoColor tmpColor(m_colorSpace);
47 for (qint32 i = 0; i < steps; i++) {
48 m_subject->colorAt(tmpColor, qreal(i) / m_max);
49 m_colors << tmpColor;
50 }
51 }

References gradient(), m_black, m_colors, m_colorSpace, m_max, and m_subject.

◆ toQGradient()

QGradient * KoCachedGradient::toQGradient ( ) const
inlineoverridevirtual

Creates a QGradient from the gradient. The resulting QGradient might differ from original gradient

Reimplemented from KoAbstractGradient.

Definition at line 33 of file KoCachedGradient.h.

34 {
35 return m_subject->toQGradient();
36 }

References m_subject.

Member Data Documentation

◆ m_black

KoColor KoCachedGradient::m_black
private

Definition at line 101 of file KoCachedGradient.h.

◆ m_colors

QVector<KoColor> KoCachedGradient::m_colors
private

Definition at line 100 of file KoCachedGradient.h.

◆ m_colorSpace

const KoColorSpace* KoCachedGradient::m_colorSpace = 0
private

Definition at line 98 of file KoCachedGradient.h.

◆ m_max

qint32 KoCachedGradient::m_max = 0
private

Definition at line 99 of file KoCachedGradient.h.

◆ m_subject

KoAbstractGradientSP KoCachedGradient::m_subject
private

Definition at line 97 of file KoCachedGradient.h.


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