#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;
    QChar effType{0};
    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
