Krita Source Code Documentation
Loading...
Searching...
No Matches
KisLiquifyProperties Class Reference

#include <kis_liquify_properties.h>

+ Inheritance diagram for KisLiquifyProperties:

Public Types

enum  LiquifyMode {
  MOVE , SCALE , ROTATE , OFFSET ,
  UNDO , N_MODES
}
 

Public Member Functions

qreal amount () const
 
bool amountHasPressure () const
 
qreal flow () const
 
 KisLiquifyProperties ()
 
 KisLiquifyProperties (const KisLiquifyProperties &rhs)
 
void loadAndResetMode ()
 
void loadMode ()
 
LiquifyMode mode () const
 
KisLiquifyPropertiesoperator= (const KisLiquifyProperties &rhs)
 
bool operator== (const KisLiquifyProperties &other) const
 
bool reverseDirection () const
 
void saveMode () const
 
void setAmount (qreal value)
 
void setAmountHasPressure (bool value)
 
void setFlow (qreal value)
 
void setMode (LiquifyMode value)
 
void setReverseDirection (bool value)
 
void setSize (qreal value)
 
void setSizeHasPressure (bool value)
 
void setSpacing (qreal value)
 
void setUseWashMode (bool value)
 
qreal size () const
 
bool sizeHasPressure () const
 
qreal spacing () const
 
void toXML (QDomElement *e) const
 
bool useWashMode () const
 

Static Public Member Functions

static KisLiquifyProperties fromXML (const QDomElement &e)
 
static qreal maxSize ()
 
static qreal minSize ()
 

Private Attributes

qreal m_amount
 
bool m_amountHasPressure
 
qreal m_flow
 
LiquifyMode m_mode
 
bool m_reverseDirection
 
qreal m_size
 
bool m_sizeHasPressure
 
qreal m_spacing
 
bool m_useWashMode
 

Detailed Description

Definition at line 18 of file kis_liquify_properties.h.

Member Enumeration Documentation

◆ LiquifyMode

Constructor & Destructor Documentation

◆ KisLiquifyProperties() [1/2]

KisLiquifyProperties::KisLiquifyProperties ( )
inline

◆ KisLiquifyProperties() [2/2]

KisLiquifyProperties::KisLiquifyProperties ( const KisLiquifyProperties & rhs)

Member Function Documentation

◆ amount()

qreal KisLiquifyProperties::amount ( ) const
inline

Definition at line 73 of file kis_liquify_properties.h.

73 {
74 return m_amount;
75 }

◆ amountHasPressure()

bool KisLiquifyProperties::amountHasPressure ( ) const
inline

Definition at line 94 of file kis_liquify_properties.h.

94 {
96 }

◆ flow()

qreal KisLiquifyProperties::flow ( ) const
inline

Definition at line 115 of file kis_liquify_properties.h.

115 {
116 return m_flow;
117 }

◆ fromXML()

KisLiquifyProperties KisLiquifyProperties::fromXML ( const QDomElement & e)
static

Definition at line 145 of file kis_liquify_properties.cpp.

146{
148 bool result = false;
149
150 QDomElement liqEl;
151 int newMode = 0;
152
153 result =
154 KisDomUtils::findOnlyElement(e, "liquify_properties", &liqEl) &&
155
156 KisDomUtils::loadValue(liqEl, "mode", &newMode) &&
157 KisDomUtils::loadValue(liqEl, "size", &props.m_size) &&
158 KisDomUtils::loadValue(liqEl, "amount", &props.m_amount) &&
159 KisDomUtils::loadValue(liqEl, "spacing", &props.m_spacing) &&
160 KisDomUtils::loadValue(liqEl, "sizeHasPressure", &props.m_sizeHasPressure) &&
161 KisDomUtils::loadValue(liqEl, "amountHasPressure", &props.m_amountHasPressure) &&
162 KisDomUtils::loadValue(liqEl, "reverseDirection", &props.m_reverseDirection) &&
163 KisDomUtils::loadValue(liqEl, "useWashMode", &props.m_useWashMode) &&
164 KisDomUtils::loadValue(liqEl, "flow", &props.m_flow);
165
166 if (result && newMode >= 0 && newMode < N_MODES) {
167 props.m_mode = (LiquifyMode) newMode;
168 } else {
169 result = false;
170 }
171
172 return props;
173}
bool findOnlyElement(const QDomElement &parent, const QString &tag, QDomElement *el, QStringList *errorMessages)
bool loadValue(const QDomElement &e, float *v)

References KisDomUtils::findOnlyElement(), KisDomUtils::loadValue(), m_amount, m_amountHasPressure, m_flow, m_mode, m_reverseDirection, m_size, m_sizeHasPressure, m_spacing, m_useWashMode, and N_MODES.

◆ loadAndResetMode()

