forked from AuroraMiddleware/gtk
eb4667b6e1
Rather than first collecting matches and then getting the change for them we do the change collection directly on the tree. This is about twice as fast.
63 lines
2.9 KiB
C
63 lines
2.9 KiB
C
/* GTK - The GIMP Toolkit
|
|
* Copyright (C) 2011 Benjamin Otte <otte@gnome.org>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __GTK_CSS_SELECTOR_PRIVATE_H__
|
|
#define __GTK_CSS_SELECTOR_PRIVATE_H__
|
|
|
|
#include "gtk/gtkcssmatcherprivate.h"
|
|
#include "gtk/gtkcssparserprivate.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
typedef struct _GtkCssSelector GtkCssSelector;
|
|
typedef struct _GtkCssSelectorTree GtkCssSelectorTree;
|
|
typedef struct _GtkCssSelectorTreeBuilder GtkCssSelectorTreeBuilder;
|
|
|
|
GtkCssSelector * _gtk_css_selector_parse (GtkCssParser *parser);
|
|
void _gtk_css_selector_free (GtkCssSelector *selector);
|
|
|
|
char * _gtk_css_selector_to_string (const GtkCssSelector *selector);
|
|
void _gtk_css_selector_print (const GtkCssSelector *selector,
|
|
GString *str);
|
|
|
|
gboolean _gtk_css_selector_matches (const GtkCssSelector *selector,
|
|
const GtkCssMatcher *matcher);
|
|
int _gtk_css_selector_compare (const GtkCssSelector *a,
|
|
const GtkCssSelector *b);
|
|
|
|
void _gtk_css_selector_tree_free (GtkCssSelectorTree *tree);
|
|
GPtrArray * _gtk_css_selector_tree_match_all (const GtkCssSelectorTree *tree,
|
|
const GtkCssMatcher *matcher);
|
|
GtkCssChange _gtk_css_selector_tree_get_change_all (const GtkCssSelectorTree *tree,
|
|
const GtkCssMatcher *matcher);
|
|
void _gtk_css_selector_tree_match_print (const GtkCssSelectorTree *tree,
|
|
GString *str);
|
|
GtkCssChange _gtk_css_selector_tree_match_get_change (const GtkCssSelectorTree *tree);
|
|
|
|
|
|
GtkCssSelectorTreeBuilder *_gtk_css_selector_tree_builder_new (void);
|
|
void _gtk_css_selector_tree_builder_add (GtkCssSelectorTreeBuilder *builder,
|
|
GtkCssSelector *selectors,
|
|
GtkCssSelectorTree **selector_match,
|
|
gpointer match);
|
|
GtkCssSelectorTree * _gtk_css_selector_tree_builder_build (GtkCssSelectorTreeBuilder *builder);
|
|
void _gtk_css_selector_tree_builder_free (GtkCssSelectorTreeBuilder *builder);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GTK_CSS_SELECTOR_PRIVATE_H__ */
|