diff options
author | emersion <contact@emersion.fr> | 2018-04-06 11:27:40 -0400 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-04-06 11:45:40 -0400 |
commit | 516f5454adb3fc7dd2e02258251b7cb6d6949aa3 (patch) | |
tree | 22c6bdfa1f79224daca6403162d24acdf611a6f9 /sway/desktop/xwayland.c | |
parent | Merge pull request #1755 from emersion/view-child-hidpi (diff) | |
download | sway-516f5454adb3fc7dd2e02258251b7cb6d6949aa3.tar.gz sway-516f5454adb3fc7dd2e02258251b7cb6d6949aa3.tar.zst sway-516f5454adb3fc7dd2e02258251b7cb6d6949aa3.zip |
Simplify damage tracking functions, use them in layer shell
Diffstat (limited to 'sway/desktop/xwayland.c')
-rw-r--r-- | sway/desktop/xwayland.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 10bfcc89..6de1365d 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -32,15 +32,15 @@ static void unmanaged_handle_commit(struct wl_listener *listener, void *data) { | |||
32 | 32 | ||
33 | if (xsurface->x != surface->lx || xsurface->y != surface->ly) { | 33 | if (xsurface->x != surface->lx || xsurface->y != surface->ly) { |
34 | // Surface has moved | 34 | // Surface has moved |
35 | desktop_damage_whole_surface(xsurface->surface, | 35 | desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, |
36 | surface->lx, surface->ly); | 36 | true); |
37 | surface->lx = xsurface->x; | 37 | surface->lx = xsurface->x; |
38 | surface->ly = xsurface->y; | 38 | surface->ly = xsurface->y; |
39 | desktop_damage_whole_surface(xsurface->surface, | 39 | desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, |
40 | surface->lx, surface->ly); | 40 | true); |
41 | } else { | 41 | } else { |
42 | desktop_damage_from_surface(xsurface->surface, | 42 | desktop_damage_surface(xsurface->surface, xsurface->x, xsurface->y, |
43 | xsurface->x, xsurface->y); | 43 | false); |
44 | } | 44 | } |
45 | } | 45 | } |
46 | 46 | ||
@@ -57,7 +57,7 @@ static void unmanaged_handle_map(struct wl_listener *listener, void *data) { | |||
57 | 57 | ||
58 | surface->lx = xsurface->x; | 58 | surface->lx = xsurface->x; |
59 | surface->ly = xsurface->y; | 59 | surface->ly = xsurface->y; |
60 | desktop_damage_whole_surface(xsurface->surface, surface->lx, surface->ly); | 60 | desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, true); |
61 | 61 | ||
62 | // TODO: we don't send surface enter/leave events to xwayland unmanaged | 62 | // TODO: we don't send surface enter/leave events to xwayland unmanaged |
63 | // surfaces, but xwayland doesn't support HiDPI anyway | 63 | // surfaces, but xwayland doesn't support HiDPI anyway |
@@ -67,7 +67,7 @@ static void unmanaged_handle_unmap(struct wl_listener *listener, void *data) { | |||
67 | struct sway_xwayland_unmanaged *surface = | 67 | struct sway_xwayland_unmanaged *surface = |
68 | wl_container_of(listener, surface, unmap); | 68 | wl_container_of(listener, surface, unmap); |
69 | struct wlr_xwayland_surface *xsurface = surface->wlr_xwayland_surface; | 69 | struct wlr_xwayland_surface *xsurface = surface->wlr_xwayland_surface; |
70 | desktop_damage_whole_surface(xsurface->surface, xsurface->x, xsurface->y); | 70 | desktop_damage_surface(xsurface->surface, xsurface->x, xsurface->y, true); |
71 | wl_list_remove(&surface->link); | 71 | wl_list_remove(&surface->link); |
72 | wl_list_remove(&surface->commit.link); | 72 | wl_list_remove(&surface->commit.link); |
73 | } | 73 | } |
@@ -209,7 +209,7 @@ static void handle_commit(struct wl_listener *listener, void *data) { | |||
209 | // TODO: Let floating views do whatever | 209 | // TODO: Let floating views do whatever |
210 | view_update_size(view, xwayland_view->pending_width, | 210 | view_update_size(view, xwayland_view->pending_width, |
211 | xwayland_view->pending_height); | 211 | xwayland_view->pending_height); |
212 | view_damage_from(view); | 212 | view_damage(view, false); |
213 | } | 213 | } |
214 | 214 | ||
215 | static void handle_unmap(struct wl_listener *listener, void *data) { | 215 | static void handle_unmap(struct wl_listener *listener, void *data) { |