Skip to main content

oxidized_curses/
cursor.rs

1use ncurses::CURSOR_VISIBILITY;
2
3pub enum CursorState {
4    Visible,
5    VeryVisible,
6    Invisible,
7}
8
9fn get_curses_curs_visibility(vis: CursorState) -> CURSOR_VISIBILITY {
10    use CursorState::*;
11    use CURSOR_VISIBILITY::*;
12
13    match vis {
14        Visible => CURSOR_VISIBLE,
15        Invisible => CURSOR_INVISIBLE,
16        VeryVisible => CURSOR_VERY_VISIBLE,
17    }
18}
19
20pub fn set_cursor(state: CursorState) {
21    ncurses::curs_set(get_curses_curs_visibility(state));
22}