void KisLiquifyProperties::loadAndResetMode ( )

Definition at line 120 of file kis_liquify_properties.cpp.

121{
122 KConfigGroup globalCfg = KSharedConfig::openConfig()->group("LiquifyTool");
123 m_mode = (LiquifyMode) globalCfg.readEntry("mode", (int)m_mode);
124
125 loadMode();
126}

References loadMode(), and m_mode.

◆ loadMode()

void KisLiquifyProperties::loadMode ( )

Definition at line 105 of file kis_liquify_properties.cpp.

106{
107 KConfigGroup cfg =
108 KSharedConfig::openConfig()->group(liquifyModeString(m_mode));
109
110 m_size = cfg.readEntry("size", m_size);
111 m_amount = cfg.readEntry("amount", m_amount);
112 m_spacing = cfg.readEntry("spacing", m_spacing);
113 m_sizeHasPressure = cfg.readEntry("sizeHasPressure", m_sizeHasPressure);
114 m_amountHasPressure = cfg.readEntry("amountHasPressure", m_amountHasPressure);
115 m_reverseDirection = cfg.readEntry("reverseDirection", m_reverseDirection);
116 m_useWashMode = cfg.readEntry("useWashMode", m_useWashMode);
117 m_flow = cfg.readEntry("flow", m_flow);
118}
QString liquifyModeString(KisLiquifyProperties::LiquifyMode mode)

References liquifyModeString(), m_amount, m_amountHasPressure, m_flow, m_mode, m_reverseDirection, m_size, m_sizeHasPressure, m_spacing, and m_useWashMode.

◆ maxSize()

static qreal KisLiquifyProperties::maxSize ( )
inlinestatic

Definition at line 69 of file kis_liquify_properties.h.

69 {
70 return 1000.0;
71 }

◆ minSize()

static qreal KisLiquifyProperties::minSize ( )
inlinestatic

Definition at line 65 of file kis_liquify_properties.h.

65 {
66 return 5.0;
67 }

◆ mode()

LiquifyMode KisLiquifyProperties::mode ( ) const
inline

Definition at line 51 of file kis_liquify_properties.h.

51 {
52 return m_mode;
53 }

◆ operator=()

KisLiquifyProperties & KisLiquifyProperties::operator= ( const KisLiquifyProperties & rhs)

◆ operator==()

bool KisLiquifyProperties::operator== ( const KisLiquifyProperties & other) const

Definition at line 46 of file kis_liquify_properties.cpp.

47{
48 return
49 m_mode == other.m_mode &&
50 m_size == other.m_size &&
51 m_amount == other.m_amount &&
52 m_spacing == other.m_spacing &&
57 m_flow == other.m_flow;
58}

References m_amount, m_amountHasPressure, m_flow, m_mode, m_reverseDirection, m_size, m_sizeHasPressure, m_spacing, and m_useWashMode.

◆ reverseDirection()

bool KisLiquifyProperties::reverseDirection ( ) const
inline

Definition at line 101 of file kis_liquify_properties.h.

101 {
102 return m_reverseDirection;
103 }

◆ saveMode()

void KisLiquifyProperties::saveMode ( ) const

Definition at line 87 of file kis_liquify_properties.cpp.

88{
89 KConfigGroup cfg =
90 KSharedConfig::openConfig()->group(liquifyModeString(m_mode));
91
92 cfg.writeEntry("size", m_size);
93 cfg.writeEntry("amount", m_amount);
94 cfg.writeEntry("spacing", m_spacing);
95 cfg.writeEntry("sizeHasPressure", m_sizeHasPressure);
96 cfg.writeEntry("amountHasPressure", m_amountHasPressure);
97 cfg.writeEntry("reverseDirection", m_reverseDirection);
98 cfg.writeEntry("useWashMode", m_useWashMode);
99 cfg.writeEntry("flow", m_flow);
100
101 KConfigGroup globalCfg = KSharedConfig::openConfig()->group("LiquifyTool");
102 globalCfg.writeEntry("mode", (int)m_mode);
103}

References liquifyModeString(), m_amount, m_amountHasPressure, m_flow, m_mode, m_reverseDirection, m_size, m_sizeHasPressure, m_spacing, and m_useWashMode.

◆ setAmount()

void KisLiquifyProperties::setAmount ( qreal value)
inline

Definition at line 76 of file kis_liquify_properties.h.

76 {
78 }
float value(const T *src, size_t ch)

References value().

◆ setAmountHasPressure()

void KisLiquifyProperties::setAmountHasPressure ( bool value)
inline

Definition at line 97 of file kis_liquify_properties.h.

97 {
99 }

References value().

◆ setFlow()

void KisLiquifyProperties::setFlow ( qreal value)
inline

Definition at line 118 of file kis_liquify_properties.h.

