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
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.