#include <wlr/util/box.h>
-bool box_contains(struct wlr_box *box_super, struct wlr_box *box_sub);
-
bool box_intersects(struct wlr_box *box_a, struct wlr_box *box_b);
/* Returns the bounding box of 2 boxes */
#include "common/box.h"
#include "common/macros.h"
-bool
-box_contains(struct wlr_box *box_super, struct wlr_box *box_sub)
-{
- if (wlr_box_empty(box_super) || wlr_box_empty(box_sub)) {
- return false;
- }
- return box_super->x <= box_sub->x
- && box_super->x + box_super->width >= box_sub->x + box_sub->width
- && box_super->y <= box_sub->y
- && box_super->y + box_super->height >= box_sub->y + box_sub->height;
-}
-
bool
box_intersects(struct wlr_box *box_a, struct wlr_box *box_b)
{
* top-left corner is not covered by other views,
* shift the candidate to bottom-right.
*/
- if (box_contains(&candidate, &other)
+ if (wlr_box_contains_box(&candidate, &other)
&& !wlr_box_contains_point(
&covered, other.x, other.y)) {
candidate.x = other.x + offset_x;
candidate.y = other.y + offset_y;
- if (!box_contains(&usable, &candidate)) {
+ if (!wlr_box_contains_box(&usable, &candidate)) {
/*
* If the candidate doesn't fit within
* the usable area, fall back to center