bwdraw

Crates.iobwdraw
lib.rsbwdraw
version0.1.2
sourcesrc
created_at2024-01-02 22:21:53.222536
updated_at2024-01-06 08:00:07.401296
descriptionTerminal drawing library whithout y-axis stretching
homepage
repositoryhttps://github.com/TheNickOfMax/bwdraw
max_upload_size
id1086721
size15,882
LaPepega (TheNickOfMax)

documentation

README

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

   // 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.

Commit count: 0

cargo fmt