RenderMetricsProvider class

Provides RenderMetricsHolder to the widget tree via InheritedWidget.

Unlike a typical InheritedWidget, this never notifies dependents — updateShouldNotify always returns false. The holder's data is mutated in-place by WidgetApp, and widgets read from it lazily when they rebuild for other reasons (e.g. when _dirty is set for a real state change or the periodic debug overlay repaint).

Inheritance

Constructors

RenderMetricsProvider({required RenderMetricsHolder holder, required Widget child, Key? key})

Properties

child Widget
The descendant subtree that can depend on this widget's data.
finalinherited
children List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
debugRenderObjectPassthrough bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
focusable bool
Whether this widget can receive keyboard focus.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
holder RenderMetricsHolder
final
id String
Unique identifier for this widget.
no setterinherited
key Key?
Key for preserving widget identity.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
theme Theme
Access the current theme.
no setterinherited

Methods

buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
handleInit() Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
updateShouldNotify(covariant RenderMetricsProvider oldWidget) bool
Whether dependents should rebuild when this widget updates.
override
view() Object
Renders the widget to a string or View.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

maybeOf(BuildContext context) RenderMetricsHolder?
Returns the RenderMetricsHolder from the nearest ancestor, or null.