File indexing completed on 2024-06-23 04:28:11

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
0003  *  SPDX-FileCopyrightText: 2020 Sharaf Zaman <sharafzaz121@gmail.com>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #ifndef __SHAPEMESHGRADIENTEDITSTRATEGY_H_
0009 #define __SHAPEMESHGRADIENTEDITSTRATEGY_H_
0010 
0011 #include <KoInteractionStrategy.h>
0012 
0013 #include "KoShapeMeshGradientHandles.h"
0014 
0015 class ShapeMeshGradientEditStrategy : public KoInteractionStrategy {
0016 public:
0017     ShapeMeshGradientEditStrategy(KoToolBase *tool,
0018                                   KoFlake::FillVariant fillVariant,
0019                                   KoShape *shape,
0020                                   KoShapeMeshGradientHandles::Handle startHandle,
0021                                   const QPointF &clicked);
0022 
0023     ~ShapeMeshGradientEditStrategy();
0024 
0025     void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override;
0026 
0027     KUndo2Command* createCommand() override;
0028 
0029     void finishInteraction(Qt::KeyboardModifiers modifiers) override;
0030 
0031 private:
0032     struct Private;
0033     QScopedPointer<Private> m_d;
0034 };
0035 
0036 #endif // __SHAPEMESHGRADIENTEDITSTRATEGY_H_