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