Hierarchical ShaderProfile storage with walk-up inheritance. More...
#include <phosphor-animation/include/PhosphorAnimation/ShaderProfileTree.h>
Public Member Functions | |
| ShaderProfileTree ()=default | |
| ShaderProfileTree (const ShaderProfileTree &)=default | |
| ShaderProfileTree & | operator= (const ShaderProfileTree &)=default |
| ShaderProfileTree (ShaderProfileTree &&)=default | |
| ShaderProfileTree & | operator= (ShaderProfileTree &&)=default |
| ShaderProfile | resolve (const QString &path) const |
| ShaderProfile | directOverride (const QString &path) const |
| bool | hasOverride (const QString &path) const |
| QStringList | overriddenPaths () const |
| void | setOverride (const QString &path, const ShaderProfile &profile) |
| bool | clearOverride (const QString &path) |
| void | clearAllOverrides () |
| ShaderProfile | baseline () const |
| void | setBaseline (const ShaderProfile &profile) |
| QJsonObject | toJson () const |
| bool | operator== (const ShaderProfileTree &other) const |
| bool | operator!= (const ShaderProfileTree &other) const |
Static Public Member Functions | |
| static ShaderProfileTree | fromJson (const QJsonObject &obj) |
Hierarchical ShaderProfile storage with walk-up inheritance.
Same inheritance semantics as PhosphorAnimation::ProfileTree but carrying ShaderProfile payloads instead of Profile. The two trees share the same dot-path namespace (ProfilePaths) so a consumer can resolve both motion and shader config for the same event path.
For "window.open", resolve() walks:
"window.open" (leaf override)"window" (category)"global" (baseline)At each step, engaged optionals replace the accumulator. Unset fields pass through.
Value type, not internally synchronized. Same as ProfileTree.
|
default |
|
default |
|
default |
|
inline |
| void PhosphorAnimationShaders::ShaderProfileTree::clearAllOverrides | ( | ) |
| bool PhosphorAnimationShaders::ShaderProfileTree::clearOverride | ( | const QString & | path | ) |
| ShaderProfile PhosphorAnimationShaders::ShaderProfileTree::directOverride | ( | const QString & | path | ) | const |
|
static |
| bool PhosphorAnimationShaders::ShaderProfileTree::hasOverride | ( | const QString & | path | ) | const |
|
inline |
|
default |
|
default |
| bool PhosphorAnimationShaders::ShaderProfileTree::operator== | ( | const ShaderProfileTree & | other | ) | const |
| QStringList PhosphorAnimationShaders::ShaderProfileTree::overriddenPaths | ( | ) | const |
| ShaderProfile PhosphorAnimationShaders::ShaderProfileTree::resolve | ( | const QString & | path | ) | const |
| void PhosphorAnimationShaders::ShaderProfileTree::setBaseline | ( | const ShaderProfile & | profile | ) |
| void PhosphorAnimationShaders::ShaderProfileTree::setOverride | ( | const QString & | path, |
| const ShaderProfile & | profile | ||
| ) |
| QJsonObject PhosphorAnimationShaders::ShaderProfileTree::toJson | ( | ) | const |