2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>

* clutter/clutter-behaviour-path.h:
	* clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
	which is emitted when the path reaches a node in the nodes list;
	flesh out the documentation a bit; sync the parameters names
	so that gtk-doc doesn't complain about missing stuff.

	* clutter/clutter-behaviour.h:
	* clutter/clutter-behaviour.c: Add the alpha value to the
	ClutterBehaviour::alpha_notify vfunc, so you don't have to
	get the value from the alpha inside the behaviour implementations;
	add more documentation.

	* clutter/clutter-alpha.c: Flesh out the description.

	* clutter/clutter-actor.h: Update the header.

	* clutter/clutter-behaviour-opacity.c:
	* clutter/clutter-behaviour-scale.c: Update docs.
This commit is contained in:
Emmanuele Bassi 2006-11-17 18:45:31 +00:00
parent 491e3ca9d2
commit 237496fa75
27 changed files with 1729 additions and 1229 deletions

View File

@ -1,3 +1,24 @@
2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-behaviour-path.h:
* clutter/clutter-behaviour-path.c: Add a "knot-reached" signal,
which is emitted when the path reaches a node in the nodes list;
flesh out the documentation a bit; sync the parameters names
so that gtk-doc doesn't complain about missing stuff.
* clutter/clutter-behaviour.h:
* clutter/clutter-behaviour.c: Add the alpha value to the
ClutterBehaviour::alpha_notify vfunc, so you don't have to
get the value from the alpha inside the behaviour implementations;
add more documentation.
* clutter/clutter-alpha.c: Flesh out the description.
* clutter/clutter-actor.h: Update the header.
* clutter/clutter-behaviour-opacity.c:
* clutter/clutter-behaviour-scale.c: Update docs.
2006-11-17 Matthew Allum <mallum@openedhand.com> 2006-11-17 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-alpha.c: * clutter/clutter-alpha.c:

View File

@ -934,8 +934,8 @@ clutter_actor_set_size (ClutterActor *self,
/* /*
* clutter_actor_get_size * clutter_actor_get_size
* @self: A #ClutterActor * @self: A #ClutterActor
* @x: Location to store width if non NULL. * @width: Location to store width if non NULL.
* @y: Location to store height if non NULL. * @height: Location to store height if non NULL.
* *
* Gets the size of an actor ignoring any scaling factors * Gets the size of an actor ignoring any scaling factors
* *

View File

@ -211,42 +211,28 @@ void clutter_actor_lower_bottom (ClutterActor *sel
void clutter_actor_set_depth (ClutterActor *self, void clutter_actor_set_depth (ClutterActor *self,
gint depth); gint depth);
gint clutter_actor_get_depth (ClutterActor *self); gint clutter_actor_get_depth (ClutterActor *self);
void clutter_actor_set_scalex (ClutterActor *self,
void ClutterFixed scale_x,
clutter_actor_set_scalex (ClutterActor *self, ClutterFixed scale_y);
ClutterFixed scale_x, void clutter_actor_set_scale (ClutterActor *self,
ClutterFixed scale_y); gdouble scale_x,
gdouble scale_y);
void void clutter_actor_get_scalex (ClutterActor *self,
clutter_actor_set_scale (ClutterActor *self, ClutterFixed *scale_x,
double scale_x, ClutterFixed *scale_y);
double scale_y); void clutter_actor_get_scale (ClutterActor *self,
gdouble *scale_x,
void gdouble *scale_y);
clutter_actor_get_scalex (ClutterActor *self, void clutter_actor_get_abs_size (ClutterActor *self,
ClutterFixed *scale_x, guint *width,
ClutterFixed *scale_y); guint *height);
void clutter_actor_get_size (ClutterActor *self,
void guint *width,
clutter_actor_get_scale (ClutterActor *self, guint *height);
double *scale_x, void clutter_actor_move_by (ClutterActor *self,
double *scale_y); gint dx,
gint dy);
void
clutter_actor_get_abs_size (ClutterActor *self,
guint *width,
guint *height);
void
clutter_actor_get_size (ClutterActor *self,
guint *width,
guint *height);
void
clutter_actor_move_by (ClutterActor *self,
gint dx,
gint dy);
G_END_DECLS G_END_DECLS
#endif #endif /* _HAVE_CLUTTER_ACTOR_H */

View File

@ -31,7 +31,16 @@
* of time. * of time.
* *
* #ClutterAlpha is a class for calculating an integer value between * #ClutterAlpha is a class for calculating an integer value between
* 0 and CLUTTER_ALPHA_MAX_ALPHA as a function of time. * 0 and %CLUTTER_ALPHA_MAX_ALPHA as a function of time. You should
* provide a #ClutterTimeline and bind it to the #ClutterAlpha object;
* you should also provide a function returning the alpha value depending
* on the position inside the timeline; this function will be executed
* each time a new frame in the #ClutterTimeline is reached. Since the
* alpha function is controlled by the timeline instance, you can pause
* or stop the #ClutterAlpha from calling the alpha function by controlling
* the #ClutterTimeline object.
*
* #ClutterAlpha is used to "drive" a #ClutterBehaviour instance.
*/ */
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
@ -142,6 +151,10 @@ clutter_alpha_finalize (GObject *object)
if (priv->destroy) if (priv->destroy)
{ {
priv->destroy (priv->data); priv->destroy (priv->data);
priv->destroy = NULL;
priv->data = NULL;
priv->func = NULL;
} }
G_OBJECT_CLASS (clutter_alpha_parent_class)->finalize (object); G_OBJECT_CLASS (clutter_alpha_parent_class)->finalize (object);
@ -300,7 +313,9 @@ clutter_alpha_set_timeline (ClutterAlpha *alpha,
* clutter_alpha_get_timeline: * clutter_alpha_get_timeline:
* @alpha: A #ClutterAlpha * @alpha: A #ClutterAlpha
* *
* Return value: The #ClutterTimeline * Gets the #ClutterTimeline bound to @alpha.
*
* Return value: a #ClutterTimeline instance
*/ */
ClutterTimeline * ClutterTimeline *
clutter_alpha_get_timeline (ClutterAlpha *alpha) clutter_alpha_get_timeline (ClutterAlpha *alpha)
@ -336,10 +351,10 @@ clutter_alpha_new (void)
* @data: data to be passed to the alpha function * @data: data to be passed to the alpha function
* @destroy: notify to be called when removing the alpha function * @destroy: notify to be called when removing the alpha function
* *
* Create a new #ClutterAlpha instance and sets the timeline * Creates a new #ClutterAlpha instance and sets the timeline
* and alpha function. * and alpha function.
* *
* Return Value: a new #ClutterAlpha * Return Value: the newly created #ClutterAlpha
*/ */
ClutterAlpha * ClutterAlpha *
clutter_alpha_new_full (ClutterTimeline *timeline, clutter_alpha_new_full (ClutterTimeline *timeline,
@ -360,6 +375,16 @@ clutter_alpha_new_full (ClutterTimeline *timeline,
return retval; return retval;
} }
/**
* clutter_ramp_inc_func:
* @alpha: a #ClutterAlpha
* @dummy: unused argument
*
* Convenience alpha function for a monotonic increasing ramp. You
* can use this function as the alpha function for clutter_alpha_set_func().
*
* Return value: an alpha value.
*/
guint32 guint32
clutter_ramp_inc_func (ClutterAlpha *alpha, clutter_ramp_inc_func (ClutterAlpha *alpha,
gpointer dummy) gpointer dummy)
@ -375,6 +400,16 @@ clutter_ramp_inc_func (ClutterAlpha *alpha,
return (current_frame_num * CLUTTER_ALPHA_MAX_ALPHA) / n_frames; return (current_frame_num * CLUTTER_ALPHA_MAX_ALPHA) / n_frames;
} }
/**
* clutter_ramp_dec_func:
* @alpha: a #ClutterAlpha
* @dummy: unused argument
*
* Convenience alpha function for a monotonic decreasing ramp. You
* can use this function as the alpha function for clutter_alpha_set_func().
*
* Return value: an alpha value.
*/
guint32 guint32
clutter_ramp_dec_func (ClutterAlpha *alpha, clutter_ramp_dec_func (ClutterAlpha *alpha,
gpointer dummy) gpointer dummy)
@ -392,6 +427,17 @@ clutter_ramp_dec_func (ClutterAlpha *alpha,
/ n_frames; / n_frames;
} }
/**
* clutter_ramp_func:
* @alpha: a #ClutterAlpha
* @dummy: unused argument
*
* Convenience alpha function for a full ramp function (increase for
* half the time, decrease for the remaining half). You can use this
* function as the alpha function for clutter_alpha_set_func().
*
* Return value: an alpha value.
*/
guint32 guint32
clutter_ramp_func (ClutterAlpha *alpha, clutter_ramp_func (ClutterAlpha *alpha,
gpointer dummy) gpointer dummy)
@ -418,6 +464,16 @@ clutter_ramp_func (ClutterAlpha *alpha,
} }
} }
/**
* clutter_sine_func:
* @alpha: a #ClutterAlpha
* @dummy: unused argument
*
* Convenience alpha function for a sine wave. You can use this
* function as the alpha function for clutter_alpha_set_func().
*
* Return value: an alpha value.
*/
guint32 guint32
clutter_sine_func (ClutterAlpha *alpha, clutter_sine_func (ClutterAlpha *alpha,
gpointer dummy) gpointer dummy)

