DissolvePresenter

class DissolvePresenter<T>(easeOut: (Float) -> Float = { it }, easeIn: (Float) -> Float = { it }, itemConstraints: ConstraintDslContext.(Bounds) -> Unit = fill) : ConstraintBasedPresenter<T> (source)

Shows contents of a Carousel one by one, and does an opacity fade between them as the frame changes.

Parameters

itemConstraints

that determine the bounds of each item relative to the Carousel

Constructors

Link copied to clipboard
constructor(easeOut: (Float) -> Float = { it }, easeIn: (Float) -> Float = { it }, itemConstraints: ConstraintDslContext.(Bounds) -> Unit = fill)

Functions

Link copied to clipboard

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.

Link copied to clipboard

Called by Carousel to update the Presentation it should display.

Inherited functions

Link copied to clipboard
protected fun boundsFromConstraint(item: Carousel.PresentedItem, viewPort: Size, forceSetup: Boolean = false): Rectangle
Link copied to clipboard
protected fun setBounds(item: Carousel.PresentedItem, viewPort: Size, adjust: (Rectangle) -> Rectangle = { it })

Sets the bounds of item based on the result of using. This method tries to handle cases where the item being constrained adjusts its size after a bounds change. This would be the case for an item that maintains an aspect ratio for example. The calculation is run a second time in these cases to allow any constraint to adjust as needed.

Link copied to clipboard
fun Carousel<T, *>.update()

Indicate that the stage is outdated and suggest the Carousel invoke present.