Presenter
Presenters own the core logic that determines what a Carousel shows at any given moment. They control which items from a Carousel's internal data are visible, how they are positioned, sized, transformed, etc. based on the Carousel's current state. Presenters can also add supplemental Views to a Carousel that aid in the presentation they provide.
Inheritors
Types
Provides an abstract current position of the Carousel that lets the manager "iterate" back and forward.
Functions
A Carousel will call this method when trying to do manual movement. This is a fundamentally different problem than it needs to solve when skipping through items (interpolate between indexes). This requires mapping pixel offsets to indexes. Only a Carousel's Presenter knows how items are laid out and can provide any information about "distance" between them. Hence, this API.
Called by Carousel to update the Presentation it should display.