# CurvedModifier

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedModifier.kt+class:androidx.wear.compose.foundation.CurvedModifier) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)


```
sealed interface CurvedModifier
```

<br />

Known direct subclasses [CurvedModifier.Companion](https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.Companion)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.Companion` | The companion object `CurvedModifier` is the empty, default, or starter `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` that contains no Elements. |

*** ** * ** ***

An ordered, immutable, collection of modifier elements that work with curved components, in a polar coordinate space.

This plays the same role as `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier`, but for the Curved composables.

## Summary

| ### Nested types |
|---|
| `object https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.Companion : https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` The companion object `CurvedModifier` is the empty, default, or starter `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` that contains no Elements. |

| ### Public companion functions |
|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#toString()()` |

| ### Public functions |
|---|---|
| `open infix https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#then(androidx.wear.compose.foundation.CurvedModifier)(other: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier)` Concatenates this curved modifier with another. |

| ### Extension functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).angularGradientBackground(kotlin.Array,androidx.compose.ui.graphics.StrokeCap)( vararg colorStops: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>, cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap )` Specifies a sweep gradient background for a curved element. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).angularGradientBackground(kotlin.collections.List,androidx.compose.ui.graphics.StrokeCap)( colors: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>, cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap )` Specifies a sweep gradient background for a curved element. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).background(androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.StrokeCap)(color: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color, cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap)` Specifies a solid background for a curved element. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).radialGradientBackground(kotlin.Array,androidx.compose.ui.graphics.StrokeCap)( vararg colorStops: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>, cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap )` Specifies a radial gradient background for a curved element. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).radialGradientBackground(kotlin.collections.List,androidx.compose.ui.graphics.StrokeCap)( colors: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>, cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap )` Specifies a radial gradient background for a curved element. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp)(all: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp)` Apply `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp)` dp space around the component. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.wear.compose.foundation.ArcPaddingValues)(paddingValues: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues)` Apply additional space along the edges of the content. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)(radial: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, angular: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp)` Apply `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp space before and after the component, and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp space to the outer and inner edges. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)(outer: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, inner: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, before: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, after: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp)` Apply additional space along the edges of the content. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).parentDataModifier(kotlin.Function1)(modifyParentData: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` A `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` that provides data to the parent layout. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).weight(kotlin.Float)( weight: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, fromInclusive = false) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html )` Size the element proportional to its `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).weight(kotlin.Float)` relative to other weighted sibling elements in the container (this will be the height in a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedColumn(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Radial,androidx.wear.compose.foundation.CurvedAlignment.Angular,kotlin.Function1)` and the width in a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedRow(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)`). |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).clearAndSetSemantics(kotlin.Function1)(properties: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Allow specifying semantic properties on a curved component, and clearing the existing properties. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).semantics(kotlin.Function1)(properties: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)` Allow specifying semantic properties on a curved component. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).angularSize(kotlin.Float)(sweepDegrees: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Specify the sweep (angular size) for the content. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).angularSizeDp(androidx.compose.ui.unit.Dp)(angularWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp)` Specify the sweep (arc length) for the content in Dp. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).radialSize(androidx.compose.ui.unit.Dp)(thickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp)` Specify the radialSize (thickness) for the content. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).size(kotlin.Float,androidx.compose.ui.unit.Dp)( sweepDegrees: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 360.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, thickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp )` Specify the dimensions (sweep and thickness) for the content. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#(androidx.wear.compose.foundation.CurvedModifier).sizeIn(kotlin.Float,kotlin.Float,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)( minSweepDegrees: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 360.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, maxSweepDegrees: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 360.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, minThickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp, maxThickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp )` Specify the dimensions of the content to be restricted between the given bounds. |

## Public companion functions

### toString

```
open fun toString(): String
```

## Public functions

### then

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
open infix fun then(other: CurvedModifier): CurvedModifier
```

Concatenates this curved modifier with another.

Returns a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` representing this curved modifier followed by `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier#then(androidx.wear.compose.foundation.CurvedModifier)` in sequence.

## Extension functions

### CurvedModifier.angularGradientBackground

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedDraw.kt+function:angularGradientBackground)

```
fun CurvedModifier.angularGradientBackground(
    vararg colorStops: Pair<Float, Color>,
    cap: StrokeCap = StrokeCap.Butt
): CurvedModifier
```

Specifies a sweep gradient background for a curved element.

Example usage:

