Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abr_brush.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 * SPDX-FileCopyrightText: 2007 Eric Lamarque <eric.lamarque@free.fr>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8#include "kis_abr_brush.h"
10
11#include <QDomElement>
12#include <QFile>
13#include <QImage>
14#include <QPoint>
15#include <QBuffer>
16#include <QCryptographicHash>
17
18#include <klocalizedstring.h>
19
20#include <KoColor.h>
21
22#include "kis_datamanager.h"
23#include "kis_paint_device.h"
24#include "kis_global.h"
25#include "kis_image.h"
26
27#define DEFAULT_SPACING 0.25
28
29KisAbrBrush::KisAbrBrush(const QString& filename, KisAbrBrushCollection *parent)
30 : KisScalingSizeBrush(filename)
31 , m_parent(parent)
32{
35}
36
39 , m_parent(0)
40{
41 // Warning! The brush became detached from the parent collection!
42}
43
46 , m_parent(parent)
47{
48}
49
51{
52 return KoResourceSP(new KisAbrBrush(*this));
53}
54
56{
57 return false;
58}
59
60bool KisAbrBrush::loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface)
61{
62 Q_UNUSED(dev);
63 Q_UNUSED(resourcesInterface);
64 return false;
65}
66
67bool KisAbrBrush::saveToDevice(QIODevice *dev) const
68{
69 Q_UNUSED(dev);
70 return false;
71}
72
73void KisAbrBrush::setBrushTipImage(const QImage& image)
74{
75 setValid(true);
77
79}
80
81void KisAbrBrush::toXML(QDomDocument& d, QDomElement& e) const
82{
83 e.setAttribute("name", name()); // legacy
84 predefinedBrushToXML("abr_brush", e);
86}
87
89{
90 return QString();
91}
92
94{
95 if (KisBrush::brushTipImage().isNull() && m_parent) {
96 m_parent->load();
97 }
99}
QImage brushTipImage() const override
brushImage the image the brush tip can paint with. Not all brush types have a single image.
bool saveToDevice(QIODevice *dev) const override
void toXML(QDomDocument &d, QDomElement &e) const override
KisAbrBrush(const QString &filename, KisAbrBrushCollection *parent)
Construct brush to load filename later as brush.
void setBrushTipImage(const QImage &image) override
bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override
bool isSerializable() const override
KisAbrBrushCollection * m_parent
KoResourceSP clone() const override
QString defaultFileExtension() const override
virtual void setSpacing(double spacing)
virtual QImage brushTipImage() const
brushImage the image the brush tip can paint with. Not all brush types have a single image.
virtual void setBrushType(enumBrushType type)
void predefinedBrushToXML(const QString &type, QDomElement &e) const
Private *const d
Definition kis_brush.h:387
virtual void toXML(QDomDocument &, QDomElement &) const
virtual void setBrushTipImage(const QImage &image)
#define DEFAULT_SPACING
@ MASK
Definition kis_brush.h:32
@ INVALID
Definition kis_brush.h:31
QSharedPointer< KoResource > KoResourceSP
void setValid(bool valid)
QImage image
QString name