Drafter.Runtime.FrameClock (drafter v0.3.2)

Copy Markdown View Source

Converts an application's :refresh_rate setting into a frame interval.

Frame pacing itself is done by Drafter.Runtime.AppLoop.

Summary

Functions

Frame interval in milliseconds for a refresh-rate specification.

Types

interval()

@type interval() :: pos_integer() | nil

Functions

interval_for(ms)

@spec interval_for(term()) :: interval()

Frame interval in milliseconds for a refresh-rate specification.

Accepts "30fps", "7.5fps", "unlimited", :unlimited, or a millisecond integer. Returns nil for unlimited. Raises ArgumentError on anything else.

Examples

iex> Drafter.Runtime.FrameClock.interval_for("30fps")
33

iex> Drafter.Runtime.FrameClock.interval_for("7.5fps")
133

iex> Drafter.Runtime.FrameClock.interval_for(:unlimited)
nil

iex> Drafter.Runtime.FrameClock.interval_for(16)
16