Function read_str

Source
pub fn read_str(point: Point, max: i32) -> Option<String>
Expand description

Reads up to max characters without parsing, starting at the specified coordinates.

Returns None if the user closed the window or pressed Escape, Some containing the read string otherwise.

The read string will contain up to max characters.

The string being read will be kept on-screen only during the reading process, the scene will be restored before returning (needs a refresh, though).

Refer to the documentation for the for the terminal_read_str() C API function for specific information.

Examples found in repository?
examples/simple.rs (line 23)
8fn main() {
9	terminal::open("Simple example", 80, 30);
10	terminal::set(config::Window::empty().resizeable(true));
11
12	terminal::print_xy(0, 0, "Your mom");
13	terminal::with_colors(Color::from_rgb(0xFA, 0xAF, 0x29), Color::from_rgb(0x05, 0x50, 0xD6), || terminal::print_xy(0, 1, "Colerd"));
14	for (i, c) in "Coloured letters with pixel-offset!".chars().enumerate() {
15		terminal::put_ext(Point::new(i as i32, 2), Point::new(i as i32, i as i32), c, &vec![Color::from_rgb(0xFF, 0x00, 0x00),
16		                                                                                    Color::from_rgb(0x00, 0xFF, 0x00),
17		                                                                                    Color::from_rgb(0x00, 0x00, 0xFF),
18		                                                                                    Color::from_rgb(0xFF, 0xFF, 0xFF)]);
19	}
20	terminal::refresh();
21
22	terminal::set_foreground(Color::from_rgb(0xFF, 0xFF, 0xFF));
23	if let Some(string) = terminal::read_str(Point::new(0, 5), 30) {
24		terminal::print_xy(0, 5, &*&string);
25	}
26	terminal::refresh();
27	for event in terminal::events() {
28		match event {
29			Event::Resize{width, height} => {
30				terminal::print_xy(0, 0, &*&format!("Width: {}\nHeight: {}", width, height));
31				terminal::refresh();
32			},
33			Event::Close | Event::KeyPressed{key: KeyCode::Escape, ctrl: _, shift: _} => break,
34			_                                                                         => (),
35		}
36	}
37	terminal::close();
38}