Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abr_brush_collection.h
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#ifndef KIS_ABR_BRUSH_COLLECTION_H
9#define KIS_ABR_BRUSH_COLLECTION_H
10
11#include <QImage>
12#include <QDataStream>
13#include <QString>
14#include <kis_debug.h>
15
17#include <kis_types.h>
18#include <kis_shared.h>
20#include <kis_abr_brush.h>
21
22
23class QString;
24class QIODevice;
25
26
27struct AbrInfo;
28
32class BRUSH_EXPORT KisAbrBrushCollection
33{
34
35protected:
36
37public:
38
40 KisAbrBrushCollection(const QString& filename);
41
43
44 bool load();
45
46 bool loadFromDevice(QIODevice *dev);
47
48 bool save();
49
50 bool saveToDevice(QIODevice* dev) const;
51
52 bool isLoaded() const;
53
57 QImage image() const;
58
62 QString defaultFileExtension() const;
63
65 return m_abrBrushes->values();
66 }
67
69 return m_abrBrushes;
70 }
71
72 KisAbrBrushSP brushByName(QString name) const {
73 if (m_abrBrushes->contains(name)) {
74 return m_abrBrushes.data()->operator[](name);
75 }
76 return KisAbrBrushSP();
77 }
78
79 QDateTime lastModified() const {
80 return m_lastModified;
81 }
82
83 QString filename() const {
84 return m_filename;
85 }
86
87protected:
89
90 void toXML(QDomDocument& d, QDomElement& e) const;
91
92private:
93
94 qint32 abr_brush_load(QDataStream & abr, AbrInfo *abr_hdr, const QString filename, qint32 image_ID, qint32 id);
95 qint32 abr_brush_load_v12(QDataStream & abr, AbrInfo *abr_hdr, const QString filename, qint32 image_ID, qint32 id);
96 quint32 abr_brush_load_v6(QDataStream & abr, AbrInfo *abr_hdr, const QString filename, qint32 image_ID, qint32 id);
97
99 QDateTime m_lastModified;
100 QString m_filename;
102};
103
105
106#endif
107
QSharedPointer< QMap< QString, KisAbrBrushSP > > brushesMap() const
QSharedPointer< QMap< QString, KisAbrBrushSP > > m_abrBrushes
KisAbrBrushSP brushByName(QString name) const
QList< KisAbrBrushSP > brushes() const
QSharedPointer< KisAbrBrush > KisAbrBrushSP
QSharedPointer< KisAbrBrushCollection > KisAbrBrushCollectionSP
bool loadFromDevice(QIODevice *)