r1066: Fixed some compiler warnings (Vincent Lef�vre).
[rox-filer.git] / ROX-Filer / src / display.h
blob94c6e2ef44a829b1568f19061d8b9859b31a6aeb
1 /*
2 * $Id$
4 * ROX-Filer, filer for the ROX desktop project
5 * By Thomas Leonard, <tal197@users.sourceforge.net>.
6 */
8 #ifndef _DISPLAY_H
9 #define _DISPLAY_H
11 #define ROW_HEIGHT_LARGE 64
13 #include <gtk/gtk.h>
14 #include <sys/types.h>
15 #include <dirent.h>
17 typedef struct _ViewData ViewData;
19 struct _ViewData
21 #ifdef GTK2
22 PangoLayout *layout;
23 PangoLayout *details;
24 #endif
25 int name_width;
26 int name_height;
27 int details_width;
28 int details_height;
29 #ifndef GTK2
30 int split_pos; /* 0 => No split */
31 int split_width, split_height;
32 char *details;
33 #endif
35 MaskedPixmap *image; /* Image; possibly thumbnail */
38 /* Prototypes */
39 void display_init();
40 void display_set_layout(FilerWindow *filer_window,
41 DisplayStyle style,
42 DetailsType details);
43 void display_set_hidden(FilerWindow *filer_window, gboolean hidden);
44 void display_set_thumbs(FilerWindow *filer_window, gboolean thumbs);
45 int sort_by_name(const void *item1, const void *item2);
46 int sort_by_type(const void *item1, const void *item2);
47 int sort_by_date(const void *item1, const void *item2);
48 int sort_by_size(const void *item1, const void *item2);
49 void display_set_sort_fn(FilerWindow *filer_window,
50 int (*fn)(const void *a, const void *b));
51 void display_set_autoselect(FilerWindow *filer_window, guchar *leaf);
52 void shrink_grid(FilerWindow *filer_window);
53 void calc_size(FilerWindow *filer_window, CollectionItem *colitem,
54 int *width, int *height);
56 void draw_large_icon(GtkWidget *widget,
57 GdkRectangle *area,
58 DirItem *item,
59 MaskedPixmap *image,
60 gboolean selected);
61 gboolean display_is_truncated(FilerWindow *filer_window, int i);
62 void display_change_size(FilerWindow *filer_window, gboolean bigger);
64 ViewData *display_create_viewdata(FilerWindow *filer_window, DirItem *item);
65 void display_free_colitem(Collection *collection, CollectionItem *colitem);
66 void display_update_view(FilerWindow *filer_window,
67 DirItem *item,
68 ViewData *view);
70 #endif /* _DISPLAY_H */