summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 19:35:19 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-22 19:35:19 +0100
commit441e9237cd1c9c9b61d9b144b5b4dafa236ace28 (patch)
tree97624f464014ee3490e346601a5414aac2c9ec34
parenta2c897792ccb8f91a8479c1eca9146c439e9173b (diff)
downloadiced-441e9237cd1c9c9b61d9b144b5b4dafa236ace28.tar.gz
iced-441e9237cd1c9c9b61d9b144b5b4dafa236ace28.tar.bz2
iced-441e9237cd1c9c9b61d9b144b5b4dafa236ace28.zip
Rename `compositor::Renderer` to `Default`
-rw-r--r--graphics/src/backend.rs6
-rw-r--r--graphics/src/compositor.rs7
-rw-r--r--graphics/src/renderer.rs2
-rw-r--r--renderer/src/fallback.rs6
-rw-r--r--src/application.rs4
-rw-r--r--src/lib.rs2
-rw-r--r--src/program.rs12
-rw-r--r--tiny_skia/src/backend.rs4
-rw-r--r--wgpu/src/backend.rs4
9 files changed, 26 insertions, 21 deletions
diff --git a/graphics/src/backend.rs b/graphics/src/backend.rs
index aa7bf4e8..7abc42c5 100644
--- a/graphics/src/backend.rs
+++ b/graphics/src/backend.rs
@@ -10,11 +10,11 @@ use std::borrow::Cow;
///
/// [`Renderer`]: crate::Renderer
pub trait Backend: Sized {
- /// The compositor of this [`Backend`].
- type Compositor: Compositor<Renderer = Renderer<Self>>;
-
/// The custom kind of primitives this [`Backend`] supports.
type Primitive: TryFrom<Mesh, Error = &'static str>;
+
+ /// The default compositor of this [`Backend`].
+ type Compositor: Compositor<Renderer = Renderer<Self>>;
}
/// A graphics backend that supports text rendering.
diff --git a/graphics/src/compositor.rs b/graphics/src/compositor.rs
index 4d548f30..8c67cd16 100644
--- a/graphics/src/compositor.rs
+++ b/graphics/src/compositor.rs
@@ -1,6 +1,5 @@
//! A compositor is responsible for initializing a renderer and managing window
//! surfaces.
-use crate::core;
use crate::core::Color;
use crate::futures::{MaybeSend, MaybeSync};
use crate::{Error, Settings, Viewport};
@@ -90,8 +89,8 @@ impl<T> Window for T where
{
}
-/// A renderer that supports composition.
-pub trait Renderer: core::Renderer {
+/// Defines the default compositor of a renderer.
+pub trait Default {
/// The compositor of the renderer.
type Compositor: Compositor<Renderer = Self>;
}
@@ -187,6 +186,6 @@ impl Compositor for () {
}
#[cfg(debug_assertions)]
-impl Renderer for () {
+impl Default for () {
type Compositor = ();
}
diff --git a/graphics/src/renderer.rs b/graphics/src/renderer.rs
index 5de7f97f..f517ff3e 100644
--- a/graphics/src/renderer.rs
+++ b/graphics/src/renderer.rs
@@ -261,7 +261,7 @@ where
}
}
-impl<B> compositor::Renderer for Renderer<B>
+impl<B> compositor::Default for Renderer<B>
where
B: Backend,
{
diff --git a/renderer/src/fallback.rs b/renderer/src/fallback.rs
index 8daab74f..ca445746 100644
--- a/renderer/src/fallback.rs
+++ b/renderer/src/fallback.rs
@@ -524,10 +524,10 @@ mod geometry {
}
}
-impl<L, R> compositor::Renderer for Renderer<L, R>
+impl<L, R> compositor::Default for Renderer<L, R>
where
- L: compositor::Renderer,
- R: compositor::Renderer,
+ L: compositor::Default,
+ R: compositor::Default,
{
type Compositor = Compositor<L::Compositor, R::Compositor>;
}
diff --git a/src/application.rs b/src/application.rs
index 62fe77da..9197834b 100644
--- a/src/application.rs
+++ b/src/application.rs
@@ -113,7 +113,7 @@ where
type Theme: Default;
/// The renderer of your [`Application`].
- type Renderer: text::Renderer + compositor::Renderer;
+ type Renderer: text::Renderer + compositor::Default;
/// The data needed to initialize your [`Application`].
type Flags;
@@ -215,7 +215,7 @@ where
let run = crate::shell::application::run::<
Instance<Self>,
Self::Executor,
- <Self::Renderer as compositor::Renderer>::Compositor,
+ <Self::Renderer as compositor::Default>::Compositor,
>(settings.into(), renderer_settings);
#[cfg(target_arch = "wasm32")]
diff --git a/src/lib.rs b/src/lib.rs
index 171109e7..e67b46e3 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -381,7 +381,7 @@ where
State: Default + 'static,
Message: std::fmt::Debug + Send + 'static,
Theme: Default + program::DefaultStyle + 'static,
- Renderer: graphics::compositor::Renderer + core::text::Renderer + 'static,
+ Renderer: program::Renderer + 'static,
{
program(title, update, view).run()
}
diff --git a/src/program.rs b/src/program.rs
index f5a2bc53..705e140d 100644
--- a/src/program.rs
+++ b/src/program.rs
@@ -31,6 +31,7 @@
//! }
//! ```
use crate::application::Application;
+use crate::core::text;
use crate::executor::{self, Executor};
use crate::graphics::compositor;
use crate::window;
@@ -77,7 +78,7 @@ where
State: 'static,
Message: Send + std::fmt::Debug,
Theme: Default + DefaultStyle,
- Renderer: compositor::Renderer + crate::core::text::Renderer,
+ Renderer: self::Renderer,
{
use std::marker::PhantomData;
@@ -95,7 +96,7 @@ where
where
Message: Send + std::fmt::Debug,
Theme: Default + DefaultStyle,
- Renderer: compositor::Renderer + crate::core::text::Renderer,
+ Renderer: self::Renderer,
Update: self::Update<State, Message>,
View: for<'a> self::View<'a, State, Message, Theme, Renderer>,
{
@@ -425,7 +426,7 @@ pub trait Definition: Sized {
type Theme: Default + DefaultStyle;
/// The renderer of the program.
- type Renderer: compositor::Renderer + crate::core::text::Renderer;
+ type Renderer: Renderer + crate::core::text::Renderer;
/// The executor of the program.
type Executor: Executor;
@@ -871,3 +872,8 @@ where
self(state)
}
}
+
+/// The renderer of some [`Program`].
+pub trait Renderer: text::Renderer + compositor::Default {}
+
+impl<T> Renderer for T where T: text::Renderer + compositor::Default {}
diff --git a/tiny_skia/src/backend.rs b/tiny_skia/src/backend.rs
index 6d4e6cda..8c8781e3 100644
--- a/tiny_skia/src/backend.rs
+++ b/tiny_skia/src/backend.rs
@@ -990,9 +990,9 @@ fn rounded_box_sdf(
(x.powf(2.0) + y.powf(2.0)).sqrt() - radius
}
-impl iced_graphics::Backend for Backend {
- type Compositor = window::Compositor;
+impl backend::Backend for Backend {
type Primitive = primitive::Custom;
+ type Compositor = window::Compositor;
}
impl backend::Text for Backend {
diff --git a/wgpu/src/backend.rs b/wgpu/src/backend.rs
index 3675d50b..5019191c 100644
--- a/wgpu/src/backend.rs
+++ b/wgpu/src/backend.rs
@@ -372,9 +372,9 @@ impl Backend {
}
}
-impl crate::graphics::Backend for Backend {
- type Compositor = window::Compositor;
+impl backend::Backend for Backend {
type Primitive = primitive::Custom;
+ type Compositor = window::Compositor;
}
impl backend::Text for Backend {