Target.at constructor

const Target.at(
  1. double x,
  2. double y
)

The widget at a point, in the coordinates every box in an observation is reported in.

What to reach for when a control has no words. Six or seven of the forty-odd things on a real screen carry no label, no text and no tooltip — icon buttons, mostly — and until this there was no way to name one at all. It is also how a screen item is acted on: the host turns {"item": 20} into the centre of that item's box.

It resolves through the same ladder as every other target rather than tapping blind coordinates: the point picks the widget, and being covered, offscreen or gone is refused exactly as it would be for a text target.

What the point picks is the widget the pointer would reach; where a verb with a finger puts it down is the point itself — see point. Which matters exactly where this form earns its keep, on a surface whose regions are painted rather than built and therefore share one box: there the widget is the whole canvas and its centre is a different region every time.

The same on both surfaces that speak this vocabulary — a scenario's verbs and a drive's. tap(Target.at(x, y)) is tapAt(Offset(x, y)), and {"at": {"x": …, "y": …}} is the same press again.

Implementation

const factory Target.at(double x, double y) = _At;