summaryrefslogtreecommitdiff
path: root/gtk/gtkcssnodeprivate.h
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-02-10 02:50:57 +0100
committerBenjamin Otte <otte@redhat.com>2015-03-18 15:23:31 +0100
commit2694545468cdcee127d2b17d9b01d51f2cd8ce6f (patch)
treee73f67bd9e12cd34f5a7ae5acc6ccf2f7f241887 /gtk/gtkcssnodeprivate.h
parentee91fb71ca5073d30bf7d4f651798d802f7bfa7f (diff)
downloadgtk+-2694545468cdcee127d2b17d9b01d51f2cd8ce6f.tar.gz
cssnode: Add visibility concept
This allows hiding nodes of invisible widgets. And that in turn makes sure :nth-child() works as expected.
Diffstat (limited to 'gtk/gtkcssnodeprivate.h')
-rw-r--r--gtk/gtkcssnodeprivate.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtkcssnodeprivate.h b/gtk/gtkcssnodeprivate.h
index 3c6abfdb23..ea082ba9ad 100644
--- a/gtk/gtkcssnodeprivate.h
+++ b/gtk/gtkcssnodeprivate.h
@@ -49,6 +49,7 @@ struct _GtkCssNode
GtkCssChange pending_changes; /* changes that accumulated since the style was last computed */
+ guint visible :1; /* node will be skipped when validating or computing styles */
guint invalid :1; /* node or a child needs to be validated (even if just for animation) */
guint children_changed :1; /* the children changed since last validation */
};
@@ -88,6 +89,10 @@ GtkCssNode * gtk_css_node_get_last_child (GtkCssNode *
GtkCssNode * gtk_css_node_get_previous_sibling(GtkCssNode *cssnode);
GtkCssNode * gtk_css_node_get_next_sibling (GtkCssNode *cssnode);
+void gtk_css_node_set_visible (GtkCssNode *cssnode,
+ gboolean visible);
+gboolean gtk_css_node_get_visible (GtkCssNode *cssnode);
+
void gtk_css_node_set_widget_type (GtkCssNode *cssnode,
GType widget_type);
GType gtk_css_node_get_widget_type (GtkCssNode *cssnode);