1 /* SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org>
2 
3    SPDX-License-Identifier: GPL-2.0-or-later
4 */
5 
6 #ifndef VIEWHANDLER_H
7 #define VIEWHANDLER_H
8 #include "ImageDisplay.h"
9 
10 #include <QMouseEvent>
11 #include <qpoint.h>
12 
13 class ImageDisplay;
14 class QRubberBand;
15 
16 namespace Viewer
17 {
18 
19 class ViewHandler : public QObject
20 {
21     Q_OBJECT
22 public:
23     explicit ViewHandler(ImageDisplay *display);
24     bool mousePressEvent(QMouseEvent *e, const QPoint &unTranslatedPos, double scaleFactor);
25     bool mouseReleaseEvent(QMouseEvent *e, const QPoint &unTranslatedPos, double scaleFactor);
26     bool mouseMoveEvent(QMouseEvent *e, const QPoint &unTranslatedPos, double scaleFactor);
27     void hideEvent();
28 
29 private:
30     bool m_scale, m_pan;
31     QPoint m_start, m_untranslatedStart, m_last;
32     double m_errorX, m_errorY;
33     QRubberBand *m_rubberBand;
34     ImageDisplay *m_display;
35 };
36 }
37 
38 #endif /* VIEWHANDLER_H */
39 
40 // vi:expandtab:tabstop=4 shiftwidth=4:
41