# androidx.wear.compose.foundation

This package provides the lazy list containers `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumn.composable#ScalingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.ScalingLazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.lazy.ScalingParams,androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType,androidx.wear.compose.foundation.lazy.AutoCenteringParams,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,kotlin.Function1)` (used with Material), `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumn.composable#TransformingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.TransformingLazyColumnState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,androidx.wear.compose.foundation.lazy.TransformingLazyColumnFirstLayoutItemProvider,kotlin.Function1)` (used with Material 3), support for building curved content, pager components and handling for rotary input from hardware components like a rotating side button (RSB) or a physical bezel on Wear OS devices.

As a rule, the prefix `Basic` in Foundation indicates that this is a design-system agnostic component, and that a more tailored component is available in the Material or Material 3 library.

### Components

|---|---|---|
|   | **APIs** | **Description** |
| Lists | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumn.composable#ScalingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.ScalingLazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.lazy.ScalingParams,androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType,androidx.wear.compose.foundation.lazy.AutoCenteringParams,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,kotlin.Function1)` | Lazy list that provides the scaling/fisheye scrolling effect that forms a key part of the Material design language, and should be used with the Wear Compose Material library. Content items are only materialized and composed when needed. |
|   | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumn.composable#TransformingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.TransformingLazyColumnState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,androidx.wear.compose.foundation.lazy.TransformingLazyColumnFirstLayoutItemProvider,kotlin.Function1)` | Lazy list that provides both scaling and morphing behavior for scrolling lists, forming signature functionality for the Material 3 design language, for use with Wear Compose Material 3. Similarly, content items are only materialized and composed when needed. |
| Curved content | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` | Layout composable that denotes curved content, typically built from foundational components such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedBox(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedAlignment.Angular,kotlin.Function1)`, `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)` and `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)`. |
|   | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedBox(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedAlignment.Angular,kotlin.Function1)` | Places its children on top of each other and on an arc, similar to a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Box.composable#Box(androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Boolean,kotlin.Function1)` layout, but curved into a segment of an annulus. |
|   | `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)` | Places its children in an arc, rotated as needed, similar to a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Row.composable#Row(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)` layout, but curved into a segment of an annulus. |
|   | `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)` | Places its children stacked as part of an arc, similar to a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Column.composable#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)` layout, but curved into a segment of an annulus. |
|   | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedComposable(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,kotlin.Boolean,kotlin.Function1)` | Allows non-curved composables to be part of a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)`. |
|   | `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)` | Writes curved text following the curvature of a circle (usually at the edge of a circular screen). |
| Pagers | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/HorizontalPager.composable#HorizontalPager(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,androidx.compose.foundation.layout.PaddingValues,kotlin.Int,androidx.compose.foundation.gestures.TargetedFlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.GestureInclusion,kotlin.Boolean,kotlin.Function1,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,kotlin.Function2)` | Horizontally scrolling Pager, optimized for Wear OS devices. Used with Material3 `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/HorizontalPagerScaffold.composable#HorizontalPagerScaffold(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,kotlin.Function1,androidx.compose.animation.core.AnimationSpec,kotlin.Function0)` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/AnimatedPage.composable#AnimatedPage(kotlin.Int,androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.graphics.Color,kotlin.Function0)` |
|   | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/VerticalPager.composable#VerticalPager(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,androidx.compose.foundation.layout.PaddingValues,kotlin.Int,androidx.compose.foundation.gestures.TargetedFlingBehavior,kotlin.Boolean,kotlin.Boolean,kotlin.Function1,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,kotlin.Function2)` | Vertically scrolling Pager, optimized for Wear OS devices. Used with Material3 `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/VerticalPagerScaffold.composable#VerticalPagerScaffold(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,kotlin.Function1,androidx.compose.animation.core.AnimationSpec,kotlin.Function0)` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/AnimatedPage.composable#AnimatedPage(kotlin.Int,androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.graphics.Color,kotlin.Function0)` |
| Focus | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/hierarchicalFocusGroup.modifier#(androidx.compose.ui.Modifier).hierarchicalFocusGroup(kotlin.Boolean)` | Annotates composables to track the active part of the composition and coordinate focus declaratively, requesting focus when needed. |
|   | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/requestFocusOnHierarchyActive.modifier#(androidx.compose.ui.Modifier).requestFocusOnHierarchyActive()` | Used with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/hierarchicalFocusGroup.modifier#(androidx.compose.ui.Modifier).hierarchicalFocusGroup(kotlin.Boolean)` to request focus on the following focusable element when needed. |
|   | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalScreenIsActive()` | CompositionLocal used to determine when a screen is active, as specified by each component (such as whilst paging or swiping to dismiss) . |
| Rotary | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rotary/rotaryScrollable.modifier#(androidx.compose.ui.Modifier).rotaryScrollable(androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.ui.focus.FocusRequester,kotlin.Boolean,androidx.compose.foundation.OverscrollEffect)` | Modifier connecting rotary events from the rotating side button or physical bezel on Wear OS devices to scrollable containers, such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumn.composable#TransformingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.TransformingLazyColumnState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,androidx.wear.compose.foundation.lazy.TransformingLazyColumnFirstLayoutItemProvider,kotlin.Function1)` (which supports rotary input by default). |
| Ambient | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalAmbientModeManager()` | CompositionLocal used to obtain the current `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager` to track the ambient (low-power) mode state. |
| Accessibility | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalReduceMotion()` | CompositionLocal used to track the reduce-motion setting. |
| Swiping | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)` | Basic handling for the swipe-to-dismiss gesture, used as a building block for `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/SwipeToDismissBox.composable#SwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)` in Material and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/SwipeToDismissBox.composable#SwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)` in Material3. |
| Expanding | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberExpandableState.composable#rememberExpandableState(kotlin.Boolean,androidx.compose.animation.core.AnimationSpec,androidx.compose.animation.core.AnimationSpec)` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` | Building blocks for expandable content in Material with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumn.composable#ScalingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.ScalingLazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.lazy.ScalingParams,androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType,androidx.wear.compose.foundation.lazy.AutoCenteringParams,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,kotlin.Function1)` |

