microbit_text/
lib.rs

1//! Scrolling text on a 5×5 display (for example, a
2//! [micro:bit](https://microbit.org/)).
3//!
4//! # Features
5//!
6//! This crate provides:
7//! - a simple 5×5 image type;
8//! - a copy of the 'pendolino' font from the [micro:bit runtime][dal];
9//! - support for scrolling a sequence of 5×5 images;
10//! - support for scrolling text.
11//!
12//! These are all for use with the [`tiny-led-matrix`] crate.
13//!
14//! # Simple images
15//!
16//! The [`image`] module provides a [`BitImage`] type for non-greyscale 5x5
17//! images.
18//!
19//! # Fonts
20//!
21//! The [`font`] module provides 5×5 representations of the ascii printable
22//! characters as [`BitImage`]s.
23//!
24//! These are taken from the "pendolino" font supplied with the
25//! [micro:bit runtime][dal].
26//!
27//! # Scrolling images and text
28//!
29//! The [`scrolling_text`] module supports horizontally scrolling messages,
30//! providing [`ScrollingStaticText`] and [`ScrollingBufferedText`] types.
31//!
32//! The [`scrolling_statics`] module supports horizontal scrolling for an
33//! arbitrary static sequence of images via a [`ScrollingStatics`] type.
34//!
35//! The [`scrolling`] module provides interfaces used by types implementing
36//! horizontal scrolling, including the [`Animate`] trait used to control the
37//! scrolling behaviour.
38//!
39//! [dal]: https://lancaster-university.github.io/microbit-docs/
40//! [`tiny-led-matrix`]: https://docs.rs/tiny-led-matrix/
41//! [`Render`]: tiny_led_matrix::Render
42//! [`Animate`]: scrolling::Animate
43//! [`BitImage`]: image::BitImage
44//! [`Scrollable`]: scrolling::Scrollable
45//! [`ScrollingStatics`]: scrolling_statics::ScrollingStatics
46//! [`ScrollingBufferedText`]: scrolling_text::ScrollingBufferedText
47//! [`ScrollingStaticText`]: scrolling_text::ScrollingStaticText
48
49#![no_std]
50
51pub mod image;
52pub mod font;
53pub mod scrolling;
54pub mod scrolling_statics;
55pub mod scrolling_text;