Package-level declarations

Functions

Link copied to clipboard
fun CropOverlay(rect: NormalizedRect, onRectChange: (NormalizedRect) -> Unit, output: Size, modifier: Modifier = Modifier, contentScale: VideoContentScale = VideoContentScale.Fit, constraint: CropConstraint = CropOverlayDefaults.Constraint, colors: CropColors = CropOverlayDefaults.Palette, handleLength: Dp = CropOverlayDefaults.HandleLength, touchSize: Dp = CropOverlayDefaults.TouchSize, showGrid: Boolean = true)

A drag-to-crop rectangle over a video frame.

Link copied to clipboard
fun VideoStageScope.CropOverlay(rect: NormalizedRect, onRectChange: (NormalizedRect) -> Unit, modifier: Modifier = Modifier, constraint: CropConstraint = CropOverlayDefaults.Constraint, colors: CropColors = CropOverlayDefaults.Palette, handleLength: Dp = CropOverlayDefaults.HandleLength, touchSize: Dp = CropOverlayDefaults.TouchSize, showGrid: Boolean = true)

A drag-to-crop rectangle over the video a dev.jordond.filmstrip.compose.ui.VideoStage is showing.

Link copied to clipboard
fun FilmstripImage(renderer: FrameRenderer, composition: EditComposition, at: Duration, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Fit, contentDescription: String? = null, exportSpec: ExportSpec = ExportSpec(), placeholder: @Composable () -> Unit = { })

One frame of composition, drawn at the size this is laid out to.

Link copied to clipboard
fun FilmstripStrip(frames: FilmstripFrames, grid: StripGrid, modifier: Modifier = Modifier, state: LazyListState = rememberLazyListState(), tileHeight: Dp = FilmstripTimelineDefaults.StripHeight, colors: TimelineColors = FilmstripTimelineDefaults.Palette, userScrollEnabled: Boolean = true, placeholder: @Composable (index: Int) -> Unit = { })

The scrolling strip of tiles.

Link copied to clipboard
fun VideoStageScope.OverlayHandle(placement: OverlayPlacement, onFrameAnchorChange: (Anchor) -> Unit, output: Size, modifier: Modifier = Modifier, colors: OverlayHandleColors = OverlayHandleDefaults.Palette, handleLength: Dp = OverlayHandleDefaults.HandleLength, enabled: Boolean = true, content: @Composable () -> Unit = { })

A draggable box over the video a VideoStage is showing, drawn where the overlay it stands for really lands.

Link copied to clipboard
fun Playhead(position: () -> Duration, scale: TimelineScale, modifier: Modifier = Modifier, scrollPx: () -> Float = { 0f }, sourceOffset: () -> Duration = { Duration.ZERO }, colors: TimelineColors = FilmstripTimelineDefaults.Palette, width: Dp = FilmstripTimelineDefaults.PlayheadWidth, knobSize: Dp = FilmstripTimelineDefaults.PlayheadKnobSize)

The playhead line and its knob, drawn over the strip.

Link copied to clipboard
suspend fun LazyListState.scrollStripTo(grid: StripGrid, contentPx: Float)

Scrolls the strip so contentPx sits at the left edge of the viewport.

Link copied to clipboard

How far a strip laid out on grid has scrolled, in content pixels.

Link copied to clipboard
fun TimelineRuler(scale: TimelineScale, modifier: Modifier = Modifier, scrollPx: () -> Float = { 0f }, height: Dp = FilmstripTimelineDefaults.RulerHeight, colors: TimelineColors = FilmstripTimelineDefaults.Palette, minTickSpacing: Dp = FilmstripTimelineDefaults.MinTickSpacing, label: (time: Duration, interval: Duration) -> String = FilmstripTimelineDefaults::clockLabel)

Tick marks and time labels above the strip.

Link copied to clipboard
fun TrimOverlay(range: TimeRange, scale: TimelineScale, onRangeChange: (TimeRange) -> Unit, modifier: Modifier = Modifier, scrollPx: () -> Float = { 0f }, constraint: TrimConstraint = FilmstripTimelineDefaults.Trim, colors: TimelineColors = FilmstripTimelineDefaults.Palette, handleWidth: Dp = FilmstripTimelineDefaults.HandleWidth, touchWidth: Dp = FilmstripTimelineDefaults.HandleTouchWidth, speed: Double = 1.0)

The trim window over the strip: a scrim on what the trim leaves out, and a handle at each end.