Skip to content

LaPepega/bwdraw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crates.io

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.

About

A barebone black/white terminal drawing library for rust without y-axis stretching

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages