PanAndScaleState

class PanAndScaleState(initialScale: Float = 1.0f, initialPan: DpOffset = DpOffset.Zero, val minScale: Float = 0.1f, val maxScale: Float = 1.0f)

UI Tests:

  1. Scale out and in

  2. Scale partially out, move mouse scale in

  3. Scale partially out, pan, scale in

  4. Animate pan

  5. Spam animation

  6. Scale while animating

Constructors

Link copied to clipboard
constructor(initialScale: Float = 1.0f, initialPan: DpOffset = DpOffset.Zero, minScale: Float = 0.1f, maxScale: Float = 1.0f)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
suspend fun animatePanTo(offset: DpOffset, animationSpec: AnimationSpec<DpOffset> = tween()): Job
Link copied to clipboard
suspend fun animateScaleTo(targetScale: Float, origin: DpOffset = DpOffset.Zero, animationSpec: AnimationSpec<Float> = tween()): Job
Link copied to clipboard
fun panTo(offset: DpOffset)

Pan to a specific location on the canvas. panTo() takes scale into account so the offset provided should treat the offset as if scale is 1.0.

Link copied to clipboard
fun scaleTo(targetScale: Float, origin: DpOffset = DpOffset.Zero)