summaryrefslogtreecommitdiff
path: root/src/renderer/backend.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/backend.rs')
-rw-r--r--src/renderer/backend.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/renderer/backend.rs b/src/renderer/backend.rs
new file mode 100644
index 0000000..0aa994a
--- /dev/null
+++ b/src/renderer/backend.rs
@@ -0,0 +1,13 @@
+use winit::application::ApplicationHandler;
+
+use super::text::TextSpan;
+
+/// Trait that all renderer backends must implement.
+pub trait RendererBackend: ApplicationHandler {
+ fn name(&self) -> &str;
+ fn init(&mut self, width: i32, height: i32) -> bool;
+ fn clear(&mut self);
+ fn draw_text(&mut self, span: &TextSpan);
+ fn present(&mut self);
+ fn shutdown(&mut self);
+}