summaryrefslogtreecommitdiffstats
path: root/vendor/ansi_term/examples/rgb_colours.rs
blob: fd2cc7a85c81c0fb39923dc3acde95cac99e8162 (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 ansi_term;
use ansi_term::{Style, Colour};

// 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(" "));
        }

        print!("\n");
    }
}