use verdant::{event::Key, prelude::*};
fn main() -> RendererResult<()> {
let mut renderer = Renderer::new()?;
let text_window = renderer.create_window("text input", 1024, 1024);
let atlas_window = renderer.create_window("text atlas", 1024, 1024);
let font = Font::load(include_bytes!("assets/JetBrainsMonoNerdFont_Regular.ttf"))?;
let mut text = String::new();
while renderer.is_running() {
for (id, event) in renderer.poll() {
match event {
WindowEvent::CloseRequested => { renderer.close_window(id); },
WindowEvent::KeyboardInput { ref logical_key, pressed: true, .. } => {
match logical_key {
Key::Backspace => { text.pop(); },
Key::Enter => text += "\n",
Key::Character(c) => text += c.as_str(),
_ => {},
}
}
_ => {},
}
}
if let Some(mut window) = renderer.get_window(text_window) {
window.background(Color::BLACK);
window.font_size(32.);
window.text(&font, 0., 0., &text);
}
if let Some(mut window) = renderer.get_window(atlas_window) {
window.background(Color::BLACK);
window.image(font.atlas(), 0., 0., 1024., 1024.);
}
renderer.flush()?;
}
Ok(())
}