24 m_supportsLevelOfDetail(false)
26 init(
id() +
"_filter_bookmarks");
34 const QRect& applyRect,
44 const QRect& applyRect,
50 if (applyRect.isEmpty())
return;
51 QRect needRect =
neededRect(applyRect, config, src->defaultBounds()->currentLevelOfDetail());
56 bool weirdDstColorSpace =
60 if(src == dst && !selection && !weirdDstColorSpace) {
69 QScopedPointer<KoDummyUpdaterHolder> updaterHolder;
71 if (!progressUpdater) {
75 progressUpdater = updaterHolder->updater();
78 processImpl(temporary, applyRect, config, progressUpdater);
80 catch (
const std::bad_alloc&) {
81 warnKrita <<
"Filter" <<
name() <<
"failed to allocate enough memory to run.";
float value(const T *src, size_t ch)
virtual void processImpl(KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater=0) const =0
void setSupportsLevelOfDetail(bool value)
virtual bool configurationAllowedForMask(KisFilterConfigurationSP config) const
void process(const KisPaintDeviceSP src, KisPaintDeviceSP dst, KisSelectionSP selection, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater=0) const
virtual bool needsTransparentPixels(const KisFilterConfigurationSP config, const KoColorSpace *cs) const
virtual void fixLoadedFilterConfigurationForMasks(KisFilterConfigurationSP config) const
virtual QRect neededRect(const QRect &rect, const KisFilterConfigurationSP config, int lod) const
virtual QRect changedRect(const QRect &rect, const KisFilterConfigurationSP config, int lod) const
bool m_supportsLevelOfDetail
KisFilter(const KoID &id, const KoID &category, const QString &entry)
virtual bool supportsLevelOfDetail(const KisFilterConfigurationSP config, int lod) const
KisPaintDeviceSP createCompositionSourceDevice() const
virtual const KoColorSpace * compositionSourceColorSpace() const
const KoColorSpace * colorSpace() const
static void copyAreaOptimized(const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect)
A holder for an updater that does nothing.
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
KisSharedPtr< KisSelection > KisSelectionSP
void init(const QString &configEntryGroup)
bool supportsAdjustmentLayers