View File

@ -44,6 +44,13 @@
#include <math.h> #include <math.h>
/**
* SECTION:clutter-behaviour-opacity
* @short_description: Behaviour controlling the opacity
*
* #ClutterBehaviourOpacity controls the opacity of a set of actors.
*/
G_DEFINE_TYPE (ClutterBehaviourOpacity, G_DEFINE_TYPE (ClutterBehaviourOpacity,
clutter_behaviour_opacity, clutter_behaviour_opacity,
CLUTTER_TYPE_BEHAVIOUR); CLUTTER_TYPE_BEHAVIOUR);
@ -60,8 +67,8 @@ struct _ClutterBehaviourOpacityPrivate
ClutterBehaviourOpacityPrivate)) ClutterBehaviourOpacityPrivate))
static void static void
clutter_behaviour_opacity_frame_foreach (ClutterActor *actor, opacity_frame_foreach (ClutterActor *actor,
ClutterBehaviourOpacity *behave) ClutterBehaviourOpacity *behave)
{ {
guint32 alpha; guint32 alpha;
guint8 opacity; guint8 opacity;
@ -84,10 +91,11 @@ clutter_behaviour_opacity_frame_foreach (ClutterActor *actor,
} }
static void static void
clutter_behaviour_alpha_notify (ClutterBehaviour *behave) clutter_behaviour_alpha_notify (ClutterBehaviour *behave,
guint32 alpha_value)
{ {
clutter_behaviour_actors_foreach (behave, clutter_behaviour_actors_foreach (behave,
(GFunc)clutter_behaviour_opacity_frame_foreach, (GFunc) opacity_frame_foreach,
CLUTTER_BEHAVIOUR_OPACITY (behave)); CLUTTER_BEHAVIOUR_OPACITY (behave));
} }
@ -117,18 +125,18 @@ clutter_behaviour_opacity_init (ClutterBehaviourOpacity *self)
} }
/** /**
* clutter_behaviour_opacity_new : * clutter_behaviour_opacity_new:
* @alpha: a #ClutterAlpha * @alpha: a #ClutterAlpha instance, or %NULL
* @scale_begin: initial opacity value * @opacity_start: minimum level of opacity
* @scale_end: final opacity value * @opacity_end: maximum level of opacity
* *
* Creates a new #ClutterBehaviourOpacity instance. * Creates a new #ClutterBehaviourOpacity object, driven by @alpha
* which controls the opacity property of every actor, making it
* change in the interval between @opacity_start and @opacity_end.
* *
* Return value: the newly created #ClutterBehaviourOpacity * Return value: the newly created #ClutterBehaviourOpacity
*
* Since: 0.2
*/ */
ClutterBehaviour* ClutterBehaviour *
clutter_behaviour_opacity_new (ClutterAlpha *alpha, clutter_behaviour_opacity_new (ClutterAlpha *alpha,
guint8 opacity_start, guint8 opacity_start,
guint8 opacity_end) guint8 opacity_end)

View File

