//! The official renderer for iced. #![cfg_attr(docsrs, feature(doc_auto_cfg))] #[cfg(feature = "wgpu")] pub use iced_wgpu as wgpu; pub mod fallback; pub use iced_graphics as graphics; pub use iced_graphics::core; #[cfg(feature = "geometry")] pub use iced_graphics::geometry; /// The default graphics renderer for [`iced`]. /// /// [`iced`]: https://github.com/iced-rs/iced pub type Renderer = renderer::Renderer; /// The default graphics compositor for [`iced`]. /// /// [`iced`]: https://github.com/iced-rs/iced pub type Compositor = renderer::Compositor; #[cfg(all(feature = "wgpu", feature = "tiny-skia"))] mod renderer { pub type Renderer = crate::fallback::Renderer< iced_wgpu::Renderer, iced_tiny_skia::Renderer, >; pub type Compositor = crate::fallback::Compositor< iced_wgpu::window::Compositor, iced_tiny_skia::window::Compositor, >; } #[cfg(all(feature = "wgpu", not(feature = "tiny-skia")))] mod renderer { pub type Renderer = iced_wgpu::Renderer; pub type Compositor = iced_wgpu::window::Compositor; } #[cfg(all(not(feature = "wgpu"), feature = "tiny-skia"))] mod renderer { pub type Renderer = iced_tiny_skia::Renderer; pub type Compositor = iced_tiny_skia::window::Compositor; } #[cfg(not(any(feature = "wgpu", feature = "tiny-skia")))] mod renderer { pub type Renderer = (); pub type Compositor = (); }