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