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

#include <kis_abr_brush.h>

+ Inheritance diagram for KisAbrBrush:

Public Member Functions

QImage brushTipImage () const override
 brushImage the image the brush tip can paint with. Not all brush types have a single image.
 
KoResourceSP clone () const override
 
QString defaultFileExtension () const override
 
bool isSerializable () const override
 
 KisAbrBrush (const KisAbrBrush &rhs)
 
 KisAbrBrush (const KisAbrBrush &rhs, KisAbrBrushCollection *parent)
 
 KisAbrBrush (const QString &filename, KisAbrBrushCollection *parent)
 Construct brush to load filename later as brush.
 
bool loadFromDevice (QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
 
KisAbrBrushoperator= (const KisAbrBrush &rhs)=delete
 
QPair< QString, QString > resourceType () const override
 
bool saveToDevice (QIODevice *dev) const override
 
void setBrushTipImage (const QImage &image) override
 
void toXML (QDomDocument &d, QDomElement &e) const override
 
- Public Member Functions inherited from KisScalingSizeBrush
 KisScalingSizeBrush ()
 
 KisScalingSizeBrush (const KisScalingSizeBrush &rhs)
 
 KisScalingSizeBrush (const QString &filename)
 
void setUserEffectiveSize (qreal value) override
 
qreal userEffectiveSize () const override
 
- Public Member Functions inherited from KisBrush
qreal angle () const
 
virtual bool applyingGradient () const
 
bool autoSpacingActive () const
 
qreal autoSpacingCoeff () const
 
virtual enumBrushApplication brushApplication () const
 
virtual quint32 brushIndex () const
 
virtual enumBrushType brushType () const
 
virtual bool canPaintFor (const KisPaintInformation &)
 
virtual QSizeF characteristicSize (KisDabShape const &) const
 
void clearBrushPyramid ()
 
virtual void coldInitBrush ()
 
virtual void generateMaskAndApplyMaskOrCreateDab (KisFixedPaintDeviceSP dst, ColoringInformation *coloringInfo, KisDabShape const &, const KisPaintInformation &info, double subPixelX, double subPixelY, qreal softnessFactor, qreal lightnessStrength) const
 
void generateMaskAndApplyMaskOrCreateDab (KisFixedPaintDeviceSP dst, ColoringInformation *coloringInfo, KisDabShape const &, const KisPaintInformation &info, double subPixelX=0, double subPixelY=0, qreal softnessFactor=DEFAULT_SOFTNESS_FACTOR) const
 
qint32 height () const
 
QPointF hotSpot (KisDabShape const &, const KisPaintInformation &info) const
 
virtual bool isPiercedApprox () const
 
 KisBrush ()
 
 KisBrush (const KisBrush &rhs)
 
 KisBrush (const QString &filename)
 
virtual void lodLimitations (KisPaintopLodLimitations *l) const
 
void mask (KisFixedPaintDeviceSP dst, const KisPaintDeviceSP src, KisDabShape const &shape, const KisPaintInformation &info, double subPixelX=0, double subPixelY=0, qreal softnessFactor=DEFAULT_SOFTNESS_FACTOR, qreal lightnessStrength=DEFAULT_LIGHTNESS_STRENGTH) const
 
void mask (KisFixedPaintDeviceSP dst, const KoColor &color, KisDabShape const &shape, const KisPaintInformation &info, double subPixelX=0, double subPixelY=0, qreal softnessFactor=DEFAULT_SOFTNESS_FACTOR, qreal lightnessStrength=DEFAULT_LIGHTNESS_STRENGTH) const
 
double maskAngle (double angle=0) const
 
virtual qint32 maskHeight (KisDabShape const &, qreal subPixelX, qreal subPixelY, const KisPaintInformation &info) const
 
virtual qint32 maskWidth (KisDabShape const &, qreal subPixelX, qreal subPixelY, const KisPaintInformation &info) const
 
virtual void notifyBrushIsGoingToBeClonedForStroke ()
 
virtual void notifyStrokeStarted ()
 
KisBrushoperator= (const KisBrush &rhs)=delete
 
virtual KisOptimizedBrushOutline outline (bool forcePreciseOutline=false) const
 
virtual KisFixedPaintDeviceSP outlineSourceImage () const
 
virtual KisFixedPaintDeviceSP paintDevice (const KoColorSpace *colorSpace, KisDabShape const &, const KisPaintInformation &info, double subPixelX=0, double subPixelY=0) const
 
virtual void prepareForSeqNo (const KisPaintInformation &info, int seqNo)
 
virtual bool preserveLightness () const
 
QPair< QString, QString > resourceType () const override
 
qreal scale () const
 
virtual void setAngle (qreal _angle)
 
void setAutoSpacing (bool active, qreal coeff)
 
virtual void setBrushApplication (enumBrushApplication brushApplication)
 
virtual void setGradient (KoAbstractGradientSP gradient)
 
virtual void setScale (qreal _scale)
 
virtual void setSpacing (double spacing)
 
double spacing () const
 
virtual bool supportsCaching () const
 
qint32 width () const
 
 ~KisBrush () override
 
- 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 QList< KoResourceLoadResultembeddedResources (KisResourcesInterfaceSP globalResourcesInterface) const
 
QString filename () const
 
QImage image () const
 
bool isDirty () const
 
virtual bool isEphemeral () 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 ()
 
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 ()
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 

Private Attributes

KisAbrBrushCollectionm_parent
 

Friends

class KisAbrBrushCollection
 

Additional Inherited Members

- Static Public Member Functions inherited from KisBrush
static KisBrushSP fromXML (const QDomElement &element, KisResourcesInterfaceSP resourcesInterface)
 
static KoResourceLoadResult fromXMLLoadResult (const QDomElement &element, KisResourcesInterfaceSP resourcesInterface)
 
- 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}
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 
- Static Public Attributes inherited from KisBrush
static const QString brushTypeMetaDataKey = "image-based-brush"
 
