00001
00042 #ifndef AITHREAD_HPP
00043 #define AITHREAD_HPP
00044
00045 #include <QtGui>
00046 #include <QtScript>
00047
00048 #include "aizone.hpp"
00049
00050 namespace AiGenerator
00051 {
00058 class AiThread : public QThread
00059 {
00060 Q_OBJECT
00061
00062 public:
00067 AiThread( QObject * parent = 0 );
00068
00072 ~AiThread();
00073
00087 void makeZone(double x , double y ,
00088 double zoneWidth , double zoneHeight ,
00089 int imageWidth , int imageHeight ,
00090 int startPoint, int increment , int iteration, double zoom = 1., double viewx = .0, double viewy = .0 );
00091
00096 void scriptFile( const QString & file );
00097
00101 void start();
00102
00106 void stop();
00107
00112 void mode( QPainter::CompositionMode m );
00113
00117 AiZone * getZone();
00118
00122 void setZone( AiZone & zone );
00123
00124 signals:
00129 void completed( AiGenerator::AiZone * zone );
00130
00135 void progressStatus( int val );
00136
00141 void snapshot( AiGenerator::AiZone * zone );
00142
00143 protected:
00144
00148 void run();
00149
00150 private:
00154 AiZone m_zone;
00155
00159 QString m_file;
00160
00161 };
00162 }
00163 #endif // AITHREAD_HPP