From a65d6a11cb82719a649110a8deaeb8f87e1c374b Mon Sep 17 00:00:00 2001
From: Greg V <greg@unrelenting.technology>
Date: Sun, 31 May 2020 16:53:57 +0300
Subject: Add custom window background/clear color (incl. transparency)
 support, fixes #272

wgpu would currently ignore the alpha: https://github.com/gfx-rs/wgpu/issues/687

glow (and naively patched wgpu) requires premultiplied alpha, so if you don't
multiply the RGB by the A right now, the semi-transparent color would be wrong
(too bright).

winit with_transparent doesn't seem necessary.
---
 glow/src/window/compositor.rs | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'glow/src/window')

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);
-- 
cgit