]> Pileus Git - ~andy/gtk/blob - gtk/gtkcsssection.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkcsssection.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2011 Red Hat, Inc.
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 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_SECTION_H__
19 #define __GTK_CSS_SECTION_H__
20
21 #include <gio/gio.h>
22 #include <gdk/gdk.h>
23
24 G_BEGIN_DECLS
25
26 #define GTK_TYPE_CSS_SECTION         (gtk_css_section_get_type ())
27
28 /**
29  * GtkCssSectionType:
30  * @GTK_CSS_SECTION_DOCUMENT: The section describes a complete document.
31  *   This section time is the only one where gtk_css_section_get_parent()
32  *   might return %NULL.
33  * @GTK_CSS_SECTION_IMPORT: The section defines an import rule.
34  * @GTK_CSS_SECTION_COLOR_DEFINITION: The section defines a color. This
35  *   is a GTK extension to CSS.
36  * @GTK_CSS_SECTION_BINDING_SET: The section defines a binding set. This
37  *   is a GTK extension to CSS.
38  * @GTK_CSS_SECTION_RULESET: The section defines a CSS ruleset.
39  * @GTK_CSS_SECTION_SELECTOR: The section defines a CSS selector.
40  * @GTK_CSS_SECTION_DECLARATION: The section defines the declaration of
41  *   a CSS variable.
42  * @GTK_CSS_SECTION_VALUE: The section defines the value of a CSS declaration.
43  * @GTK_CSS_SECTION_KEYFRAMES: The section defines keyframes. See <ulink
44  *   url="http://dev.w3.org/csswg/css3-animations/#keyframes">CSS
45  *   animations</ulink> for details. Since 3.6
46  *
47  * The different types of sections indicate parts of a CSS document as
48  * parsed by GTK's CSS parser. They are oriented towards the CSS grammar
49  * <ulink url="http://www.w3.org/TR/CSS21/grammar.html">CSS grammer</ulink>,
50  * but may contain extensions.
51  *
52  * More types might be added in the future as the parser incorporates
53  * more features.
54  *
55  * Since: 3.2
56  */
57 typedef enum
58 {
59   GTK_CSS_SECTION_DOCUMENT,
60   GTK_CSS_SECTION_IMPORT,
61   GTK_CSS_SECTION_COLOR_DEFINITION,
62   GTK_CSS_SECTION_BINDING_SET,
63   GTK_CSS_SECTION_RULESET,
64   GTK_CSS_SECTION_SELECTOR,
65   GTK_CSS_SECTION_DECLARATION,
66   GTK_CSS_SECTION_VALUE,
67   GTK_CSS_SECTION_KEYFRAMES
68 } GtkCssSectionType;
69
70 typedef struct _GtkCssSection GtkCssSection;
71
72 GDK_AVAILABLE_IN_3_2
73 GType              gtk_css_section_get_type            (void) G_GNUC_CONST;
74
75 GDK_AVAILABLE_IN_3_2
76 GtkCssSection *    gtk_css_section_ref                 (GtkCssSection        *section);
77 GDK_AVAILABLE_IN_3_2
78 void               gtk_css_section_unref               (GtkCssSection        *section);
79
80 GDK_AVAILABLE_IN_3_2
81 GtkCssSectionType  gtk_css_section_get_section_type    (const GtkCssSection  *section);
82 GDK_AVAILABLE_IN_3_2
83 GtkCssSection *    gtk_css_section_get_parent          (const GtkCssSection  *section);
84 GDK_AVAILABLE_IN_3_2
85 GFile *            gtk_css_section_get_file            (const GtkCssSection  *section);
86 GDK_AVAILABLE_IN_3_2
87 guint              gtk_css_section_get_start_line      (const GtkCssSection  *section);
88 GDK_AVAILABLE_IN_3_2
89 guint              gtk_css_section_get_start_position  (const GtkCssSection  *section);
90 GDK_AVAILABLE_IN_3_2
91 guint              gtk_css_section_get_end_line        (const GtkCssSection  *section);
92 GDK_AVAILABLE_IN_3_2
93 guint              gtk_css_section_get_end_position    (const GtkCssSection  *section);
94
95 G_END_DECLS
96
97 #endif /* __GTK_CSS_SECTION_H__ */