diff options
author | RaindropsSys <raindrops@equestria.dev> | 2024-01-28 17:25:02 +0100 |
---|---|---|
committer | RaindropsSys <raindrops@equestria.dev> | 2024-01-28 17:25:02 +0100 |
commit | 843991895ea6bf6e7aaba7580e17f608f91964ae (patch) | |
tree | 98d5fc33fe0bc74a0fbe996439e7c5b419836d07 /loader | |
parent | 2e400f4096cf98852cc6c376436c87d5db2b0100 (diff) | |
download | cometos-mane.tar.gz cometos-mane.tar.bz2 cometos-mane.zip |
Diffstat (limited to 'loader')
-rw-r--r-- | loader/Cargo.toml | 12 | ||||
-rw-r--r-- | loader/src/main.rs | 38 |
2 files changed, 50 insertions, 0 deletions
diff --git a/loader/Cargo.toml b/loader/Cargo.toml new file mode 100644 index 0000000..ceb2655 --- /dev/null +++ b/loader/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "loader" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +framebuffer = "0.3.1" +embedded-graphics = "0.7.1" +embedded_graphics_framebuffer = "0.1.1" +ctrlc = "3.4.2"
\ No newline at end of file diff --git a/loader/src/main.rs b/loader/src/main.rs new file mode 100644 index 0000000..9ac920b --- /dev/null +++ b/loader/src/main.rs @@ -0,0 +1,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(); +}
\ No newline at end of file |