summaryrefslogtreecommitdiffstats
path: root/vendor/yansi-term/examples/rgb_colours.rs
blob: c28b52e56b66556428fc18a326b177136aa5bc79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
extern crate yansi_term;
use yansi_term::{Colour, Style};

// This example prints out a colour gradient in a grid by calculating each
// character’s red, green, and blue components, and using 24-bit colour codes
// to display them.

const WIDTH: i32 = 80;
const HEIGHT: i32 = 24;

fn main() {
    for row in 0..HEIGHT {
        for col in 0..WIDTH {
            let r = (row * 255 / HEIGHT) as u8;
            let g = (col * 255 / WIDTH) as u8;
            let b = 128;

            print!("{}", Style::default().on(Colour::RGB(r, g, b)).paint(" "));
        }

        println!();
    }
}