All Classes Namespaces Functions Variables Enumerations Properties Pages
handtool.h
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 
18 #ifndef HANDTOOL_H
19 #define HANDTOOL_H
20 
21 #include "basetool.h"
22 
23 
24 class HandTool : public BaseTool
25 {
26  Q_OBJECT
27 public:
28  explicit HandTool( QObject* parent = 0 );
29  ToolType type() override { return HAND; }
30  void loadSettings() override;
31  QCursor cursor() override;
32 
33  void pointerPressEvent(PointerEvent *) override;
34  void pointerReleaseEvent(PointerEvent *) override;
35  void pointerMoveEvent(PointerEvent *) override;
36  void pointerDoubleClickEvent(PointerEvent *) override;
37 
38  virtual bool isActive() override { return false; }
39 
40 private:
41  void transformView(Qt::KeyboardModifiers keyMod, Qt::MouseButtons buttons);
42 
43  QPointF mLastPixel;
44  QPointF mStartPoint;
45  bool mIsHeld = false;
46 };
47 
48 #endif
typedef KeyboardModifiers
virtual bool isActive() override
Check if the tool is active.
Definition: handtool.h:38
typedef MouseButtons
Q_OBJECTQ_OBJECT
QObject * parent() const const