Merge pull request #2067 from RedSoxFan/force-fully-opaque-fullscreen

Force fullscreen views to be fully opaque
This commit is contained in:
Drew DeVault 2018-05-28 14:04:30 -04:00 committed by GitHub
commit bdf2f4d1c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -307,11 +307,11 @@ static void premultiply_alpha(float color[4], float opacity) {
} }
static void render_view_surfaces(struct sway_view *view, static void render_view_surfaces(struct sway_view *view,
struct sway_output *output, pixman_region32_t *damage) { struct sway_output *output, pixman_region32_t *damage, float alpha) {
struct render_data data = { struct render_data data = {
.output = output, .output = output,
.damage = damage, .damage = damage,
.alpha = view->swayc->alpha, .alpha = alpha,
}; };
output_view_for_each_surface( output_view_for_each_surface(
view, &data.root_geo, render_surface_iterator, &data); view, &data.root_geo, render_surface_iterator, &data);
@ -323,7 +323,7 @@ static void render_view_surfaces(struct sway_view *view,
static void render_view(struct sway_output *output, pixman_region32_t *damage, static void render_view(struct sway_output *output, pixman_region32_t *damage,
struct sway_container *con, struct border_colors *colors) { struct sway_container *con, struct border_colors *colors) {
struct sway_view *view = con->sway_view; struct sway_view *view = con->sway_view;
render_view_surfaces(view, output, damage); render_view_surfaces(view, output, damage, view->swayc->alpha);
struct wlr_box box; struct wlr_box box;
float output_scale = output->wlr_output->scale; float output_scale = output->wlr_output->scale;
@ -810,7 +810,7 @@ static void render_output(struct sway_output *output, struct timespec *when,
// TODO: handle views smaller than the output // TODO: handle views smaller than the output
render_view_surfaces( render_view_surfaces(
workspace->sway_workspace->fullscreen, output, damage); workspace->sway_workspace->fullscreen, output, damage, 1.0f);
if (workspace->sway_workspace->fullscreen->type == SWAY_VIEW_XWAYLAND) { if (workspace->sway_workspace->fullscreen->type == SWAY_VIEW_XWAYLAND) {
render_unmanaged(output, damage, render_unmanaged(output, damage,