summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..da78328
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,33 @@
+#![no_main]
+#![no_std]
+#![feature(abi_efiapi)]
+
+mod gfx;
+use crate::gfx::*;
+
+use uefi::prelude::*;
+use core::fmt::Write;
+
+#[entry]
+fn main(_handle: Handle, mut system_table: SystemTable<Boot>) -> Status {
+ uefi_services::init(&mut system_table).unwrap();
+
+ system_table.stdout().clear().unwrap();
+ writeln!(system_table.stdout(), "Clearing the screen!").unwrap();
+
+ let mut gop = GOP::new(&system_table).unwrap();
+ gop.set_highest_resolution().unwrap();
+ writeln!(system_table.stdout(), "Set max resolution!").unwrap();
+
+ let gop = GOP::new(&system_table).unwrap();
+ let (dx, dy) = gop.get_resolution();
+ writeln!(system_table.stdout(), "Resolution: {}x{}", dx, dy).unwrap();
+
+ let mut gop = GOP::new(&system_table).unwrap();
+ gop.fill_box(0, 0, 16, 16, 128, 0, 0).unwrap();
+
+ #[cfg(not(debug_assertions))]
+ loop {}
+ #[allow(unreachable_code)]
+ Status::SUCCESS
+}