aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/output.h8
-rw-r--r--include/sway/tree/container.h11
-rw-r--r--include/sway/tree/view.h11
3 files changed, 9 insertions, 21 deletions
diff --git a/include/sway/output.h b/include/sway/output.h
index 80dcd37b..6283db68 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -67,18 +67,10 @@ struct sway_container *output_get_active_workspace(struct sway_output *output);
void output_render(struct sway_output *output, struct timespec *when,
pixman_region32_t *damage);
-void output_surface_for_each_surface(struct sway_output *output,
- struct wlr_surface *surface, double ox, double oy,
- sway_surface_iterator_func_t iterator, void *user_data);
-
void output_view_for_each_surface(struct sway_output *output,
struct sway_view *view, sway_surface_iterator_func_t iterator,
void *user_data);
-void output_view_for_each_popup(struct sway_output *output,
- struct sway_view *view, sway_surface_iterator_func_t iterator,
- void *user_data);
-
void output_layer_for_each_surface(struct sway_output *output,
struct wl_list *layer_surfaces, sway_surface_iterator_func_t iterator,
void *user_data);
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 12ff8a5a..d4a42a71 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -230,11 +230,18 @@ struct sway_container *container_parent(struct sway_container *container,
* surface-local coordinates of the given layout coordinates if the container
* is a view and the view contains a surface at those coordinates.
*/
-struct sway_container *container_at(struct sway_container *workspace,
- double lx, double ly, struct wlr_surface **surface,
+struct sway_container *container_at(struct sway_container *container,
+ double ox, double oy, struct wlr_surface **surface,
double *sx, double *sy);
/**
+ * Same as container_at, but only checks floating views and expects coordinates
+ * to be layout coordinates, as that's what floating views use.
+ */
+struct sway_container *floating_container_at(double lx, double ly,
+ struct wlr_surface **surface, double *sx, double *sy);
+
+/**
* Apply the function for each descendant of the container breadth first.
*/
void container_for_each_descendant_bfs(struct sway_container *container,
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 37fd02bc..6d8c3e6c 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -47,8 +47,6 @@ struct sway_view_impl {
bool (*has_client_side_decorations)(struct sway_view *view);
void (*for_each_surface)(struct sway_view *view,
wlr_surface_iterator_func_t iterator, void *user_data);
- void (*for_each_popup)(struct sway_view *view,
- wlr_surface_iterator_func_t iterator, void *user_data);
void (*close)(struct sway_view *view);
void (*close_popups)(struct sway_view *view);
void (*destroy)(struct sway_view *view);
@@ -256,18 +254,9 @@ void view_close_popups(struct sway_view *view);
void view_damage_from(struct sway_view *view);
-/**
- * Iterate all surfaces of a view (toplevels + popups).
- */
void view_for_each_surface(struct sway_view *view,
wlr_surface_iterator_func_t iterator, void *user_data);
-/**
- * Iterate all popups recursively.
- */
-void view_for_each_popup(struct sway_view *view,
- wlr_surface_iterator_func_t iterator, void *user_data);
-
// view implementation
void view_init(struct sway_view *view, enum sway_view_type type,