exportWidgetToClipboard method

Future exportWidgetToClipboard(
  1. GlobalKey<State<StatefulWidget>> key,
  2. NamedMediaType mediaType, {
  3. double pixelRatio = 1,
})

Implementation

Future exportWidgetToClipboard(
    material.GlobalKey key, NamedMediaType mediaType,
    {double pixelRatio = 1}) async {
  if (key.currentContext case material.BuildContext context) {
    if (context.findRenderObject() case RenderRepaintBoundary boundary) {
      final image = await boundary.toImage(pixelRatio: pixelRatio);
      await exportImageToClipboard(image, mediaType);
    } else {
      throw Exception(
          "The widget from the specified key is not a RepaintBoundary.");
    }
  } else {
    throw Exception("The specified key does not have a context");
  }
}