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


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

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


```kotlin
public class PausableMonotonicFrameClock(private val frameClock: MonotonicFrameClock) :
    MonotonicFrameClock
```


A `MonotonicFrameClock` wrapper that can be `pause`d and `resume`d.

A paused clock will not dispatch `withFrameNanos` events until it is resumed. Pausing a clock
does **not** stop or change the frame times reported to `withFrameNanos` calls; the clock times
reported will always remain consistent with `frameClock`.

`PausableMonotonicFrameClock` should be used in cases where frames should not be produced under
some conditions, such as when a window hosting a UI is not currently visible. As clock times are
not altered from the source `frameClock`, animations in progress may be fully complete by the
time the clock is resumed and a new frame is produced.


## Functions



<h2 id="pause">pause</h2>

```kotlin
public fun pause()
```


Pause the generation of frames. Pausing a clock that is already paused has no effect. While
the clock is paused any calls to `withFrameNanos` will suspend until the clock is resumed
before delegating to the wrapped `frameClock`'s `withFrameNanos` method. Call `resume` to
resume generating frames.




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


<h2 id="resume">resume</h2>

```kotlin
public fun resume()
```


Resume the generation of frames. Any queued calls to `withFrameNanos` will resume and
delegate to the wrapped `frameClock`'s `withFrameNanos` method.