summaryrefslogtreecommitdiffstats
path: root/native/src/window
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-05-19 14:23:28 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-05-19 14:23:28 +0200
commitd4743183d40c6044ce6fa39e2a52919a32912cda (patch)
treed2dec81cd9b419262cf2aa57ad793895ccacb320 /native/src/window
parent33448508a524db6447b380cc236be6f0d5ca8a86 (diff)
downloadiced-d4743183d40c6044ce6fa39e2a52919a32912cda.tar.gz
iced-d4743183d40c6044ce6fa39e2a52919a32912cda.tar.bz2
iced-d4743183d40c6044ce6fa39e2a52919a32912cda.zip
Draft first working version of `iced_glow` :tada:
Diffstat (limited to 'native/src/window')
-rw-r--r--native/src/window/backend.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/native/src/window/backend.rs b/native/src/window/backend.rs
index 892d4bb9..d8726fd4 100644
--- a/native/src/window/backend.rs
+++ b/native/src/window/backend.rs
@@ -5,7 +5,7 @@ use raw_window_handle::HasRawWindowHandle;
/// A graphics backend that can render to windows.
pub trait Backend: Sized {
/// The settings of the backend.
- type Settings: Default;
+ type Settings: Default + Clone;
/// The iced renderer of the backend.
type Renderer: crate::Renderer;
@@ -16,10 +16,10 @@ pub trait Backend: Sized {
/// The swap chain of the backend.
type SwapChain;
- /// Creates a new [`Backend`] and an associated iced renderer.
+ /// Creates a new [`Backend`].
///
/// [`Backend`]: trait.Backend.html
- fn new(settings: Self::Settings) -> (Self, Self::Renderer);
+ fn new(settings: Self::Settings) -> Self;
/// Crates a new [`Surface`] for the given window.
///
@@ -29,6 +29,11 @@ pub trait Backend: Sized {
window: &W,
) -> Self::Surface;
+ /// Crates a new [`Renderer`].
+ ///
+ /// [`Renderer`]: #associatedtype.Renderer
+ fn create_renderer(&mut self, settings: Self::Settings) -> Self::Renderer;
+
/// Crates a new [`SwapChain`] for the given [`Surface`].
///
/// [`SwapChain`]: #associatedtype.SwapChain