@ -39,12 +39,25 @@
#include "clutter-actor.h" #include "clutter-actor.h"
#include "clutter-behaviour.h" #include "clutter-behaviour.h"
#include "clutter-marshal.h"
#include "clutter-enum-types.h" #include "clutter-enum-types.h"
#include "clutter-main.h" #include "clutter-main.h"
#include "clutter-behaviour-path.h" #include "clutter-behaviour-path.h"
#include <math.h> #include <math.h>
/**
* SECTION:clutter-behaviour-path
* @short_description: Behaviour for walking on a path
*
* #ClutterBehaviourPath makes all the actors driven by it walk on a path.
* A path is a set of #ClutterKnots object given when creating a new
* #ClutterBehaviourPath instance. Knots can be also added to the path
* using clutter_behaviour_path_append_knot(). The whole path can be
* cleared using clutter_behaviour_path_clear(). Each time the behaviour
* reaches a knot in the path, the "knot-reached" signal is emitted.
*/
static ClutterKnot * static ClutterKnot *
clutter_knot_copy (const ClutterKnot *knot) clutter_knot_copy (const ClutterKnot *knot)
{ {
@ -80,8 +93,8 @@ clutter_knot_get_type (void)
} }
G_DEFINE_TYPE (ClutterBehaviourPath, \ G_DEFINE_TYPE (ClutterBehaviourPath,
clutter_behaviour_path, \ clutter_behaviour_path,
CLUTTER_TYPE_BEHAVIOUR); CLUTTER_TYPE_BEHAVIOUR);
struct _ClutterBehaviourPathPrivate struct _ClutterBehaviourPathPrivate
@ -94,6 +107,15 @@ struct _ClutterBehaviourPathPrivate
CLUTTER_TYPE_BEHAVIOUR_PATH, \ CLUTTER_TYPE_BEHAVIOUR_PATH, \
ClutterBehaviourPathPrivate)) ClutterBehaviourPathPrivate))
enum
{
KNOT_REACHED,
LAST_SIGNAL
};
static guint path_signals[LAST_SIGNAL] = { 0, };
static void static void
clutter_behaviour_path_finalize (GObject *object) clutter_behaviour_path_finalize (GObject *object)
{ {
@ -105,7 +127,7 @@ clutter_behaviour_path_finalize (GObject *object)
G_OBJECT_CLASS (clutter_behaviour_path_parent_class)->finalize (object); G_OBJECT_CLASS (clutter_behaviour_path_parent_class)->finalize (object);
} }
static void static inline void
interpolate (const ClutterKnot *begin, interpolate (const ClutterKnot *begin,
const ClutterKnot *end, const ClutterKnot *end,
ClutterKnot *out, ClutterKnot *out,
@ -117,7 +139,8 @@ interpolate (const ClutterKnot *begin,
} }
static gint static gint
node_distance (const ClutterKnot *begin, const ClutterKnot *end) node_distance (const ClutterKnot *begin,
const ClutterKnot *end)
{ {
g_return_val_if_fail (begin != NULL, 0); g_return_val_if_fail (begin != NULL, 0);
g_return_val_if_fail (end != NULL, 0); g_return_val_if_fail (end != NULL, 0);
@ -141,18 +164,18 @@ path_total_length (ClutterBehaviourPath *behave)
} }
static void static void
actor_apply_knot_foreach (ClutterActor *actor, actor_apply_knot_foreach (ClutterActor *actor,
ClutterKnot *knot) ClutterKnot *knot)
{ {
clutter_actor_set_position (actor, knot->x, knot->y); clutter_actor_set_position (actor, knot->x, knot->y);
} }
static void static void
path_alpha_to_position (ClutterBehaviourPath *behave) path_alpha_to_position (ClutterBehaviourPath *behave,
guint32 alpha)
{ {
ClutterBehaviourPathPrivate *priv = behave->priv; ClutterBehaviourPathPrivate *priv = behave->priv;
ClutterBehaviour *behaviour = CLUTTER_BEHAVIOUR (behave); ClutterBehaviour *behaviour = CLUTTER_BEHAVIOUR (behave);
guint32 alpha;
GSList *l; GSList *l;
gint total_len, offset, dist_to_next, dist = 0; gint total_len, offset, dist_to_next, dist = 0;
@ -168,8 +191,6 @@ path_alpha_to_position (ClutterBehaviourPath *behave)
* o Apply to actors. * o Apply to actors.
*/ */
alpha = clutter_alpha_get_alpha (clutter_behaviour_get_alpha (behaviour));
total_len = path_total_length (behave); total_len = path_total_length (behave);
offset = (alpha * total_len) / CLUTTER_ALPHA_MAX_ALPHA; offset = (alpha * total_len) / CLUTTER_ALPHA_MAX_ALPHA;
@ -178,6 +199,9 @@ path_alpha_to_position (ClutterBehaviourPath *behave)
clutter_behaviour_actors_foreach (behaviour, clutter_behaviour_actors_foreach (behaviour,
(GFunc) actor_apply_knot_foreach, (GFunc) actor_apply_knot_foreach,
priv->knots->data); priv->knots->data);
g_signal_emit (behave, path_signals[KNOT_REACHED], 0,
priv->knots->data);
return; return;
} }
@ -197,11 +221,15 @@ path_alpha_to_position (ClutterBehaviourPath *behave)
/* FIXME: Use fixed */ /* FIXME: Use fixed */
t = (double) (offset - dist) / dist_to_next; t = (double) (offset - dist) / dist_to_next;
interpolate (knot, next, &new, t); interpolate (knot, next, &new, t);
clutter_behaviour_actors_foreach (behaviour, clutter_behaviour_actors_foreach (behaviour,
(GFunc)actor_apply_knot_foreach, (GFunc)actor_apply_knot_foreach,
&new); &new);
g_signal_emit (behave, path_signals[KNOT_REACHED], 0, &new);
return; return;
} }
} }
@ -211,25 +239,41 @@ path_alpha_to_position (ClutterBehaviourPath *behave)
} }
static void static void
clutter_behaviour_path_alpha_notify (ClutterBehaviour *behave) clutter_behaviour_path_alpha_notify (ClutterBehaviour *behave,
guint32 alpha_value)
{ {
path_alpha_to_position (CLUTTER_BEHAVIOUR_PATH(behave)); path_alpha_to_position (CLUTTER_BEHAVIOUR_PATH (behave), alpha_value);
} }
static void static void
clutter_behaviour_path_class_init (ClutterBehaviourPathClass *klass) clutter_behaviour_path_class_init (ClutterBehaviourPathClass *klass)
{ {
GObjectClass *object_class; GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
ClutterBehaviourClass *behave_class; ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass);
object_class = (GObjectClass*) klass; gobject_class->finalize = clutter_behaviour_path_finalize;
behave_class = (ClutterBehaviourClass*) klass;
object_class->finalize = clutter_behaviour_path_finalize; /**
* ClutterBehaviourPath::knot-reached:
* @pathb: the object which received the signal
* @knot: the #ClutterKnot reached
*
* This signal is emitted each time a node defined inside the path
* is reached.
*/
path_signals[KNOT_REACHED] =
g_signal_new ("knot-reached",
G_TYPE_FROM_CLASS (gobject_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (ClutterBehaviourPathClass, knot_reached),
NULL, NULL,
clutter_marshal_VOID__BOXED,
G_TYPE_NONE, 1,
CLUTTER_TYPE_KNOT);
behave_class->alpha_notify = clutter_behaviour_path_alpha_notify; behave_class->alpha_notify = clutter_behaviour_path_alpha_notify;
g_type_class_add_private (object_class, sizeof (ClutterBehaviourPathPrivate)); g_type_class_add_private (klass, sizeof (ClutterBehaviourPathPrivate));
} }
static void static void
@ -242,20 +286,21 @@ clutter_behaviour_path_init (ClutterBehaviourPath *self)
/** /**
* clutter_behaviour_path_new: * clutter_behaviour_path_new:
* @alpha: a #ClutterAlpha * @alpha: a #ClutterAlpha, or %NULL
* @knots: a list of #ClutterKnots * @knots: a list of #ClutterKnots, or %NULL for an empty path
* @n_knots: the number of nodes in the path * @n_knots: the number of nodes in the path
* *
* Creates a new #ClutterBehaviourPath instance for supplied knots. * Creates a new path behaviour. You can use this behaviour to drive
* actors along the nodes of a path, described by the @knots.
* *
* Return value: a #ClutterBehaviour * Return value: a #ClutterBehaviour
* *
* Since: 0.2 * Since: 0.2
*/ */
ClutterBehaviour * ClutterBehaviour *
clutter_behaviour_path_new (ClutterAlpha *alpha, clutter_behaviour_path_new (ClutterAlpha *alpha,
const ClutterKnot *knots, const ClutterKnot *knots,
guint n_knots) guint n_knots)
{ {
ClutterBehaviourPath *behave; ClutterBehaviourPath *behave;
gint i; gint i;
@ -276,23 +321,23 @@ clutter_behaviour_path_new (ClutterAlpha *alpha,
/** /**
* clutter_behaviour_path_get_knots: * clutter_behaviour_path_get_knots:
* @behave: a #ClutterBehvaiourPath * @pathb: a #ClutterBehvaiourPath
* *
* Returns a copy of the list of knots contained by the #ClutterBehvaiourPath * Returns a copy of the list of knots contained by @pathb
* *
* Return value: a #GSList of the paths knots. * Return value: a #GSList of the paths knots.
* *
* Since: 0.2 * Since: 0.2
*/ */
GSList * GSList *
clutter_behaviour_path_get_knots (ClutterBehaviourPath *behave) clutter_behaviour_path_get_knots (ClutterBehaviourPath *pathb)
{ {
GSList *retval, *l; GSList *retval, *l;
g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_PATH (behave), NULL); g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_PATH (pathb), NULL);
retval = NULL; retval = NULL;
for (l = behave->priv->knots; l != NULL; l = l->next) for (l = pathb->priv->knots; l != NULL; l = l->next)
retval = g_slist_prepend (retval, l->data); retval = g_slist_prepend (retval, l->data);
return g_slist_reverse (retval); return g_slist_reverse (retval);

View File

@ -80,6 +80,14 @@ struct _ClutterBehaviourPath
struct _ClutterBehaviourPathClass struct _ClutterBehaviourPathClass
{ {
ClutterBehaviourClass parent_class; ClutterBehaviourClass parent_class;
void (*knot_reached) (ClutterBehaviourPath *pathb,
const ClutterKnot *knot);
void (*_clutter_path_1) (void);
void (*_clutter_path_2) (void);
void (*_clutter_path_3) (void);
void (*_clutter_path_4) (void);
}; };
GType clutter_behaviour_path_get_type (void) G_GNUC_CONST; GType clutter_behaviour_path_get_type (void) G_GNUC_CONST;
@ -87,20 +95,19 @@ GType clutter_behaviour_path_get_type (void) G_GNUC_CONST;
ClutterBehaviour *clutter_behaviour_path_new (ClutterAlpha *alpha, ClutterBehaviour *clutter_behaviour_path_new (ClutterAlpha *alpha,
const ClutterKnot *knots, const ClutterKnot *knots,
guint n_knots); guint n_knots);
GSList * clutter_behaviour_path_get_knots (ClutterBehaviourPath *behave); GSList * clutter_behaviour_path_get_knots (ClutterBehaviourPath *pathb);
void clutter_behaviour_path_append_knot (ClutterBehaviourPath *behave, void clutter_behaviour_path_append_knot (ClutterBehaviourPath *pathb,
const ClutterKnot *knot); const ClutterKnot *knot);
void clutter_behaviour_path_append_knots (ClutterBehaviourPath *pathb, void clutter_behaviour_path_append_knots (ClutterBehaviourPath *pathb,
const ClutterKnot *first_knot, const ClutterKnot *first_knot,
...) G_GNUC_NULL_TERMINATED; ...) G_GNUC_NULL_TERMINATED;
void clutter_behaviour_path_insert_knot (ClutterBehaviourPath *pathb,
guint offset,
const ClutterKnot *knot);
void clutter_behaviour_path_remove_knot (ClutterBehaviourPath *pathb,
guint offset);
void clutter_behaviour_path_insert_knot (ClutterBehaviourPath *pathb, void clutter_behaviour_path_clear (ClutterBehaviourPath *path);
guint offset,
const ClutterKnot *knot);
void clutter_behaviour_path_remove_knot (ClutterBehaviourPath *pathb,
guint offset);
void clutter_behaviour_path_clear (ClutterBehaviourPath *path);
G_END_DECLS G_END_DECLS

View File

@ -45,6 +45,13 @@
#include <math.h> #include <math.h>
/**
* SECTION:clutter-behaviour-scale
* @short_description: Behaviour controlling the scale of a set of actors
*
* FIXME
*/
G_DEFINE_TYPE (ClutterBehaviourScale, G_DEFINE_TYPE (ClutterBehaviourScale,
clutter_behaviour_scale, clutter_behaviour_scale,
CLUTTER_TYPE_BEHAVIOUR); CLUTTER_TYPE_BEHAVIOUR);
@ -63,8 +70,8 @@ struct _ClutterBehaviourScalePrivate
ClutterBehaviourScalePrivate)) ClutterBehaviourScalePrivate))
static void static void
clutter_behaviour_scale_frame_foreach (ClutterActor *actor, scale_frame_foreach (ClutterActor *actor,
ClutterBehaviourScale *behave) ClutterBehaviourScale *behave)
{ {
ClutterFixed scale, factor; ClutterFixed scale, factor;
guint32 alpha; guint32 alpha;
@ -122,10 +129,11 @@ clutter_behaviour_scale_frame_foreach (ClutterActor *actor,
} }
static void static void
clutter_behaviour_scale_alpha_notify (ClutterBehaviour *behave) clutter_behaviour_scale_alpha_notify (ClutterBehaviour *behave,
guint32 alpha_value)
{ {
clutter_behaviour_actors_foreach (behave, clutter_behaviour_actors_foreach (behave,
(GFunc)clutter_behaviour_scale_frame_foreach, (GFunc) scale_frame_foreach,
CLUTTER_BEHAVIOUR_SCALE (behave)); CLUTTER_BEHAVIOUR_SCALE (behave));
} }
@ -154,6 +162,7 @@ clutter_behaviour_scale_init (ClutterBehaviourScale *self)
* @alpha: a #ClutterAlpha * @alpha: a #ClutterAlpha
* @scale_begin: initial scale factor * @scale_begin: initial scale factor
* @scale_end: final scale factor * @scale_end: final scale factor
* @gravity: FIXME
* *
* Creates a new #ClutterBehaviourScale instance. * Creates a new #ClutterBehaviourScale instance.
* *

View File

@ -27,6 +27,26 @@
* SECTION:clutter-behaviour * SECTION:clutter-behaviour
* @short_description: Class for providing behaviours to actors * @short_description: Class for providing behaviours to actors
* *
* #ClutterBehaviour is the base class for implementing behaviours. A
* behaviour is a controller object for #ClutterActor<!-- -->s; you can
* use a behaviour to control one or more properties of an actor (such
* as its opacity, or its position). A #ClutterBehaviour is driven by
* an "alpha function" stored inside a #ClutterAlpha object; an alpha
* function is a function depending solely on time. The alpha function
* computes a value which is then applied to the properties of the
* actors driven by a behaviour.
*
* Clutter provides some pre-defined behaviours, like #ClutterBehaviourPath,
* which controls the position of a set of actors making them "walk" along
* a set of nodes; #ClutterBehaviourOpacity, which controls the opacity
* of a set of actors; #ClutterBehaviourScale, which controls the width
* and height of a set of actors.
*
* In order to implement a new behaviour you should subclass #ClutterBehaviour
* and override the "alpha_notify" virtual function; inside the overridden
* function you should obtain the alpha value from the #ClutterAlpha
* instance bound to the behaviour and apply it to the desiderd property
* (or properties) of every actor controlled by the behaviour.
*/ */
#include "config.h" #include "config.h"
@ -214,12 +234,18 @@ notify_cb (GObject *object,
GParamSpec *param_spec, GParamSpec *param_spec,
ClutterBehaviour *behave) ClutterBehaviour *behave)
{ {
ClutterBehaviourClass *class; ClutterBehaviourClass *klass;
class = CLUTTER_BEHAVIOUR_GET_CLASS(behave); klass = CLUTTER_BEHAVIOUR_GET_CLASS (behave);
if (class->alpha_notify) if (klass->alpha_notify)
class->alpha_notify (behave); {
guint32 alpha_value;
alpha_value = clutter_alpha_get_alpha (behave->priv->alpha);
klass->alpha_notify (behave, alpha_value);
}
} }
void void

