[animation] Add vector variants for ::animate()
authorEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 9 Mar 2009 21:11:40 +0000 (21:11 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Tue, 10 Mar 2009 12:38:04 +0000 (12:38 +0000)
commit89e3e3a4cc06c10c2573f3d115c5b03ee4890524
tree63a52cc0e1dace55a7f965e8bd731eb0d9cdd178
parentc46106f6dd550b684cd53676e6173c8a8d03255e
[animation] Add vector variants for ::animate()

Bug 1438 - Implicit Animation API could use animatev variants

The clutter_actor_animate* family of functions use va_lists to
handle the property/value pairs for the final state of the
animation.

Language bindings have problems with variadic arguments functions,
and usually prefer vector-based API which allow a greater level
of control and conversion from native data types.

For each variadic arguments function in the clutter_actor_animate*
family there should be a vector-based version that takes:

  - the number of property/value pairs
  - a constant array of constant strings
  - an array of GValues

Most of the internal implementation can be refactored from the
current one, thus both the var_args and the vector entry points
share a common implementation of the code; then, both versions
of the API are just loops over a list of arguments.

Based on a patch by: Robert Carr <carrr@rpi.edu>
clutter/clutter-animation.c
clutter/clutter-animation.h
doc/reference/clutter/clutter-sections.txt