diff options
author | 2024-01-22 11:48:38 +0100 | |
---|---|---|
committer | 2024-01-22 11:48:38 +0100 | |
commit | 416e0026c021a8222c925979053d985553f947a6 (patch) | |
tree | beb8bb6fd28459d6a0b4c39fb5812f9c126a035e /wgpu/src/window | |
parent | 545cc909c9f356dd733d273173694db9b8c28594 (diff) | |
parent | e695f7a04c16f786154f25a486b649ddbfd62939 (diff) | |
download | iced-416e0026c021a8222c925979053d985553f947a6.tar.gz iced-416e0026c021a8222c925979053d985553f947a6.tar.bz2 iced-416e0026c021a8222c925979053d985553f947a6.zip |
Merge pull request #2209 from iced-rs/remove-associated-theme
`Themer` widget
Diffstat (limited to 'wgpu/src/window')
-rw-r--r-- | wgpu/src/window/compositor.rs | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 31cf3819..58f3f654 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -6,21 +6,18 @@ use crate::graphics::compositor; use crate::graphics::{Error, Viewport}; use crate::{Backend, Primitive, Renderer, Settings}; -use std::marker::PhantomData; - /// A window graphics backend for iced powered by `wgpu`. #[allow(missing_debug_implementations)] -pub struct Compositor<Theme> { +pub struct Compositor { settings: Settings, instance: wgpu::Instance, adapter: wgpu::Adapter, device: wgpu::Device, queue: wgpu::Queue, format: wgpu::TextureFormat, - theme: PhantomData<Theme>, } -impl<Theme> Compositor<Theme> { +impl Compositor { /// Requests a new [`Compositor`] with the given [`Settings`]. /// /// Returns `None` if no compatible graphics adapter could be found. @@ -123,7 +120,6 @@ impl<Theme> Compositor<Theme> { device, queue, format, - theme: PhantomData, }) } @@ -135,10 +131,10 @@ impl<Theme> Compositor<Theme> { /// Creates a [`Compositor`] and its [`Backend`] for the given [`Settings`] and /// window. -pub fn new<W: compositor::Window, Theme>( +pub fn new<W: compositor::Window>( settings: Settings, compatible_window: W, -) -> Result<Compositor<Theme>, Error> { +) -> Result<Compositor, Error> { let compositor = futures::executor::block_on(Compositor::request( settings, Some(compatible_window), @@ -149,8 +145,8 @@ pub fn new<W: compositor::Window, Theme>( } /// Presents the given primitives with the given [`Compositor`] and [`Backend`]. -pub fn present<Theme, T: AsRef<str>>( - compositor: &mut Compositor<Theme>, +pub fn present<T: AsRef<str>>( + compositor: &mut Compositor, backend: &mut Backend, surface: &mut wgpu::Surface<'static>, primitives: &[Primitive], @@ -203,9 +199,9 @@ pub fn present<Theme, T: AsRef<str>>( } } -impl<Theme> graphics::Compositor for Compositor<Theme> { +impl graphics::Compositor for Compositor { type Settings = Settings; - type Renderer = Renderer<Theme>; + type Renderer = Renderer; type Surface = wgpu::Surface<'static>; fn new<W: compositor::Window>( @@ -314,8 +310,8 @@ impl<Theme> graphics::Compositor for Compositor<Theme> { /// Renders the current surface to an offscreen buffer. /// /// Returns RGBA bytes of the texture data. -pub fn screenshot<Theme, T: AsRef<str>>( - compositor: &Compositor<Theme>, +pub fn screenshot<T: AsRef<str>>( + compositor: &Compositor, backend: &mut Backend, primitives: &[Primitive], viewport: &Viewport, |