window: Replace barely used macros with func equivalents
To avoid mostly going through struct fields in macros as we might soon move those first to a WindowConfiguration & maybe even make the window struct private with time. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4111>
This commit is contained in:
@ -2695,7 +2695,7 @@ ensure_size_hints_satisfied (MtkRectangle *rect,
|
||||
static void
|
||||
meta_window_save_rect (MetaWindow *window)
|
||||
{
|
||||
if (!(META_WINDOW_MAXIMIZED (window) || META_WINDOW_TILED_SIDE_BY_SIDE (window) || window->fullscreen))
|
||||
if (!(meta_window_is_maximized (window) || meta_window_is_tiled_side_by_side (window) || window->fullscreen))
|
||||
{
|
||||
/* save size/pos as appropriate args for move_resize */
|
||||
if (!window->maximized_horizontally)
|
||||
@ -2837,6 +2837,18 @@ meta_window_get_maximized (MetaWindow *window)
|
||||
(window->maximized_vertically ? META_MAXIMIZE_VERTICAL : 0));
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_window_is_maximized:
|
||||
* @window: a #MetaWindow
|
||||
*
|
||||
* Return value: %TRUE if the window is maximized vertically and horizontally.
|
||||
*/
|
||||
gboolean
|
||||
meta_window_is_maximized (MetaWindow *window)
|
||||
{
|
||||
return (window->maximized_horizontally && window->maximized_vertically);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_window_is_fullscreen:
|
||||
* @window: a #MetaWindow
|
||||
@ -2937,7 +2949,7 @@ meta_window_get_tile_fraction (MetaWindow *window,
|
||||
*fraction = 1.;
|
||||
else if (tile_match)
|
||||
*fraction = 1. - tile_match->tile_hfraction;
|
||||
else if (META_WINDOW_TILED_SIDE_BY_SIDE (window))
|
||||
else if (meta_window_is_tiled_side_by_side (window))
|
||||
{
|
||||
if (window->tile_mode != tile_mode)
|
||||
*fraction = 1. - window->tile_hfraction;
|
||||
@ -2957,7 +2969,7 @@ meta_window_update_tile_fraction (MetaWindow *window,
|
||||
MtkRectangle work_area;
|
||||
MetaWindowDrag *window_drag;
|
||||
|
||||
if (!META_WINDOW_TILED_SIDE_BY_SIDE (window))
|
||||
if (!meta_window_is_tiled_side_by_side (window))
|
||||
return;
|
||||
|
||||
meta_window_get_work_area_for_monitor (window,
|
||||
@ -3031,6 +3043,28 @@ update_edge_constraints (MetaWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_window_is_tiled_side_by_side (MetaWindow *window)
|
||||
{
|
||||
return window->maximized_vertically &&
|
||||
!window->maximized_horizontally &&
|
||||
window->tile_mode != META_TILE_NONE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_window_is_tiled_left (MetaWindow *window)
|
||||
{
|
||||
return window->tile_mode == META_TILE_LEFT &&
|
||||
meta_window_is_tiled_side_by_side (window);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_window_is_tiled_right (MetaWindow *window)
|
||||
{
|
||||
return window->tile_mode == META_TILE_RIGHT &&
|
||||
meta_window_is_tiled_side_by_side (window);
|
||||
}
|
||||
|
||||
void
|
||||
meta_window_untile (MetaWindow *window)
|
||||
{
|
||||
@ -4269,7 +4303,7 @@ adjust_size_for_tile_match (MetaWindow *window,
|
||||
MtkRectangle work_area, rect;
|
||||
MetaWindow *tile_match = window->tile_match;
|
||||
|
||||
if (!META_WINDOW_TILED_SIDE_BY_SIDE (window) || !tile_match)
|
||||
if (!meta_window_is_tiled_side_by_side (window) || !tile_match)
|
||||
return;
|
||||
|
||||
meta_window_get_work_area_for_monitor (window, window->tile_monitor_number, &work_area);
|
||||
@ -6077,7 +6111,7 @@ meta_window_get_default_layer (MetaWindow *window)
|
||||
{
|
||||
if (window->wm_state_below)
|
||||
return META_LAYER_BOTTOM;
|
||||
else if (window->wm_state_above && !META_WINDOW_MAXIMIZED (window))
|
||||
else if (window->wm_state_above && !meta_window_is_maximized (window))
|
||||
return META_LAYER_TOP;
|
||||
else if (window->type == META_WINDOW_DESKTOP)
|
||||
return META_LAYER_DESKTOP;
|
||||
@ -7476,13 +7510,22 @@ meta_window_is_above (MetaWindow *window)
|
||||
gboolean
|
||||
meta_window_allows_move (MetaWindow *window)
|
||||
{
|
||||
return META_WINDOW_ALLOWS_MOVE (window);
|
||||
return window->has_move_func && !meta_window_is_fullscreen (window);
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_window_allows_resize (MetaWindow *window)
|
||||
{
|
||||
return META_WINDOW_ALLOWS_RESIZE (window);
|
||||
gboolean allows_resize_except_hints, allows_resize;
|
||||
|
||||
allows_resize_except_hints = window->has_resize_func &&
|
||||
!meta_window_is_maximized (window) &&
|
||||
!meta_window_is_fullscreen (window);
|
||||
allows_resize = allows_resize_except_hints &&
|
||||
(window->size_hints.min_width < window->size_hints.max_width ||
|
||||
window->size_hints.min_height < window->size_hints.max_height);
|
||||
|
||||
return allows_resize;
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user