summaryrefslogtreecommitdiffstats
path: root/graphics/src/backend.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-03-25 21:36:44 +0100
committerLibravatar GitHub <noreply@github.com>2024-03-25 21:36:44 +0100
commita2a8381a49ac2dd1cd65eb382b9ee02bbfa17286 (patch)
treee6c24928a42e23ff91eea0fc30b4fbbcb6da024b /graphics/src/backend.rs
parent3013463baa71504488a20436beb3db87ecb66df0 (diff)
parent6a4f5ac2081699f7cf20c917b367366ab49eeef1 (diff)
downloadiced-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.rs8
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.