widget: Add private get_border_allocation

This commit is contained in:
Timm Bäder 2017-05-05 12:54:24 +02:00 committed by Matthias Clasen
parent 5e3b866370
commit ff6db012d9
2 changed files with 24 additions and 0 deletions

View File

@ -13669,6 +13669,28 @@ gtk_widget_get_content_allocation (GtkWidget *widget,
margin.bottom + border.bottom + padding.bottom;
}
void
gtk_widget_get_border_allocation (GtkWidget *widget,
GtkAllocation *allocation)
{
GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
GtkBorder margin, border;
GtkCssStyle *style;
style = gtk_css_node_get_style (priv->cssnode);
get_box_margin (style, &margin);
get_box_border (style, &border);
*allocation = priv->allocation;
allocation->x += margin.left + border.left;
allocation->y += margin.top + border.top;
allocation->width -= margin.left + border.left +
margin.right + border.right;
allocation->height -= margin.top + border.top +
margin.bottom + border.bottom;
}
/**
* gtk_widget_set_allocation:
* @widget: a #GtkWidget

View File

@ -320,6 +320,8 @@ gboolean gtk_widget_focus_move (GtkWidget *wi
GPtrArray *focus_order);
void gtk_widget_get_content_allocation (GtkWidget *widget,
GtkAllocation *allocation);
void gtk_widget_get_border_allocation (GtkWidget *widget,
GtkAllocation *allocation);
GtkWidget * gtk_widget_common_ancestor (GtkWidget *widget_a,
GtkWidget *widget_b);