Merge pull request #1964 from bungoboingo/feat/multi-window-support

[Feature] 🪟 Multi Window 🪟 .. redux!
This commit is contained in:
Héctor Ramón 2023-12-05 01:03:09 +01:00 committed by GitHub
commit fc285d3e46
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
59 changed files with 3020 additions and 761 deletions

View file

@ -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>(