1 | /* GTK - The GIMP Toolkit |
2 | * Copyright (C) 2011 Red Hat, Inc. |
3 | * |
4 | * Authors: 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_ICON_HELPER_H__ |
21 | #define __GTK_ICON_HELPER_H__ |
22 | |
23 | #include "gtk/gtkimage.h" |
24 | #include "gtk/gtktypes.h" |
25 | |
26 | #include "gtkcssnodeprivate.h" |
27 | #include "gtkimagedefinitionprivate.h" |
28 | |
29 | G_BEGIN_DECLS |
30 | |
31 | #define GTK_TYPE_ICON_HELPER (gtk_icon_helper_get_type()) |
32 | |
33 | G_DECLARE_FINAL_TYPE(GtkIconHelper, gtk_icon_helper, GTK, ICON_HELPER, GObject) |
34 | |
35 | GtkIconHelper *gtk_icon_helper_new (GtkCssNode *css_node, |
36 | GtkWidget *owner); |
37 | |
38 | void _gtk_icon_helper_clear (GtkIconHelper *self); |
39 | |
40 | gboolean _gtk_icon_helper_get_is_empty (GtkIconHelper *self); |
41 | |
42 | void _gtk_icon_helper_set_definition (GtkIconHelper *self, |
43 | GtkImageDefinition *def); |
44 | void _gtk_icon_helper_set_gicon (GtkIconHelper *self, |
45 | GIcon *gicon); |
46 | |
47 | void _gtk_icon_helper_set_icon_name (GtkIconHelper *self, |
48 | const char *icon_name); |
49 | void _gtk_icon_helper_set_paintable (GtkIconHelper *self, |
50 | GdkPaintable *paintable); |
51 | |
52 | gboolean _gtk_icon_helper_set_pixel_size (GtkIconHelper *self, |
53 | int pixel_size); |
54 | gboolean _gtk_icon_helper_set_use_fallback (GtkIconHelper *self, |
55 | gboolean use_fallback); |
56 | |
57 | GtkImageType _gtk_icon_helper_get_storage_type (GtkIconHelper *self); |
58 | int _gtk_icon_helper_get_pixel_size (GtkIconHelper *self); |
59 | gboolean _gtk_icon_helper_get_use_fallback (GtkIconHelper *self); |
60 | |
61 | GIcon *_gtk_icon_helper_peek_gicon (GtkIconHelper *self); |
62 | GdkPaintable *_gtk_icon_helper_peek_paintable (GtkIconHelper *self); |
63 | |
64 | GtkImageDefinition *gtk_icon_helper_get_definition (GtkIconHelper *self); |
65 | const char *_gtk_icon_helper_get_icon_name (GtkIconHelper *self); |
66 | |
67 | int gtk_icon_helper_get_size (GtkIconHelper *self); |
68 | |
69 | void gtk_icon_helper_invalidate (GtkIconHelper *self); |
70 | void gtk_icon_helper_invalidate_for_change (GtkIconHelper *self, |
71 | GtkCssStyleChange *change); |
72 | |
73 | void gtk_icon_size_set_style_classes (GtkCssNode *cssnode, |
74 | GtkIconSize icon_size); |
75 | |
76 | G_END_DECLS |
77 | |
78 | #endif /* __GTK_ICON_HELPER_H__ */ |
79 | |