View File

@ -70,8 +70,11 @@ struct _ClutterBehaviourClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
void (*alpha_notify) (ClutterBehaviour *behave); /* vfunc, not signal */
void (*alpha_notify) (ClutterBehaviour *behave,
guint32 alpha_value);
/* padding, for future expansion */
void (*_clutter_behaviour1) (void); void (*_clutter_behaviour1) (void);
void (*_clutter_behaviour2) (void); void (*_clutter_behaviour2) (void);
void (*_clutter_behaviour3) (void); void (*_clutter_behaviour3) (void);

View File

@ -1,3 +1,26 @@
2006-11-17 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: Move stuff around: get_type and Private
stuff go in the Private subsection; remove private symbols like
pango stuff and the enum gtype signatures; remove cruft.
* Makefile.am: Add more private files.
* tmpl/clutter-fixed.sgml:
* tmpl/clutter-feature.sgml:
* tmpl/clutter-actor.sgml:
* tmpl/clutter-media.sgml:
* tmpl/clutter-behaviour-opacity.sgml:
* tmpl/clutter-behaviour-path.sgml:
* tmpl/clutter-behaviour-scale.sgml:
* tmpl/clutter-behaviour.sgml:
* tmpl/clutter-alpha.sgml: Add templates.
* tmpl/clutter-0.0-unused.sgml:
* tmpl/clutter.sgml:
* tmpl/clutter-enum-types.sgml:
* tmpl/clutter-element.sgml: Remove old templates.
2006-11-15 Emmanuele Bassi <ebassi@openedhand.com> 2006-11-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter-sections.txt: * clutter-sections.txt:

