Add shell.background-color.rgba to prefs (#30488)

* Add shell.transparent-background.enabled to prefs

* Rename config to background_color

* Rename to background-color and.rgba add PrefValue::Array variant
This commit is contained in:
Ngo Iok Ui (Wu Yu Wei) 2023-10-04 22:16:16 +09:00 committed by GitHub
parent ffac882f8f
commit 38a325cc1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 108 additions and 37 deletions

View file

@ -35,6 +35,7 @@ num-traits = { workspace = true }
pixels = { path = "../pixels", optional = true }
profile_traits = { path = "../profile_traits" }
script_traits = { path = "../script_traits" }
servo_config = { path = "../config" }
servo-media = { git = "https://github.com/servo/media" }
servo_geometry = { path = "../geometry" }
servo_url = { path = "../url" }

View file

@ -1873,7 +1873,7 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
self.assert_gl_framebuffer_complete();
}
// Make the viewport white.
// Set the viewport background based on prefs.
let viewport = self.embedder_coordinates.get_flipped_viewport();
gl.scissor(
viewport.origin.x,
@ -1881,7 +1881,14 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
viewport.size.width,
viewport.size.height,
);
gl.clear_color(1.0, 1.0, 1.0, 1.0);
let color = servo_config::pref!(shell.background_color.rgba);
gl.clear_color(
color[0] as f32,
color[1] as f32,
color[2] as f32,
color[3] as f32,
);
gl.enable(gleam::gl::SCISSOR_TEST);
gl.clear(gleam::gl::COLOR_BUFFER_BIT);
gl.disable(gleam::gl::SCISSOR_TEST);