All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.peanuuutz.fork.ui.preset.theme.Theme.kt Maven / Gradle / Ivy

The newest version!
package net.peanuuutz.fork.ui.preset.theme

import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import net.peanuuutz.fork.ui.preset.BackgroundStyle
import net.peanuuutz.fork.ui.preset.ButtonStyle
import net.peanuuutz.fork.ui.preset.CheckboxStyle
import net.peanuuutz.fork.ui.preset.Colors
import net.peanuuutz.fork.ui.preset.LocalBackground
import net.peanuuutz.fork.ui.preset.LocalButton
import net.peanuuutz.fork.ui.preset.LocalCheckbox
import net.peanuuutz.fork.ui.preset.LocalColors
import net.peanuuutz.fork.ui.preset.LocalPanel
import net.peanuuutz.fork.ui.preset.LocalScrollbar
import net.peanuuutz.fork.ui.preset.LocalSliderThumb
import net.peanuuutz.fork.ui.preset.LocalSliderTrack
import net.peanuuutz.fork.ui.preset.LocalSwitchThumb
import net.peanuuutz.fork.ui.preset.LocalSwitchTrack
import net.peanuuutz.fork.ui.preset.LocalTextField
import net.peanuuutz.fork.ui.preset.LocalTooltipArea
import net.peanuuutz.fork.ui.preset.PanelStyle
import net.peanuuutz.fork.ui.preset.ScrollbarStyle
import net.peanuuutz.fork.ui.preset.SliderThumbStyle
import net.peanuuutz.fork.ui.preset.SliderTrackStyle
import net.peanuuutz.fork.ui.preset.TextFieldStyle
import net.peanuuutz.fork.ui.preset.TooltipAreaStyle

@Composable
fun Theme(
    colors: Colors = VanillaTheme.Light.Colors,
    background: BackgroundStyle = VanillaTheme.CommonBackground,
    panel: PanelStyle = VanillaTheme.Light.Panel,
    button: ButtonStyle = VanillaTheme.Button,
    textField: TextFieldStyle = VanillaTheme.TextField,
    checkbox: CheckboxStyle = VanillaTheme.Checkbox,
    switchTrack: SliderTrackStyle = VanillaTheme.SwitchTrack,
    switchThumb: SliderThumbStyle = VanillaTheme.SwitchThumb,
    tooltipArea: TooltipAreaStyle = VanillaTheme.TooltipArea,
    sliderTrack: SliderTrackStyle = VanillaTheme.SliderTrack,
    sliderThumb: SliderThumbStyle = VanillaTheme.SliderThumb,
    scrollbar: ScrollbarStyle = VanillaTheme.Scrollbar,
    content: @Composable () -> Unit
) {
    CompositionLocalProvider(
        LocalColors provides colors,
        LocalBackground provides background,
        LocalPanel provides panel,
        LocalButton provides button,
        LocalTextField provides textField,
        LocalCheckbox provides checkbox,
        LocalSwitchTrack provides switchTrack,
        LocalSwitchThumb provides switchThumb,
        LocalTooltipArea provides tooltipArea,
        LocalSliderTrack provides sliderTrack,
        LocalSliderThumb provides sliderThumb,
        LocalScrollbar provides scrollbar,
        content = content
    )
}

object Theme




© 2015 - 2025 Weber Informatics LLC | Privacy Policy