For more information, check out the [Wear OS Compose guides](https://developer.android.com/training/wearables/compose).

## Interfaces

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager` |   |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues` | Apply additional space along each edge of the content in `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment` |   |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection` |   |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` | An ordered, immutable, collection of modifier elements that work with curved components, in a polar coordinate space. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/GestureInclusion` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/GestureInclusion` provides fine-grained control over which gestures a component should handle, given the start offset and the layout coordinates of the component. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ScrollInfoProvider` | An interface for providing scroll information for different scrollable containers, such as lists. |

## Classes

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientMode` | Represents the current ambient mode of the device. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientMode.Ambient` | Represents that device is in the ambient mode. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AnchorType` | Specifies how components will be laid down with respect to the anchor. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular` | How to lay down components when they have a smaller sweep than their container. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial` | How to lay down components when they are thinner than the container. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular` | The direction in which components are laid out on 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)` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Radial` | The direction in which components are laid down on 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)` |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope` | Layout scope used for curved containers. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedSemanticsScope` | CurvedSemanticsScope is the scope provided by semantics lambda blocks, letting you set semantic properties. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedTextStyle` | Styling configuration for a curved text. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedTextStyle.WarpOffset` | Used to specify if we want to warp the text, and if so, the offset for warping. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` | State of the Expandable composables. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableStateMapping` | A class that maps from keys of the given type to `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealActionType` | **This class is deprecated.** The SwipeToReveal component from the latest material library should be used instead. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealDirection` | **This class is deprecated.** The SwipeToReveal component from the latest material library should be used instead. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealState` | **This class is deprecated.** The SwipeToReveal component from the latest material library should be used instead. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue` | **This class is deprecated.** The SwipeToReveal component from the latest material library should be used instead. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToDismissBoxState` | State for `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`. |

## Objects

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientMode.Interactive` | Represents the mode when the user is actively interacting with the device. |
| `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. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableItemsDefaults` | Contains the default values used by Expandable components. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToDismissBoxDefaults` | Contains defaults for `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToRevealDefaults` | **This object is deprecated.** The SwipeToReveal component from the latest material library should be used instead. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/WearComposeFoundationFlags` | This is a collection of flags which are used to guard against regressions in some of the "riskier" refactors or new feature support that is added to this module. |

## Annotations

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExperimentalWearFoundationApi` |   |

## Enums

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToDismissKeys` | Keys used to persist state in `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToDismissValue` | States used as targets for the anchor points for swipe-to-dismiss. |

## Composables

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ActiveFocusListener.composable` |   |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientTickEffect.composable` | A convenience extension that performs recurrent, battery-efficient UI updates when the device is in `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientMode.Ambient`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)` that handles the swipe-to-dismiss gesture. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable` | A layout composable that places its children in an arc, rotating them as needed. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/HierarchicalFocusCoordinator.composable` |   |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToReveal.composable` | A composable that can be used to add extra actions to a composable (up to two) which will be revealed when the original composable is swiped to the left. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberActiveFocusRequester.composable` |   |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberAmbientModeManager.composable` | Creates, remembers, and manages the lifecycle of the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager` implementation. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberExpandableState.composable` | Create and `https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0)` an `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberExpandableStateMapping.composable` | Create and `https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0)` a mapping from keys to `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState`s. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberRevealState.composable` | Create and `https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0)` a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealState`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberSwipeToDismissBoxState.composable` | Create a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/SwipeToDismissBoxState` and remember it. |

## Modifiers

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/edgeSwipeToDismiss.modifier` | Handles swipe to dismiss from the edge of the viewport. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/hierarchicalFocusGroup.modifier` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/hierarchicalFocusGroup.modifier#(androidx.compose.ui.Modifier).hierarchicalFocusGroup(kotlin.Boolean)` is used to annotate composables in an application, so we can keep track of what is the active part of the composition. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/requestFocusOnHierarchyActive.modifier` | This Modifier is used in conjunction with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/hierarchicalFocusGroup.modifier#(androidx.compose.ui.Modifier).hierarchicalFocusGroup(kotlin.Boolean)` and will request focus on the following focusable element when needed (i.e. this needs to be before that element in the Modifier chain). |

