summaryrefslogtreecommitdiffstats
path: root/glow
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2020-06-01 22:01:28 +0200
committerLibravatar GitHub <noreply@github.com>2020-06-01 22:01:28 +0200
commit2ba9598f8022bf3035d97f1a30e53117b9619235 (patch)
treed10476b912bf0d2920a83101d58141f51d7360f7 /glow
parentd34f8e06c8e3cdbba07a272f346163cfc0f920a6 (diff)
parenta65d6a11cb82719a649110a8deaeb8f87e1c374b (diff)
downloadiced-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 'glow')
-rw-r--r--glow/src/settings.rs7
-rw-r--r--glow/src/window/compositor.rs7
2 files changed, 12 insertions, 2 deletions
diff --git a/glow/src/settings.rs b/glow/src/settings.rs
index dce30029..68fde714 100644
--- a/glow/src/settings.rs
+++ b/glow/src/settings.rs
@@ -1,10 +1,11 @@
//! Configure a renderer.
pub use iced_graphics::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 bytes of the font that will be used by default.
///
@@ -13,6 +14,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 {
@@ -20,6 +24,7 @@ impl Default for Settings {
Settings {
default_font: None,
antialiasing: None,
+ background_color: Color::WHITE,
}
}
}
diff --git a/glow/src/window/compositor.rs b/glow/src/window/compositor.rs
index 2f504ff7..c93191b0 100644
--- a/glow/src/window/compositor.rs
+++ b/glow/src/window/compositor.rs
@@ -21,7 +21,12 @@ impl iced_graphics::window::GLCompositor for Compositor {
) -> (Self, Self::Renderer) {
let gl = glow::Context::from_loader_function(loader_function);
- gl.clear_color(1.0, 1.0, 1.0, 1.0);
+ gl.clear_color(
+ settings.background_color.r,
+ settings.background_color.g,
+ settings.background_color.b,
+ settings.background_color.a,
+ );
// Enable auto-conversion from/to sRGB
gl.enable(glow::FRAMEBUFFER_SRGB);