- override
Override this method to handle pointer events that hit this render object.
For RenderBox
objects, the entry
argument is a BoxHitTestEntry
. From this
object you can determine the PointerDownEvent
's position in local coordinates.
(This is useful because PointerEvent.position
is in global coordinates.)
If you override this, consider calling debugHandleEvent
as follows, so
that you can support debugPaintPointersEnabled
:
@override
void handleEvent(PointerEvent event, HitTestEntry entry) {
assert(debugHandleEvent(event, entry));
// ... handle the event ...
}
Source
@override void handleEvent(PointerEvent event, BoxHitTestEntry entry) { assert(debugHandleEvent(event, entry)); if (event is! PointerDownEvent) return; _layoutText(minWidth: constraints.minWidth, maxWidth: constraints.maxWidth); Offset offset = entry.localPosition.toOffset(); TextPosition position = _textPainter.getPositionForOffset(offset); TextSpan span = _textPainter.text.getSpanForPosition(position); span?.recognizer?.addPointer(event); }