## Top-level functions summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(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#ArcPaddingValues(androidx.compose.ui.unit.Dp)` dp of additional space along each edge of the content. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(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#ArcPaddingValues(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp of additional space on the edges towards and away from the center, and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp before and after the component. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ArcPaddingValues` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(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 each edge of the content in `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp`. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ScrollInfoProvider` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.lazy.LazyListState)(state: https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyListState)` Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.lazy.LazyListState)` from a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyListState`, for use with `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyColumn.composable#LazyColumn(androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.compose.foundation.OverscrollEffect,androidx.compose.foundation.lazy.layout.LazyLayoutCacheWindow,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ScrollInfoProvider` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.pager.PagerState)(state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/PagerState)` Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.pager.PagerState)` from a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/PagerState`, for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/HorizontalPager.composable#HorizontalPager(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,androidx.compose.foundation.layout.PaddingValues,kotlin.Int,androidx.compose.foundation.gestures.TargetedFlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.GestureInclusion,kotlin.Boolean,kotlin.Function1,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,kotlin.Function2)` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/VerticalPager.composable#VerticalPager(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,androidx.compose.foundation.layout.PaddingValues,kotlin.Int,androidx.compose.foundation.gestures.TargetedFlingBehavior,kotlin.Boolean,kotlin.Boolean,kotlin.Function1,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,kotlin.Function2)` |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ScrollInfoProvider` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.lazy.ScalingLazyListState)(state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListState)` Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.lazy.ScalingLazyListState)` from a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListState`, for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumn.composable#ScalingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.ScalingLazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.lazy.ScalingParams,androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType,androidx.wear.compose.foundation.lazy.AutoCenteringParams,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ScrollInfoProvider` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.ScrollState)(state: https://developer.android.com/reference/kotlin/androidx/compose/foundation/ScrollState)` Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.ScrollState)` from a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/ScrollState`, for use with `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Column.composable#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled. |
| `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ScrollInfoProvider` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.lazy.TransformingLazyColumnState)(state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumnState)` Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.lazy.TransformingLazyColumnState)` from a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumnState`, for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumn.composable#TransformingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.TransformingLazyColumnState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,androidx.wear.compose.foundation.lazy.TransformingLazyColumnFirstLayoutItemProvider,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html<https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue, https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html>` | `@https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExperimentalWearFoundationApi [createRevealAnchors](https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#createRevealAnchors(kotlin.Float,kotlin.Float,kotlin.Float,androidx.wear.compose.foundation.RevealDirection))( coveredAnchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, revealingAnchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, revealedAnchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html, revealDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealDirection )` **This function is deprecated.** The SwipeToReveal component from the latest material library should be used instead. |

## Extension functions summary

|---|---|
| `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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.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)( text: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier, angularDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular?, overflow: https://developer.android.com/reference/kotlin/androidx/compose/ui/text/style/TextOverflow, style: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedTextStyle )` `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)` is a component allowing developers to easily write curved text following the curvature of a circle (usually at the edge of a circular screen). |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).basicCurvedText(kotlin.String,androidx.wear.compose.foundation.CurvedTextStyle,androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Angular,androidx.compose.ui.text.style.TextOverflow)( text: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, style: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedTextStyle, modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier, angularDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular?, overflow: https://developer.android.com/reference/kotlin/androidx/compose/ui/text/style/TextOverflow )` `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).basicCurvedText(kotlin.String,androidx.wear.compose.foundation.CurvedTextStyle,androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Angular,androidx.compose.ui.text.style.TextOverflow)` is a component allowing developers to easily write curved text following the curvature of a circle (usually at the edge of a circular screen). |
| `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/package-summary#(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://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedBox(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedAlignment.Angular,kotlin.Function1)( modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier, radialAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial?, angularAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular?, contentBuilder: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` A layout composable that places its children on top of each other and on an arc. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.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)( modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier, radialDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Radial?, angularAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular?, contentBuilder: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` A curved layout composable that places its children stacked as part of an arc (the first child will be the outermost). |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedComposable(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,kotlin.Boolean,kotlin.Function1)( modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier, radialAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial, rotationLocked: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Component that allows normal composables to be part of a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.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)( modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier, radialAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial?, angularDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular?, contentBuilder: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` A layout composable that places its children in an arc, rotating them as needed. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListScope.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.lazy.ScalingLazyListScope).expandableButton(androidx.wear.compose.foundation.ExpandableState,kotlin.Any,kotlin.Function0)( state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState, key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?, content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Adds a single item, for the button that controls expandable item(s). |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListScope.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.lazy.ScalingLazyListScope).expandableItem(androidx.wear.compose.foundation.ExpandableState,kotlin.Any,kotlin.Function1)( state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState, key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?, content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable (expanded: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Adds a single item, that will be expanded/collapsed according to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListScope.https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.lazy.ScalingLazyListScope).expandableItems(androidx.wear.compose.foundation.ExpandableState,kotlin.Int,kotlin.Function1,kotlin.Function2)( state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState, count: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, key: ((index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)?, itemContent: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope.(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` Adds a series of items, that will be expanded/collapsed according to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` |
| `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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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/package-summary#(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. |
| `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/package-summary#(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)`). |

## Top-level properties summary

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager?>` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalAmbientModeManager()` A `https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` that provides the current `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager` interface. |
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html>` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalReduceMotion()` `https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` for global reduce-motion setting, which turns off animations and screen movements. |
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html>` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalScreenIsActive()` `https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` used to express/determine if a screen is active, as specified by each component (for example, it could be updated when the user is in the middle of the gesture to switch screens, or after the gesture is done). |
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalSwipeToDismissBackgroundScrimColor()` `https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` containing the background scrim color of `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/ProvidableCompositionLocal<https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color>` | `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalSwipeToDismissContentScrimColor()` `https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` containing the content scrim color of `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`. |

## Top-level functions

### ArcPaddingValues

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:ArcPaddingValues) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
fun ArcPaddingValues(all: Dp): ArcPaddingValues
```

Apply `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(androidx.compose.ui.unit.Dp)` dp of additional space along each edge of the content.

### ArcPaddingValues

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:ArcPaddingValues) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

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

Apply `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp of additional space on the edges towards and away from the center, and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ArcPaddingValues(androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp)` dp before and after the component.

### ArcPaddingValues

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:ArcPaddingValues) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
fun ArcPaddingValues(outer: Dp = 0.dp, inner: Dp = 0.dp, before: Dp = 0.dp, after: Dp = 0.dp): ArcPaddingValues
```

Apply additional space along each edge of the content in `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp`. Note that all dimensions are applied to a concrete edge, independent of layout direction and curved layout direction.

| Parameters |
|---|---|
| `outer: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | Padding in the outward direction from the center of the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` |
| `inner: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | Padding in the inwards direction towards the center of the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` |
| `before: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | Padding added before the component, if it was drawn clockwise. |
| `after: https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp = 0.dp` | Padding added after the component, if it was drawn clockwise. |

### ScrollInfoProvider

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/ScrollInfoProvider.kt+function:ScrollInfoProvider) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
fun ScrollInfoProvider(state: LazyListState): ScrollInfoProvider
```

Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.lazy.LazyListState)` from a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyListState`, for use with `https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyColumn.composable#LazyColumn(androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.compose.foundation.OverscrollEffect,androidx.compose.foundation.lazy.layout.LazyLayoutCacheWindow,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled.

### ScrollInfoProvider

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/ScrollInfoProvider.kt+function:ScrollInfoProvider) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
fun ScrollInfoProvider(state: PagerState): ScrollInfoProvider
```

Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.pager.PagerState)` from a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/PagerState`, for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/HorizontalPager.composable#HorizontalPager(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,androidx.compose.foundation.layout.PaddingValues,kotlin.Int,androidx.compose.foundation.gestures.TargetedFlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.GestureInclusion,kotlin.Boolean,kotlin.Function1,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,kotlin.Function2)` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/VerticalPager.composable#VerticalPager(androidx.wear.compose.foundation.pager.PagerState,androidx.compose.ui.Modifier,androidx.compose.foundation.layout.PaddingValues,kotlin.Int,androidx.compose.foundation.gestures.TargetedFlingBehavior,kotlin.Boolean,kotlin.Boolean,kotlin.Function1,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,kotlin.Function2)`

