00001
00002
00003
00004
00005
00006
00007 #include "DlgFilterThread.h"
00008 #include "DlgSettingsColorFilter.h"
00009
00010 DlgFilterThread::DlgFilterThread(const QPixmap &pixmapOriginal,
00011 QRgb rgbBackground,
00012 DlgSettingsColorFilter &dlgSettingsColorFilter) :
00013 m_pixmapOriginal (pixmapOriginal),
00014 m_rgbBackground (rgbBackground),
00015 m_dlgSettingsColorFilter (dlgSettingsColorFilter),
00016 m_dlgFilterWorker (0)
00017 {
00018 }
00019
00020 void DlgFilterThread::run ()
00021 {
00022
00023 if (m_dlgFilterWorker == 0) {
00024
00025 m_dlgFilterWorker = new DlgFilterWorker (m_pixmapOriginal,
00026 m_rgbBackground);
00027
00028
00029 connect (&m_dlgSettingsColorFilter, SIGNAL (signalApplyFilter (ColorFilterMode, double, double)),
00030 m_dlgFilterWorker, SLOT (slotNewParameters (ColorFilterMode, double, double)));
00031
00032
00033 connect (m_dlgFilterWorker, SIGNAL (signalTransferPiece (int, QImage)),
00034 &m_dlgSettingsColorFilter, SLOT (slotTransferPiece (int, QImage)));
00035 }
00036
00037 exec ();
00038 }