package mosaic
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=9e4e90d17f9b2af1b07071fe425bc2c519c849c4f1d1ab73cde512be2d874849
sha512=06e9c4a741590942e81a27738d0b5c0413fafec8cf3b7dae047ad69f155e7b718aa4223818dc161b7d028efffcfd3365905e264d6fd31d453910ddfa91dcf9b9
doc/mosaic.ui/Mosaic_ui/Spinner/index.html
Module Mosaic_ui.Spinner
Animated loading indicator with preset frame sets.
Animated spinner cycling through configurable frame sets.
A spinner cycles through an array of text frames at a fixed interval, rendering the current frame with a configurable foreground color. Animation advances on each tick: elapsed time accumulates and the frame index advances by one or more steps when the interval threshold is reached.
Several built-in frame sets are provided (dots, line, arc, etc.). Custom frame sets can be constructed directly as frame_set records.
Types
type frame_set = {frames : string array;(*Frames to cycle through.
*)interval : float;(*Time between frames, in milliseconds.
*)
}The type for animation frame sets. The spinner advances one frame each time interval milliseconds have elapsed.
Built-in frame sets
val dots : frame_setBraille dot pattern (10 frames, 80 ms).
val dots2 : frame_setBraille block pattern (8 frames, 80 ms).
val line : frame_setASCII line rotation (4 frames, 130 ms).
val arc : frame_setQuarter-circle arc (6 frames, 100 ms).
val bounce : frame_setBraille bounce (4 frames, 120 ms).
val circle : frame_setCircle animation (3 frames, 120 ms).
Constructors
val create :
parent:Renderable.t ->
?index:int ->
?id:string ->
?style:Toffee.Style.t ->
?visible:bool ->
?z_index:int ->
?opacity:float ->
?frame_set:frame_set ->
?color:Ansi.Color.t ->
unit ->
tcreate ~parent () is a spinner attached to parent, with:
frame_setis the animation sequence. Defaults todefault_frame_set.coloris the foreground color for the spinner glyphs. Defaults toAnsi.Color.t.White.
val node : t -> Renderable.tnode t is the underlying Renderable.t of t.
Properties
module Props : sig ... endapply_props t props replaces all properties of t with props. Wraps the frame index when the frame set changes. Always triggers a re-render.
Accessors
val frame_index : t -> intframe_index t is the current zero-based frame index of t.
val elapsed : t -> floatelapsed t is the accumulated time in milliseconds since the last frame advance of t.
Setters
set_frame_set t fs changes the frame set of t to fs. Resets elapsed time to 0. and wraps the frame index to the new frame count.
val set_color : t -> Ansi.Color.t -> unitset_color t c changes the foreground color of t to c. Re-renders only if c differs from the current color.
Formatting and inspecting
val pp : Format.formatter -> t -> unitpp ppf t formats t on ppf for debugging.