Package-level declarations

Types

Link copied to clipboard
@Stable
@Serializable
class DesktopState(val story: WindowState = WindowState(), val assistant: WindowState = WindowState())
Link copied to clipboard
annotation class ExperimentalStoryStateApi
Link copied to clipboard

What mode for a dev.bnorm.storyboard.Scene is active. Scenes can be displayed multiple times and in multiple locations. It is useful for a scene to know what mode it is in, so it can change how it is rendered or perform different effects. For example, a scene may have an animation, which is not useful to play when the scene is being previewed.

Link copied to clipboard
@Stable
class StoryState(initialIndex: Storyboard.Index = Storyboard.Index(0, 0))

Properties

Link copied to clipboard
val LocalSceneMode: ProvidableCompositionLocal<SceneMode?>
Link copied to clipboard
val LocalStoryboard: ProvidableCompositionLocal<Storyboard?>

Functions

Link copied to clipboard
fun Modifier.animateEnterExit(enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), label: String = "animateEnterExit"): Modifier
Link copied to clipboard
@Composable
fun MenuBarScope.DesktopMenu(storyboard: Storyboard, windowState: WindowState, content: @Composable MenuBarScope.() -> Unit)
Link copied to clipboard
@Composable
fun ApplicationScope.DesktopStoryEasel(storyboard: Storyboard)

@Composable
fun ApplicationScope.DesktopStoryEasel(storyState: StoryState, overlay: @Composable StoryOverlayScope.() -> Unit = { OverlayNavigation(storyState) }, captions: ImmutableList<Caption> = persistentListOf())

This function is designed to be used in combination with Compose Hot-Reload. Make sure a Storyboard is already attached to the StoryState with StoryState.updateStoryboard. Each time the storyboard is changed, it can be updated on the state to not revert the story to the first index.

Link copied to clipboard
@Composable
fun rememberDesktopState(storyboard: Storyboard, format: StringFormat = Json): DesktopState?
@Composable
fun rememberDesktopState(path: Path, format: StringFormat = Json): DesktopState?
Link copied to clipboard
fun rememberSharedContentState(key: Any): SharedTransitionScope.SharedContentState
Link copied to clipboard
@Composable
fun rememberStoryState(initialIndex: Storyboard.Index = Storyboard.Index(0, 0)): StoryState
@Composable
fun rememberStoryState(storyboard: Storyboard, initialIndex: Storyboard.Index = Storyboard.Index(0, 0)): StoryState
Link copied to clipboard
@Composable
fun <T> SceneGallery(scene: Scene<T>, modifier: Modifier = Modifier, format: SceneFormat = SceneFormat.Default, decorator: SceneDecorator = SceneDecorator.None, sceneMode: SceneMode = SceneMode.Preview)
Link copied to clipboard
@Composable
fun ScenePreview(storyboard: Storyboard, index: Storyboard.Index, modifier: Modifier = Modifier, sceneMode: SceneMode = SceneMode.Preview)
@Composable
fun <T> ScenePreview(storyboard: Storyboard, scene: Scene<T>, frame: Frame<T>, modifier: Modifier = Modifier, sceneMode: SceneMode = SceneMode.Preview)
@Composable
fun <T> ScenePreview(scene: Scene<T>, frame: Frame<T>, modifier: Modifier = Modifier, format: SceneFormat = SceneFormat.Default, decorator: SceneDecorator = SceneDecorator.None, sceneMode: SceneMode = SceneMode.Preview)
Link copied to clipboard
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), boundsTransform: BoundsTransform, resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), boundsTransform: BoundsTransform, resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), boundsTransform: BoundsTransform, resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
fun Modifier.sharedBounds(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, enter: EnterTransition = fadeIn(), exit: ExitTransition = fadeOut(), boundsTransform: BoundsTransform, resizeMode: SharedTransitionScope.ResizeMode = ScaleToBounds(ContentScale.FillWidth, Center), placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
Link copied to clipboard
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, boundsTransform: BoundsTransform, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, boundsTransform: BoundsTransform, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, boundsTransform: BoundsTransform, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
fun Modifier.sharedElement(sharedContentState: SharedTransitionScope.SharedContentState, animatedVisibilityScope: AnimatedVisibilityScope, boundsTransform: BoundsTransform, placeHolderSize: SharedTransitionScope.PlaceHolderSize = contentSize, renderInOverlayDuringTransition: Boolean = true, zIndexInOverlay: Float = 0.0f, clipInOverlayDuringTransition: SharedTransitionScope.OverlayClip): Modifier
Link copied to clipboard
@Composable
fun Story(storyState: StoryState, modifier: Modifier = Modifier)
Link copied to clipboard
@Composable
fun StoryEasel(storyState: StoryState, overlay: @Composable StoryOverlayScope.() -> Unit = {}, modifier: Modifier = Modifier)
Link copied to clipboard
@Composable
fun StoryEaselWindow(storyState: StoryState, onCloseRequest: () -> Unit, modifier: Modifier = Modifier.Companion, windowState: WindowState = rememberWindowState(), menuBar: @Composable MenuBarScope.() -> Unit = {}, overlay: @Composable StoryOverlayScope.() -> Unit = {}, exporter: StoryboardPdfExporter)
Link copied to clipboard
@Composable
fun StoryGallery(storyboard: Storyboard, modifier: Modifier = Modifier, sceneMode: SceneMode = SceneMode.Preview)
@Composable
fun StoryGallery(modifier: Modifier = Modifier, name: String = "Gallery", description: String? = null, format: SceneFormat = SceneFormat.Default, decorator: SceneDecorator = SceneDecorator.None, sceneMode: SceneMode = SceneMode.Preview, block: StoryboardBuilder.() -> Unit)
Link copied to clipboard
@Composable
fun StoryPreview(storyboard: Storyboard, modifier: Modifier = Modifier, sceneMode: SceneMode = SceneMode.Preview)
@Composable
fun StoryPreview(modifier: Modifier = Modifier, name: String = "Preview", description: String? = null, format: SceneFormat = SceneFormat.Default, decorator: SceneDecorator = SceneDecorator.None, sceneMode: SceneMode = SceneMode.Preview, block: StoryboardBuilder.() -> Unit)
Link copied to clipboard
@Composable
fun WebStoryEasel(storyboard: Storyboard)
@Composable
fun WebStoryEasel(storyState: StoryState, overlay: @Composable StoryOverlayScope.() -> Unit = { OverlayNavigation(storyState) })