<div class='type'>Compose Modifier</div>

<a id='references'></a>


<h2 id="innershadow-shape-shadow">innerShadow</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Modifier.innerShadow(shape: Shape, shadow: Shadow): Modifier
```


Draws an inner shadow on top of the rest of the content with the geometry specified by the given
shape and the shadow properties defined by the `Shadow`. This is different than `Modifier.shadow`
as this does not introduce a graphicsLayer to render elevation based shadows. Additionally this
shadow will render only within the geometry and can be used to provide a recessed like visual
effect. This shadow is rendered without a single light source and will render consistently
regardless of the on screen position of the content.

#### Parameters

| | |
| --- | --- |
| shape | Geometry of the shadow |
| shadow | Properties of the shadow like radius, spread, offset, and fill properties like the color or brush |






<hr class="docs-overload-divider">


<h2 id="innershadow-shape-block">innerShadow</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Modifier.innerShadow(shape: Shape, block: InnerShadowScope.() -> Unit): Modifier
```


Draws an inner shadow behind the rest of the content with the geometry specified by the given
shape and the shadow properties defined the `InnerShadowScope`. This is different than
`Modifier.shadow` as this does not introduce a graphicsLayer to render elevation based shadows.
This shadow is rendered without a single light source and will render consistently regardless of
the on screen position of the content. This is similar to `Modifier.innerShadow` except that
specification of inner shadow parameters is done with the lambda with `InnerShadowScope` allows
for more efficient transformations for animated use cases without recomposition.

#### Parameters

| | |
| --- | --- |
| shape | Geometry of the shadow |
| block | `InnerShadowScope` block where shadow properties are defined |