00001 #ifndef CALCULIMAGE_H 00002 #define CALCULIMAGE_H 00003 00004 #include <QtConcurrentRun> 00005 #include <QtConcurrentMap> 00006 #include <QThread> 00007 #include <QFuture> 00008 #include <QFutureWatcher> 00009 #include <QImage> 00010 #include <QColor> 00011 #include <QDebug> 00012 #include <math.h> 00013 00014 #include "generator/generator.h" 00015 #include "fractals/fractal.h" 00016 #include "accumulator/accumulator.h" 00017 00025 class CalculImage : public QThread 00026 { 00027 Q_OBJECT 00028 00029 QImage _result; 00030 00031 Generator * _gen; 00032 Fractal * _fractale; 00033 Accumulator * _accu; 00034 00035 QFutureWatcher<void> * _watcher; 00036 00037 public: 00038 CalculImage(Generator * gen, Fractal * fractale, Accumulator * accu); 00039 virtual void run(); 00040 QImage result(); 00041 00042 private slots : 00043 void progress(int); 00044 00045 signals: 00046 void progressValueChanged(int value); 00047 void setRange(int min, int max); 00048 }; 00049 00050 #endif // CALCULIMAGE_H