From 58e04af824a64d9f712a2d6691d4283888d271d3 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sat, 2 Nov 2019 19:58:49 +0100 Subject: Draft `Metrics` and improve `Target` abstraction --- native/src/renderer/windowed.rs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'native/src/renderer/windowed.rs') diff --git a/native/src/renderer/windowed.rs b/native/src/renderer/windowed.rs index bcf37964..0499ca70 100644 --- a/native/src/renderer/windowed.rs +++ b/native/src/renderer/windowed.rs @@ -1,17 +1,29 @@ -use crate::MouseCursor; +use crate::{Metrics, MouseCursor}; use raw_window_handle::HasRawWindowHandle; -pub trait Windowed: super::Renderer { - type Target; +pub trait Windowed: super::Renderer + Sized { + type Target: Target; - fn new(window: &W) -> Self; - - fn target(&self, width: u16, height: u16) -> Self::Target; + fn new() -> Self; fn draw( &mut self, output: &Self::Output, + metrics: Option, target: &mut Self::Target, ) -> MouseCursor; } + +pub trait Target { + type Renderer; + + fn new( + window: &W, + width: u16, + height: u16, + renderer: &Self::Renderer, + ) -> Self; + + fn resize(&mut self, width: u16, height: u16, renderer: &Self::Renderer); +} -- cgit From 2c6bfdbc8c2262c3550fa16d4472e29d73077956 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 3 Nov 2019 04:39:11 +0100 Subject: Implement debug view and load system fonts --- native/src/renderer/windowed.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'native/src/renderer/windowed.rs') diff --git a/native/src/renderer/windowed.rs b/native/src/renderer/windowed.rs index 0499ca70..6e4ae611 100644 --- a/native/src/renderer/windowed.rs +++ b/native/src/renderer/windowed.rs @@ -1,4 +1,4 @@ -use crate::{Metrics, MouseCursor}; +use crate::MouseCursor; use raw_window_handle::HasRawWindowHandle; @@ -7,10 +7,10 @@ pub trait Windowed: super::Renderer + Sized { fn new() -> Self; - fn draw( + fn draw>( &mut self, output: &Self::Output, - metrics: Option, + overlay: &[T], target: &mut Self::Target, ) -> MouseCursor; } -- cgit