qt/LedOK/player/elemultipng.h

38 lines
948 B
C
Raw Normal View History

2023-04-18 14:14:46 +08:00
#ifndef ELEMULTIPNG_H
#define ELEMULTIPNG_H
#include <QWidget>
#include <QRandomGenerator>
class EleSplitPng;
class EleMultiPng : public QWidget {
Q_OBJECT
public:
explicit EleMultiPng(QString, QJsonArray, QWidget *parent = nullptr);
void startMove();
QVector<QPixmap> imgs;
int timerId = 0, moveTimerId = 0;
int picDur = 0, EffDur = 0, moveInter = 0, movePx = 0, imgc = 0, imgx = 0, imgy = 0;
2023-04-19 14:42:06 +08:00
QChar effType{0};
2023-04-18 14:14:46 +08:00
QRandomGenerator rand;
bool needRand = false;
QList<EleSplitPng*> splits;
protected:
void paintEvent(QPaintEvent *) override;
void timerEvent(QTimerEvent *) override;
};
class EleSplitPng : public QWidget {
Q_OBJECT
public:
explicit EleSplitPng(EleMultiPng *multiPng, QWidget *parent) : QWidget{parent}, multiPng(multiPng) {}
protected:
void paintEvent(QPaintEvent *) override;
EleMultiPng *multiPng;
};
#endif // ELEMULTIPNG_H