#ifndef MONITORSCENE_H
#define MONITORSCENE_H
+#include <QtCore>
#include <QGraphicsScene>
-#include <QTime>
-class QGraphicsPixmapItem;
class Render;
+enum resizeModes { NoResize, TopLeft, BottomLeft, TopRight, BottomRight, Left, Right, Top, Bottom };
+
class MonitorScene : public QGraphicsScene
{
Q_OBJECT
public:
MonitorScene(Render *renderer, QObject* parent = 0);
void setUp();
+ void setEnabled(bool enabled = true);
+ void resetProfile();
protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+ virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
public slots:
void slotUpdateBackground();
+ void slotSetDirectUpdate(bool directUpdate);
+
+ void slotZoom(int value);
+ void slotZoomFit();
+ void slotZoomOriginal();
+ void slotZoomIn();
+ void slotZoomOut();
+
+private slots:
+ void slotSetBackgroundImage(const QImage &image);
private:
+ resizeModes getResizeMode(QGraphicsRectItem *item, QPoint pos);
+
Render *m_renderer;
QGraphicsPixmapItem *m_background;
QGraphicsRectItem *m_frameBorder;
QTime m_lastUpdate;
+ QGraphicsView *m_view;
+ QGraphicsItem *m_selectedItem;
+ resizeModes m_resizeMode;
+ QPointF m_clickPoint;
+ QImage m_backgroundImage;
+ bool m_enabled;
+ bool m_modified;
+ qreal m_zoom;
+
signals:
void actionFinished();
+ void zoomChanged(int);
+ void addKeyframe();
};
#endif