Package-level declarations

Types

Link copied to clipboard
sealed interface CropConstraint

What a crop gesture is allowed to produce.

Link copied to clipboard

Which part of a crop rectangle a gesture is touching.

Link copied to clipboard

Whether the strip is keeping the playhead on screen.

Link copied to clipboard
sealed interface TrimConstraint

What a trim gesture is allowed to produce.

Link copied to clipboard

Which end of a trim a gesture is moving.

Functions

Link copied to clipboard
fun rememberPlayheadFollow(position: () -> Duration, grid: StripGrid, state: LazyListState, isPlaying: Boolean, enabled: Boolean = true, sourceOffset: () -> Duration = { Duration.ZERO }): PlayheadFollow

Keeps the playhead on screen while isPlaying, and gets out of the way once the user scrolls.

Link copied to clipboard
fun Modifier.scrubTimeline(scrub: ScrubState, scale: TimelineScale, scrollPx: () -> Float = { 0f }, sourceOffset: () -> Duration = { Duration.ZERO }): Modifier

Tap and drag over a timeline, through the scrub protocol the player needs.

Link copied to clipboard
fun Modifier.timelineKeys(state: TimelineState, scrub: ScrubState? = null, position: () -> Duration, step: Duration = FilmstripTimelineDefaults.KeyStep, enabled: Boolean = true): Modifier

Keyboard control over a timeline: arrows seek, home and end jump to the ends, and plus and minus step the zoom ladder.

Link copied to clipboard
fun Modifier.wheelZoomTimeline(state: TimelineState, enabled: Boolean = true, requireModifier: Boolean = true): Modifier

Steps a timeline's zoom ladder with a scroll wheel, holding the wheel's x still on the strip.

Link copied to clipboard
fun Modifier.zoomTimeline(state: TimelineState, enabled: Boolean = true): Modifier

Pinches a timeline's zoom ladder, holding the pinch's focal point still on the strip.