1/* GTK - The GIMP Toolkit
2 * Copyright (C) 2010 Carlos Garnacho <carlosg@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_STYLE_PROVIDER_H__
19#define __GTK_STYLE_PROVIDER_H__
20
21#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
22#error "Only <gtk/gtk.h> can be included directly."
23#endif
24
25#include <gdk/gdk.h>
26#include <gtk/gtkenums.h>
27#include <gtk/gtktypes.h>
28
29G_BEGIN_DECLS
30
31#define GTK_TYPE_STYLE_PROVIDER (gtk_style_provider_get_type ())
32#define GTK_STYLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_STYLE_PROVIDER, GtkStyleProvider))
33#define GTK_IS_STYLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_STYLE_PROVIDER))
34
35/**
36 * GTK_STYLE_PROVIDER_PRIORITY_FALLBACK:
37 *
38 * The priority used for default style information
39 * that is used in the absence of themes.
40 *
41 * Note that this is not very useful for providing default
42 * styling for custom style classes - themes are likely to
43 * override styling provided at this priority with
44 * catch-all `* {...}` rules.
45 */
46#define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 1
47
48/**
49 * GTK_STYLE_PROVIDER_PRIORITY_THEME:
50 *
51 * The priority used for style information provided
52 * by themes.
53 */
54#define GTK_STYLE_PROVIDER_PRIORITY_THEME 200
55
56/**
57 * GTK_STYLE_PROVIDER_PRIORITY_SETTINGS:
58 *
59 * The priority used for style information provided
60 * via `GtkSettings`.
61 *
62 * This priority is higher than %GTK_STYLE_PROVIDER_PRIORITY_THEME
63 * to let settings override themes.
64 */
65#define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS 400
66
67/**
68 * GTK_STYLE_PROVIDER_PRIORITY_APPLICATION:
69 *
70 * A priority that can be used when adding a `GtkStyleProvider`
71 * for application-specific style information.
72 */
73#define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600
74
75/**
76 * GTK_STYLE_PROVIDER_PRIORITY_USER:
77 *
78 * The priority used for the style information from
79 * `$XDG_CONFIG_HOME/gtk-4.0/gtk.css`.
80 *
81 * You should not use priorities higher than this, to
82 * give the user the last word.
83 */
84#define GTK_STYLE_PROVIDER_PRIORITY_USER 800
85
86typedef struct _GtkStyleProvider GtkStyleProvider; /* dummy typedef */
87
88GDK_AVAILABLE_IN_ALL
89GType gtk_style_provider_get_type (void) G_GNUC_CONST;
90
91G_END_DECLS
92
93#endif /* __GTK_STYLE_PROVIDER_H__ */
94

source code of gtk/gtk/gtkstyleprovider.h