1 /* 2 * Copyright © 2014 Benjamin Otte <otte@gnome.org> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef __GTK_CSS_NODE_DECLARATION_PRIVATE_H__ 19 #define __GTK_CSS_NODE_DECLARATION_PRIVATE_H__ 20 21 #include "gtkcountingbloomfilterprivate.h" 22 #include "gtkcsstypesprivate.h" 23 #include "gtkenums.h" 24 25 G_BEGIN_DECLS 26 27 GtkCssNodeDeclaration * gtk_css_node_declaration_new (void); 28 GtkCssNodeDeclaration * gtk_css_node_declaration_ref (GtkCssNodeDeclaration *decl); 29 void gtk_css_node_declaration_unref (GtkCssNodeDeclaration *decl); 30 31 gboolean gtk_css_node_declaration_set_name (GtkCssNodeDeclaration **decl, 32 GQuark name); 33 GQuark gtk_css_node_declaration_get_name (const GtkCssNodeDeclaration *decl); 34 gboolean gtk_css_node_declaration_set_id (GtkCssNodeDeclaration **decl, 35 GQuark id); 36 GQuark gtk_css_node_declaration_get_id (const GtkCssNodeDeclaration *decl); 37 gboolean gtk_css_node_declaration_set_state (GtkCssNodeDeclaration **decl, 38 GtkStateFlags flags); 39 GtkStateFlags gtk_css_node_declaration_get_state (const GtkCssNodeDeclaration *decl); 40 41 gboolean gtk_css_node_declaration_add_class (GtkCssNodeDeclaration **decl, 42 GQuark class_quark); 43 gboolean gtk_css_node_declaration_remove_class (GtkCssNodeDeclaration **decl, 44 GQuark class_quark); 45 gboolean gtk_css_node_declaration_clear_classes (GtkCssNodeDeclaration **decl); 46 gboolean gtk_css_node_declaration_has_class (const GtkCssNodeDeclaration *decl, 47 GQuark class_quark); 48 const GQuark * gtk_css_node_declaration_get_classes (const GtkCssNodeDeclaration *decl, 49 guint *n_classes); 50 51 void gtk_css_node_declaration_add_bloom_hashes (const GtkCssNodeDeclaration *decl, 52 GtkCountingBloomFilter *filter); 53 void gtk_css_node_declaration_remove_bloom_hashes (const GtkCssNodeDeclaration *decl, 54 GtkCountingBloomFilter *filter); 55 56 guint gtk_css_node_declaration_hash (gconstpointer elem); 57 gboolean gtk_css_node_declaration_equal (gconstpointer elem1, 58 gconstpointer elem2); 59 60 void gtk_css_node_declaration_print (const GtkCssNodeDeclaration *decl, 61 GString *string); 62 63 char * gtk_css_node_declaration_to_string (const GtkCssNodeDeclaration *decl); 64 65 G_END_DECLS 66 67 #endif /* __GTK_CSS_NODE_DECLARATION_PRIVATE_H__ */ 68