SystemGui/Sources/Tower/LightShowWidget.h
2021-04-11 13:18:40 -04:00

48 lines
927 B
C++

#ifndef LIGHTSHOWWIDGET_H
#define LIGHTSHOWWIDGET_H
#include <QGraphicsView>
#include <QWheelEvent>
#include "LedStringWidget.h"
#include <QObject>
#define PAN_SPEED 1
class CLightShowWidget : public QGraphicsView
{
Q_OBJECT
public:
CLightShowWidget(QWidget *parent = 0);
void ScaleView(qreal scaleFactor);
void Pan(QPointF delta);
void showEvent(QShowEvent *event);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
bool mDoMousePan;
qreal mScale;
QPoint mLasMousePos;
QGraphicsRectItem *mViewportRect, *mSceneRect, *mLedStringRect;
QGraphicsScene *mScene;
QTransform mCurTransform, mNominalTransform;
CLedStringWidget *mLedStringWidget;
public slots:
void ZoomIn();
void ZoomOut();
protected:
void wheelEvent(QWheelEvent *event);
};
#endif // LIGHTSHOWWIDGET_H