```kotlin
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.CurvedTextStyle
import androidx.wear.compose.foundation.angularGradientBackground
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.radialGradientBackground
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    basicCurvedText(
        "Radial",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.radialGradientBackground(0f to Color.White, 1f to Color.Black)
                .padding(5.dp),
    )
    basicCurvedText(
        "Angular",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.angularGradientBackground(0f to Color.White, 1f to Color.Black)
                .padding(5.dp),
    )
}
```

| Parameters |
|---|---|
| `vararg colorStops: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>` | Colors and their offset in the gradient area. Note that the offsets should be in ascending order. 0 means where the curved element starts laying out, 1 means the end |
| `cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap = StrokeCap.Butt` | How to start and end the background. |

### CurvedModifier.angularGradientBackground

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedDraw.kt+function:angularGradientBackground)

```
fun CurvedModifier.angularGradientBackground(
    colors: List<Color>,
    cap: StrokeCap = StrokeCap.Butt
): CurvedModifier
```

Specifies a sweep gradient background for a curved element.

| Parameters |
|---|---|
| `colors: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>` | Colors in the gradient area. Gradient goes in the clockwise direction. |
| `cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap = StrokeCap.Butt` | How to start and end the background. |

### CurvedModifier.background

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedDraw.kt+function:background)

```
fun CurvedModifier.background(color: Color, cap: StrokeCap = StrokeCap.Butt): CurvedModifier
```

Specifies a solid background for a curved element.

| Parameters |
|---|---|
| `color: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color` | The color to use to paint the background. |
| `cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap = StrokeCap.Butt` | How to start and end the background. |

### CurvedModifier.radialGradientBackground

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedDraw.kt+function:radialGradientBackground)

```
fun CurvedModifier.radialGradientBackground(
    vararg colorStops: Pair<Float, Color>,
    cap: StrokeCap = StrokeCap.Butt
): CurvedModifier
```

Specifies a radial gradient background for a curved element.

Example usage:

```kotlin
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.CurvedTextStyle
import androidx.wear.compose.foundation.angularGradientBackground
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.radialGradientBackground
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    basicCurvedText(
        "Radial",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.radialGradientBackground(0f to Color.White, 1f to Color.Black)
                .padding(5.dp),
    )
    basicCurvedText(
        "Angular",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.angularGradientBackground(0f to Color.White, 1f to Color.Black)
                .padding(5.dp),
    )
}
```

| Parameters |
|---|---|
| `vararg colorStops: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-pair/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>` | Colors and their offset in the gradient area. Note that the offsets should be in ascending order. 0 means the outer curve and 1 means the inner curve of the curved element. |
| `cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap = StrokeCap.Butt` | How to start and end the background. |

### CurvedModifier.radialGradientBackground

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedDraw.kt+function:radialGradientBackground)

```
fun CurvedModifier.radialGradientBackground(
    colors: List<Color>,
    cap: StrokeCap = StrokeCap.Butt
): CurvedModifier
```

Specifies a radial gradient background for a curved element.

| Parameters |
|---|---|
| `colors: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>` | Colors in the gradient area. Gradient goes from the outer curve to the inner curve of the curved element. |
| `cap: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/StrokeCap = StrokeCap.Butt` | How to start and end the background. |

### CurvedModifier.padding

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedPadding.kt+function:padding)

```
fun CurvedModifier.padding(all: Dp = 0.dp): CurvedModifier
```

Apply `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp)` dp space around the component.

| Parameters |
|---|---|
| `all: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | The space added to all edges. |

### CurvedModifier.padding

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedPadding.kt+function:padding)

```
fun CurvedModifier.padding(paddingValues: ArcPaddingValues): CurvedModifier
```

Apply additional space along the edges of the content.

| Parameters |
|---|---|
| `paddingValues: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues` to use. See that class and factory methods to see how paddings can be specified. |

### CurvedModifier.padding

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedPadding.kt+function:padding)

```
fun CurvedModifier.padding(radial: Dp = 0.dp, angular: Dp = 0.dp): CurvedModifier
```

Apply `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp space before and after the component, and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).padding(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp space to the outer and inner edges.

| Parameters |
|---|---|
| `radial: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | The space added to the outer and inner edges of the content, in dp. |
| `angular: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | The space added before and after the content, in dp. |

### CurvedModifier.padding

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedPadding.kt+function:padding)

```
fun CurvedModifier.padding(outer: Dp, inner: Dp, before: Dp, after: Dp): CurvedModifier
```

Apply additional space along the edges of the content. Dimensions are in dp. For before and after they will be considered as if they are at the midpoint of the content (for conversion between dimension and angle).

