CCIMXDesktop
 
Loading...
Searching...
No Matches
ccpdfscrollarea.h
1#ifndef CCPDFSCROLLAREA_H
2#define CCPDFSCROLLAREA_H
3
4#include "ccpdfviewer.h"
5#include <QGestureEvent>
6#include <QScrollArea>
7#include <QTouchEvent>
8
11class CCPdfScrollArea : public QScrollArea {
12 Q_OBJECT
13public:
21 explicit CCPdfScrollArea(QWidget* parent = nullptr)
22 : QScrollArea(parent) {
23 setAttribute(Qt::WA_AcceptTouchEvents);
24 grabGesture(Qt::PinchGesture);
25 }
26
27signals:
30
31protected:
36 void mousePressEvent(QMouseEvent* event) override;
37
42 void mouseReleaseEvent(QMouseEvent* event) override;
43
48 void mouseMoveEvent(QMouseEvent* event) override;
49
54 void handleGestureEvent(QGestureEvent* event);
55
56private:
57 bool is_usr_clicked { false };
58 QPoint prev_point;
59};
60
61#endif // CCPDFSCROLLAREA_H
A custom scroll area that supports gesture-based zooming for PDF viewing.
Definition ccpdfscrollarea.h:11
void indicate_zoom(CCPdfViewer::ZoomDirection)
Emitted when a zoom gesture is detected.
void handleGestureEvent(QGestureEvent *event)
Handles gesture events such as pinch-to-zoom.
Definition ccpdfscrollarea.cpp:38
CCPdfScrollArea(QWidget *parent=nullptr)
Constructs a CCPdfScrollArea with optional parent widget.
Definition ccpdfscrollarea.h:21
void mousePressEvent(QMouseEvent *event) override
Records initial press position when mouse is pressed.
Definition ccpdfscrollarea.cpp:4
void mouseReleaseEvent(QMouseEvent *event) override
Ends click state when mouse is released.
Definition ccpdfscrollarea.cpp:13
void mouseMoveEvent(QMouseEvent *event) override
Processes dragging or scrolling when mouse is moved.
Definition ccpdfscrollarea.cpp:20
ZoomDirection
Specifies the direction of zooming.
Definition ccpdfviewer.h:74