# ShadowContext

Artifact: [androidx.compose.ui:ui-graphics](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/graphics/shadow/ShadowContext.kt+class:androidx.compose.ui.graphics.shadow.ShadowContext) Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.9.0) Common/AllAndroid/JVM
- Cmn

  ```
  sealed interface ShadowContext
  ```

*** ** * ** ***

Class responsible for managing shadow related dependencies. This includes creation and caching of various `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` instances based on the provided `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/Shadow`.

## Summary

| ### Public functions |
|---|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#clearCache()()` Clear all previously cached `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` instances alongside all other shadow dependencies. | Cmn |
| `open https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createDropShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)(shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, shadow: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/Shadow)` Return a `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` instance for the provided `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createDropShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createDropShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)`. | Cmn |
| `open https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createInnerShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)(shape: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Shape, shadow: https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/Shadow)` Return an `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` instance for the provided `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createInnerShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createInnerShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)`. | Cmn |

## Public functions

### clearCache

Cmn Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.9.0)

```
open fun clearCache(): Unit
```

Clear all previously cached `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` instances alongside all other shadow dependencies.

### createDropShadowPainter

Cmn Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.9.0)

```
open fun createDropShadowPainter(shape: Shape, shadow: Shadow): DropShadowPainter
```

Return a `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` instance for the provided `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createDropShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createDropShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)`. This may return a previously allocated `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` instance for the same parameters, for efficiency. For example, a design system that leverages shadows may have the same properties across multiple UI elements. In this case, the same dependencies for a `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/DropShadowPainter` can be reused.

### createInnerShadowPainter

Cmn Added in [1.9.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.9.0)

```
open fun createInnerShadowPainter(shape: Shape, shadow: Shadow): InnerShadowPainter
```

Return an `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` instance for the provided `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createInnerShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/ShadowContext#createInnerShadowPainter(androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.shadow.Shadow)`. This may return a previously allocated `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` instance for the same parameters, for efficiency. For example, a design system that leverages shadows may have the same properties across multiple UI elements. In this case, the same dependencies for an `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/shadow/InnerShadowPainter` can be reused.