#ifndef RENDERCHILD_HPP #define RENDERCHILD_HPP #include #include #include #include #include class RenderChild : public QThread { Q_OBJECT public: explicit RenderChild(QImage* image, const int id, QObject *parent = 0); virtual ~RenderChild(); void assign(const int y, const int length); const int getId() const { return id; } signals: void drawLine(const int y); void threadFinished(); public slots: void startCalc(); void abortCalc(); void terminateCalc(); void pauseCalc(const bool pause); protected: void run(); private: QImage *image; QRgb color; int sl; int id; unsigned int y; unsigned int length; static QMutex mutex; QMutex localmutex; QWaitCondition condition; bool abort; bool terminate; bool pause; bool init; }; #endif // RENDERCHILD_HPP