embedded_term/lib.rs
1//! Terminal emulator on [embedded-graphics].
2//!
3//! The crate is `no_std` compatible. It is suitable for embedded systems and OS kernels.
4//!
5//! The [`Console`] can be built on top of either a [`TextBuffer`] or a frame buffer ([`DrawTarget`]).
6//! For example, the [VGA text mode] has a text buffer, while the graphic mode has a frame buffer.
7//!
8//! It can be tested in SDL2 with the help of [`embedded_graphics_simulator`](https://docs.rs//embedded-graphics/#simulator).
9//! See examples for details.
10//!
11//! [embedded-graphics]: embedded_graphics
12//! [`DrawTarget`]: embedded_graphics::draw_target::DrawTarget
13//! [VGA text mode]: https://en.wikipedia.org/wiki/VGA_text_mode
14
15#![no_std]
16#![deny(unsafe_code)]
17#![deny(warnings)]
18#![deny(missing_docs)]
19
20#[macro_use]
21extern crate alloc;
22
23#[cfg(feature = "log")]
24#[macro_use]
25extern crate log;
26#[cfg(not(feature = "log"))]
27#[macro_use]
28mod log;
29
30pub use console::{Console, ConsoleOnGraphic};
31pub use graphic::TextOnGraphic;
32pub use text_buffer::TextBuffer;
33pub use text_buffer_cache::TextBufferCache;
34
35mod ansi;
36mod cell;
37mod color;
38mod console;
39mod graphic;
40mod text_buffer;
41mod text_buffer_cache;