00001
00002
00003
00004
00005
00006
00007 #ifndef DLG_FILTER_WORKER_H
00008 #define DLG_FILTER_WORKER_H
00009
00010 #include "ColorFilterMode.h"
00011 #include "DlgFilterCommand.h"
00012 #include <QImage>
00013 #include <QList>
00014 #include <QObject>
00015 #include <QPixmap>
00016 #include <QRgb>
00017 #include <QTimer>
00018
00019 typedef QList<DlgFilterCommand> FilterCommandQueue;
00020
00022 class DlgFilterWorker : public QObject
00023 {
00024 Q_OBJECT;
00025
00026 public:
00028 DlgFilterWorker(const QPixmap &pixmapOriginal,
00029 QRgb m_rgbBackground);
00030
00031 public slots:
00033 void slotNewParameters (ColorFilterMode colorFilterMode,
00034 double low,
00035 double high);
00036
00037 private slots:
00038 void slotRestartTimeout ();
00039
00040 signals:
00042 void signalTransferPiece (int xLeft,
00043 QImage image);
00044
00045 private:
00046 DlgFilterWorker();
00047
00048 QImage m_imageOriginal;
00049 QRgb m_rgbBackground;
00050
00051 FilterCommandQueue m_inputCommandQueue;
00052 ColorFilterMode m_colorFilterMode;
00053 double m_low;
00054 double m_high;
00055
00056 int m_xLeft;
00057 QTimer m_restartTimer;
00058 };
00059
00060 #endif // DLG_FILTER_WORKER_H