r3082: Bugfix: If no pinboard or panel icons were present, the menu could not be
[rox-filer.git] / ROX-Filer / src / display.h
blob3a0024a9e6dcd6c5823b2d3f67d5cda1b98965f3
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;
33 extern Option o_display_show_thumbs;
34 extern Option o_small_width;
36 /* Prototypes */
37 void display_init(void);
38 void display_set_layout(FilerWindow *filer_window,
39 DisplayStyle style,
40 DetailsType details,
41 gboolean force_resize);
42 void display_set_hidden(FilerWindow *filer_window, gboolean hidden);
43 void display_set_thumbs(FilerWindow *filer_window, gboolean thumbs);
44 int sort_by_name(const void *item1, const void *item2);
45 int sort_by_type(const void *item1, const void *item2);
46 int sort_by_date(const void *item1, const void *item2);
47 int sort_by_size(const void *item1, const void *item2);
48 int sort_by_owner(const void *item1, const void *item2);
49 int sort_by_group(const void *item1, const void *item2);
50 void display_set_sort_type(FilerWindow *filer_window, SortType sort_type,
51 GtkSortType order);
52 void display_set_autoselect(FilerWindow *filer_window, const gchar *leaf);
54 void draw_large_icon(GdkWindow *window,
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_update_view(FilerWindow *filer_window,
64 DirItem *item,
65 ViewData *view,
66 gboolean update_name_layout);
67 void display_update_views(FilerWindow *filer_window);
68 void draw_small_icon(GdkWindow *window, GdkRectangle *area,
69 DirItem *item, MaskedPixmap *image, gboolean selected);
70 void draw_huge_icon(GdkWindow *window, GdkRectangle *area, DirItem *item,
71 MaskedPixmap *image, gboolean selected);
72 void display_set_actual_size(FilerWindow *filer_window, gboolean force_resize);
74 #endif /* _DISPLAY_H */