#pragma once #include #include #include "core/params.hpp" namespace effector { // A named set of formatting values, shared by every stage that follows it. // // A style carries only the params an effect marked styled() -- the look, never // the placement -- so several text stages can share one typography while each // keeps its own words and its own corner of the canvas. Changing the style is // the point: it changes every stage pointing at it at once. struct Style { std::string kind; // the pool, as Effect::styleKind() names it std::string name; // unique within a kind, never empty ParamValues values; // the styled params only }; using StyleSet = std::vector