Move winit logic from iced to iced_winit

- Added new `renderer::Windowed` trait. This shoud allow users to easily
  try different renderers by simply changing one line.
- Renamed `UserInterface` traits to `Application`, as the `run` method
  takes total control of the current thread.
- Moved `MouseCursor` back to `iced_native`. The new
  `renderer::Windowed` trait returns one on `draw`.
- Split `iced_native` renderer in multiple modules, for consistency.
This commit is contained in:
Héctor Ramón Jiménez 2019-10-09 05:36:49 +02:00
parent 1a93f0ef4a
commit a92a0b73ed
13 changed files with 245 additions and 155 deletions

View file

@ -0,0 +1,17 @@
use crate::MouseCursor;
use raw_window_handle::HasRawWindowHandle;
pub trait Windowed: super::Renderer {
type Target;
fn new<W: HasRawWindowHandle>(window: &W) -> Self;
fn target(&self, width: u16, height: u16) -> Self::Target;
fn draw(
&mut self,
target: &mut Self::Target,
primitive: &Self::Primitive,
) -> MouseCursor;
}