summaryrefslogtreecommitdiff
path: root/sway/desktop/desktop.c
diff options
context:
space:
mode:
authoremersion <[email protected]>2018-04-05 17:37:24 -0400
committeremersion <[email protected]>2018-04-05 17:39:17 -0400
commit1c91d0c10ffbed14cafaba79276a14f55172b7eb (patch)
treecd4e9e420f6765d6643a41528367fcddef13453e /sway/desktop/desktop.c
parent07f3bb3ad126e48247207126b977688a77e03928 (diff)
Add damage tracking for xwayland unmanaged surfaces
Diffstat (limited to 'sway/desktop/desktop.c')
-rw-r--r--sway/desktop/desktop.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sway/desktop/desktop.c b/sway/desktop/desktop.c
new file mode 100644
index 00000000..78a2d49f
--- /dev/null
+++ b/sway/desktop/desktop.c
@@ -0,0 +1,20 @@
+#include "sway/tree/container.h"
+#include "sway/desktop.h"
+#include "sway/output.h"
+
+void desktop_damage_whole_surface(struct wlr_surface *surface, double lx,
+ double ly) {
+ 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_surface(cont->sway_output, surface,
+ lx - cont->x, ly - cont->y);
+ }
+ }
+}
+
+void desktop_damage_from_surface(struct wlr_surface *surface, double lx,
+ double ly) {
+ // TODO
+ desktop_damage_whole_surface(surface, lx, ly);
+}