]> Pileus Git - ~andy/gtk/blob - gtk/gtkcsslookupprivate.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkcsslookupprivate.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2011 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 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_LOOKUP_PRIVATE_H__
19 #define __GTK_CSS_LOOKUP_PRIVATE_H__
20
21 #include <glib-object.h>
22 #include "gtk/gtkbitmaskprivate.h"
23 #include "gtk/gtkcsscomputedvaluesprivate.h"
24 #include "gtk/gtkcsssection.h"
25
26
27 G_BEGIN_DECLS
28
29 typedef struct _GtkCssLookup GtkCssLookup;
30
31 typedef struct {
32   GtkCssSection     *section;
33   GtkCssValue       *value;
34   GtkCssValue       *computed;
35 } GtkCssLookupValue;
36
37 struct _GtkCssLookup {
38   GtkBitmask        *missing;
39   GtkCssLookupValue  values[1];
40 };
41
42 GtkCssLookup *          _gtk_css_lookup_new                     (const GtkBitmask           *relevant);
43 void                    _gtk_css_lookup_free                    (GtkCssLookup               *lookup);
44
45 static inline const GtkBitmask *_gtk_css_lookup_get_missing     (const GtkCssLookup         *lookup);
46 gboolean                _gtk_css_lookup_is_missing              (const GtkCssLookup         *lookup,
47                                                                  guint                       id);
48 void                    _gtk_css_lookup_set                     (GtkCssLookup               *lookup,
49                                                                  guint                       id,
50                                                                  GtkCssSection              *section,
51                                                                  GtkCssValue                *value);
52 void                    _gtk_css_lookup_set_computed            (GtkCssLookup               *lookup,
53                                                                  guint                       id,
54                                                                  GtkCssSection              *section,
55                                                                  GtkCssValue                *value);
56 void                    _gtk_css_lookup_resolve                 (GtkCssLookup               *lookup,
57                                                                  GtkStyleProviderPrivate    *provider,
58                                                                  GtkCssComputedValues       *values,
59                                                                  GtkCssComputedValues       *parent_values);
60
61 static inline const GtkBitmask *
62 _gtk_css_lookup_get_missing (const GtkCssLookup *lookup)
63 {
64   return lookup->missing;
65 }
66
67
68
69 G_END_DECLS
70
71 #endif /* __GTK_CSS_LOOKUP_PRIVATE_H__ */