[gtk+/wip/baedert/progressbar: 8/14] grid: Compute clip directly
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/baedert/progressbar: 8/14] grid: Compute clip directly
- Date: Tue, 25 Apr 2017 11:08:53 +0000 (UTC)
commit 3fe03d80a7e154fba03e3d72d675dca176344163
Author: Timm Bäder <mail baedert org>
Date: Mon Apr 24 18:23:53 2017 +0200
grid: Compute clip directly
Instead of iterating over the children again in
gtk_container_get_children_clip
gtk/gtkgrid.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c
index 7b794b1..e1a9446 100644
--- a/gtk/gtkgrid.c
+++ b/gtk/gtkgrid.c
@@ -1572,12 +1572,14 @@ allocate_child (GtkGridRequest *request,
static void
gtk_grid_request_allocate_children (GtkGridRequest *request,
- const GtkAllocation *allocation)
+ const GtkAllocation *allocation,
+ GtkAllocation *out_clip)
{
GtkGridPrivate *priv = request->grid->priv;
GList *list;
GtkGridChild *child;
GtkAllocation child_allocation;
+ GtkAllocation child_clip;
gint x, y, width, height, baseline, ignore;
for (list = priv->children; list; list = list->next)
@@ -1600,6 +1602,8 @@ gtk_grid_request_allocate_children (GtkGridRequest *request,
- (child_allocation.x - allocation->x) - child_allocation.width;
gtk_widget_size_allocate_with_baseline (child->widget, &child_allocation, baseline);
+ gtk_widget_get_clip (child->widget, &child_clip);
+ gdk_rectangle_union (out_clip, out_clip, &child_clip);
}
}
@@ -1662,9 +1666,8 @@ gtk_grid_allocate (GtkCssGadget *gadget,
gtk_grid_request_position (&request, 0);
gtk_grid_request_position (&request, 1);
- gtk_grid_request_allocate_children (&request, allocation);
-
- gtk_container_get_children_clip (GTK_CONTAINER (grid), out_clip);
+ *out_clip = *allocation;
+ gtk_grid_request_allocate_children (&request, allocation, out_clip);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]