|
|
|
@ -59,48 +59,48 @@ void wlr_output_layout_destroy(struct wlr_output_layout *layout);
|
|
|
|
|
* matches.
|
|
|
|
|
*/
|
|
|
|
|
struct wlr_output_layout_output *wlr_output_layout_get(
|
|
|
|
|
struct wlr_output_layout *layout, struct wlr_output *reference);
|
|
|
|
|
struct wlr_output_layout *layout, struct wlr_output *reference);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the output at the specified layout coordinates. Returns NULL if no
|
|
|
|
|
* output matches the coordinates.
|
|
|
|
|
*/
|
|
|
|
|
struct wlr_output *wlr_output_layout_output_at(struct wlr_output_layout *layout,
|
|
|
|
|
double lx, double ly);
|
|
|
|
|
struct wlr_output *wlr_output_layout_output_at(
|
|
|
|
|
struct wlr_output_layout *layout, double lx, double ly);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Add the output to the layout at the specified coordinates. If the output is
|
|
|
|
|
* already part of the output layout, this moves the output.
|
|
|
|
|
*/
|
|
|
|
|
void wlr_output_layout_add(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *output, int lx, int ly);
|
|
|
|
|
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);
|
|
|
|
|
struct wlr_output *output, int lx, int ly);
|
|
|
|
|
|
|
|
|
|
void wlr_output_layout_remove(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *output);
|
|
|
|
|
struct wlr_output *output);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Given x and y in layout coordinates, adjusts them to local output
|
|
|
|
|
* coordinates relative to the given reference output.
|
|
|
|
|
*/
|
|
|
|
|
void wlr_output_layout_output_coords(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *reference, double *lx, double *ly);
|
|
|
|
|
struct wlr_output *reference, double *lx, double *ly);
|
|
|
|
|
|
|
|
|
|
bool wlr_output_layout_contains_point(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *reference, int lx, int ly);
|
|
|
|
|
struct wlr_output *reference, int lx, int ly);
|
|
|
|
|
|
|
|
|
|
bool wlr_output_layout_intersects(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *reference, const struct wlr_box *target_lbox);
|
|
|
|
|
struct wlr_output *reference, const struct wlr_box *target_lbox);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *reference, double lx, double ly, double *dest_lx,
|
|
|
|
|
double *dest_ly);
|
|
|
|
|
struct wlr_output *reference, double lx, double ly,
|
|
|
|
|
double *dest_lx, double *dest_ly);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the box of the layout for the given reference output in layout
|
|
|
|
@ -108,7 +108,7 @@ void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
|
|
|
|
|
* entire layout. If the output isn't in the layout, the box will be empty.
|
|
|
|
|
*/
|
|
|
|
|
void wlr_output_layout_get_box(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *reference, struct wlr_box *dest_box);
|
|
|
|
|
struct wlr_output *reference, struct wlr_box *dest_box);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Add an auto configured output to the layout. This will place the output in a
|
|
|
|
@ -119,13 +119,13 @@ void wlr_output_layout_get_box(struct wlr_output_layout *layout,
|
|
|
|
|
* configured.
|
|
|
|
|
*/
|
|
|
|
|
void wlr_output_layout_add_auto(struct wlr_output_layout *layout,
|
|
|
|
|
struct wlr_output *output);
|
|
|
|
|
struct wlr_output *output);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the output closest to the center of the layout extents.
|
|
|
|
|
*/
|
|
|
|
|
struct wlr_output *wlr_output_layout_get_center_output(
|
|
|
|
|
struct wlr_output_layout *layout);
|
|
|
|
|
struct wlr_output_layout *layout);
|
|
|
|
|
|
|
|
|
|
enum wlr_direction {
|
|
|
|
|
WLR_DIRECTION_UP = 1 << 0,
|
|
|
|
@ -139,10 +139,10 @@ enum wlr_direction {
|
|
|
|
|
* point in the given direction.
|
|
|
|
|
*/
|
|
|
|
|
struct wlr_output *wlr_output_layout_adjacent_output(
|
|
|
|
|
struct wlr_output_layout *layout, enum wlr_direction direction,
|
|
|
|
|
struct wlr_output *reference, double ref_lx, double ref_ly);
|
|
|
|
|
struct wlr_output_layout *layout, enum wlr_direction direction,
|
|
|
|
|
struct wlr_output *reference, double ref_lx, double ref_ly);
|
|
|
|
|
struct wlr_output *wlr_output_layout_farthest_output(
|
|
|
|
|
struct wlr_output_layout *layout, enum wlr_direction direction,
|
|
|
|
|
struct wlr_output *reference, double ref_lx, double ref_ly);
|
|
|
|
|
struct wlr_output_layout *layout, enum wlr_direction direction,
|
|
|
|
|
struct wlr_output *reference, double ref_lx, double ref_ly);
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|