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}