mirror of
https://github.com/brl/mutter.git
synced 2024-11-22 16:10:41 -05:00
window: Add meta_window_get_client_area_rect
This commit is contained in:
parent
682d6f9ee2
commit
ad43cbd70b
@ -2084,21 +2084,12 @@ static void
|
|||||||
check_needs_reshape (MetaWindowActor *self)
|
check_needs_reshape (MetaWindowActor *self)
|
||||||
{
|
{
|
||||||
MetaWindowActorPrivate *priv = self->priv;
|
MetaWindowActorPrivate *priv = self->priv;
|
||||||
MetaFrameBorders borders;
|
|
||||||
cairo_rectangle_int_t client_area;
|
cairo_rectangle_int_t client_area;
|
||||||
|
|
||||||
if (!priv->needs_reshape)
|
if (!priv->needs_reshape)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
meta_frame_calc_borders (priv->window->frame, &borders);
|
meta_window_get_client_area_rect (window, &client_area);
|
||||||
|
|
||||||
client_area.x = borders.total.left;
|
|
||||||
client_area.y = borders.total.top;
|
|
||||||
client_area.width = priv->window->rect.width;
|
|
||||||
if (priv->window->shaded)
|
|
||||||
client_area.height = 0;
|
|
||||||
else
|
|
||||||
client_area.height = priv->window->rect.height;
|
|
||||||
|
|
||||||
meta_window_actor_update_shape_region (self, &client_area);
|
meta_window_actor_update_shape_region (self, &client_area);
|
||||||
meta_window_actor_update_input_region (self, &client_area);
|
meta_window_actor_update_input_region (self, &client_area);
|
||||||
|
@ -698,4 +698,7 @@ void meta_window_set_opacity (MetaWindow *window,
|
|||||||
|
|
||||||
Window meta_window_get_toplevel_xwindow (MetaWindow *window);
|
Window meta_window_get_toplevel_xwindow (MetaWindow *window);
|
||||||
|
|
||||||
|
void meta_window_get_client_area_rect (const MetaWindow *window,
|
||||||
|
cairo_rectangle_int_t *rect);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -5832,6 +5832,37 @@ meta_window_get_outer_rect (const MetaWindow *window,
|
|||||||
meta_window_get_frame_rect (window, rect);
|
meta_window_get_frame_rect (window, rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_window_get_client_area_rect:
|
||||||
|
* @window: a #MetaWindow
|
||||||
|
* @rect: (out): pointer to a cairo rectangle
|
||||||
|
*
|
||||||
|
* Gets the rectangle for the boundaries of the client area, relative
|
||||||
|
* to the frame. If the window is shaded, the height of the rectangle
|
||||||
|
* is 0.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
meta_window_get_client_area_rect (const MetaWindow *window,
|
||||||
|
cairo_rectangle_int_t *rect)
|
||||||
|
{
|
||||||
|
if (window->frame)
|
||||||
|
{
|
||||||
|
rect->x = window->frame->child_x;
|
||||||
|
rect->y = window->frame->child_y;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rect->x = 0;
|
||||||
|
rect->y = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
rect->width = window->rect.width;
|
||||||
|
if (window->shaded)
|
||||||
|
rect->height = window->rect.height;
|
||||||
|
else
|
||||||
|
rect->height = 0;
|
||||||
|
}
|
||||||
|
|
||||||
const char*
|
const char*
|
||||||
meta_window_get_startup_id (MetaWindow *window)
|
meta_window_get_startup_id (MetaWindow *window)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user