View File

@ -51,7 +51,9 @@ IGNORE_HFILES=\
clutter-private.h \ clutter-private.h \
clutter-marshal.h \ clutter-marshal.h \
clutter-keysyms.h \ clutter-keysyms.h \
stamp-clutter-enum-types.h clutter-enum-types.h \
stamp-clutter-enum-types.h \
pango
# Images to copy into HTML directory. # Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png

View File

@ -19,6 +19,7 @@ clutter_media_set_filename
CLUTTER_MEDIA CLUTTER_MEDIA
CLUTTER_IS_MEDIA CLUTTER_IS_MEDIA
CLUTTER_TYPE_MEDIA CLUTTER_TYPE_MEDIA
<SUBSECTION Private>
clutter_media_get_type clutter_media_get_type
</SECTION> </SECTION>
@ -99,12 +100,12 @@ clutter_alpha_get_timeline
CLUTTER_ALPHA CLUTTER_ALPHA
CLUTTER_IS_ALPHA CLUTTER_IS_ALPHA
CLUTTER_TYPE_ALPHA CLUTTER_TYPE_ALPHA
clutter_alpha_get_type
CLUTTER_ALPHA_CLASS CLUTTER_ALPHA_CLASS
CLUTTER_IS_ALPHA_CLASS CLUTTER_IS_ALPHA_CLASS
CLUTTER_ALPHA_GET_CLASS CLUTTER_ALPHA_GET_CLASS
<SUBSECTION Private> <SUBSECTION Private>
ClutterAlphaPrivate ClutterAlphaPrivate
clutter_alpha_get_type
</SECTION> </SECTION>
<SECTION> <SECTION>
@ -186,16 +187,13 @@ CLUTTER_ACTOR_IS_MAPPED
CLUTTER_ACTOR_IS_REALIZED CLUTTER_ACTOR_IS_REALIZED
CLUTTER_ACTOR_IS_VISIBLE CLUTTER_ACTOR_IS_VISIBLE
ClutterActorBox ClutterActorBox
ClutterActorPrivate
ClutterGeometry
ClutterCallback
CLUTTER_CALLBACK
ClutterActorFlags ClutterActorFlags
clutter_actor_box_get_type ClutterGeometry
CLUTTER_CALLBACK
ClutterCallback
<TITLE>ClutterActor</TITLE> <TITLE>ClutterActor</TITLE>
ClutterActor ClutterActor
ClutterActorClass ClutterActorClass
clutter_actor_get_type
clutter_actor_show clutter_actor_show
clutter_actor_hide clutter_actor_hide
clutter_actor_realize clutter_actor_realize
@ -245,10 +243,14 @@ clutter_actor_get_abs_size
CLUTTER_ACTOR CLUTTER_ACTOR
CLUTTER_IS_ACTOR CLUTTER_IS_ACTOR
CLUTTER_TYPE_ACTOR CLUTTER_TYPE_ACTOR
clutter_geometry_get_type
CLUTTER_ACTOR_CLASS CLUTTER_ACTOR_CLASS
CLUTTER_IS_ACTOR_CLASS CLUTTER_IS_ACTOR_CLASS
CLUTTER_ACTOR_GET_CLASS CLUTTER_ACTOR_GET_CLASS
<SUBSECTION Private>
ClutterActorPrivate
clutter_actor_get_type
clutter_actor_box_get_type
clutter_geometry_get_type
</SECTION> </SECTION>
<SECTION> <SECTION>
@ -399,58 +401,11 @@ ClutterBehaviourScalePrivate
clutter_behaviour_scale_get_type clutter_behaviour_scale_get_type
</SECTION> </SECTION>
<SECTION>
<FILE>pangoclutter-private</FILE>
PANGO_SCALE_26_6
PANGO_PIXELS_26_6
PANGO_UNITS_26_6
PANGO_CLUTTER_FONT
PangoClutterFont
PangoClutterGlyphInfo
pango_clutter_get_unknown_glyph
pango_clutter_font_get_face
PangoClutterRenderer
PANGO_TYPE_CLUTTER_RENDERER
PANGO_CLUTTER_RENDERER
PANGO_IS_CLUTTER_RENDERER
pango_clutter_renderer_get_type
pango_fc_font_get_raw_extents
<SUBSECTION Standard>
PANGO_TYPE_CLUTTER_FONT
PANGO_CLUTTER_IS_FONT
pango_clutter_font_get_type
</SECTION>
<SECTION>
<FILE>pangoclutter</FILE>
PANGO_ENABLE_BACKEND
G_DISABLE_CAST_CHECKS
PANGO_CLUTTER_FONT_MAP
PangoClutterFontMap
PangoClutterFontMapClass
PangoClutterSubstituteFunc
pango_clutter_font_map_new
pango_clutter_font_map_set_default_substitute
pango_clutter_font_map_substitute_changed
pango_clutter_font_map_create_context
FLAG_INVERSE
FLAG_OUTLINE
pango_clutter_render_layout_subpixel
pango_clutter_render_layout
pango_clutter_render_layout_line
pango_clutter_render_clear_caches
<SUBSECTION Standard>
PANGO_TYPE_CLUTTER_FONT_MAP
PANGO_CLUTTER_IS_FONT_MAP
pango_clutter_font_map_get_type
</SECTION>
<SECTION> <SECTION>
<FILE>clutter-util</FILE> <FILE>clutter-util</FILE>
clutter_util_trap_x_errors clutter_util_trap_x_errors
clutter_util_untrap_x_errors clutter_util_untrap_x_errors
clutter_util_next_p2 clutter_util_next_p2
clutter_util_can_create_texture
</SECTION> </SECTION>
<SECTION> <SECTION>
@ -539,22 +494,3 @@ clutter_want_debug
clutter_threads_enter clutter_threads_enter
clutter_threads_leave clutter_threads_leave
</SECTION> </SECTION>
<SECTION>
<FILE>clutter</FILE>
</SECTION>
<SECTION>
<FILE>clutter-enum-types</FILE>
CLUTTER_TYPE_EVENT_TYPE
clutter_event_type_get_type
CLUTTER_TYPE_FEATURE_FLAGS
clutter_feature_flags_get_type
CLUTTER_TYPE_ACTOR_FLAGS
clutter_actor_flags_get_type
CLUTTER_TYPE_RAMP_TYPE
clutter_ramp_type_get_type
CLUTTER_TYPE_INIT_ERROR
clutter_init_error_get_type
</SECTION>

View File

