Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

gany.sh

  • animhandler.h 1.07 KiB
    #ifndef ANIMHANDLER_H
    #define ANIMHANDLER_H
    
    #include <QThread>
    #include <QDebug>
    #include <QFile>
    #include "animation.h"
    #include "spisender.h"
    
    class AnimHandler: public QThread
    {
        Q_OBJECT
        void run() override;
    private:
        uint32_t progress = 0;
        bool exitThread = false;
        enum Mode {STOP=0, RUN, PAUSE};
        enum Mode mode = STOP;
        enum Mode lastmode = mode;
        Animation anim;
        SpiSender spisender;
    
    public:
        AnimHandler();
        void openFile(const QString filepath);
    
    public slots:
        void start();
        void pause();
        void stop();
        void enableExit();
    
    signals:
        void onPaused();
        void onStarted();
        void onStoped();
        void progressUpdate(uint32_t progress);
        void resultReady(const QString &result);
    };
    
    class Alma: public QObject
    {
        Q_OBJECT
    AnimHandler* animhandler;
    public:
        Alma() {
            animhandler = new AnimHandler;
            connect(this, &Alma::exit, animhandler, &AnimHandler::enableExit);
            animhandler->start();
            emit exit();
        }
    
        ~Alma() {
        }
    
    signals:
        void exit();
    };
    
    
    
    #endif // ANIMHANDLER_H