|
|
| RainDropFilter (DImg *const orgImage, QObject *const parent=nullptr, int drop=80, int amount=150, int coeff=30, const QRect &selection=QRect(0, 0, 0, 0)) |
| |
|
| RainDropFilter (QObject *const parent=nullptr) |
| |
| FilterAction | filterAction () override |
| |
| QString | filterIdentifier () const override |
| |
| void | readParameters (const FilterAction &action) override |
| |
| | DImgThreadedFilter (DImg *const orgImage, QObject *const parent, const QString &name=QString()) |
| | Constructs a filter with all arguments (ready to use).
|
| |
| | DImgThreadedFilter (QObject *const parent=nullptr, const QString &name=QString()) |
| | Constructs a filter without argument.
|
| |
| virtual void | cancelFilter () |
| | Cancel the threaded computation.
|
| |
|
const QString & | filterName () |
| |
|
int | filterVersion () const |
| |
|
DImg | getTargetImage () |
| |
| QList< int > | multithreadedSteps (int stop, int start=0) const |
| | This method return a list of steps to process parallelized operation in filter using QtConcurrents API.
|
| |
| virtual bool | parametersSuccessfullyRead () const |
| | Optional error handling for readParameters.
|
| |
|
virtual QString | readParametersError (const FilterAction &actionThatFailed) const |
| |
|
void | setFilterName (const QString &name) |
| |
| void | setFilterVersion (int version) |
| | Replaying a filter action: Set the filter version.
|
| |
|
void | setOriginalImage (const DImg &orgImage) |
| |
|
void | setupAndStartDirectly (const DImg &orgImage, DImgThreadedFilter *const master, int progressBegin=0, int progressEnd=100) |
| | Initializes the filter for use as a slave and directly starts computation (in-thread)
|
| |
| void | setupFilter (const DImg &orgImage) |
| | You need to call this and then start filter of you used the constructor not setting an original image.
|
| |
|
virtual void | startFilter () |
| | Start the threaded computation.
|
| |
|
virtual void | startFilterDirectly () |
| | Start computation of this filter, directly in this thread.
|
| |
|
virtual QList< int > | supportedVersions () const |
| |
| | DynamicThread (QObject *const parent=nullptr) |
| | This class extends QRunnable, so you have to reimplement virtual void run().
|
| |
|
| ~DynamicThread () override |
| | The destructor calls stop() and wait(), but if you, in your destructor, delete any data that is accessed by your run() method, you must call stop() and wait() before yourself.
|
| |
|
bool | isFinished () const |
| |
|
bool | isRunning () const |
| |
|
QThread::Priority | priority () const |
| |
|
void | setEmitSignals (bool emitThem) |
| |
| void | setPriority (QThread::Priority priority) |
| | Sets the priority for this dynamic thread.
|
| |
|
State | state () const |
| |
|
| enum | State { Inactive
, Scheduled
, Running
, Deactivating
} |
| |
|
void | start () |
| |
|
void | stop () |
| | Stop computation, sets the running flag to false.
|
| |
| void | wait () |
| | Waits until the thread finishes.
|
| |
| void | signalFinished (bool success) |
| | Emitted when the computation has completed.
|
| |
|
void | signalProgress (int progress) |
| | Emitted when progress info from the calculation is available.
|
| |
|
void | signalStarted () |
| | This signal is emitted when image data is available and the computation has started.
|
| |
|
void | finished () |
| |
|
void | starting () |
| | Emitted if emitSignals is enabled.
|
| |
| | DImgThreadedFilter (DImgThreadedFilter *const master, const DImg &orgImage, const DImg &destImage, int progressBegin=0, int progressEnd=100, const QString &name=QString()) |
| | Support for chaining two filters as master and thread.
|
| |
| virtual void | cleanupFilter () |
| | Clean up filter data if necessary, called by stopComputation() method.
|
| |
| virtual void | initFilter () |
| | Start filter operation before threaded method.
|
| |
|
void | initMaster () |
| |
| void | initSlave (DImgThreadedFilter *const master, int progressBegin=0, int progressEnd=100) |
| | Initialize the filter for use as a slave - reroutes progress info to master.
|
| |
| virtual int | modulateProgress (int progress) |
| | This method modulates the progress value from the 0..100 span to the span of this slave.
|
| |
| virtual void | postProgress (int progress) |
| | Emit progress info.
|
| |
|
virtual void | prepareDestImage () |
| |
| void | run () override |
| | List of threaded operations by filter.
|
| |
| void | setSlave (DImgThreadedFilter *const slave) |
| | Inform the master that there is currently a slave.
|
| |
|
bool | runningFlag () const volatile |
| | In you run() method, you shall regularly check for runningFlag() and cleanup and return if false.
|
| |
| virtual void | shutDown () |
| | If you are deleting data in your destructor which is accessed from the thread, do one of the following from your destructor to guarantee a safe shutdown: 1) Call this method 2) Call stop() and wait(), knowing that nothing will call start() anymore after this 3) Be sure the thread will never be running at destruction.
|
| |
| void | start (QMutexLocker< QMutex > &locker) |
| | Doing the same as start(), stop() and wait above, provide it with a locked QMutexLocker on mutex().
|
| |
|
void | stop (const QMutexLocker< QMutex > &locker) |
| |
| QMutex * | threadMutex () const |
| | This is the non-recursive mutex used to protect state variables and waiting in this class.
|
| |
|
void | wait (QMutexLocker< QMutex > &locker) |
| |
|
DImg | m_destImage |
| | Output image data.
|
| |
| DImgThreadedFilter * | m_master = nullptr |
| | The master of this slave filter.
|
| |
|
QString | m_name |
| | Filter name.
|
| |
|
DImg | m_orgImage |
| | Copy of original Image data.
|
| |
|
int | m_progressBegin = 0 |
| | The progress span that a slave filter uses in the parent filter's progress.
|
| |
|
int | m_progressCurrent = 0 |
| | To prevent signals bombarding with progress indicator value in postProgress().
|
| |
|
int | m_progressSpan = 0 |
| |
| DImgThreadedFilter * | m_slave = nullptr |
| | The current slave.
|
| |
|
int | m_version = 1 |
| |
|
bool | m_wasCancelled = false |
| |