1 #pragma once
2 
3 #ifndef SCREEN_PICKER_H
4 #define SCREEN_PICKER_H
5 
6 #include "toonzqt/screenboard.h"
7 
8 #include <QWidget>
9 
10 //----------------------------------------------------------------------
11 
12 class ScreenPicker final : public QObject, public DVGui::ScreenBoard::Drawing {
13   Q_OBJECT
14 
15   QPoint m_start;
16   QRect m_geometry;
17 
18   bool m_mousePressed, m_mouseGrabbed;
19 
20 public:
21   ScreenPicker(QWidget *parent = 0);
22 
23 protected:
24   void event(QWidget *widget, QEvent *e) override;
25 
26   void mousePressEvent(QWidget *widget, QMouseEvent *me);
27   void mouseMoveEvent(QWidget *widget, QMouseEvent *me);
28   void mouseReleaseEvent(QWidget *widget, QMouseEvent *me);
29 
30   void paintEvent(QWidget *widget, QPaintEvent *pe) override;
31 
32   bool acceptScreenEvents(const QRect &screenRect) const override;
33 
34 public slots:
35 
36   void startGrab();
37   void pick();
38 };
39 
40 #endif  // SCREEN_PICKER_H
41