|
Krita Source Code Documentation
|
#include <kis_filter.h>
Inheritance diagram for KisFilter:Public Member Functions | |
| virtual QRect | changedRect (const QRect &rect, const KisFilterConfigurationSP config, int lod) const |
| virtual bool | configurationAllowedForMask (KisFilterConfigurationSP config) const |
| virtual void | fixLoadedFilterConfigurationForMasks (KisFilterConfigurationSP config) const |
| KisFilter (const KoID &id, const KoID &category, const QString &entry) | |
| virtual QRect | neededRect (const QRect &rect, const KisFilterConfigurationSP config, int lod) const |
| virtual bool | needsTransparentPixels (const KisFilterConfigurationSP config, const KoColorSpace *cs) const |
| void | process (const KisPaintDeviceSP src, KisPaintDeviceSP dst, KisSelectionSP selection, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater=0) const |
| void | process (KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater=0) const |
| virtual void | processImpl (KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater=0) const =0 |
| virtual bool | supportsLevelOfDetail (const KisFilterConfigurationSP config, int lod) const |
| ~KisFilter () override | |
Public Member Functions inherited from KisBaseProcessor | |
| KisBookmarkedConfigurationManager * | bookmarkManager () |
| const KisBookmarkedConfigurationManager * | bookmarkManager () const |
| ColorSpaceIndependence | colorSpaceIndependence () const |
| virtual KisConfigWidget * | createConfigurationWidget (QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const |
| virtual KisFilterConfigurationSP | defaultConfiguration (KisResourcesInterfaceSP resourcesInterface) const |
| virtual KisFilterConfigurationSP | factoryConfiguration (KisResourcesInterfaceSP resourcesInterface) const |
| QString | id () const |
| KisBaseProcessor (const KoID &id, const KoID &category, const QString &entry) | |
| KoID | menuCategory () const |
| QString | menuEntry () const |
| QString | name () const |
| Private () | |
| QKeySequence | shortcut () const |
| bool | showConfigurationWidget () |
| If true, the filter wants to show a configuration widget. | |
| bool | supportsAdjustmentLayers () const |
| This filter can be used in adjustment layers. | |
| bool | supportsPainting () const |
| bool | supportsThreading () const |
| virtual | ~KisBaseProcessor () |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KisShared | |
| bool | deref () |
| bool | ref () |
| int | refCount () |
| QAtomicInt * | sharedWeakReference () |
Protected Member Functions | |
| QString | configEntryGroup () const |
| void | setSupportsLevelOfDetail (bool value) |
Protected Member Functions inherited from KisBaseProcessor | |
| void | init (const QString &configEntryGroup) |
| void | setColorSpaceIndependence (ColorSpaceIndependence v) |
| void | setShortcut (const QKeySequence &shortcut) |
| void | setShowConfigurationWidget (bool v) |
| void | setSupportsAdjustmentLayers (bool v) |
| void | setSupportsPainting (bool v) |
| void | setSupportsThreading (bool v) |
Protected Member Functions inherited from KisShared | |
| KisShared () | |
| ~KisShared () | |
Private Attributes | |
| bool | m_supportsLevelOfDetail |
Additional Inherited Members | |
Public Attributes inherited from KisBaseProcessor | |
| KisBookmarkedConfigurationManager * | bookmarkManager |
| KoID | category |
| ColorSpaceIndependence | colorSpaceIndependence |
| QString | entry |
| KoID | id |
| QKeySequence | shortcut |
| bool | showConfigurationWidget |
| bool | supportsAdjustmentLayers |
| bool | supportsPainting |
| bool | supportsThreading |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Basic interface of a Krita filter.
Definition at line 26 of file kis_filter.h.
Construct a Krita filter
Definition at line 22 of file kis_filter.cc.
References KisBaseProcessor::init().
|
override |
Definition at line 29 of file kis_filter.cc.
|
virtual |
Similar to neededRect : some filters will alter a lot of pixels that are near to each other at the same time. So when you changed a single rectangle in a device, the actual rectangle that will feel the influence of this change might be bigger. Use this function to determine that rect.
Reimplemented in KisBlurFilter, KisGaussianBlurFilter, KisLensBlurFilter, KisMotionBlurFilter, KisConvertHeightToNormalMapFilter, KisConvolutionFilter, KisEdgeDetectionFilter, KisGaussianHighPassFilter, KisSimpleNoiseReducer, KisOilPaintFilter, KisUnsharpFilter, KisFilterPhongBumpmap, KisPixelizeFilter, KisPropagateColorsFilter, KisFilterRandomPick, and KisFilterWave.
Definition at line 98 of file kis_filter.cc.
|
protected |
|
virtual |
Reimplemented in KisGaussianBlurFilter.
Definition at line 125 of file kis_filter.cc.
References KisBaseProcessor::supportsAdjustmentLayers.
|
virtual |
Reimplemented in KisGaussianBlurFilter.
Definition at line 131 of file kis_filter.cc.
|
virtual |
Some filters need pixels outside the current processing rect to compute the new value (for instance, convolution filters)
Reimplemented in KisBlurFilter, KisGaussianBlurFilter, KisLensBlurFilter, KisMotionBlurFilter, KisConvertHeightToNormalMapFilter, KisConvolutionFilter, KisEdgeDetectionFilter, KisGaussianHighPassFilter, KisSimpleNoiseReducer, KisOilPaintFilter, KisUnsharpFilter, KisFilterPhongBumpmap, KisPixelizeFilter, KisPropagateColorsFilter, KisFilterRandomPick, and KisFilterWave.
Definition at line 91 of file kis_filter.cc.
|
virtual |
Reimplemented in KisFilterASCCDL, KisMultiChannelFilter, KisFilterInvert, KisPropagateColorsFilter, and KisResetTransparentFilter.
Definition at line 117 of file kis_filter.cc.
| void KisFilter::process | ( | const KisPaintDeviceSP | src, |
| KisPaintDeviceSP | dst, | ||
| KisSelectionSP | selection, | ||
| const QRect & | applyRect, | ||
| const KisFilterConfigurationSP | config, | ||
| KoUpdater * | progressUpdater = 0 ) const |
Filter src device and write the result into dst device. If dst is an alpha color space device, it will get special treatment.
| src | the source paint device |
| dst | the destination paint device |
| selection | the selection |
| applyRect | the rectangle where the filter is applied |
| config | the parameters of the filter |
| progressUpdater | to pass on the progress the filter is making |
Definition at line 41 of file kis_filter.cc.
References KisPaintDevice::colorSpace(), KisPaintDevice::compositionSourceColorSpace(), KisPainter::copyAreaOptimized(), KisPaintDevice::createCompositionSourceDevice(), KIS_SAFE_ASSERT_RECOVER_NOOP, KisBaseProcessor::name(), neededRect(), processImpl(), and warnKrita.
| void KisFilter::process | ( | KisPaintDeviceSP | device, |
| const QRect & | applyRect, | ||
| const KisFilterConfigurationSP | config, | ||
| KoUpdater * | progressUpdater = 0 ) const |
A convenience method for a two-device process() function
Definition at line 33 of file kis_filter.cc.
References process().
|
pure virtual |
Override this function with the implementation of your filter.
This is a low level function that expects all the conditions for the
| device | be met. Use usual process() methods instead. |
| device | the paint device to filter |
| applyRect | the rectangle where the filter is applied |
| config | the parameters of the filter |
| progressUpdater | to pass on the progress the filter is making |
Implemented in KisGaussianHighPassFilter, KisColorTransformationFilter, KisAutoContrast, KisConvolutionFilter, KisEmbossFilter, KisFilterFastColorTransfer, KisGradientMapFilter, KisHalftoneFilter, KisSimpleNoiseReducer, KisWaveletNoiseReduction, KisFilterNoise, KisOilPaintFilter, KisFilterPalettize, KisFilterPhongBumpmap, KisPixelizeFilter, KisPropagateColorsFilter, KisRainDropsFilter, KisFilterRandomPick, KisRoundCornersFilter, KisSmallTilesFilter, KisFilterThreshold, KisUnsharpFilter, KisFilterWave, KisResetTransparentFilter, KisGaussianBlurFilter, KisFilterColorToAlpha, KisFilterMin, KisFilterFastColorOverlay, KisConvertHeightToNormalMapFilter, KisEdgeDetectionFilter, KisBlurFilter, KisLensBlurFilter, KisMotionBlurFilter, and KisFilterMax.
|
protected |
Definition at line 112 of file kis_filter.cc.
References m_supportsLevelOfDetail, and value().
|
virtual |
Returns true if the filter is capable of handling LoD scaled planes when generating preview.
Definition at line 105 of file kis_filter.cc.
References m_supportsLevelOfDetail.
|
private |
Definition at line 113 of file kis_filter.h.