r898: Applied Bernard Jungen's latest patch:
[rox-filer.git] / ROX-Filer / src / display.h
blobb1eb756664d186dbb74bac75b761d9231a86fd5e
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 "collection.h"
15 #include <sys/types.h>
16 #include <dirent.h>
18 typedef enum { /* Values used in options, must start at 0 */
19 LARGE_ICONS = 0,
20 SMALL_ICONS = 1,
21 HUGE_ICONS = 2,
22 UNKNOWN_STYLE
23 } DisplayStyle;
25 typedef enum { /* Values used in options, must start at 0 */
26 DETAILS_NONE = 0,
27 DETAILS_SUMMARY = 1,
28 DETAILS_SIZE = 2,
29 DETAILS_PERMISSIONS = 3,
30 DETAILS_TYPE = 4,
31 DETAILS_TIMES = 5,
32 } DetailsType;
34 /* Prototypes */
35 void display_init();
36 void display_set_layout(FilerWindow *filer_window,
37 DisplayStyle style,
38 DetailsType details);
39 void display_set_hidden(FilerWindow *filer_window, gboolean hidden);
40 int sort_by_name(const void *item1, const void *item2);
41 int sort_by_type(const void *item1, const void *item2);
42 int sort_by_date(const void *item1, const void *item2);
43 int sort_by_size(const void *item1, const void *item2);
44 void display_set_sort_fn(FilerWindow *filer_window,
45 int (*fn)(const void *a, const void *b));
46 void display_set_autoselect(FilerWindow *filer_window, guchar *leaf);
47 void shrink_grid(FilerWindow *filer_window);
48 void calc_size(FilerWindow *filer_window, DirItem *item,
49 int *width, int *height);
51 void draw_large_icon(GtkWidget *widget,
52 GdkRectangle *area,
53 DirItem *item,
54 gboolean selected);
55 void draw_string(GtkWidget *widget,
56 GdkFont *font,
57 char *string,
58 int len,
59 int x,
60 int y,
61 int width,
62 int area_width,
63 gboolean selected,
64 gboolean box);
65 gboolean display_is_truncated(FilerWindow *filer_window, int i);
66 void display_change_size(FilerWindow *filer_window, gboolean bigger);
67 void display_guess_size(FilerWindow *filer_window,
68 GPtrArray *names,
69 int *ret_w, int *ret_h, int *ret_n);
71 #endif /* _DISPLAY_H */