Merge pull request #371 from myfreeweb/window-alpha

Add custom window background/clear color (incl. transparency) support, fixes #272
This commit is contained in:
Héctor Ramón 2020-06-01 22:01:28 +02:00 committed by GitHub
commit 2ba9598f80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 49 additions and 9 deletions

View file

@ -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,
}
}
}

View file

@ -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,