1 /*
2  * Clutter.
3  *
4  * An OpenGL based 'interactive canvas' library.
5  *
6  * Authored By Matthew Allum  <mallum@openedhand.com>
7  *
8  * Copyright (C) 2007 OpenedHand
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
25 #error "Only <clutter/clutter.h> can be included directly."
26 #endif
27 
28 #ifndef __CLUTTER_BEHAVIOUR_ROTATE_H__
29 #define __CLUTTER_BEHAVIOUR_ROTATE_H__
30 
31 #include <clutter/clutter-types.h>
32 
33 G_BEGIN_DECLS
34 
35 #define CLUTTER_TYPE_BEHAVIOUR_ROTATE            (clutter_behaviour_rotate_get_type ())
36 #define CLUTTER_BEHAVIOUR_ROTATE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BEHAVIOUR_ROTATE, ClutterBehaviourRotate))
37 #define CLUTTER_IS_BEHAVIOUR_ROTATE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BEHAVIOUR_ROTATE))
38 #define CLUTTER_BEHAVIOUR_ROTATE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_BEHAVIOUR_ROTATE, ClutterBehaviourRotateClass))
39 #define CLUTTER_IS_BEHAVIOUR_ROTATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_BEHAVIOUR_ROTATE))
40 #define CLUTTER_BEHAVIOUR_ROTATE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((klass), CLUTTER_TYPE_BEHAVIOUR_ROTATE, ClutterBehaviourRotateClass))
41 
42 typedef struct _ClutterBehaviourRotate          ClutterBehaviourRotate;
43 typedef struct _ClutterBehaviourRotatePrivate   ClutterBehaviourRotatePrivate;
44 typedef struct _ClutterBehaviourRotateClass     ClutterBehaviourRotateClass;
45 
46 /**
47  * ClutterBehaviourRotate:
48  *
49  * The #ClutterBehaviourRotate struct contains only private data and
50  * should be accessed using the provided API
51  *
52  * Since: 0.4
53  *
54  * Deprecated: 1.6: Use clutter_actor_animate() instead.
55  */
56 struct _ClutterBehaviourRotate
57 {
58   /*< private >*/
59   ClutterBehaviour parent_instance;
60 
61   ClutterBehaviourRotatePrivate *priv;
62 };
63 
64 /**
65  * ClutterBehaviourRotateClass:
66  *
67  * The #ClutterBehaviourRotateClass struct contains only private data
68  *
69  * Since: 0.4
70  *
71  * Deprecated: 1.6
72  */
73 struct _ClutterBehaviourRotateClass
74 {
75   /*< private >*/
76   ClutterBehaviourClass parent_class;
77 };
78 
79 CLUTTER_DEPRECATED_IN_1_6
80 GType clutter_behaviour_rotate_get_type (void) G_GNUC_CONST;
81 
82 CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
83 ClutterBehaviour *     clutter_behaviour_rotate_new           (ClutterAlpha           *alpha,
84                                                                ClutterRotateAxis       axis,
85                                                                ClutterRotateDirection  direction,
86                                                                gdouble                 angle_start,
87                                                                gdouble                 angle_end);
88 CLUTTER_DEPRECATED_IN_1_6
89 void                   clutter_behaviour_rotate_get_center    (ClutterBehaviourRotate *rotate,
90 							       gint                   *x,
91 							       gint                   *y,
92 							       gint                   *z);
93 CLUTTER_DEPRECATED_IN_1_6
94 void                   clutter_behaviour_rotate_set_center    (ClutterBehaviourRotate *rotate,
95 							       gint                    x,
96 							       gint                    y,
97 							       gint                    z);
98 CLUTTER_DEPRECATED_IN_1_6
99 ClutterRotateAxis      clutter_behaviour_rotate_get_axis      (ClutterBehaviourRotate *rotate);
100 CLUTTER_DEPRECATED_IN_1_6
101 void                   clutter_behaviour_rotate_set_axis      (ClutterBehaviourRotate *rotate,
102                                                                ClutterRotateAxis       axis);
103 CLUTTER_DEPRECATED_IN_1_6
104 ClutterRotateDirection clutter_behaviour_rotate_get_direction (ClutterBehaviourRotate *rotate);
105 CLUTTER_DEPRECATED_IN_1_6
106 void                   clutter_behaviour_rotate_set_direction (ClutterBehaviourRotate *rotate,
107                                                                ClutterRotateDirection  direction);
108 CLUTTER_DEPRECATED_IN_1_6
109 void                   clutter_behaviour_rotate_get_bounds    (ClutterBehaviourRotate *rotate,
110                                                                gdouble                *angle_start,
111                                                                gdouble                *angle_end);
112 CLUTTER_DEPRECATED_IN_1_6
113 void                   clutter_behaviour_rotate_set_bounds    (ClutterBehaviourRotate *rotate,
114                                                                gdouble                 angle_start,
115                                                                gdouble                 angle_end);
116 
117 G_END_DECLS
118 
119 #endif /* __CLUTTER_BEHAVIOUR_ROTATE_H__ */
120