2010-05-19 15:10:05 +00:00
|
|
|
/**
|
|
|
|
* SECTION:clutter-constraint
|
|
|
|
* @Title: ClutterConstraint
|
2010-05-26 13:09:24 +00:00
|
|
|
* @Short_Description: Abstract class for constraints on position or size
|
2010-05-19 15:10:05 +00:00
|
|
|
* @See_Also: #ClutterAction
|
|
|
|
*
|
|
|
|
* #ClutterConstraint is a base abstract class for modifiers of a #ClutterActor
|
|
|
|
* position or size.
|
|
|
|
*
|
2010-05-26 13:09:24 +00:00
|
|
|
* A #ClutterConstraint sub-class should contain the logic for modifying
|
2010-09-17 11:09:56 +00:00
|
|
|
* 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
|
|
|
|
* <function>update_allocation()</function> virtual function.
|
2010-05-26 13:09:24 +00:00
|
|
|
*
|
2010-05-19 15:10:05 +00:00
|
|
|
* #ClutterConstraint is available since Clutter 1.4
|
|
|
|
*/
|
|
|
|
|
2010-05-14 11:13:49 +00:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
#include "config.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "clutter-constraint.h"
|
|
|
|
|
2010-09-17 11:09:56 +00:00
|
|
|
#include "clutter-actor.h"
|
2010-05-14 11:13:49 +00:00
|
|
|
#include "clutter-actor-meta-private.h"
|
|
|
|
|
|
|
|
G_DEFINE_ABSTRACT_TYPE (ClutterConstraint,
|
|
|
|
clutter_constraint,
|
|
|
|
CLUTTER_TYPE_ACTOR_META);
|
|
|
|
|
2010-09-17 11:09:56 +00:00
|
|
|
static void
|
|
|
|
constraint_update_allocation (ClutterConstraint *constraint,
|
|
|
|
ClutterActor *actor,
|
|
|
|
ClutterActorBox *allocation)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2010-05-14 11:13:49 +00:00
|
|
|
static void
|
|
|
|
clutter_constraint_class_init (ClutterConstraintClass *klass)
|
|
|
|
{
|
2010-09-17 11:09:56 +00:00
|
|
|
klass->update_allocation = constraint_update_allocation;
|
2010-05-14 11:13:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
clutter_constraint_init (ClutterConstraint *self)
|
|
|
|
{
|
|
|
|
}
|
2010-09-17 11:09:56 +00:00
|
|
|
|
|
|
|
void
|
|
|
|
_clutter_constraint_update_allocation (ClutterConstraint *constraint,
|
|
|
|
ClutterActor *actor,
|
|
|
|
ClutterActorBox *allocation)
|
|
|
|
{
|
|
|
|
g_return_if_fail (CLUTTER_IS_CONSTRAINT (constraint));
|
|
|
|
g_return_if_fail (CLUTTER_IS_ACTOR (actor));
|
|
|
|
g_return_if_fail (allocation != NULL);
|
|
|
|
|
|
|
|
CLUTTER_CONSTRAINT_GET_CLASS (constraint)->update_allocation (constraint,
|
|
|
|
actor,
|
|
|
|
allocation);
|
|
|
|
}
|