Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
DlgFilterThread.cpp
1 #include "DlgFilterThread.h"
2 #include "DlgSettingsColorFilter.h"
3 
4 DlgFilterThread::DlgFilterThread(const QPixmap &pixmapOriginal,
5  QRgb rgbBackground,
6  DlgSettingsColorFilter &dlgSettingsColorFilter) :
7  m_pixmapOriginal (pixmapOriginal),
8  m_rgbBackground (rgbBackground),
9  m_dlgSettingsColorFilter (dlgSettingsColorFilter),
10  m_dlgFilterWorker (0)
11 {
12 }
13 
15 {
16  // Create worker only once
17  if (m_dlgFilterWorker == 0) {
18 
19  m_dlgFilterWorker = new DlgFilterWorker (m_pixmapOriginal,
20  m_rgbBackground);
21 
22  // Connect signal to start process
23  connect (&m_dlgSettingsColorFilter, SIGNAL (signalApplyFilter (ColorFilterMode, double, double)),
24  m_dlgFilterWorker, SLOT (slotNewParameters (ColorFilterMode, double, double)));
25 
26  // Connect signal to return each piece of completed processing
27  connect (m_dlgFilterWorker, SIGNAL (signalTransferPiece (int, QImage)),
28  &m_dlgSettingsColorFilter, SLOT (slotTransferPiece (int, QImage)));
29  }
30 
31  exec ();
32 }
Dialog for editing filtering settings.
DlgFilterThread(const QPixmap &pixmapOriginal, QRgb rgbBackground, DlgSettingsColorFilter &dlgSettingsColorFilter)
Single constructor.
Class for processing new filter settings. This is based on http://blog.debao.me/2013/08/how-to-use-qw...
virtual void run()
Run this thread.
void signalTransferPiece(int xLeft, QImage image)
Send a processed vertical piece of the original pixmap. The destination is between xLeft and xLeft+pi...