---
title: "RotaryScrollableBehavior"
description: "An interface for handling scroll events. Has implementations for handling scroll with/without
fling [FlingRotaryScrollableBehavior] and for handling snap [LowResSnapRotaryScrollableBehavior],
[HighResSnapRotaryScrollableBehavior] (see [Modifier.rotaryScrollable] for descriptions of
low-res and high-res devices). Note: It's not recommended to extend this interface directly.
Please use the provided implementations instead."
type: "interface"
---

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


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

<div class='sourceset sourceset-android'>Android</div>



```kotlin
public interface RotaryScrollableBehavior
```


An interface for handling scroll events. Has implementations for handling scroll with/without
fling `FlingRotaryScrollableBehavior` and for handling snap `LowResSnapRotaryScrollableBehavior`,
`HighResSnapRotaryScrollableBehavior` (see `Modifier.rotaryScrollable` for descriptions of
low-res and high-res devices). Note: It's not recommended to extend this interface directly.
Please use the provided implementations instead.


## Functions

```kotlin
public suspend fun CoroutineScope.performScroll(
        timestampMillis: Long,
        delta: Float,
        inputDeviceId: Int,
        orientation: Orientation,
    )
```


Executes a scrolling operation based on rotary input.

#### Parameters

| | |
| --- | --- |
| timestampMillis | The time in milliseconds at which this even occurred |
| delta | The amount to scroll, in pixels |
| inputDeviceId | The id for the input device that this event came from |
| orientation | Orientation of the scrolling |




