summaryrefslogtreecommitdiff
path: root/src/main.rs
blob: 0fbf19855d6bca98bea4411b5fbf0d933e77b033 (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
#![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();
}