diff options
author | Kirill Primak <vyivel@eclair.cafe> | 2022-08-30 19:05:38 +0300 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-12-05 18:21:04 +0000 |
commit | 097ea84cda70a71ad8ea5940b3b3d277167424e5 (patch) | |
tree | 6ef4fa33e506103aceff93e570f871bdc9217e0c /include/wlr | |
parent | 27ea18cc33c41be7a59dcd71e926345f56ca646e (diff) |
output-layout: improve API
- wlr_output_layout_add{,_auto}() now return a bool indicating whether
the function has succeeded.
- wlr_output_layout_move() is removed.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1083
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_output_layout.h | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/include/wlr/types/wlr_output_layout.h b/include/wlr/types/wlr_output_layout.h index 89066ae8..7d567579 100644 --- a/include/wlr/types/wlr_output_layout.h +++ b/include/wlr/types/wlr_output_layout.h @@ -28,7 +28,7 @@ struct wlr_output_layout { struct wl_list outputs; struct { - struct wl_signal add; + struct wl_signal add; // struct wlr_output_layout_output * struct wl_signal change; struct wl_signal destroy; } events; @@ -77,14 +77,30 @@ struct wlr_output *wlr_output_layout_output_at( /** * Add the output to the layout at the specified coordinates. If the output is - * already part of the output layout, this moves the output. + * already a part of the output layout, it will become manually configured and + * will be moved to the specified coordinates. + * + * Returns true on success, false on a memory allocation error. */ -void wlr_output_layout_add(struct wlr_output_layout *layout, +bool wlr_output_layout_add(struct wlr_output_layout *layout, struct wlr_output *output, int lx, int ly); -void wlr_output_layout_move(struct wlr_output_layout *layout, - struct wlr_output *output, int lx, int ly); +/** + * Add the output to the layout as automatically configured. This will place + * the output in a sensible location in the layout. The coordinates of + * the output in the layout will be adjusted dynamically when the layout + * changes. If the output is already a part of the layout, it will become + * automatically configured. + * + * Returns true on success, false on a memory allocation error. + */ +bool wlr_output_layout_add_auto(struct wlr_output_layout *layout, + struct wlr_output *output); +/** + * Remove the output from the layout. If the output is already not a part of + * the layout, this function is a no-op. + */ void wlr_output_layout_remove(struct wlr_output_layout *layout, struct wlr_output *output); @@ -118,17 +134,6 @@ void wlr_output_layout_get_box(struct wlr_output_layout *layout, struct wlr_output *reference, struct wlr_box *dest_box); /** -* Add an auto configured output to the layout. This will place the output in a -* sensible location in the layout. The coordinates of the output in the layout -* may adjust dynamically when the layout changes. If the output is already in -* the layout, it will become auto configured. If the position of the output is -* set such as with wlr_output_layout_move(), the output will become manually -* configured. -*/ -void wlr_output_layout_add_auto(struct wlr_output_layout *layout, - struct wlr_output *output); - -/** * Get the output closest to the center of the layout extents. */ struct wlr_output *wlr_output_layout_get_center_output( |