diff --git a/ChangeLog b/ChangeLog index 2dbfe8606..3deb7afbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2006-11-17 Emmanuele Bassi + + * clutter/clutter-behaviour-path.h: + * clutter/clutter-behaviour-path.c: Add "since" strings; add + a "knot" property which can be used to append a knot to the path; + fix apidoc. + + * clutter/clutter-alpha.c: Add "since" strings. + + * clutter/clutter-feature.c: Add apidoc. + + * clutter/clutter-behaviour-opacity.c: Add the "opacity-start" + and "opacity-end" properties; rewrite constructor to use them. + 2006-11-17 Emmanuele Bassi * clutter/clutter-behaviour-path.h: diff --git a/clutter/clutter-alpha.c b/clutter/clutter-alpha.c index 8204627f2..86a069f2e 100644 --- a/clutter/clutter-alpha.c +++ b/clutter/clutter-alpha.c @@ -41,6 +41,8 @@ * the #ClutterTimeline object. * * #ClutterAlpha is used to "drive" a #ClutterBehaviour instance. + * + * Since: 0.2 */ #ifdef HAVE_CONFIG_H @@ -187,6 +189,8 @@ clutter_alpha_class_init (ClutterAlphaClass *klass) * ClutterAlpha:timeline: * * A #ClutterTimeline instance used to drive the alpha function. + * + * Since: 0.2 */ g_object_class_install_property (object_class, PROP_TIMELINE, @@ -199,6 +203,8 @@ clutter_alpha_class_init (ClutterAlphaClass *klass) * ClutterAlpha:alpha: * * The alpha value as computed by the alpha function. + * + * Since: 0.2 */ g_object_class_install_property (object_class, PROP_ALPHA, @@ -226,6 +232,8 @@ clutter_alpha_init (ClutterAlpha *self) * Query the current alpha value. * * Return Value: The current alpha value for the alpha + * + * Since: 0.2 */ guint32 clutter_alpha_get_alpha (ClutterAlpha *alpha) @@ -245,6 +253,8 @@ clutter_alpha_get_alpha (ClutterAlpha *alpha) * Sets the #ClutterAlphaFunc function used to compute * the alpha value at each frame of the #ClutterTimeline * bound to @alpha. + * + * Since: 0.2 */ void clutter_alpha_set_func (ClutterAlpha *alpha, @@ -277,6 +287,8 @@ clutter_alpha_set_func (ClutterAlpha *alpha, * @timeline: A #ClutterTimeline * * Binds @alpha to @timeline. + * + * Since: 0.2 */ void clutter_alpha_set_timeline (ClutterAlpha *alpha, @@ -316,6 +328,8 @@ clutter_alpha_set_timeline (ClutterAlpha *alpha, * Gets the #ClutterTimeline bound to @alpha. * * Return value: a #ClutterTimeline instance + * + * Since: 0.2 */ ClutterTimeline * clutter_alpha_get_timeline (ClutterAlpha *alpha) @@ -337,6 +351,8 @@ clutter_alpha_get_timeline (ClutterAlpha *alpha) * a #ClutterBehaviour object. * * Return value: the newly created empty #ClutterAlpha instance. + * + * Since: 0.2 */ ClutterAlpha * clutter_alpha_new (void) @@ -355,6 +371,8 @@ clutter_alpha_new (void) * and alpha function. * * Return Value: the newly created #ClutterAlpha + * + * Since: 0.2 */ ClutterAlpha * clutter_alpha_new_full (ClutterTimeline *timeline, @@ -384,6 +402,8 @@ clutter_alpha_new_full (ClutterTimeline *timeline, * can use this function as the alpha function for clutter_alpha_set_func(). * * Return value: an alpha value. + * + * Since: 0.2 */ guint32 clutter_ramp_inc_func (ClutterAlpha *alpha, @@ -409,6 +429,8 @@ clutter_ramp_inc_func (ClutterAlpha *alpha, * can use this function as the alpha function for clutter_alpha_set_func(). * * Return value: an alpha value. + * + * Since: 0.2 */ guint32 clutter_ramp_dec_func (ClutterAlpha *alpha, @@ -437,6 +459,8 @@ clutter_ramp_dec_func (ClutterAlpha *alpha, * function as the alpha function for clutter_alpha_set_func(). * * Return value: an alpha value. + * + * Since: 0.2 */ guint32 clutter_ramp_func (ClutterAlpha *alpha, @@ -473,6 +497,8 @@ clutter_ramp_func (ClutterAlpha *alpha, * function as the alpha function for clutter_alpha_set_func(). * * Return value: an alpha value. + * + * Since: 0.2 */ guint32 clutter_sine_func (ClutterAlpha *alpha, diff --git a/clutter/clutter-behaviour-opacity.c b/clutter/clutter-behaviour-opacity.c index 25e923b90..96b2d350e 100644 --- a/clutter/clutter-behaviour-opacity.c +++ b/clutter/clutter-behaviour-opacity.c @@ -49,6 +49,8 @@ * @short_description: Behaviour controlling the opacity * * #ClutterBehaviourOpacity controls the opacity of a set of actors. + * + * Since: 0.2 */ G_DEFINE_TYPE (ClutterBehaviourOpacity, @@ -66,6 +68,14 @@ struct _ClutterBehaviourOpacityPrivate CLUTTER_TYPE_BEHAVIOUR_OPACITY, \ ClutterBehaviourOpacityPrivate)) +enum +{ + PROP_0, + + PROP_OPACITY_START, + PROP_OPACITY_END +}; + static void opacity_frame_foreach (ClutterActor *actor, ClutterBehaviourOpacity *behave) @@ -105,13 +115,92 @@ clutter_behaviour_opacity_finalize (GObject *object) G_OBJECT_CLASS (clutter_behaviour_opacity_parent_class)->finalize (object); } +static void +clutter_behaviour_opacity_set_property (GObject *gobject, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + ClutterBehaviourOpacity *opacityb = CLUTTER_BEHAVIOUR_OPACITY (gobject); + + switch (prop_id) + { + case PROP_OPACITY_START: + opacityb->priv->opacity_start = g_value_get_uint (value); + break; + case PROP_OPACITY_END: + opacityb->priv->opacity_end = g_value_get_uint (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; + } +} + +static void +clutter_behaviour_opacity_get_property (GObject *gobject, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + ClutterBehaviourOpacity *opacityb = CLUTTER_BEHAVIOUR_OPACITY (gobject); + + switch (prop_id) + { + case PROP_OPACITY_START: + g_value_set_uint (value, opacityb->priv->opacity_start); + break; + case PROP_OPACITY_END: + g_value_set_uint (value, opacityb->priv->opacity_end); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; + } +} static void clutter_behaviour_opacity_class_init (ClutterBehaviourOpacityClass *klass) { - ClutterBehaviourClass *behave_class; + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass); - behave_class = (ClutterBehaviourClass*) klass; + gobject_class->set_property = clutter_behaviour_opacity_set_property; + gobject_class->get_property = clutter_behaviour_opacity_get_property; + + /** + * ClutterBehaviourOpacity:opacity-start: + * + * Initial opacity level of the behaviour. + * + * Since: 0.2 + */ + g_object_class_install_property (gobject_class, + PROP_OPACITY_START, + g_param_spec_uint ("opacity-start", + "Opacity Start", + "Initial opacity level", + 0, 255, + 0, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT)); + + /** + * ClutterBehaviourOpacity:opacity-end: + * + * Final opacity level of the behaviour. + * + * Since: 0.2 + */ + g_object_class_install_property (gobject_class, + PROP_OPACITY_END, + g_param_spec_uint ("opacity-end", + "Opacity End", + "Final opacity level", + 0, 255, + 0, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT)); behave_class->alpha_notify = clutter_behaviour_alpha_notify; @@ -135,21 +224,18 @@ clutter_behaviour_opacity_init (ClutterBehaviourOpacity *self) * change in the interval between @opacity_start and @opacity_end. * * Return value: the newly created #ClutterBehaviourOpacity + * + * Since: 0.2 */ ClutterBehaviour * clutter_behaviour_opacity_new (ClutterAlpha *alpha, guint8 opacity_start, guint8 opacity_end) { - ClutterBehaviourOpacity *behave; - - behave = g_object_new (CLUTTER_TYPE_BEHAVIOUR_OPACITY, - "alpha", alpha, - NULL); - - behave->priv->opacity_start = opacity_start; - behave->priv->opacity_end = opacity_end; - - return CLUTTER_BEHAVIOUR (behave); + return g_object_new (CLUTTER_TYPE_BEHAVIOUR_OPACITY, + "alpha", alpha, + "opacity-start", opacity_start, + "opacity-end", opacity_end, + NULL); } diff --git a/clutter/clutter-behaviour-path.c b/clutter/clutter-behaviour-path.c index 45a076796..8adfaa7c8 100644 --- a/clutter/clutter-behaviour-path.c +++ b/clutter/clutter-behaviour-path.c @@ -28,8 +28,15 @@ * @short_description: A behaviour class interpolating actors along a defined * path. * - * #ClutterBehaviourPath interpolates actors along a defined path of points. + * #ClutterBehaviourPath interpolates actors along a defined 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. + * + * Since: 0.2 */ @@ -46,18 +53,6 @@ #include -/** - * 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 * clutter_knot_copy (const ClutterKnot *knot) { @@ -116,6 +111,13 @@ enum static guint path_signals[LAST_SIGNAL] = { 0, }; +enum +{ + PROP_0, + + PROP_KNOT +}; + static void clutter_behaviour_path_finalize (GObject *object) { @@ -245,14 +247,49 @@ clutter_behaviour_path_alpha_notify (ClutterBehaviour *behave, path_alpha_to_position (CLUTTER_BEHAVIOUR_PATH (behave), alpha_value); } +static void +clutter_behaviour_path_set_property (GObject *gobject, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + ClutterBehaviourPath *pathb = CLUTTER_BEHAVIOUR_PATH (gobject); + + switch (prop_id) + { + case PROP_KNOT: + clutter_behaviour_path_append_knot (pathb, g_value_get_boxed (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; + } +} + static void clutter_behaviour_path_class_init (ClutterBehaviourPathClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass); + gobject_class->set_property = clutter_behaviour_path_set_property; gobject_class->finalize = clutter_behaviour_path_finalize; + /** + * ClutterBehaviourPath:knot: + * + * This property can be used to append a new knot to the path. + * + * Since: 0.2 + */ + g_object_class_install_property (gobject_class, + PROP_KNOT, + g_param_spec_boxed ("knot", + "Knot", + "Can be used to append a knot to the path", + CLUTTER_TYPE_KNOT, + G_PARAM_WRITABLE)); + /** * ClutterBehaviourPath::knot-reached: * @pathb: the object which received the signal @@ -260,6 +297,8 @@ clutter_behaviour_path_class_init (ClutterBehaviourPathClass *klass) * * This signal is emitted each time a node defined inside the path * is reached. + * + * Since: 0.2 */ path_signals[KNOT_REACHED] = g_signal_new ("knot-reached", @@ -366,7 +405,7 @@ clutter_behaviour_path_append_knot (ClutterBehaviourPath *pathb, } /** - * clutter_behaviour_path_append_knot: + * clutter_behaviour_path_insert_knot: * @pathb: a #ClutterBehvaiourPath * @offset: position in path to insert knot. * @knot: a #ClutterKnot to append. @@ -394,7 +433,6 @@ clutter_behaviour_path_insert_knot (ClutterBehaviourPath *pathb, * clutter_behaviour_path_remove_knot: * @pathb: a #ClutterBehvaiourPath * @offset: position in path to remove knot. - * @knot: a #ClutterKnot to append. * * Removes a #ClutterKnot in the path at specified offset. * @@ -420,17 +458,6 @@ clutter_behaviour_path_remove_knot (ClutterBehaviourPath *pathb, } } -/** - * clutter_behaviour_path_append_knots_valist: - * @pathb: a #ClutterBehvaiourPath - * @first_know: the #ClutterKnot knot to add to the path - * @args: the knots to be added - * - * Similar to clutter_behaviour_path_append_knots() but using a va_list. - * Use this function inside bindings. - * - * Since: 0.2 - */ static void clutter_behaviour_path_append_knots_valist (ClutterBehaviourPath *pathb, const ClutterKnot *first_knot, @@ -449,7 +476,7 @@ clutter_behaviour_path_append_knots_valist (ClutterBehaviourPath *pathb, /** * clutter_behaviour_path_append_knots: * @pathb: a #ClutterBehvaiourPath - * @first_know: the #ClutterKnot knot to add to the path + * @first_knot: the #ClutterKnot knot to add to the path * @Varargs: additional knots to add to the path * * Adds a NULL-terminated list of knots to a path. This function is diff --git a/clutter/clutter-behaviour-path.h b/clutter/clutter-behaviour-path.h index 179b55380..c5aec88b8 100644 --- a/clutter/clutter-behaviour-path.h +++ b/clutter/clutter-behaviour-path.h @@ -107,7 +107,7 @@ void clutter_behaviour_path_insert_knot (ClutterBehaviourPath *pa void clutter_behaviour_path_remove_knot (ClutterBehaviourPath *pathb, guint offset); -void clutter_behaviour_path_clear (ClutterBehaviourPath *path); +void clutter_behaviour_path_clear (ClutterBehaviourPath *pathb); G_END_DECLS diff --git a/clutter/clutter-feature.c b/clutter/clutter-feature.c index a9995fdb3..02c42400d 100644 --- a/clutter/clutter-feature.c +++ b/clutter/clutter-feature.c @@ -291,6 +291,13 @@ clutter_feature_get_all (void) return __features->flags; } +/** + * clutter_feature_wait_for_vblank: + * + * FIXME + * + * Since: 0.2 + */ void clutter_feature_wait_for_vblank (void) { diff --git a/doc/reference/tmpl/clutter-behaviour-opacity.sgml b/doc/reference/tmpl/clutter-behaviour-opacity.sgml index 1bce93f46..45c02d634 100644 --- a/doc/reference/tmpl/clutter-behaviour-opacity.sgml +++ b/doc/reference/tmpl/clutter-behaviour-opacity.sgml @@ -23,6 +23,16 @@ ClutterBehaviourOpacity + + + + + + + + + + diff --git a/doc/reference/tmpl/clutter-behaviour-path.sgml b/doc/reference/tmpl/clutter-behaviour-path.sgml index 292fc2f65..b91d95b89 100644 --- a/doc/reference/tmpl/clutter-behaviour-path.sgml +++ b/doc/reference/tmpl/clutter-behaviour-path.sgml @@ -46,6 +46,11 @@ ClutterBehaviourPath @clutterbehaviourpath: the object which received the signal. @arg1: + + + + + @@ -102,6 +107,6 @@ ClutterBehaviourPath -@path: +@pathb: diff --git a/doc/reference/tmpl/clutter-main.sgml b/doc/reference/tmpl/clutter-main.sgml index 440500df2..d242f9863 100644 --- a/doc/reference/tmpl/clutter-main.sgml +++ b/doc/reference/tmpl/clutter-main.sgml @@ -53,6 +53,9 @@ clutter-main @a...: @a...: @a...: +@a...: +@a...: +@a...: @a...: