2 * this file is part of evince, a gnome document viewer
4 * Copyright (C) 2007 Carlos Garnacho <carlos@imendio.com>
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
16 * You should have received a copy of the GNU Library General Public
17 * License along with this library; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
22 #if !defined (EVINCE_COMPILATION)
23 #error "This is a private header."
26 #ifndef __EV_TIMELINE_H__
27 #define __EV_TIMELINE_H__
29 #include <glib-object.h>
33 #define EV_TYPE_TIMELINE (ev_timeline_get_type ())
34 #define EV_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_TIMELINE, EvTimeline))
35 #define EV_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EV_TYPE_TIMELINE, EvTimelineClass))
36 #define EV_IS_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_TIMELINE))
37 #define EV_IS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EV_TYPE_TIMELINE))
38 #define EV_TIMELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EV_TYPE_TIMELINE, EvTimelineClass))
40 typedef struct EvTimeline EvTimeline;
41 typedef struct EvTimelineClass EvTimelineClass;
44 GObject parent_instance;
47 struct EvTimelineClass {
48 GObjectClass parent_class;
51 void (* start) (EvTimeline *timeline);
54 void (* started) (EvTimeline *timeline);
55 void (* finished) (EvTimeline *timeline);
56 void (* paused) (EvTimeline *timeline);
58 void (* frame) (EvTimeline *timeline,
63 GType ev_timeline_get_type (void) G_GNUC_CONST;
65 EvTimeline *ev_timeline_new (guint duration);
67 void ev_timeline_start (EvTimeline *timeline);
68 void ev_timeline_pause (EvTimeline *timeline);
69 void ev_timeline_rewind (EvTimeline *timeline);
71 gboolean ev_timeline_is_running (EvTimeline *timeline);
73 guint ev_timeline_get_fps (EvTimeline *timeline);
74 void ev_timeline_set_fps (EvTimeline *timeline,
77 gboolean ev_timeline_get_loop (EvTimeline *timeline);
78 void ev_timeline_set_loop (EvTimeline *timeline,
81 guint ev_timeline_get_duration (EvTimeline *timeline);
82 void ev_timeline_set_duration (EvTimeline *timeline,
85 gdouble ev_timeline_get_progress (EvTimeline *timeline);
90 #endif /* __EV_TIMELINE_H__ */