summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/util/qshadernode.cpp20
-rw-r--r--src/gui/util/qshadernode_p.h6
2 files changed, 26 insertions, 0 deletions
diff --git a/src/gui/util/qshadernode.cpp b/src/gui/util/qshadernode.cpp
index 36fddb2235..f255922c42 100644
--- a/src/gui/util/qshadernode.cpp
+++ b/src/gui/util/qshadernode.cpp
@@ -93,6 +93,26 @@ void QShaderNode::removePort(const QShaderNodePort &port)
m_ports.erase(it);
}
+QStringList QShaderNode::parameterNames() const
+{
+ return m_parameters.keys();
+}
+
+QVariant QShaderNode::parameter(const QString &name) const
+{
+ return m_parameters.value(name);
+}
+
+void QShaderNode::setParameter(const QString &name, const QVariant &value)
+{
+ m_parameters.insert(name, value);
+}
+
+void QShaderNode::clearParameter(const QString &name)
+{
+ m_parameters.remove(name);
+}
+
void QShaderNode::addRule(const QShaderFormat &format, const QShaderNode::Rule &rule)
{
removeRule(format);
diff --git a/src/gui/util/qshadernode_p.h b/src/gui/util/qshadernode_p.h
index b3e2d4a841..2f8bf1e438 100644
--- a/src/gui/util/qshadernode_p.h
+++ b/src/gui/util/qshadernode_p.h
@@ -88,6 +88,11 @@ public:
Q_GUI_EXPORT void addPort(const QShaderNodePort &port);
Q_GUI_EXPORT void removePort(const QShaderNodePort &port);
+ Q_GUI_EXPORT QStringList parameterNames() const;
+ Q_GUI_EXPORT QVariant parameter(const QString &name) const;
+ Q_GUI_EXPORT void setParameter(const QString &name, const QVariant &value);
+ Q_GUI_EXPORT void clearParameter(const QString &name);
+
Q_GUI_EXPORT void addRule(const QShaderFormat &format, const Rule &rule);
Q_GUI_EXPORT void removeRule(const QShaderFormat &format);
@@ -97,6 +102,7 @@ public:
private:
QUuid m_uuid;
QVector<QShaderNodePort> m_ports;
+ QHash<QString, QVariant> m_parameters;
QVector<QPair<QShaderFormat, QShaderNode::Rule>> m_rules;
};