4 * An OpenGL based 'interactive canvas' library.
6 * Authored By Matthew Allum <mallum@openedhand.com>
7 * Jorn Baayen <jorn@openedhand.com>
8 * Emmanuele Bassi <ebassi@openedhand.com>
10 * Copyright (C) 2006 OpenedHand
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.
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.
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/>.
26 #if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
27 #error "Only <clutter/clutter.h> can be included directly."
30 #ifndef __CLUTTER_BEHAVIOUR_PATH_H__
31 #define __CLUTTER_BEHAVIOUR_PATH_H__
33 #include <clutter/clutter-types.h>
34 #include <clutter/clutter-path.h>
38 #define CLUTTER_TYPE_BEHAVIOUR_PATH (clutter_behaviour_path_get_type ())
40 #define CLUTTER_BEHAVIOUR_PATH(obj) \
41 (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
42 CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPath))
44 #define CLUTTER_BEHAVIOUR_PATH_CLASS(klass) \
45 (G_TYPE_CHECK_CLASS_CAST ((klass), \
46 CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPathClass))
48 #define CLUTTER_IS_BEHAVIOUR_PATH(obj) \
49 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
50 CLUTTER_TYPE_BEHAVIOUR_PATH))
52 #define CLUTTER_IS_BEHAVIOUR_PATH_CLASS(klass) \
53 (G_TYPE_CHECK_CLASS_TYPE ((klass), \
54 CLUTTER_TYPE_BEHAVIOUR_PATH))
56 #define CLUTTER_BEHAVIOUR_PATH_GET_CLASS(obj) \
57 (G_TYPE_INSTANCE_GET_CLASS ((obj), \
58 CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPathClass))
60 typedef struct _ClutterBehaviourPath ClutterBehaviourPath;
61 typedef struct _ClutterBehaviourPathPrivate ClutterBehaviourPathPrivate;
62 typedef struct _ClutterBehaviourPathClass ClutterBehaviourPathClass;
65 * ClutterBehaviourPath:
67 * The #ClutterBehaviourPath structure contains only private data
68 * and should be accessed using the provided API
72 * Deprecated: 1.6: Use #ClutterPathConstraint and clutter_actor_animate()
75 struct _ClutterBehaviourPath
78 ClutterBehaviour parent;
79 ClutterBehaviourPathPrivate *priv;
83 * ClutterBehaviourPathClass:
84 * @knot_reached: signal class handler for the
85 * ClutterBehaviourPath::knot_reached signal
87 * The #ClutterBehaviourPathClass struct contains only private data
93 struct _ClutterBehaviourPathClass
96 ClutterBehaviourClass parent_class;
99 void (*knot_reached) (ClutterBehaviourPath *pathb,
103 void (*_clutter_path_1) (void);
104 void (*_clutter_path_2) (void);
105 void (*_clutter_path_3) (void);
106 void (*_clutter_path_4) (void);
109 GType clutter_behaviour_path_get_type (void) G_GNUC_CONST;
111 CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
112 ClutterBehaviour *clutter_behaviour_path_new (ClutterAlpha *alpha,
115 CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
116 ClutterBehaviour *clutter_behaviour_path_new_with_description
117 (ClutterAlpha *alpha,
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,
126 CLUTTER_DEPRECATED_IN_1_6
127 void clutter_behaviour_path_set_path (ClutterBehaviourPath *pathb,
129 CLUTTER_DEPRECATED_IN_1_6
130 ClutterPath * clutter_behaviour_path_get_path (ClutterBehaviourPath *pathb);
134 #endif /* __CLUTTER_BEHAVIOUR_PATH_H__ */