selectAt method
Selects the topmost object at x, y.
Implementation
CanvasObject? selectAt(double x, double y) {
final object = hitTest(x, y);
final id = object?.id;
final changed = id == null
? _selectedObjectIds.isNotEmpty
: (_selectedObjectIds.length != 1 || _selectedObjectIds.single != id);
_selectedObjectIds
..clear()
..addAll(id == null ? const [] : [id]);
render();
if (changed) _emitSelect();
return object;
}