1 /* 2 * Copyright (c) 2017 Dmitry Kazakov <dimula73@gmail.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19 #ifndef SHAPEGRADIENTEDITSTRATEGY_H 20 #define SHAPEGRADIENTEDITSTRATEGY_H 21 22 #include <QScopedPointer> 23 #include <KoInteractionStrategy.h> 24 #include "KoShapeGradientHandles.h" 25 26 class ShapeGradientEditStrategy : public KoInteractionStrategy 27 { 28 public: 29 ShapeGradientEditStrategy(KoToolBase *tool, 30 KoFlake::FillVariant fillVariant, 31 KoShape *shape, 32 KoShapeGradientHandles::Handle::Type startHandleType, 33 const QPointF &clicked); 34 ~ShapeGradientEditStrategy() override; 35 36 void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override; 37 KUndo2Command *createCommand() override; 38 void finishInteraction(Qt::KeyboardModifiers modifiers) override; 39 void paint(QPainter &painter, const KoViewConverter &converter) override; 40 41 private: 42 struct Private; 43 QScopedPointer<Private> m_d; 44 }; 45 46 #endif // SHAPEGRADIENTEDITSTRATEGY_H 47