File indexing completed on 2024-05-26 04:26:41

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2006 Jan Hambrecht <jaham@gmx.net>
0003  * SPDX-FileCopyrightText: 2006 Thorsten Zachmann <zachmann@kde.org>
0004  *
0005  * SPDX-License-Identifier: LGPL-2.0-or-later
0006  */
0007 
0008 #ifndef KOPATHPOINTRUBBERSELECTSTRATEGY_H
0009 #define KOPATHPOINTRUBBERSELECTSTRATEGY_H
0010 
0011 #include "KoShapeRubberSelectStrategy.h"
0012 
0013 class KoPathTool;
0014 
0015 /**
0016  * @brief Strategy to rubber select points of a path shape
0017  */
0018 class KoPathPointRubberSelectStrategy : public KoShapeRubberSelectStrategy
0019 {
0020 public:
0021     KoPathPointRubberSelectStrategy(KoPathTool *tool, const QPointF &clicked);
0022     ~KoPathPointRubberSelectStrategy() override {}
0023 
0024     void handleMouseMove(const QPointF &p, Qt::KeyboardModifiers modifiers) override;
0025     void finishInteraction(Qt::KeyboardModifiers modifiers) override;
0026     void cancelInteraction() override;
0027 
0028 private:
0029     /// pointer to the path tool
0030     KoPathTool *m_tool;
0031     Q_DECLARE_PRIVATE(KoShapeRubberSelectStrategy)
0032 };
0033 
0034 #endif /* KOPATHPOINTRUBBERSELECTSTRATEGY_H */