r1551: Updated credits.
[rox-filer.git] / ROX-Filer / src / display.h
blob1cfc943329939891e7192dbe87e2bc279fb176ac
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 PangoLayout *layout;
22 PangoLayout *details;
24 int name_width;
25 int name_height;
26 int details_width;
27 int details_height;
29 MaskedPixmap *image; /* Image; possibly thumbnail */
32 extern Option o_display_inherit_options, o_display_sort_by;
33 extern Option o_display_size, o_display_details, o_display_show_hidden;
34 extern Option o_display_show_thumbs;
36 /* Prototypes */
37 void display_init();
38 void display_set_layout(FilerWindow *filer_window,
39 DisplayStyle style,
40 DetailsType details);
41 void display_set_hidden(FilerWindow *filer_window, gboolean hidden);
42 void display_set_thumbs(FilerWindow *filer_window, gboolean thumbs);
43 int sort_by_name(const void *item1, const void *item2);
44 int sort_by_type(const void *item1, const void *item2);
45 int sort_by_date(const void *item1, const void *item2);
46 int sort_by_size(const void *item1, const void *item2);
47 void display_set_sort_fn(FilerWindow *filer_window,
48 int (*fn)(const void *a, const void *b));
49 void display_set_autoselect(FilerWindow *filer_window, const gchar *leaf);
50 void shrink_grid(FilerWindow *filer_window);
51 void calc_size(FilerWindow *filer_window, CollectionItem *colitem,
52 int *width, int *height);
54 void draw_large_icon(GtkWidget *widget,
55 GdkRectangle *area,
56 DirItem *item,
57 MaskedPixmap *image,
58 gboolean selected);
59 gboolean display_is_truncated(FilerWindow *filer_window, int i);
60 void display_change_size(FilerWindow *filer_window, gboolean bigger);
62 ViewData *display_create_viewdata(FilerWindow *filer_window, DirItem *item);
63 void display_free_colitem(Collection *collection, CollectionItem *colitem);
64 void display_update_view(FilerWindow *filer_window,
65 DirItem *item,
66 ViewData *view,
67 gboolean update_name_layout);
68 void display_update_views(FilerWindow *filer_window);
70 #endif /* _DISPLAY_H */