File indexing completed on 2024-05-12 15:56:12

0001 /*
0002  *  SPDX-FileCopyrightText: 2010 Cyrille Berger <cberger@cberger.net>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KIS_SVG_BRUSH_
0008 #define KIS_SVG_BRUSH_
0009 
0010 #include "kis_scaling_size_brush.h"
0011 
0012 class BRUSH_EXPORT KisSvgBrush : public KisScalingSizeBrush
0013 {
0014 public:
0015     /// Construct brush to load filename later as brush
0016     KisSvgBrush(const QString &filename);
0017     KisSvgBrush(const KisSvgBrush &rhs);
0018     KisSvgBrush &operator=(const KisSvgBrush &rhs) = delete;
0019 
0020     KoResourceSP clone() const override;
0021 
0022     bool loadFromDevice(QIODevice *dev, KisResourcesInterfaceSP resourcesInterface) override;
0023     bool saveToDevice(QIODevice *dev) const override;
0024 
0025     QPair<QString, QString> resourceType() const override {
0026         return QPair<QString, QString>(ResourceType::Brushes, ResourceSubType::SvgBrushes);
0027     }
0028 
0029     QString defaultFileExtension() const override;
0030     void toXML(QDomDocument& d, QDomElement& e) const override;
0031 private:
0032     QByteArray m_svg;
0033 };
0034 
0035 #endif