showStockholmMenu function

Future showStockholmMenu({
  1. required BuildContext context,
  2. required Offset preferredAnchorPoint,
  3. required StockholmMenu menu,
  4. Alignment alignment = Alignment.topLeft,
  5. String? semanticLabel,
  6. bool useRootNavigator = false,
})

Implementation

Future showStockholmMenu({
  required BuildContext context,
  required Offset preferredAnchorPoint,
  required StockholmMenu menu,
  Alignment alignment = Alignment.topLeft,
  String? semanticLabel,
  bool useRootNavigator = false,
}) {
  assert(debugCheckHasMaterialLocalizations(context));

  switch (Theme.of(context).platform) {
    case TargetPlatform.iOS:
    case TargetPlatform.macOS:
      break;
    case TargetPlatform.android:
    case TargetPlatform.fuchsia:
    case TargetPlatform.linux:
    case TargetPlatform.windows:
      semanticLabel ??= MaterialLocalizations.of(context).popupMenuLabel;
  }

  final NavigatorState navigator =
      Navigator.of(context, rootNavigator: useRootNavigator);
  return navigator.push(_PopupMenuRoute(
    preferredAnchorPoint: preferredAnchorPoint,
    alignment: alignment,
    semanticLabel: semanticLabel,
    barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
    capturedThemes:
        InheritedTheme.capture(from: context, to: navigator.context),
    menu: menu,
  ));
}