wrap method
Widget
wrap({
- required BuildContext context,
- required HeadlessPressableController controller,
- required bool enabled,
- required VoidCallback onActivate,
- required Widget child,
- RenderOverrides? overrides,
- HeadlessPressableVisualEffectsController? visualEffects,
- FocusNode? focusNode,
- bool autofocus = false,
- MouseCursor? cursorWhenEnabled,
- MouseCursor? cursorWhenDisabled,
Wraps the child widget with an interactive pressable surface.
The surface handles:
- Visual feedback (ripple, opacity, etc.)
- Focus management
- Mouse cursor
controller provides the current interaction state (pressed/hovered/focused).
enabled determines if the surface is interactive.
onActivate is called when the surface is activated (tap/enter/space).
Implementation
@override
Widget wrap({
required BuildContext context,
required HeadlessPressableController controller,
required bool enabled,
required VoidCallback onActivate,
required Widget child,
RenderOverrides? overrides,
HeadlessPressableVisualEffectsController? visualEffects,
FocusNode? focusNode,
bool autofocus = false,
MouseCursor? cursorWhenEnabled,
MouseCursor? cursorWhenDisabled,
}) {
return _MaterialInkPressableSurfaceWidget(
controller: controller,
enabled: enabled,
onActivate: onActivate,
overrides: overrides,
visualEffects: visualEffects,
focusNode: focusNode,
autofocus: autofocus,
cursorWhenEnabled: cursorWhenEnabled,
cursorWhenDisabled: cursorWhenDisabled,
child: child,
);
}