feat: add strobe animation
This commit is contained in:
parent
35a3319e7f
commit
966d3027e3
1 changed files with 18 additions and 0 deletions
18
src/main.rs
18
src/main.rs
|
@ -92,6 +92,7 @@ enum Action {
|
|||
enum Animation {
|
||||
Rainbow,
|
||||
Bling,
|
||||
Strobe,
|
||||
}
|
||||
|
||||
fn bling(layout: Layout, frame: u32) -> RgbImage {
|
||||
|
@ -160,6 +161,22 @@ fn rainbow(layout: Layout, frame: u32) -> RgbImage {
|
|||
})
|
||||
}
|
||||
|
||||
fn strobe(layout: Layout, frame: u32) -> RgbImage {
|
||||
let w = layout.width_px();
|
||||
let h = layout.height_px();
|
||||
|
||||
let brightness = 120;
|
||||
let period = 15;
|
||||
|
||||
RgbImage::from_fn(w, h, |_, _| {
|
||||
if frame % period < period / 2 {
|
||||
Rgb([brightness; 3])
|
||||
} else {
|
||||
Rgb([0, 0, 0])
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fn print_image(image: &RgbImage) {
|
||||
let _hide = termion::cursor::HideCursor::from(stdout());
|
||||
|
||||
|
@ -237,6 +254,7 @@ fn main() -> anyhow::Result<()> {
|
|||
match animation {
|
||||
Animation::Rainbow => rainbow,
|
||||
Animation::Bling => bling,
|
||||
Animation::Strobe => strobe,
|
||||
},
|
||||
)?;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue