Expand description
§bwdraw
bwdraw is a Rust library designed for simple black and white 2D drawing in the terminal. It uses half-filled characters as pixels, allowing for a square-shaped representation without stretching the y-axis. The library provides a convenient way to draw with half-filled ASCII characters by representing the canvas as a grid of booleans and converting them into characters accordingly.
§Pixel Representation
The library uses the concept of DuoPixel, where each pixel has upper and lower states. These states are converted into character representations using the Into<char> trait. The available characters for representation are:
FULL_C: Full-filled character (‘█’)UPPER_C: Upper half-filled character (‘▀’)LOWER_C: Lower half-filled character (‘▄’)EMPTY_C: Empty character (’ ’)
§Examples
use bwdraw::Canvas;
// Draw a 10x10 square
let height: usize = 10;
let width: usize = 10;
let mut square = Canvas::new(width, height);
for i in 0..height {
for j in 0..width {
if i == 0 || i == height - 1 || j == 0 || j == width - 1 {
square.set(j, i, true);
}
}
}
println!("{}", square.to_string());§Drawing Functions
The library also provides a clear function, which clears the console screen using ANSI escape codes.
Structs§
- Canvas
- Represents the drawing canvas, composed of rows of pixels.
- DuoPixel
- Represents a single pixel in the drawing canvas.
- Row
- Represents a row of pixels in the drawing canvas.
Constants§
Functions§
- clear
- Clears the console screen.