- Protected Member Functions inherited from KisBrush
void generateOutlineCache ()
 
bool outlineCacheIsValid () const
 
void predefinedBrushToXML (const QString &type, QDomElement &e) const
 
void resetOutlineCache ()
 
virtual void setBrushType (enumBrushType type)
 
void setHeight (qint32 height)
 
void setHotSpot (QPointF)
 
void setWidth (qint32 width)
 

Detailed Description

Definition at line 27 of file kis_abr_brush.h.

Constructor & Destructor Documentation

◆ KisAbrBrush() [1/3]

KisAbrBrush::KisAbrBrush ( const QString & filename,
KisAbrBrushCollection * parent )

Construct brush to load filename later as brush.

Definition at line 29 of file kis_abr_brush.cpp.

31 , m_parent(parent)
32{
35}
KisAbrBrushCollection * m_parent
virtual void setSpacing(double spacing)
virtual void setBrushType(enumBrushType type)
#define DEFAULT_SPACING
@ INVALID
Definition kis_brush.h:31
QString filename

References DEFAULT_SPACING, INVALID, KisBrush::setBrushType(), and KisBrush::setSpacing().

◆ KisAbrBrush() [2/3]

KisAbrBrush::KisAbrBrush ( const KisAbrBrush & rhs)

Definition at line 37 of file kis_abr_brush.cpp.

39 , m_parent(0)
40{
41 // Warning! The brush became detached from the parent collection!
42}

◆ KisAbrBrush() [3/3]

KisAbrBrush::KisAbrBrush ( const KisAbrBrush & rhs,
KisAbrBrushCollection * parent )

Definition at line 44 of file kis_abr_brush.cpp.

46 , m_parent(parent)
47{
48}

Member Function Documentation

◆ brushTipImage()

QImage KisAbrBrush::brushTipImage ( ) const
overridevirtual

brushImage the image the brush tip can paint with. Not all brush types have a single image.

Returns
a valid QImage.

Reimplemented from KisBrush.

Definition at line 93 of file kis_abr_brush.cpp.

94{
95 if (KisBrush::brushTipImage().isNull() && m_parent) {
96 m_parent->load();
97 }
99}
virtual QImage brushTipImage() const
brushImage the image the brush tip can paint with. Not all brush types have a single image.

References KisBrush::brushTipImage(), KisAbrBrushCollection::load(), and m_parent.

