diff options
author | Timm Bäder <mail@baedert.org> | 2020-12-21 08:30:51 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2020-12-21 10:26:03 +0100 |
commit | 2feac2772fe79aadd9e0811b7ff8d44c19a276a6 (patch) | |
tree | 4762882a842a8cd6a3fc90072080af417010eaa2 | |
parent | fdda4e4e99837107a1236547a696a1fc9e3ae6e4 (diff) | |
download | gtk+-2feac2772fe79aadd9e0811b7ff8d44c19a276a6.tar.gz |
layoutoverlay: Avoid adding 0 sized color nodes
This way, the output node file of the listbox demo in gtk4-demo with
enabled layout borders is only 3.8MB instead of 12MB.
-rw-r--r-- | gtk/inspector/layoutoverlay.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/gtk/inspector/layoutoverlay.c b/gtk/inspector/layoutoverlay.c index 74f4084084..3924f03bb8 100644 --- a/gtk/inspector/layoutoverlay.c +++ b/gtk/inspector/layoutoverlay.c @@ -65,9 +65,9 @@ static void recurse_child_widgets (GtkWidget *widget, GtkSnapshot *snapshot) { - gboolean needs_clip; int width = gtk_widget_get_width (widget); int height = gtk_widget_get_height (widget); + gboolean needs_clip; GtkCssStyle *style; GtkWidget *child; GtkBorder boxes[4]; @@ -107,14 +107,18 @@ recurse_child_widgets (GtkWidget *widget, const GdkRGBA *color = &colors[i]; const GtkBorder *box = &boxes[i]; - gtk_snapshot_append_color (snapshot, color, - &GRAPHENE_RECT_INIT ( 0, - box->top, width, box->top)); - gtk_snapshot_append_color (snapshot, color, - &GRAPHENE_RECT_INIT (width, 0, box->right, height)); - gtk_snapshot_append_color (snapshot, color, - &GRAPHENE_RECT_INIT (0, height, width, box->bottom)); - gtk_snapshot_append_color (snapshot, color, - &GRAPHENE_RECT_INIT (- box->left, 0, box->left, height)); + if (box->top > 0) + gtk_snapshot_append_color (snapshot, color, + &GRAPHENE_RECT_INIT ( 0, - box->top, width, box->top)); + if (box->right > 0) + gtk_snapshot_append_color (snapshot, color, + &GRAPHENE_RECT_INIT (width, 0, box->right, height)); + if (box->bottom > 0) + gtk_snapshot_append_color (snapshot, color, + &GRAPHENE_RECT_INIT (0, height, width, box->bottom)); + if (box->left > 0) + gtk_snapshot_append_color (snapshot, color, + &GRAPHENE_RECT_INIT (- box->left, 0, box->left, height)); /* Grow box + offset */ width += box->left + box->right; |