diff options
author | 2023-12-05 01:03:09 +0100 | |
---|---|---|
committer | 2023-12-05 01:03:09 +0100 | |
commit | fc285d3e461626408c56bbc1605fcf0c974b2f69 (patch) | |
tree | 8aca292516d9aa43b78a14f51dd90caf60c691d7 /wgpu/src/window | |
parent | 8727b3fc50ec251d9c117c51ca1289be5ba9b117 (diff) | |
parent | 5c5e7653bed248ba63faa6563e4d673e4441415e (diff) | |
download | iced-fc285d3e461626408c56bbc1605fcf0c974b2f69.tar.gz iced-fc285d3e461626408c56bbc1605fcf0c974b2f69.tar.bz2 iced-fc285d3e461626408c56bbc1605fcf0c974b2f69.zip |
Merge pull request #1964 from bungoboingo/feat/multi-window-support
[Feature] 🪟 Multi Window 🪟 .. redux!
Diffstat (limited to 'wgpu/src/window')
-rw-r--r-- | wgpu/src/window/compositor.rs | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 90d64e17..090e0e9f 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -139,16 +139,14 @@ impl<Theme> Compositor<Theme> { pub fn new<Theme, W: HasRawWindowHandle + HasRawDisplayHandle>( settings: Settings, compatible_window: Option<&W>, -) -> Result<(Compositor<Theme>, Backend), Error> { +) -> Result<Compositor<Theme>, Error> { let compositor = futures::executor::block_on(Compositor::request( settings, compatible_window, )) .ok_or(Error::GraphicsAdapterNotFound)?; - let backend = compositor.create_backend(); - - Ok((compositor, backend)) + Ok(compositor) } /// Presents the given primitives with the given [`Compositor`] and [`Backend`]. @@ -214,17 +212,16 @@ impl<Theme> graphics::Compositor for Compositor<Theme> { fn new<W: HasRawWindowHandle + HasRawDisplayHandle>( settings: Self::Settings, compatible_window: Option<&W>, - ) -> Result<(Self, Self::Renderer), Error> { - let (compositor, backend) = new(settings, compatible_window)?; + ) -> Result<Self, Error> { + new(settings, compatible_window) + } - Ok(( - compositor, - Renderer::new( - backend, - settings.default_font, - settings.default_text_size, - ), - )) + fn create_renderer(&self) -> Self::Renderer { + Renderer::new( + self.create_backend(), + self.settings.default_font, + self.settings.default_text_size, + ) } fn create_surface<W: HasRawWindowHandle + HasRawDisplayHandle>( |