Skip to content

//tvlib/org.mjdev.tvlib.ui.components.card

Package-level declarations

Types

Name Summary
FocusHelper [androidJvm]
class FocusHelper(focused: Boolean) : FocusState

Properties

Name Summary
NO_BORDER [androidJvm]
@get:Composable
val CardDefaults.NO_BORDER: CardBorder
NO_GLOW [androidJvm]
@get:Composable
val CardDefaults.NO_GLOW: CardGlow

Functions

Name Summary
Card [androidJvm]
@Composable
fun Card(modifier: Modifier = Modifier, scale: CardScale = CardScale.None, onClick: () -> Unit? = null, onLongClick: () -> Unit? = null, shape: CardShape = CardDefaults.shape(), colors: CardColors = CardDefaults.colors(), border: CardBorder = CardDefaults.NO_BORDER, focusGlowColor: Color = Color.Green, unFocusGlowColor: Color = Color.Transparent, glow: CardGlow = CardDefaults.colorFocusGlow( focusGlowColor, unFocusGlowColor ), aspectRatio: Float? = 16f / 9f, interactionSource: MutableInteractionSource = rememberMutableInteractionSource(), content: @ComposableColumnScope.() -> Unit = {})
CardContent [androidJvm]
@Composable
fun CardContent(modifier: Modifier = Modifier, subtitleAlpha: Float = 0.6f, descriptionAlpha: Float = 0.8f, title: @Composable() -> Unit = { AutoHideEmptyText("title") }, subtitle: @Composable() -> Unit = { Box(Modifier.graphicsLayer { alpha = subtitleAlpha }) { AutoHideEmptyText("subtitle") } }, description: @Composable() -> Unit = { Box(Modifier.graphicsLayer { alpha = descriptionAlpha }) { AutoHideEmptyText("description") } })
colorFocusBorder [androidJvm]
@Composable
fun CardDefaults.colorFocusBorder(colorFocused: Color = Color.Green, colorUnFocused: Color = Color.Black, colorPressed: Color = Color.Yellow, width: Dp = 1.dp, roundCornerSize: Dp = 8.dp): CardBorder
colorFocusGlow [androidJvm]
@Composable
fun CardDefaults.colorFocusGlow(focusColor: Color = Color.Green, onUnFocusColor: Color = Color.Transparent, elevation: Dp = 10.dp): CardGlow
ItemCard [androidJvm]
@Composable
fun ItemCard(item: Any? = null, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Crop, scale: CardScale = CardDefaults.scale(), shape: CardShape = CardDefaults.shape(), textColor: Color = Color.White, colors: CardColors = CardDefaults.colors(), border: CardBorder = CardDefaults.colorFocusBorder(Color.Green), glow: CardGlow = CardDefaults.colorFocusGlow(Color.Green), aspectRatio: Float = 16f / 9f, placeholder: @Composable() -> Unit = { Image( painter = painterResource(R.drawable.broken_image), "", modifier ) }, imageRenderer: @Composable() -> Unit = { ImageAny( modifier = modifier.fillMaxSize(), src = (item as? ItemWithImage<>)?.image, contentDescription = (item as? ItemWithDescription<>)?.description?.toString(), contentScale = contentScale, placeholder = placeholder ) }, cardWidth: Dp = computeCardWidth(), focused: Boolean = isEditMode(), focusState: MutableState<FocusState> = rememberFocusState( item, FocusHelper(focused) ), focusRequester: FocusRequester = rememberFocusRequester(item), titlePadding: PaddingValues = PaddingValues(8.dp), showTitle: Boolean = true, onFocus: (item: Any?, fromUser: Boolean) -> Unit? = null, onClick: (item: Any?) -> Unit? = null)
PhotoCard [androidJvm]
@Composable
fun PhotoCard(item: Any? = null, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Fit, textColor: Color = Color.White, focused: Boolean = isEditMode(), focusState: MutableState<FocusState> = rememberFocusState( item, FocusHelper(focused) ), focusRequester: FocusRequester = rememberFocusRequester(item), @FloatRange(from = 0.0, to = 10.0)contrast: Float = 5.0f, @FloatRange(from = -255.0, to = 255.0)brightness: Float = -255f, placeholder: @Composable() -> Unit = { ImageAny( modifier = Modifier.fillMaxSize().padding(64.dp), src = R.drawable.broken_image, contentScale = contentScale ) }, imageRenderer: @Composable() -> Unit = { PhotoImage( modifier = Modifier.fillMaxSize(), src = (item as? ItemWithImage<>)?.image, contentScale = contentScale, contrast = contrast, brightness = brightness, placeholder = placeholder, borderColor = if (focusState.isFocused) Color.Green else Color.Black, contentDescription = (item as? ItemWithDescription<>)?.description?.toString(), ) }, showTitle: Boolean = true, cardWidth: Dp = computeCardWidth(), aspectRatio: Float = 16f / 9f, scale: CardScale = CardDefaults.scale(), titlePadding: PaddingValues = PaddingValues(8.dp), onFocus: (item: Any?, fromUser: Boolean) -> Unit? = null, onClick: (item: Any?) -> Unit? = null)
PreviewCard [androidJvm]
@UnstableApi
@Composable
fun PreviewCard(modifier: Modifier = Modifier, videoUrl: String = "", aspectRatio: Float? = 16f / 9f, hasFocus: Boolean = false, clipStartPosition: Long = 2000000, clipEndPosition: Long = 8000000, thumbnailFrame: Long = 5000000, thumbnailUrl: String? = null)
PreviewThumbnail [androidJvm]
@Composable
fun PreviewThumbnail(thumbnail: String? = "", thumbnailBitmap: Bitmap? = null, thumbnailFrame: Long = 0, videoUrl: String = "", isLoadingVideo: Boolean = false, onBitmapLoaded: (bitmap: Bitmap?) -> Unit = {})
rainbowBorder [androidJvm]
fun Modifier.rainbowBorder(borderSize: Dp = 4.dp, borderRound: Dp = 8.dp, shape: Shape = RoundedCornerShape(borderRound)): Modifier
rainbowColorsBrush [androidJvm]
@Composable
fun rainbowColorsBrush(key: Any? = null): Brush