void output_update_all_usable_areas(struct server *server, bool layout_changed);
bool output_get_tearing_allowance(struct output *output);
struct wlr_box output_usable_area_in_layout_coords(struct output *output);
-struct wlr_box output_usable_area_scaled(struct output *output);
void handle_output_power_manager_set_mode(struct wl_listener *listener,
void *data);
void output_enable_adaptive_sync(struct output *output, bool enabled);
return box;
}
-struct wlr_box
-output_usable_area_scaled(struct output *output)
-{
- if (!output) {
- return (struct wlr_box){0};
- }
- struct wlr_box usable = output_usable_area_in_layout_coords(output);
- if (usable.height == output->wlr_output->height
- && output->wlr_output->scale != 1) {
- usable.height /= output->wlr_output->scale;
- }
- if (usable.width == output->wlr_output->width
- && output->wlr_output->scale != 1) {
- usable.width /= output->wlr_output->scale;
- }
- return usable;
-}
-
void
handle_output_power_manager_set_mode(struct wl_listener *listener, void *data)
{
view_get_edge_snap_box(struct view *view, struct output *output,
enum view_edge edge)
{
- struct wlr_box usable = output_usable_area_scaled(output);
+ struct wlr_box usable = output_usable_area_in_layout_coords(output);
int x_offset = edge == VIEW_EDGE_RIGHT
? (usable.width + rc.gap) / 2 : rc.gap;
int y_offset = edge == VIEW_EDGE_DOWN