| Parameters |
|---|---|
| `outer: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | The space to add to the outer edge of the content (away from the center of the containing CurvedLayout) |
| `inner: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | The space to add to the inner edge of the content (towards the center of the containing CurvedLayout) |
| `before: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | The space added before the component, if it was drawn clockwise. This is the edge of the component with the "smallest" angle. |
| `after: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | The space added after the component, if it was drawn clockwise. This is the edge of the component with the "biggest" angle. |

### CurvedModifier.parentDataModifier

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedParentData.kt+function:parentDataModifier)

```
fun CurvedModifier.parentDataModifier(modifyParentData: (Any?) -> Any?): CurvedModifier
```

A `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` that provides data to the parent layout. The parent data is commonly used to inform the parent how the child Layout should be measured and positioned.

| Parameters |
|---|---|
| `modifyParentData: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | provides a parentData, given the parentData provided through the modifier's chain. |

### CurvedModifier.weight

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedParentData.kt+function:weight)

```
fun CurvedModifier.weight(
    weight: @FloatRange(from = 0.0, fromInclusive = false) Float
): CurvedModifier
```

Size the element proportional to its `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedModifier).weight(kotlin.Float)` relative to other weighted sibling elements in the container (this will be the height in a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedColumn(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Radial,androidx.wear.compose.foundation.CurvedAlignment.Angular,kotlin.Function1)` and the width in a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedRow(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)`). The parent will divide the space remaining after measuring unweighted child elements and distribute it according to this weight.

Example usage:

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.angularSize
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.curvedRow
import androidx.wear.compose.foundation.weight
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize().background(Color.White)) {
    // Evenly spread A, B & C in a 90 degree angle.
    curvedRow(modifier = CurvedModifier.angularSize(90f)) {
        basicCurvedText("A")
        curvedRow(modifier = CurvedModifier.weight(1f)) {}
        basicCurvedText("B")
        curvedRow(modifier = CurvedModifier.weight(1f)) {}
        basicCurvedText("C")
    }
}
```

| Parameters |
|---|---|
| `weight: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, fromInclusive = false) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | The proportional size to give to this element, as related to the total of all weighted siblings. Must be positive. |

### CurvedModifier.clearAndSetSemantics

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSemantics.kt+function:clearAndSetSemantics)

```
fun CurvedModifier.clearAndSetSemantics(properties: CurvedSemanticsScope.() -> Unit): CurvedModifier
```

Allow specifying semantic properties on a curved component, and clearing the existing properties. Note that currently only `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope#contentDescription()` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope#traversalIndex()` are supported, and they can be applied to curved text and curvedComposable

Sample for clearing semantics:

```kotlin
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.traversalIndex
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.CurvedTextStyle
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.clearAndSetSemantics
import androidx.wear.compose.foundation.semantics
import androidx.wear.compose.material.Text

val style =
    CurvedTextStyle(
        letterSpacing = 0.6.sp,
        letterSpacingCounterClockwise = 1.4.sp,
        color = Color.White,
    )
Box(Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
    CurvedLayout(modifier = Modifier.fillMaxSize()) {
        basicCurvedText("This is not announced", style, CurvedModifier.clearAndSetSemantics {})
    }
    Row { Text("This is announced", Modifier.semantics { traversalIndex = -1f }) }
}
```

| Parameters |
|---|---|
| `properties: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | The properties to apply, `https://developer.android.com/reference/kotlin/androidx/compose/ui/semantics/SemanticsPropertyReceiver` will be provided in the scope to allow access for common properties and its values. |

### CurvedModifier.semantics

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSemantics.kt+function:semantics)

```
fun CurvedModifier.semantics(properties: CurvedSemanticsScope.() -> Unit): CurvedModifier
```

Allow specifying semantic properties on a curved component. Note that currently only `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope#contentDescription()` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope#traversalIndex()` are supported, and they can be applied to curved text and curvedComposable

Sample for setting content description and traversal order:

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.traversalIndex
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.CurvedTextStyle
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.curvedComposable
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.semantics
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

val style =
    CurvedTextStyle(
        letterSpacing = 0.6.sp,
        letterSpacingCounterClockwise = 1.4.sp,
        color = Color.White,
    )
