sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit d65d001aa55c71f67a35c8ce78d3cb3f7f5fd65e
parent 6b9b03f09ffae8c8a9d7150d1ec68845c9e0ebf0
Author: emersion <contact@emersion.fr>
Date:   Thu,  5 Apr 2018 18:38:50 -0400

Fix desktop_damage_whole_surface

Diffstat:
Minclude/sway/output.h | 7+++++--
Msway/desktop/desktop.c | 5++---
Msway/desktop/output.c | 10++++++++--
Msway/tree/container.c | 4+---
4 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/include/sway/output.h b/include/sway/output.h @@ -34,11 +34,14 @@ struct sway_output { void output_damage_whole(struct sway_output *output); +void output_damage_whole_surface(struct sway_output *output, + double ox, double oy, struct wlr_surface *surface); + void output_damage_whole_view(struct sway_output *output, struct sway_view *view); -void output_damage_whole_rect(struct sway_output *output, double ox, double oy, - int width, int height); +void output_damage_whole_container(struct sway_output *output, + struct sway_container *con); struct sway_container *output_by_name(const char *name); diff --git a/sway/desktop/desktop.c b/sway/desktop/desktop.c @@ -7,9 +7,8 @@ void desktop_damage_whole_surface(struct wlr_surface *surface, double lx, for (int i = 0; i < root_container.children->length; ++i) { struct sway_container *cont = root_container.children->items[i]; if (cont->type == C_OUTPUT) { - output_damage_whole_rect(cont->sway_output, - lx - cont->x, ly - cont->y, - surface->current->width, surface->current->height); + output_damage_whole_surface(cont->sway_output, + lx - cont->x, ly - cont->y, surface); } } } diff --git a/sway/desktop/output.c b/sway/desktop/output.c @@ -335,14 +335,20 @@ void output_damage_whole(struct sway_output *output) { wlr_output_damage_add_whole(output->damage); } +void output_damage_whole_surface(struct sway_output *output, + double ox, double oy, struct wlr_surface *surface) { + // TODO + output_damage_whole(output); +} + void output_damage_whole_view(struct sway_output *output, struct sway_view *view) { // TODO output_damage_whole(output); } -void output_damage_whole_rect(struct sway_output *output, - double ox, double oy, int width, int height) { +void output_damage_whole_container(struct sway_output *output, + struct sway_container *con) { // TODO output_damage_whole(output); } diff --git a/sway/tree/container.c b/sway/tree/container.c @@ -523,7 +523,5 @@ void container_damage_whole(struct sway_container *con) { if (output->type != C_OUTPUT) { output = container_parent(output, C_OUTPUT); } - - output_damage_whole_rect(output->sway_output, con->x, con->y, con->width, - con->height); + output_damage_whole_container(output->sway_output, con); }