NAME
Clutter::Behaviour - Class for providing behaviours to actors
DESCRIPTION
Clutter::Behaviour is the base class for objects controlling the behaviour of actors. These objects are used primarily to drive a set of actors depending on the position on a timeline, using an "alpha" function; the alpha function is held by the Clutter::Alpha object, which automatically binds a Clutter::Timeline to the function.
HIERARCHY
Glib::Object+----Clutter::Behaviour
METHODS
$behaviour->actors_foreach ($func, $data=undef)
- •
-
$func(scalar)
- •
-
$data(scalar)
actors = $behaviour->get_actors
alpha = $behaviour->get_alpha
$behaviour->set_alpha ($alpha)
- •
-
$alpha(Clutter::Alpha)
$behaviour->apply ($actor)
- •
-
$actor(Clutter::Actor)
boolean = $behaviour->is_applied ($actor)
- •
-
$actor(Clutter::Actor)
integer = $behaviour->get_n_actors
actor = $behaviour->get_nth_actor ($index)
- •
-
$index(integer)
$behaviour->remove ($actor)
- •
-
$actor(Clutter::Actor)
$behaviour->remove_all
PROPERTIES
- 'alpha' (Clutter::Alpha : readable / writable / private)
-
Alpha Object to drive the behaviour
SIGNALS
- applied (Clutter::Behaviour, Clutter::Actor)
- removed (Clutter::Behaviour, Clutter::Actor)
DERIVING NEW BEHAVIOURS
Clutter provides various behaviours, like Clutter::Behaviour::Opacity, Clutter::Behaviour::Path and Clutter::Behaviour::Scale. You may derive a new behaviour from any of these, or directly from the Clutter::Behaviour class itself.
The new behaviour must be a GObject, so you must follow the normal procedure for creating a new Glib::Object (i.e., either using the Glib::Object::Subclass pragmatic module or by directly calling the Glib::Type::register_object function). The new subclass can customize the behaviour by providing a new implementation of the following method:
- ALPHA_NOTIFY ($behaviour, $alpha_value)
-
- o $behaviour (Clutter::Behaviour)
- o $alpha_value (float) The value computed by the alpha function
This is called each time the value of the alpha function held by the Clutter::Alpha object bound to the behaviour changes. You should update the property, or the properties, of the actors controlled by your behaviour using alpha_value, scaled accordingly.
SEE ALSO
Clutter, Glib::Object
COPYRIGHT
Copyright (C) 2006, 2007, 2008 OpenedHand Ltd
Copyright (C) 2009 Intel Corporation
This module is free software; you can redistribute it and/or modify it under the terms of either:
- •
-
the GNU Lesser General Public Library version 2.1; or
- •
-
the Artistic License, version 2.0.
See Clutter for the full copyright notice.