Box(Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
    CurvedLayout(modifier = Modifier.fillMaxSize()) {
        basicCurvedText(
            "2 - Left",
            style,
            CurvedModifier.semantics {
                contentDescription = "Left"
                traversalIndex = 2f
            },
        )
        curvedComposable { Box(Modifier.padding(5.dp).background(Color.Red).size(5.dp)) }
        basicCurvedText(
            "3 - Right",
            style,
            CurvedModifier.semantics {
                contentDescription = "Right"
                traversalIndex = 3f
            },
        )
    }
    Row {
        Text("Text 1", Modifier.semantics { traversalIndex = 1f })
        Spacer(Modifier.size(10.dp))
        Text("Text 4", Modifier.semantics { traversalIndex = 4f })
    }
}
```

| Parameters |
|---|---|
| `properties: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | The properties to apply, `https://developer.android.com/reference/kotlin/androidx/compose/ui/semantics/SemanticsPropertyReceiver` will be provided in the scope to allow access for common properties and its values. |

### CurvedModifier.angularSize

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSize.kt+function:angularSize)

```
fun CurvedModifier.angularSize(sweepDegrees: Float): CurvedModifier
```

Specify the sweep (angular size) for the content.

| Parameters |
|---|---|
| `sweepDegrees: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | Indicates the sweep (angular size) of the content. |

### CurvedModifier.angularSizeDp

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSize.kt+function:angularSizeDp)

```
fun CurvedModifier.angularSizeDp(angularWidth: Dp): CurvedModifier
```

Specify the sweep (arc length) for the content in Dp. The arc length will be measured at the center of the item, except for `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).basicCurvedText(kotlin.String,androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Angular,androidx.compose.ui.text.style.TextOverflow,kotlin.Function0)`, where it will be measured at the text baseline.

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.CurvedTextStyle
import androidx.wear.compose.foundation.angularSize
import androidx.wear.compose.foundation.angularSizeDp
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.radialSize
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    basicCurvedText(
        "45 deg",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.background(Color.White).size(sweepDegrees = 45f, thickness = 40.dp),
    )
    basicCurvedText(
        "40 dp",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.background(Color.Yellow).radialSize(40.dp).angularSizeDp(40.dp),
    )
}
```

| Parameters |
|---|---|
| `angularWidth: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | Indicates the arc length of the content in Dp. |

### CurvedModifier.radialSize

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSize.kt+function:radialSize)

```
fun CurvedModifier.radialSize(thickness: Dp): CurvedModifier
```

Specify the radialSize (thickness) for the content.

| Parameters |
|---|---|
| `thickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | Indicates the thickness of the content. |

### CurvedModifier.size

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSize.kt+function:size)

```
fun CurvedModifier.size(
    sweepDegrees: @FloatRange(from = 0.0, to = 360.0) Float,
    thickness: Dp
): CurvedModifier
```

Specify the dimensions (sweep and thickness) for the content.

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.CurvedTextStyle
import androidx.wear.compose.foundation.angularSize
import androidx.wear.compose.foundation.angularSizeDp
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.radialSize
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    basicCurvedText(
        "45 deg",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.background(Color.White).size(sweepDegrees = 45f, thickness = 40.dp),
    )
    basicCurvedText(
        "40 dp",
        style = { CurvedTextStyle(fontSize = 16.sp, color = Color.Black) },
        modifier =
            CurvedModifier.background(Color.Yellow).radialSize(40.dp).angularSizeDp(40.dp),
    )
}
```

| Parameters |
|---|---|
| `sweepDegrees: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 360.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | Indicates the sweep (angular size) of the content. |
| `thickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` | Indicates the thickness (radial size) of the content. |

### CurvedModifier.sizeIn

Artifact: [androidx.wear.compose:compose-foundation](https://developer.android.com/jetpack/androidx/releases/wear-compose) [View Source](https://cs.android.com/search?q=file:androidx/wear/compose/foundation/CurvedSize.kt+function:sizeIn)

```
fun CurvedModifier.sizeIn(
    minSweepDegrees: @FloatRange(from = 0.0, to = 360.0) Float = 0.0f,
    maxSweepDegrees: @FloatRange(from = 0.0, to = 360.0) Float = 360.0f,
    minThickness: Dp = 0.dp,
    maxThickness: Dp = Dp.Infinity
): CurvedModifier
```

Specify the dimensions of the content to be restricted between the given bounds.

| Parameters |
|---|---|
| `minSweepDegrees: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 360.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = 0.0f` | the minimum angle (in degrees) for the content. |
| `maxSweepDegrees: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0.0, to = 360.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = 360.0f` | the maximum angle (in degrees) for the content. |
| `minThickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | the minimum thickness (radial size) for the content. |
| `maxThickness: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = Dp.Infinity` | the maximum thickness (radial size) for the content. |