Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_gbr_brush.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 1999 Matthias Elter <me@kde.org>
3 * SPDX-FileCopyrightText: 2002 Patrick Julien <freak@codepimps.org>
4 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8#ifndef KIS_GBR_BRUSH_
9#define KIS_GBR_BRUSH_
10
11#include <QImage>
12
13#include "KisColorfulBrush.h"
14#include <kis_types.h>
15#include <kis_shared.h>
17
18#include "kritabrush_export.h"
19
20class KisQImagemask;
22
23class QString;
24class QIODevice;
25
26class BRUSH_EXPORT KisGbrBrush : public KisColorfulBrush
27{
28
29protected:
30
31public:
32
34 KisGbrBrush(const QString& filename);
35
37 KisGbrBrush(const QString& filename,
38 const QByteArray & data,
39 qint32 & dataPos);
40
42 KisGbrBrush(KisPaintDeviceSP image, int x, int y, int w, int h);
43
45 KisGbrBrush(const QImage& image, const QString& name = QString());
46
47 ~KisGbrBrush() override;
48
49 KisGbrBrush(const KisGbrBrush& rhs);
50
51 KoResourceSP clone() const override;
52
54
55 bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override;
56 bool saveToDevice(QIODevice* dev) const override;
57
58 QPair<QString, QString> resourceType() const override {
59 return QPair<QString, QString>(ResourceType::Brushes, ResourceSubType::GbrBrushes);
60 }
61
70 virtual void makeMaskImage(bool preserveAlpha);
71
75 QString defaultFileExtension() const override;
76
77protected:
81 friend class KisImageBrushesPipe;
82 friend class KisBrushExport;
83
84 void setBrushTipImage(const QImage& image) override;
85
86 void toXML(QDomDocument& d, QDomElement& e) const override;
87
88private:
89
90 bool init();
91 bool initFromPaintDev(KisPaintDeviceSP image, int x, int y, int w, int h);
92
93 struct Private;
94 Private* const d;
95};
96
98
99#endif // KIS_GBR_BRUSH_
100
virtual void setBrushTipImage(const QImage &image)
void toXML(QDomDocument &d, QDomElement &e) const override
KisGbrBrush & operator=(const KisGbrBrush &rhs)
QPair< QString, QString > resourceType() const override
Private *const d
KisSharedPtr< KisQImagemask > KisQImagemaskSP
QSharedPointer< KisGbrBrush > KisGbrBrushSP
const QString GbrBrushes
const QString Brushes
virtual KoResourceSP clone() const =0
virtual QString defaultFileExtension() const
virtual bool saveToDevice(QIODevice *dev) const
virtual bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface)=0