summaryrefslogtreecommitdiffstats
path: root/renderer/src/lib.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 05:27:31 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 05:27:31 +0100
commit1f13a91361258a1607c71f4840a26a6437f88612 (patch)
tree972fd3bd7afbab9958d16b8475d42ff3e41df484 /renderer/src/lib.rs
parentbbafeed13d20f2cbd6fc18b949b34596aa0c6c2e (diff)
downloadiced-1f13a91361258a1607c71f4840a26a6437f88612.tar.gz
iced-1f13a91361258a1607c71f4840a26a6437f88612.tar.bz2
iced-1f13a91361258a1607c71f4840a26a6437f88612.zip
Make `iced_tiny_skia` optional with a `tiny-skia` feature
Diffstat (limited to 'renderer/src/lib.rs')
-rw-r--r--renderer/src/lib.rs53
1 files changed, 33 insertions, 20 deletions
diff --git a/renderer/src/lib.rs b/renderer/src/lib.rs
index f8aa1157..199b431e 100644
--- a/renderer/src/lib.rs
+++ b/renderer/src/lib.rs
@@ -19,27 +19,40 @@ pub use settings::Settings;
/// The default graphics renderer for [`iced`].
///
/// [`iced`]: https://github.com/iced-rs/iced
-#[cfg(not(feature = "wgpu"))]
-pub type Renderer = iced_tiny_skia::Renderer;
-
-/// The default graphics renderer for [`iced`].
-///
-/// [`iced`]: https://github.com/iced-rs/iced
-#[cfg(feature = "wgpu")]
-pub type Renderer =
- fallback::Renderer<iced_wgpu::Renderer, iced_tiny_skia::Renderer>;
+pub type Renderer = renderer::Renderer;
/// The default graphics compositor for [`iced`].
///
/// [`iced`]: https://github.com/iced-rs/iced
-#[cfg(not(feature = "wgpu"))]
-pub type Compositor = iced_tiny_skia::window::Compositor;
-
-/// The default graphics renderer for [`iced`].
-///
-/// [`iced`]: https://github.com/iced-rs/iced
-#[cfg(feature = "wgpu")]
-pub type Compositor = fallback::Compositor<
- iced_wgpu::window::Compositor,
- iced_tiny_skia::window::Compositor,
->;
+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 = ();
+}