summaryrefslogtreecommitdiff
path: root/loader/src/main.rs
blob: 9ac920bc117498a8946fe5f3d7b0c26a75b8180a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use embedded_graphics_framebuffer::FrameBufferDisplay;
use embedded_graphics::{
    pixelcolor::{Rgb888, RgbColor},
    prelude::*,
    primitives::{Circle, PrimitiveStyle},
};
use std::io;
use embedded_graphics::mono_font::ascii::FONT_10X20;
use embedded_graphics::mono_font::MonoTextStyle;
use embedded_graphics::text::Text;
use framebuffer::{Framebuffer, KdMode};
use ctrlc;

fn int_handler() {
    return;
}

fn main() {
    Framebuffer::set_kd_mode(KdMode::Graphics).unwrap();

    ctrlc::set_handler(int_handler)
        .expect("Error setting Ctrl-C handler");

    let mut display = FrameBufferDisplay::new();
    Circle::new(Point::new(((display.size().width / 2) - (96 / 2)) as i32, ((display.size().height / 2) - (96 / 2)) as i32), 96)
        .into_styled(PrimitiveStyle::with_stroke(Rgb888::WHITE, 1))
        .draw(&mut display).expect("Failed to draw");

    let style = MonoTextStyle::new(&FONT_10X20, Rgb888::WHITE);

    let text = "Starting up...";
    Text::new(text, Point::new(((display.size().width / 2) - (((text.len() as u32) * 10) / 2)) as i32, (display.size().height - 64) as i32), style).draw(&mut display).expect("Failed to draw");

    display.flush().unwrap();

    io::stdin().read_line(&mut String::new()).unwrap();
    Framebuffer::set_kd_mode(KdMode::Text).unwrap();
}