1/*
2 * Copyright © 2012 Red Hat Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
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 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Authors: Benjamin Otte <otte@gnome.org>
18 */
19
20#ifndef __GTK_CSS_ANIMATION_PRIVATE_H__
21#define __GTK_CSS_ANIMATION_PRIVATE_H__
22
23#include "gtkstyleanimationprivate.h"
24
25#include "gtkcsskeyframesprivate.h"
26#include "gtkprogresstrackerprivate.h"
27
28G_BEGIN_DECLS
29
30typedef struct _GtkCssAnimation GtkCssAnimation;
31typedef struct _GtkCssAnimationClass GtkCssAnimationClass;
32
33struct _GtkCssAnimation
34{
35 GtkStyleAnimation parent;
36
37 char *name;
38 GtkCssKeyframes *keyframes;
39 GtkCssValue *ease;
40 GtkCssDirection direction;
41 GtkCssPlayState play_state;
42 GtkCssFillMode fill_mode;
43 GtkProgressTracker tracker;
44};
45
46struct _GtkCssAnimationClass
47{
48 GtkStyleAnimationClass parent_class;
49};
50
51GType _gtk_css_animation_get_type (void) G_GNUC_CONST;
52
53GtkStyleAnimation * _gtk_css_animation_new (const char *name,
54 GtkCssKeyframes *keyframes,
55 gint64 timestamp,
56 gint64 delay_us,
57 gint64 duration_us,
58 GtkCssValue *ease,
59 GtkCssDirection direction,
60 GtkCssPlayState play_state,
61 GtkCssFillMode fill_mode,
62 double iteration_count);
63
64GtkStyleAnimation * _gtk_css_animation_advance_with_play_state (GtkCssAnimation *animation,
65 gint64 timestamp,
66 GtkCssPlayState play_state);
67
68const char * _gtk_css_animation_get_name (GtkCssAnimation *animation);
69gboolean _gtk_css_animation_is_animation (GtkStyleAnimation *animation);
70
71G_END_DECLS
72
73#endif /* __GTK_CSS_ANIMATION_PRIVATE_H__ */
74

source code of gtk/gtk/gtkcssanimationprivate.h