r1107: Added a configure check for iconv.h.
[rox-filer.git] / ROX-Filer / src / icon.h
blobf844ad35c8228b47d34e3b7d2cb33147bdbd6127
1 /*
2 * $Id$
4 * ROX-Filer, filer for the ROX desktop project
5 * By Thomas Leonard, <tal197@users.sourceforge.net>.
6 */
8 #ifndef _ICON_H
9 #define _ICON_H
11 #include <glib.h>
13 #ifdef GTK2
14 # include <pango/pango.h>
15 #endif
17 extern GList *icon_selection;
18 extern gboolean tmp_icon_selected;
20 struct _Icon {
21 Panel *panel; /* NULL => Pinboard icon */
22 GtkWidget *widget; /* The drawing area for the icon */
23 gboolean selected;
24 guchar *src_path; /* Eg: ~/Apps */
25 guchar *path; /* Eg: /home/fred/Apps */
26 DirItem *item;
28 /* Only used on the pinboard... */
29 GtkWidget *win;
30 GdkBitmap *mask;
31 int x, y;
32 int width, height;
33 int name_width;
34 #ifdef GTK2
35 PangoLayout *layout; /* The label */
36 #endif
38 /* Only used on the panel... */
39 GtkWidget *label;
40 GtkWidget *socket; /* For applets */
43 void icon_init(void);
44 void icon_hash_path(Icon *icon);
45 void icon_unhash_path(Icon *icon);
46 gboolean icons_require(guchar *path);
47 void icon_may_update(Icon *icon);
48 void icons_may_update(guchar *path);
49 void update_all_icons(void);
50 void icon_show_menu(GdkEventButton *event, Icon *icon, Panel *panel);
51 void icon_set_selected(Icon *icon, gboolean selected);
52 void icon_select_only(Icon *select);
53 void icon_destroyed(Icon *icon);
54 void icon_set_tip(Icon *icon);
55 void icons_update_tip(void);
57 #endif /* _ICON_H */