mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 04:45:58 +01:00
output-layout: improve closest point for no outputs case
Without outputs, all points are equally invalid anyway, but for e.g. cursor warping it makes more sense to preserve the original position.
This commit is contained in:
parent
377668aaf6
commit
843b874f22
2 changed files with 2 additions and 1 deletions
|
@ -120,6 +120,7 @@ bool wlr_output_layout_intersects(struct wlr_output_layout *layout,
|
||||||
/**
|
/**
|
||||||
* Get the closest point on this layout from the given point from the reference
|
* Get the closest point on this layout from the given point from the reference
|
||||||
* output. If reference is NULL, gets the closest point from the entire layout.
|
* output. If reference is NULL, gets the closest point from the entire layout.
|
||||||
|
* If the layout is empty, the result is the given point itself.
|
||||||
*/
|
*/
|
||||||
void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
|
void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
|
||||||
struct wlr_output *reference, double lx, double ly,
|
struct wlr_output *reference, double lx, double ly,
|
||||||
|
|
|
@ -302,7 +302,7 @@ void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
double min_x = 0, min_y = 0, min_distance = DBL_MAX;
|
double min_x = lx, min_y = ly, min_distance = DBL_MAX;
|
||||||
struct wlr_output_layout_output *l_output;
|
struct wlr_output_layout_output *l_output;
|
||||||
wl_list_for_each(l_output, &layout->outputs, link) {
|
wl_list_for_each(l_output, &layout->outputs, link) {
|
||||||
if (reference != NULL && reference != l_output->output) {
|
if (reference != NULL && reference != l_output->output) {
|
||||||
|
|
Loading…
Reference in a new issue