summaryrefslogtreecommitdiffstats
path: root/vendor/nu-ansi-term/examples/rgb_colors.rs
blob: 4657d401f46e22c84ed298013ee2fc90a959e447 (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 nu_ansi_term;
use nu_ansi_term::{Color, Style};

// This example prints out a color gradient in a grid by calculating each
// character’s red, green, and blue components, and using 24-bit color 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(Color::Rgb(r, g, b)).paint(" "));
        }

        println!();
    }
}