18#include "kis_filter.h"
23#include "kis_filter_configuration.h"
26 : KisProgressSubject(0, id.id().latin1())
28 , m_progressDisplay(0)
29 , m_category(category)
49void KisFilter::setProgressDisplay(KisProgressDisplayInterface * progressDisplay)
51 m_progressDisplay = progressDisplay;
55void KisFilter::enableProgress() {
56 m_progressEnabled =
true;
57 m_cancelRequested =
false;
60void KisFilter::disableProgress() {
61 m_progressEnabled =
false;
62 m_cancelRequested =
false;
63 m_progressDisplay = 0;
66void KisFilter::setProgressTotalSteps(TQ_INT32 totalSteps)
68 if (m_progressEnabled) {
70 m_progressTotalSteps = totalSteps;
71 m_lastProgressPerCent = 0;
73 emit notifyProgress(0);
77void KisFilter::setProgress(TQ_INT32 progress)
79 if (m_progressEnabled) {
80 TQ_INT32 progressPerCent = (progress * 100) / m_progressTotalSteps;
81 m_progressSteps = progress;
83 if (progressPerCent != m_lastProgressPerCent) {
85 m_lastProgressPerCent = progressPerCent;
86 emit notifyProgress(progressPerCent);
91void KisFilter::incProgress()
93 setProgress(++m_progressSteps);
97void KisFilter::setProgressStage(
const TQString& stage, TQ_INT32 progress)
99 if (m_progressEnabled) {
101 TQ_INT32 progressPerCent = (progress * 100) / m_progressTotalSteps;
103 m_lastProgressPerCent = progressPerCent;
104 emit notifyProgressStage(stage, progressPerCent);
108void KisFilter::setProgressDone()
110 if (m_progressEnabled) {
111 emit notifyProgressDone();
116bool KisFilter::autoUpdate() {
120void KisFilter::setAutoUpdate(
bool set) {
126 rect.rLeft() -= margin;
127 rect.rTop() -= margin;
128 rect.rRight() += margin;
129 rect.rBottom() += margin;
133#include "kis_filter.moc"
A KisFilterConfiguration is the serializable representation of the filter parameters.
virtual int overlapMarginNeeded(KisFilterConfiguration *=0) const
Used when threading is used – the overlap margin is passed to the filter to use to compute pixels,...
virtual KisFilterConfigWidget * createConfigurationWidget(TQWidget *parent, KisPaintDeviceSP dev)
KisFilter(const KisID &id, const TQString &category, const TQString &entry)
Construct a Chalk filter.
virtual TQRect enlargeRect(TQRect rect, KisFilterConfiguration *=0) const
Similar to overlapMarginNeeded: some filters will alter a lot of pixels that are near to each other a...
virtual KisFilterConfiguration * configuration()
Chalk has a large number of extensible resources.