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

0001 /*
0002  *  SPDX-License-Identifier: GPL-3.0-or-later
0003  */
0004 
0005 #ifndef KOMESHGRADIENTBACKGROUND_H
0006 #define KOMESHGRADIENTBACKGROUND_H
0007 
0008 #include "KoShapeBackground.h"
0009 #include <QSharedDataPointer>
0010 #include "SvgMeshGradient.h"
0011 
0012 class KRITAFLAKE_EXPORT KoMeshGradientBackground : public KoShapeBackground
0013 {
0014 public:
0015     KoMeshGradientBackground(const SvgMeshGradient *gradient, const QTransform &matrix = QTransform());
0016     ~KoMeshGradientBackground();
0017 
0018     // Work around MSVC inability to generate copy ops with QSharedDataPointer.
0019     KoMeshGradientBackground(const KoMeshGradientBackground &);
0020     KoMeshGradientBackground& operator=(const KoMeshGradientBackground &);
0021 
0022     void paint(QPainter &painter, const QPainterPath &fillPath) const override;
0023 
0024     bool compareTo(const KoShapeBackground *other) const override;
0025 
0026     SvgMeshGradient* gradient();
0027     QTransform transform();
0028 
0029 private:
0030     class Private;
0031     QSharedDataPointer<Private> d;
0032 };
0033 
0034 
0035 #endif // KOMESHGRADIENTBACKGROUND_H