widget: Add private gtk_widget_get_content_allocation

This commit is contained in:
Timm Bäder 2017-05-04 16:04:49 +02:00 committed by Matthias Clasen
parent 8db3478bf5
commit a1b3a26ba4
2 changed files with 27 additions and 0 deletions

View File

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

View File

@ -94,6 +94,8 @@ struct _GtkWidgetPrivate
guint halign : 4;
guint valign : 4;
guint clip_set : 1;
guint8 alpha;
guint8 user_alpha;
@ -316,6 +318,8 @@ void gtk_widget_focus_sort (GtkWidget *wi
gboolean gtk_widget_focus_move (GtkWidget *widget,
GtkDirectionType direction,
GPtrArray *focus_order);
void gtk_widget_get_content_allocation (GtkWidget *widget,
GtkAllocation *allocation);
GtkWidget * gtk_widget_common_ancestor (GtkWidget *widget_a,
GtkWidget *widget_b);