paintHandleLayers method
void
paintHandleLayers(
- PaintingContext context,
- dynamic paint(
- PaintingContext context,
- Offset offset
Implementation
void paintHandleLayers(PaintingContext context,
Function(PaintingContext context, Offset offset) paint) {
if (selection == null) {
return;
}
final List<TextSelectionPoint>? endpoints =
getEndpointsForSelection(selection!);
if (endpoints == null || endpoints.isEmpty) {
return;
}
Offset startPoint = endpoints[0].point;
startPoint = Offset(
startPoint.dx.clamp(0.0, size.width),
startPoint.dy.clamp(0.0, size.height),
);
context.pushLayer(
LeaderLayer(link: startHandleLayerLink!, offset: startPoint),
paint,
Offset.zero,
);
if (endpoints.length == 2) {
Offset endPoint = endpoints[1].point;
endPoint = Offset(
endPoint.dx.clamp(0.0, size.width),
endPoint.dy.clamp(0.0, size.height),
);
context.pushLayer(
LeaderLayer(link: endHandleLayerLink!, offset: endPoint),
paint,
Offset.zero,
);
}
}