---
title: "calculateCentroidSize"
description: "Returns the average distance from the centroid for all pointers that are currently and were
previously down. If no pointers are down, `0` is returned. If [useCurrent] is `true`, the size of
the [PointerInputChange.position] is returned and if `false`, the size of
[PointerInputChange.previousPosition] is returned. Only pointers that are down in both the
previous and current state are used to calculate the centroid size.

Example Usage:"
type: "function"
---

<div class='type'>Function</div>


<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun PointerEvent.calculateCentroidSize(useCurrent: Boolean = true): Float
```


Returns the average distance from the centroid for all pointers that are currently and were
previously down. If no pointers are down, `0` is returned. If `useCurrent` is `true`, the size of
the `PointerInputChange.position` is returned and if `false`, the size of
`PointerInputChange.previousPosition` is returned. Only pointers that are down in both the
previous and current state are used to calculate the centroid size.

Example Usage:



## Code Examples
### CalculateCentroidSize
```kotlin
@Composable
fun CalculateCentroidSize() {
    var centroidSize by remember { mutableStateOf(0f) }
    var position by remember { mutableStateOf(Offset.Zero) }
    Box(
        Modifier.drawBehind {
                // Draw a circle where the gesture is
                drawCircle(Color.Blue, centroidSize, center = position)
            }
            .pointerInput(Unit) {
                awaitEachGesture {
                    awaitFirstDown().also { position = it.position }
                    do {
                        val event = awaitPointerEvent()
                        val size = event.calculateCentroidSize()
                        if (size != 0f) {
                            centroidSize = event.calculateCentroidSize()
                        }
                        val centroid = event.calculateCentroid()
                        if (centroid != Offset.Unspecified) {
                            position = centroid
                        }
                    } while (event.changes.any { it.pressed })
                }
            }
            .fillMaxSize()
    )
}
```

