2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef SCREEN_PICKER_H
|
|
|
|
#define SCREEN_PICKER_H
|
|
|
|
|
|
|
|
#include "toonzqt/screenboard.h"
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------
|
|
|
|
|
2016-06-29 18:17:12 +12:00
|
|
|
class ScreenPicker final : public QObject, public DVGui::ScreenBoard::Drawing {
|
2016-06-15 18:43:10 +12:00
|
|
|
Q_OBJECT
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
QPoint m_start;
|
|
|
|
QRect m_geometry;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
bool m_mousePressed, m_mouseGrabbed;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
ScreenPicker(QWidget *parent = 0);
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
protected:
|
2016-06-19 20:06:29 +12:00
|
|
|
void event(QWidget *widget, QEvent *e) override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
void mousePressEvent(QWidget *widget, QMouseEvent *me);
|
|
|
|
void mouseMoveEvent(QWidget *widget, QMouseEvent *me);
|
|
|
|
void mouseReleaseEvent(QWidget *widget, QMouseEvent *me);
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-19 20:06:29 +12:00
|
|
|
void paintEvent(QWidget *widget, QPaintEvent *pe) override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-19 20:06:29 +12:00
|
|
|
bool acceptScreenEvents(const QRect &screenRect) const override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
void startGrab();
|
|
|
|
void pick();
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
#endif // SCREEN_PICKER_H
|