package mosaic

  1. Overview
  2. Docs
Terminal UI framework for OCaml with The Elm Architecture

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mosaic-0.1.0.tbz
sha256=9e4e90d17f9b2af1b07071fe425bc2c519c849c4f1d1ab73cde512be2d874849
sha512=06e9c4a741590942e81a27738d0b5c0413fafec8cf3b7dae047ad69f155e7b718aa4223818dc161b7d028efffcfd3365905e264d6fd31d453910ddfa91dcf9b9

doc/mosaic.ui/Mosaic_ui/Scroll_box/Scroll_accel/index.html

Module Scroll_box.Scroll_accel

type t

The type for scroll acceleration strategies.

Note. Values are stateful: they track timing internally.

val linear : unit -> t

linear () is an acceleration strategy that always returns a 1.0 multiplier. No acceleration is applied.

val macos : ?a:float -> ?tau:float -> ?max_multiplier:float -> unit -> t

macos () is a macOS-style exponential acceleration strategy with:

  • a exponential coefficient. Defaults to 0.8.
  • tau time constant in seconds. Defaults to 3.0.
  • max_multiplier upper bound on the returned multiplier. Defaults to 6.0.
val tick : t -> now:float -> float

tick t ~now is the current multiplier given the monotonic timestamp now in milliseconds. Call once per scroll event. Resets automatically on timeout.

val reset : t -> unit

reset t clears the velocity history of t.