|
Krita Source Code Documentation
|
#include <KisLevelsFilterConfiguration.h>
Inheritance diagram for KisLevelsFilterConfiguration:Public Member Functions | |
| KisFilterConfigurationSP | clone () const override |
| virtual void | fromLegacyXML (const QDomElement &) |
| void | fromLegacyXML (const QDomElement &root) override |
| void | fromXML (const QDomElement &) override |
| void | fromXML (const QDomElement &) override |
| void | fromXML (const QDomElement &e) override |
| bool | fromXML (const QString &xml, bool clear=true) override |
| bool | isCompatible (const KisPaintDeviceSP) const override |
| KisLevelsFilterConfiguration (const KisLevelsFilterConfiguration &rhs) | |
| KisLevelsFilterConfiguration (int channelCount, KisResourcesInterfaceSP resourcesInterface) | |
| KisLevelsFilterConfiguration (int channelCount, qint32 version, KisResourcesInterfaceSP resourcesInterface) | |
| const QVector< KisLevelsCurve > | levelsCurves () const |
| const KisLevelsCurve | lightnessLevelsCurve () const |
| const QVector< quint16 > & | lightnessTransfer () const |
| void | setDefaults () |
| void | setLevelsCurves (const QVector< KisLevelsCurve > &newLevelsCurves) |
| void | setLightnessLevelsCurve (const KisLevelsCurve &newLightnessLevelsCurve) |
| void | setProperty (const QString &name, const QVariant &value) override |
| void | setShowLogarithmicHistogram (bool newShowLogarithmicHistogram) |
| void | setUseLightnessMode (bool newUseLightnessMode) |
| bool | showLogarithmicHistogram () const |
| QString | toXML () const override |
| void | toXML (QDomDocument &, QDomElement &) const override |
| void | toXML (QDomDocument &, QDomElement &) const override |
| void | toXML (QDomDocument &doc, QDomElement &root) const override |
| const QVector< QVector< quint16 > > & | transfers () const |
| bool | useLightnessMode () const |
Public Member Functions inherited from KisColorTransformationConfiguration | |
| KoColorTransformation * | colorTransformation (const KoColorSpace *cs, const KisColorTransformationFilter *filter) const |
| void | destroyCache () |
| void | invalidateColorTransformationCache () |
| Manually invalidate the cache. By default setProperty invalidates the cache but this method can be used in subclasses when setProperty is not used to set options. This forces the regeneration of the color transforms. | |
| KisColorTransformationConfiguration (const KisColorTransformationConfiguration &rhs) | |
| KisColorTransformationConfiguration (const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface) | |
| Private () | |
| ~KisColorTransformationConfiguration () override | |
| ~Private () | |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KisFilterConfiguration | |
| QBitArray | channelFlags () const |
| KisFilterConfigurationSP | cloneWithResourcesSnapshot (KisResourcesInterfaceSP globalResourcesInterface=nullptr) const |
| virtual bool | compareTo (const KisPropertiesConfiguration *rhs) const override |
| void | createLocalResourcesSnapshot (KisResourcesInterfaceSP globalResourcesInterface=nullptr) |
| virtual QList< KoResourceLoadResult > | embeddedResources (KisResourcesInterfaceSP globalResourcesInterface) const |
| bool | hasLocalResourcesSnapshot () const |
| KisFilterConfiguration (const QString &name, qint32 version, KisResourcesInterfaceSP resourcesInterface) | |
| virtual QList< KoResourceLoadResult > | linkedResources (KisResourcesInterfaceSP globalResourcesInterface) const |
| const QString & | name () const |
| Private (const Private &rhs) | |
| Private (const QString &_name, qint32 _version, KisResourcesInterfaceSP _resourcesInterface) | |
| QList< KoResourceLoadResult > | requiredResources (KisResourcesInterfaceSP globalResourcesInterface) const |
| KisResourcesInterfaceSP | resourcesInterface () const |
| void | setChannelFlags (QBitArray channelFlags) |
| virtual void | setResourcesInterface (KisResourcesInterfaceSP resourcesInterface) |
| qint32 | version () const |
| ~KisFilterConfiguration () override | |
Public Member Functions inherited from KisPropertiesConfiguration | |
| void | clearProperties () |
| Clear the map of properties. | |
| virtual void | dump () const |
| void | fromXML (const QDomElement &) override |
| bool | fromXML (const QString &xml, bool clear=true) override |
| bool | getBool (const QString &name, bool def=false) const |
| KoColor | getColor (const QString &name, const KoColor &color=KoColor()) const |
| getColor fetch the given property as a KoColor. | |
| KisCubicCurve | getCubicCurve (const QString &name, const KisCubicCurve &curve=KisCubicCurve()) const |
| double | getDouble (const QString &name, double def=0.0) const |
| float | getFloat (const QString &name, float def=0.0) const |
| int | getInt (const QString &name, int def=0) const |
| void | getPrefixedProperties (const QString &prefix, KisPropertiesConfiguration *config) const |
| void | getPrefixedProperties (const QString &prefix, KisPropertiesConfigurationSP config) const |
| virtual QMap< QString, QVariant > | getProperties () const |
| virtual QList< QString > | getPropertiesKeys () const |
| virtual QVariant | getProperty (const QString &name) const |
| virtual bool | getProperty (const QString &name, QVariant &value) const |
| QString | getPropertyLazy (const QString &name, const char *defaultValue) const |
| QStringList | getPropertyLazy (const QString &name, const QStringList &defaultValue) const |
| template<typename T > | |
| T | getPropertyLazy (const QString &name, const T &defaultValue) const |
| QString | getString (const QString &name, const QString &def=QString()) const |
| QStringList | getStringList (const QString &name, const QStringList &defaultValue=QStringList()) const |
| virtual bool | hasProperty (const QString &name) const |
| KisPropertiesConfiguration () | |
| KisPropertiesConfiguration (const KisPropertiesConfiguration &rhs) | |
| KisPropertiesConfiguration & | operator= (const KisPropertiesConfiguration &rhs) |
| void | removeProperty (const QString &name) |
| void | setPrefixedProperties (const QString &prefix, const KisPropertiesConfiguration *config) |
| void | setPrefixedProperties (const QString &prefix, const KisPropertiesConfigurationSP config) |
| void | setProperty (const QString &name, const QStringList &value) |
| void | setPropertyNotSaved (const QString &name) |
| Marks a property that should not be saved by toXML. | |
| QString | toXML () const override |
| void | toXML (QDomDocument &, QDomElement &) const override |
| ~KisPropertiesConfiguration () override | |
Public Member Functions inherited from KisSerializableConfiguration | |
| KisSerializableConfiguration () | |
| KisSerializableConfiguration (const KisSerializableConfiguration &rhs) | |
| virtual | ~KisSerializableConfiguration () |
Public Member Functions inherited from KisShared | |
| bool | deref () |
| bool | ref () |
| int | refCount () |
| QAtomicInt * | sharedWeakReference () |
Static Public Member Functions | |
| static KisLevelsCurve | defaultLevelsCurve () |
| static QString | defaultName () |
| static constexpr bool | defaultShowLogarithmicHistogram () |
| static constexpr bool | defaultUseLightnessMode () |
| static constexpr qint32 | defaultVersion () |
Static Public Member Functions inherited from KisPropertiesConfiguration | |
| static QString | escapeString (const QString &string) |
| static QString | extractedPrefixKey () |
| static QString | unescapeString (const QString &string) |
Private Member Functions | |
| int | channelCount () const |
| void | setChannelCount (int newChannelCount) |
| void | setLegacyValuesFromLightnessLevelsCurve () |
| void | setLightessLevelsCurveFromLegacyValues () |
| void | updateLightnessTransfer () |
| void | updateTransfers () |
Private Attributes | |
| QVector< quint16 > | m_lightnessTransfer |
| QVector< QVector< quint16 > > | m_transfers |
Additional Inherited Members | |
Public Attributes inherited from KisColorTransformationConfiguration | |
| QMap< QThread *, KoColorTransformation * > | colorTransformation |
| QMutex | mutex |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Public Attributes inherited from KisFilterConfiguration | |
| QBitArray | channelFlags |
| QString | name |
| KisResourcesInterfaceSP | resourcesInterface = 0 |
| qint32 | version |
Public Attributes inherited from KisPropertiesConfiguration | |
| QSet< QString > | notSavedProperties |
| QMap< QString, QVariant > | properties |
Protected Member Functions inherited from KisFilterConfiguration | |
| KisFilterConfiguration (const KisFilterConfiguration &rhs) | |
| void | setVersion (qint32 version) |
Protected Member Functions inherited from KisShared | |
| KisShared () | |
| ~KisShared () | |
Definition at line 16 of file KisLevelsFilterConfiguration.h.
| KisLevelsFilterConfiguration::KisLevelsFilterConfiguration | ( | int | channelCount, |
| qint32 | version, | ||
| KisResourcesInterfaceSP | resourcesInterface ) |
Definition at line 15 of file KisLevelsFilterConfiguration.cpp.
References channelCount(), setChannelCount(), and setDefaults().
| KisLevelsFilterConfiguration::KisLevelsFilterConfiguration | ( | int | channelCount, |
| KisResourcesInterfaceSP | resourcesInterface ) |
Definition at line 23 of file KisLevelsFilterConfiguration.cpp.
| KisLevelsFilterConfiguration::KisLevelsFilterConfiguration | ( | const KisLevelsFilterConfiguration & | rhs | ) |
Definition at line 27 of file KisLevelsFilterConfiguration.cpp.
|
private |
Definition at line 198 of file KisLevelsFilterConfiguration.cpp.
References KisPropertiesConfiguration::getInt().
|
overridevirtual |
Reimplemented from KisColorTransformationConfiguration.
Definition at line 33 of file KisLevelsFilterConfiguration.cpp.
References KisLevelsFilterConfiguration().
|
inlinestatic |
Definition at line 27 of file KisLevelsFilterConfiguration.h.
|
inlinestatic |
Definition at line 25 of file KisLevelsFilterConfiguration.h.
|
inlinestaticconstexpr |
Definition at line 29 of file KisLevelsFilterConfiguration.h.
|
inlinestaticconstexpr |
Definition at line 28 of file KisLevelsFilterConfiguration.h.
|
inlinestaticconstexpr |
Definition at line 26 of file KisLevelsFilterConfiguration.h.
|
virtual |
This function is use to convert from legacy XML as used in .kra file.
Reimplemented from KisFilterConfiguration.
Definition at line 72 of file kis_filter_configuration.cc.
|
overridevirtual |
This function is use to convert from legacy XML as used in .kra file.
Reimplemented from KisFilterConfiguration.
Definition at line 208 of file KisLevelsFilterConfiguration.cpp.
References fromXML().
|
overridevirtual |
Fill the properties configuration object from the XML encoded representation in s. This function use the "Legacy" style XML of the 1.x .kra file format.
Note: the existing properties will not be cleared
Reimplemented from KisFilterConfiguration.
Definition at line 74 of file kis_properties_configuration.cc.
|
overridevirtual |
Fill the object from the XML encoded representation in s.
Reimplemented from KisFilterConfiguration.
Definition at line 77 of file kis_filter_configuration.cc.
|
overridevirtual |
Fill the object from the XML encoded representation in s.
Reimplemented from KisFilterConfiguration.
Definition at line 213 of file KisLevelsFilterConfiguration.cpp.
References defaultLevelsCurve(), defaultShowLogarithmicHistogram(), defaultUseLightnessMode(), defaultVersion(), KisLevelsCurve::fromString(), levelsCurves(), lightnessLevelsCurve(), KisLevelsCurve::setInputBlackPoint(), KisLevelsCurve::setInputGamma(), KisLevelsCurve::setInputWhitePoint(), setLevelsCurves(), setLightnessLevelsCurve(), KisLevelsCurve::setOutputBlackPoint(), KisLevelsCurve::setOutputWhitePoint(), setShowLogarithmicHistogram(), setUseLightnessMode(), KisFilterConfiguration::setVersion(), KisDomUtils::toDouble(), value(), and KisFilterConfiguration::version.
|
overridevirtual |
Fill the properties configuration object from the XML encoded representation in s. This function use the "Legacy" style XML of the 1.x .kra file format.
| xml | the string that will be parsed as xml |
| clear | if true, the properties map will be emptied. |
Reimplemented from KisFilterConfiguration.
Definition at line 74 of file kis_properties_configuration.cc.
|
overridevirtual |
Check if that configuration is compatible with this paint device. The default implementation always return true.
Reimplemented from KisFilterConfiguration.
Definition at line 38 of file KisLevelsFilterConfiguration.cpp.
References channelCount(), KoColorSpace::channelCount(), KisPaintDevice::compositionSourceColorSpace(), and useLightnessMode().
| const QVector< KisLevelsCurve > KisLevelsFilterConfiguration::levelsCurves | ( | ) | const |
Definition at line 43 of file KisLevelsFilterConfiguration.cpp.
References channelCount(), KisPropertiesConfiguration::getString(), and KisDomUtils::toString().
| const KisLevelsCurve KisLevelsFilterConfiguration::lightnessLevelsCurve | ( | ) | const |
Definition at line 53 of file KisLevelsFilterConfiguration.cpp.
References KisPropertiesConfiguration::getString().
| const QVector< quint16 > & KisLevelsFilterConfiguration::lightnessTransfer | ( | ) | const |
Definition at line 94 of file KisLevelsFilterConfiguration.cpp.
References m_lightnessTransfer.
|
private |
Definition at line 203 of file KisLevelsFilterConfiguration.cpp.
References setProperty().
| void KisLevelsFilterConfiguration::setDefaults | ( | ) |
Definition at line 358 of file KisLevelsFilterConfiguration.cpp.
References channelCount(), defaultLevelsCurve(), defaultShowLogarithmicHistogram(), defaultUseLightnessMode(), setLevelsCurves(), setLightnessLevelsCurve(), setShowLogarithmicHistogram(), setUseLightnessMode(), updateLightnessTransfer(), and updateTransfers().
|
private |
The purpose of this function is to copy the values of the new and compact "lightness" option, that correspond to the lightness levels adjustment, to the legacy options that where used before version 2 of the filter. Storing the legacy options as well as the new ones improves backwards compatibility of documents. Note that the "blackvalue", "whitevalue", "outblackvalue" and "outwhitevalue" legacy properties span the range [0, 255] while the values in the "lightness" property span the range [0, 1]
Definition at line 163 of file KisLevelsFilterConfiguration.cpp.
References KisLevelsCurve::inputBlackPoint(), KisLevelsCurve::inputGamma(), KisLevelsCurve::inputWhitePoint(), lightnessLevelsCurve(), KisLevelsCurve::outputBlackPoint(), KisLevelsCurve::outputWhitePoint(), and KisColorTransformationConfiguration::setProperty().
| void KisLevelsFilterConfiguration::setLevelsCurves | ( | const QVector< KisLevelsCurve > & | newLevelsCurves | ) |
Definition at line 59 of file KisLevelsFilterConfiguration.cpp.
References setChannelCount(), setProperty(), KisDomUtils::toString(), and updateTransfers().
|
private |
The purpose of this function is to copy the values of the legacy options (levels filter version < 2), that correspond to the lightness levels adjustment, to the new and compact "lightness" option which is used now. Note that the "blackvalue", "whitevalue", "outblackvalue" and "outwhitevalue" legacy properties span the range [0, 255] while the values in the "lightness" property span the range [0, 1]
Definition at line 140 of file KisLevelsFilterConfiguration.cpp.
References KisPropertiesConfiguration::getDouble(), KisPropertiesConfiguration::getInt(), and KisColorTransformationConfiguration::setProperty().
| void KisLevelsFilterConfiguration::setLightnessLevelsCurve | ( | const KisLevelsCurve & | newLightnessLevelsCurve | ) |
Definition at line 68 of file KisLevelsFilterConfiguration.cpp.
References setProperty(), and KisLevelsCurve::toString().
|
overridevirtual |
The options may be changed directly using the "setProperty" method of the "KisPropertiesConfiguration". In this case we must intercept the action to update the transfer function luts after setting the property. if some legacy property is set (lightness levels properties prior to version 2) then the legacy properties are copied to the new and compact "lightness" property. Conversely, if the "lightness" property is set, its values are copied to the legacy properties.
Reimplemented from KisColorTransformationConfiguration.
Definition at line 182 of file KisLevelsFilterConfiguration.cpp.
References KisFilterConfiguration::name, setLegacyValuesFromLightnessLevelsCurve(), setLightessLevelsCurveFromLegacyValues(), KisColorTransformationConfiguration::setProperty(), updateLightnessTransfer(), updateTransfers(), and value().
| void KisLevelsFilterConfiguration::setShowLogarithmicHistogram | ( | bool | newShowLogarithmicHistogram | ) |
Definition at line 126 of file KisLevelsFilterConfiguration.cpp.
References setProperty().
| void KisLevelsFilterConfiguration::setUseLightnessMode | ( | bool | newUseLightnessMode | ) |
Definition at line 121 of file KisLevelsFilterConfiguration.cpp.
References setProperty().
| bool KisLevelsFilterConfiguration::showLogarithmicHistogram | ( | ) | const |
Definition at line 110 of file KisLevelsFilterConfiguration.cpp.
References defaultShowLogarithmicHistogram(), and KisPropertiesConfiguration::getString().
|
overridevirtual |
Create a serialized version of this properties config This function use the "Legacy" style XML of the 1.x .kra file format.
Reimplemented from KisFilterConfiguration.
Definition at line 75 of file kis_properties_configuration.cc.
|
overridevirtual |
Create a serialized version of this object
Reimplemented from KisFilterConfiguration.
Definition at line 78 of file kis_filter_configuration.cc.
|
overridevirtual |
Create a serialized version of this properties config This function use the "Legacy" style XML of the 1.x .kra file format.
Reimplemented from KisFilterConfiguration.
Definition at line 75 of file kis_properties_configuration.cc.
|
overridevirtual |
Create a serialized version of this object
levels curve param follows this format: "input_black_point;input_white_point;input_gamma;output_black_point;output_white_point"
For backwards compatibility, the "blackvalue" etc. values are also saved. Those contain the values of the lightness mode levels.
Reimplemented from KisFilterConfiguration.
Definition at line 306 of file KisLevelsFilterConfiguration.cpp.
References addParamNode(), channelCount(), KisLevelsCurve::inputBlackPoint(), KisLevelsCurve::inputGamma(), KisLevelsCurve::inputWhitePoint(), levelsCurves(), lightnessLevelsCurve(), KisFilterConfiguration::name, KisLevelsCurve::outputBlackPoint(), KisLevelsCurve::outputWhitePoint(), showLogarithmicHistogram(), KisDomUtils::toString(), useLightnessMode(), value(), and KisFilterConfiguration::version.
Definition at line 89 of file KisLevelsFilterConfiguration.cpp.
References m_transfers.
|
private |
Definition at line 82 of file KisLevelsFilterConfiguration.cpp.
References lightnessLevelsCurve(), m_lightnessTransfer, and KisLevelsCurve::uint16Transfer().
|
private |
Definition at line 73 of file KisLevelsFilterConfiguration.cpp.
References levelsCurves(), and m_transfers.
| bool KisLevelsFilterConfiguration::useLightnessMode | ( | ) | const |
Definition at line 99 of file KisLevelsFilterConfiguration.cpp.
References defaultUseLightnessMode(), and KisPropertiesConfiguration::getString().
|
private |
Definition at line 59 of file KisLevelsFilterConfiguration.h.
Definition at line 58 of file KisLevelsFilterConfiguration.h.