1
/* GTK - The GIMP Toolkit
2
* Copyright (C) 2007 Carlos Garnacho <carlos@imendio.com>
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Library General Public
6
* License as published by the Free Software Foundation; either
7
* version 2 of the License, or (at your option) any later version.
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Library General Public License for more details.
14
* You should have received a copy of the GNU Library General Public
15
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
18
#ifndef __GTK_TIMELINE_H__
19
#define __GTK_TIMELINE_H__
21
#include <glib-object.h>
22
#include <gtk/gtkenums.h>
27
#define GTK_TYPE_TIMELINE (_gtk_timeline_get_type ())
28
#define GTK_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TIMELINE, GtkTimeline))
29
#define GTK_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TIMELINE, GtkTimelineClass))
30
#define GTK_IS_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TIMELINE))
31
#define GTK_IS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TIMELINE))
32
#define GTK_TIMELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TIMELINE, GtkTimelineClass))
34
typedef struct GtkTimeline GtkTimeline;
35
typedef struct GtkTimelineClass GtkTimelineClass;
38
GTK_TIMELINE_DIRECTION_FORWARD,
39
GTK_TIMELINE_DIRECTION_BACKWARD
40
} GtkTimelineDirection;
43
GTK_TIMELINE_PROGRESS_LINEAR,
44
GTK_TIMELINE_PROGRESS_EASE,
45
GTK_TIMELINE_PROGRESS_EASE_IN,
46
GTK_TIMELINE_PROGRESS_EASE_OUT,
47
GTK_TIMELINE_PROGRESS_EASE_IN_OUT
48
} GtkTimelineProgressType;
52
GObject parent_instance;
56
struct GtkTimelineClass
58
GObjectClass parent_class;
60
void (* started) (GtkTimeline *timeline);
61
void (* finished) (GtkTimeline *timeline);
62
void (* paused) (GtkTimeline *timeline);
64
void (* frame) (GtkTimeline *timeline,
67
void (* __gtk_reserved1) (void);
68
void (* __gtk_reserved2) (void);
69
void (* __gtk_reserved3) (void);
70
void (* __gtk_reserved4) (void);
74
GType _gtk_timeline_get_type (void) G_GNUC_CONST;
76
GtkTimeline * _gtk_timeline_new (guint duration);
77
GtkTimeline * _gtk_timeline_new_for_screen (guint duration,
80
void _gtk_timeline_start (GtkTimeline *timeline);
81
void _gtk_timeline_pause (GtkTimeline *timeline);
82
void _gtk_timeline_rewind (GtkTimeline *timeline);
84
gboolean _gtk_timeline_is_running (GtkTimeline *timeline);
85
guint _gtk_timeline_get_elapsed_time (GtkTimeline *timeline);
87
guint _gtk_timeline_get_fps (GtkTimeline *timeline);
88
void _gtk_timeline_set_fps (GtkTimeline *timeline,
91
gboolean _gtk_timeline_get_loop (GtkTimeline *timeline);
92
void _gtk_timeline_set_loop (GtkTimeline *timeline,
95
guint _gtk_timeline_get_duration (GtkTimeline *timeline);
96
void _gtk_timeline_set_duration (GtkTimeline *timeline,
99
GdkScreen * _gtk_timeline_get_screen (GtkTimeline *timeline);
100
void _gtk_timeline_set_screen (GtkTimeline *timeline,
103
GtkTimelineDirection _gtk_timeline_get_direction (GtkTimeline *timeline);
104
void _gtk_timeline_set_direction (GtkTimeline *timeline,
105
GtkTimelineDirection direction);
107
gdouble _gtk_timeline_get_progress (GtkTimeline *timeline);
109
GtkTimelineProgressType _gtk_timeline_get_progress_type (GtkTimeline *timeline);
110
void _gtk_timeline_set_progress_type (GtkTimeline *timeline,
111
GtkTimelineProgressType progress_type);
116
#endif /* __GTK_TIMELINE_H__ */