|
Krita Source Code Documentation
|
#include <KisHalftoneFilter.h>
Inheritance diagram for KisHalftoneFilter:Public Member Functions | |
| KisConfigWidget * | createConfigurationWidget (QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override |
| KisFilterConfigurationSP | defaultConfiguration (KisResourcesInterfaceSP resourcesInterface) const override |
| KisFilterConfigurationSP | factoryConfiguration (KisResourcesInterfaceSP resourcesInterface) const override |
| KisHalftoneFilter () | |
| void | processImpl (KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override |
Public Member Functions inherited from KisFilter | |
| 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 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 |
| 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 () |
Static Public Member Functions | |
| static KoID | id () |
Private Member Functions | |
| bool | checkUpdaterInterruptedAndSetPercent (KoUpdater *progressUpdater, int percent) const |
| KisPaintDeviceSP | makeGeneratorPaintDevice (KisPaintDeviceSP prototype, const QString &prefix, const QRect &applyRect, const KisHalftoneFilterConfiguration *config, KoUpdater *progressUpdater) const |
| void | processAlpha (KisPaintDeviceSP device, const QRect &applyRect, const KisHalftoneFilterConfiguration *config, KoUpdater *progressUpdater) const |
| template<typename ChannelType > | |
| void | processChannel (KisPaintDeviceSP device, KisPaintDeviceSP generatorDevice, const QRect &applyRect, const KisHalftoneFilterConfiguration *config, const QString &prefix, KoChannelInfo *channelInfo) const |
| void | processChannels (KisPaintDeviceSP device, const QRect &applyRect, const KisHalftoneFilterConfiguration *config, KoUpdater *progressUpdater) const |
| void | processIntensity (KisPaintDeviceSP device, const QRect &applyRect, const KisHalftoneFilterConfiguration *config, KoUpdater *progressUpdater) const |
| void | processMask (KisPaintDeviceSP device, const QRect &applyRect, const KisHalftoneFilterConfiguration *config, KoUpdater *progressUpdater) const |
Static Private Member Functions | |
| static QVector< quint8 > | makeHardnessLut (qreal hardness) |
| static QVector< quint8 > | makeNoiseWeightLut (qreal hardness) |
| static quint8 | mapU8ToRange (quint8 value, quint8 new_min, quint8 new_max) |
| template<typename T > | |
| static T | mapU8ToRange (quint8 value, T new_min, T new_max) |
Private Attributes | |
| KisCachedPaintDevice | m_genericDevicesCache |
| KisCachedPaintDevice | m_grayDevicesCache |
| KisCachedSelection | m_selectionsCache |
Definition at line 31 of file KisHalftoneFilter.h.
| KisHalftoneFilter::KisHalftoneFilter | ( | ) |
Definition at line 42 of file KisHalftoneFilter.cpp.
References KisBaseProcessor::setSupportsPainting().
|
private |
Definition at line 173 of file KisHalftoneFilter.cpp.
References KoUpdater::interrupted(), and KoUpdater::setProgress().
|
overridevirtual |
Create the configuration widget for this processor.
| parent | the Qt owner widget of this widget |
| dev | the paintdevice this filter will act on |
| useForMasks | shown if the filer is going to be used in a mask. Some filters may provide limited options when applied as a mask (e.g. Gaussian Blur) |
Reimplemented from KisBaseProcessor.
Definition at line 706 of file KisHalftoneFilter.cpp.
|
overridevirtual |
Return the configuration set as the default by the user or the default configuration from the filter writer as returned by factoryConfiguration.
This configuration is used by default for the configuration widget and given to the process function if there is no configuration widget.
Reimplemented from KisBaseProcessor.
Definition at line 628 of file KisHalftoneFilter.cpp.
References KisSharedPtr< T >::data(), KisHalftoneFilterConfiguration::defaultBackgroundColor(), KisHalftoneFilterConfiguration::defaultBackgroundOpacity(), KisBaseProcessor::defaultConfiguration(), KisHalftoneFilterConfiguration::defaultForegroundColor(), KisHalftoneFilterConfiguration::defaultForegroundOpacity(), KisHalftoneFilterConfiguration::defaultGeneratorId(), KisHalftoneFilterConfiguration::defaultHardness(), KisHalftoneFilterConfiguration::defaultInvert(), KisHalftoneFilterConfiguration::defaultMode(), factoryConfiguration(), KoGenericRegistry< T >::get(), and KisGeneratorRegistry::instance().
|
overridevirtual |
Reimplemented from KisBaseProcessor.
Definition at line 701 of file KisHalftoneFilter.cpp.
|
inlinestatic |
Definition at line 36 of file KisHalftoneFilter.h.
|
private |
Definition at line 142 of file KisHalftoneFilter.cpp.
References KisGenerator::generate(), KisHalftoneFilterConfiguration::generatorConfiguration(), KisHalftoneFilterConfiguration::generatorId(), KoGenericRegistry< T >::get(), KisCachedPaintDevice::getDevice(), KisGeneratorRegistry::instance(), KoColorSpaceRegistry::instance(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and m_grayDevicesCache.
|
staticprivate |
Definition at line 113 of file KisHalftoneFilter.cpp.
References qFuzzyCompare().
|
staticprivate |
Definition at line 130 of file KisHalftoneFilter.cpp.
|
inlinestaticprivate |
Definition at line 57 of file KisHalftoneFilter.h.
References value().
|
inlinestaticprivate |
Definition at line 63 of file KisHalftoneFilter.h.
References value().
|
private |
Definition at line 498 of file KisHalftoneFilter.cpp.
References checkUpdaterInterruptedAndSetPercent(), KisPaintDevice::colorSpace(), KisHalftoneFilterConfiguration::hardness(), KisHalftoneFilterConfiguration::invert(), m_grayDevicesCache, makeGeneratorPaintDevice(), makeHardnessLut(), makeNoiseWeightLut(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KoColorSpace::opacityU8(), KisCachedPaintDevice::putDevice(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), and KoColorSpace::setOpacity().
|
private |
Definition at line 312 of file KisHalftoneFilter.cpp.
References KoColorSpace::alphaPos(), KisPaintDevice::colorSpace(), KoColor::data(), KoChannelInfo::getUIMax(), KoChannelInfo::getUIMin(), KisHalftoneFilterConfiguration::hardness(), KisHalftoneFilterConfiguration::invert(), KoColorProfile::isLinear(), makeHardnessLut(), makeNoiseWeightLut(), mapU8ToRange(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KoChannelInfo::pos(), KoColorSpace::profile(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), and KoColorSpace::scaleToU8().
|
private |
Definition at line 413 of file KisHalftoneFilter.cpp.
References KoChannelInfo::ALPHA, KoColorSpace::channels, checkUpdaterInterruptedAndSetPercent(), KoColorSpace::colorModelId(), KisPaintDevice::colorSpace(), KoChannelInfo::FLOAT16, KoChannelInfo::FLOAT32, KoChannelInfo::FLOAT64, KoID::id(), KoChannelInfo::INT16, KoChannelInfo::INT8, m_grayDevicesCache, makeGeneratorPaintDevice(), KoUpdater::progress(), KisCachedPaintDevice::putDevice(), KoUpdater::setProgress(), KoChannelInfo::UINT16, KoChannelInfo::UINT32, and KoChannelInfo::UINT8.
|
overridevirtual |
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 |
Implements KisFilter.
Definition at line 48 of file KisHalftoneFilter.cpp.
References AlphaColorModelID, CMYKAColorModelID, KisHalftoneFilterConfiguration::colorModelId(), KoColorSpace::colorModelId(), KisPaintDevice::colorSpace(), KisSharedPtr< T >::data(), GrayAColorModelID, GrayColorModelID, KisHalftoneFilterConfiguration::HalftoneMode_Alpha, KisHalftoneFilterConfiguration::HalftoneMode_IndependentChannels, KisHalftoneFilterConfiguration::HalftoneMode_Intensity, KisFilterConfiguration::hasLocalResourcesSnapshot(), KoID::id(), KIS_SAFE_ASSERT_RECOVER_NOOP, KIS_SAFE_ASSERT_RECOVER_RETURN, LABAColorModelID, KisHalftoneFilterConfiguration::mode(), processAlpha(), processChannels(), processIntensity(), processMask(), RGBAColorModelID, XYZAColorModelID, and YCbCrAColorModelID.
|
private |
Definition at line 189 of file KisHalftoneFilter.cpp.
References KisHalftoneFilterConfiguration::backgroundColor(), KisHalftoneFilterConfiguration::backgroundOpacity(), KisPainter::bitBlt(), checkUpdaterInterruptedAndSetPercent(), KisPaintDevice::colorSpace(), COMPOSITE_COPY, COMPOSITE_DESTINATION_IN, COMPOSITE_OVER, KoColor::convertTo(), KisPaintDevice::fill(), KisHalftoneFilterConfiguration::foregroundColor(), KisHalftoneFilterConfiguration::foregroundOpacity(), KisCachedPaintDevice::getDevice(), KisCachedSelection::getSelection(), KisHalftoneFilterConfiguration::hardness(), KoColorSpaceRegistry::instance(), KoColorSpace::intensity8(), KisHalftoneFilterConfiguration::invert(), KoColorProfile::isLinear(), m_genericDevicesCache, m_grayDevicesCache, m_selectionsCache, makeGeneratorPaintDevice(), makeHardnessLut(), makeNoiseWeightLut(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KisSelection::pixelSelection, KoColorSpace::profile(), KisCachedPaintDevice::putDevice(), KisCachedSelection::putSelection(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), KoColorSpaceRegistry::rgb8(), KisPainter::setCompositeOpId(), and KoColor::setOpacity().
|
private |
Definition at line 564 of file KisHalftoneFilter.cpp.
References checkUpdaterInterruptedAndSetPercent(), KisHalftoneFilterConfiguration::hardness(), KisHalftoneFilterConfiguration::invert(), m_grayDevicesCache, makeGeneratorPaintDevice(), makeHardnessLut(), makeNoiseWeightLut(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KisCachedPaintDevice::putDevice(), and KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData().
|
mutableprivate |
Definition at line 52 of file KisHalftoneFilter.h.
|
mutableprivate |
Definition at line 51 of file KisHalftoneFilter.h.
|
mutableprivate |
Definition at line 50 of file KisHalftoneFilter.h.