CalseeThemeController constructor
CalseeThemeController({
- Iterable<
ThemeFamily> ? families, - Object? savedState,
- int? seed,
- bool accessible = false,
- ThemeIntent? intent,
A feed limited to families (all families when null or empty),
restored from savedState when given, otherwise starting at seed
(a random one when null).
accessible keeps only themes that also pass the stricter contrast
checks (the Accessible themes setting in Calsee).
intent steers new themes (see intent); a fresh feed then starts
on the intent's centred theme. A restored feed already steered by an
equal intent stays where it was.
Implementation
CalseeThemeController({
Iterable<ThemeFamily>? families,
Object? savedState,
int? seed,
bool accessible = false,
ThemeIntent? intent,
}) : _feed = savedState == null
? ThemeFeed(
feedSeed: seed ?? ThemeFeed.randomFeedSeed(),
intent: intent,
)
: ThemeFeed.fromJson(savedState),
_accessible = accessible {
if (families != null) this.families = families;
if (savedState != null && intent != null && intent != _feed.intent) {
_feed.steer(intent);
}
}