# SharedTransitionScope.OverlayClip

# SharedTransitionScope.OverlayClip

Artifact:[androidx.compose.animation:animation](https://developer.android.com/jetpack/androidx/releases/compose-animation)  
[View Source](https://cs.android.com/search?q=file:androidx/compose/animation/SharedTransitionScope.kt+class:androidx.compose.animation.SharedTransitionScope.OverlayClip)  
Added in[1.7.0](https://developer.android.com/jetpack/androidx/releases/compose-animation#1.7.0)
Common/AllAndroid/JVM
  - Cmn  

  ```
  interface SharedTransitionScope.OverlayClip
  ```

*** ** * ** ***

[OverlayClip](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip)defines a specific clipping that should be applied to a[sharedBounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.Modifier).sharedBounds(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.animation.AnimatedVisibilityScope,androidx.compose.animation.EnterTransition,androidx.compose.animation.ExitTransition,androidx.compose.animation.BoundsTransform,androidx.compose.animation.SharedTransitionScope.ResizeMode,androidx.compose.animation.SharedTransitionScope.PlaceholderSize,kotlin.Boolean,kotlin.Float,androidx.compose.animation.SharedTransitionScope.OverlayClip))or[sharedElement](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.Modifier).sharedElement(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.animation.AnimatedVisibilityScope,androidx.compose.animation.BoundsTransform,androidx.compose.animation.SharedTransitionScope.PlaceholderSize,kotlin.Boolean,kotlin.Float,androidx.compose.animation.SharedTransitionScope.OverlayClip))in the overlay.

## Summary

|                                    ### Public functions                                     |
|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----|
| [Path](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Path)`?` | [getClipPath](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))`(` ` sharedContentState: `[SharedTransitionScope.SharedContentState](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.SharedContentState)`,` ` bounds: `[Rect](https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect)`,` ` layoutDirection: `[LayoutDirection](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/LayoutDirection)`,` ` density: `[Density](https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Density) `)` Creates a clip path based on current animated[bounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))of the[sharedBounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.Modifier).sharedBounds(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.animation.AnimatedVisibilityScope,androidx.compose.animation.EnterTransition,androidx.compose.animation.ExitTransition,androidx.compose.animation.BoundsTransform,androidx.compose.animation.SharedTransitionScope.ResizeMode,androidx.compose.animation.SharedTransitionScope.PlaceholderSize,kotlin.Boolean,kotlin.Float,androidx.compose.animation.SharedTransitionScope.OverlayClip))or[sharedElement](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.Modifier).sharedElement(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.animation.AnimatedVisibilityScope,androidx.compose.animation.BoundsTransform,androidx.compose.animation.SharedTransitionScope.PlaceholderSize,kotlin.Boolean,kotlin.Float,androidx.compose.animation.SharedTransitionScope.OverlayClip)), their[sharedContentState](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))(to query parent state's bounds if needed), and[layoutDirection](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))and[density](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density)). | Cmn |

## Public functions

### getClipPath

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

```
fun getClipPath(
    sharedContentState: SharedTransitionScope.SharedContentState,
    bounds: Rect,
    layoutDirection: LayoutDirection,
    density: Density
): Path?
```

Creates a clip path based on current animated[bounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))of the[sharedBounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.Modifier).sharedBounds(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.animation.AnimatedVisibilityScope,androidx.compose.animation.EnterTransition,androidx.compose.animation.ExitTransition,androidx.compose.animation.BoundsTransform,androidx.compose.animation.SharedTransitionScope.ResizeMode,androidx.compose.animation.SharedTransitionScope.PlaceholderSize,kotlin.Boolean,kotlin.Float,androidx.compose.animation.SharedTransitionScope.OverlayClip))or[sharedElement](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.Modifier).sharedElement(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.animation.AnimatedVisibilityScope,androidx.compose.animation.BoundsTransform,androidx.compose.animation.SharedTransitionScope.PlaceholderSize,kotlin.Boolean,kotlin.Float,androidx.compose.animation.SharedTransitionScope.OverlayClip)), their[sharedContentState](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))(to query parent state's bounds if needed), and[layoutDirection](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))and[density](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density)). The topLeft of the[bounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density))is the local position of the sharedElement/sharedBounds in the[SharedTransitionScope](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope).

**Important** : The returned[Path](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Path)needs to be offset-ed as needed such that it is in[SharedTransitionScope.lookaheadScopeCoordinates](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope#(androidx.compose.ui.layout.Placeable.PlacementScope).lookaheadScopeCoordinates())'s coordinate space. For example, if the path is created using[bounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density)), it needs to be offset-ed by[bounds](https://developer.android.com/reference/kotlin/androidx/compose/animation/SharedTransitionScope.OverlayClip#getClipPath(androidx.compose.animation.SharedTransitionScope.SharedContentState,androidx.compose.ui.geometry.Rect,androidx.compose.ui.unit.LayoutDirection,androidx.compose.ui.unit.Density)).topLeft.

When implementing this method, it is recommended to modify the same[Path](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Path)object and return it here, instead of creating new[Path](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Path)s.