gooey/interface/controller/component/
cursor.rs

1//! Text entry controller
2
3use smallvec::SmallVec;
4use super::impl_kind;
5use crate::interface::view::input;
6
7#[derive(Clone, Debug, Eq, PartialEq)]
8pub struct Cursor {
9  pub caret  : u32,
10  pub length : Option <u32>,
11  /// Can be used to ignore input of some keycodes, e.g. '`' (`Keycode::Grave`)
12  /// for console controls
13  pub ignore : SmallVec <[input::button::Keycode; 1]>
14}
15impl_kind!(Cursor);
16
17impl Default for Cursor {
18  fn default() -> Self {
19    Cursor {
20      caret:  '_' as u32,
21      length: None,
22      ignore: SmallVec::default()
23    }
24  }
25}