![]() |
![]() |
![]() |
Clutter Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy |
GObject +----GInitiallyUnowned +----ClutterActorMeta +----ClutterConstraint +----ClutterAlignConstraint +----ClutterBindConstraint
ClutterConstraint is a base abstract class for modifiers of a ClutterActor position or size.
A ClutterConstraint sub-class should contain the logic for modifying
the position or size of the ClutterActor to which it is applied, by
updating the actor's allocation. Each ClutterConstraint can change the
allocation of the actor to which they are applied by overriding the
virtual function.
update_allocation()
Creating a sub-class of ClutterConstraint requires the
implementation of the
virtual function.update_allocation()
The
virtual function
is called during the allocation sequence of a ClutterActor, and
allows any ClutterConstraint attached to that actor to modify the
allocation before it is passed to the update_allocation()
implementation.allocate()
The ClutterActorBox passed to the
implementation contains the
original allocation of the ClutterActor, plus the eventual modifications
applied by the other ClutterConstraints.update_allocation()
Constraints are queried in the same order as they were
applied using clutter_actor_add_constraint()
or
clutter_actor_add_constraint_with_name()
.
It is not necessary for a ClutterConstraint sub-class to chain up to the parent's implementation.
If a ClutterConstraint is parametrized - i.e. if it contains
properties that affect the way the constraint is implemented - it should
call clutter_actor_queue_relayout()
on the actor to which it is attached
to whenever any parameter is changed. The actor to which it is attached
can be recovered at any point using clutter_actor_meta_get_actor()
.
ClutterConstraint is available since Clutter 1.4