# BringIntoViewModifierNode

Artifact: [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/relocation/BringIntoViewModifierNode.kt+class:androidx.compose.ui.relocation.BringIntoViewModifierNode) Added in [1.8.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.8.0) Common/All
- Cmn

  ```
  interface BringIntoViewModifierNode : DelegatableNode
  ```

*** ** * ** ***

A node that can respond to `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)` requests from its children by moving or adjusting its content.

## Summary

| ### Public functions |
|---|---|---|
| `suspend https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)( childCoordinates: https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/LayoutCoordinates, boundsProvider: () -> https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect? )` Moves or adjusts this node's content so that `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)` will be in visible bounds. | Cmn |

### Inherited functions

From [androidx.compose.ui.node.DelegatableNode](https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode) `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/EmptySuper
https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode#onDensityChange()()`

Invoked when the density changes for this node.
Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/EmptySuper
https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode#onLayoutDirectionChange()()`

Invoked when the layout direction changes for this node.
Cmn

### Inherited properties

From [androidx.compose.ui.node.DelegatableNode](https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode) `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.Node` `https://developer.android.com/reference/kotlin/androidx/compose/ui/node/DelegatableNode#node()`

A reference of the `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.Node` that holds this node's position in the node hierarchy.
Cmn

## Public functions

### bringIntoView

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

```
suspend fun bringIntoView(
    childCoordinates: LayoutCoordinates,
    boundsProvider: () -> Rect?
): Unit
```

Moves or adjusts this node's content so that `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)` will be in visible bounds. Must ensure that the request is propagated up to the parent node.

This method will not return until this request has been satisfied or interrupted by a newer request.

| Parameters |
|---|---|
| `childCoordinates: https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/LayoutCoordinates` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/LayoutCoordinates` of the child node making the request. This parent can use these `https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/LayoutCoordinates` to translate `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)` into its own coordinates. |
| `boundsProvider: () -> https://developer.android.com/reference/kotlin/androidx/compose/ui/geometry/Rect?` | A function returning the rectangle to bring into view, relative to `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)`. The function may return a different value over time, if the bounds of the request change while the request is being processed. If the rectangle cannot be calculated, e.g. because `https://developer.android.com/reference/kotlin/androidx/compose/ui/relocation/BringIntoViewModifierNode#bringIntoView(androidx.compose.ui.layout.LayoutCoordinates,kotlin.Function0)` is not attached, return null. |