cursive_spinner_view/
lib.rs

1//! Spinner view for the cursive library
2//!
3//! # Examples
4//!
5//! See in `examples` folder
6//! To see in action run `cargo run --example spinner`
7
8#![deny(
9    warnings,
10    clippy::all,
11    missing_debug_implementations,
12    missing_copy_implementations,
13    missing_docs,
14    rustdoc::missing_crate_level_docs,
15    // rustdoc::missing_doc_code_examples,
16    non_ascii_idents,
17    unreachable_pub
18)]
19#![doc(test(attr(deny(warnings))))]
20#![doc(html_root_url = "https://docs.rs/cursive-spinner-view/0.1.5")]
21
22mod spinner;
23mod view;
24
25pub use view::SpinnerView;
26
27/// Sinner frames
28pub type Frames = &'static [&'static str];
29
30/// Idling spinner frame
31///
32/// What to render when the spinner stops
33#[derive(Debug, Clone, Copy)]
34pub enum IdlingFrame {
35    /// Render a custom frame
36    Is(&'static str),
37    /// Render the last frame
38    Last,
39}
40
41/// Simple default spinner theme
42pub const DEFAULT_FRAMES: Frames = &["-", "\\", "|", "/"];
43
44/// Default idling frame is just nothing
45pub const DEFAULT_IDLING_FRAME: IdlingFrame = IdlingFrame::Is("");
46
47/// Min FPS setting
48pub const MIN_FPS: usize = 10;
49
50/// Max FPS setting
51pub const MAX_FPS: usize = 30;
52
53/// Acceleration factor
54pub const ACCCEL_FACTOR: usize = 5;