- used to coordinate when to fade out the PageIndicator and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)`. The PageIndicator fades out when scrolling is finished and the screen is in an idle state.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/PagerState` | the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/pager/PagerState` to use as the base for creating the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.pager.PagerState)` |

### ScrollInfoProvider

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/ScrollInfoProvider.kt+function:ScrollInfoProvider) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
fun ScrollInfoProvider(state: ScalingLazyListState): ScrollInfoProvider
```

Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.lazy.ScalingLazyListState)` from a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyListState`, for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/ScalingLazyColumn.composable#ScalingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.ScalingLazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.lazy.ScalingParams,androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType,androidx.wear.compose.foundation.lazy.AutoCenteringParams,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled.

### ScrollInfoProvider

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/ScrollInfoProvider.kt+function:ScrollInfoProvider) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
fun ScrollInfoProvider(state: ScrollState): ScrollInfoProvider
```

Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.ScrollState)` from a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/ScrollState`, for use with `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Column.composable#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/compose/foundation/ScrollState` | the `https://developer.android.com/reference/kotlin/androidx/compose/foundation/ScrollState` to use as the base for creating the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.compose.foundation.ScrollState)` |

### ScrollInfoProvider

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/ScrollInfoProvider.kt+function:ScrollInfoProvider) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
fun ScrollInfoProvider(state: TransformingLazyColumnState): ScrollInfoProvider
```

Function for creating a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#ScrollInfoProvider(androidx.wear.compose.foundation.lazy.TransformingLazyColumnState)` from a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumnState`, for use with `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/lazy/TransformingLazyColumn.composable#TransformingLazyColumn(androidx.compose.ui.Modifier,androidx.wear.compose.foundation.lazy.TransformingLazyColumnState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,androidx.wear.compose.foundation.rotary.RotaryScrollableBehavior,androidx.compose.foundation.OverscrollEffect,androidx.wear.compose.foundation.lazy.TransformingLazyColumnFirstLayoutItemProvider,kotlin.Function1)` - used to coordinate between scrollable content and scaffold content such as `https://developer.android.com/reference/kotlin/androidx/wear/compose/material/TimeText.composable#TimeText(androidx.compose.ui.Modifier,androidx.wear.compose.material.TimeSource,androidx.compose.ui.text.TextStyle,androidx.compose.foundation.layout.PaddingValues,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1,kotlin.Function0,kotlin.Function1)` which is scrolled away at the top of the screen and `https://developer.android.com/reference/kotlin/androidx/wear/compose/material3/EdgeButton.composable#EdgeButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.wear.compose.material3.EdgeButtonSize,kotlin.Boolean,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)` which is scaled.

### createRevealAnchors

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/SwipeToReveal.kt+function:createRevealAnchors) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0) Deprecated in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
@ExperimentalWearFoundationApi
fun [createRevealAnchors](https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#createRevealAnchors(kotlin.Float,kotlin.Float,kotlin.Float,androidx.wear.compose.foundation.RevealDirection))(
    coveredAnchor: Float = 0.0f,
    revealingAnchor: Float = SwipeToRevealDefaults.RevealingRatio,
    revealedAnchor: Float = 1.0f,
    revealDirection: RevealDirection = RevealDirection.RightToLeft
): Map<RevealValue, Float>
```

> [!CAUTION]
> **This function is deprecated.**   
> The SwipeToReveal component from the latest material library should be used instead. This will be removed in a future release of this library.

Creates the required anchors to which the top content can be swiped, to reveal the actions. Each value should be in the range 0..1, where 0 represents right most end and 1 represents the full width of the top content starting from right and ending on left.

| Parameters |
|---|---|
| `coveredAnchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = 0.0f` | Anchor for the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue#Covered()` value |
| `revealingAnchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = SwipeToRevealDefaults.RevealingRatio` | Anchor for the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue#LeftRevealing()` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue#RightRevealing()` value |
| `revealedAnchor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html = 1.0f` | Anchor for the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue#LeftRevealed()` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealValue#RightRevealed()` value |
| `revealDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealDirection = RevealDirection.RightToLeft` | The direction in which the content can be swiped. It's strongly advised to keep the default `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/RevealDirection#RightToLeft()` in order to preserve compatibility with the system wide swipe to dismiss gesture. |

## 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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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.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) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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.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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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. |

