1
/*
2
 * This file is a part of hildon
3
 *
4
 * Copyright (C) 2008 Nokia Corporation, all rights reserved.
5
 *
6
 * Contact: Rodrigo Novo <rodrigo.novo@nokia.com>
7
 *
8
 * This library is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU Lesser General Public License
10
 * as published by the Free Software Foundation; version 2.1 of
11
 * the License, or (at your option) any later version.
12
 *
13
 * This library is distributed in the hope that it will be useful, but
14
 * WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
 * Lesser General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU Lesser General Public
19
 * License along with this library; if not, write to the Free Software
20
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21
 * 02110-1301 USA
22
 *
23
 */
24
25
#ifndef                                         __HILDON_ANIMATION_ACTOR_H__
26
#define                                         __HILDON_ANIMATION_ACTOR_H__
27
28
#include                                        "hildon-window.h"
29
30
G_BEGIN_DECLS
31
32
#define                                         HILDON_TYPE_ANIMATION_ACTOR \
33
                                                (hildon_animation_actor_get_type())
34
35
#define                                         HILDON_ANIMATION_ACTOR(obj) \
36
                                                (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
37
                                                HILDON_TYPE_ANIMATION_ACTOR, \
38
                                                HildonAnimationActor))
39
40
#define                                         HILDON_ANIMATION_ACTOR_CLASS(klass) \
41
                                                (G_TYPE_CHECK_CLASS_CAST ((klass), \
42
                                                HILDON_TYPE_ANIMATION_ACTOR, \
43
                                                HildonAnimationActorClass))
44
45
#define                                         HILDON_IS_ANIMATION_ACTOR(obj) \
46
                                                (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
47
                                                HILDON_TYPE_ANIMATION_ACTOR))
48
49
#define                                         HILDON_IS_ANIMATION_ACTOR_CLASS(klass) \
50
                                                (G_TYPE_CHECK_CLASS_TYPE ((klass), \
51
                                                HILDON_TYPE_ANIMATION_ACTOR))
52
53
#define                                         HILDON_ANIMATION_ACTOR_GET_CLASS(obj) \
54
                                                (G_TYPE_INSTANCE_GET_CLASS ((obj), \
55
                                                HILDON_TYPE_ANIMATION_ACTOR, \
56
                                                HildonAnimationActorClass))
57
58
typedef struct                                  _HildonAnimationActor HildonAnimationActor;
59
typedef struct                                  _HildonAnimationActorClass HildonAnimationActorClass;
60
61
struct                                          _HildonAnimationActorClass
62
{
63
    GtkWindowClass parent_class;
64
65
    /* Padding for future extension */
66
    void (*_hildon_reserved1)(void);
67
    void (*_hildon_reserved2)(void);
68
    void (*_hildon_reserved3)(void);
69
    void (*_hildon_reserved4)(void);
70
};
71
72
struct                                          _HildonAnimationActor
73
{
74
    GtkWindow parent;
75
};
76
77
#define HILDON_AA_X_AXIS	    0
78
#define HILDON_AA_Y_AXIS	    1
79
#define HILDON_AA_Z_AXIS	    2
80
81
#define HILDON_AA_N_GRAVITY	    1
82
#define HILDON_AA_NE_GRAVITY	    2
83
#define HILDON_AA_E_GRAVITY	    3
84
#define HILDON_AA_SE_GRAVITY	    4
85
#define HILDON_AA_S_GRAVITY	    5
86
#define HILDON_AA_SW_GRAVITY	    6
87
#define HILDON_AA_W_GRAVITY	    7
88
#define HILDON_AA_NW_GRAVITY	    8
89
#define HILDON_AA_CENTER_GRAVITY    9
90
91
GType
92
hildon_animation_actor_get_type                (void) G_GNUC_CONST;
93
94
GtkWidget*
95
hildon_animation_actor_new                     (void);
96
97
void
98
hildon_animation_actor_send_message (HildonAnimationActor *self,
99
                                     guint32 message_type,
100
                                     guint32 l0,
101
                                     guint32 l1,
102
                                     guint32 l2,
103
                                     guint32 l3,
104
                                     guint32 l4);
105
void
106
hildon_animation_actor_set_show_full (HildonAnimationActor *self,
107
				      gboolean show,
108
				      gint opacity);
109
void
110
hildon_animation_actor_set_show (HildonAnimationActor *self,
111
				 gboolean show);
112
void
113
hildon_animation_actor_set_opacity (HildonAnimationActor *self,
114
				    gint opacity);
115
void
116
hildon_animation_actor_set_position_full (HildonAnimationActor *self,
117
					  gint x,
118
					  gint y,
119
					  gint depth);
120
void
121
hildon_animation_actor_set_position (HildonAnimationActor *self,
122
                                     gint x,
123
                                     gint y);
124
void
125
hildon_animation_actor_set_depth (HildonAnimationActor *self,
126
				  gint depth);
127
void
128
hildon_animation_actor_set_scalex (HildonAnimationActor *self,
129
                                   gint32 x_scale,
130
                                   gint32 y_scale);
131
void
132
hildon_animation_actor_set_scale (HildonAnimationActor *self,
133
                                  double x_scale,
134
                                  double y_scale);
135
void
136
hildon_animation_actor_set_rotationx (HildonAnimationActor *self,
137
                                      gint   axis,
138
                                      gint32 degrees,
139
                                      gint   x,
140
                                      gint   y,
141
                                      gint   z);
142
void
143
hildon_animation_actor_set_rotation (HildonAnimationActor *self,
144
                                     gint   axis,
145
                                     double degrees,
146
                                     gint   x,
147
                                     gint   y,
148
                                     gint   z);
149
void
150
hildon_animation_actor_set_anchor (HildonAnimationActor *self,
151
                                   gint x,
152
                                   gint y);
153
void
154
hildon_animation_actor_set_anchor_from_gravity (HildonAnimationActor *self,
155
						guint gravity);
156
void
157
hildon_animation_actor_set_parent (HildonAnimationActor *self,
158
				   GtkWindow *parent);
159
160
G_END_DECLS
161
162
#endif                                 /* __HILDON_ANIMATION_ACTOR_H__ */