55 lines
1.1 KiB
Rust
Executable File
55 lines
1.1 KiB
Rust
Executable File
pub mod color;
|
|
pub mod rect;
|
|
|
|
use raw_window_handle::RawWindowHandle;
|
|
use color::Color;
|
|
use rect::Rect;
|
|
|
|
#[cfg(windows)]
|
|
use abletk_direct2d as backend;
|
|
|
|
pub struct Renderer {
|
|
renderer: backend::Renderer,
|
|
}
|
|
|
|
impl Renderer {
|
|
pub fn new(handle: RawWindowHandle) -> Self {
|
|
let handle = match handle {
|
|
RawWindowHandle::Win32(handle) => handle,
|
|
_ => todo!()
|
|
};
|
|
|
|
Self {
|
|
renderer: backend::Renderer::new(handle)
|
|
}
|
|
}
|
|
|
|
pub fn begin_draw(&mut self) {
|
|
self.renderer.begin_draw()
|
|
}
|
|
|
|
pub fn clear(&self, color: Color) {
|
|
self.renderer.clear(color)
|
|
}
|
|
|
|
pub fn draw_text<S: AsRef<str>>(&self, text: S) {
|
|
self.renderer.draw_text(text.as_ref())
|
|
}
|
|
|
|
pub fn end_draw(&self) {
|
|
self.renderer.end_draw()
|
|
}
|
|
|
|
pub fn fill_rect(&self, rect: Rect) {
|
|
self.renderer.fill_rect(rect)
|
|
}
|
|
|
|
pub fn resized(&mut self, width: u32, height: u32) {
|
|
self.renderer.resized(width, height)
|
|
}
|
|
|
|
pub fn size(&self) -> (f32, f32) {
|
|
self.renderer.size()
|
|
}
|
|
}
|