diff options
author | 2024-03-25 21:36:44 +0100 | |
---|---|---|
committer | 2024-03-25 21:36:44 +0100 | |
commit | a2a8381a49ac2dd1cd65eb382b9ee02bbfa17286 (patch) | |
tree | e6c24928a42e23ff91eea0fc30b4fbbcb6da024b /graphics/src/backend.rs | |
parent | 3013463baa71504488a20436beb3db87ecb66df0 (diff) | |
parent | 6a4f5ac2081699f7cf20c917b367366ab49eeef1 (diff) | |
download | iced-a2a8381a49ac2dd1cd65eb382b9ee02bbfa17286.tar.gz iced-a2a8381a49ac2dd1cd65eb382b9ee02bbfa17286.tar.bz2 iced-a2a8381a49ac2dd1cd65eb382b9ee02bbfa17286.zip |
Merge pull request #2351 from iced-rs/custom-renderer-injection
Type-Driven Renderer Fallback
Diffstat (limited to 'graphics/src/backend.rs')
-rw-r--r-- | graphics/src/backend.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/graphics/src/backend.rs b/graphics/src/backend.rs index 10eb337f..7abc42c5 100644 --- a/graphics/src/backend.rs +++ b/graphics/src/backend.rs @@ -2,15 +2,19 @@ use crate::core::image; use crate::core::svg; use crate::core::Size; +use crate::{Compositor, Mesh, Renderer}; use std::borrow::Cow; /// The graphics backend of a [`Renderer`]. /// /// [`Renderer`]: crate::Renderer -pub trait Backend { +pub trait Backend: Sized { /// The custom kind of primitives this [`Backend`] supports. - type Primitive; + 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. |