layerAt method
Implementation
ResolvedShapeLayer? layerAt(DiagramPoint worldPoint) {
final local = worldToLocal(worldPoint);
for (final layer in layers.reversed) {
final clipsToOutline = layer.definition is! ShapeTextLayerDefinition;
if (clipsToOutline && !outline.contains(local)) continue;
if ((layer.definition.interactionId != null ||
layer.definition is ShapeTextLayerDefinition) &&
(layer.bounds.contains(local) ||
(layer.definition is ShapeTextLayerDefinition &&
!clipsToOutline &&
(text?.lines.any(
(line) =>
line.regionBounds == layer.bounds &&
line.bounds.contains(local),
) ??
false)))) {
return layer;
}
}
return null;
}