7#include <PhosphorAnimation/phosphoranimation_export.h>
114 return !(*
this == other);
119 QHash<QString, ShaderProfile> m_overrides;
120 QStringList m_insertionOrder;
Hierarchical ShaderProfile storage with walk-up inheritance.
Definition ShaderProfileTree.h:74
void setOverride(const QString &path, const ShaderProfile &profile)
ShaderProfileTree & operator=(const ShaderProfileTree &)=default
QJsonObject toJson() const
void setBaseline(const ShaderProfile &profile)
bool hasOverride(const QString &path) const
ShaderProfile baseline() const
Definition ShaderProfileTree.h:98
ShaderProfile directOverride(const QString &path) const
bool operator!=(const ShaderProfileTree &other) const
Definition ShaderProfileTree.h:112
bool clearOverride(const QString &path)
ShaderProfileTree(ShaderProfileTree &&)=default
ShaderProfile resolve(const QString &path) const
static ShaderProfileTree fromJson(const QJsonObject &obj)
QStringList overriddenPaths() const
ShaderProfileTree(const ShaderProfileTree &)=default
ShaderProfileTree()=default
ShaderProfileTree & operator=(ShaderProfileTree &&)=default
bool operator==(const ShaderProfileTree &other) const
Per-event shader effect selection and configuration.
Definition ShaderProfile.h:39
Definition AnimationShaderContract.h:10
PHOSPHORANIMATION_EXPORT ShaderProfile resolveShaderWithDefault(const ShaderProfileTree &tree, const QString &path)
Resolve path against tree, applying the built-in per-event default shader (ProfilePaths::defaultShade...
PHOSPHORANIMATION_EXPORT bool shaderPathResolvesInIsolation(const QString &path)
True when path resolves its shader in ISOLATION: ShaderProfileTree:: resolve reads only the direct ov...
PHOSPHORANIMATION_EXPORT QString shaderPathIsolationRoot(const QString &path)
The subtree root path resolves WITHIN, or an empty string when it resolves the ordinary way (from the...