### CurvedScope.basicCurvedText

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/BasicCurvedText.kt+function:basicCurvedText) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
fun CurvedScope.basicCurvedText(
    text: String,
    modifier: CurvedModifier = CurvedModifier,
    angularDirection: CurvedDirection.Angular? = null,
    overflow: TextOverflow = TextOverflow.Clip,
    style: @Composable () -> CurvedTextStyle = { CurvedTextStyle() }
): Unit
```

`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)` is a component allowing developers to easily write curved text following the curvature of a circle (usually at the edge of a circular screen). `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)` can be only created within a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` since it's not a composable.

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.text.BasicText
import androidx.compose.runtime.Composable
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.background
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.curvedComposable
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    basicCurvedText(
        "Curved Text",
        CurvedModifier.padding(10.dp),
        style = {
            CurvedTextStyle(fontSize = 16.sp, color = Color.Black, background = Color.White)
        },
    )
    curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Gray)) }
    curvedComposable {
        BasicText(
            "Normal Text",
            Modifier.padding(5.dp),
            TextStyle(fontSize = 16.sp, color = Color.Black, background = Color.White),
        )
    }
}
```

| Parameters |
|---|---|
| `text: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The text to display |
| `modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier = CurvedModifier` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` to apply to this curved text. |
| `angularDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular? = null` | Specify if the text is laid out clockwise or anti-clockwise, and if those need to be reversed in a Rtl layout. If not specified, it will be inherited from the enclosing `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)` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` See `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular`. |
| `overflow: https://developer.android.com/reference/kotlin/androidx/compose/ui/text/style/TextOverflow = TextOverflow.Clip` | How visual overflow should be handled. Note that this takes into account only explicit size curved modifiers in this element, to size this element matching the parent's, add a CurvedModifier.weight here. |
| `style: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedTextStyle = { CurvedTextStyle() }` | A @Composable factory to provide the style to use. This composable SHOULDN'T generate any compose nodes. |

### CurvedScope.basicCurvedText

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/BasicCurvedText.kt+function:basicCurvedText) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
fun CurvedScope.basicCurvedText(
    text: String,
    style: CurvedTextStyle,
    modifier: CurvedModifier = CurvedModifier,
    angularDirection: CurvedDirection.Angular? = null,
    overflow: TextOverflow = TextOverflow.Clip
): Unit
```

`https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).basicCurvedText(kotlin.String,androidx.wear.compose.foundation.CurvedTextStyle,androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Angular,androidx.compose.ui.text.style.TextOverflow)` is a component allowing developers to easily write curved text following the curvature of a circle (usually at the edge of a circular screen). `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).basicCurvedText(kotlin.String,androidx.wear.compose.foundation.CurvedTextStyle,androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedDirection.Angular,androidx.compose.ui.text.style.TextOverflow)` can be only created within a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` since it's not a composable.

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.text.BasicText
import androidx.compose.runtime.Composable
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.background
import androidx.wear.compose.foundation.basicCurvedText
import androidx.wear.compose.foundation.curvedComposable
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    basicCurvedText(
        "Curved Text",
        CurvedModifier.padding(10.dp),
        style = {
            CurvedTextStyle(fontSize = 16.sp, color = Color.Black, background = Color.White)
        },
    )
    curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Gray)) }
    curvedComposable {
        BasicText(
            "Normal Text",
            Modifier.padding(5.dp),
            TextStyle(fontSize = 16.sp, color = Color.Black, background = Color.White),
        )
    }
}
```

| Parameters |
|---|---|
| `text: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The text to display |
| `style: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedTextStyle` | A style to use. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier = CurvedModifier` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` to apply to this curved text. |
| `angularDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular? = null` | Specify if the text is laid out clockwise or anti-clockwise, and if those need to be reversed in a Rtl layout. If not specified, it will be inherited from the enclosing `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)` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` See `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular`. |
| `overflow: https://developer.android.com/reference/kotlin/androidx/compose/ui/text/style/TextOverflow = TextOverflow.Clip` | How visual overflow should be handled. |

### 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) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
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. |

### CurvedScope.curvedBox

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/CurvedBox.kt+function:curvedBox) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.2.0)

```
fun CurvedScope.curvedBox(
    modifier: CurvedModifier = CurvedModifier,
    radialAlignment: CurvedAlignment.Radial? = null,
    angularAlignment: CurvedAlignment.Angular? = null,
    contentBuilder: CurvedScope.() -> Unit
): Unit
```

A layout composable that places its children on top of each other and on an arc. This is similar to a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Box.composable#Box(androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Boolean,kotlin.Function1)` layout, but curved into a segment of an annulus.

The thickness of the layout (the difference between the outer and inner radius) will be the same as the thickest child, and the angle taken will be the biggest angle of the children.

Example usage:

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.wear.compose.foundation.CurvedAlignment
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.CurvedModifier
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.curvedBox
import androidx.wear.compose.foundation.curvedComposable
import androidx.wear.compose.foundation.size

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    curvedBox(
        modifier = CurvedModifier.background(Color.Red),
        radialAlignment = CurvedAlignment.Radial.Inner,
        angularAlignment = CurvedAlignment.Angular.End,
    ) {
        curvedComposable {
            Box(modifier = Modifier.width(40.dp).height(80.dp).background(Color.Green))
        }
        curvedComposable {
            Box(modifier = Modifier.size(30.dp).clip(CircleShape).background(Color.White))
        }
    }
}
```

| Parameters |
|---|---|
| `modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier = CurvedModifier` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` to apply to this curved box. |
| `radialAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial? = null` | Radial alignment specifies where to lay down children that are thinner than the CurvedBox, either closer to the center `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial#Inner()`, apart from the center `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial#Outer()` or in the middle point `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial#Center()`. If unspecified, they can choose for themselves. |
| `angularAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular? = null` | Angular alignment specifies where to lay down children that are thinner than the CurvedBox, either at the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular#Start()` of the layout, at the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular#End()`, or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular#Center()`. If unspecified or null, they can choose for themselves. |
| `contentBuilder: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Specifies the content of this layout, currently there are 5 available elements defined in foundation for this DSL: the sub-layouts `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedBox(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedAlignment.Angular,kotlin.Function1)`, `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)` and `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)`, `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)` and `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#(androidx.wear.compose.foundation.CurvedScope).curvedComposable(androidx.wear.compose.foundation.CurvedModifier,androidx.wear.compose.foundation.CurvedAlignment.Radial,kotlin.Boolean,kotlin.Function1)` (used to add normal composables to curved layouts) |

