DebugOverlay class
A debug overlay that displays rendering metrics.
Reads runtime RenderMetrics from RenderMetricsProvider (populated
by WidgetApp) rather than receiving RenderMetricsMsg via
handleUpdate. This avoids dispatching metrics messages through the
entire widget tree, which was a major source of unnecessary rebuilds.
Requires WidgetApp.enableRenderMetrics to be true (the default) for
runtime FPS data. Without it, the overlay still shows widget frame counts.
DebugOverlay(
enabled: true,
child: MyApp(),
)
- Inheritance
-
- Object
- Widget
- StatefulWidget
- DebugOverlay
Constructors
- DebugOverlay({required Widget child, bool enabled = true, DebugOverlayPosition position = DebugOverlayPosition.topRight, Key? key})
Properties
- child → Widget
-
The main content underneath the overlay.
final
-
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
- enabled → bool
-
Whether the overlay is visible.
final
- focusable → bool
-
Whether this widget can receive keyboard focus.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Unique identifier for this widget.
no setterinherited
- key → Key?
-
Key for preserving widget identity.
finalinherited
- position → DebugOverlayPosition
-
Where to position the overlay.
final
- 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
-
createState(
) → State< DebugOverlay> -
Creates the mutable State associated with this widget.
override
-
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
-
view(
) → Object -
Renders the widget to a string or View.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited