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}