Maeomm Reference Documentation: hildonsmm |
Hildon::AnimationActor is a widget which represents an animation actor for WM-assisted animation effects in the Hildon framework. It derives from Gtk::Window and can host any widgets much like a normal window. The special features available to the animation actor is the ability to set its position, scale factor and rotation. These parameters are interpreted by Hildon's compositing window manager to alter the on-screen representation of the animation actor window. Bear in mind, however, that by design decision, animation actors are not reactive -- the widgets placed in such window will not receive keyboard, motion or button events. Animation actors are input-transparent -- the input events will be sent to the underlying real windows and widgets.
The animation actors may exist in a parented or an unparented state. To be displayed, animations actors must be parented to another top-level window widget. Animation actors display on top (in front) of the standard window contents unless the position (depth, z-coordinate) is specifically adjusted. Animation actors in an unparented state do not display at all.
Parented animation actors are placed in the coordinate space of the parent window and visually become a part of the parent window iteslf -- they inherit the transformations and effects enforced by the window manager on the parent window (task switcher animations, minimize events, etc.).
All animation actor settings (position, scale, rotation, opacity, depth) can be applied to unparented actors, but will only take effect as the actor is parented to a top-level window and that window is shown. All settings are preserved during unparenting/reparenting.
The Hildon::AnimationActor API closely follows the Clutter::Actor API. Please take a look at the Clutter::Actor description for the modelview transformations order that applies to Hildon::AnimationActor and Clutter::Actor alike.
Animation actor widget controls the animation actor as it is transformed by the window manager using ClientMessage X11 events. It tries to minimize the amount of such events and couples conceptually related parameters (visibility and opacity, position and depth) to the same message. The API, however, offers convenience functions for the programmer to be able to modify every parameter individually.
Public Types | |
enum | Axis { AXIS_X = 0, AXIS_Y = 1, AXIS_Z = 2 } |
enum | Gravity { GRAVITY_N = 1, GRAVITY_NE = 2, GRAVITY_E = 3, GRAVITY_SE = 4, GRAVITY_S = 5, GRAVITY_SW = 6, GRAVITY_W = 7, GRAVITY_NW = 8, GRAVITY_CENTER = 9 } |
Public Member Functions | |
AnimationActor () | |
const HildonAnimationActor* | gobj () const |
Provides access to the underlying C GtkObject. | |
HildonAnimationActor* | gobj () |
Provides access to the underlying C GtkObject. | |
void | set_anchor (int x, int y) |
void | set_anchor_from_gravity (Gravity gravity) |
void | set_depth (int depth) |
void | set_opacity (bool opacity=true) |
void | set_parent (Gtk::Window& parent) |
void | set_position (int x, int y) |
void | set_position (int x, int y, int depth) |
void | set_rotation (Axis axis, double degrees, int x, int y, int z) |
void | set_scale (double x_scale, double y_scale) |
void | set_show (bool show=true) |
void | set_show (bool show, int opacity) |
void | unparent () |
Unparent the animation actor. | |
virtual | ~AnimationActor () |
Related Functions | |
(Note that these are not member functions.) | |
Hildon::AnimationActor* | wrap (HildonAnimationActor* object, bool take_copy=false) |
A Glib::wrap() method for this object. |
virtual Hildon::AnimationActor::~AnimationActor | ( | ) | [virtual] |
Hildon::AnimationActor::AnimationActor | ( | ) |
const HildonAnimationActor* Hildon::AnimationActor::gobj | ( | ) | const [inline] |
HildonAnimationActor* Hildon::AnimationActor::gobj | ( | ) | [inline] |
void Hildon::AnimationActor::set_anchor | ( | int | x, | |
int | y | |||
) |
void Hildon::AnimationActor::set_anchor_from_gravity | ( | Gravity | gravity | ) |
void Hildon::AnimationActor::set_depth | ( | int | depth | ) |
void Hildon::AnimationActor::set_opacity | ( | bool | opacity = true |
) |
void Hildon::AnimationActor::set_parent | ( | Gtk::Window & | parent | ) |
void Hildon::AnimationActor::set_position | ( | int | x, | |
int | y | |||
) |
void Hildon::AnimationActor::set_position | ( | int | x, | |
int | y, | |||
int | depth | |||
) |
void Hildon::AnimationActor::set_rotation | ( | Axis | axis, | |
double | degrees, | |||
int | x, | |||
int | y, | |||
int | z | |||
) |
void Hildon::AnimationActor::set_scale | ( | double | x_scale, | |
double | y_scale | |||
) |
void Hildon::AnimationActor::set_show | ( | bool | show = true |
) |
void Hildon::AnimationActor::set_show | ( | bool | show, | |
int | opacity | |||
) |
void Hildon::AnimationActor::unparent | ( | ) |
Unparent the animation actor.
This will restore the actor's visibility if it was suppressed by being unparented or parented to an unmapped window.
Reimplemented from Gtk::Widget.
Hildon::AnimationActor* wrap | ( | HildonAnimationActor * | object, | |
bool | take_copy = false | |||
) | [related] |
A Glib::wrap() method for this object.
object | The C instance. | |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |