buildToolbar method
Widget
buildToolbar(
- BuildContext context,
- Rect globalEditableRegion,
- double textLineHeight,
- Offset? selectionMidpoint,
- List<
TextSelectionPoint> endpoints, - TextSelectionDelegate delegate,
- ClipboardStatusNotifier clipboardStatus,
- Offset? lastSecondaryTapDownPosition,
override
Builder for material-style copy/paste text selection toolbar.
Implementation
@override
Widget buildToolbar(
BuildContext context,
Rect globalEditableRegion,
double textLineHeight,
Offset? selectionMidpoint,
List<TextSelectionPoint> endpoints,
TextSelectionDelegate delegate,
ClipboardStatusNotifier clipboardStatus,
Offset? lastSecondaryTapDownPosition,
) {
final TextSelectionPoint startTextSelectionPoint = endpoints[0];
final TextSelectionPoint endTextSelectionPoint =
endpoints.length > 1 ? endpoints[1] : endpoints[0];
final Offset anchorAbove = Offset(
globalEditableRegion.left + (selectionMidpoint ?? Offset.zero).dx,
globalEditableRegion.top +
startTextSelectionPoint.point.dy -
textLineHeight -
_kToolbarContentDistance);
final Offset anchorBelow = Offset(
globalEditableRegion.left + (selectionMidpoint ?? Offset.zero).dx,
globalEditableRegion.top + endTextSelectionPoint.point.dy + _kToolbarContentDistanceBelow,
);
return _SelectionToolBar(
anchorAbove: anchorAbove,
anchorBelow: anchorBelow,
clipboardStatus: clipboardStatus,
toolBarItems: toolBarItems,
horizontalPadding: horizontalPadding,
verticalPadding: verticalPadding,
canCopy: canCopy(delegate),
canCut: canCut(delegate),
canPaste: canPaste(delegate),
canSelectAll: canSelectAll(delegate),
onItemSelected: (ToolBarItem item) =>
_onItemSelected(item: item, delegate: delegate, clipboardStatus: clipboardStatus));
}