1 | /* GTK - The GIMP Toolkit |
2 | * Copyright (C) 2011 Red Hat, Inc. |
3 | * |
4 | * Author: Cosimo Cecchi <cosimoc@gnome.org> |
5 | * |
6 | * This library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Lesser General Public |
8 | * License as published by the Free Software Foundation; either |
9 | * version 2 of the License, or (at your option) any later version. |
10 | * |
11 | * This library is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Lesser General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Lesser General Public |
17 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
18 | */ |
19 | |
20 | #ifndef __GTK_SHADOW_H__ |
21 | #define __GTK_SHADOW_H__ |
22 | |
23 | #include <cairo.h> |
24 | #include <pango/pango.h> |
25 | |
26 | #include <gtk/css/gtkcss.h> |
27 | #include "gtk/css/gtkcsstokenizerprivate.h" |
28 | #include "gtk/css/gtkcssparserprivate.h" |
29 | #include "gtkborder.h" |
30 | #include "gtktypes.h" |
31 | #include "gtkcssvalueprivate.h" |
32 | #include "gtkroundedboxprivate.h" |
33 | #include "gtksnapshot.h" |
34 | |
35 | G_BEGIN_DECLS |
36 | |
37 | GtkCssValue * gtk_css_shadow_value_new_none (void); |
38 | GtkCssValue * gtk_css_shadow_value_new_filter (void); |
39 | |
40 | GtkCssValue * gtk_css_shadow_value_parse (GtkCssParser *parser, |
41 | gboolean box_shadow_mode); |
42 | GtkCssValue * gtk_css_shadow_value_parse_filter (GtkCssParser *parser); |
43 | |
44 | void gtk_css_shadow_value_get_extents (const GtkCssValue *shadow, |
45 | GtkBorder *border); |
46 | void gtk_css_shadow_value_snapshot_outset (const GtkCssValue *shadow, |
47 | GtkSnapshot *snapshot, |
48 | const GskRoundedRect *border_box); |
49 | void gtk_css_shadow_value_snapshot_inset (const GtkCssValue *shadow, |
50 | GtkSnapshot *snapshot, |
51 | const GskRoundedRect *padding_box); |
52 | |
53 | gboolean gtk_css_shadow_value_is_clear (const GtkCssValue *shadow) G_GNUC_PURE; |
54 | gboolean gtk_css_shadow_value_is_none (const GtkCssValue *shadow) G_GNUC_PURE; |
55 | |
56 | gboolean gtk_css_shadow_value_push_snapshot (const GtkCssValue *value, |
57 | GtkSnapshot *snapshot); |
58 | void gtk_css_shadow_value_pop_snapshot (const GtkCssValue *value, |
59 | GtkSnapshot *snapshot); |
60 | |
61 | G_END_DECLS |
62 | |
63 | #endif /* __GTK_SHADOW_H__ */ |
64 | |