containsPoint method
- Vector2 point
override
Whether this node's hit area contains point.
Override to opt into hitTest. Plain nodes never match.
Implementation
@override
bool containsPoint(Vector2 point) {
final adjusted = toLocal(point);
switch (shape) {
case Rectangle(:final size):
if (size.x <= 0 || size.y <= 0) return false;
return adjusted.x >= 0 && //
adjusted.x <= size.x &&
adjusted.y >= 0 &&
adjusted.y <= size.y;
case Circle(:final radius):
final dx = adjusted.x - radius;
final dy = adjusted.y - radius;
return dx * dx + dy * dy <= radius * radius;
}
}