diff options
author | 2020-06-01 22:01:28 +0200 | |
---|---|---|
committer | 2020-06-01 22:01:28 +0200 | |
commit | 2ba9598f8022bf3035d97f1a30e53117b9619235 (patch) | |
tree | d10476b912bf0d2920a83101d58141f51d7360f7 /wgpu | |
parent | d34f8e06c8e3cdbba07a272f346163cfc0f920a6 (diff) | |
parent | a65d6a11cb82719a649110a8deaeb8f87e1c374b (diff) | |
download | iced-2ba9598f8022bf3035d97f1a30e53117b9619235.tar.gz iced-2ba9598f8022bf3035d97f1a30e53117b9619235.tar.bz2 iced-2ba9598f8022bf3035d97f1a30e53117b9619235.zip |
Merge pull request #371 from myfreeweb/window-alpha
Add custom window background/clear color (incl. transparency) support, fixes #272
Diffstat (limited to 'wgpu')
-rw-r--r-- | wgpu/src/settings.rs | 7 | ||||
-rw-r--r-- | wgpu/src/window/compositor.rs | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/wgpu/src/settings.rs b/wgpu/src/settings.rs index 4655e64f..16294ba3 100644 --- a/wgpu/src/settings.rs +++ b/wgpu/src/settings.rs @@ -1,10 +1,11 @@ //! Configure a renderer. pub use crate::Antialiasing; +pub use iced_native::Color; /// The settings of a [`Renderer`]. /// /// [`Renderer`]: ../struct.Renderer.html -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct Settings { /// The output format of the [`Renderer`]. /// @@ -18,6 +19,9 @@ pub struct Settings { /// The antialiasing strategy that will be used for triangle primitives. pub antialiasing: Option<Antialiasing>, + + /// The color that will be used to clear the window surface. + pub background_color: Color, } impl Default for Settings { @@ -26,6 +30,7 @@ impl Default for Settings { format: wgpu::TextureFormat::Bgra8UnormSrgb, default_font: None, antialiasing: None, + background_color: Color::WHITE, } } } diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 8345679a..f85986f0 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -119,10 +119,10 @@ impl iced_graphics::window::Compositor for Compositor { load_op: wgpu::LoadOp::Clear, store_op: wgpu::StoreOp::Store, clear_color: wgpu::Color { - r: 1.0, - g: 1.0, - b: 1.0, - a: 1.0, + r: self.settings.background_color.r.into(), + g: self.settings.background_color.g.into(), + b: self.settings.background_color.b.into(), + a: self.settings.background_color.a.into(), }, }], depth_stencil_attachment: None, |