|
Krita Source Code Documentation
|
#include <kis_signal_compressor_with_param.h>
Public Types | |
| using | CallbackFunction = std::function<void (T)> |
Public Member Functions | |
| bool | isActive () const |
| KisSignalCompressorWithParam (int delay, CallbackFunction function, KisSignalCompressor::Mode mode=KisSignalCompressor::FIRST_ACTIVE) | |
| void | setDelay (int value) |
| void | start (T param) |
| void | stop () |
| ~KisSignalCompressorWithParam () | |
Private Member Functions | |
| void | fakeSlotTimeout () |
Private Attributes | |
| KisSignalCompressor | m_compressor |
| T | m_currentParamValue |
| CallbackFunction | m_function |
| QScopedPointer< SignalToFunctionProxy > | m_signalProxy |
A special class for deferring and compressing events with one parameter of type T. This works like KisSignalCompressor but can handle events with one parameter. Due to limitation of the Qt this doesn't allow signal/slots, so it uses std::function instead.
In the end (after a timeout) the latest param value is returned to the callback.
Usage:
\code{.cpp}
using namespace std::placeholders; // For _1 placeholder
// prepare the callback function
std::function<void (qreal)> callback(
std::bind(&LutDockerDock::setCurrentExposureImpl, this, _1));
// Create the compressor object
KisSignalCompressorWithParam<qreal> compressor(40, callback);
// When event comes:
compressor.start(0.123456);
\endcode
Definition at line 111 of file kis_signal_compressor_with_param.h.
| using KisSignalCompressorWithParam< T >::CallbackFunction = std::function<void (T)> |
Definition at line 114 of file kis_signal_compressor_with_param.h.
|
inline |
Definition at line 117 of file kis_signal_compressor_with_param.h.
References KisSignalCompressorWithParam< T >::m_compressor, KisSignalCompressorWithParam< T >::m_signalProxy, KisSignalCompressorWithParam< T >::start(), and void().
|
inline |
Definition at line 128 of file kis_signal_compressor_with_param.h.
|
inlineprivate |
Definition at line 150 of file kis_signal_compressor_with_param.h.
References KisSignalCompressorWithParam< T >::m_currentParamValue, and KisSignalCompressorWithParam< T >::m_function.
|
inline |
Definition at line 141 of file kis_signal_compressor_with_param.h.
References KisSignalCompressor::isActive(), and KisSignalCompressorWithParam< T >::m_compressor.
|
inline |
Definition at line 145 of file kis_signal_compressor_with_param.h.
References KisSignalCompressorWithParam< T >::m_compressor, KisSignalCompressor::setDelay(), and value().
|
inline |
Definition at line 132 of file kis_signal_compressor_with_param.h.
References KisSignalCompressorWithParam< T >::m_compressor, KisSignalCompressorWithParam< T >::m_currentParamValue, and KisSignalCompressor::start().
|
inline |
Definition at line 137 of file kis_signal_compressor_with_param.h.
References KisSignalCompressorWithParam< T >::m_compressor, and KisSignalCompressor::stop().
|
private |
Definition at line 155 of file kis_signal_compressor_with_param.h.
|
private |
Definition at line 158 of file kis_signal_compressor_with_param.h.
|
private |
Definition at line 156 of file kis_signal_compressor_with_param.h.
|
private |
Definition at line 157 of file kis_signal_compressor_with_param.h.