@ -1,488 +0,0 @@
<!-- ##### SECTION ./tmpl/clutter-element.sgml:Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/clutter-element.sgml:See_Also ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/clutter-element.sgml:Short_Description ##### -->
<!-- ##### SECTION ./tmpl/clutter-element.sgml:Stability_Level ##### -->
<!-- ##### SECTION ./tmpl/clutter-element.sgml:Title ##### -->
ClutterElement
<!-- ##### MACRO CLUTTER_ELEMENT_IS_MAPPED ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ELEMENT_IS_REALIZED ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ELEMENT_IS_VISIBLE ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ELEMENT_SET_FLAGS ##### -->
<para>
</para>
@e:
@f:
<!-- ##### MACRO CLUTTER_ELEMENT_UNSET_FLAGS ##### -->
<para>
</para>
@e:
@f:
<!-- ##### MACRO CLUTTER_TYPE_ELEMENT_BOX ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_ELEMENT_FLAGS ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_ELEMENT_TRANSFORM ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_VIDEO_TEXTURE_ASPECT_RATIO ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_VIDEO_TEXTURE_ERROR ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_VIDEO_TEXTURE_METADATA_TYPE ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterElement ##### -->
<para>
</para>
@parent:
@flags:
<!-- ##### STRUCT ClutterElementBox ##### -->
<para>
</para>
@x1:
@y1:
@x2:
@y2:
<!-- ##### ENUM ClutterElementFlags ##### -->
<para>
</para>
@CLUTTER_ELEMENT_MAPPED:
@CLUTTER_ELEMENT_REALIZED:
<!-- ##### STRUCT ClutterElementPrivate ##### -->
<para>
</para>
<!-- ##### ENUM ClutterElementTransform ##### -->
<para>
</para>
@CLUTTER_ELEMENT_MIRROR_X:
@CLUTTER_ELEMENT_MIRROR_Y:
<!-- ##### FUNCTION clutter_element_allocate_coords ##### -->
<para>
</para>
@self:
@box:
<!-- ##### FUNCTION clutter_element_box_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_element_flags_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_element_get_abs_position ##### -->
<para>
</para>
@self:
@x:
@y:
<!-- ##### FUNCTION clutter_element_get_coords ##### -->
<para>
</para>
@self:
@x1:
@y1:
@x2:
@y2:
<!-- ##### FUNCTION clutter_element_get_geometry ##### -->
<para>
</para>
@self:
@geom:
<!-- ##### FUNCTION clutter_element_get_height ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_id ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_name ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_opacity ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_parent ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_element_get_width ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_x ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_y ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_hide ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_lower ##### -->
<para>
</para>
@self:
@above:
<!-- ##### FUNCTION clutter_element_lower_bottom ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_paint ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_queue_redraw ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_raise ##### -->
<para>
</para>
@self:
@below:
<!-- ##### FUNCTION clutter_element_raise_top ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_realize ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_remove_clip ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_request_coords ##### -->
<para>
</para>
@self:
@box:
<!-- ##### FUNCTION clutter_element_rotate_x ##### -->
<para>
</para>
@self:
@angle:
@y:
@z:
<!-- ##### FUNCTION clutter_element_rotate_y ##### -->
<para>
</para>
@self:
@angle:
@x:
@z:
<!-- ##### FUNCTION clutter_element_rotate_z ##### -->
<para>
</para>
@self:
@angle:
@x:
@y:
<!-- ##### FUNCTION clutter_element_set_clip ##### -->
<para>
</para>
@self:
@xoff:
@yoff:
@width:
@height:
<!-- ##### FUNCTION clutter_element_set_geometry ##### -->
<para>
</para>
@self:
@geom:
<!-- ##### FUNCTION clutter_element_set_name ##### -->
<para>
</para>
@self:
@id:
<!-- ##### FUNCTION clutter_element_set_opacity ##### -->
<para>
</para>
@self:
@opacity:
<!-- ##### FUNCTION clutter_element_set_parent ##### -->
<para>
</para>
@self:
@parent:
<!-- ##### FUNCTION clutter_element_set_position ##### -->
<para>
</para>
@self:
@x:
@y:
<!-- ##### FUNCTION clutter_element_set_size ##### -->
<para>
</para>
@self:
@width:
@height:
<!-- ##### FUNCTION clutter_element_show ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_transform_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_element_unrealize ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_gl_context ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_stage ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_stage_get_element_at_pos ##### -->
<para>
</para>
@stage:
@x:
@y:
@Returns:
<!-- ##### FUNCTION clutter_video_texture_aspect_ratio_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_video_texture_error_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_video_texture_metadata_type_get_type ##### -->
<para>
</para>
@Returns:

View File

@ -0,0 +1,629 @@
<!-- ##### SECTION Title ##### -->
ClutterActor
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO CLUTTER_TYPE_GEOMETRY ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_ACTOR_BOX ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_ACTOR_SET_FLAGS ##### -->
<para>
</para>
@e:
@f:
<!-- ##### MACRO CLUTTER_ACTOR_UNSET_FLAGS ##### -->
<para>
</para>
@e:
@f:
<!-- ##### MACRO CLUTTER_ACTOR_IS_MAPPED ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ACTOR_IS_REALIZED ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ACTOR_IS_VISIBLE ##### -->
<para>
</para>
@e:
<!-- ##### STRUCT ClutterActorBox ##### -->
<para>
</para>
@x1:
@y1:
@x2:
@y2:
<!-- ##### ENUM ClutterActorFlags ##### -->
<para>
</para>
@CLUTTER_ACTOR_MAPPED:
@CLUTTER_ACTOR_REALIZED:
<!-- ##### STRUCT ClutterGeometry ##### -->
<para>
</para>
@x:
@y:
@width:
@height:
<!-- ##### MACRO CLUTTER_CALLBACK ##### -->
<para>
</para>
@f:
<!-- ##### USER_FUNCTION ClutterCallback ##### -->
<para>
</para>
@actor:
@data:
<!-- ##### STRUCT ClutterActor ##### -->
<para>
</para>
@parent_instance:
@flags:
<!-- ##### SIGNAL ClutterActor::destroy ##### -->
<para>
</para>
@clutteractor: the object which received the signal.
<!-- ##### SIGNAL ClutterActor::hide ##### -->
<para>
</para>
@clutteractor: the object which received the signal.
<!-- ##### SIGNAL ClutterActor::show ##### -->
<para>
</para>
@clutteractor: the object which received the signal.
<!-- ##### ARG ClutterActor:clip ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:has-clip ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:height ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:opacity ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:visible ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:width ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:x ##### -->
<para>
</para>
<!-- ##### ARG ClutterActor:y ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterActorClass ##### -->
<para>
</para>
@parent_class:
@show:
@hide:
@realize:
@unrealize:
@paint:
@request_coords:
@allocate_coords:
@set_depth:
@get_depth:
@destroy:
@show_all:
@hide_all:
@queue_redraw:
@_clutter_actor_1:
@_clutter_actor_2:
@_clutter_actor_3:
@_clutter_actor_4:
@_clutter_actor_5:
@_clutter_actor_6:
<!-- ##### FUNCTION clutter_actor_show ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_hide ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_realize ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_unrealize ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_paint ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_queue_redraw ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_destroy ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_request_coords ##### -->
<para>
</para>
@self:
@box:
<!-- ##### FUNCTION clutter_actor_allocate_coords ##### -->
<para>
</para>
@self:
@box:
<!-- ##### FUNCTION clutter_actor_set_geometry ##### -->
<para>
</para>
@self:
@geometry:
<!-- ##### FUNCTION clutter_actor_get_geometry ##### -->
<para>
</para>
@self:
@geometry:
<!-- ##### FUNCTION clutter_actor_get_coords ##### -->
<para>
</para>
@self:
@x1:
@y1:
@x2:
@y2:
<!-- ##### FUNCTION clutter_actor_set_size ##### -->
<para>
</para>
@self:
@width:
@height:
<!-- ##### FUNCTION clutter_actor_set_position ##### -->
<para>
</para>
@self:
@x:
@y:
<!-- ##### FUNCTION clutter_actor_get_abs_position ##### -->
<para>
</para>
@self:
@x:
@y:
<!-- ##### FUNCTION clutter_actor_get_width ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_get_height ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_get_x ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_get_y ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_rotate_x ##### -->
<para>
</para>
@self:
@angle:
@y:
@z:
<!-- ##### FUNCTION clutter_actor_rotate_y ##### -->
<para>
</para>
@self:
@angle:
@x:
@z:
<!-- ##### FUNCTION clutter_actor_rotate_z ##### -->
<para>
</para>
@self:
@angle:
@x:
@y:
<!-- ##### FUNCTION clutter_actor_set_opacity ##### -->
<para>
</para>
@self:
@opacity:
<!-- ##### FUNCTION clutter_actor_get_opacity ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_set_name ##### -->
<para>
</para>
@self:
@name:
<!-- ##### FUNCTION clutter_actor_get_name ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_get_id ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_set_clip ##### -->
<para>
</para>
@self:
@xoff:
@yoff:
@width:
@height:
<!-- ##### FUNCTION clutter_actor_remove_clip ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_has_clip ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_set_parent ##### -->
<para>
</para>
@self:
@parent:
<!-- ##### FUNCTION clutter_actor_get_parent ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_reparent ##### -->
<para>
</para>
@self:
@new_parent:
<!-- ##### FUNCTION clutter_actor_unparent ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_raise ##### -->
<para>
</para>
@self:
@below:
<!-- ##### FUNCTION clutter_actor_lower ##### -->
<para>
</para>
@self:
@above:
<!-- ##### FUNCTION clutter_actor_raise_top ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_lower_bottom ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_actor_set_depth ##### -->
<para>
</para>
@self:
@depth:
<!-- ##### FUNCTION clutter_actor_get_depth ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_actor_set_scalex ##### -->
<para>
</para>
@self:
@scale_x:
@scale_y:
<!-- ##### FUNCTION clutter_actor_set_scale ##### -->
<para>
</para>
@self:
@scale_x:
@scale_y:
<!-- ##### FUNCTION clutter_actor_get_scalex ##### -->
<para>
</para>
@self:
@scale_x:
@scale_y:
<!-- ##### FUNCTION clutter_actor_get_scale ##### -->
<para>
</para>
@self:
@scale_x:
@scale_y:
<!-- ##### FUNCTION clutter_actor_get_abs_size ##### -->
<para>
</para>
@self:
@width:
@height:

