CalcTheme class
Provides CalcThemeData to the calculator widgets.
During a theme transition the data changes every frame. Widgets that only need its structure read layoutOf (they rebuild only when fonts, weights, brightness, springs or the renderer change) and paint colours from liveOf, a listenable that repaints without rebuilding or relayout (design doc "60 fps budget: keys repaint without relayout"; "theme widgets rebuild only theme-dependent layers"). of still rebuilds on every change.
- Inheritance
Constructors
-
CalcTheme({required CalcThemeData data, required Widget child, ValueListenable<
CalcThemeData> ? live, bool settled = true, Key? key}) -
const
Properties
- child → Widget
-
The widget below this widget in the tree.
finalinherited
- data → CalcThemeData
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
live
→ ValueListenable<
CalcThemeData> ? -
The per-frame theme (its value is data whenever this widget is
built). Null: dependents of layoutOf rebuild on every change.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- settled → bool
-
Whether data is a resting theme (no transition running). When it
changes while settled — a transition ended — every dependent
rebuilds once, so widgets built from layoutOf bake the new colours
and the live tints switch off.
final
Methods
-
createElement(
) → InheritedModelElement< CalcThemeAspect> -
Inflates this configuration to a concrete instance.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
isSupportedAspect(
Object aspect) → bool -
Returns true if this model supports the given
aspect.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
-
updateShouldNotify(
covariant CalcTheme oldWidget) → bool -
Whether the framework should notify widgets that inherit from this widget.
override
-
updateShouldNotifyDependent(
covariant CalcTheme oldWidget, Set< CalcThemeAspect> dependencies) → bool -
Return true if the changes between this model and
oldWidgetmatch any of thedependencies.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
layoutOf(
BuildContext context) → CalcThemeData -
The nearest CalcThemeData, rebuilding
contextonly when its structure changes (CalcThemeData.sameLayout). Colours read from it may be stale during a transition: paint them from liveOf. -
liveOf(
BuildContext context) → ValueListenable< CalcThemeData> -
The per-frame theme as a listenable for painters (
repaint:). Registers no dependency on the data itself. -
maybeOf(
BuildContext context) → CalcThemeData? - The nearest CalcThemeData, or null.
-
of(
BuildContext context) → CalcThemeData - The nearest CalcThemeData; without a CalcTheme ancestor, the PlainTheme for the platform brightness (handy in widget tests).