diff options
author | JSDurand <mmemmew@gmail.com> | 2025-06-21 13:32:55 +0800 |
---|---|---|
committer | JSDurand <mmemmew@gmail.com> | 2025-06-21 13:32:55 +0800 |
commit | 9b36d712e25fb1d209df848281b9913b61a6ec45 (patch) | |
tree | e7a126af70f71a02b2e63292b07b8458effb7da5 /src/main.rs |
init commit
A basic window is available. Now we shall try to render texts and
some auxiliary functionalities.
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..0fbf198 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,31 @@ +#![allow(unused)] + +mod renderer; + +use renderer::backend::RendererBackend; +use renderer::dummy::DummyRenderer; +use renderer::text::{TextSpan, TextStyle}; +use renderer::vulkan::VulkanRenderer; + +use winit::{application::ApplicationHandler, event_loop::EventLoop}; + +fn main() { + // Dummy content + let span = TextSpan::new("Hello, Emacs!\nThis is a test", TextStyle::default_bold()); + + // Initialize backend + let mut backend: Box<dyn RendererBackend> = Box::new(VulkanRenderer::new()); + backend.init(128, 128); + println!("The backend is {}", backend.name()); + + // Create loop + + let mut event_loop = EventLoop::new().unwrap(); + + event_loop.run_app(&mut backend).unwrap(); + + backend.draw_text(&span); + backend.present(); + backend.clear(); + backend.shutdown(); +} |