### CurvedScope.curvedColumn

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/CurvedColumn.kt+function:curvedColumn) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
fun CurvedScope.curvedColumn(
    modifier: CurvedModifier = CurvedModifier,
    radialDirection: CurvedDirection.Radial? = null,
    angularAlignment: CurvedAlignment.Angular? = null,
    contentBuilder: CurvedScope.() -> Unit
): Unit
```

A curved layout composable that places its children stacked as part of an arc (the first child will be the outermost). This is similar to a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Column.composable#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)` layout, but curved into a segment of an annulus.

The thickness of the layout (the difference between the outer and inner radius) will be the sum of the thickness of its children, and the angle taken will be the biggest angle of the children.

Example usage:

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.text.BasicText
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.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedAlignment
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.curvedColumn
import androidx.wear.compose.foundation.curvedComposable
import androidx.wear.compose.foundation.curvedRow
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Red)) }
    curvedColumn(angularAlignment = CurvedAlignment.Angular.End) {
        repeat(3) {
            curvedRow {
                curvedComposable {
                    BasicText(
                        "Row #$it",
                        Modifier.background(Color.White).padding(2.dp),
                        TextStyle(color = Color.Black, fontSize = 14.sp),
                    )
                }
                curvedComposable {
                    Box(modifier = Modifier.size(10.dp).background(Color.Green))
                }
                curvedComposable {
                    BasicText(
                        "More",
                        Modifier.background(Color.Yellow).padding(2.dp),
                        TextStyle(color = Color.Black, fontSize = 14.sp),
                    )
                }
            }
        }
    }
    curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Red)) }
}
```

| Parameters |
|---|---|
| `modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier = CurvedModifier` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` to apply to this curved column. |
| `radialDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Radial? = null` | Order to lay out components, outside in or inside out. The default is to inherit from the containing `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)` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` |
| `angularAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular? = null` | Angular alignment specifies where to lay down children that are thinner than the curved column, either at the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular#Start()` of the layout, at the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular#End()`, or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Angular#Center()`. If unspecified or null, they can choose for themselves. |
| `contentBuilder: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Scope used to provide the content for this column. |

### CurvedScope.curvedComposable

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/CurvedComposable.kt+function:curvedComposable)

```
fun CurvedScope.curvedComposable(
    modifier: CurvedModifier = CurvedModifier,
    radialAlignment: CurvedAlignment.Radial = CurvedAlignment.Radial.Center,
    rotationLocked: Boolean = false,
    content: @Composable BoxScope.() -> Unit
): Unit
```

Component that allows normal composables to be part of a `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)`.

| Parameters |
|---|---|
| `modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier = CurvedModifier` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` to apply to this curved composable. |
| `radialAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial = CurvedAlignment.Radial.Center` | How to align this component if it's thinner than the container. |
| `rotationLocked: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = false` | by default (when this is false), the component will be rotated as it moves around the circle, so its base always faces the center. If set to true, it won't be rotated and only moved into position, for example, an upwards pointing arrow will remain pointing upwards wherever it appears on the circle. Note that this is not taken into account when computing the size this will take in the layout, so it's best suited for square/circular things and may require manual sizing when used in other contexts. |
| `content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | The composable(s) that will be wrapped and laid out as part of the parent container. This has a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope`, since it's wrapped inside a Box. |

### CurvedScope.curvedRow

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/CurvedRow.kt+function:curvedRow) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
fun CurvedScope.curvedRow(
    modifier: CurvedModifier = CurvedModifier,
    radialAlignment: CurvedAlignment.Radial? = null,
    angularDirection: CurvedDirection.Angular? = null,
    contentBuilder: CurvedScope.() -> Unit
): Unit
```

A layout composable that places its children in an arc, rotating them as needed. This is similar to a `https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/Row.composable#Row(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)` layout, but curved into a segment of an annulus.

The thickness of the layout (the difference between the outer and inner radius) will be the same as the thickest child, and the total angle taken is the sum of the children's angles.

Example usage:

```kotlin
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.text.BasicText
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.text.TextStyle
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.wear.compose.foundation.CurvedAlignment
import androidx.wear.compose.foundation.CurvedLayout
import androidx.wear.compose.foundation.background
import androidx.wear.compose.foundation.curvedColumn
import androidx.wear.compose.foundation.curvedComposable
import androidx.wear.compose.foundation.curvedRow
import androidx.wear.compose.foundation.padding
import androidx.wear.compose.foundation.size
import androidx.wear.compose.material.Text

CurvedLayout(modifier = Modifier.fillMaxSize()) {
    curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Red)) }
    curvedColumn(angularAlignment = CurvedAlignment.Angular.End) {
        repeat(3) {
            curvedRow {
                curvedComposable {
                    BasicText(
                        "Row #$it",
                        Modifier.background(Color.White).padding(2.dp),
                        TextStyle(color = Color.Black, fontSize = 14.sp),
                    )
                }
                curvedComposable {
                    Box(modifier = Modifier.size(10.dp).background(Color.Green))
                }
                curvedComposable {
                    BasicText(
                        "More",
                        Modifier.background(Color.Yellow).padding(2.dp),
                        TextStyle(color = Color.Black, fontSize = 14.sp),
                    )
                }
            }
        }
    }
    curvedComposable { Box(modifier = Modifier.size(20.dp).background(Color.Red)) }
}
```

