BrushedLayout.kt 897 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) Milan Jurkulák 2024.
  3. * Contact:
  4. * e: mimoccc@gmail.com
  5. * e: mj@mjdev.org
  6. * w: https://mjdev.org
  7. */
  8. package eu.mjdev.desktop.components.custom
  9. import androidx.compose.desktop.ui.tooling.preview.Preview
  10. import androidx.compose.foundation.Canvas
  11. import androidx.compose.runtime.Composable
  12. import androidx.compose.ui.Modifier
  13. import androidx.compose.ui.graphics.Brush
  14. import androidx.compose.ui.graphics.Color
  15. @Composable
  16. fun BrushedLayout(
  17. modifier: Modifier = Modifier,
  18. alpha: Float = 1f,
  19. colorStart: Color = Color.Black.copy(alpha = if (alpha.isNaN()) 1f else alpha),
  20. colorEnd: Color = Color.Transparent,
  21. ) {
  22. val brush = Brush.radialGradient(listOf(colorStart, colorEnd))
  23. Canvas(
  24. modifier = modifier,
  25. onDraw = {
  26. drawRect(brush)
  27. }
  28. )
  29. }
  30. @Preview
  31. @Composable
  32. fun BrushedLayoutPreview() = BrushedLayout()