View File

@ -0,0 +1,123 @@
<!-- ##### SECTION Title ##### -->
ClutterAlpha
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#ClutterBehaviour, #ClutterTimeline
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT ClutterAlpha ##### -->
<para>
The #ClutterAlpha structure contains only private data and should not be
accessed directly.
</para>
<!-- ##### ARG ClutterAlpha:alpha ##### -->
<para>
</para>
<!-- ##### ARG ClutterAlpha:timeline ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterAlphaClass ##### -->
<para>
</para>
@parent_class:
@_clutter_alpha_1:
@_clutter_alpha_2:
@_clutter_alpha_3:
@_clutter_alpha_4:
@_clutter_alpha_5:
<!-- ##### FUNCTION clutter_alpha_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_alpha_new_full ##### -->
<para>
</para>
@timeline:
@func:
@data:
@destroy:
@Returns:
<!-- ##### FUNCTION clutter_alpha_get_alpha ##### -->
<para>
</para>
@alpha:
@Returns:
<!-- ##### MACRO CLUTTER_ALPHA_MAX_ALPHA ##### -->
<para>
</para>
<!-- ##### USER_FUNCTION ClutterAlphaFunc ##### -->
<para>
</para>
@alpha:
@user_data:
@Returns:
<!-- ##### FUNCTION clutter_alpha_set_func ##### -->
<para>
</para>
@alpha:
@func:
@data:
@destroy:
<!-- ##### FUNCTION clutter_alpha_set_timeline ##### -->
<para>
</para>
@alpha:
@timeline:
<!-- ##### FUNCTION clutter_alpha_get_timeline ##### -->
<para>
</para>
@alpha:
@Returns:

View File

@ -0,0 +1,43 @@
<!-- ##### SECTION Title ##### -->
ClutterBehaviourOpacity
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT ClutterBehaviourOpacity ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterBehaviourOpacityClass ##### -->
<para>
</para>
@parent_class:
<!-- ##### FUNCTION clutter_behaviour_opacity_new ##### -->
<para>
</para>
@alpha:
@opacity_start:
@opacity_end:
@Returns:

View File

@ -0,0 +1,107 @@
<!-- ##### SECTION Title ##### -->
ClutterBehaviourPath
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO CLUTTER_TYPE_KNOT ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterKnot ##### -->
<para>
</para>
@x:
@y:
<!-- ##### STRUCT ClutterBehaviourPath ##### -->
<para>
</para>
<!-- ##### SIGNAL ClutterBehaviourPath::knot-reached ##### -->
<para>
</para>
@clutterbehaviourpath: the object which received the signal.
@arg1:
<!-- ##### STRUCT ClutterBehaviourPathClass ##### -->
<para>
</para>
@parent_class:
@knot_reached:
@_clutter_path_1:
@_clutter_path_2:
@_clutter_path_3:
@_clutter_path_4:
<!-- ##### FUNCTION clutter_behaviour_path_new ##### -->
<para>
</para>
@alpha:
@knots:
@n_knots:
@Returns:
<!-- ##### FUNCTION clutter_behaviour_path_get_knots ##### -->
<para>
</para>
@pathb:
@Returns:
<!-- ##### FUNCTION clutter_behaviour_path_append_knot ##### -->
<para>
</para>
@pathb:
@knot:
<!-- ##### FUNCTION clutter_behaviour_path_append_knots ##### -->
<para>
</para>
@pathb:
@first_knot:
@Varargs:
<!-- ##### FUNCTION clutter_behaviour_path_clear ##### -->
<para>
</para>
@path:

View File

@ -0,0 +1,44 @@
<!-- ##### SECTION Title ##### -->
ClutterBehaviourScale
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT ClutterBehaviourScale ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterBehaviourScaleClass ##### -->
<para>
</para>
@parent_class:
<!-- ##### FUNCTION clutter_behaviour_scale_new ##### -->
<para>
</para>
@alpha:
@scale_begin:
@scale_end:
@gravity:
@Returns:

View File

@ -0,0 +1,90 @@
<!-- ##### SECTION Title ##### -->
ClutterBehaviour
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT ClutterBehaviour ##### -->
<para>
</para>
<!-- ##### ARG ClutterBehaviour:alpha ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterBehaviourClass ##### -->
<para>
</para>
@parent_class:
@alpha_notify:
@_clutter_behaviour1:
@_clutter_behaviour2:
@_clutter_behaviour3:
@_clutter_behaviour4:
@_clutter_behaviour5:
@_clutter_behaviour6:
<!-- ##### FUNCTION clutter_behaviour_apply ##### -->
<para>
</para>
@behave:
@actor:
<!-- ##### FUNCTION clutter_behaviour_remove ##### -->
<para>
</para>
@behave:
@actor:
<!-- ##### FUNCTION clutter_behaviour_actors_foreach ##### -->
<para>
</para>
@behave:
@func:
@data:
<!-- ##### FUNCTION clutter_behaviour_get_alpha ##### -->
<para>
</para>
@behave:
@Returns:
<!-- ##### FUNCTION clutter_behaviour_set_alpha ##### -->
<para>
</para>
@behave:
@alpha:

View File