| Parameters |
|---|---|
| `modifier: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier = CurvedModifier` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedModifier` to apply to this curved row. |
| `radialAlignment: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial? = null` | Radial alignment specifies where to lay down children that are thinner than the CurvedRow, either closer to the center `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial#Inner()`, apart from the center `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial#Outer()` or in the middle point `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedAlignment.Radial#Center()`. If unspecified, they can choose for themselves. |
| `angularDirection: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular? = null` | Specify if the children are laid out clockwise or anti-clockwise, and if those need to be reversed in a Rtl layout. If not specified, it will be inherited from the enclosing `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)` or `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedLayout.composable#CurvedLayout(androidx.compose.ui.Modifier,kotlin.Float,androidx.wear.compose.foundation.AnchorType,androidx.wear.compose.foundation.CurvedAlignment.Radial,androidx.wear.compose.foundation.CurvedDirection.Angular,kotlin.Function1)` See `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedDirection.Angular`. |
| `contentBuilder: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/CurvedScope.() -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Scope used to provide the content for this row. |

### ScalingLazyListScope.expandableButton

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/Expandable.kt+function:expandableButton) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.2.0)

```
fun ScalingLazyListScope.expandableButton(
    state: ExpandableState,
    key: Any? = null,
    content: @Composable () -> Unit
): Unit
```

Adds a single item, for the button that controls expandable item(s). The button will be animated out when the corresponding expandables are expanded.

Example of an expandable text:

```kotlin
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.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.wear.compose.foundation.expandableButton
import androidx.wear.compose.foundation.expandableItem
import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
import androidx.wear.compose.foundation.rememberExpandableState
import androidx.wear.compose.material.Chip
import androidx.wear.compose.material.Icon
import androidx.wear.compose.material.OutlinedCompactChip
import androidx.wear.compose.material.Text

val expandableState = rememberExpandableState()

ScalingLazyColumn(modifier = Modifier.fillMaxSize()) {
    expandableItem(expandableState) { expanded ->
        Text(
            "Account Alert: you have made a large purchase.\n" +
                "We have noticed that a large purchase was charged to " +
                "your credit card account. " +
                "Please contact us if you did not perform this purchase. " +
                "Our Customer Service team is available 24 hours a day, " +
                "7 days a week to answer your account or product support question.",
            maxLines = if (expanded) 20 else 3,
            modifier = Modifier.padding(horizontal = 10.dp),
        )
    }

    expandableButton(expandableState) {
        OutlinedCompactChip(
            label = {
                Text("Show More")
                Spacer(Modifier.size(6.dp))
                Icon(painterResource(R.drawable.ic_expand_more_24), "Expand")
            },
            onClick = { expandableState.expanded = true },
        )
    }
}
```

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` to connect this button to. |
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html? = null` | A stable and unique key representing the item. Using the same key for multiple items in the list is not allowed. Type of the key should be saveable via Bundle on Android. If null is passed the position in the list will represent the key. When you specify the key the scroll position will be maintained based on the key, which means if you add/remove items before the current visible item the item with the given key will be kept as the first visible one. |
| `content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the content displayed, this should usually be a CompactChip or OutlineCompactChip. |

### ScalingLazyListScope.expandableItem

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/Expandable.kt+function:expandableItem) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.2.0)

```
fun ScalingLazyListScope.expandableItem(
    state: ExpandableState,
    key: Any? = null,
    content: @Composable (expanded: Boolean) -> Unit
): Unit
```

Adds a single item, that will be expanded/collapsed according to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState`.

Example of an expandable text:

```kotlin
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.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.wear.compose.foundation.expandableButton
import androidx.wear.compose.foundation.expandableItem
import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
import androidx.wear.compose.foundation.rememberExpandableState
import androidx.wear.compose.material.Chip
import androidx.wear.compose.material.Icon
import androidx.wear.compose.material.OutlinedCompactChip
import androidx.wear.compose.material.Text

val expandableState = rememberExpandableState()

ScalingLazyColumn(modifier = Modifier.fillMaxSize()) {
    expandableItem(expandableState) { expanded ->
        Text(
            "Account Alert: you have made a large purchase.\n" +
                "We have noticed that a large purchase was charged to " +
                "your credit card account. " +
                "Please contact us if you did not perform this purchase. " +
                "Our Customer Service team is available 24 hours a day, " +
                "7 days a week to answer your account or product support question.",
            maxLines = if (expanded) 20 else 3,
            modifier = Modifier.padding(horizontal = 10.dp),
        )
    }

    expandableButton(expandableState) {
        OutlinedCompactChip(
            label = {
                Text("Show More")
                Spacer(Modifier.size(6.dp))
                Icon(painterResource(R.drawable.ic_expand_more_24), "Expand")
            },
            onClick = { expandableState.expanded = true },
        )
    }
}
```

The item should support two levels of information display (for example, a text showing a few lines in the collapsed state, and more in the expanded state)

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` connected to this item. |
| `key: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html? = null` | A stable and unique key representing the item. Using the same key for multiple items in the list is not allowed. Type of the key should be saveable via Bundle on Android. If null is passed the position in the list will represent the key. When you specify the key the scroll position will be maintained based on the key, which means if you add/remove items before the current visible item the item with the given key will be kept as the first visible one. |
| `content: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable (expanded: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the content displayed by the item, according to its expanded/collapsed state. |

### ScalingLazyListScope.expandableItems

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/Expandable.kt+function:expandableItems) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.2.0)

```
fun ScalingLazyListScope.expandableItems(
    state: ExpandableState,
    count: Int,
    key: ((index: Int) -> Any)? = null,
    itemContent: @Composable BoxScope.(index: Int) -> Unit
): Unit
```

Adds a series of items, that will be expanded/collapsed according to the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState`

Example of an expandable list:

