r4716: Fixes for the filter directories option: Initialize properly, inherit from
[rox-filer.git] / ROX-Filer / src / display.h
blobb6700dc166362c504c08fd8b69cfb4b4dd0633b9
1 /*
2 * ROX-Filer, filer for the ROX desktop project
3 * By Thomas Leonard, <tal197@users.sourceforge.net>.
4 */
6 #ifndef _DISPLAY_H
7 #define _DISPLAY_H
9 #define ROW_HEIGHT_LARGE 64
11 #include <gtk/gtk.h>
12 #include <sys/types.h>
13 #include <dirent.h>
15 typedef struct _ViewData ViewData;
17 struct _ViewData
19 PangoLayout *layout;
20 PangoLayout *details;
22 int name_width;
23 int name_height;
24 int details_width;
25 int details_height;
27 MaskedPixmap *image; /* Image; possibly thumbnail */
30 extern Option o_display_inherit_options, o_display_sort_by;
31 extern Option o_display_size, o_display_details, o_display_show_hidden;
32 extern Option o_display_show_headers, o_display_show_full_type;
33 extern Option o_display_show_thumbs;
34 extern Option o_small_width;
35 extern Option o_vertical_order_small, o_vertical_order_large;
37 /* Prototypes */
38 void display_init(void);
39 void display_set_layout(FilerWindow *filer_window,
40 DisplayStyle style,
41 DetailsType details,
42 gboolean force_resize);
43 void display_set_hidden(FilerWindow *filer_window, gboolean hidden);
44 void display_set_filter_directories(FilerWindow *filer_window, gboolean filter_directories);
45 void display_update_hidden(FilerWindow *filer_window);
46 void display_set_filter(FilerWindow *filer_window, FilterType type,
47 const gchar *filter_string);
48 void display_set_thumbs(FilerWindow *filer_window, gboolean thumbs);
49 int sort_by_name(const void *item1, const void *item2);
50 int sort_by_type(const void *item1, const void *item2);
51 int sort_by_date(const void *item1, const void *item2);
52 int sort_by_size(const void *item1, const void *item2);
53 int sort_by_owner(const void *item1, const void *item2);
54 int sort_by_group(const void *item1, const void *item2);
55 void display_set_sort_type(FilerWindow *filer_window, SortType sort_type,
56 GtkSortType order);
57 void display_set_autoselect(FilerWindow *filer_window, const gchar *leaf);
59 void draw_large_icon(GdkWindow *window,
60 GdkRectangle *area,
61 DirItem *item,
62 MaskedPixmap *image,
63 gboolean selected,
64 GdkColor *color);
65 gboolean display_is_truncated(FilerWindow *filer_window, int i);
66 void display_change_size(FilerWindow *filer_window, gboolean bigger);
68 ViewData *display_create_viewdata(FilerWindow *filer_window, DirItem *item);
69 void display_update_view(FilerWindow *filer_window,
70 DirItem *item,
71 ViewData *view,
72 gboolean update_name_layout);
73 void display_update_views(FilerWindow *filer_window);
74 void draw_small_icon(GdkWindow *window, GdkRectangle *area,
75 DirItem *item, MaskedPixmap *image, gboolean selected,
76 GdkColor *color);
77 void draw_huge_icon(GdkWindow *window, GdkRectangle *area, DirItem *item,
78 MaskedPixmap *image, gboolean selected,
79 GdkColor *color);
80 void display_set_actual_size(FilerWindow *filer_window, gboolean force_resize);
82 #endif /* _DISPLAY_H */