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
29G_BEGIN_DECLS
30
31#define GTK_TYPE_ICON_HELPER (gtk_icon_helper_get_type())
32
33G_DECLARE_FINAL_TYPE(GtkIconHelper, gtk_icon_helper, GTK, ICON_HELPER, GObject)
34
35GtkIconHelper *gtk_icon_helper_new (GtkCssNode *css_node,
36 GtkWidget *owner);
37
38void _gtk_icon_helper_clear (GtkIconHelper *self);
39
40gboolean _gtk_icon_helper_get_is_empty (GtkIconHelper *self);
41
42void _gtk_icon_helper_set_definition (GtkIconHelper *self,
43 GtkImageDefinition *def);
44void _gtk_icon_helper_set_gicon (GtkIconHelper *self,
45 GIcon *gicon);
46
47void _gtk_icon_helper_set_icon_name (GtkIconHelper *self,
48 const char *icon_name);
49void _gtk_icon_helper_set_paintable (GtkIconHelper *self,
50 GdkPaintable *paintable);
51
52gboolean _gtk_icon_helper_set_pixel_size (GtkIconHelper *self,
53 int pixel_size);
54gboolean _gtk_icon_helper_set_use_fallback (GtkIconHelper *self,
55 gboolean use_fallback);
56
57GtkImageType _gtk_icon_helper_get_storage_type (GtkIconHelper *self);
58int _gtk_icon_helper_get_pixel_size (GtkIconHelper *self);
59gboolean _gtk_icon_helper_get_use_fallback (GtkIconHelper *self);
60
61GIcon *_gtk_icon_helper_peek_gicon (GtkIconHelper *self);
62GdkPaintable *_gtk_icon_helper_peek_paintable (GtkIconHelper *self);
63
64GtkImageDefinition *gtk_icon_helper_get_definition (GtkIconHelper *self);
65const char *_gtk_icon_helper_get_icon_name (GtkIconHelper *self);
66
67int gtk_icon_helper_get_size (GtkIconHelper *self);
68
69void gtk_icon_helper_invalidate (GtkIconHelper *self);
70void gtk_icon_helper_invalidate_for_change (GtkIconHelper *self,
71 GtkCssStyleChange *change);
72
73void gtk_icon_size_set_style_classes (GtkCssNode *cssnode,
74 GtkIconSize icon_size);
75
76G_END_DECLS
77
78#endif /* __GTK_ICON_HELPER_H__ */
79

source code of gtk/gtk/gtkiconhelperprivate.h