```kotlin
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.wear.compose.foundation.expandableButton
import androidx.wear.compose.foundation.expandableItem
import androidx.wear.compose.foundation.expandableItems
import androidx.wear.compose.foundation.lazy.ScalingLazyColumn
import androidx.wear.compose.foundation.rememberExpandableState
import androidx.wear.compose.material.Chip
import androidx.wear.compose.material.Icon
import androidx.wear.compose.material.OutlinedCompactChip
import androidx.wear.compose.material.Text

val expandableState = rememberExpandableState()

val sampleItem: @Composable (String) -> Unit = { label ->
    Chip(label = { Text(label) }, onClick = {}, secondaryLabel = { Text("line 2 - Secondary") })
}

val items = List(10) { "Item $it" }
val top = items.take(3)
val rest = items.drop(3)

ScalingLazyColumn(modifier = Modifier.fillMaxSize()) {
    items(top.size) { sampleItem(top[it]) }
    expandableItems(expandableState, rest.size) { sampleItem(rest[it]) }
    expandableButton(expandableState) {
        OutlinedCompactChip(
            label = {
                Text("Show More")
                Spacer(Modifier.size(6.dp))
                Icon(painterResource(R.drawable.ic_expand_more_24), "Expand")
            },
            onClick = { expandableState.expanded = true },
        )
    }
}
```

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` | The `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/ExpandableState` connected to these items. |
| `count: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The number of items |
| `key: ((index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)? = null` | a factory of stable and unique keys representing the item. Using the same key for multiple items in the list is not allowed. Type of the key should be saveable via Bundle on Android. If null is passed the position in the list will represent the key. When you specify the key the scroll position will be maintained based on the key, which means if you add/remove items before the current visible item the item with the given key will be kept as the first visible one. |
| `itemContent: @https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/BoxScope.(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | the content displayed by a single item |

### 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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
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.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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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.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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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.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) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
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.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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
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. |

### 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) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.0.0)

```
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. |

## Top-level properties

### LocalAmbientModeManager

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/LocalAmbientModeManager.kt+symbol:LocalAmbientModeManager) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.6.0)

```
val LocalAmbientModeManager: ProvidableCompositionLocal<AmbientModeManager?>
```

A `https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` that provides the current `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager` interface.

This local is the primary way for any composable in the hierarchy to access the manager responsible for tracking the ambient (low-power) mode state.

Composables read the manager using `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/package-summary#LocalAmbientModeManager()`.current and subscribe to changes via the `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager#currentAmbientMode()` property.

If no `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/AmbientModeManager` is explicitly provided higher up the tree (e.g., via `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/rememberAmbientModeManager.composable#rememberAmbientModeManager()`), this local returns `null`.

```kotlin
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.wear.compose.foundation.AmbientMode
import androidx.wear.compose.foundation.LocalAmbientModeManager
import androidx.wear.compose.foundation.rememberAmbientModeManager
import androidx.wear.compose.material.Text

// **Best Practice Note:** In a production application, the AmbientModeManager should be
// instantiated and provided at the highest level of the Compose hierarchy (typically in
// the host Activity's setContent block) using a CompositionLocalProvider. This ensures
// proper lifecycle management and broad accessibility.

// For this self-contained demo, AmbientModeManager is created and provided locally:
val activityAmbientModeManager = rememberAmbientModeManager()
CompositionLocalProvider(LocalAmbientModeManager provides activityAmbientModeManager) {
    val ambientModeManager = LocalAmbientModeManager.current
    val ambientMode = ambientModeManager?.currentAmbientMode
    Column(
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally,
        modifier = Modifier.fillMaxSize(),
    ) {
        val ambientModeName =
            when (ambientMode) {
                is AmbientMode.Interactive -> "Interactive"
                is AmbientMode.Ambient -> "Ambient"
                else -> "Unknown"
            }

        val color = if (ambientMode is AmbientMode.Ambient) Color.Gray else Color.Yellow
        Text(text = "$ambientModeName Mode", color = color)
    }
}
```

### LocalReduceMotion

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/CompositionLocals.kt+symbol:LocalReduceMotion) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.2.0)

```
val LocalReduceMotion: ProvidableCompositionLocal<Boolean>
```

`https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` for global reduce-motion setting, which turns off animations and screen movements. To use, call LocalReduceMotion.current, which returns a Boolean.

### LocalScreenIsActive

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/CompositionLocals.kt+symbol:LocalScreenIsActive) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.5.0)

```
val LocalScreenIsActive: ProvidableCompositionLocal<Boolean>
```

`https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` used to express/determine if a screen is active, as specified by each component (for example, it could be updated when the user is in the middle of the gesture to switch screens, or after the gesture is done). Components that manage multiple screens (like pager and swipe to dismiss) provide this, and can be used at the screen level to update the UI or perform optimizations on inactive screens.

Defaults to true

### LocalSwipeToDismissBackgroundScrimColor

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/CompositionLocals.kt+symbol:LocalSwipeToDismissBackgroundScrimColor) Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.4.0)

```
val LocalSwipeToDismissBackgroundScrimColor: ProvidableCompositionLocal<Color>
```

`https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` containing the background scrim color of `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`.

Defaults to `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color#Black()` if not explicitly set.

### LocalSwipeToDismissContentScrimColor

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/CompositionLocals.kt+symbol:LocalSwipeToDismissContentScrimColor) Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/wear-compose#1.4.0)

```
val LocalSwipeToDismissContentScrimColor: ProvidableCompositionLocal<Color>
```

`https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal` containing the content scrim color of `https://developer.android.com/reference/kotlin/androidx/wear/compose/foundation/BasicSwipeToDismissBox.composable#BasicSwipeToDismissBox(androidx.wear.compose.foundation.SwipeToDismissBoxState,androidx.compose.ui.Modifier,kotlin.Any,kotlin.Any,kotlin.Boolean,kotlin.Function2)`.

Defaults to `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Color#Black()` if not explicitly set.