◆ clone()

KoResourceSP KisAbrBrush::clone ( ) const
overridevirtual

Implements KoResource.

Definition at line 50 of file kis_abr_brush.cpp.

51{
52 return KoResourceSP(new KisAbrBrush(*this));
53}
KisAbrBrush(const QString &filename, KisAbrBrushCollection *parent)
Construct brush to load filename later as brush.
QSharedPointer< KoResource > KoResourceSP

References KisAbrBrush().

◆ defaultFileExtension()

QString KisAbrBrush::defaultFileExtension ( ) const
overridevirtual
Returns
default file extension for saving the brush

Reimplemented from KoResource.

Definition at line 88 of file kis_abr_brush.cpp.

89{
90 return QString();
91}

◆ isSerializable()

bool KisAbrBrush::isSerializable ( ) const
overridevirtual

Serializable resource is the one which can be saved/loaded into a specific storage via saveToDevice()/loadFromDevice() methods. Some resources, like KisAbrBrush or KisPsdLayerStyle, are stored in specific libraries in "batches". Such resources cannot be saved individually. They are created by the corresponding factories.

In contrast to ephemeral resource, non-serializable resource will always have a correct md5Sum() and may be stored in the resources database.

Reimplemented from KoResource.

Definition at line 55 of file kis_abr_brush.cpp.

56{
57 return false;
58}

◆ loadFromDevice()

bool KisAbrBrush::loadFromDevice ( QIODevice * dev,
KisResourcesInterfaceSP resourcesInterface )
overridevirtual

Implements KoResource.

Definition at line 60 of file kis_abr_brush.cpp.

61{
62 Q_UNUSED(dev);
63 Q_UNUSED(resourcesInterface);
64 return false;
65}

◆ operator=()

KisAbrBrush & KisAbrBrush::operator= ( const KisAbrBrush & rhs)
delete

◆ resourceType()

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

Implements KoResource.

Definition at line 43 of file kis_abr_brush.h.

43 {
44 return QPair<QString, QString>(ResourceType::Brushes, ResourceSubType::AbrBrushes);
45 }
const QString AbrBrushes
const QString Brushes

References ResourceSubType::AbrBrushes, and ResourceType::Brushes.

◆ saveToDevice()

bool KisAbrBrush::saveToDevice ( QIODevice * dev) const
overridevirtual

Reimplemented from KoResource.

Definition at line 67 of file kis_abr_brush.cpp.

68{
69 Q_UNUSED(dev);
70 return false;
71}

◆ setBrushTipImage()

void KisAbrBrush::setBrushTipImage ( const QImage & image)
overridevirtual

The image is used to represent the brush in the gui, and may also, depending on the brush type be used to define the actual brush instance.

Reimplemented from KisBrush.

Definition at line 73 of file kis_abr_brush.cpp.

74{
75 setValid(true);
77
79}
virtual void setBrushTipImage(const QImage &image)
@ MASK
Definition kis_brush.h:32
void setValid(bool valid)
QImage image

References KoResource::image, MASK, KisBrush::setBrushTipImage(), KisBrush::setBrushType(), and KoResource::setValid().

◆ toXML()

void KisAbrBrush::toXML ( QDomDocument & ,
QDomElement & element ) const
overridevirtual

Serialize this brush to XML.

Reimplemented from KisBrush.

Definition at line 81 of file kis_abr_brush.cpp.

82{
83 e.setAttribute("name", name()); // legacy
84 predefinedBrushToXML("abr_brush", e);
86}
void predefinedBrushToXML(const QString &type, QDomElement &e) const
Private *const d
Definition kis_brush.h:387
virtual void toXML(QDomDocument &, QDomElement &) const
QString name

References KisBrush::d, KoResource::name, KisBrush::predefinedBrushToXML(), and KisBrush::toXML().

Friends And Related Symbol Documentation

◆ KisAbrBrushCollection

friend class KisAbrBrushCollection
friend

Definition at line 54 of file kis_abr_brush.h.

Member Data Documentation

◆ m_parent

KisAbrBrushCollection* KisAbrBrush::m_parent
private

Definition at line 61 of file kis_abr_brush.h.


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