118 {
119 m_flow = value;
120 }

References value().

◆ setMode()

void KisLiquifyProperties::setMode ( LiquifyMode value)
inline

Definition at line 54 of file kis_liquify_properties.h.

54 {
55 m_mode = value;
56 }

References value().

◆ setReverseDirection()

void KisLiquifyProperties::setReverseDirection ( bool value)
inline

Definition at line 104 of file kis_liquify_properties.h.

104 {
106 }

References value().

◆ setSize()

void KisLiquifyProperties::setSize ( qreal value)
inline

Definition at line 61 of file kis_liquify_properties.h.

61 {
62 m_size = value;
63 }

References value().

◆ setSizeHasPressure()

void KisLiquifyProperties::setSizeHasPressure ( bool value)
inline

Definition at line 90 of file kis_liquify_properties.h.

90 {
92 }

References value().

◆ setSpacing()

void KisLiquifyProperties::setSpacing ( qreal value)
inline

Definition at line 83 of file kis_liquify_properties.h.

83 {
85 }

References value().

◆ setUseWashMode()

void KisLiquifyProperties::setUseWashMode ( bool value)
inline

Definition at line 111 of file kis_liquify_properties.h.

111 {
113 }

References value().

◆ size()

qreal KisLiquifyProperties::size ( ) const
inline

Definition at line 58 of file kis_liquify_properties.h.

58 {
59 return m_size;
60 }

◆ sizeHasPressure()

bool KisLiquifyProperties::sizeHasPressure ( ) const
inline

Definition at line 87 of file kis_liquify_properties.h.

87 {
88 return m_sizeHasPressure;
89 }

◆ spacing()

qreal KisLiquifyProperties::spacing ( ) const
inline

Definition at line 80 of file kis_liquify_properties.h.

80 {
81 return m_spacing;
82 }

◆ toXML()

void KisLiquifyProperties::toXML ( QDomElement * e) const

Definition at line 128 of file kis_liquify_properties.cpp.

129{
130 QDomDocument doc = e->ownerDocument();
131 QDomElement liqEl = doc.createElement("liquify_properties");
132 e->appendChild(liqEl);
133
134 KisDomUtils::saveValue(&liqEl, "mode", (int)m_mode);
135 KisDomUtils::saveValue(&liqEl, "size", m_size);
136 KisDomUtils::saveValue(&liqEl, "amount", m_amount);
137 KisDomUtils::saveValue(&liqEl, "spacing", m_spacing);
138 KisDomUtils::saveValue(&liqEl, "sizeHasPressure", m_sizeHasPressure);
139 KisDomUtils::saveValue(&liqEl, "amountHasPressure", m_amountHasPressure);
140 KisDomUtils::saveValue(&liqEl, "reverseDirection", m_reverseDirection);
141 KisDomUtils::saveValue(&liqEl, "useWashMode", m_useWashMode);
142 KisDomUtils::saveValue(&liqEl, "flow", m_flow);
143}
void saveValue(QDomElement *parent, const QString &tag, const QSize &size)

References m_amount, m_amountHasPressure, m_flow, m_mode, m_reverseDirection, m_size, m_sizeHasPressure, m_spacing, m_useWashMode, and KisDomUtils::saveValue().

◆ useWashMode()

bool KisLiquifyProperties::useWashMode ( ) const
inline

Definition at line 108 of file kis_liquify_properties.h.

108 {
109 return m_useWashMode;
110 }

Member Data Documentation

◆ m_amount

qreal KisLiquifyProperties::m_amount
private

Definition at line 133 of file kis_liquify_properties.h.

◆ m_amountHasPressure

bool KisLiquifyProperties::m_amountHasPressure
private

Definition at line 136 of file kis_liquify_properties.h.

◆ m_flow

qreal KisLiquifyProperties::m_flow
private

Definition at line 140 of file kis_liquify_properties.h.

◆ m_mode

LiquifyMode KisLiquifyProperties::m_mode
private

Definition at line 131 of file kis_liquify_properties.h.

◆ m_reverseDirection

bool KisLiquifyProperties::m_reverseDirection
private

Definition at line 137 of file kis_liquify_properties.h.

◆ m_size

qreal KisLiquifyProperties::m_size
private

Definition at line 132 of file kis_liquify_properties.h.

◆ m_sizeHasPressure

bool KisLiquifyProperties::m_sizeHasPressure
private

Definition at line 135 of file kis_liquify_properties.h.

◆ m_spacing

qreal KisLiquifyProperties::m_spacing
private

Definition at line 134 of file kis_liquify_properties.h.

◆ m_useWashMode

bool KisLiquifyProperties::m_useWashMode
private

Definition at line 139 of file kis_liquify_properties.h.


The documentation for this class was generated from the following files: