From f34a7f01131e2a70f51665dcad0c4e2c8ec56895 Mon Sep 17 00:00:00 2001 From: tasgon Date: Tue, 8 Aug 2023 21:04:59 -0700 Subject: [PATCH] switch to generic renderer --- Cargo.toml | 2 +- src/lib.rs | 8 ++++---- src/render.rs | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3458ce6..f97fd11 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,10 +23,10 @@ bevy_utils = "0.11" bevy_window = "0.11" iced_core = "0.10" -iced_graphics = "0.9" iced_runtime = "0.1" iced_wgpu = "0.11" iced_widget = "0.1" +iced_renderer = { version = "0.1", features = ["wgpu"] } [dev-dependencies] bevy = "0.11" diff --git a/src/lib.rs b/src/lib.rs index b340b11..30cad9b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -47,8 +47,8 @@ use bevy_render::{ExtractSchedule, RenderApp}; use bevy_utils::HashMap; use bevy_window::{PrimaryWindow, Window}; use iced_core::mouse::Cursor; -use iced_graphics::backend::Text; -use iced_graphics::Viewport; +use iced_widget::graphics::backend::Text; +use iced_widget::graphics::Viewport; use iced_runtime::user_interface::UserInterface; /// Basic re-exports for all Iced-related stuff. @@ -65,7 +65,7 @@ mod utils; use systems::IcedEventQueue; /// The default renderer. -pub type Renderer = iced_wgpu::Renderer; +pub type Renderer = iced_renderer::Renderer; /// The main feature of `bevy_iced`. /// Add this to your [`App`] by calling `app.add_plugin(bevy_iced::IcedPlugin::default())`. @@ -127,7 +127,7 @@ impl IcedProps { } Self { - renderer: iced_wgpu::Renderer::new(backend), + renderer: Renderer::Wgpu(iced_wgpu::Renderer::new(backend)), debug: iced_runtime::Debug::new(), clipboard: iced_core::clipboard::Null, } diff --git a/src/render.rs b/src/render.rs index ccd39d1..6171d87 100644 --- a/src/render.rs +++ b/src/render.rs @@ -13,7 +13,7 @@ use bevy_render::{ }; use bevy_window::Window; use iced_core::Size; -use iced_graphics::Viewport; +use iced_widget::graphics::Viewport; use iced_wgpu::wgpu::util::StagingBelt; use std::sync::Mutex; @@ -89,6 +89,7 @@ impl Node for IcedNode { let IcedProps { renderer, debug, .. } = &mut *world.resource::().lock().unwrap(); + let crate::Renderer::Wgpu(renderer) = renderer else { return Ok(()) }; let render_device = world.resource::().wgpu_device(); let render_queue = world.resource::(); let viewport = world.resource::();