#ifndef RADARPROCESSOR_H #define RADARPROCESSOR_H #include #include #include #include #include /** @author ringwraith */ class radarProcessor : public QObject, public QThread { Q_OBJECT public: QCanvasPixmapArray *radarMap; void run(); bool processingDone; radarProcessor(QObject *parent = 0, const char *name = 0); ~radarProcessor(); public slots: void scaleFrame(); void doneFrames(int status); private: QMovie *radarMovie; QString basePath; }; #endif #include "radarprocessor.h" #include #include void radarProcessor::doneFrames(int status) { if (status == QMovie::EndOfLoop) { radarMovie->pause(); processingDone = true; } } void radarProcessor::scaleFrame() { QImage pm; pm = radarMovie->frameImage(); pm = pm.smoothScale(1024,768); QCanvasPixmap *pix; pix= new QCanvasPixmap(pm); radarMap->setImage(radarMovie->frameNumber(),pix); } void radarProcessor::run() { QDir dir; basePath = dir.homeDirPath() + "/.kforecaststar/"; radarMovie = new QMovie (basePath+"reports/NatLoop.gif"); radarMovie->connectUpdate(this,SLOT(scaleFrame())); radarMovie->connectStatus(this,SLOT(doneFrames(int))); radarMap = new QCanvasPixmapArray("aldalskjdlsajdlj129087012ujejlknlsdnasd"); } radarProcessor::radarProcessor(QObject *parent , const char *name ) : QObject(parent,name) { } radarProcessor::~radarProcessor() { }