41940ce67fa6543193b312239d283a6bdf488316
[geeqie.git] / src / slideshow.h
1 /*
2  * Geeqie
3  * (C) 2004 John Ellis
4  *
5  * Author: John Ellis
6  *
7  * This software is released under the GNU General Public License (GNU GPL).
8  * Please read the included file COPYING for more information.
9  * This software comes with no warranty of any kind, use at your own risk!
10  */
11
12
13 #ifndef SLIDESHOW_H
14 #define SLIDESHOW_H
15
16
17 #define SLIDESHOW_SUBSECOND_PRECISION 10
18 #define SLIDESHOW_MIN_SECONDS    0.1
19 #define SLIDESHOW_MAX_SECONDS 3600.0
20
21 /*
22  * It works like this, it uses path_list, if that does not exist, it uses
23  * CollectionData, then finally falls back to the layout listing.
24  */
25
26 void slideshow_free(SlideShowData *ss);
27
28 gint slideshow_should_continue(SlideShowData *ss);
29
30 void slideshow_next(SlideShowData *ss);
31 void slideshow_prev(SlideShowData *ss);
32
33 SlideShowData *slideshow_start_from_filelist(ImageWindow *imd, GList *list,
34                                               void (*stop_func)(SlideShowData *, gpointer), gpointer stop_data);
35 SlideShowData *slideshow_start_from_collection(ImageWindow *imd, CollectionData *cd,
36                                                void (*stop_func)(SlideShowData *, gpointer), gpointer stop_data,
37                                                CollectInfo *start_info);
38 SlideShowData *slideshow_start(ImageWindow *imd, LayoutWindow *lw, gint start_point,
39                                void (*stop_func)(SlideShowData *, gpointer), gpointer stop_data);
40
41 gint slideshow_paused(SlideShowData *ss);
42 void slideshow_pause_set(SlideShowData *ss, gint paused);
43 gint slideshow_pause_toggle(SlideShowData *ss);
44
45
46 #endif