update to 1.10.4
[profile/ivi/clutter.git] / clutter / deprecated / clutter-behaviour-path.h
1 /*
2  * Clutter.
3  *
4  * An OpenGL based 'interactive canvas' library.
5  *
6  * Authored By Matthew Allum  <mallum@openedhand.com>
7  *             Jorn Baayen  <jorn@openedhand.com>
8  *             Emmanuele Bassi  <ebassi@openedhand.com>
9  *
10  * Copyright (C) 2006 OpenedHand
11  *
12  * This library is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU Lesser General Public
14  * License as published by the Free Software Foundation; either
15  * version 2 of the License, or (at your option) any later version.
16  *
17  * This library is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20  * Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
24  */
25
26 #if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
27 #error "Only <clutter/clutter.h> can be included directly."
28 #endif
29
30 #ifndef __CLUTTER_BEHAVIOUR_PATH_H__
31 #define __CLUTTER_BEHAVIOUR_PATH_H__
32
33 #include <clutter/clutter-types.h>
34 #include <clutter/clutter-path.h>
35
36 G_BEGIN_DECLS
37
38 #define CLUTTER_TYPE_BEHAVIOUR_PATH (clutter_behaviour_path_get_type ())
39
40 #define CLUTTER_BEHAVIOUR_PATH(obj) \
41   (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
42   CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPath))
43
44 #define CLUTTER_BEHAVIOUR_PATH_CLASS(klass) \
45   (G_TYPE_CHECK_CLASS_CAST ((klass), \
46   CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPathClass))
47
48 #define CLUTTER_IS_BEHAVIOUR_PATH(obj) \
49   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
50   CLUTTER_TYPE_BEHAVIOUR_PATH))
51
52 #define CLUTTER_IS_BEHAVIOUR_PATH_CLASS(klass) \
53   (G_TYPE_CHECK_CLASS_TYPE ((klass), \
54   CLUTTER_TYPE_BEHAVIOUR_PATH))
55
56 #define CLUTTER_BEHAVIOUR_PATH_GET_CLASS(obj) \
57   (G_TYPE_INSTANCE_GET_CLASS ((obj), \
58   CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPathClass))
59
60 typedef struct _ClutterBehaviourPath        ClutterBehaviourPath;
61 typedef struct _ClutterBehaviourPathPrivate ClutterBehaviourPathPrivate;
62 typedef struct _ClutterBehaviourPathClass   ClutterBehaviourPathClass;
63
64 /**
65  * ClutterBehaviourPath:
66  *
67  * The #ClutterBehaviourPath structure contains only private data
68  * and should be accessed using the provided API
69  *
70  * Since: 0.2
71  *
72  * Deprecated: 1.6: Use #ClutterPathConstraint and clutter_actor_animate()
73  *   instead.
74  */
75 struct _ClutterBehaviourPath
76 {
77   /*< private >*/
78   ClutterBehaviour             parent;
79   ClutterBehaviourPathPrivate *priv;
80 };
81
82 /**
83  * ClutterBehaviourPathClass:
84  * @knot_reached: signal class handler for the
85  *   ClutterBehaviourPath::knot_reached signal
86  *
87  * The #ClutterBehaviourPathClass struct contains only private data
88  *
89  * Since: 0.2
90  *
91  * Deprecated: 1.6
92  */
93 struct _ClutterBehaviourPathClass
94 {
95   /*< private >*/
96   ClutterBehaviourClass   parent_class;
97
98   /*< public >*/
99   void (*knot_reached) (ClutterBehaviourPath *pathb,
100                         guint                 knot_num);
101
102   /*< private >*/
103   void (*_clutter_path_1) (void);
104   void (*_clutter_path_2) (void);
105   void (*_clutter_path_3) (void);
106   void (*_clutter_path_4) (void);
107 };
108
109 GType clutter_behaviour_path_get_type (void) G_GNUC_CONST;
110
111 CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
112 ClutterBehaviour *clutter_behaviour_path_new          (ClutterAlpha         *alpha,
113                                                        ClutterPath          *path);
114
115 CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
116 ClutterBehaviour *clutter_behaviour_path_new_with_description
117                                                       (ClutterAlpha         *alpha,
118                                                        const gchar          *desc);
119
120 CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
121 ClutterBehaviour *clutter_behaviour_path_new_with_knots
122                                                       (ClutterAlpha         *alpha,
123                                                        const ClutterKnot    *knots,
124                                                        guint                 n_knots);
125
126 CLUTTER_DEPRECATED_IN_1_6
127 void              clutter_behaviour_path_set_path     (ClutterBehaviourPath *pathb,
128                                                        ClutterPath          *path);
129 CLUTTER_DEPRECATED_IN_1_6
130 ClutterPath *     clutter_behaviour_path_get_path     (ClutterBehaviourPath *pathb);
131
132 G_END_DECLS
133
134 #endif /* __CLUTTER_BEHAVIOUR_PATH_H__ */