@ -1,462 +0,0 @@
<!-- ##### SECTION Title ##### -->
ClutterElement
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO CLUTTER_TYPE_GEOMETRY ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_TYPE_ELEMENT_BOX ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_ELEMENT_SET_FLAGS ##### -->
<para>
</para>
@e:
@f:
<!-- ##### MACRO CLUTTER_ELEMENT_UNSET_FLAGS ##### -->
<para>
</para>
@e:
@f:
<!-- ##### MACRO CLUTTER_ELEMENT_IS_MAPPED ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ELEMENT_IS_REALIZED ##### -->
<para>
</para>
@e:
<!-- ##### MACRO CLUTTER_ELEMENT_IS_VISIBLE ##### -->
<para>
</para>
@e:
<!-- ##### STRUCT ClutterElementBox ##### -->
<para>
</para>
@x1:
@y1:
@x2:
@y2:
<!-- ##### STRUCT ClutterElementPrivate ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterGeometry ##### -->
<para>
</para>
@x:
@y:
@width:
@height:
<!-- ##### USER_FUNCTION ClutterCallback ##### -->
<para>
</para>
@element:
@data:
<!-- ##### ENUM ClutterElementTransform ##### -->
<para>
</para>
@CLUTTER_ELEMENT_MIRROR_X:
@CLUTTER_ELEMENT_MIRROR_Y:
<!-- ##### ENUM ClutterElementFlags ##### -->
<para>
</para>
@CLUTTER_ELEMENT_MAPPED:
@CLUTTER_ELEMENT_REALIZED:
<!-- ##### FUNCTION clutter_element_box_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### STRUCT ClutterElement ##### -->
<para>
</para>
@parent:
@flags:
<!-- ##### FUNCTION clutter_element_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION clutter_element_show ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_hide ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_realize ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_unrealize ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_paint ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_queue_redraw ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_request_coords ##### -->
<para>
</para>
@self:
@box:
<!-- ##### FUNCTION clutter_element_allocate_coords ##### -->
<para>
</para>
@self:
@box:
<!-- ##### FUNCTION clutter_element_set_geometry ##### -->
<para>
</para>
@self:
@geom:
<!-- ##### FUNCTION clutter_element_get_geometry ##### -->
<para>
</para>
@self:
@geom:
<!-- ##### FUNCTION clutter_element_get_coords ##### -->
<para>
</para>
@self:
@x1:
@y1:
@x2:
@y2:
<!-- ##### FUNCTION clutter_element_set_position ##### -->
<para>
</para>
@self:
@x:
@y:
<!-- ##### FUNCTION clutter_element_set_size ##### -->
<para>
</para>
@self:
@width:
@height:
<!-- ##### FUNCTION clutter_element_get_abs_position ##### -->
<para>
</para>
@self:
@x:
@y:
<!-- ##### FUNCTION clutter_element_get_width ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_height ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_x ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_y ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_rotate_z ##### -->
<para>
</para>
@self:
@angle:
@x:
@y:
<!-- ##### FUNCTION clutter_element_rotate_x ##### -->
<para>
</para>
@self:
@angle:
@y:
@z:
<!-- ##### FUNCTION clutter_element_rotate_y ##### -->
<para>
</para>
@self:
@angle:
@x:
@z:
<!-- ##### FUNCTION clutter_element_set_opacity ##### -->
<para>
</para>
@self:
@opacity:
<!-- ##### FUNCTION clutter_element_get_opacity ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_set_name ##### -->
<para>
</para>
@self:
@id:
<!-- ##### FUNCTION clutter_element_get_name ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_get_id ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_set_clip ##### -->
<para>
</para>
@self:
@xoff:
@yoff:
@width:
@height:
<!-- ##### FUNCTION clutter_element_remove_clip ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_set_parent ##### -->
<para>
</para>
@self:
@parent:
<!-- ##### FUNCTION clutter_element_get_parent ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION clutter_element_raise ##### -->
<para>
</para>
@self:
@below:
<!-- ##### FUNCTION clutter_element_lower ##### -->
<para>
</para>
@self:
@above:
<!-- ##### FUNCTION clutter_element_raise_top ##### -->
<para>
</para>
@self:
<!-- ##### FUNCTION clutter_element_lower_bottom ##### -->
<para>
</para>
@self:

View File

@ -1,79 +0,0 @@
<!-- ##### SECTION Title ##### -->
clutter-enum-types
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO CLUTTER_TYPE_EVENT_TYPE ##### -->
<para>
</para>
<!-- ##### FUNCTION clutter_event_type_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### MACRO CLUTTER_TYPE_FEATURE_FLAGS ##### -->
<para>
</para>
<!-- ##### FUNCTION clutter_feature_flags_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### MACRO CLUTTER_TYPE_ACTOR_FLAGS ##### -->
<para>
</para>
<!-- ##### FUNCTION clutter_actor_flags_get_type ##### -->
<para>
</para>
@Returns:
<!-- ##### MACRO CLUTTER_TYPE_INIT_ERROR ##### -->
<para>
</para>
<!-- ##### FUNCTION clutter_init_error_get_type ##### -->
<para>
</para>
@Returns:

View File

@ -0,0 +1,44 @@
<!-- ##### SECTION Title ##### -->
clutter-feature
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### ENUM ClutterFeatureFlags ##### -->
<para>
</para>
@CLUTTER_FEATURE_TEXTURE_RECTANGLE:
@CLUTTER_FEATURE_SYNC_TO_VBLANK:
<!-- ##### FUNCTION clutter_feature_available ##### -->
<para>
</para>
@flags:
@Returns:
<!-- ##### FUNCTION clutter_feature_get_all ##### -->
<para>
</para>
@Returns:

View File

@ -0,0 +1,135 @@
<!-- ##### SECTION Title ##### -->
clutter-fixed
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### TYPEDEF ClutterFixed ##### -->
<para>
</para>
<!-- ##### MACRO CFX_Q ##### -->
<para>
</para>
<!-- ##### MACRO CFX_ONE ##### -->
<para>
</para>
<!-- ##### MACRO CFX_MAX ##### -->
<para>
</para>
<!-- ##### MACRO CFX_MIN ##### -->
<para>
</para>
<!-- ##### MACRO CLUTTER_FIXED_TO_FLOAT ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FIXED_TO_DOUBLE ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FLOAT_TO_FIXED ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_INT_TO_FIXED ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FIXED_INT ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FIXED_FRACTION ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FIXED_FLOOR ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FIXED_CEIL ##### -->
<para>
</para>
@x:
<!-- ##### MACRO CLUTTER_FIXED_MUL ##### -->
<para>
</para>
@x:
@y:
<!-- ##### MACRO CLUTTER_FIXED_DIV ##### -->
<para>
</para>
@x:
@y:

View File

@ -39,6 +39,21 @@ clutter-main
@a...: @a...:
@a...: @a...:
@a...: @a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
@a...:
<!-- ##### MACRO CLUTTER_GLERR ##### --> <!-- ##### MACRO CLUTTER_GLERR ##### -->

View File

@ -0,0 +1,196 @@
<!-- ##### SECTION Title ##### -->
clutter-media
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO CLUTTER_MEDIA_GET_INTERFACE ##### -->
<para>
</para>
@obj:
<!-- ##### STRUCT ClutterMedia ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:buffer-percent ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:can-seek ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:duration ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:playing ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:position ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:uri ##### -->
<para>
</para>
<!-- ##### ARG ClutterMedia:volume ##### -->
<para>
</para>
<!-- ##### STRUCT ClutterMediaInterface ##### -->
<para>
</para>
@base_iface:
@set_uri:
@get_uri:
@set_playing:
@get_playing:
@set_position:
@get_position:
@set_volume:
@get_volume:
@can_seek:
@get_buffer_percent:
@get_duration:
@eos:
@error:
<!-- ##### FUNCTION clutter_media_set_uri ##### -->
<para>
</para>
@media:
@uri:
<!-- ##### FUNCTION clutter_media_get_uri ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_set_playing ##### -->
<para>
</para>
@media:
@playing:
<!-- ##### FUNCTION clutter_media_get_playing ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_set_position ##### -->
<para>
</para>
@media:
@position:
<!-- ##### FUNCTION clutter_media_get_position ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_set_volume ##### -->
<para>
</para>
@media:
@volume:
<!-- ##### FUNCTION clutter_media_get_volume ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_get_can_seek ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_get_buffer_percent ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_get_duration ##### -->
<para>
</para>
@media:
@Returns:
<!-- ##### FUNCTION clutter_media_set_filename ##### -->
<para>
</para>
@media:
@filename:

View File

@ -1,19 +0,0 @@
<!-- ##### SECTION Title ##### -->
clutter
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->