glerminal 0.3.0

A lightweight OpenGL terminal
Documentation
use glerminal::{TerminalBuilder, TextBuffer};

fn main() {
    let terminal = TerminalBuilder::new()
        .with_title("Multiple TextBuffer Example")
        .with_dimensions((1280, 720))
        .build();

    let mut text_buffer_bg;
    match TextBuffer::create(&terminal, (80, 24)) {
        Ok(buffer) => text_buffer_bg = buffer,
        Err(error) => panic!(format!("Failed to initialize text buffer: {}", error)),
    }

    let mut text_buffer_overlay;
    match TextBuffer::create(&terminal, (40, 12)) {
        Ok(buffer) => text_buffer_overlay = buffer,
        Err(error) => panic!(format!("Failed to initialize text buffer: {}", error)),
    }

    while terminal.refresh() {
        text_buffer_bg.clear();
        text_buffer_bg.cursor.move_to(0, 0);
        text_buffer_bg.write("On Background!");

        terminal.flush(&mut text_buffer_bg);

        text_buffer_overlay.clear();
        text_buffer_overlay.cursor.move_to(1, 0);
        text_buffer_overlay.cursor.style.bg_color = [0.0, 0.0, 1.0, 0.5];
        text_buffer_overlay.put_char('^');
        text_buffer_overlay.cursor.move_to(0, 1);
        text_buffer_overlay.cursor.style = Default::default();
        text_buffer_overlay.write("Above!");

        terminal.flush(&mut text_buffer_overlay);

        terminal.draw(&text_buffer_bg);
        terminal.draw(&text_buffer_overlay);
    }
}