diff options
| author | 2020-05-21 04:27:31 +0200 | |
|---|---|---|
| committer | 2020-05-21 04:27:31 +0200 | |
| commit | ae5e2c6c734894d71b2034a498a858b7997c5d3d (patch) | |
| tree | 19d416e08287542fc17496ab58d2d16d6704a6e6 /wgpu/src/window | |
| parent | d77492c0c37dec1207049b340a318e263cb96b82 (diff) | |
| download | iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.tar.gz iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.tar.bz2 iced-ae5e2c6c734894d71b2034a498a858b7997c5d3d.zip  | |
Introduce `Program` and `State`
Diffstat (limited to 'wgpu/src/window')
| -rw-r--r-- | wgpu/src/window/compositor.rs | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 7eba8924..600bc81c 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -18,8 +18,8 @@ impl iced_graphics::window::Compositor for Compositor {      type Surface = wgpu::Surface;      type SwapChain = wgpu::SwapChain; -    fn new(settings: Self::Settings) -> Self { -        let (device, queue) = futures::executor::block_on(async { +    fn new(settings: Self::Settings) -> (Self, Renderer) { +        let (mut device, queue) = futures::executor::block_on(async {              let adapter = wgpu::Adapter::request(                  &wgpu::RequestAdapterOptions {                      power_preference: if settings.antialiasing.is_none() { @@ -44,15 +44,17 @@ impl iced_graphics::window::Compositor for Compositor {                  .await          }); -        Self { -            device, -            queue, -            format: settings.format, -        } -    } +        let renderer = +            Renderer::new(crate::Backend::new(&mut device, settings)); -    fn create_renderer(&mut self, settings: Settings) -> Renderer { -        Renderer::new(crate::Backend::new(&mut self.device, settings)) +        ( +            Self { +                device, +                queue, +                format: settings.format, +            }, +            renderer, +        )      }      fn create_surface<W: HasRawWindowHandle>(  | 
