set property
Every shot of this set, in the order the store will show them —
including this one, at set[index - 1].
Here because a composition is not always about one screenshot. A device body tilted across a listing has to start in one canvas and continue in the next, so the frame drawing shot 2 paints part of shot 1 — with shot 1's real pixels in it, or the join is a grey rectangle.
Lazy, as any ImageProvider is: nothing here decodes until the widget
that holds it is painted, so a frame that ignores this pays nothing for
it, and one that reaches for a neighbour pays for that neighbour. Reach
far and you pay far — a set is up to ten canvases of several megapixels
each.
The harness precaches whatever the frame actually placed, so an Image
widget from this list arrives painted. A provider handed to something
that is not an Image — a DecorationImage, a custom painter — is not
found and will capture as a hole.
Implementation
final List<ImageProvider> set;