diff options
Diffstat (limited to '')
| -rw-r--r-- | tiny_skia/src/window/compositor.rs | 32 | 
1 files changed, 15 insertions, 17 deletions
| diff --git a/tiny_skia/src/window/compositor.rs b/tiny_skia/src/window/compositor.rs index 828e522f..87ded746 100644 --- a/tiny_skia/src/window/compositor.rs +++ b/tiny_skia/src/window/compositor.rs @@ -8,6 +8,7 @@ use raw_window_handle::{HasRawDisplayHandle, HasRawWindowHandle};  use std::marker::PhantomData;  pub struct Compositor<Theme> { +    settings: Settings,      _theme: PhantomData<Theme>,  } @@ -27,17 +28,16 @@ impl<Theme> crate::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(); +    ) -> Result<Self, Error> { +        Ok(new(settings)) +    } -        Ok(( -            compositor, -            Renderer::new( -                backend, -                settings.default_font, -                settings.default_text_size, -            ), -        )) +    fn create_renderer(&self) -> Self::Renderer { +        Renderer::new( +            Backend::new(), +            self.settings.default_font, +            self.settings.default_text_size, +        )      }      fn create_surface<W: HasRawWindowHandle + HasRawDisplayHandle>( @@ -121,13 +121,11 @@ impl<Theme> crate::graphics::Compositor for Compositor<Theme> {      }  } -pub fn new<Theme>() -> (Compositor<Theme>, Backend) { -    ( -        Compositor { -            _theme: PhantomData, -        }, -        Backend::new(), -    ) +pub fn new<Theme>(settings: Settings) -> Compositor<Theme> { +    Compositor { +        settings, +        _theme: PhantomData, +    }  }  pub fn present<T: AsRef<str>>( | 
