fn main() -> anyhow::Result<()> {
pnte::co_initialize(pnte::CoInit::ApartmentThreaded)?;
let mut event_rx = wiard::EventReceiver::new();
let window = wiard::Window::builder(&event_rx)
.title("pnte hello")
.build()?;
let size = window.inner_size().unwrap();
let dpi = window.dpi().unwrap() as f32;
let mut ctx = pnte::Context::new(pnte::Direct2D::new()?)?;
ctx.set_dpi(dpi, dpi);
let render_target = ctx.create_render_target(&window, (size.width, size.height))?;
let text_format = pnte::TextFormat::new(&ctx)
.font(pnte::Font::System("Yu Gothic UI"))
.size(pnte::FontPoint(32.0))
.build()?;
let text_layout = pnte::TextLayout::new(&ctx)
.text("hello! 🚀")
.format(&text_format)
.build()?;
let white = pnte::SolidColorBrush::new(&ctx, (1.0, 1.0, 1.0, 1.0))?;
loop {
let Some((event, _)) = event_rx.recv() else {
break;
};
match event {
wiard::Event::Draw(_) => {
ctx.draw(&render_target, |cmd| {
cmd.clear((0.0, 0.0, 0.3, 0.0));
cmd.draw_text(&text_layout, (10.0, 10.0), &white).ok();
})
.ok();
}
_ => {}
}
}
Ok(())
}