}
static const GtkCssMatcherClass GTK_CSS_MATCHER_WIDGET_PATH = {
+ GTK_CSS_MATCHER_TYPE_WIDGET_PATH,
gtk_css_matcher_widget_path_get_parent,
gtk_css_matcher_widget_path_get_previous,
gtk_css_matcher_widget_path_get_state,
gtk_css_matcher_widget_path_has_name,
gtk_css_matcher_widget_path_has_class,
gtk_css_matcher_widget_path_has_id,
- gtk_css_matcher_widget_path_has_position,
- FALSE
+ gtk_css_matcher_widget_path_has_position
};
gboolean
}
static const GtkCssMatcherClass GTK_CSS_MATCHER_NODE = {
+ GTK_CSS_MATCHER_TYPE_NODE,
gtk_css_matcher_node_get_parent,
gtk_css_matcher_node_get_previous,
gtk_css_matcher_node_get_state,
gtk_css_matcher_node_has_name,
gtk_css_matcher_node_has_class,
gtk_css_matcher_node_has_id,
- gtk_css_matcher_node_has_position,
- FALSE
+ gtk_css_matcher_node_has_position
};
void
}
static const GtkCssMatcherClass GTK_CSS_MATCHER_ANY = {
+ GTK_CSS_MATCHER_TYPE_ANY,
gtk_css_matcher_any_get_parent,
gtk_css_matcher_any_get_previous,
gtk_css_matcher_any_get_state,
gtk_css_matcher_any_has_name,
gtk_css_matcher_any_has_class,
gtk_css_matcher_any_has_id,
- gtk_css_matcher_any_has_position,
- TRUE
+ gtk_css_matcher_any_has_position
};
void
}
static const GtkCssMatcherClass GTK_CSS_MATCHER_SUPERSET = {
+ GTK_CSS_MATCHER_TYPE_SUPERSET,
gtk_css_matcher_superset_get_parent,
gtk_css_matcher_superset_get_previous,
gtk_css_matcher_superset_get_state,
gtk_css_matcher_superset_has_name,
gtk_css_matcher_superset_has_class,
gtk_css_matcher_superset_has_id,
- gtk_css_matcher_superset_has_position,
- FALSE
+ gtk_css_matcher_superset_has_position
};
void
typedef struct _GtkCssMatcherWidgetPath GtkCssMatcherWidgetPath;
typedef struct _GtkCssMatcherClass GtkCssMatcherClass;
+typedef enum {
+ GTK_CSS_MATCHER_TYPE_NODE,
+ GTK_CSS_MATCHER_TYPE_WIDGET_PATH,
+ GTK_CSS_MATCHER_TYPE_ANY,
+ GTK_CSS_MATCHER_TYPE_SUPERSET
+} GtkCssMatcherType;
+
struct _GtkCssMatcherClass {
+ GtkCssMatcherType type;
gboolean (* get_parent) (GtkCssMatcher *matcher,
const GtkCssMatcher *child);
gboolean (* get_previous) (GtkCssMatcher *matcher,
gboolean forward,
int a,
int b);
- gboolean is_any;
};
struct _GtkCssMatcherWidgetPath {
static inline gboolean
_gtk_css_matcher_matches_any (const GtkCssMatcher *matcher)
{
- return matcher->klass->is_any;
+ return matcher->klass->type == GTK_CSS_MATCHER_TYPE_ANY;
}