1 /* This file is part of the KDE project
2  *   Copyright (C) 2006 Thorsten Zachmann <zachmann@kde.org>
3  *   Copyright (C) 2007 Thomas Zander <zander@kde.org>
4  *
5  *   This library is free software; you can redistribute it and/or
6  *   modify it under the terms of the GNU Library General Public
7  *   License as published by the Free Software Foundation; either
8  *   version 2 of the License, or (at your option) any later version.
9  *
10  *   This library is distributed in the hope that it will be useful,
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  *   Library General Public License for more details.
14  *
15  *   You should have received a copy of the GNU Library General Public License
16  *   along with this library; see the file COPYING.LIB.  If not, write to
17  *   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 #ifndef KOPARAMETERCHANGESTRATEGYPRIVATE_H
22 #define KOPARAMETERCHANGESTRATEGYPRIVATE_H
23 
24 #include "KoInteractionStrategy_p.h"
25 #include "KoParameterShape.h"
26 
27 class KoParameterChangeStrategyPrivate : public KoInteractionStrategyPrivate
28 {
29 public:
KoParameterChangeStrategyPrivate(KoToolBase * owner,KoParameterShape * paramShape,int handle)30     KoParameterChangeStrategyPrivate(KoToolBase *owner, KoParameterShape *paramShape, int handle)
31         : KoInteractionStrategyPrivate(owner), parameterShape(paramShape), handleId(handle)
32         , startPoint(paramShape->shapeToDocument(paramShape->handlePosition(handle)))
33         , lastModifierUsed(0)
34     {
35         // initialize release point with start point position to prevent
36         // change when just clicking a handle without moving the mouse
37         releasePoint = startPoint;
38     }
39     KoParameterShape * const parameterShape; ///< the parametric shape we are working on
40     const int handleId;                      ///< the id of the control point
41     const QPointF startPoint;                ///< the starting position of the control point
42     QPointF releasePoint;
43     Qt::KeyboardModifiers lastModifierUsed;
44 };
45 
46 #endif // KOPARAMETERCHANGESTRATEGYPRIVATE_H
47