[clutter/master-next: 577/578] WARNING: Massive revert commit



commit 77ec8774a08c884d8acdf6c5f36a3e5003596626
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Sat Jan 3 20:34:20 2015 +0000

    WARNING: Massive revert commit
    
    Revert all the work that happened on the master branch.
    
    Sadly, this is the only way to merge the current development branch back
    into master.
    
    It is now abundantly clear that I merged the 1.99 branch far too soon,
    and that Clutter 2.0 won't happen any time soon, if at all.
    
    Since having the development happen on a separate branch throws a lot of
    people into confusion, let's undo the clutter-1.99 → master merge, and
    move back the development of Clutter to the master branch.
    
    In order to do so, we need to do some surgery to the Git repository.
    
    First, we do a massive revert in a single commit of all that happened
    since the switch to 1.99 and the API version bump done with the
    89a2862b057423c3c1fc666e6fa776ccacf377dd commit. The history is too long
    to be reverted commit by commit without being extremely messy.

 .gitignore                                         |   34 +-
 autogen.sh                                         |    2 +-
 build/win32/vs10/clutter.props                     |  414 ++--
 build/win32/vs10/clutter.sln                       |   16 +-
 build/win32/vs10/clutter.vcxproj.filtersin         |    5 -
 build/win32/vs10/clutter.vcxprojin                 |  136 +-
 build/win32/vs10/install.vcxproj                   |   84 +-
 build/win32/vs9/clutter.sln                        |   16 +-
 build/win32/vs9/clutter.vcprojin                   |  230 +--
 build/win32/vs9/clutter.vsprops                    |  389 ++--
 build/win32/vs9/install.vcproj                     |   60 +-
 clutter.doap                                       |    5 +-
 clutter/Makefile.am                                |  125 +
 clutter/abicheck.sh                                |    2 +-
 clutter/cally/cally-clone.c                        |    4 +-
 clutter/cally/cally-factory.h                      |    4 +-
 clutter/cally/cally-group.c                        |    4 +-
 clutter/cally/cally-rectangle.c                    |    4 +-
 clutter/cally/cally-root.c                         |    4 +-
 clutter/cally/cally-stage.c                        |    6 +-
 clutter/cally/cally-stage.h                        |    4 +-
 clutter/cally/cally-text.c                         |    4 +-
 clutter/cally/cally-texture.c                      |    4 +-
 clutter/cally/cally-util.c                         |    4 +-
 clutter/cally/cally.c                              |   13 +-
 clutter/cally/cally.pc.in                          |    2 +-
 clutter/cex100/clutter-backend-cex100.c            |    6 +-
 clutter/clutter-action.h                           |    4 +-
 clutter/clutter-actor-box.c                        |   42 +-
 clutter/clutter-actor-meta.c                       |   18 +-
 clutter/clutter-actor-meta.h                       |    4 +-
 clutter/clutter-actor-private.h                    |   12 +-
 clutter/clutter-actor.c                            | 2969 ++++++++++++++++--
 clutter/clutter-actor.h                            |  183 +-
 clutter/clutter-align-constraint.c                 |   20 +-
 clutter/clutter-align-constraint.h                 |    2 +-
 clutter/clutter-animatable.c                       |   89 +-
 clutter/clutter-animatable.h                       |   13 +-
 clutter/clutter-backend.c                          |  205 ++-
 clutter/clutter-backend.h                          |    2 +-
 clutter/clutter-base-types.c                       |  200 +-
 clutter/clutter-bezier.c                           |  481 ++-
 clutter/clutter-bezier.h                           |   42 +-
 clutter/clutter-bin-layout.c                       |  674 ++++-
 clutter/clutter-bin-layout.h                       |    7 +-
 clutter/clutter-bind-constraint.c                  |   22 +-
 clutter/clutter-bind-constraint.h                  |    2 +-
 clutter/clutter-binding-pool.c                     |   26 +-
 clutter/clutter-binding-pool.h                     |    4 +-
 clutter/clutter-blur-effect.c                      |    2 +-
 clutter/clutter-blur-effect.h                      |    2 +-
 clutter/clutter-box-layout.c                       | 1171 +++++++-
 clutter/clutter-box-layout.h                       |   65 +-
 clutter/clutter-brightness-contrast-effect.c       |   18 +-
 clutter/clutter-brightness-contrast-effect.h       |    2 +-
 clutter/clutter-cairo.c                            |    4 +-
 clutter/clutter-cairo.h                            |    2 +-
 clutter/clutter-canvas.c                           |   43 +-
 clutter/clutter-canvas.h                           |   10 +-
 clutter/clutter-child-meta.c                       |    8 +-
 clutter/clutter-child-meta.h                       |    4 +-
 clutter/clutter-click-action.c                     |   22 +-
 clutter/clutter-click-action.h                     |    4 +-
 clutter/clutter-clone.c                            |    8 +-
 clutter/clutter-clone.h                            |    4 +-
 clutter/clutter-color.c                            |   28 +-
 clutter/clutter-color.h                            |    6 +-
 clutter/clutter-colorize-effect.c                  |    8 +-
 clutter/clutter-colorize-effect.h                  |    2 +-
 clutter/clutter-constraint.h                       |    4 +-
 clutter/clutter-container.c                        |  783 +++++-
 clutter/clutter-container.h                        |  115 +-
 clutter/clutter-content.c                          |    8 +-
 clutter/clutter-content.h                          |   10 +-
 clutter/clutter-deform-effect.c                    |   16 +-
 clutter/clutter-deform-effect.h                    |    4 +-
 clutter/clutter-deprecated.h                       |   35 +
 clutter/clutter-desaturate-effect.c                |    8 +-
 clutter/clutter-desaturate-effect.h                |    2 +-
 clutter/clutter-device-manager.c                   |   14 +-
 clutter/clutter-device-manager.h                   |    4 +-
 clutter/clutter-drag-action.c                      |  103 +-
 clutter/clutter-drag-action.h                      |    8 +-
 clutter/clutter-drop-action.c                      |   12 +-
 clutter/clutter-drop-action.h                      |    4 +-
 clutter/clutter-effect.c                           |    2 +-
 clutter/clutter-effect.h                           |    4 +-
 clutter/clutter-enums.h                            |  289 ++-
 clutter/clutter-event.c                            |   96 +-
 clutter/clutter-event.h                            |   70 +-
 clutter/clutter-feature.c                          |    4 +-
 clutter/clutter-fixed-layout.c                     |    2 +-
 clutter/clutter-fixed-layout.h                     |    4 +-
 clutter/clutter-flow-layout.c                      |  252 +--
 clutter/clutter-flow-layout.h                      |    7 +-
 clutter/clutter-gesture-action-private.h           |    4 +-
 clutter/clutter-gesture-action.c                   |  248 +--
 clutter/clutter-gesture-action.h                   |   13 +-
 clutter/clutter-grid-layout.c                      |   42 +-
 clutter/clutter-grid-layout.h                      |   40 +-
 clutter/clutter-group.h                            |   95 +
 clutter/clutter-image.c                            |   10 +-
 clutter/clutter-image.h                            |   22 +-
 clutter/clutter-input-device.c                     |   68 +-
 clutter/clutter-input-device.h                     |   14 +-
 clutter/clutter-interval.c                         |   59 +-
 clutter/clutter-interval.h                         |    6 +-
 clutter/clutter-keyframe-transition.c              |   18 +-
 clutter/clutter-keyframe-transition.h              |   24 +-
 clutter/clutter-keysyms-table.c                    |    2 +-
 clutter/clutter-keysyms-update.pl                  |   35 +
 clutter/clutter-layout-manager.c                   |  312 ++-
 clutter/clutter-layout-manager.h                   |   33 +-
 clutter/clutter-layout-meta.c                      |    4 +-
 clutter/clutter-layout-meta.h                      |    4 +-
 clutter/clutter-list-model.c                       |    4 +-
 clutter/clutter-list-model.h                       |    4 +-
 clutter/clutter-macros.h                           |  185 +-
 clutter/clutter-main.c                             |  604 ++++-
 clutter/clutter-main.h                             |    8 +-
 clutter/clutter-master-clock.c                     |    4 +-
 clutter/clutter-model.c                            |   94 +-
 clutter/clutter-model.h                            |   14 +-
 clutter/clutter-offscreen-effect.c                 |   32 +-
 clutter/clutter-offscreen-effect.h                 |    6 +-
 clutter/clutter-page-turn-effect.c                 |   20 +-
 clutter/clutter-page-turn-effect.h                 |    2 +-
 clutter/clutter-paint-node-private.h               |    2 +-
 clutter/clutter-paint-node.c                       |   46 +-
 clutter/clutter-paint-node.h                       |   27 +-
 clutter/clutter-paint-nodes.c                      |   22 +-
 clutter/clutter-paint-nodes.h                      |   29 +-
 clutter/clutter-paint-volume.c                     |   30 +-
 clutter/clutter-pan-action.c                       |   40 +
 clutter/clutter-pan-action.h                       |   19 +-
 clutter/clutter-path-constraint.c                  |   18 +-
 clutter/clutter-path-constraint.h                  |    2 +-
 clutter/clutter-path.c                             |  210 +-
 clutter/clutter-path.h                             |   49 +-
 clutter/clutter-private.h                          |    1 -
 clutter/clutter-property-transition.c              |    8 +-
 clutter/clutter-property-transition.h              |   12 +-
 clutter/clutter-rotate-action.c                    |    6 +-
 clutter/clutter-rotate-action.h                    |    8 +-
 clutter/clutter-script-parser.c                    |  409 +++-
 clutter/clutter-script-private.h                   |   12 +-
 clutter/clutter-script.c                           |  339 ++-
 clutter/clutter-script.h                           |   25 +-
 clutter/clutter-scriptable.c                       |    8 +-
 clutter/clutter-scriptable.h                       |    4 +-
 clutter/clutter-scroll-actor.c                     |   12 +-
 clutter/clutter-scroll-actor.h                     |   16 +-
 clutter/clutter-settings.c                         |   50 +-
 clutter/clutter-shader-effect.c                    |   14 +-
 clutter/clutter-shader-effect.h                    |    4 +-
 clutter/clutter-shader-types.c                     |   12 +-
 clutter/clutter-shader-types.h                     |    6 +
 clutter/clutter-snap-constraint.c                  |   24 +-
 clutter/clutter-snap-constraint.h                  |    2 +-
 clutter/clutter-stage-manager.c                    |   33 +-
 clutter/clutter-stage-manager.h                    |    4 +-
 clutter/clutter-stage-window.h                     |    4 +-
 clutter/clutter-stage.c                            |  589 ++++-
 clutter/clutter-stage.h                            |   35 +-
 clutter/clutter-swipe-action.c                     |   50 +-
 clutter/clutter-swipe-action.h                     |    4 +-
 clutter/clutter-table-layout.c                     | 1004 ++++++-
 clutter/clutter-table-layout.h                     |   51 +-
 clutter/clutter-tap-action.c                       |    6 +
 clutter/clutter-tap-action.h                       |    2 +
 clutter/clutter-text-buffer.c                      |   40 +-
 clutter/clutter-text-buffer.h                      |   36 +-
 clutter/clutter-text.c                             |  287 ++-
 clutter/clutter-text.h                             |   15 +-
 clutter/clutter-texture.h                          |  128 +
 clutter/clutter-timeline.c                         |  196 +-
 clutter/clutter-timeline.h                         |   28 +-
 clutter/clutter-transition-group.c                 |    8 +-
 clutter/clutter-transition-group.h                 |   14 +-
 clutter/clutter-transition.c                       |   26 +-
 clutter/clutter-transition.h                       |   26 +-
 clutter/clutter-types.h                            |  187 +-
 clutter/clutter-units.c                            |   32 +-
 clutter/clutter-units.h                            |    6 +-
 clutter/clutter-util.c                             |   32 +-
 clutter/clutter-version.h.in                       |  154 +-
 clutter/clutter-zoom-action.c                      |   60 +-
 clutter/clutter-zoom-action.h                      |   16 +-
 clutter/clutter.h                                  |    2 +
 clutter/clutter.pc.in                              |    7 +
 clutter/clutter.symbols                            |  457 +++-
 clutter/deprecated/clutter-actor-deprecated.c      |  411 +++
 clutter/deprecated/clutter-actor.h                 |  161 +
 clutter/deprecated/clutter-alpha.c                 |  959 ++++++
 clutter/deprecated/clutter-alpha.h                 |  144 +
 clutter/deprecated/clutter-animatable.h            |   47 +
 clutter/deprecated/clutter-animation.c             | 2663 +++++++++++++++++
 clutter/deprecated/clutter-animation.h             |  206 ++
 clutter/deprecated/clutter-animator.c              | 2176 ++++++++++++++
 clutter/deprecated/clutter-animator.h              |  186 ++
 clutter/deprecated/clutter-backend.h               |   64 +
 clutter/deprecated/clutter-behaviour-depth.c       |  309 ++
 clutter/deprecated/clutter-behaviour-depth.h       |  101 +
 clutter/deprecated/clutter-behaviour-ellipse.c     | 1068 +++++++
 clutter/deprecated/clutter-behaviour-ellipse.h     |  159 +
 clutter/deprecated/clutter-behaviour-opacity.c     |  322 ++
 clutter/deprecated/clutter-behaviour-opacity.h     |  115 +
 clutter/deprecated/clutter-behaviour-path.c        |  477 +++
 clutter/deprecated/clutter-behaviour-path.h        |  135 +
 clutter/deprecated/clutter-behaviour-rotate.c      |  697 +++++
 clutter/deprecated/clutter-behaviour-rotate.h      |  119 +
 clutter/deprecated/clutter-behaviour-scale.c       |  443 +++
 clutter/deprecated/clutter-behaviour-scale.h       |  107 +
 clutter/deprecated/clutter-behaviour.c             |  669 +++++
 clutter/deprecated/clutter-behaviour.h             |  170 ++
 clutter/deprecated/clutter-bin-layout.h            |   56 +
 clutter/deprecated/clutter-box.c                   |  737 +++++
 clutter/deprecated/clutter-box.h                   |  143 +
 clutter/deprecated/clutter-cairo-texture.c         | 1177 ++++++++
 clutter/deprecated/clutter-cairo-texture.h         |  139 +
 clutter/deprecated/clutter-container.h             |   93 +
 clutter/deprecated/clutter-fixed.c                 |  205 ++
 clutter/deprecated/clutter-fixed.h                 |   97 +
 clutter/deprecated/clutter-frame-source.c          |  267 ++
 clutter/deprecated/clutter-frame-source.h          |   49 +
 clutter/deprecated/clutter-group.c                 |  564 ++++
 clutter/deprecated/clutter-group.h                 |   62 +
 .../deprecated/clutter-input-device-deprecated.c   |   38 +
 clutter/deprecated/clutter-input-device.h          |   41 +
 clutter/deprecated/clutter-keysyms.h               | 2306 ++++++++++++++
 .../deprecated/clutter-layout-manager-deprecated.c |   89 +
 clutter/deprecated/clutter-main.h                  |   96 +
 clutter/deprecated/clutter-media.c                 |  665 ++++
 clutter/deprecated/clutter-media.h                 |  121 +
 clutter/deprecated/clutter-rectangle.c             |  559 ++++
 clutter/deprecated/clutter-rectangle.h             |  117 +
 clutter/deprecated/clutter-score.c                 | 1168 ++++++++
 clutter/deprecated/clutter-score.h                 |  144 +
 clutter/deprecated/clutter-shader.c                |  942 ++++++
 clutter/deprecated/clutter-shader.h                |  182 ++
 clutter/deprecated/clutter-stage-manager.h         |   42 +
 clutter/deprecated/clutter-stage.h                 |  102 +
 clutter/deprecated/clutter-state.c                 | 2315 ++++++++++++++
 clutter/deprecated/clutter-state.h                 |  187 ++
 clutter/deprecated/clutter-texture.c               | 3156 ++++++++++++++++++++
 clutter/deprecated/clutter-texture.h               |  138 +
 clutter/deprecated/clutter-timeline.h              |   41 +
 clutter/deprecated/clutter-timeout-interval.c      |  142 +
 clutter/deprecated/clutter-timeout-interval.h      |   58 +
 clutter/deprecated/clutter-timeout-pool.c          |  500 ++++
 clutter/deprecated/clutter-timeout-pool.h          |   69 +
 clutter/deprecated/clutter-util.h                  |   40 +
 clutter/egl/clutter-backend-eglnative.c            |    6 +-
 clutter/egl/clutter-egl.h                          |    4 +-
 clutter/evdev/clutter-device-manager-evdev.c       |    4 +-
 clutter/evdev/clutter-input-device-evdev.c         |    4 +-
 clutter/gdk/clutter-backend-gdk.c                  |    6 +-
 clutter/gdk/clutter-stage-gdk.c                    |    8 +-
 clutter/gdk/clutter-stage-gdk.h                    |    1 +
 clutter/wayland/clutter-backend-wayland.c          |   67 +-
 clutter/wayland/clutter-event-wayland.c            |   15 +-
 clutter/wayland/clutter-input-device-wayland.c     |   67 +-
 clutter/wayland/clutter-stage-wayland.c            |   87 +-
 clutter/wayland/clutter-stage-wayland.h            |    2 -
 clutter/wayland/clutter-wayland-surface.c          |   14 +-
 clutter/wayland/clutter-wayland-surface.h          |    4 +-
 clutter/wayland/clutter-wayland.h                  |   13 +-
 clutter/win32/clutter-backend-win32.c              |    2 +-
 clutter/win32/clutter-event-win32.c                |    2 +-
 clutter/win32/clutter-stage-win32.c                |   31 +-
 clutter/x11/clutter-backend-x11.c                  |   61 +-
 clutter/x11/clutter-device-manager-xi2.c           |    8 +-
 clutter/x11/clutter-event-x11.c                    |    8 +-
 clutter/x11/clutter-glx-texture-pixmap.c           |    8 +-
 clutter/x11/clutter-glx-texture-pixmap.h           |    4 +-
 clutter/x11/clutter-stage-x11.c                    |   37 +-
 clutter/x11/clutter-stage-x11.h                    |    3 +
 clutter/x11/clutter-x11-texture-pixmap.c           |   20 +-
 clutter/x11/clutter-x11-texture-pixmap.h           |    4 +-
 clutter/x11/clutter-x11.h                          |   21 +-
 configure.ac                                       |   19 +-
 doc/cookbook/examples/Makefile.am                  |    2 +-
 .../examples/events-pointer-motion-scribbler.c     |    6 +-
 .../examples/events-pointer-motion-stacked.c       |    2 +
 doc/cookbook/introduction.xml                      |    6 +-
 doc/reference/cally/Makefile.am                    |    5 +-
 .../{cally2-docs.xml.in => cally-docs.xml.in}      |    0
 .../{cally2-sections.txt => cally-sections.txt}    |    0
 doc/reference/cally/cally.types                    |    9 +
 doc/reference/cally/cally2.types                   |    6 -
 doc/reference/clutter/Makefile.am                  |   21 +-
 .../{clutter2-docs.xml.in => clutter-docs.xml.in}  |  104 +-
 ...{clutter2-sections.txt => clutter-sections.txt} |  974 ++++++-
 .../clutter/{clutter2.types => clutter.types}      |   19 +
 doc/reference/clutter/running-clutter.xml          |    4 +-
 examples/bin-layout.c                              |    5 +-
 examples/box-layout.c                              |    5 +-
 examples/flow-layout.c                             |   10 -
 examples/grid-layout.c                             |   20 +-
 po/Makevars                                        |    2 +-
 po/POTFILES.in                                     |   19 +
 po/an.po                                           | 2793 -----------------
 po/ca.po                                           | 1527 +++++-----
 po/ca valencia po                                  | 2256 ++++++++-------
 po/cs.po                                           | 1539 ++++++++---
 po/da.po                                           | 2192 ++++++++-------
 po/de.po                                           | 1301 ++++----
 po/es.po                                           | 2192 ++++++++------
 po/eu.po                                           | 2607 ----------------
 po/fr.po                                           | 1518 +++++-----
 po/he.po                                           | 2606 +++++++++--------
 po/hu.po                                           | 1960 ------------
 po/it.po                                           | 1487 +++++-----
 po/ko.po                                           | 2799 -----------------
 po/lv.po                                           | 1498 +++++-----
 po/ne.po                                           | 2189 --------------
 po/pl.po                                           | 1226 ++++----
 po/pt.po                                           | 2144 ++++++++------
 po/pt_BR.po                                        | 1292 ++++----
 po/ru.po                                           | 1490 +++++-----
 po/sk.po                                           | 3060 -------------------
 po/sl.po                                           |  672 ++---
 po/tr.po                                           | 2732 ++++++++----------
 po/zh_CN.po                                        | 2903 ++++++++----------
 tests/accessibility/Makefile.am                    |   19 +-
 tests/accessibility/cally-atkcomponent-example.c   |   34 +-
 .../accessibility/cally-atkeditabletext-example.c  |    4 +-
 tests/accessibility/cally-atkevents-example.c      |    4 +-
 tests/accessibility/cally-atktext-example.c        |    4 +-
 tests/accessibility/cally-clone-example.c          |    4 +-
 tests/accessibility/cally-examples-util.c          |    4 +-
 tests/accessibility/cally-examples-util.h          |    4 +-
 tests/conform/Makefile.am                          |   66 +-
 tests/conform/actor-graph.c                        |    8 +
 tests/conform/actor-invariants.c                   |  106 +-
 tests/conform/actor-layout.c                       |    4 +-
 tests/conform/actor-offscreen-redirect.c           |   29 +-
 tests/conform/binding-pool.c                       |   60 +-
 tests/conform/cally-text.c                         |    4 +-
 tests/conform/path.c                               |    4 +-
 tests/conform/test-conform-main.c                  |   48 +-
 tests/conform/text-cache.c                         |    2 +-
 tests/conform/timeline-interpolate.c               |    2 +-
 tests/conform/timeline.c                           |    4 +-
 tests/data/Makefile.am                             |    7 +-
 ...r-2.0.suppressions => clutter-1.0.suppressions} |    0
 tests/interactive/Makefile.am                      |   62 +-
 tests/micro-bench/Makefile.am                      |   17 +-
 tests/performance/Makefile.am                      |   23 +-
 349 files changed, 59528 insertions(+), 34392 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8ea7eb3..db70c63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,30 +41,30 @@ depcomp
 /doc/cookbook/*.stamp
 /doc/cookbook/clutter-cookbook.xml
 /doc/cookbook/clutter-cookbook.html
-doc/reference/clutter/clutter2-*.txt
-!/doc/reference/clutter/clutter2-sections.txt
+doc/reference/clutter/clutter-*.txt
+!/doc/reference/clutter/clutter-sections.txt
 doc/reference/clutter/html
 doc/reference/clutter/tmpl
 doc/reference/clutter/xml
-doc/reference/clutter/clutter2.args
-doc/reference/clutter/clutter2.hierarchy
-doc/reference/clutter/clutter2.interfaces
-doc/reference/clutter/clutter2.prerequisites
-doc/reference/clutter/clutter2.signals
-doc/reference/clutter/clutter2-docs.xml
+doc/reference/clutter/clutter.args
+doc/reference/clutter/clutter.hierarchy
+doc/reference/clutter/clutter.interfaces
+doc/reference/clutter/clutter.prerequisites
+doc/reference/clutter/clutter.signals
+doc/reference/clutter/clutter-docs.xml
 doc/reference/clutter/*.stamp
 doc/reference/clutter/*.bak
-doc/reference/cally/cally2-*.txt
-!/doc/reference/cally/cally2-sections.txt
+doc/reference/cally/cally-*.txt
+!/doc/reference/cally/cally-sections.txt
 doc/reference/cally/html
 doc/reference/cally/tmpl
 doc/reference/cally/xml
-doc/reference/cally/cally2.args
-doc/reference/cally/cally2.hierarchy
-doc/reference/cally/cally2.interfaces
-doc/reference/cally/cally2.prerequisites
-doc/reference/cally/cally2.signals
-doc/reference/cally/cally2-docs.xml
+doc/reference/cally/cally.args
+doc/reference/cally/cally.hierarchy
+doc/reference/cally/cally.interfaces
+doc/reference/cally/cally.prerequisites
+doc/reference/cally/cally.signals
+doc/reference/cally/cally-docs.xml
 doc/reference/cally/*.stamp
 doc/reference/cally/*.bak
 gtk-doc.make
@@ -79,7 +79,7 @@ TAGS
 /tests/conform/test-launcher.sh
 /tests/interactive/wrapper.sh
 /po/POTFILES
-/po/clutter-2.0.pot
+/po/clutter-1.0.pot
 /po/*.gmo
 /po/Makefile.in.in
 /po/Makevars.template
diff --git a/autogen.sh b/autogen.sh
index 5e19560..61c3b46 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -18,7 +18,7 @@ test $TEST_TYPE $FILE || {
 
 # GNU gettext automake support doesn't get along with git.
 # https://bugzilla.gnome.org/show_bug.cgi?id=661128
-touch -t 200001010000 po/clutter-2.0.pot
+touch -t 200001010000 po/clutter-1.0.pot
 
 GTKDOCIZE=`which gtkdocize`
 if test -z $GTKDOCIZE; then
diff --git a/build/win32/vs10/clutter.props b/build/win32/vs10/clutter.props
index 3bf3d89..8d7ef76 100644
--- a/build/win32/vs10/clutter.props
+++ b/build/win32/vs10/clutter.props
@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
   <PropertyGroup Label="UserMacros">
-    <VSVer>10</VSVer>
-    <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
-    <ApiVersion>1.0</ApiVersion>
+    <GlibEtcInstallRoot>..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
+    <GlibMkEnumsPath>..\..\..\vs10\$(Platform)</GlibMkEnumsPath>
+    <GlibGenMarshalPath>..\..\vs10\$(Platform)</GlibGenMarshalPath>
+    <ClutterApiVersion>1.0</ClutterApiVersion>
     <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
     <DefDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</DefDir>
     <BaseWinBuildDef>_WIN32_WINNT=0x0500</BaseWinBuildDef>
@@ -14,38 +15,50 @@
     
<ClutterBuildDefines>$(BaseBuildDef);G_LOG_DOMAIN="Clutter";CLUTTER_LOCALEDIR="../share/locale";CLUTTER_SYSCONFDIR="../etc"</ClutterBuildDefines>
     
<ClutterDisableDeprecationWarnings>CLUTTER_DISABLE_DEPRECATION_WARNINGS;GLIB_DISABLE_DEPRECATION_WARNINGS</ClutterDisableDeprecationWarnings>
     
<CallyTestDefs>$(BaseWinBuildDef);PREFIXDIR="/some/dummy/dir";$(ClutterDisableDeprecationWarnings)</CallyTestDefs>
-    <TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ApiVersion)/data"</TestProgDef>
-    
<TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef>
-    <DoConfigs>
+    <TestProgDef>$(BaseBuildDef);TESTS_DATADIR="../share/clutter-$(ClutterApiVersion)/data"</TestProgDef>
+    
<TestPerfProgDef>$(BaseBuildDef);TESTS_DATA_DIR="../share/clutter-$(ClutterApiVersion)/data";$(ClutterDisableDeprecationWarnings)</TestPerfProgDef>
+    <PreBuildWin>
 if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H
+
 copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h
 
 :DONE_CONFIG_H
-if "$(Configuration)" == "Release" goto DO_CLUTTER_CONFIG_WIN32
-if "$(Configuration)" == "Debug" goto DO_CLUTTER_CONFIG_WIN32
-
-if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H
-if exist clutter.bld.*.win32 del clutter.bld.*.win32
-copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32
-copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h
-goto DONE_CLUTTER_CONFIG_H
 
-:DO_CLUTTER_CONFIG_WIN32
 if exist ..\..\..\clutter\clutter.bld.win32.win32 goto DONE_CLUTTER_CONFIG_H
-if exist clutter.bld.*.win32 del clutter.bld.*.win32
+
+del clutter.bld.*.win32
+
 copy ..\..\..\clutter\clutter-config.h.win32 clutter.bld.win32.win32
+
 copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h
 
 :DONE_CLUTTER_CONFIG_H
-       </DoConfigs>
-    <GenMarshalSrc>
+    </PreBuildWin>
+    <PreBuildGDK>
+if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H
+
+copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h
+
+:DONE_CONFIG_H
+
+if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H
+
+del clutter.bld.*.win32
+
+copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32
+
+copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h
+
+:DONE_CLUTTER_CONFIG_H
+    </PreBuildGDK>
+    <PreBuildCmd2>
 if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H
 
 cd ..\..\..\clutter
 
-$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; 
clutter-marshal.h
+$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; 
clutter-marshal.h
 
-cd ..\build\win32\vs$(VSVer)
+cd ..\build\win32\vs10
 
 :DONE_CLUTTER_MARSHAL_H
 
@@ -56,25 +69,26 @@ cd ..\..\..\clutter
 
 echo #include "clutter-marshal.h" &gt; clutter-marshal.c
 
-$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; 
clutter-marshal.c
+$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; 
clutter-marshal.c
 
-cd ..\build\win32\vs$(VSVer)
+cd ..\build\win32\vs10
 
 :DONE_CLUTTER_MARSHAL_C
-</GenMarshalSrc>
 
-<GenEnumsSrc>
+
 cd ..
-call gen-enums.bat $(GlibEtcInstallRoot)
-cd .\vs$(VSVer)
-</GenEnumsSrc>
 
+gen-enums.bat $(GlibMkEnumsPath)
+
+cd .\vs10
+
+</PreBuildCmd2>
 <ClutterDoInstall>
 mkdir $(CopyDir)
 
 mkdir $(CopyDir)\bin
 
-mkdir $(CopyDir)\share\clutter-$(ApiVersion)\data
+mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
 
 copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin
 
@@ -83,307 +97,306 @@ copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.exe $(CopyDir)\bin
 
 copy ..\*.bat $(CopyDir)\bin
 
-copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ApiVersion)\data
+copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
 
-copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ApiVersion)\data
+copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
 
-copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ApiVersion)\data
+copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\data
 
 
 mkdir $(CopyDir)\lib
 
-copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*-$(ApiVersion).lib $(CopyDir)\lib
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
 
 
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32
 
-if exist clutter.bld.win32.win32 goto DO_INSTALL_COMMON_HEADERS
 
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
-copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
+copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
+copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-:DO_INSTALL_COMMON_HEADERS
+copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-alpha.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-animator.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-brightness-contrast-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-brightness-contrast-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-cairo.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-cairo-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-desaturate-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-grid-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-keyframe-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-media.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-pan-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-property-transition.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-property-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-rotate-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-scroll-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-state.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-tap-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32
 
-copy ..\..\..\clutter\clutter-transition-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
 
-copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\deprecated\clutter-actor.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\deprecated\clutter-animatable.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\clutter-zoom-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter
+copy ..\..\..\clutter\deprecated\clutter-animation.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\win32\clutter-win32.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32
+copy ..\..\..\clutter\deprecated\clutter-backend.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
+copy ..\..\..\clutter\deprecated\clutter-behaviour.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-alpha.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-animatable.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-animation.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-animator.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-backend.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-box.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-container.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-fixed.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-frame-source.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-group.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-keysyms.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-main.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-bin-layout.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-rectangle.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-box.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-score.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-shader.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-container.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-stage.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-fixed.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-stage-manager.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-frame-source.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-texture.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-timeline.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-input-device.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-keysyms.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\deprecated\clutter-util.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
 
-copy ..\..\..\clutter\deprecated\clutter-media.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-rectangle.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-score.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-shader.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-stage-manager.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-state.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-texture.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-timeline.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\deprecated\clutter-util.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated
+copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
+copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally
 
-copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
 
-copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
-
-copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
-
-copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+</ClutterDoInstall>
+<ClutterDoInstallGDK>
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk
 
-copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk
+</ClutterDoInstallGDK>
+<ClutterDoInstallReleaseBin>
+mkdir $(CopyDir)\bin
 
-copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy $(SolutionDir)Release\$(Platform)\bin\*.dll $(CopyDir)\bin
 
-copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy $(SolutionDir)Release\$(Platform)\bin\*.exe $(CopyDir)\bin
 
-copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
 
-copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+mkdir $(CopyDir)\lib
 
-copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy $(SolutionDir)Release\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
+</ClutterDoInstallReleaseBin>
+<ClutterDoInstallDebugBin>
+mkdir $(CopyDir)\bin
 
-copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy $(SolutionDir)Debug\$(Platform)\bin\*.dll $(CopyDir)\bin
 
-copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ApiVersion)\cally
+copy $(SolutionDir)Debug\$(Platform)\bin\*.exe $(CopyDir)\bin
 
 
-</ClutterDoInstall>
-<ClutterDoInstallGDK>
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
+mkdir $(CopyDir)\lib
 
-copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk
-</ClutterDoInstallGDK>
+copy $(SolutionDir)Debug\$(Platform)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib
+</ClutterDoInstallDebugBin>
     <GenerateClutterDef>
          echo EXPORTS &gt; $(DefDir)\clutter.def
 
@@ -397,11 +410,11 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
 
     </GenerateClutterGDKDef>
     <ClutterLibtoolCompatibleDllPrefix>lib</ClutterLibtoolCompatibleDllPrefix>
-    <ClutterLibtoolCompatibleDllSuffix>-$(ApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
-    <ClutterSeparateVSDllPrefix />
-    <ClutterSeparateVSDllSuffix>-1-vs$(VSVer)</ClutterSeparateVSDllSuffix>
-    <ClutterDllPrefix>$(ClutterSeparateVSDllPrefix)</ClutterDllPrefix>
-    <ClutterDllSuffix>$(ClutterSeparateVSDllSuffix)</ClutterDllSuffix>
+    <ClutterLibtoolCompatibleDllSuffix>-$(ClutterApiVersion)-0</ClutterLibtoolCompatibleDllSuffix>
+    <ClutterSeparateVS10DllPrefix />
+    <ClutterSeparateVS10DllSuffix>-1-vs10</ClutterSeparateVS10DllSuffix>
+    <ClutterDllPrefix>$(ClutterSeparateVS10DllPrefix)</ClutterDllPrefix>
+    <ClutterDllSuffix>$(ClutterSeparateVS10DllSuffix)</ClutterDllSuffix>
   </PropertyGroup>
   <PropertyGroup>
     <_PropertySheetDisplayName>clutterprops</_PropertySheetDisplayName>
@@ -421,9 +434,6 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <BuildMacro Include="VSVer">
-      <Value>$(VSVer)</Value>
-    </BuildMacro>
     <BuildMacro Include="GlibEtcInstallRoot">
       <Value>$(GlibEtcInstallRoot)</Value>
     </BuildMacro>
@@ -433,8 +443,14 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
     <BuildMacro Include="DefDir">
       <Value>$(DefDir)</Value>
     </BuildMacro>
-    <BuildMacro Include="ApiVersion">
-      <Value>$(ApiVersion)</Value>
+    <BuildMacro Include="GlibMkEnumsPath">
+      <Value>$(GlibMkEnumsPath)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GlibGenMarshalPath">
+      <Value>$(GlibGenMarshalPath)</Value>
+    </BuildMacro>
+    <BuildMacro Include="ClutterApiVersion">
+      <Value>$(ClutterApiVersion)</Value>
     </BuildMacro>
     <BuildMacro Include="BaseWinBuildDef">
       <Value>$(BaseWinBuildDef)</Value>
@@ -466,14 +482,14 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
     <BuildMacro Include="TestPerfProgDef">
       <Value>$(TestPerfProgDef)</Value>
     </BuildMacro>
-    <BuildMacro Include="DoConfigs">
-      <Value>$(DoConfigs)</Value>
+    <BuildMacro Include="PreBuildGDK">
+      <Value>$(PreBuildGDK)</Value>
     </BuildMacro>
-    <BuildMacro Include="GenMarshalSrc">
-      <Value>$(GenMarshalSrc)</Value>
+    <BuildMacro Include="PreBuildWin">
+      <Value>$(PreBuildWin)</Value>
     </BuildMacro>
-    <BuildMacro Include="GenEnumsSrc">
-      <Value>$(GenEnumsSrc)</Value>
+    <BuildMacro Include="PreBuildCmd2">
+      <Value>$(PreBuildCmd2)</Value>
     </BuildMacro>
     <BuildMacro Include="ClutterDoInstall">
       <Value>$(ClutterDoInstall)</Value>
@@ -499,11 +515,11 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
     <BuildMacro Include="ClutterLibtoolCompatibleDllSuffix">
       <Value>$(ClutterLibtoolCompatibleDllSuffix)</Value>
     </BuildMacro>
-    <BuildMacro Include="ClutterSeparateVSDllPrefix">
-      <Value>$(ClutterSeparateVSDllPrefix)</Value>
+    <BuildMacro Include="ClutterSeparateVS10DllPrefix">
+      <Value>$(ClutterSeparateVS10DllPrefix)</Value>
     </BuildMacro>
-    <BuildMacro Include="ClutterSeparateVSDllSuffix">
-      <Value>$(ClutterSeparateVSDllSuffix)</Value>
+    <BuildMacro Include="ClutterSeparateVS10DllSuffix">
+      <Value>$(ClutterSeparateVS10DllSuffix)</Value>
     </BuildMacro>
     <BuildMacro Include="ClutterDllPrefix">
       <Value>$(ClutterDllPrefix)</Value>
diff --git a/build/win32/vs10/clutter.sln b/build/win32/vs10/clutter.sln
index 23213b6..1302d3a 100644
--- a/build/win32/vs10/clutter.sln
+++ b/build/win32/vs10/clutter.sln
@@ -375,18 +375,18 @@ Global
                {75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|Win32.Build.0 = Release|Win32
                {75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.ActiveCfg = Release|x64
                {75F9E5AF-040C-448E-96BE-C282EFFFE2D9}.Release|x64.Build.0 = Release|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug_GDK|x64
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.ActiveCfg = Debug|Win32
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|Win32.Build.0 = Debug|Win32
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.ActiveCfg = Debug|x64
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = Debug|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release_GDK|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release_GDK|x64
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.ActiveCfg = Release|Win32
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Release|Win32.Build.0 = Release|Win32
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64
diff --git a/build/win32/vs10/clutter.vcxproj.filtersin b/build/win32/vs10/clutter.vcxproj.filtersin
index c89755d..bb25d10 100644
--- a/build/win32/vs10/clutter.vcxproj.filtersin
+++ b/build/win32/vs10/clutter.vcxproj.filtersin
@@ -24,11 +24,6 @@
     <ClCompile Include="..\..\..\clutter\cogl\clutter-stage-cogl.c"><Filter>Sources</Filter></ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\clutter\clutter-marshal.list"><Filter>Resource 
Files</Filter></CustomBuild>
-    <CustomBuild Include="..\..\..\clutter\clutter-enum-types.h.in"><Filter>Resource 
Files</Filter></CustomBuild>
-    <CustomBuild Include="..\..\..\clutter\clutter.symbols"><Filter>Resource Files</Filter></CustomBuild>
-  </ItemGroup>
-  <ItemGroup>
     <ResourceCompile Include="..\..\..\clutter\win32\resources.rc">
       <Filter>Resource Files</Filter>
     </ResourceCompile>
diff --git a/build/win32/vs10/clutter.vcxprojin b/build/win32/vs10/clutter.vcxprojin
index 48ebeae..ecab540 100644
--- a/build/win32/vs10/clutter.vcxprojin
+++ b/build/win32/vs10/clutter.vcxprojin
@@ -126,7 +126,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -140,11 +140,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX86</TargetMachine>
@@ -152,7 +155,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -166,11 +169,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX86</TargetMachine>
@@ -178,7 +184,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -192,11 +198,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
@@ -204,7 +213,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
@@ -218,11 +227,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX64</TargetMachine>
@@ -230,7 +242,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
@@ -244,11 +256,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
@@ -258,7 +273,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
@@ -272,11 +287,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
@@ -286,7 +304,7 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildWin)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       
<AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -297,11 +315,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
@@ -311,7 +332,7 @@
   </ItemDefinitionGroup>
     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">
     <PreBuildEvent>
-      <Command>$(DoConfigs)</Command>
+      <Command>$(PreBuildGDK)$(PreBuildCmd2)</Command>
     </PreBuildEvent>
     <ClCompile>
       
<AdditionalIncludeDirectories>..\..\..\clutter;..\..\..\clutter\win32;..\..\..\clutter\deprecated;..\..\..\clutter\cally;$(GlibEtcInstallRoot)\include\gtk-3.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -322,11 +343,14 @@
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
+    <PreLinkEvent>
+      <Command>$(GenerateClutterGDKDef)</Command>
+    </PreLinkEvent>
     <Link>
       
<AdditionalDependencies>opengl32.lib;winmm.lib;intl.lib;json-glib-1.0.lib;gdk-3.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo-gobject.lib;cairo.lib;atk-1.0.lib;gmodule-2.0.lib;gio-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll</OutputFile>
       <ModuleDefinitionFile>$(IntDir)\clutter.def</ModuleDefinitionFile>
-      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
+      <ImportLibrary>$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib</ImportLibrary>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <OptimizeReferences>true</OptimizeReferences>
@@ -374,86 +398,6 @@
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\..\clutter\clutter-marshal.list">
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Marshalling 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenMarshalSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c;%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\..\..\clutter\clutter-enum-types.h.in">
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating Enumeration 
Sources...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenEnumsSrc)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c;%(Outputs)</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\..\..\clutter\clutter.symbols">
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">Generating 
clutter.def...</Message>
-      <Command 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GenerateClutterGDKDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating clutter.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GenerateClutterDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">Generating 
clutter.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GenerateClutterGDKDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating clutter.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GenerateClutterDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">Generating 
clutter.def...</Message>
-      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GenerateClutterGDKDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating 
clutter.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GenerateClutterDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">Generating 
clutter.def...</Message>
-      <Command 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GenerateClutterGDKDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating clutter.def...</Message>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GenerateClutterDef)</Command>
-      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)clutter.def;%(Outputs)</Outputs>
-    </CustomBuild>
-  </ItemGroup>
-  <ItemGroup>
     <ResourceCompile Include="..\..\..\clutter\win32\resources.rc" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/build/win32/vs10/install.vcxproj b/build/win32/vs10/install.vcxproj
index cc987c2..30a906c 100644
--- a/build/win32/vs10/install.vcxproj
+++ b/build/win32/vs10/install.vcxproj
@@ -5,18 +5,34 @@
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug_GDK|Win32">
+      <Configuration>Debug_GDK</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Debug|x64">
       <Configuration>Debug</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug_GDK|x64">
+      <Configuration>Debug_GDK</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_GDK|Win32">
+      <Configuration>Release_GDK</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|x64">
       <Configuration>Release</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release_GDK|x64">
+      <Configuration>Release_GDK</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{35B2A4AC-7235-4FC7-995D-469D59195041}</ProjectGuid>
@@ -28,19 +44,37 @@
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Utility</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>Utility</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>Utility</ConfigurationType>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" Label="Configuration">
+    <ConfigurationType>Utility</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -48,45 +82,87 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="clutter.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="clutter.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="clutter.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="clutter.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="clutter.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">$(GlibEtcInstallRoot)\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">$(GlibEtcInstallRoot)\</OutDir>
     <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'" />
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">$(GlibEtcInstallRoot)\</OutDir>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">$(GlibEtcInstallRoot)\</OutDir>
     <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'" />
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <PostBuildEvent>
-      <Command>$(ClutterDoInstall)</Command>
+      <Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall)</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|Win32'">
+    <PostBuildEvent>
+      <Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <PreBuildEvent>
-      <Command>$(ClutterDoInstall)</Command>
+      <Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall)</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_GDK|x64'">
+    <PreBuildEvent>
+      <Command>$(ClutterDoInstallDebugBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <PostBuildEvent>
-      <Command>$(ClutterDoInstall)</Command>
+      <Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|Win32'">
+    <PostBuildEvent>
+      <Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <PreBuildEvent>
-      <Command>$(ClutterDoInstall)</Command>
+      <Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_GDK|x64'">
+    <PreBuildEvent>
+      <Command>$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) $(ClutterDoInstallGDK)</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
diff --git a/build/win32/vs9/clutter.sln b/build/win32/vs9/clutter.sln
index e1ac960..3b527ba 100644
--- a/build/win32/vs9/clutter.sln
+++ b/build/win32/vs9/clutter.sln
@@ -462,14 +462,14 @@ Global
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug|x64.Build.0 = Debug|x64
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.ActiveCfg = Release|x64
                {35B2A4AC-7235-4FC7-995D-469D59195041}.Release|x64.Build.0 = Release|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release|Win32
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release|x64
-               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.ActiveCfg = Debug_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|Win32.Build.0 = Debug_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.ActiveCfg = Release_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|Win32.Build.0 = Release_GDK|Win32
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.ActiveCfg = Debug_GDK|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Debug_GDK|x64.Build.0 = Debug_GDK|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.ActiveCfg = Release_GDK|x64
+               {35B2A4AC-7235-4FC7-995D-469D59195041}.Release_GDK|x64.Build.0 = Release_GDK|x64
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
diff --git a/build/win32/vs9/clutter.vcprojin b/build/win32/vs9/clutter.vcprojin
index ed2a893..6366a57 100644
--- a/build/win32/vs9/clutter.vcprojin
+++ b/build/win32/vs9/clutter.vcprojin
@@ -27,7 +27,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -51,7 +51,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="2"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                TargetMachine="1"
@@ -66,7 +66,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -90,7 +90,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="2"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                TargetMachine="1"
@@ -104,7 +104,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -128,7 +128,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="2"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                TargetMachine="17"
@@ -143,7 +143,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -167,7 +167,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="2"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                TargetMachine="17"
@@ -182,7 +182,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -206,7 +206,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="1"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
@@ -224,7 +224,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -248,7 +248,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="1"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
@@ -264,7 +264,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildWin)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -285,7 +285,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="2"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
@@ -302,7 +302,7 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(DoConfigs)"
+                               CommandLine="$(PreBuildGDK)$(PreBuildCmd2)"
                        />
                        <Tool
                                Name="VCCLCompilerTool"
@@ -323,7 +323,7 @@
                                
OutputFile="$(OutDir)\$(ClutterDllPrefix)$(ProjectName)$(ClutterDllSuffix).dll"
                                LinkIncremental="2"
                                ModuleDefinitionFile="$(IntDir)\clutter.def"
-                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ApiVersion).lib"
+                               ImportLibrary="$(TargetDir)$(ProjectName)-$(ClutterApiVersion).lib"
                                GenerateDebugInformation="true"
                                SubSystem="2"
                                OptimizeReferences="2"
@@ -386,204 +386,6 @@
                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
                        >
-                       <File RelativePath="..\..\..\clutter\clutter-enum-types.h.in">
-                               <FileConfiguration Name="Debug|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug_GDK|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release_GDK|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug_GDK|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release_GDK|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Enumeration Sources..."
-                                               CommandLine="$(GenEnumsSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-enum-types.h;..\..\..\clutter\clutter-enum-types.c"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File RelativePath="..\..\..\clutter\clutter-marshal.list">
-                               <FileConfiguration Name="Debug|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug_GDK|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release_GDK|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug_GDK|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release_GDK|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating Marshalling Sources..."
-                                               CommandLine="$(GenMarshalSrc)"
-                                               
Outputs="..\..\..\clutter\clutter-marshal.h;..\..\..\clutter\clutter-marshal.c"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File RelativePath="..\..\..\clutter\clutter.symbols">
-                               <FileConfiguration Name="Debug|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug_GDK|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterGDKDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release_GDK|Win32">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterGDKDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Debug_GDK|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterGDKDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration Name="Release_GDK|x64">
-                                       <Tool
-                                               Name="VCCustomBuildTool"
-                                               Description="Generating clutter.def..."
-                                               CommandLine="$(GenerateClutterGDKDef)"
-                                               Outputs="$(IntDir)\clutter.def"
-                                       />
-                               </FileConfiguration>
-                       </File>
                        <File RelativePath="..\..\..\clutter\win32\resources.rc" />
                </Filter>
        </Files>
diff --git a/build/win32/vs9/clutter.vsprops b/build/win32/vs9/clutter.vsprops
index 2b35c75..c7d91eb 100644
--- a/build/win32/vs9/clutter.vsprops
+++ b/build/win32/vs9/clutter.vsprops
@@ -18,12 +18,8 @@
                AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
        />
        <UserMacro
-               Name="VSVer"
-               Value="9"
-       />
-       <UserMacro
                Name="GlibEtcInstallRoot"
-               Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
+               Value="..\..\..\..\vs9\$(PlatformName)"
        />
        <UserMacro
                Name="CopyDir"
@@ -34,7 +30,15 @@
                Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
        />
        <UserMacro
-               Name="ApiVersion"
+               Name="GlibMkEnumsPath"
+               Value="..\..\..\vs9\$(PlatformName)"
+       />
+       <UserMacro
+               Name="GlibGenMarshalPath"
+               Value="..\..\vs9\$(PlatformName)"
+       />
+       <UserMacro
+               Name="ClutterApiVersion"
                Value="1.0"
        />
        <UserMacro
@@ -71,60 +75,57 @@
        />
        <UserMacro
                Name="TestProgDef"
-               Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ApiVersion)/data\&quot;"
+               Value="$(BaseBuildDef);TESTS_DATADIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;"
        />
        <UserMacro
                Name="TestPerfProgDef"
-               
Value="$(BaseBuildDef);TESTS_DATA_DIR=\&quot;../share/clutter-$(ApiVersion)/data\&quot;;$(ClutterDisableDeprecationWarnings)"
+               
Value="$(BaseBuildDef);TESTS_DATA_DIR=\&quot;../share/clutter-$(ClutterApiVersion)/data\&quot;;$(ClutterDisableDeprecationWarnings)"
        />
        <UserMacro
-               Name="DoConfigs"
+               Name="PreBuildWin"
                Value="
 if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
 copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h&#x0D;&#x0A;
-
 :DONE_CONFIG_H&#x0D;&#x0A;
-if &quot;$(ConfigurationName)&quot; == &quot;Release&quot; goto DO_CLUTTER_CONFIG_WIN32&#x0D;&#x0A;
-if &quot;$(ConfigurationName)&quot; == &quot;Debug&quot; goto DO_CLUTTER_CONFIG_WIN32&#x0D;&#x0A;
-
-if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
-if exist clutter.bld.*.win32 del clutter.bld.*.win32&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
-goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
-
-:DO_CLUTTER_CONFIG_WIN32&#x0D;&#x0A;
 if exist ..\..\..\clutter\clutter.bld.win32.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
-if exist clutter.bld.*.win32 del clutter.bld.*.win32&#x0D;&#x0A;
+del clutter.bld.*.win32&#x0D;&#x0A;
 copy ..\..\..\clutter\clutter-config.h.win32 clutter.bld.win32.win32&#x0D;&#x0A;
 copy ..\..\..\clutter\clutter-config.h.win32 ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
-
 :DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
                          "
        />
        <UserMacro
-               Name="GenMarshalSrc"
+               Name="PreBuildGDK"
+               Value="
+if exist ..\..\..\clutter\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
+copy ..\..\..\clutter\config.h.win32 ..\..\..\clutter\config.h&#x0D;&#x0A;
+:DONE_CONFIG_H&#x0D;&#x0A;
+if exist ..\..\..\clutter\clutter.bld.GDK.win32 goto DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+del clutter.bld.*.win32&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h.win32_GDK clutter.bld.GDK.win32&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h.win32_GDK ..\..\..\clutter\clutter-config.h&#x0D;&#x0A;
+:DONE_CLUTTER_CONFIG_H&#x0D;&#x0A;
+                         "
+       />
+       <UserMacro
+               Name="PreBuildCmd2"
                Value="
 if exist ..\..\..\clutter\clutter-marshal.h goto DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
 cd ..\..\..\clutter&#x0D;&#x0A;
-$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; 
clutter-marshal.h&#x0D;&#x0A;
-cd ..\build\win32\vs$(VSVer)&#x0D;&#x0A;
+$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --header clutter-marshal.list &gt; 
clutter-marshal.h&#x0D;&#x0A;
+cd ..\build\win32\vs9&#x0D;&#x0A;
 :DONE_CLUTTER_MARSHAL_H&#x0D;&#x0A;
 
 if exist ..\..\..\clutter\clutter-marshal.c goto DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
 cd ..\..\..\clutter&#x0D;&#x0A;
 echo #include &quot;clutter-marshal.h&quot; &gt; clutter-marshal.c&#x0D;&#x0A;
-$(GlibEtcInstallRoot)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; 
clutter-marshal.c&#x0D;&#x0A;
-cd ..\build\win32\vs$(VSVer)&#x0D;&#x0A;
+$(GlibGenMarshalPath)\bin\glib-genmarshal --prefix=_clutter_marshal --body clutter-marshal.list &gt;&gt; 
clutter-marshal.c&#x0D;&#x0A;
+cd ..\build\win32\vs9&#x0D;&#x0A;
 :DONE_CLUTTER_MARSHAL_C&#x0D;&#x0A;
-                      "
-       />
-       <UserMacro
-               Name="GenEnumsSrc"
-               Value="
+
 cd ..&#x0D;&#x0A;
-call gen-enums.bat $(GlibEtcInstallRoot)&#x0D;&#x0A;
-cd .\vs$(VSVer)&#x0D;&#x0A;
+gen-enums.bat $(GlibMkEnumsPath)&#x0D;&#x0A;
+cd .\vs9&#x0D;&#x0A;
 "
        />
        <UserMacro
@@ -132,173 +133,181 @@ cd .\vs$(VSVer)&#x0D;&#x0A;
                Value="
 mkdir $(CopyDir)&#x0D;&#x0A;
 mkdir $(CopyDir)\bin&#x0D;&#x0A;
-mkdir $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
+mkdir $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
 
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
 copy ..\*.bat $(CopyDir)\bin&#x0D;&#x0A;
-copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
-copy ..\..\..\tests\data\clutter-1.0.suppressions $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
-copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ApiVersion)\data&#x0D;&#x0A;
+copy ..\..\..\tests\data\*.png $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
+copy ..\..\..\tests\data\clutter-1.0.suppressions 
$(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
+copy ..\..\..\tests\data\*.json $(CopyDir)\share\clutter-$(ClutterApiVersion)\data&#x0D;&#x0A;
 
 mkdir $(CopyDir)\lib&#x0D;&#x0A;
-copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*-$(ApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
-
-if exist clutter.bld.win32.win32 goto DO_INSTALL_COMMON_HEADERS&#x0D;&#x0A;
+copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*-$(ClutterApiVersion).lib 
$(CopyDir)\lib&#x0D;&#x0A;
 
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
-copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32&#x0D;&#x0A;
 
-:DO_INSTALL_COMMON_HEADERS&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-actor-meta.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-align-constraint.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-alpha.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-animatable.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-animation.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-animator.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-bind-constraint.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-binding-pool.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-bin-layout.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-blur-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-box-layout.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-brightness-contrast-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-cairo-texture.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-child-meta.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-click-action.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-cogl-compat.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-color-static.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-colorize-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-constraint.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-deform-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-deprecated.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-desaturate-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-device-manager.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-drag-action.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-drop-action.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-enum-types.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-fixed-layout.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-flow-layout.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-gesture-action.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-input-device.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-layout-manager.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-layout-meta.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-list-model.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-media.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-offscreen-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-page-turn-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-paint-node.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-paint-nodes.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-path-constraint.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-property-transition.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-scriptable.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-shader-effect.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-shader-types.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-snap-constraint.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-stage-manager.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-stage-window.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-state.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-swipe-action.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-table-layout.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-text-buffer.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-transition.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter&#x0D;&#x0A;
+copy ..\..\..\clutter\win32\clutter-win32.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\win32&#x0D;&#x0A;
 
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32&#x0D;&#x0A;
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-actor.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-animatable.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-animation.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-backend.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-box.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-container.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-group.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-fixed.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-frame-source.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-keysyms.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-main.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-rectangle.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-score.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-shader.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-stage.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-stage-manager.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-texture.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-timeline.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
+copy ..\..\..\clutter\deprecated\clutter-util.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\deprecated&#x0D;&#x0A;
 
-copy ..\..\..\clutter\clutter.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-actor-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-align-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-animatable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-backend.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-bind-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-binding-pool.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-bin-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-blur-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-box-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-brightness-contrast-effect.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-cairo.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-canvas.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-child-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-click-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-cogl-compat.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-color-static.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-color.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-colorize-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-config.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-content.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-container.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-deform-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-deprecated.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-desaturate-effect.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-device-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-drag-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-drop-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-enums.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-enum-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-event.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-feature.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-fixed-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-flow-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-gesture-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-grid-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-image.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-input-device.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-interval.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-layout-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-layout-meta.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-list-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-keyframe-transition.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-keysyms.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-macros.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-main.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-marshal.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-model.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-offscreen-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-page-turn-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-paint-node.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-paint-nodes.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-pan-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-path-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-path.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-property-transition.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-rotate-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-script.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-scriptable.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-scroll-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-settings.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-shader-effect.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-shader-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-snap-constraint.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-stage-manager.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-stage-window.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-swipe-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-table-layout.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-tap-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-text.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-text-buffer.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-timeline.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-transition.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-transition-group.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-types.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-units.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-version.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\clutter-zoom-action.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter&#x0D;&#x0A;
-copy ..\..\..\clutter\win32\clutter-win32.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\win32&#x0D;&#x0A;
-
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-actor.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-alpha.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-animatable.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-animation.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-animator.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-backend.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour-depth.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour-ellipse.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour-opacity.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour-path.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour-rotate.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-behaviour-scale.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-bin-layout.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-box.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-cairo-texture.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-container.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-fixed.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-frame-source.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-group.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-input-device.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-keysyms.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-main.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-media.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-rectangle.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-score.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-shader.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-stage.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-stage-manager.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-state.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-texture.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-timeline.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-timeout-pool.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-copy ..\..\..\clutter\deprecated\clutter-util.h 
$(CopyDir)\include\clutter-$(ApiVersion)\clutter\deprecated&#x0D;&#x0A;
-
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-rectangle.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
-copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ApiVersion)\cally&#x0D;&#x0A;
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-actor.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-clone.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-factory.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-group.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-main.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-rectangle.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-root.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-stage.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-text.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-texture.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
+copy ..\..\..\clutter\cally\cally-util.h $(CopyDir)\include\clutter-$(ClutterApiVersion)\cally&#x0D;&#x0A;
 
 "
        />
        <UserMacro
                Name="ClutterDoInstallGDK"
                Value="
-mkdir $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
+mkdir $(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk&#x0D;&#x0A;
 
-copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)\clutter\gdk&#x0D;&#x0A;
+copy ..\..\..\clutter\gdk\clutter-gdk.h 
$(CopyDir)\include\clutter-$(ClutterApiVersion)\clutter\gdk&#x0D;&#x0A;
+                         "
+       />
+       <UserMacro
+               Name="ClutterDoInstallReleaseBin"
+               Value="
+mkdir $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)Release\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
+
+copy $(SolutionDir)Release\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
+
+mkdir $(CopyDir)\lib&#x0D;&#x0A;
+copy $(SolutionDir)Release\$(PlatformName)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
+                         "
+       />
+               <UserMacro
+               Name="ClutterDoInstallDebugBin"
+               Value="
+mkdir $(CopyDir)\bin&#x0D;&#x0A;
+copy $(SolutionDir)Debug\$(PlatformName)\bin\*.dll $(CopyDir)\bin&#x0D;&#x0A;
+
+copy $(SolutionDir)Debug\$(PlatformName)\bin\*.exe $(CopyDir)\bin&#x0D;&#x0A;
+
+mkdir $(CopyDir)\lib&#x0D;&#x0A;
+copy $(SolutionDir)Debug\$(PlatformName)\bin\*-$(ClutterApiVersion).lib $(CopyDir)\lib&#x0D;&#x0A;
                          "
        />
        <UserMacro
@@ -321,24 +330,24 @@ copy ..\..\..\clutter\gdk\clutter-gdk.h $(CopyDir)\include\clutter-$(ApiVersion)
        />
        <UserMacro
                Name="ClutterLibtoolCompatibleDllSuffix"
-               Value="-$(ApiVersion)-0"
+               Value="-$(ClutterApiVersion)-0"
        />
        <UserMacro
-               Name="ClutterSeparateVSDllPrefix"
+               Name="ClutterSeparateVS9DllPrefix"
                Value=""
        />
        <UserMacro
-               Name="ClutterSeparateVSDllSuffix"
-               Value="-1-vs$(VSVer)"
+               Name="ClutterSeparateVS9DllSuffix"
+               Value="-1-vs9"
        />
        <!-- Change these two to GlibLibtoolCompatibleDllPrefix and
        GlibLibtoolCompatibleDllSuffix if that is what you want -->
        <UserMacro
                Name="ClutterDllPrefix"
-               Value="$(ClutterSeparateVSDllPrefix)"
+               Value="$(ClutterSeparateVS9DllPrefix)"
        />
        <UserMacro
                Name="ClutterDllSuffix"
-               Value="$(ClutterSeparateVSDllSuffix)"
+               Value="$(ClutterSeparateVS9DllSuffix)"
        />
 </VisualStudioPropertySheet>
diff --git a/build/win32/vs9/install.vcproj b/build/win32/vs9/install.vcproj
index 91c4c43..713a2b5 100644
--- a/build/win32/vs9/install.vcproj
+++ b/build/win32/vs9/install.vcproj
@@ -27,7 +27,19 @@
                        >
                        <Tool
                                Name="VCPostBuildEventTool"
-                               CommandLine="$(ClutterDoInstall)"
+                               CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Debug_GDK|Win32"
+                       InheritedPropertySheets=".\clutter.vsprops"
+                       OutputDirectory="$(GlibEtcInstallRoot)"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       >
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                               CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall) 
$(ClutterDoInstallGDK)"
                        />
                </Configuration>
                <Configuration
@@ -40,7 +52,20 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(ClutterDoInstall)"
+                               CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Debug_GDK|x64"
+                       InheritedPropertySheets=".\clutter.vsprops"
+                       OutputDirectory="$(GlibEtcInstallRoot)"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       DeleteExtensionsOnClean=""
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                               CommandLine="$(ClutterDoInstallDebugBin) $(ClutterDoInstall) 
$(ClutterDoInstallGDK)"
                        />
                </Configuration>
                <Configuration
@@ -53,7 +78,20 @@
                        >
                        <Tool
                                Name="VCPostBuildEventTool"
-                               CommandLine="$(ClutterDoInstall)"
+                               CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release_GDK|Win32"
+                       InheritedPropertySheets=".\clutter.vsprops"
+                       OutputDirectory="$(GlibEtcInstallRoot)"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       WholeProgramOptimization="1"
+                       >
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                               CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) 
$(ClutterDoInstallGDK)"
                        />
                </Configuration>
                <Configuration
@@ -67,7 +105,21 @@
                        >
                        <Tool
                                Name="VCPreBuildEventTool"
-                               CommandLine="$(ClutterDoInstall)"
+                               CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall)"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release_GDK|x64"
+                       InheritedPropertySheets=".\clutter.vsprops"
+                       OutputDirectory="$(GlibEtcInstallRoot)"
+                       ConfigurationType="10"
+                       CharacterSet="2"
+                       WholeProgramOptimization="1"
+                       DeleteExtensionsOnClean=""
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                               CommandLine="$(ClutterDoInstallReleaseBin) $(ClutterDoInstall) 
$(ClutterDoInstallGDK)"
                        />
                </Configuration>
        </Configurations>
diff --git a/clutter.doap b/clutter.doap
index 37c7e27..19938fb 100644
--- a/clutter.doap
+++ b/clutter.doap
@@ -7,15 +7,14 @@
 
   <name>Clutter</name>
   <shortname>clutter</shortname>
-  <category rdf:resource="http://api.gnome.org/doap-extensions#core"; />
 
   <shortdesc xml:lang="en">A toolkit for creating fast, portable, compelling dynamic UIs</shortdesc>
 
   <description xml:lang="en">Clutter is an open source software library for creating fast, portable, 
compelling and dynamic graphical user interfaces. Clutter uses OpenGL (and optionally OpenGL|ES for use on 
Mobile and embedded platforms) for rendering, but with an API which hides the underlying GL complexity from 
the developer. The Clutter API is intended to be easy to use, efficient and flexible.</description>
 
-  <homepage rdf:resource="https://wiki.gnome.org/Projects/Clutter"; />
+  <homepage rdf:resource="http://www.clutter-project.org"; />
   <license rdf:resource="http://usefulinc.com/doap/licenses/lgpl"; />
-  <bug-database rdf:resource="https://bugzilla.gnome.org/enter_bug.cgi?product=clutter"/>
+  <bug-database rdf:resource="http://bugzilla.gnome.org/enter_bug.cgi?product=clutter"/>
   <download-page rdf:resource="http://download.gnome.org/sources/clutter"; />
   <mailing-list rdf:resource="mailto:clutter-devel-list clutter-project org" />
 
diff --git a/clutter/Makefile.am b/clutter/Makefile.am
index 183eb20..c0d3d5a 100644
--- a/clutter/Makefile.am
+++ b/clutter/Makefile.am
@@ -86,6 +86,7 @@ source_h =                                    \
        $(srcdir)/clutter-flow-layout.h         \
        $(srcdir)/clutter-gesture-action.h      \
        $(srcdir)/clutter-grid-layout.h         \
+       $(srcdir)/clutter-group.h               \
        $(srcdir)/clutter-image.h               \
        $(srcdir)/clutter-input-device.h        \
         $(srcdir)/clutter-interval.h            \
@@ -118,6 +119,7 @@ source_h =                                  \
        $(srcdir)/clutter-stage-manager.h       \
        $(srcdir)/clutter-table-layout.h        \
        $(srcdir)/clutter-tap-action.h          \
+       $(srcdir)/clutter-texture.h             \
        $(srcdir)/clutter-text.h                \
        $(srcdir)/clutter-text-buffer.h         \
        $(srcdir)/clutter-timeline.h            \
@@ -252,18 +254,79 @@ source_c_priv = \
 
 # deprecated installed headers
 deprecated_h = \
+       $(srcdir)/deprecated/clutter-actor.h                    \
+       $(srcdir)/deprecated/clutter-alpha.h                    \
+       $(srcdir)/deprecated/clutter-animatable.h               \
+       $(srcdir)/deprecated/clutter-animation.h                \
+       $(srcdir)/deprecated/clutter-animator.h                 \
+       $(srcdir)/deprecated/clutter-backend.h                  \
+       $(srcdir)/deprecated/clutter-behaviour.h                \
+       $(srcdir)/deprecated/clutter-behaviour-depth.h          \
+       $(srcdir)/deprecated/clutter-behaviour-ellipse.h        \
+       $(srcdir)/deprecated/clutter-behaviour-opacity.h        \
+       $(srcdir)/deprecated/clutter-behaviour-path.h           \
+       $(srcdir)/deprecated/clutter-behaviour-rotate.h         \
+       $(srcdir)/deprecated/clutter-behaviour-scale.h          \
+       $(srcdir)/deprecated/clutter-bin-layout.h               \
+       $(srcdir)/deprecated/clutter-box.h                      \
+       $(srcdir)/deprecated/clutter-cairo-texture.h            \
+       $(srcdir)/deprecated/clutter-container.h                \
+       $(srcdir)/deprecated/clutter-fixed.h                    \
+       $(srcdir)/deprecated/clutter-frame-source.h             \
+       $(srcdir)/deprecated/clutter-group.h                    \
+       $(srcdir)/deprecated/clutter-input-device.h             \
+       $(srcdir)/deprecated/clutter-keysyms.h                  \
+       $(srcdir)/deprecated/clutter-main.h                     \
+       $(srcdir)/deprecated/clutter-media.h                    \
+       $(srcdir)/deprecated/clutter-rectangle.h                \
+       $(srcdir)/deprecated/clutter-score.h                    \
+       $(srcdir)/deprecated/clutter-shader.h                   \
+       $(srcdir)/deprecated/clutter-stage-manager.h            \
+       $(srcdir)/deprecated/clutter-stage.h                    \
+       $(srcdir)/deprecated/clutter-state.h                    \
+       $(srcdir)/deprecated/clutter-texture.h                  \
+       $(srcdir)/deprecated/clutter-timeline.h                 \
+       $(srcdir)/deprecated/clutter-timeout-pool.h             \
+       $(srcdir)/deprecated/clutter-util.h                     \
        $(NULL)
 
 # deprecated source code
 deprecated_c = \
+       $(srcdir)/deprecated/clutter-actor-deprecated.c         \
+       $(srcdir)/deprecated/clutter-alpha.c                    \
+       $(srcdir)/deprecated/clutter-animation.c                \
+       $(srcdir)/deprecated/clutter-animator.c                 \
+       $(srcdir)/deprecated/clutter-behaviour.c                \
+       $(srcdir)/deprecated/clutter-behaviour-depth.c          \
+       $(srcdir)/deprecated/clutter-behaviour-ellipse.c        \
+       $(srcdir)/deprecated/clutter-behaviour-opacity.c        \
+       $(srcdir)/deprecated/clutter-behaviour-path.c           \
+       $(srcdir)/deprecated/clutter-behaviour-rotate.c         \
+       $(srcdir)/deprecated/clutter-behaviour-scale.c          \
+       $(srcdir)/deprecated/clutter-box.c                      \
+       $(srcdir)/deprecated/clutter-cairo-texture.c            \
+       $(srcdir)/deprecated/clutter-fixed.c                    \
+       $(srcdir)/deprecated/clutter-frame-source.c             \
+       $(srcdir)/deprecated/clutter-group.c                    \
+       $(srcdir)/deprecated/clutter-input-device-deprecated.c  \
+       $(srcdir)/deprecated/clutter-layout-manager-deprecated.c \
+       $(srcdir)/deprecated/clutter-media.c                    \
+       $(srcdir)/deprecated/clutter-rectangle.c                \
+       $(srcdir)/deprecated/clutter-score.c                    \
+       $(srcdir)/deprecated/clutter-shader.c                   \
+       $(srcdir)/deprecated/clutter-state.c                    \
+       $(srcdir)/deprecated/clutter-texture.c                  \
+       $(srcdir)/deprecated/clutter-timeout-pool.c             \
        $(NULL)
 
 # deprecated private headers; these should not be installed
 deprecated_h_priv = \
+       $(srcdir)/deprecated/clutter-timeout-interval.h \
        $(NULL)
 
 # deprecated private source code; these should not be introspected
 deprecated_c_priv = \
+       $(srcdir)/deprecated/clutter-timeout-interval.c \
        $(NULL)
 
 # built sources
@@ -297,6 +360,13 @@ EXTRA_DIST += clutter-keysyms-update.pl
 
 pc_files += clutter-$(CLUTTER_API_VERSION).pc
 
+# in order to be compatible with Clutter < 1.10, when we shipped a single
+# shared library whose name was determined by the single backend it
+# supported, we need to install symbolic links so that existing applications
+# using Clutter won't break in the Brave New World of multi-backend support
+# in the same shared object.
+compat_libs =
+
 # backends source listings
 #
 #   backend_source_c := source code
@@ -319,10 +389,12 @@ x11_source_c = \
        $(srcdir)/x11/clutter-input-device-core-x11.c   \
        $(srcdir)/x11/clutter-keymap-x11.c              \
        $(srcdir)/x11/clutter-stage-x11.c               \
+       $(srcdir)/x11/clutter-x11-texture-pixmap.c      \
        $(NULL)
 
 x11_source_h = \
        $(srcdir)/x11/clutter-x11.h                     \
+       $(srcdir)/x11/clutter-x11-texture-pixmap.h      \
        $(NULL)
 
 x11_source_h_priv = \
@@ -397,6 +469,31 @@ clutter-cogl-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
 pc_files += clutter-cogl-$(CLUTTER_API_VERSION).pc
 endif
 
+# For compatibility with the old GLX backend
+#
+# Note: there wasn't actually anything GLX specific so we can add
+# the compatibility if clutter supports x11
+glx_source_c = $(srcdir)/x11/clutter-glx-texture-pixmap.c
+glx_source_h = $(srcdir)/x11/clutter-glx-texture-pixmap.h \
+              $(srcdir)/x11/clutter-glx.h
+
+if SUPPORT_X11
+backend_source_h += $(glx_source_h)
+backend_source_c += $(glx_source_c)
+
+clutterglx_includedir = $(clutter_includedir)/glx
+clutterglx_include_HEADERS = $(glx_source_h)
+
+clutter-glx-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
+       $(QUIET_GEN)cp -f $< $(@F)
+
+pc_files += clutter-glx-$(CLUTTER_API_VERSION).pc
+
+compat_libs += \
+       libclutter-glx-$(CLUTTER_API_VERSION).so \
+       $(NULL)
+endif
+
 # GDK backend rules
 gdk_source_c = \
        $(srcdir)/gdk/clutter-backend-gdk.c             \
@@ -535,6 +632,10 @@ clutter-cex100-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
        $(QUIET_GEN)cp -f $< $(@F)
 
 pc_files += clutter-cex100-$(CLUTTER_API_VERSION).pc
+
+compat_libs += \
+       libclutter-cex100-$(CLUTTER_API_VERSION).so \
+       $(NULL)
 endif # SUPPORT_CEX100
 
 # EGL backend rules
@@ -649,11 +750,14 @@ cally_sources_h = \
        $(srcdir)/cally/cally-actor.h           \
        $(srcdir)/cally/cally-clone.h           \
        $(srcdir)/cally/cally-factory.h         \
+       $(srcdir)/cally/cally-group.h           \
        $(srcdir)/cally/cally.h                 \
        $(srcdir)/cally/cally-main.h            \
+       $(srcdir)/cally/cally-rectangle.h       \
        $(srcdir)/cally/cally-root.h            \
        $(srcdir)/cally/cally-stage.h           \
        $(srcdir)/cally/cally-text.h            \
+       $(srcdir)/cally/cally-texture.h         \
        $(srcdir)/cally/cally-util.h            \
        $(NULL)
 
@@ -661,9 +765,12 @@ cally_sources_c = \
        $(srcdir)/cally/cally-actor.c           \
        $(srcdir)/cally/cally.c                 \
        $(srcdir)/cally/cally-clone.c           \
+       $(srcdir)/cally/cally-group.c           \
+       $(srcdir)/cally/cally-rectangle.c       \
        $(srcdir)/cally/cally-root.c            \
        $(srcdir)/cally/cally-stage.c           \
        $(srcdir)/cally/cally-text.c            \
+       $(srcdir)/cally/cally-texture.c         \
        $(srcdir)/cally/cally-util.c            \
        $(NULL)
 
@@ -829,6 +936,24 @@ EXTRA_DIST += \
 # Let the VS9/VS10 Project files be cleared out before they are re-expanded...
 DISTCLEANFILES += ../build/win32/vs9/clutter.vcproj ../build/win32/vs10/clutter.vcxproj 
../build/win32/vs10/clutter.vcxproj.filters ../build/win32/gen-enums.bat
 
+install-exec-local:
+       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+       for lib in `echo $(compat_libs)`; do \
+         (cd $(DESTDIR)$(libdir) && \
+           rm -f $$lib.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION); \
+         ) ; \
+         (cd $(DESTDIR)$(libdir) && \
+           { ln -s -f libclutter-$(CLUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) 
$$lib.0 || \
+             { rm -f $$lib.0 && ln -s libclutter-1.0.so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) 
$$lib.0; }; \
+           } \
+         ) ; \
+         (cd $(DESTDIR)$(libdir) && \
+           { ln -s -f libclutter-$(CLUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) 
$$lib || \
+             { rm -f $$lib && ln -s libclutter-1.0.so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib; 
}; \
+           } \
+         ) ; \
+       done
+
 # gobject-introspection rules
 -include $(INTROSPECTION_MAKEFILE)
 
diff --git a/clutter/abicheck.sh b/clutter/abicheck.sh
index 0880478..7106dd6 100755
--- a/clutter/abicheck.sh
+++ b/clutter/abicheck.sh
@@ -26,5 +26,5 @@ fi
 
 cpp -P ${cppargs} ${srcdir:-.}/clutter.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' -e 's/ 
DATA//' | sort > expected-abi
 
-nm -D -g --defined-only .libs/libclutter-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | 
sort > actual-abi
+nm -D -g --defined-only .libs/libclutter-1.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | 
sort > actual-abi
 diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
diff --git a/clutter/cally/cally-clone.c b/clutter/cally/cally-clone.c
index 50a1e56..3f27049 100644
--- a/clutter/cally/cally-clone.c
+++ b/clutter/cally/cally-clone.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally-factory.h b/clutter/cally/cally-factory.h
index c551639..432844f 100644
--- a/clutter/cally/cally-factory.h
+++ b/clutter/cally/cally-factory.h
@@ -18,7 +18,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 #ifndef _CALLY_FACTORY_H__
diff --git a/clutter/cally/cally-group.c b/clutter/cally/cally-group.c
index 097c561..f3b1a12 100644
--- a/clutter/cally/cally-group.c
+++ b/clutter/cally/cally-group.c
@@ -18,7 +18,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally-rectangle.c b/clutter/cally/cally-rectangle.c
index 8b33790..51a9863 100644
--- a/clutter/cally/cally-rectangle.c
+++ b/clutter/cally/cally-rectangle.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally-root.c b/clutter/cally/cally-root.c
index bbdbc60..ee921dc 100644
--- a/clutter/cally/cally-root.c
+++ b/clutter/cally/cally-root.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally-stage.c b/clutter/cally/cally-stage.c
index 822d94e..2b1cfd1 100644
--- a/clutter/cally/cally-stage.c
+++ b/clutter/cally/cally-stage.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
@@ -53,7 +55,7 @@ static void                  cally_stage_deactivate_cb   (ClutterStage *stage,
 
 G_DEFINE_TYPE_WITH_CODE (CallyStage,
                          cally_stage,
-                         CALLY_TYPE_ACTOR,
+                         CALLY_TYPE_GROUP,
                          G_IMPLEMENT_INTERFACE (ATK_TYPE_WINDOW,
                                                 cally_stage_window_interface_init));
 
diff --git a/clutter/cally/cally-stage.h b/clutter/cally/cally-stage.h
index d4860a0..7ce4bb2 100644
--- a/clutter/cally/cally-stage.h
+++ b/clutter/cally/cally-stage.h
@@ -52,7 +52,7 @@ typedef struct _CallyStagePrivate CallyStagePrivate;
 struct _CallyStage
 {
   /*< private >*/
-  CallyActor parent;
+  CallyGroup parent;
 
   CallyStagePrivate *priv;
 };
@@ -68,7 +68,7 @@ struct _CallyStage
 struct _CallyStageClass
 {
   /*< private >*/
-  CallyActorClass parent_class;
+  CallyGroupClass parent_class;
 
   /* padding for future expansion */
   gpointer _padding_dummy[16];
diff --git a/clutter/cally/cally-text.c b/clutter/cally/cally-text.c
index 68936b8..cf6dfce 100644
--- a/clutter/cally/cally-text.c
+++ b/clutter/cally/cally-text.c
@@ -23,7 +23,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally-texture.c b/clutter/cally/cally-texture.c
index 178e0cb..d59bc3a 100644
--- a/clutter/cally/cally-texture.c
+++ b/clutter/cally/cally-texture.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally-util.c b/clutter/cally/cally-util.c
index 0e7c6df..fdef295 100644
--- a/clutter/cally/cally-util.c
+++ b/clutter/cally/cally-util.c
@@ -18,7 +18,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
diff --git a/clutter/cally/cally.c b/clutter/cally/cally.c
index 39442b2..2edcdf8 100644
--- a/clutter/cally/cally.c
+++ b/clutter/cally/cally.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /**
@@ -36,8 +38,11 @@
 #include "cally.h"
 
 #include "cally-actor.h"
+#include "cally-group.h"
 #include "cally-stage.h"
 #include "cally-text.h"
+#include "cally-texture.h"
+#include "cally-rectangle.h"
 #include "cally-clone.h"
 
 #include "cally-factory.h"
@@ -52,8 +57,11 @@ static int cally_initialized = FALSE;
 
 /* factories initialization*/
 CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_ACTOR, cally_actor, cally_actor_new)
+CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_GROUP, cally_group, cally_group_new)
 CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_STAGE, cally_stage, cally_stage_new)
 CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_TEXT, cally_text, cally_text_new)
+CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_TEXTURE, cally_texture, cally_texture_new)
+CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_RECTANGLE, cally_rectangle, cally_rectangle_new)
 CALLY_ACCESSIBLE_FACTORY (CALLY_TYPE_CLONE, cally_clone, cally_clone_new)
 
 /**
@@ -76,8 +84,11 @@ cally_accessibility_init (void)
 
   /* setting the factories */
   CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_ACTOR, cally_actor);
+  CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_GROUP, cally_group);
   CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_STAGE, cally_stage);
   CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_TEXT, cally_text);
+  CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_TEXTURE, cally_texture);
+  CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_RECTANGLE, cally_rectangle);
   CALLY_ACTOR_SET_FACTORY (CLUTTER_TYPE_CLONE, cally_clone);
 
   /* Initialize the CallyUtility class */
diff --git a/clutter/cally/cally.pc.in b/clutter/cally/cally.pc.in
index 40f266a..779491c 100644
--- a/clutter/cally/cally.pc.in
+++ b/clutter/cally/cally.pc.in
@@ -10,4 +10,4 @@ Description: Clutter Accessibility Implementation Library
 Version: @VERSION@
 Libs: -L${libdir} -lclutter-${apiversion}
 Cflags: -I${includedir}/clutter-${apiversion}
-Requires: atk clutter-${apiversion}
+Requires: atk clutter-1.0
diff --git a/clutter/cex100/clutter-backend-cex100.c b/clutter/cex100/clutter-backend-cex100.c
index b916c9c..264dc00 100644
--- a/clutter/cex100/clutter-backend-cex100.c
+++ b/clutter/cex100/clutter-backend-cex100.c
@@ -144,7 +144,7 @@ clutter_backend_cex100_init (ClutterBackendCex100 *backend_cex100)
  *
  * <note>This function has to be called before clutter_init()</note>
  *
- *
+ * Since: 1.6
  */
 void
 clutter_cex100_set_plane (gdl_plane_id_t plane)
@@ -166,7 +166,7 @@ clutter_cex100_set_plane (gdl_plane_id_t plane)
  *
  * <note>This function has to be called before clutter_init()</note>
  *
- *
+ * Since: 1.6
  */
 void
 clutter_cex100_set_buffering_mode (ClutterCex100BufferingMode mode)
@@ -185,7 +185,7 @@ clutter_cex100_set_buffering_mode (ClutterCex100BufferingMode mode)
  *
  * Return value: the EGL display used by Clutter, or 0
  *
- *
+ * Since: 1.10
  */
 EGLDisplay
 clutter_cex100_get_egl_display (void)
diff --git a/clutter/clutter-action.h b/clutter/clutter-action.h
index 24144cb..d2e98db 100644
--- a/clutter/clutter-action.h
+++ b/clutter/clutter-action.h
@@ -48,7 +48,7 @@ typedef struct _ClutterActionClass      ClutterActionClass;
  * The <structname>ClutterAction</structname> structure contains only
  * private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterAction
 {
@@ -62,7 +62,7 @@ struct _ClutterAction
  * The <structname>ClutterActionClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterActionClass
 {
diff --git a/clutter/clutter-actor-box.c b/clutter/clutter-actor-box.c
index a98a2ed..5389176 100644
--- a/clutter/clutter-actor-box.c
+++ b/clutter/clutter-actor-box.c
@@ -29,7 +29,7 @@
  * Return value: (transfer full): the newly allocated #ClutterActorBox.
  *   Use clutter_actor_box_free() to free the resources
  *
- *
+ * Since: 1.0
  */
 ClutterActorBox *
 clutter_actor_box_new (gfloat x_1,
@@ -50,7 +50,7 @@ clutter_actor_box_new (gfloat x_1,
  * Return value: (transfer full): the newly allocated #ClutterActorBox.
  *   Use clutter_actor_box_free() to free its resources
  *
- *
+ * Since: 1.12
  */
 ClutterActorBox *
 clutter_actor_box_alloc (void)
@@ -70,7 +70,7 @@ clutter_actor_box_alloc (void)
  *
  * Return value: (transfer none): the initialized #ClutterActorBox
  *
- *
+ * Since: 1.10
  */
 ClutterActorBox *
 clutter_actor_box_init (ClutterActorBox *box,
@@ -99,7 +99,7 @@ clutter_actor_box_init (ClutterActorBox *box,
  *
  * Initializes @box with the given origin and size.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_box_init_rect (ClutterActorBox *box,
@@ -125,7 +125,7 @@ clutter_actor_box_init_rect (ClutterActorBox *box,
  * Return value: a newly allocated copy of #ClutterActorBox. Use
  *   clutter_actor_box_free() to free the allocated resources
  *
- *
+ * Since: 1.0
  */
 ClutterActorBox *
 clutter_actor_box_copy (const ClutterActorBox *box)
@@ -143,7 +143,7 @@ clutter_actor_box_copy (const ClutterActorBox *box)
  * Frees a #ClutterActorBox allocated using clutter_actor_box_new()
  * or clutter_actor_box_copy()
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_box_free (ClutterActorBox *box)
@@ -161,7 +161,7 @@ clutter_actor_box_free (ClutterActorBox *box)
  *
  * Return value: %TRUE if the passed #ClutterActorBox are equal
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_actor_box_equal (const ClutterActorBox *box_a,
@@ -184,7 +184,7 @@ clutter_actor_box_equal (const ClutterActorBox *box_a,
  *
  * Return value: the X coordinate of the origin
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_actor_box_get_x (const ClutterActorBox *box)
@@ -202,7 +202,7 @@ clutter_actor_box_get_x (const ClutterActorBox *box)
  *
  * Return value: the Y coordinate of the origin
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_actor_box_get_y (const ClutterActorBox *box)
@@ -220,7 +220,7 @@ clutter_actor_box_get_y (const ClutterActorBox *box)
  *
  * Return value: the width of the box
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_actor_box_get_width (const ClutterActorBox *box)
@@ -238,7 +238,7 @@ clutter_actor_box_get_width (const ClutterActorBox *box)
  *
  * Return value: the height of the box
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_actor_box_get_height (const ClutterActorBox *box)
@@ -256,7 +256,7 @@ clutter_actor_box_get_height (const ClutterActorBox *box)
  *
  * Retrieves the origin of @box
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_box_get_origin (const ClutterActorBox *box,
@@ -280,7 +280,7 @@ clutter_actor_box_get_origin (const ClutterActorBox *box,
  *
  * Retrieves the size of @box
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_box_get_size (const ClutterActorBox *box,
@@ -304,7 +304,7 @@ clutter_actor_box_get_size (const ClutterActorBox *box,
  *
  * Return value: the area of a #ClutterActorBox, in pixels
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_actor_box_get_area (const ClutterActorBox *box)
@@ -325,7 +325,7 @@ clutter_actor_box_get_area (const ClutterActorBox *box)
  *
  * Return value: %TRUE if the point is contained by the #ClutterActorBox
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_actor_box_contains (const ClutterActorBox *box,
@@ -346,7 +346,7 @@ clutter_actor_box_contains (const ClutterActorBox *box,
  * Calculates the bounding box represented by the four vertices; for details
  * of the vertex array see clutter_actor_get_abs_allocation_vertices().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_box_from_vertices (ClutterActorBox     *box,
@@ -416,7 +416,7 @@ clutter_actor_box_from_vertices (ClutterActorBox     *box,
  * Interpolates between @initial and @final #ClutterActorBox<!-- -->es
  * using @progress
  *
- *
+ * Since: 1.2
  */
 void
 clutter_actor_box_interpolate (const ClutterActorBox *initial,
@@ -440,7 +440,7 @@ clutter_actor_box_interpolate (const ClutterActorBox *initial,
  *
  * Clamps the components of @box to the nearest integer
  *
- *
+ * Since: 1.2
  */
 void
 clutter_actor_box_clamp_to_pixel (ClutterActorBox *box)
@@ -462,7 +462,7 @@ clutter_actor_box_clamp_to_pixel (ClutterActorBox *box)
  *
  * Unions the two boxes @a and @b and stores the result in @result.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_box_union (const ClutterActorBox *a,
@@ -506,7 +506,7 @@ clutter_actor_box_progress (const GValue *a,
  *
  * Changes the origin of @box, maintaining the size of the #ClutterActorBox.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_actor_box_set_origin (ClutterActorBox *box,
@@ -531,7 +531,7 @@ clutter_actor_box_set_origin (ClutterActorBox *box,
  *
  * Sets the size of @box, maintaining the origin of the #ClutterActorBox.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_actor_box_set_size (ClutterActorBox *box,
diff --git a/clutter/clutter-actor-meta.c b/clutter/clutter-actor-meta.c
index 6bf5020..a58c773 100644
--- a/clutter/clutter-actor-meta.c
+++ b/clutter/clutter-actor-meta.c
@@ -186,7 +186,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
    *
    * The #ClutterActor attached to the #ClutterActorMeta instance
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_ACTOR] =
     g_param_spec_object ("actor",
@@ -200,7 +200,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
    *
    * The unique name to access the #ClutterActorMeta
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_NAME] =
     g_param_spec_string ("name",
@@ -214,7 +214,7 @@ clutter_actor_meta_class_init (ClutterActorMetaClass *klass)
    *
    * Whether or not the #ClutterActorMeta is enabled
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_ENABLED] =
     g_param_spec_boolean ("enabled",
@@ -252,7 +252,7 @@ clutter_actor_meta_init (ClutterActorMeta *self)
  *
  * The name can be used to identify the #ClutterActorMeta instance
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_meta_set_name (ClutterActorMeta *meta,
@@ -280,7 +280,7 @@ clutter_actor_meta_set_name (ClutterActorMeta *meta,
  *   by the #ClutterActorMeta instance and it should not be modified
  *   or freed
  *
- *
+ * Since: 1.4
  */
 const gchar *
 clutter_actor_meta_get_name (ClutterActorMeta *meta)
@@ -297,7 +297,7 @@ clutter_actor_meta_get_name (ClutterActorMeta *meta)
  *
  * Sets whether @meta should be enabled or not
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_meta_set_enabled (ClutterActorMeta *meta,
@@ -323,7 +323,7 @@ clutter_actor_meta_set_enabled (ClutterActorMeta *meta,
  *
  * Return value: %TRUE if the #ClutterActorMeta instance is enabled
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_actor_meta_get_enabled (ClutterActorMeta *meta)
@@ -341,7 +341,7 @@ clutter_actor_meta_get_enabled (ClutterActorMeta *meta)
  * Sets or unsets a back pointer to the #ClutterActor that owns
  * the @meta
  *
- *
+ * Since: 1.4
  */
 void
 _clutter_actor_meta_set_actor (ClutterActorMeta *meta,
@@ -361,7 +361,7 @@ _clutter_actor_meta_set_actor (ClutterActorMeta *meta,
  *
  * Return value: (transfer none): a pointer to a #ClutterActor or %NULL
  *
- *
+ * Since: 1.4
  */
 ClutterActor *
 clutter_actor_meta_get_actor (ClutterActorMeta *meta)
diff --git a/clutter/clutter-actor-meta.h b/clutter/clutter-actor-meta.h
index 5bd684e..fa3fafe 100644
--- a/clutter/clutter-actor-meta.h
+++ b/clutter/clutter-actor-meta.h
@@ -49,7 +49,7 @@ typedef struct _ClutterActorMetaClass           ClutterActorMetaClass;
  * The <structname>ClutterActorMeta</structname> structure contains only
  * private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterActorMeta
 {
@@ -67,7 +67,7 @@ struct _ClutterActorMeta
  * The <structname>ClutterActorMetaClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterActorMetaClass
 {
diff --git a/clutter/clutter-actor-private.h b/clutter/clutter-actor-private.h
index b00f2f7..1c6f165 100644
--- a/clutter/clutter-actor-private.h
+++ b/clutter/clutter-actor-private.h
@@ -36,7 +36,7 @@ G_BEGIN_DECLS
  * Flags passed to the clutter_actor_queue_redraw_with_clip ()
  * function
  *
- *
+ * Since: 1.6
  */
 typedef enum
 {
@@ -183,13 +183,22 @@ struct _ClutterTransformInfo
 {
   /* rotation (angle and center) */
   gdouble rx_angle;
+  AnchorCoord rx_center;
+
   gdouble ry_angle;
+  AnchorCoord ry_center;
+
   gdouble rz_angle;
+  AnchorCoord rz_center;
 
   /* scaling */
   gdouble scale_x;
   gdouble scale_y;
   gdouble scale_z;
+  AnchorCoord scale_center;
+
+  /* anchor point */
+  AnchorCoord anchor;
 
   /* translation */
   ClutterVertex translation;
@@ -309,7 +318,6 @@ void                            _clutter_actor_detach_clone
                                                                                          ClutterActor 
*clone);
 void                            _clutter_actor_queue_redraw_on_clones                   (ClutterActor 
*actor);
 void                            _clutter_actor_queue_relayout_on_clones                 (ClutterActor 
*actor);
-void                            _clutter_actor_queue_only_relayout                      (ClutterActor 
*actor);
 
 G_END_DECLS
 
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index 1d3d7d9..0963615 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -38,11 +38,12 @@
  *   the following:</para>
  *   <orderedlist>
  *     <listitem><para>translation by the origin of the #ClutterActor:allocation;</para></listitem>
- *     <listitem><para>translation by the actor's #ClutterActor:z-position;</para></listitem>
- *     <listitem><para>scaling by the #ClutterActor:scale-x, #ClutterActor:scale-y, and 
#ClutterActor:scale-z factors;</para></listitem>
+ *     <listitem><para>translation by the actor's #ClutterActor:depth;</para></listitem>
+ *     <listitem><para>scaling by the #ClutterActor:scale-x and #ClutterActor:scale-y 
factors;</para></listitem>
  *     <listitem><para>rotation around the #ClutterActor:rotation-angle-x and 
#ClutterActor:rotation-center-x;</para></listitem>
  *     <listitem><para>rotation around the #ClutterActor:rotation-angle-y and 
#ClutterActor:rotation-center-y;</para></listitem>
  *     <listitem><para>rotation around the #ClutterActor:rotation-angle-z and 
#ClutterActor:rotation-center-z;</para></listitem>
+ *     <listitem><para>negative translation by the #ClutterActor:anchor-x and #ClutterActor:anchor-y 
point.</para></listitem>
  *   </orderedlist>
  * </refsect2>
  *
@@ -246,13 +247,13 @@
  * /&ast; animate the actor's opacity and depth &ast;/
  * clutter_actor_save_easing_state (actor);
  * clutter_actor_set_opacity (actor, 0);
- * clutter_actor_set_z_position (actor, -100);
+ * clutter_actor_set_depth (actor, -100);
  * clutter_actor_restore_easing_state (actor);
  *
  * /&ast; animate another actor's opacity &ast;/
  * clutter_actor_save_easing_state (another_actor);
  * clutter_actor_set_opacity (another_actor, 255);
- * clutter_actor_set_z_position (another_actor, 100);
+ * clutter_actor_set_depth (another_actor, 100);
  * clutter_actor_restore_easing_state (another_actor);
  *     </programlisting></informalexample>
  *     <para>Implicit animations use a default duration of 250 milliseconds,
@@ -528,7 +529,7 @@
  * limitations, or during the reparenting of an actor, to optimize
  * unnecessary (and potentially expensive) state changes.
  *
- *
+ * Since: 0.2
  */
 
 /**
@@ -550,7 +551,7 @@
  * To be realized an actor must be inside a stage, and all its parents
  * must be realized.
  *
- *
+ * Since: 0.2
  */
 
 /**
@@ -564,7 +565,7 @@
  * means it's visible, and all its parents are visible, and one of the
  * parents is a toplevel stage; see also %CLUTTER_ACTOR_IS_MAPPED.
  *
- *
+ * Since: 0.2
  */
 
 /**
@@ -575,7 +576,7 @@
  *
  * Only reactive actors will receive event-related signals.
  *
- *
+ * Since: 0.6
  */
 
 #ifdef HAVE_CONFIG_H
@@ -623,6 +624,10 @@
 #include "clutter-transition.h"
 #include "clutter-units.h"
 
+#include "deprecated/clutter-actor.h"
+#include "deprecated/clutter-behaviour.h"
+#include "deprecated/clutter-container.h"
+
 #define CLUTTER_ACTOR_GET_PRIVATE(obj) \
 (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_ACTOR, ClutterActorPrivate))
 
@@ -788,6 +793,7 @@ struct _ClutterActorPrivate
   guint needs_height_request        : 1;
   /* cached allocation is invalid (request has changed, probably) */
   guint needs_allocation            : 1;
+  guint show_on_set_parent          : 1;
   guint has_clip                    : 1;
   guint clip_to_allocation          : 1;
   guint enable_model_view_transform : 1;
@@ -857,8 +863,10 @@ enum
   /* Allocation properties are read-only */
   PROP_ALLOCATION,
 
+  PROP_DEPTH, /* XXX:2.0 remove */
   PROP_Z_POSITION,
 
+  PROP_CLIP, /* XXX:2.0 remove */
   PROP_CLIP_RECT,
   PROP_HAS_CLIP,
   PROP_CLIP_TO_ALLOCATION,
@@ -878,10 +886,24 @@ enum
   PROP_SCALE_X,
   PROP_SCALE_Y,
   PROP_SCALE_Z,
-
-  PROP_ROTATION_ANGLE_X,
-  PROP_ROTATION_ANGLE_Y,
-  PROP_ROTATION_ANGLE_Z,
+  PROP_SCALE_CENTER_X, /* XXX:2.0 remove */
+  PROP_SCALE_CENTER_Y, /* XXX:2.0 remove */
+  PROP_SCALE_GRAVITY, /* XXX:2.0 remove */
+
+  PROP_ROTATION_ANGLE_X, /* XXX:2.0 rename to rotation-x */
+  PROP_ROTATION_ANGLE_Y, /* XXX:2.0 rename to rotation-y */
+  PROP_ROTATION_ANGLE_Z, /* XXX:2.0 rename to rotation-z */
+  PROP_ROTATION_CENTER_X, /* XXX:2.0 remove */
+  PROP_ROTATION_CENTER_Y, /* XXX:2.0 remove */
+  PROP_ROTATION_CENTER_Z, /* XXX:2.0 remove */
+  /* This property only makes sense for the z rotation because the
+     others would depend on the actor having a size along the
+     z-axis */
+  PROP_ROTATION_CENTER_Z_GRAVITY, /* XXX:2.0 remove */
+
+  PROP_ANCHOR_X, /* XXX:2.0 remove */
+  PROP_ANCHOR_Y, /* XXX:2.0 remove */
+  PROP_ANCHOR_GRAVITY, /*XXX:2.0 remove */
 
   PROP_TRANSLATION_X,
   PROP_TRANSLATION_Y,
@@ -892,6 +914,8 @@ enum
   PROP_CHILD_TRANSFORM,
   PROP_CHILD_TRANSFORM_SET,
 
+  PROP_SHOW_ON_SET_PARENT, /*XXX:2.0 remove */
+
   PROP_TEXT_DIRECTION,
   PROP_HAS_POINTER,
 
@@ -936,6 +960,8 @@ enum
   PARENT_SET,
   KEY_FOCUS_IN,
   KEY_FOCUS_OUT,
+  PAINT,
+  PICK,
   REALIZE,
   UNREALIZE,
   QUEUE_REDRAW,
@@ -998,6 +1024,25 @@ static void clutter_actor_update_map_state       (ClutterActor  *self,
                                                   MapStateChange change);
 static void clutter_actor_unrealize_not_hiding   (ClutterActor *self);
 
+/* Helper routines for managing anchor coords */
+static void clutter_anchor_coord_get_units (ClutterActor      *self,
+                                            const AnchorCoord *coord,
+                                            gfloat            *x,
+                                            gfloat            *y,
+                                            gfloat            *z);
+static void clutter_anchor_coord_set_units (AnchorCoord       *coord,
+                                            gfloat             x,
+                                            gfloat             y,
+                                            gfloat             z);
+
+static ClutterGravity clutter_anchor_coord_get_gravity (const AnchorCoord *coord);
+static void           clutter_anchor_coord_set_gravity (AnchorCoord       *coord,
+                                                        ClutterGravity     gravity);
+
+static gboolean clutter_anchor_coord_is_zero (const AnchorCoord *coord);
+
+static void _clutter_actor_queue_only_relayout (ClutterActor *self);
+
 static void _clutter_actor_get_relative_transformation_matrix (ClutterActor *self,
                                                                ClutterActor *ancestor,
                                                                CoglMatrix *matrix);
@@ -1023,6 +1068,18 @@ static void clutter_actor_set_transform_internal (ClutterActor        *self,
 static void clutter_actor_set_child_transform_internal (ClutterActor        *self,
                                                         const ClutterMatrix *transform);
 
+static inline gboolean clutter_actor_has_mapped_clones (ClutterActor *self);
+
+/* Helper macro which translates by the anchor coord, applies the
+   given transformation and then translates back */
+#define TRANSFORM_ABOUT_ANCHOR_COORD(a,m,c,_transform)  G_STMT_START { \
+  gfloat _tx, _ty, _tz;                                                \
+  clutter_anchor_coord_get_units ((a), (c), &_tx, &_ty, &_tz);         \
+  cogl_matrix_translate ((m), _tx, _ty, _tz);                          \
+  { _transform; }                                                      \
+  cogl_matrix_translate ((m), -_tx, -_ty, -_tz);        } G_STMT_END
+
+static GQuark quark_shader_data = 0;
 static GQuark quark_actor_layout_info = 0;
 static GQuark quark_actor_transform_info = 0;
 static GQuark quark_actor_animation_info = 0;
@@ -1469,7 +1526,7 @@ clutter_actor_real_map (ClutterActor *self)
  * When overriding map, it is mandatory to chain up to the parent
  * implementation.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_map (ClutterActor *self)
@@ -1556,7 +1613,7 @@ clutter_actor_real_unmap (ClutterActor *self)
  * implementation, but it is guaranteed to be called before the
  * #GObjectClass.finalize() implementation.</note>
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_unmap (ClutterActor *self)
@@ -1604,6 +1661,25 @@ clutter_actor_real_show (ClutterActor *self)
     }
 }
 
+static inline void
+set_show_on_set_parent (ClutterActor *self,
+                        gboolean      set_show)
+{
+  ClutterActorPrivate *priv = self->priv;
+
+  set_show = !!set_show;
+
+  if (priv->show_on_set_parent == set_show)
+    return;
+
+  if (priv->parent == NULL)
+    {
+      priv->show_on_set_parent = set_show;
+      g_object_notify_by_pspec (G_OBJECT (self),
+                                obj_props[PROP_SHOW_ON_SET_PARENT]);
+    }
+}
+
 /**
  * clutter_actor_show:
  * @self: A #ClutterActor
@@ -1626,7 +1702,13 @@ clutter_actor_show (ClutterActor *self)
 
   /* simple optimization */
   if (CLUTTER_ACTOR_IS_VISIBLE (self))
-    return;
+    {
+      /* we still need to set the :show-on-set-parent property, in
+       * case show() is called on an unparented actor
+       */
+      set_show_on_set_parent (self, TRUE);
+      return;
+    }
 
 #ifdef CLUTTER_ENABLE_DEBUG
   clutter_actor_verify_map_state (self);
@@ -1636,6 +1718,8 @@ clutter_actor_show (ClutterActor *self)
 
   g_object_freeze_notify (G_OBJECT (self));
 
+  set_show_on_set_parent (self, TRUE);
+
   /* if we're showing a child that needs to expand, or may
    * expand, then we need to recompute the expand flags for
    * its parent as well
@@ -1656,6 +1740,28 @@ clutter_actor_show (ClutterActor *self)
   g_object_thaw_notify (G_OBJECT (self));
 }
 
+/**
+ * clutter_actor_show_all:
+ * @self: a #ClutterActor
+ *
+ * Calls clutter_actor_show() on all children of an actor (if any).
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.10: Actors are visible by default
+ */
+void
+clutter_actor_show_all (ClutterActor *self)
+{
+  ClutterActorClass *klass;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  klass = CLUTTER_ACTOR_GET_CLASS (self);
+  if (klass->show_all)
+    klass->show_all (self);
+}
+
 static void
 clutter_actor_real_hide (ClutterActor *self)
 {
@@ -1702,7 +1808,13 @@ clutter_actor_hide (ClutterActor *self)
 
   /* simple optimization */
   if (!CLUTTER_ACTOR_IS_VISIBLE (self))
-    return;
+    {
+      /* we still need to set the :show-on-set-parent property, in
+       * case hide() is called on an unparented actor
+       */
+      set_show_on_set_parent (self, FALSE);
+      return;
+    }
 
 #ifdef CLUTTER_ENABLE_DEBUG
   clutter_actor_verify_map_state (self);
@@ -1712,6 +1824,8 @@ clutter_actor_hide (ClutterActor *self)
 
   g_object_freeze_notify (G_OBJECT (self));
 
+  set_show_on_set_parent (self, FALSE);
+
   /* if we're hiding a child that needs to expand, or may
    * expand, then we need to recompute the expand flags for
    * its parent as well
@@ -1733,6 +1847,29 @@ clutter_actor_hide (ClutterActor *self)
 }
 
 /**
+ * clutter_actor_hide_all:
+ * @self: a #ClutterActor
+ *
+ * Calls clutter_actor_hide() on all child actors (if any).
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.10: Using clutter_actor_hide() on the actor will
+ *   prevent its children from being painted as well.
+ */
+void
+clutter_actor_hide_all (ClutterActor *self)
+{
+  ClutterActorClass *klass;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  klass = CLUTTER_ACTOR_GET_CLASS (self);
+  if (klass->hide_all)
+    klass->hide_all (self);
+}
+
+/**
  * clutter_actor_realize:
  * @self: A #ClutterActor
  *
@@ -2533,7 +2670,7 @@ clutter_actor_real_queue_relayout (ClutterActor *self)
  * the stage before the projection is applied. This is different from
  * the behaviour of clutter_actor_apply_transform_to_point().
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_apply_relative_transform_to_point (ClutterActor        *self,
@@ -2618,7 +2755,7 @@ _clutter_actor_fully_transform_vertices (ClutterActor *self,
  * into screen-relative coordinates with the current actor
  * transformation (i.e. scale, rotation, etc)
  *
- *
+ * Since: 0.4
  **/
 void
 clutter_actor_apply_transform_to_point (ClutterActor        *self,
@@ -2718,7 +2855,7 @@ _clutter_actor_transform_and_project_box (ClutterActor          *self,
  * the stage before the projection is applied. This is different from
  * the behaviour of clutter_actor_get_abs_allocation_vertices().
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_get_allocation_vertices (ClutterActor  *self,
@@ -2802,7 +2939,7 @@ clutter_actor_get_allocation_vertices (ClutterActor  *self,
  *   <listitem><para>v[3] contains (x2, y2)</para></listitem>
  * </itemizedlist>
  *
- *
+ * Since: 0.4
  */
 void
 clutter_actor_get_abs_allocation_vertices (ClutterActor  *self,
@@ -2912,25 +3049,61 @@ clutter_actor_real_apply_transform (ClutterActor  *self,
    * the rotations, the translations included in the rotation are
    * not scaled and so the entire object will move on the screen
    * as a result of rotating it).
+   *
+   * XXX:2.0 the comment has to be reworded once we remove the
+   * per-transformation centers; we also may want to apply rotation
+   * first and scaling after, to match the matrix decomposition
+   * code we use when interpolating transformations
    */
-  if (info->scale_x != 1.0 ||
-      info->scale_y != 1.0 ||
-      info->scale_z != 1.0)
+  if (info->scale_x != 1.0 || info->scale_y != 1.0 || info->scale_z != 1.0)
     {
-      cogl_matrix_scale (transform,
-                         info->scale_x,
-                         info->scale_y,
-                         info->scale_z);
+      /* XXX:2.0 remove anchor coord */
+      TRANSFORM_ABOUT_ANCHOR_COORD (self, transform,
+                                    &info->scale_center,
+                                    cogl_matrix_scale (transform,
+                                                       info->scale_x,
+                                                       info->scale_y,
+                                                       info->scale_z));
     }
 
   if (info->rz_angle)
-    cogl_matrix_rotate (transform, info->rz_angle, 0.0, 0.0, 1.0);
+    {
+      /* XXX:2.0 remove anchor coord */
+      TRANSFORM_ABOUT_ANCHOR_COORD (self, transform,
+                                    &info->rz_center,
+                                    cogl_matrix_rotate (transform,
+                                                        info->rz_angle,
+                                                        0, 0, 1.0));
+    }
 
   if (info->ry_angle)
-    cogl_matrix_rotate (transform, info->ry_angle, 0.0, 1.0, 0.0);
+    {
+      /* XXX:2.0 remove anchor coord */
+      TRANSFORM_ABOUT_ANCHOR_COORD (self, transform,
+                                    &info->ry_center,
+                                    cogl_matrix_rotate (transform,
+                                                        info->ry_angle,
+                                                        0, 1.0, 0));
+    }
 
   if (info->rx_angle)
-    cogl_matrix_rotate (transform, info->rx_angle, 1.0, 0.0, 0.0);
+    {
+      /* XXX:2.0 remove anchor coord */
+      TRANSFORM_ABOUT_ANCHOR_COORD (self, transform,
+                                    &info->rx_center,
+                                    cogl_matrix_rotate (transform,
+                                                        info->rx_angle,
+                                                        1.0, 0, 0));
+    }
+
+  /* XXX:2.0 remove anchor point translation */
+  if (!clutter_anchor_coord_is_zero (&info->anchor))
+    {
+      gfloat x, y, z;
+
+      clutter_anchor_coord_get_units (self, &info->anchor, &x, &y, &z);
+      cogl_matrix_translate (transform, -x, -y, -z);
+    }
 
 roll_back_pivot:
   /* roll back the pivot translation */
@@ -3244,6 +3417,12 @@ _clutter_actor_update_last_paint_volume (ClutterActor *self)
   priv->last_paint_volume_valid = TRUE;
 }
 
+static inline gboolean
+actor_has_shader_data (ClutterActor *self)
+{
+  return g_object_get_qdata (G_OBJECT (self), quark_shader_data) != NULL;
+}
+
 guint32
 _clutter_actor_get_pick_id (ClutterActor *self)
 {
@@ -3451,6 +3630,7 @@ clutter_actor_paint (ClutterActor *self)
   ClutterActorPrivate *priv;
   ClutterPickMode pick_mode;
   gboolean clip_set = FALSE;
+  gboolean shader_applied = FALSE;
 
   CLUTTER_STATIC_COUNTER (actor_paint_counter,
                           "Actor real-paint counter",
@@ -3628,12 +3808,25 @@ clutter_actor_paint (ClutterActor *self)
     }
 
   if (priv->effects == NULL)
-    priv->next_effect_to_paint = NULL;
+    {
+      if (pick_mode == CLUTTER_PICK_NONE &&
+          actor_has_shader_data (self))
+        {
+          _clutter_actor_shader_pre_paint (self, FALSE);
+          shader_applied = TRUE;
+        }
+
+      priv->next_effect_to_paint = NULL;
+    }
   else
-    priv->next_effect_to_paint = _clutter_meta_group_peek_metas (priv->effects);
+    priv->next_effect_to_paint =
+      _clutter_meta_group_peek_metas (priv->effects);
 
   clutter_actor_continue_paint (self);
 
+  if (shader_applied)
+    _clutter_actor_shader_post_paint (self);
+
   if (G_UNLIKELY (clutter_paint_debug_flags & CLUTTER_DEBUG_PAINT_VOLUMES &&
                   pick_mode == CLUTTER_PICK_NONE))
     _clutter_actor_draw_paint_volume (self);
@@ -3663,7 +3856,7 @@ done:
  * be applied, or it will paint the actual actor if the current effect
  * is the last effect in the chain.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_actor_continue_paint (ClutterActor *self)
@@ -3704,7 +3897,8 @@ clutter_actor_continue_paint (ClutterActor *self)
           clutter_actor_paint_node (self, dummy);
           clutter_paint_node_unref (dummy);
 
-          CLUTTER_ACTOR_GET_CLASS (self)->paint (self);
+          /* XXX:2.0 - Call the paint() virtual directly */
+          g_signal_emit (self, actor_signals[PAINT], 0);
 
           /* the actor was painted at least once */
           priv->was_painted = TRUE;
@@ -3721,7 +3915,7 @@ clutter_actor_continue_paint (ClutterActor *self)
            *
            * XXX:2.0 - Call the pick() virtual directly
            */
-          CLUTTER_ACTOR_GET_CLASS (self)->pick (self, &col);
+          g_signal_emit (self, actor_signals[PICK], 0, &col);
         }
     }
   else
@@ -3859,6 +4053,13 @@ typedef enum {
                                     REMOVE_CHILD_EMIT_ACTOR_REMOVED |
                                     REMOVE_CHILD_CHECK_STATE |
                                     REMOVE_CHILD_FLUSH_QUEUE |
+                                    REMOVE_CHILD_NOTIFY_FIRST_LAST,
+
+  /* flags for legacy/deprecated API */
+  REMOVE_CHILD_LEGACY_FLAGS       = REMOVE_CHILD_STOP_TRANSITIONS |
+                                    REMOVE_CHILD_CHECK_STATE |
+                                    REMOVE_CHILD_FLUSH_QUEUE |
+                                    REMOVE_CHILD_EMIT_PARENT_SET |
                                     REMOVE_CHILD_NOTIFY_FIRST_LAST
 } ClutterActorRemoveChildFlags;
 
@@ -3990,11 +4191,13 @@ clutter_actor_remove_child_internal (ClutterActor                 *self,
 }
 
 static const ClutterTransformInfo default_transform_info = {
-  0.0,                          /* rotation-x */
-  0.0,                          /* rotation-y */
-  0.0,                          /* rotation-z */
+  0.0, { 0, },                  /* rotation-x */
+  0.0, { 0, },                  /* rotation-y */
+  0.0, { 0, },                  /* rotation-z */
+
+  1.0, 1.0, 1.0, { 0, },        /* scale */
 
-  1.0, 1.0, 1.0,                /* scale */
+  { 0, },                       /* anchor XXX:2.0 - remove*/
 
   CLUTTER_VERTEX_INIT_ZERO,     /* translation */
 
@@ -4187,7 +4390,7 @@ clutter_actor_set_translation_factor (ClutterActor      *self,
  * Sets an additional translation transformation on a #ClutterActor,
  * relative to the #ClutterActor:pivot-point.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_translation (ClutterActor *self,
@@ -4218,7 +4421,7 @@ clutter_actor_set_translation (ClutterActor *self,
  *
  * Retrieves the translation set using clutter_actor_set_translation().
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_get_translation (ClutterActor *self,
@@ -4291,7 +4494,7 @@ clutter_actor_set_rotation_angle_internal (ClutterActor *self,
  * The center of rotation is established by the #ClutterActor:pivot-point
  * property.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_rotation_angle (ClutterActor      *self,
@@ -4339,7 +4542,7 @@ clutter_actor_set_rotation_angle (ClutterActor      *self,
  *
  * Return value: the angle of rotation, in degrees
  *
- *
+ * Since: 1.12
  */
 gdouble
 clutter_actor_get_rotation_angle (ClutterActor      *self,
@@ -4375,6 +4578,63 @@ clutter_actor_get_rotation_angle (ClutterActor      *self,
   return retval;
 }
 
+/*< private >
+ * clutter_actor_set_rotation_center_internal:
+ * @self: a #ClutterActor
+ * @axis: the axis of the center to change
+ * @center: the coordinates of the rotation center
+ *
+ * Sets the rotation center on the given axis without affecting the
+ * rotation angle.
+ */
+static inline void
+clutter_actor_set_rotation_center_internal (ClutterActor        *self,
+                                            ClutterRotateAxis    axis,
+                                            const ClutterVertex *center)
+{
+  ClutterVertex v = CLUTTER_VERTEX_INIT_ZERO; 
+  GObject *obj = G_OBJECT (self);
+  ClutterTransformInfo *info;
+
+  info = _clutter_actor_get_transform_info (self);
+
+  if (center != NULL)
+    v = *center;
+
+  g_object_freeze_notify (obj);
+
+  switch (axis)
+    {
+    case CLUTTER_X_AXIS:
+      clutter_anchor_coord_set_units (&info->rx_center, v.x, v.y, v.z);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ROTATION_CENTER_X]);
+      break;
+
+    case CLUTTER_Y_AXIS:
+      clutter_anchor_coord_set_units (&info->ry_center, v.x, v.y, v.z);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ROTATION_CENTER_Y]);
+      break;
+
+    case CLUTTER_Z_AXIS:
+      /* if the previously set rotation center was fractional, then
+       * setting explicit coordinates will have to notify the
+       * :rotation-center-z-gravity property as well
+       */
+      if (info->rz_center.is_fractional)
+        g_object_notify_by_pspec (obj, obj_props[PROP_ROTATION_CENTER_Z_GRAVITY]);
+
+      clutter_anchor_coord_set_units (&info->rz_center, v.x, v.y, v.z);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ROTATION_CENTER_Z]);
+      break;
+    }
+
+  self->priv->transform_valid = FALSE;
+
+  g_object_thaw_notify (obj);
+
+  clutter_actor_queue_redraw (self);
+}
+
 static void
 clutter_actor_set_scale_factor_internal (ClutterActor *self,
                                          double factor,
@@ -4434,6 +4694,129 @@ clutter_actor_set_scale_factor (ClutterActor      *self,
   _clutter_actor_create_transition (self, pspec, *scale_p, factor);
 }
 
+static inline void
+clutter_actor_set_scale_center (ClutterActor      *self,
+                                ClutterRotateAxis  axis,
+                                gfloat             coord)
+{
+  GObject *obj = G_OBJECT (self);
+  ClutterTransformInfo *info;
+  gfloat center_x, center_y;
+
+  info = _clutter_actor_get_transform_info (self);
+
+  g_object_freeze_notify (obj);
+
+  /* get the current scale center coordinates */
+  clutter_anchor_coord_get_units (self, &info->scale_center,
+                                  &center_x,
+                                  &center_y,
+                                  NULL);
+
+  /* we need to notify this too, because setting explicit coordinates will
+   * change the gravity as a side effect
+   */
+  if (info->scale_center.is_fractional)
+    g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_GRAVITY]);
+
+  switch (axis)
+    {
+    case CLUTTER_X_AXIS:
+      clutter_anchor_coord_set_units (&info->scale_center, coord, center_y, 0);
+      g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_CENTER_X]);
+      break;
+
+    case CLUTTER_Y_AXIS:
+      clutter_anchor_coord_set_units (&info->scale_center, center_x, coord, 0);
+      g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_CENTER_Y]);
+      break;
+
+    default:
+      g_assert_not_reached ();
+    }
+
+  self->priv->transform_valid = FALSE;
+
+  clutter_actor_queue_redraw (self);
+
+  g_object_thaw_notify (obj);
+}
+
+static inline void
+clutter_actor_set_scale_gravity (ClutterActor   *self,
+                                 ClutterGravity  gravity)
+{
+  ClutterTransformInfo *info;
+  GObject *obj;
+
+  info = _clutter_actor_get_transform_info (self);
+  obj = G_OBJECT (self);
+
+  if (gravity == CLUTTER_GRAVITY_NONE)
+    clutter_anchor_coord_set_units (&info->scale_center, 0, 0, 0);
+  else
+    clutter_anchor_coord_set_gravity (&info->scale_center, gravity);
+
+  self->priv->transform_valid = FALSE;
+
+  g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_CENTER_X]);
+  g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_CENTER_Y]);
+  g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_GRAVITY]);
+
+  clutter_actor_queue_redraw (self);
+}
+
+/* XXX:2.0 - remove */
+static inline void
+clutter_actor_set_anchor_coord (ClutterActor      *self,
+                                ClutterRotateAxis  axis,
+                                gfloat             coord)
+{
+  GObject *obj = G_OBJECT (self);
+  ClutterTransformInfo *info;
+  gfloat anchor_x, anchor_y;
+
+  info = _clutter_actor_get_transform_info (self);
+
+  g_object_freeze_notify (obj);
+
+  clutter_anchor_coord_get_units (self, &info->anchor,
+                                  &anchor_x,
+                                  &anchor_y,
+                                  NULL);
+
+  if (info->anchor.is_fractional)
+    g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_GRAVITY]);
+
+  switch (axis)
+    {
+    case CLUTTER_X_AXIS:
+      clutter_anchor_coord_set_units (&info->anchor,
+                                      coord,
+                                      anchor_y,
+                                      0.0);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_X]);
+      break;
+
+    case CLUTTER_Y_AXIS:
+      clutter_anchor_coord_set_units (&info->anchor,
+                                      anchor_x,
+                                      coord,
+                                      0.0);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_Y]);
+      break;
+
+    default:
+      g_assert_not_reached ();
+    }
+
+  self->priv->transform_valid = FALSE;
+
+  clutter_actor_queue_redraw (self);
+
+  g_object_thaw_notify (obj);
+}
+
 static void
 clutter_actor_set_clip_rect (ClutterActor      *self,
                              const ClutterRect *clip)
@@ -4451,6 +4834,7 @@ clutter_actor_set_clip_rect (ClutterActor      *self,
 
   clutter_actor_queue_redraw (self);
 
+  g_object_notify_by_pspec (obj, obj_props[PROP_CLIP]); /* XXX:2.0 - remove */
   g_object_notify_by_pspec (obj, obj_props[PROP_CLIP_RECT]);
   g_object_notify_by_pspec (obj, obj_props[PROP_HAS_CLIP]);
 }
@@ -4462,6 +4846,7 @@ clutter_actor_set_property (GObject      *object,
                            GParamSpec   *pspec)
 {
   ClutterActor *actor = CLUTTER_ACTOR (object);
+  ClutterActorPrivate *priv = actor->priv;
 
   switch (prop_id)
     {
@@ -4551,6 +4936,10 @@ clutter_actor_set_property (GObject      *object,
       clutter_actor_set_request_mode (actor, g_value_get_enum (value));
       break;
 
+    case PROP_DEPTH: /* XXX:2.0 - remove */
+      clutter_actor_set_depth (actor, g_value_get_float (value));
+      break;
+
     case PROP_Z_POSITION:
       clutter_actor_set_z_position (actor, g_value_get_float (value));
       break;
@@ -4619,6 +5008,30 @@ clutter_actor_set_property (GObject      *object,
                                       g_value_get_double (value));
       break;
 
+    case PROP_SCALE_CENTER_X: /* XXX:2.0 - remove */
+      clutter_actor_set_scale_center (actor, CLUTTER_X_AXIS,
+                                      g_value_get_float (value));
+      break;
+
+    case PROP_SCALE_CENTER_Y: /* XXX:2.0 - remove */
+      clutter_actor_set_scale_center (actor, CLUTTER_Y_AXIS,
+                                      g_value_get_float (value));
+      break;
+
+    case PROP_SCALE_GRAVITY: /* XXX:2.0 - remove */
+      clutter_actor_set_scale_gravity (actor, g_value_get_enum (value));
+      break;
+
+    case PROP_CLIP: /* XXX:2.0 - remove */
+      {
+        const ClutterGeometry *geom = g_value_get_boxed (value);
+
+       clutter_actor_set_clip (actor,
+                               geom->x, geom->y,
+                               geom->width, geom->height);
+      }
+      break;
+
     case PROP_CLIP_RECT:
       clutter_actor_set_clip_rect (actor, g_value_get_boxed (value));
       break;
@@ -4649,6 +5062,49 @@ clutter_actor_set_property (GObject      *object,
                                         g_value_get_double (value));
       break;
 
+    case PROP_ROTATION_CENTER_X: /* XXX:2.0 - remove */
+      clutter_actor_set_rotation_center_internal (actor,
+                                                  CLUTTER_X_AXIS,
+                                                  g_value_get_boxed (value));
+      break;
+
+    case PROP_ROTATION_CENTER_Y: /* XXX:2.0 - remove */
+      clutter_actor_set_rotation_center_internal (actor,
+                                                  CLUTTER_Y_AXIS,
+                                                  g_value_get_boxed (value));
+      break;
+
+    case PROP_ROTATION_CENTER_Z: /* XXX:2.0 - remove */
+      clutter_actor_set_rotation_center_internal (actor,
+                                                  CLUTTER_Z_AXIS,
+                                                  g_value_get_boxed (value));
+      break;
+
+    case PROP_ROTATION_CENTER_Z_GRAVITY: /* XXX:2.0 - remove */
+      {
+        const ClutterTransformInfo *info;
+
+        info = _clutter_actor_get_transform_info_or_defaults (actor);
+        clutter_actor_set_z_rotation_from_gravity (actor, info->rz_angle,
+                                                   g_value_get_enum (value));
+      }
+      break;
+
+    case PROP_ANCHOR_X: /* XXX:2.0 - remove */
+      clutter_actor_set_anchor_coord (actor, CLUTTER_X_AXIS,
+                                      g_value_get_float (value));
+      break;
+
+    case PROP_ANCHOR_Y: /* XXX:2.0 - remove */
+      clutter_actor_set_anchor_coord (actor, CLUTTER_Y_AXIS,
+                                      g_value_get_float (value));
+      break;
+
+    case PROP_ANCHOR_GRAVITY: /* XXX:2.0 - remove */
+      clutter_actor_set_anchor_point_from_gravity (actor,
+                                                   g_value_get_enum (value));
+      break;
+
     case PROP_TRANSFORM:
       clutter_actor_set_transform (actor, g_value_get_boxed (value));
       break;
@@ -4657,6 +5113,10 @@ clutter_actor_set_property (GObject      *object,
       clutter_actor_set_child_transform (actor, g_value_get_boxed (value));
       break;
 
+    case PROP_SHOW_ON_SET_PARENT: /* XXX:2.0 - remove */
+      priv->show_on_set_parent = g_value_get_boolean (value);
+      break;
+
     case PROP_TEXT_DIRECTION:
       clutter_actor_set_text_direction (actor, g_value_get_enum (value));
       break;
@@ -4874,6 +5334,10 @@ clutter_actor_get_property (GObject    *object,
       g_value_set_boxed (value, &priv->allocation);
       break;
 
+    case PROP_DEPTH: /* XXX:2.0 - remove */
+      g_value_set_float (value, clutter_actor_get_depth (actor));
+      break;
+
     case PROP_Z_POSITION:
       g_value_set_float (value, clutter_actor_get_z_position (actor));
       break;
@@ -4883,7 +5347,7 @@ clutter_actor_get_property (GObject    *object,
       break;
 
     case PROP_OFFSCREEN_REDIRECT:
-      g_value_set_flags (value, priv->offscreen_redirect);
+      g_value_set_enum (value, priv->offscreen_redirect);
       break;
 
     case PROP_NAME:
@@ -4906,6 +5370,19 @@ clutter_actor_get_property (GObject    *object,
       g_value_set_boolean (value, priv->has_clip);
       break;
 
+    case PROP_CLIP: /* XXX:2.0 - remove */
+      {
+        ClutterGeometry clip;
+
+        clip.x      = CLUTTER_NEARBYINT (priv->clip.origin.x);
+        clip.y      = CLUTTER_NEARBYINT (priv->clip.origin.y);
+        clip.width  = CLUTTER_NEARBYINT (priv->clip.size.width);
+        clip.height = CLUTTER_NEARBYINT (priv->clip.size.height);
+
+        g_value_set_boxed (value, &clip);
+      }
+      break;
+
     case PROP_CLIP_RECT:
       g_value_set_boxed (value, &priv->clip);
       break;
@@ -4986,6 +5463,34 @@ clutter_actor_get_property (GObject    *object,
       }
       break;
 
+    case PROP_SCALE_CENTER_X: /* XXX:2.0 - remove */
+      {
+        gfloat center;
+
+        clutter_actor_get_scale_center (actor, &center, NULL);
+
+        g_value_set_float (value, center);
+      }
+      break;
+
+    case PROP_SCALE_CENTER_Y: /* XXX:2.0 - remove */
+      {
+        gfloat center;
+
+        clutter_actor_get_scale_center (actor, NULL, &center);
+
+        g_value_set_float (value, center);
+      }
+      break;
+
+    case PROP_SCALE_GRAVITY: /* XXX:2.0 - remove */
+      g_value_set_enum (value, clutter_actor_get_scale_gravity (actor));
+      break;
+
+    case PROP_REACTIVE:
+      g_value_set_boolean (value, clutter_actor_get_reactive (actor));
+      break;
+
     case PROP_ROTATION_ANGLE_X:
       {
         const ClutterTransformInfo *info;
@@ -5013,6 +5518,81 @@ clutter_actor_get_property (GObject    *object,
       }
       break;
 
+    case PROP_ROTATION_CENTER_X: /* XXX:2.0 - remove */
+      {
+        ClutterVertex center;
+
+        clutter_actor_get_rotation (actor, CLUTTER_X_AXIS,
+                                    &center.x,
+                                    &center.y,
+                                    &center.z);
+
+        g_value_set_boxed (value, &center);
+      }
+      break;
+
+    case PROP_ROTATION_CENTER_Y: /* XXX:2.0 - remove */
+      {
+        ClutterVertex center;
+
+        clutter_actor_get_rotation (actor, CLUTTER_Y_AXIS,
+                                    &center.x,
+                                    &center.y,
+                                    &center.z);
+
+        g_value_set_boxed (value, &center);
+      }
+      break;
+
+    case PROP_ROTATION_CENTER_Z: /* XXX:2.0 - remove */
+      {
+        ClutterVertex center;
+
+        clutter_actor_get_rotation (actor, CLUTTER_Z_AXIS,
+                                    &center.x,
+                                    &center.y,
+                                    &center.z);
+
+        g_value_set_boxed (value, &center);
+      }
+      break;
+
+    case PROP_ROTATION_CENTER_Z_GRAVITY: /* XXX:2.0 - remove */
+      g_value_set_enum (value, clutter_actor_get_z_rotation_gravity (actor));
+      break;
+
+    case PROP_ANCHOR_X: /* XXX:2.0 - remove */
+      {
+        const ClutterTransformInfo *info;
+        gfloat anchor_x;
+
+        info = _clutter_actor_get_transform_info_or_defaults (actor);
+        clutter_anchor_coord_get_units (actor, &info->anchor,
+                                        &anchor_x,
+                                        NULL,
+                                        NULL);
+        g_value_set_float (value, anchor_x);
+      }
+      break;
+
+    case PROP_ANCHOR_Y: /* XXX:2.0 - remove */
+      {
+        const ClutterTransformInfo *info;
+        gfloat anchor_y;
+
+        info = _clutter_actor_get_transform_info_or_defaults (actor);
+        clutter_anchor_coord_get_units (actor, &info->anchor,
+                                        NULL,
+                                        &anchor_y,
+                                        NULL);
+        g_value_set_float (value, anchor_y);
+      }
+      break;
+
+    case PROP_ANCHOR_GRAVITY: /* XXX:2.0 - remove */
+      g_value_set_enum (value, clutter_actor_get_anchor_point_gravity (actor));
+      break;
+
     case PROP_TRANSFORM:
       {
         ClutterMatrix m;
@@ -5049,6 +5629,10 @@ clutter_actor_get_property (GObject    *object,
       }
       break;
 
+    case PROP_SHOW_ON_SET_PARENT: /* XXX:2.0 - remove */
+      g_value_set_boolean (value, priv->show_on_set_parent);
+      break;
+
     case PROP_TEXT_DIRECTION:
       g_value_set_enum (value, priv->text_direction);
       break;
@@ -5202,8 +5786,17 @@ clutter_actor_dispose (GObject *object)
     {
       ClutterActor *parent = priv->parent;
 
-      clutter_actor_remove_child_internal (parent, self,
-                                           REMOVE_CHILD_DEFAULT_FLAGS);
+      /* go through the Container implementation unless this
+       * is an internal child and has been marked as such.
+       *
+       * removing the actor from its parent will reset the
+       * realized and mapped states.
+       */
+      if (!CLUTTER_ACTOR_IS_INTERNAL_CHILD (self))
+        clutter_container_remove_actor (CLUTTER_CONTAINER (parent), self);
+      else
+        clutter_actor_remove_child_internal (parent, self,
+                                             REMOVE_CHILD_LEGACY_FLAGS);
     }
 
   /* parent must be gone at this point */
@@ -5453,7 +6046,7 @@ clutter_actor_real_get_paint_volume (ClutterActor       *self,
  *   want to retain it, you will need to copy it using
  *   clutter_paint_volume_copy().
  *
- *
+ * Since: 1.10
  */
 const ClutterPaintVolume *
 clutter_actor_get_default_paint_volume (ClutterActor *self)
@@ -5535,6 +6128,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
+  quark_shader_data = g_quark_from_static_string ("-clutter-actor-shader-data");
   quark_actor_layout_info = g_quark_from_static_string ("-clutter-actor-layout-info");
   quark_actor_transform_info = g_quark_from_static_string ("-clutter-actor-transform-info");
   quark_actor_animation_info = g_quark_from_static_string ("-clutter-actor-animation-info");
@@ -5616,7 +6210,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:position property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_POSITION] =
     g_param_spec_boxed ("position",
@@ -5675,7 +6269,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:size property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_SIZE] =
     g_param_spec_boxed ("size",
@@ -5694,7 +6288,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Writing this property sets #ClutterActor:fixed-position-set
    * property as well, as a side effect
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_FIXED_X] =
     g_param_spec_float ("fixed-x",
@@ -5712,7 +6306,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Writing this property sets the #ClutterActor:fixed-position-set
    * property as well, as a side effect
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_FIXED_Y] =
     g_param_spec_float ("fixed-y",
@@ -5728,7 +6322,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This flag controls whether the #ClutterActor:fixed-x and
    * #ClutterActor:fixed-y properties are used
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_FIXED_POSITION_SET] =
     g_param_spec_boolean ("fixed-position-set",
@@ -5747,7 +6341,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    *This property overrides the usual width request of the actor.
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_MIN_WIDTH] =
     g_param_spec_float ("min-width",
@@ -5766,7 +6360,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * as well, as a side effect. This property overrides the usual height
    * request of the actor.
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_MIN_HEIGHT] =
     g_param_spec_float ("min-height",
@@ -5785,7 +6379,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * property as well, as a side effect. This property overrides the
    * usual width request of the actor
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_NATURAL_WIDTH] =
     g_param_spec_float ("natural-width",
@@ -5804,7 +6398,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * property as well, as a side effect. This property overrides the
    * usual height request of the actor
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_NATURAL_HEIGHT] =
     g_param_spec_float ("natural-height",
@@ -5820,7 +6414,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This flag controls whether the #ClutterActor:min-width property
    * is used
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_MIN_WIDTH_SET] =
     g_param_spec_boolean ("min-width-set",
@@ -5835,7 +6429,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This flag controls whether the #ClutterActor:min-height property
    * is used
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_MIN_HEIGHT_SET] =
     g_param_spec_boolean ("min-height-set",
@@ -5850,7 +6444,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This flag controls whether the #ClutterActor:natural-width property
    * is used
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_NATURAL_WIDTH_SET] =
     g_param_spec_boolean ("natural-width-set",
@@ -5865,7 +6459,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This flag controls whether the #ClutterActor:natural-height property
    * is used
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_NATURAL_HEIGHT_SET] =
     g_param_spec_boolean ("natural-height-set",
@@ -5882,7 +6476,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This is property is read-only, but you might monitor it to know when an
    * actor moves or resizes
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_ALLOCATION] =
     g_param_spec_boxed ("allocation",
@@ -5940,7 +6534,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The clutter_actor_get_preferred_size() function will implement this
    * check for you.
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_REQUEST_MODE] =
     g_param_spec_enum ("request-mode",
@@ -5951,6 +6545,34 @@ clutter_actor_class_init (ClutterActorClass *klass)
                        CLUTTER_PARAM_READWRITE);
 
   /**
+   * ClutterActor:depth:
+   *
+   * The position of the actor on the Z axis.
+   *
+   * The #ClutterActor:depth property is relative to the parent's
+   * modelview matrix.
+   *
+   * Setting this property will call #ClutterContainerIface.sort_depth_order()
+   * which is usually a no-op, and it's most likely not what you want.
+   *
+   * The #ClutterActor:depth property is animatable.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.12: Use #ClutterActor:z-position instead.
+   */
+  obj_props[PROP_DEPTH] =
+    g_param_spec_float ("depth",
+                        P_("Depth"),
+                        P_("Position on the Z axis"),
+                        -G_MAXFLOAT, G_MAXFLOAT,
+                        0.0,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED |
+                        CLUTTER_PARAM_ANIMATABLE);
+
+  /**
    * ClutterActor:z-position:
    *
    * The actor's position on the Z axis, relative to the parent's
@@ -5965,7 +6587,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:z-position property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_Z_POSITION] =
     g_param_spec_float ("z-position",
@@ -6004,7 +6626,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * handling of transparent actors. See
    * clutter_actor_set_offscreen_redirect() for details.
    *
-   *
+   * Since: 1.8
    */
   obj_props[PROP_OFFSCREEN_REDIRECT] =
     g_param_spec_flags ("offscreen-redirect",
@@ -6025,7 +6647,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
     g_param_spec_boolean ("visible",
                           P_("Visible"),
                           P_("Whether the actor is visible or not"),
-                          TRUE,
+                          FALSE,
                           CLUTTER_PARAM_READWRITE);
 
   /**
@@ -6034,7 +6656,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Whether the actor is mapped (will be painted when the stage
    * to which it belongs is mapped)
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_MAPPED] =
     g_param_spec_boolean ("mapped",
@@ -6048,7 +6670,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Whether the actor has been realized
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_REALIZED] =
     g_param_spec_boolean ("realized",
@@ -6064,7 +6686,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Only reactive actors will emit event-related signals
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_REACTIVE] =
     g_param_spec_boolean ("reactive",
@@ -6086,6 +6708,20 @@ clutter_actor_class_init (ClutterActorClass *klass)
                           CLUTTER_PARAM_READABLE);
 
   /**
+   * ClutterActor:clip:
+   *
+   * The visible region of the actor, in actor-relative coordinates
+   *
+   * Deprecated: 1.12: Use #ClutterActor:clip-rect instead.
+   */
+  obj_props[PROP_CLIP] = /* XXX:2.0 - remove */
+    g_param_spec_boxed ("clip",
+                        P_("Clip"),
+                        P_("The clip region for the actor"),
+                        CLUTTER_TYPE_GEOMETRY,
+                        CLUTTER_PARAM_READWRITE);
+
+  /**
    * ClutterActor:clip-rect:
    *
    * The visible region of the actor, in actor-relative coordinates,
@@ -6096,7 +6732,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Setting this property will change the #ClutterActor:has-clip
    * property as a side effect.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_CLIP_RECT] =
     g_param_spec_boxed ("clip-rect",
@@ -6111,7 +6747,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The name of the actor
    *
-   *
+   * Since: 0.2
    */
   obj_props[PROP_NAME] =
     g_param_spec_string ("name",
@@ -6133,7 +6769,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:pivot-point property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_PIVOT_POINT] =
     g_param_spec_boxed ("pivot-point",
@@ -6152,7 +6788,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:pivot-point-z property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_PIVOT_POINT_Z] =
     g_param_spec_float ("pivot-point-z",
@@ -6171,7 +6807,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:scale-x property is animatable.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_SCALE_X] =
     g_param_spec_double ("scale-x",
@@ -6190,7 +6826,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:scale-y property is animatable.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_SCALE_Y] =
     g_param_spec_double ("scale-y",
@@ -6209,7 +6845,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:scale-y property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_SCALE_Z] =
     g_param_spec_double ("scale-z",
@@ -6222,13 +6858,70 @@ clutter_actor_class_init (ClutterActorClass *klass)
                          CLUTTER_PARAM_ANIMATABLE);
 
   /**
+   * ClutterActor:scale-center-x:
+   *
+   * The horizontal center point for scaling
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_SCALE_CENTER_X] = /* XXX:2.0 - remove */
+    g_param_spec_float ("scale-center-x",
+                        P_("Scale Center X"),
+                        P_("Horizontal scale center"),
+                        -G_MAXFLOAT, G_MAXFLOAT,
+                        0.0,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:scale-center-y:
+   *
+   * The vertical center point for scaling
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_SCALE_CENTER_Y] = /* XXX:2.0 - remove */
+    g_param_spec_float ("scale-center-y",
+                        P_("Scale Center Y"),
+                        P_("Vertical scale center"),
+                        -G_MAXFLOAT, G_MAXFLOAT,
+                        0.0,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:scale-gravity:
+   *
+   * The center point for scaling expressed as a #ClutterGravity
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_SCALE_GRAVITY] = /* XXX:2.0 - remove */
+    g_param_spec_enum ("scale-gravity",
+                       P_("Scale Gravity"),
+                       P_("The center of scaling"),
+                       CLUTTER_TYPE_GRAVITY,
+                       CLUTTER_GRAVITY_NONE,
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS |
+                       G_PARAM_DEPRECATED);
+
+  /**
    * ClutterActor:rotation-angle-x:
    *
    * The rotation angle on the X axis.
    *
    * The #ClutterActor:rotation-angle-x property is animatable.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_ROTATION_ANGLE_X] =
     g_param_spec_double ("rotation-angle-x",
@@ -6247,7 +6940,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:rotation-angle-y property is animatable.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_ROTATION_ANGLE_Y] =
     g_param_spec_double ("rotation-angle-y",
@@ -6266,7 +6959,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:rotation-angle-z property is animatable.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_ROTATION_ANGLE_Z] =
     g_param_spec_double ("rotation-angle-z",
@@ -6279,6 +6972,165 @@ clutter_actor_class_init (ClutterActorClass *klass)
                          CLUTTER_PARAM_ANIMATABLE);
 
   /**
+   * ClutterActor:rotation-center-x:
+   *
+   * The rotation center on the X axis.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ROTATION_CENTER_X] = /* XXX:2.0 - remove */
+    g_param_spec_boxed ("rotation-center-x",
+                        P_("Rotation Center X"),
+                        P_("The rotation center on the X axis"),
+                        CLUTTER_TYPE_VERTEX,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:rotation-center-y:
+   *
+   * The rotation center on the Y axis.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ROTATION_CENTER_Y] = /* XXX:2.0 - remove */
+    g_param_spec_boxed ("rotation-center-y",
+                        P_("Rotation Center Y"),
+                        P_("The rotation center on the Y axis"),
+                        CLUTTER_TYPE_VERTEX,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:rotation-center-z:
+   *
+   * The rotation center on the Z axis.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ROTATION_CENTER_Z] = /* XXX:2.0 - remove */
+    g_param_spec_boxed ("rotation-center-z",
+                        P_("Rotation Center Z"),
+                        P_("The rotation center on the Z axis"),
+                        CLUTTER_TYPE_VERTEX,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:rotation-center-z-gravity:
+   *
+   * The rotation center on the Z axis expressed as a #ClutterGravity.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ROTATION_CENTER_Z_GRAVITY] = /* XXX:2.0 - remove */
+    g_param_spec_enum ("rotation-center-z-gravity",
+                       P_("Rotation Center Z Gravity"),
+                       P_("Center point for rotation around the Z axis"),
+                       CLUTTER_TYPE_GRAVITY,
+                       CLUTTER_GRAVITY_NONE,
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS |
+                       G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:anchor-x:
+   *
+   * The X coordinate of an actor's anchor point, relative to
+   * the actor coordinate space, in pixels.
+   *
+   * <warning>It is highly recommended not to use #ClutterActor:anchor-x,
+   * #ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly
+   * written code; the anchor point adds an additional translation that
+   * will affect the actor's relative position with regards to its
+   * parent, as well as the position of its children. This change needs
+   * to always be taken into account when positioning the actor. It is
+   * recommended to use the #ClutterActor:pivot-point property instead,
+   * as it will affect only the transformations.</warning>
+   *
+   * Since: 0.8
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ANCHOR_X] = /* XXX:2.0 - remove */
+    g_param_spec_float ("anchor-x",
+                        P_("Anchor X"),
+                        P_("X coordinate of the anchor point"),
+                        -G_MAXFLOAT, G_MAXFLOAT,
+                        0,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:anchor-y:
+   *
+   * The Y coordinate of an actor's anchor point, relative to
+   * the actor coordinate space, in pixels
+   *
+   * <warning>It is highly recommended not to use #ClutterActor:anchor-x,
+   * #ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly
+   * written code; the anchor point adds an additional translation that
+   * will affect the actor's relative position with regards to its
+   * parent, as well as the position of its children. This change needs
+   * to always be taken into account when positioning the actor. It is
+   * recommended to use the #ClutterActor:pivot-point property instead,
+   * as it will affect only the transformations.</warning>
+   *
+   * Since: 0.8
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ANCHOR_Y] = /* XXX:2.0 - remove */
+    g_param_spec_float ("anchor-y",
+                        P_("Anchor Y"),
+                        P_("Y coordinate of the anchor point"),
+                        -G_MAXFLOAT, G_MAXFLOAT,
+                        0,
+                        G_PARAM_READWRITE |
+                        G_PARAM_STATIC_STRINGS |
+                        G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterActor:anchor-gravity:
+   *
+   * The anchor point expressed as a #ClutterGravity
+   *
+   * <warning>It is highly recommended not to use #ClutterActor:anchor-x,
+   * #ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly
+   * written code; the anchor point adds an additional translation that
+   * will affect the actor's relative position with regards to its
+   * parent, as well as the position of its children. This change needs
+   * to always be taken into account when positioning the actor. It is
+   * recommended to use the #ClutterActor:pivot-point property instead,
+   * as it will affect only the transformations.</warning>
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+   */
+  obj_props[PROP_ANCHOR_GRAVITY] = /* XXX:2.0 - remove */
+    g_param_spec_enum ("anchor-gravity",
+                       P_("Anchor Gravity"),
+                       P_("The anchor point as a ClutterGravity"),
+                       CLUTTER_TYPE_GRAVITY,
+                       CLUTTER_GRAVITY_NONE,
+                       G_PARAM_READWRITE |
+                       G_PARAM_STATIC_STRINGS |
+                       G_PARAM_DEPRECATED);
+
+  /**
    * ClutterActor:translation-x:
    *
    * An additional translation applied along the X axis, relative
@@ -6286,7 +7138,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:translation-x property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_TRANSLATION_X] =
     g_param_spec_float ("translation-x",
@@ -6306,7 +7158,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:translation-y property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_TRANSLATION_Y] =
     g_param_spec_float ("translation-y",
@@ -6326,7 +7178,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:translation-z property is animatable.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_TRANSLATION_Z] =
     g_param_spec_float ("translation-z",
@@ -6356,6 +7208,8 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * #ClutterActor:transform-set property to %FALSE.
    *
    * The #ClutterActor:transform property is animatable.
+   *
+   * Since: 1.12
    */
   obj_props[PROP_TRANSFORM] =
     g_param_spec_boxed ("transform",
@@ -6370,6 +7224,8 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * ClutterActor:transform-set:
    *
    * Whether the #ClutterActor:transform property is set.
+   *
+   * Since: 1.12
    */
   obj_props[PROP_TRANSFORM_SET] =
     g_param_spec_boolean ("transform-set",
@@ -6390,6 +7246,8 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * #ClutterActor:child-transform-set property to %FALSE.
    *
    * The #ClutterActor:child-transform property is animatable.
+   *
+   * Since: 1.12
    */
   obj_props[PROP_CHILD_TRANSFORM] =
     g_param_spec_boxed ("child-transform",
@@ -6405,7 +7263,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Whether the #ClutterActor:child-transform property is set.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_CHILD_TRANSFORM_SET] =
     g_param_spec_boolean ("child-transform-set",
@@ -6416,6 +7274,23 @@ clutter_actor_class_init (ClutterActorClass *klass)
                           G_PARAM_STATIC_STRINGS);
 
   /**
+   * ClutterActor:show-on-set-parent:
+   *
+   * If %TRUE, the actor is automatically shown when parented.
+   *
+   * Calling clutter_actor_hide() on an actor which has not been
+   * parented will set this property to %FALSE as a side effect.
+   *
+   * Since: 0.8
+   */
+  obj_props[PROP_SHOW_ON_SET_PARENT] = /* XXX:2.0 - remove */
+    g_param_spec_boolean ("show-on-set-parent",
+                          P_("Show on set parent"),
+                          P_("Whether the actor is shown when parented"),
+                          TRUE,
+                          CLUTTER_PARAM_READWRITE);
+
+  /**
    * ClutterActor:clip-to-allocation:
    *
    * Whether the clip region should track the allocated area
@@ -6424,7 +7299,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * This property is ignored if a clip area has been explicitly
    * set using clutter_actor_set_clip().
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_CLIP_TO_ALLOCATION] =
     g_param_spec_boolean ("clip-to-allocation",
@@ -6438,7 +7313,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The direction of the text inside a #ClutterActor.
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_TEXT_DIRECTION] =
     g_param_spec_enum ("text-direction",
@@ -6454,7 +7329,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Whether the actor contains the pointer of a #ClutterInputDevice
    * or not.
    *
-   *
+   * Since: 1.2
    */
   obj_props[PROP_HAS_POINTER] =
     g_param_spec_boolean ("has-pointer",
@@ -6468,7 +7343,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Adds a #ClutterAction to the actor
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_ACTIONS] =
     g_param_spec_object ("actions",
@@ -6482,7 +7357,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Adds a #ClutterConstraint to the actor
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_CONSTRAINTS] =
     g_param_spec_object ("constraints",
@@ -6496,7 +7371,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Adds #ClutterEffect to the list of effects be applied on a #ClutterActor
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_EFFECT] =
     g_param_spec_object ("effect",
@@ -6511,7 +7386,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * A delegate object for controlling the layout of the children of
    * an actor.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_LAYOUT_MANAGER] =
     g_param_spec_object ("layout-manager",
@@ -6526,7 +7401,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Whether a layout manager should assign more space to the actor on
    * the X axis.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_X_EXPAND] =
     g_param_spec_boolean ("x-expand",
@@ -6542,7 +7417,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Whether a layout manager should assign more space to the actor on
    * the Y axis.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_Y_EXPAND] =
     g_param_spec_boolean ("y-expand",
@@ -6559,7 +7434,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * extra space for its allocation. See also the #ClutterActor:x-expand
    * property.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_X_ALIGN] =
     g_param_spec_enum ("x-align",
@@ -6575,7 +7450,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The alignment of an actor on the Y axis, if the actor has been given
    * extra space for its allocation.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_Y_ALIGN] =
     g_param_spec_enum ("y-align",
@@ -6595,7 +7470,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:margin-top property is animatable.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_MARGIN_TOP] =
     g_param_spec_float ("margin-top",
@@ -6617,7 +7492,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:margin-bottom property is animatable.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_MARGIN_BOTTOM] =
     g_param_spec_float ("margin-bottom",
@@ -6639,7 +7514,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:margin-left property is animatable.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_MARGIN_LEFT] =
     g_param_spec_float ("margin-left",
@@ -6661,7 +7536,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:margin-right property is animatable.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_MARGIN_RIGHT] =
     g_param_spec_float ("margin-right",
@@ -6678,7 +7553,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * Whether the #ClutterActor:background-color property has been set.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_BACKGROUND_COLOR_SET] =
     g_param_spec_boolean ("background-color-set",
@@ -6695,7 +7570,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:background-color property is animatable.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_BACKGROUND_COLOR] =
     clutter_param_spec_color ("background-color",
@@ -6711,7 +7586,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The actor's first child.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_FIRST_CHILD] =
     g_param_spec_object ("first-child",
@@ -6725,7 +7600,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The actor's last child.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_LAST_CHILD] =
     g_param_spec_object ("last-child",
@@ -6740,7 +7615,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The #ClutterContent implementation that controls the content
    * of the actor.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_CONTENT] =
     g_param_spec_object ("content",
@@ -6766,7 +7641,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The #ClutterActor:content-gravity property is animatable.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_CONTENT_GRAVITY] =
     g_param_spec_enum ("content-gravity",
@@ -6787,7 +7662,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The bounding box for the content is guaranteed to never exceed the
    * allocation's of the actor.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_CONTENT_BOX] =
     g_param_spec_boxed ("content-box",
@@ -6819,7 +7694,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The repeat policy for the actor's #ClutterActor:content.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_CONTENT_REPEAT] =
     g_param_spec_flags ("content-repeat",
@@ -6851,7 +7726,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * their children. When overriding the default class handler, it is
    * required to chain up to the parent's implementation.
    *
-   *
+   * Since: 0.2
    */
   actor_signals[DESTROY] =
     g_signal_new (I_("destroy"),
@@ -6868,7 +7743,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The ::show signal is emitted when an actor is visible and
    * rendered on the stage.
    *
-   *
+   * Since: 0.2
    */
   actor_signals[SHOW] =
     g_signal_new (I_("show"),
@@ -6885,7 +7760,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The ::hide signal is emitted when an actor is no longer rendered
    * on the stage.
    *
-   *
+   * Since: 0.2
    */
   actor_signals[HIDE] =
     g_signal_new (I_("hide"),
@@ -6902,7 +7777,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * This signal is emitted when the parent of the actor changes.
    *
-   *
+   * Since: 0.2
    */
   actor_signals[PARENT_SET] =
     g_signal_new (I_("parent-set"),
@@ -6964,7 +7839,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * been completed you should connect to the ::paint signal on the
    * Stage with g_signal_connect_after().</para></note>
    *
-   *
+   * Since: 1.0
    */
   actor_signals[QUEUE_REDRAW] =
     g_signal_new (I_("queue-redraw"),
@@ -6992,7 +7867,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * properly in the procense of #ClutterClone actors. Applications will
    * not normally need to connect to this signal.
    *
-   *
+   * Since: 1.2
    */
   actor_signals[QUEUE_RELAYOUT] =
     g_signal_new (I_("queue-relayout"),
@@ -7017,7 +7892,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[EVENT] =
     g_signal_new (I_("event"),
@@ -7039,7 +7914,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[BUTTON_PRESS_EVENT] =
     g_signal_new (I_("button-press-event"),
@@ -7061,7 +7936,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[BUTTON_RELEASE_EVENT] =
     g_signal_new (I_("button-release-event"),
@@ -7083,7 +7958,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[SCROLL_EVENT] =
     g_signal_new (I_("scroll-event"),
@@ -7105,7 +7980,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[KEY_PRESS_EVENT] =
     g_signal_new (I_("key-press-event"),
@@ -7128,7 +8003,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[KEY_RELEASE_EVENT] =
     g_signal_new (I_("key-release-event"),
@@ -7150,7 +8025,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[MOTION_EVENT] =
     g_signal_new (I_("motion-event"),
@@ -7168,7 +8043,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The ::key-focus-in signal is emitted when @actor receives key focus.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[KEY_FOCUS_IN] =
     g_signal_new (I_("key-focus-in"),
@@ -7185,7 +8060,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    *
    * The ::key-focus-out signal is emitted when @actor loses key focus.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[KEY_FOCUS_OUT] =
     g_signal_new (I_("key-focus-out"),
@@ -7206,7 +8081,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[ENTER_EVENT] =
     g_signal_new (I_("enter-event"),
@@ -7228,7 +8103,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[LEAVE_EVENT] =
     g_signal_new (I_("leave-event"),
@@ -7256,7 +8131,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * Return value: %TRUE if the event has been handled by the actor,
    *   or %FALSE to continue the emission.
    *
-   *
+   * Since: 0.6
    */
   actor_signals[CAPTURED_EVENT] =
     g_signal_new (I_("captured-event"),
@@ -7269,13 +8144,45 @@ clutter_actor_class_init (ClutterActorClass *klass)
                  CLUTTER_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
 
   /**
+   * ClutterActor::paint:
+   * @actor: the #ClutterActor that received the signal
+   *
+   * The ::paint signal is emitted each time an actor is being painted.
+   *
+   * Subclasses of #ClutterActor should override the #ClutterActorClass.paint
+   * virtual function paint themselves in that function.
+   *
+   * <warning>It is strongly discouraged to connect a signal handler to
+   * the #ClutterActor::paint signal; if you want to change the paint
+   * sequence of an existing #ClutterActor instance, either create a new
+   * #ClutterActor class and override the #ClutterActorClass.paint virtual
+   * function, or use a #ClutterEffect. The #ClutterActor::paint signal
+   * will be removed in a future version of Clutter.</warning>
+   *
+   * Since: 0.8
+   *
+   * Deprecated: 1.12: Override the #ClutterActorClass.paint virtual
+   *   function, use a #ClutterContent implementation, or a #ClutterEffect
+   *   instead of connecting to this signal.
+   */
+  actor_signals[PAINT] =
+    g_signal_new (I_("paint"),
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_LAST |
+                  G_SIGNAL_NO_HOOKS |
+                  G_SIGNAL_DEPRECATED,
+                  G_STRUCT_OFFSET (ClutterActorClass, paint),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+  /**
    * ClutterActor::realize:
    * @actor: the #ClutterActor that received the signal
    *
    * The ::realize signal is emitted each time an actor is being
    * realized.
    *
-   *
+   * Since: 0.8
    */
   actor_signals[REALIZE] =
     g_signal_new (I_("realize"),
@@ -7292,7 +8199,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The ::unrealize signal is emitted each time an actor is being
    * unrealized.
    *
-   *
+   * Since: 0.8
    */
   actor_signals[UNREALIZE] =
     g_signal_new (I_("unrealize"),
@@ -7304,6 +8211,36 @@ clutter_actor_class_init (ClutterActorClass *klass)
                   G_TYPE_NONE, 0);
 
   /**
+   * ClutterActor::pick:
+   * @actor: the #ClutterActor that received the signal
+   * @color: the #ClutterColor to be used when picking
+   *
+   * The ::pick signal is emitted each time an actor is being painted
+   * in "pick mode". The pick mode is used to identify the actor during
+   * the event handling phase, or by clutter_stage_get_actor_at_pos().
+   * The actor should paint its shape using the passed @pick_color.
+   *
+   * Subclasses of #ClutterActor should override the class signal handler
+   * and paint themselves in that function.
+   *
+   * It is possible to connect a handler to the ::pick signal in order
+   * to set up some custom aspect of a paint in pick mode.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Override the #ClutterActorClass.pick virtual function
+   *   instead.
+   */
+  actor_signals[PICK] =
+    g_signal_new (I_("pick"),
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
+                  G_STRUCT_OFFSET (ClutterActorClass, pick),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__BOXED,
+                  G_TYPE_NONE, 1,
+                  CLUTTER_TYPE_COLOR | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
    * ClutterActor::allocation-changed:
    * @actor: the #ClutterActor that emitted the signal
    * @box: a #ClutterActorBox with the new allocation
@@ -7316,7 +8253,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * to know whether the absolute origin of @actor changed, then you might
    * want use this signal instead.
    *
-   *
+   * Since: 1.0
    */
   actor_signals[ALLOCATION_CHANGED] =
     g_signal_new (I_("allocation-changed"),
@@ -7336,7 +8273,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The ::transitions-completed signal is emitted once all transitions
    * involving @actor are complete.
    *
-   *
+   * Since: 1.10
    */
   actor_signals[TRANSITIONS_COMPLETED] =
     g_signal_new (I_("transitions-completed"),
@@ -7359,7 +8296,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * using clutter_timeline_stop(), or it has been removed from the
    * transitions applied on @actor, using clutter_actor_remove_transition().
    *
-   *
+   * Since: 1.12
    */
   actor_signals[TRANSITION_STOPPED] =
     g_signal_new (I_("transition-stopped"),
@@ -7380,7 +8317,7 @@ clutter_actor_class_init (ClutterActorClass *klass)
    * The ::touch-event signal is emitted each time a touch
    * begin/end/update/cancel event.
    *
-   *
+   * Since: 1.12
    */
   actor_signals[TOUCH_EVENT] =
     g_signal_new (I_("touch-event"),
@@ -7403,9 +8340,8 @@ clutter_actor_init (ClutterActor *self)
   priv->id = _clutter_context_acquire_id (self);
   priv->pick_id = -1;
 
-  priv->opacity = 255;
-
-  CLUTTER_ACTOR_SET_FLAGS (self, CLUTTER_ACTOR_VISIBLE);
+  priv->opacity = 0xff;
+  priv->show_on_set_parent = TRUE;
 
   priv->needs_width_request = TRUE;
   priv->needs_height_request = TRUE;
@@ -7454,7 +8390,7 @@ clutter_actor_init (ClutterActor *self)
  *
  * Return value: the newly created #ClutterActor
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_actor_new (void)
@@ -7886,7 +8822,7 @@ _clutter_actor_queue_redraw_with_clip (ClutterActor       *self,
                                     NULL /* effect */);
 }
 
-void
+static void
 _clutter_actor_queue_only_relayout (ClutterActor *self)
 {
   ClutterActorPrivate *priv = self->priv;
@@ -7925,7 +8861,7 @@ _clutter_actor_queue_only_relayout (ClutterActor *self)
  * If @clip is %NULL this function is equivalent to
  * clutter_actor_queue_redraw().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_queue_redraw_with_clip (ClutterActor                *self,
@@ -7967,7 +8903,7 @@ clutter_actor_queue_redraw_with_clip (ClutterActor                *self,
  *
  * Queueing a new layout automatically queues a redraw as well.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_queue_relayout (ClutterActor *self)
@@ -8002,7 +8938,7 @@ clutter_actor_queue_relayout (ClutterActor *self)
  * and clutter_actor_get_preferred_height(), and check the actor's preferred
  * geometry management using the #ClutterActor:request-mode property.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_get_preferred_size (ClutterActor *self,
@@ -8296,7 +9232,10 @@ _clutter_actor_get_cached_size_request (gfloat         for_size,
  * An actor may not get its request - depending on the layout
  * manager that's in effect.
  *
+ * A request should not incorporate the actor's scale or anchor point;
+ * those transformations do not affect layout, only rendering.
  *
+ * Since: 0.8
  */
 void
 clutter_actor_get_preferred_width (ClutterActor *self,
@@ -8430,7 +9369,10 @@ clutter_actor_get_preferred_width (ClutterActor *self,
  * An actor may not get its request - depending on the layout
  * manager that's in effect.
  *
+ * A request should not incorporate the actor's scale or anchor point;
+ * those transformations do not affect layout, only rendering.
  *
+ * Since: 0.8
  */
 void
 clutter_actor_get_preferred_height (ClutterActor *self,
@@ -8556,11 +9498,14 @@ clutter_actor_get_preferred_height (ClutterActor *self,
  * only be assumed valid inside a paint() method; anywhere else, it
  * may be out-of-date.
  *
+ * An allocation does not incorporate the actor's scale or anchor point;
+ * those transformations do not affect layout, only rendering.
+ *
  * <note>Do not call any of the clutter_actor_get_allocation_*() family
  * of functions inside the implementation of the get_preferred_width()
  * or get_preferred_height() virtual functions.</note>
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_get_allocation_box (ClutterActor    *self,
@@ -8755,9 +9700,7 @@ clutter_actor_allocate_internal (ClutterActor           *self,
 
   CLUTTER_UNSET_PRIVATE_FLAGS (self, CLUTTER_IN_RELAYOUT);
 
-  /* Caller should call clutter_actor_queue_redraw() if needed
-   * for that particular case.
-   */
+  clutter_actor_queue_redraw (self);
 }
 
 /**
@@ -8787,7 +9730,7 @@ clutter_actor_allocate_internal (ClutterActor           *self,
  * the parent has moved with respect to the stage, for example because
  * a grandparent's origin has moved.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_allocate (ClutterActor           *self,
@@ -8866,14 +9809,6 @@ clutter_actor_allocate (ClutterActor           *self,
       return;
     }
 
-  if (!stage_allocation_changed)
-    {
-      /* If the actor didn't move but needs_allocation is set, we just
-       * need to allocate the children */
-      clutter_actor_allocate_internal (self, &real_allocation, flags);
-      return;
-    }
-
   /* When ABSOLUTE_ORIGIN_CHANGED is passed in to
    * clutter_actor_allocate(), it indicates whether the parent has its
    * absolute origin moved; when passed in to ClutterActor::allocate()
@@ -8971,7 +9906,7 @@ clutter_actor_allocate (ClutterActor           *self,
  * }
  * ]|
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_allocation (ClutterActor           *self,
@@ -9059,7 +9994,7 @@ clutter_actor_set_position (ClutterActor *self,
  *
  * Return value: %TRUE if the fixed position is set on the actor
  *
- *
+ * Since: 0.8
  */
 gboolean
 clutter_actor_get_fixed_position_set (ClutterActor *self)
@@ -9077,7 +10012,7 @@ clutter_actor_get_fixed_position_set (ClutterActor *self)
  * Sets whether an actor has a fixed position set (and will thus be
  * unaffected by any layout manager).
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_set_fixed_position_set (ClutterActor *self,
@@ -9114,10 +10049,15 @@ clutter_actor_set_fixed_position_set (ClutterActor *self,
  * @dx: Distance to move Actor on X axis.
  * @dy: Distance to move Actor on Y axis.
  *
- * Changes the fixed position of an actor by @dx on the horizontal
- * axis, and by @dy on the vertical axis.
+ * Moves an actor by the specified distance relative to its current
+ * position in pixels.
  *
+ * This function modifies the fixed position of an actor and thus removes
+ * it from any layout management. Another way to move an actor is with an
+ * anchor point, see clutter_actor_set_anchor_point(), or with an additional
+ * translation, using clutter_actor_set_translation().
  *
+ * Since: 0.2
  */
 void
 clutter_actor_move_by (ClutterActor *self,
@@ -9376,7 +10316,7 @@ clutter_actor_set_natural_height_set (ClutterActor *self,
  * clutter_actor_get_preferred_width() and
  * clutter_actor_get_preferred_height()
  *
- *
+ * Since: 1.2
  */
 void
 clutter_actor_set_request_mode (ClutterActor       *self,
@@ -9409,7 +10349,7 @@ clutter_actor_set_request_mode (ClutterActor       *self,
  *
  * Return value: the request mode for the actor
  *
- *
+ * Since: 1.2
  */
 ClutterRequestMode
 clutter_actor_get_request_mode (ClutterActor *self)
@@ -9563,7 +10503,7 @@ clutter_actor_set_size (ClutterActor *self,
  * clutter_actor_get_allocation_box() or
  * clutter_actor_get_preferred_width().
  *
- *
+ * Since: 0.2
  */
 void
 clutter_actor_get_size (ClutterActor *self,
@@ -9593,7 +10533,7 @@ clutter_actor_get_size (ClutterActor *self,
  *
  * The returned position is in pixels.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_get_position (ClutterActor *self,
@@ -9617,7 +10557,7 @@ clutter_actor_get_position (ClutterActor *self,
  *
  * Gets the absolute position of an actor, in pixels relative to the stage.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_get_transformed_position (ClutterActor *self,
@@ -9663,7 +10603,7 @@ clutter_actor_get_transformed_position (ClutterActor *self,
  * information, you need to use clutter_actor_get_abs_allocation_vertices()
  * to get the coords of the actual quadrangle.</note>
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_get_transformed_size (ClutterActor *self,
@@ -10021,7 +10961,7 @@ clutter_actor_set_position_internal (ClutterActor       *self,
  *
  * The #ClutterActor:x property is animatable.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_set_x (ClutterActor *self,
@@ -10048,7 +10988,7 @@ clutter_actor_set_x (ClutterActor *self,
  *
  * The #ClutterActor:y property is animatable.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_set_y (ClutterActor *self,
@@ -10172,7 +11112,7 @@ clutter_actor_get_y (ClutterActor *self)
  * The #ClutterActor:scale-x and #ClutterActor:scale-y properties are
  * animatable.
  *
- *
+ * Since: 0.2
  */
 void
 clutter_actor_set_scale (ClutterActor *self,
@@ -10200,7 +11140,7 @@ clutter_actor_set_scale (ClutterActor *self,
  *
  * The #ClutterActor:scale-z property is animatable.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_scale_z (ClutterActor *self,
@@ -10212,6 +11152,84 @@ clutter_actor_set_scale_z (ClutterActor *self,
 }
 
 /**
+ * clutter_actor_set_scale_full:
+ * @self: A #ClutterActor
+ * @scale_x: double factor to scale actor by horizontally.
+ * @scale_y: double factor to scale actor by vertically.
+ * @center_x: X coordinate of the center of the scaling
+ * @center_y: Y coordinate of the center of the scaling
+ *
+ * Scales an actor with the given factors around the given center
+ * point. The center point is specified in pixels relative to the
+ * anchor point (usually the top left corner of the actor).
+ *
+ * The #ClutterActor:scale-x and #ClutterActor:scale-y properties
+ * are animatable.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_pivot_point() to control
+ *   the scale center
+ */
+void
+clutter_actor_set_scale_full (ClutterActor *self,
+                              gdouble       scale_x,
+                              gdouble       scale_y,
+                              gfloat        center_x,
+                              gfloat        center_y)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  clutter_actor_set_scale_factor (self, CLUTTER_X_AXIS, scale_x);
+  clutter_actor_set_scale_factor (self, CLUTTER_Y_AXIS, scale_y);
+  clutter_actor_set_scale_center (self, CLUTTER_X_AXIS, center_x);
+  clutter_actor_set_scale_center (self, CLUTTER_Y_AXIS, center_y);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_actor_set_scale_with_gravity:
+ * @self: A #ClutterActor
+ * @scale_x: double factor to scale actor by horizontally.
+ * @scale_y: double factor to scale actor by vertically.
+ * @gravity: the location of the scale center expressed as a compass
+ *   direction.
+ *
+ * Scales an actor with the given factors around the given
+ * center point. The center point is specified as one of the compass
+ * directions in #ClutterGravity. For example, setting it to north
+ * will cause the top of the actor to remain unchanged and the rest of
+ * the actor to expand left, right and downwards.
+ *
+ * The #ClutterActor:scale-x and #ClutterActor:scale-y properties are
+ * animatable.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_pivot_point() to set the
+ *   scale center using normalized coordinates instead.
+ */
+void
+clutter_actor_set_scale_with_gravity (ClutterActor   *self,
+                                      gdouble         scale_x,
+                                      gdouble         scale_y,
+                                      ClutterGravity  gravity)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  clutter_actor_set_scale_factor (self, CLUTTER_X_AXIS, scale_x);
+  clutter_actor_set_scale_factor (self, CLUTTER_Y_AXIS, scale_y);
+  clutter_actor_set_scale_gravity (self, gravity);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
  * clutter_actor_get_scale:
  * @self: A #ClutterActor
  * @scale_x: (out) (allow-none): Location to store horizonal
@@ -10221,7 +11239,7 @@ clutter_actor_set_scale_z (ClutterActor *self,
  *
  * Retrieves an actors scale factors.
  *
- *
+ * Since: 0.2
  */
 void
 clutter_actor_get_scale (ClutterActor *self,
@@ -10250,7 +11268,7 @@ clutter_actor_get_scale (ClutterActor *self,
  *
  * Return value: the scaling factor along the Z axis
  *
- *
+ * Since: 1.12
  */
 gdouble
 clutter_actor_get_scale_z (ClutterActor *self)
@@ -10260,6 +11278,66 @@ clutter_actor_get_scale_z (ClutterActor *self)
   return _clutter_actor_get_transform_info_or_defaults (self)->scale_z;
 }
 
+/**
+ * clutter_actor_get_scale_center:
+ * @self: A #ClutterActor
+ * @center_x: (out) (allow-none): Location to store the X position
+ *   of the scale center, or %NULL.
+ * @center_y: (out) (allow-none): Location to store the Y position
+ *   of the scale center, or %NULL.
+ *
+ * Retrieves the scale center coordinate in pixels relative to the top
+ * left corner of the actor. If the scale center was specified using a
+ * #ClutterGravity this will calculate the pixel offset using the
+ * current size of the actor.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_pivot_point() instead.
+ */
+void
+clutter_actor_get_scale_center (ClutterActor *self,
+                                gfloat       *center_x,
+                                gfloat       *center_y)
+{
+  const ClutterTransformInfo *info;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+
+  clutter_anchor_coord_get_units (self, &info->scale_center,
+                                  center_x,
+                                  center_y,
+                                  NULL);
+}
+
+/**
+ * clutter_actor_get_scale_gravity:
+ * @self: A #ClutterActor
+ *
+ * Retrieves the scale center as a compass direction. If the scale
+ * center was specified in pixels or units this will return
+ * %CLUTTER_GRAVITY_NONE.
+ *
+ * Return value: the scale gravity
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_pivot_point() instead.
+ */
+ClutterGravity
+clutter_actor_get_scale_gravity (ClutterActor *self)
+{
+  const ClutterTransformInfo *info;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), CLUTTER_GRAVITY_NONE);
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+
+  return clutter_anchor_coord_get_gravity (&info->scale_center);
+}
+
 static inline void
 clutter_actor_set_opacity_internal (ClutterActor *self,
                                     guint8        opacity)
@@ -10361,7 +11439,7 @@ clutter_actor_get_paint_opacity_internal (ClutterActor *self)
  *
  * Return value: The actor opacity value.
  *
- *
+ * Since: 0.8
  */
 guint8
 clutter_actor_get_paint_opacity (ClutterActor *self)
@@ -10454,7 +11532,7 @@ clutter_actor_get_opacity (ClutterActor *self)
  * recommended to override the has_overlaps() virtual to return %FALSE
  * for maximum efficiency.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_actor_set_offscreen_redirect (ClutterActor *self,
@@ -10494,7 +11572,7 @@ clutter_actor_set_offscreen_redirect (ClutterActor *self,
  *
  * Return value: the value of the offscreen-redirect property of the actor
  *
- *
+ * Since: 1.8
  */
 ClutterOffscreenRedirect
 clutter_actor_get_offscreen_redirect (ClutterActor *self)
@@ -10541,6 +11619,52 @@ clutter_actor_get_name (ClutterActor *self)
   return self->priv->name;
 }
 
+/**
+ * clutter_actor_get_gid:
+ * @self: A #ClutterActor
+ *
+ * Retrieves the unique id for @self.
+ *
+ * Return value: Globally unique value for this object instance.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: The id is not used any longer.
+ */
+guint32
+clutter_actor_get_gid (ClutterActor *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), 0);
+
+  return self->priv->id;
+}
+
+static inline void
+clutter_actor_set_depth_internal (ClutterActor *self,
+                                  float         depth)
+{
+  ClutterTransformInfo *info;
+
+  info = _clutter_actor_get_transform_info (self);
+
+  if (info->z_position != depth)
+    {
+      /* Sets Z value - XXX 2.0: should we invert? */
+      info->z_position = depth;
+
+      self->priv->transform_valid = FALSE;
+
+      /* FIXME - remove this crap; sadly, there are still containers
+       * in Clutter that depend on this utter brain damage
+       */
+      clutter_container_sort_depth_order (CLUTTER_CONTAINER (self));
+
+      clutter_actor_queue_redraw (self);
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_DEPTH]);
+    }
+}
+
 static inline void
 clutter_actor_set_z_position_internal (ClutterActor *self,
                                        float         z_position)
@@ -10570,7 +11694,7 @@ clutter_actor_set_z_position_internal (ClutterActor *self,
  *
  * See #ClutterActor:z-position.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_z_position (ClutterActor *self,
@@ -10595,7 +11719,7 @@ clutter_actor_set_z_position (ClutterActor *self,
  *
  * Return value: the position on the Z axis.
  *
- *
+ * Since: 1.12
  */
 gfloat
 clutter_actor_get_z_position (ClutterActor *self)
@@ -10618,7 +11742,7 @@ clutter_actor_get_z_position (ClutterActor *self)
  * point being the top left corner of the actor, and the (1, 1) point being
  * the bottom right corner.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_pivot_point (ClutterActor *self,
@@ -10646,7 +11770,7 @@ clutter_actor_set_pivot_point (ClutterActor *self,
  *
  * Retrieves the coordinates of the #ClutterActor:pivot-point.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_get_pivot_point (ClutterActor *self,
@@ -10676,7 +11800,7 @@ clutter_actor_get_pivot_point (ClutterActor *self,
  *
  * The @pivot_z value is expressed as a distance along the Z axis.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_pivot_point_z (ClutterActor *self,
@@ -10698,7 +11822,7 @@ clutter_actor_set_pivot_point_z (ClutterActor *self,
  *
  * Retrieves the Z component of the #ClutterActor:pivot-point.
  *
- *
+ * Since: 1.12
  */
 gfloat
 clutter_actor_get_pivot_point_z (ClutterActor *self)
@@ -10709,6 +11833,236 @@ clutter_actor_get_pivot_point_z (ClutterActor *self)
 }
 
 /**
+ * clutter_actor_set_depth:
+ * @self: a #ClutterActor
+ * @depth: Z co-ord
+ *
+ * Sets the Z coordinate of @self to @depth.
+ *
+ * The unit used by @depth is dependant on the perspective setup. See
+ * also clutter_stage_set_perspective().
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_z_position() instead.
+ */
+void
+clutter_actor_set_depth (ClutterActor *self,
+                         gfloat        depth)
+{
+  const ClutterTransformInfo *info;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+  _clutter_actor_create_transition (self, obj_props[PROP_DEPTH],
+                                    info->z_position,
+                                    depth);
+}
+
+/**
+ * clutter_actor_get_depth:
+ * @self: a #ClutterActor
+ *
+ * Retrieves the depth of @self.
+ *
+ * Return value: the depth of the actor
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_z_position() instead.
+ */
+gfloat
+clutter_actor_get_depth (ClutterActor *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), 0.0);
+
+  return _clutter_actor_get_transform_info_or_defaults (self)->z_position;
+}
+
+/**
+ * clutter_actor_set_rotation:
+ * @self: a #ClutterActor
+ * @axis: the axis of rotation
+ * @angle: the angle of rotation
+ * @x: X coordinate of the rotation center
+ * @y: Y coordinate of the rotation center
+ * @z: Z coordinate of the rotation center
+ *
+ * Sets the rotation angle of @self around the given axis.
+ *
+ * The rotation center coordinates used depend on the value of @axis:
+ * <itemizedlist>
+ *   <listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem>
+ *   <listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem>
+ *   <listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem>
+ * </itemizedlist>
+ *
+ * The rotation coordinates are relative to the anchor point of the
+ * actor, set using clutter_actor_set_anchor_point(). If no anchor
+ * point is set, the upper left corner is assumed as the origin.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_rotation_angle() and
+ *   clutter_actor_set_pivot_point() instead.
+ */
+void
+clutter_actor_set_rotation (ClutterActor      *self,
+                            ClutterRotateAxis  axis,
+                            gdouble            angle,
+                            gfloat             x,
+                            gfloat             y,
+                            gfloat             z)
+{
+  ClutterVertex v;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  v.x = x;
+  v.y = y;
+  v.z = z;
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  clutter_actor_set_rotation_angle (self, axis, angle);
+  clutter_actor_set_rotation_center_internal (self, axis, &v);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_actor_set_z_rotation_from_gravity:
+ * @self: a #ClutterActor
+ * @angle: the angle of rotation
+ * @gravity: the center point of the rotation
+ *
+ * Sets the rotation angle of @self around the Z axis using the center
+ * point specified as a compass point. For example to rotate such that
+ * the center of the actor remains static you can use
+ * %CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
+ * will move accordingly.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_rotation_angle() and
+ *   clutter_actor_set_pivot_point() instead.
+ */
+void
+clutter_actor_set_z_rotation_from_gravity (ClutterActor   *self,
+                                           gdouble         angle,
+                                           ClutterGravity  gravity)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  if (gravity == CLUTTER_GRAVITY_NONE)
+    clutter_actor_set_rotation (self, CLUTTER_Z_AXIS, angle, 0, 0, 0);
+  else
+    {
+      GObject *obj = G_OBJECT (self);
+      ClutterTransformInfo *info;
+      GParamSpec *pspec;
+
+      pspec = obj_props[PROP_ROTATION_ANGLE_Z];
+      info = _clutter_actor_get_transform_info (self);
+
+      g_object_freeze_notify (obj);
+
+      clutter_actor_set_rotation_angle_internal (self, angle, pspec);
+
+      clutter_anchor_coord_set_gravity (&info->rz_center, gravity);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ROTATION_CENTER_Z_GRAVITY]);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ROTATION_CENTER_Z]);
+
+      g_object_thaw_notify (obj);
+    }
+}
+
+/**
+ * clutter_actor_get_rotation:
+ * @self: a #ClutterActor
+ * @axis: the axis of rotation
+ * @x: (out): return value for the X coordinate of the center of rotation
+ * @y: (out): return value for the Y coordinate of the center of rotation
+ * @z: (out): return value for the Z coordinate of the center of rotation
+ *
+ * Retrieves the angle and center of rotation on the given axis,
+ * set using clutter_actor_set_rotation().
+ *
+ * Return value: the angle of rotation
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_rotation_angle() and
+ *   clutter_actor_get_pivot_point() instead.
+ */
+gdouble
+clutter_actor_get_rotation (ClutterActor      *self,
+                            ClutterRotateAxis  axis,
+                            gfloat            *x,
+                            gfloat            *y,
+                            gfloat            *z)
+{
+  const ClutterTransformInfo *info;
+  const AnchorCoord *anchor_coord;
+  gdouble retval = 0;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), 0);
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+
+  switch (axis)
+    {
+    case CLUTTER_X_AXIS:
+      anchor_coord = &info->rx_center;
+      retval = info->rx_angle;
+      break;
+
+    case CLUTTER_Y_AXIS:
+      anchor_coord = &info->ry_center;
+      retval = info->ry_angle;
+      break;
+
+    case CLUTTER_Z_AXIS:
+      anchor_coord = &info->rz_center;
+      retval = info->rz_angle;
+      break;
+
+    default:
+      anchor_coord = NULL;
+      retval = 0.0;
+      break;
+    }
+
+  clutter_anchor_coord_get_units (self, anchor_coord, x, y, z);
+
+  return retval;
+}
+
+/**
+ * clutter_actor_get_z_rotation_gravity:
+ * @self: A #ClutterActor
+ *
+ * Retrieves the center for the rotation around the Z axis as a
+ * compass direction. If the center was specified in pixels or units
+ * this will return %CLUTTER_GRAVITY_NONE.
+ *
+ * Return value: the Z rotation center
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use the #ClutterActor:pivot-point instead of
+ *   a #ClutterGravity
+ */
+ClutterGravity
+clutter_actor_get_z_rotation_gravity (ClutterActor *self)
+{
+  const ClutterTransformInfo *info;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), CLUTTER_GRAVITY_NONE);
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+
+  return clutter_anchor_coord_get_gravity (&info->rz_center);
+}
+
+/**
  * clutter_actor_set_clip:
  * @self: A #ClutterActor
  * @xoff: X offset of the clip rectangle
@@ -10717,9 +12071,10 @@ clutter_actor_get_pivot_point_z (ClutterActor *self)
  * @height: Height of the clip rectangle
  *
  * Sets clip area for @self. The clip area is always computed from the
- * upper left corner of the actor.
- *
+ * upper left corner of the actor, even if the anchor point is set
+ * otherwise.
  *
+ * Since: 0.6
  */
 void
 clutter_actor_set_clip (ClutterActor *self,
@@ -10753,6 +12108,7 @@ clutter_actor_set_clip (ClutterActor *self,
 
   clutter_actor_queue_redraw (self);
 
+  g_object_notify_by_pspec (obj, obj_props[PROP_CLIP]);
   g_object_notify_by_pspec (obj, obj_props[PROP_CLIP_RECT]);
   g_object_notify_by_pspec (obj, obj_props[PROP_HAS_CLIP]);
 }
@@ -10786,7 +12142,7 @@ clutter_actor_remove_clip (ClutterActor *self)
  *
  * Return value: %TRUE if the actor has a clip area set.
  *
- *
+ * Since: 0.1.1
  */
 gboolean
 clutter_actor_has_clip (ClutterActor *self)
@@ -10810,7 +12166,7 @@ clutter_actor_has_clip (ClutterActor *self)
  *
  * Gets the clip area for @self, if any is set.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_get_clip (ClutterActor *self,
@@ -10851,7 +12207,7 @@ clutter_actor_get_clip (ClutterActor *self,
  *   allocated #GList of #ClutterActor<!-- -->s. Use g_list_free() when
  *   done.
  *
- *
+ * Since: 1.10
  */
 GList *
 clutter_actor_get_children (ClutterActor *self)
@@ -11100,13 +12456,21 @@ typedef enum {
   ADD_CHILD_EMIT_ACTOR_ADDED   = 1 << 2,
   ADD_CHILD_CHECK_STATE        = 1 << 3,
   ADD_CHILD_NOTIFY_FIRST_LAST  = 1 << 4,
+  ADD_CHILD_SHOW_ON_SET_PARENT = 1 << 5,
 
   /* default flags for public API */
   ADD_CHILD_DEFAULT_FLAGS    = ADD_CHILD_CREATE_META |
                                ADD_CHILD_EMIT_PARENT_SET |
                                ADD_CHILD_EMIT_ACTOR_ADDED |
                                ADD_CHILD_CHECK_STATE |
-                               ADD_CHILD_NOTIFY_FIRST_LAST
+                               ADD_CHILD_NOTIFY_FIRST_LAST |
+                               ADD_CHILD_SHOW_ON_SET_PARENT,
+
+  /* flags for legacy/deprecated API */
+  ADD_CHILD_LEGACY_FLAGS     = ADD_CHILD_EMIT_PARENT_SET |
+                               ADD_CHILD_CHECK_STATE |
+                               ADD_CHILD_NOTIFY_FIRST_LAST |
+                               ADD_CHILD_SHOW_ON_SET_PARENT
 } ClutterActorAddChildFlags;
 
 /*< private >
@@ -11211,7 +12575,7 @@ clutter_actor_add_child_internal (ClutterActor              *self,
   emit_actor_added = (flags & ADD_CHILD_EMIT_ACTOR_ADDED) != 0;
   check_state = (flags & ADD_CHILD_CHECK_STATE) != 0;
   notify_first_last = (flags & ADD_CHILD_NOTIFY_FIRST_LAST) != 0;
-  show_on_set_parent = CLUTTER_ACTOR_IS_VISIBLE (child);
+  show_on_set_parent = (flags & ADD_CHILD_SHOW_ON_SET_PARENT) != 0;
 
   old_first_child = self->priv->first_child;
   old_last_child = self->priv->last_child;
@@ -11278,8 +12642,11 @@ clutter_actor_add_child_internal (ClutterActor              *self,
   /* this may end up queueing a redraw, in case the actor is
    * not visible but the show-on-set-parent property is still
    * set.
+   *
+   * XXX:2.0 - remove this check and unconditionally show() the
+   * actor once we remove the show-on-set-parent property
    */
-  if (show_on_set_parent)
+  if (show_on_set_parent && child->priv->show_on_set_parent)
     clutter_actor_show (child);
 
   /* on the other hand, this will catch any other case where
@@ -11341,7 +12708,7 @@ clutter_actor_add_child_internal (ClutterActor              *self,
  * This function will emit the #ClutterContainer::actor-added signal
  * on @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_add_child (ClutterActor *self,
@@ -11377,7 +12744,7 @@ clutter_actor_add_child (ClutterActor *self,
  * This function will emit the #ClutterContainer::actor-added signal
  * on @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_insert_child_at_index (ClutterActor *self,
@@ -11414,7 +12781,7 @@ clutter_actor_insert_child_at_index (ClutterActor *self,
  * This function will emit the #ClutterContainer::actor-added signal
  * on @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_insert_child_above (ClutterActor *self,
@@ -11455,7 +12822,7 @@ clutter_actor_insert_child_above (ClutterActor *self,
  * This function will emit the #ClutterContainer::actor-added signal
  * on @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_insert_child_below (ClutterActor *self,
@@ -11478,6 +12845,43 @@ clutter_actor_insert_child_below (ClutterActor *self,
 }
 
 /**
+ * clutter_actor_set_parent:
+ * @self: A #ClutterActor
+ * @parent: A new #ClutterActor parent
+ *
+ * Sets the parent of @self to @parent.
+ *
+ * This function will result in @parent acquiring a reference on @self,
+ * eventually by sinking its floating reference first. The reference
+ * will be released by clutter_actor_unparent().
+ *
+ * This function should only be called by legacy #ClutterActor<!-- -->s
+ * implementing the #ClutterContainer interface.
+ *
+ * Deprecated: 1.10: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_actor_set_parent (ClutterActor *self,
+                         ClutterActor *parent)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+  g_return_if_fail (CLUTTER_IS_ACTOR (parent));
+  g_return_if_fail (self != parent);
+  g_return_if_fail (self->priv->parent == NULL);
+
+  /* as this function will be called inside ClutterContainer::add
+   * implementations or when building up a composite actor, we have
+   * to preserve the old behaviour, and not create child meta or
+   * emit the ::actor-added signal, to avoid recursion or double
+   * emissions
+   */
+  clutter_actor_add_child_internal (parent, self,
+                                    ADD_CHILD_LEGACY_FLAGS,
+                                    insert_child_at_depth,
+                                    NULL);
+}
+
+/**
  * clutter_actor_get_parent:
  * @self: A #ClutterActor
  *
@@ -11505,7 +12909,7 @@ clutter_actor_get_parent (ClutterActor *self)
  *
  * Return Value: %TRUE if the actor is visibile and will be painted.
  *
- *
+ * Since: 0.8.4
  */
 gboolean
 clutter_actor_get_paint_visibility (ClutterActor *actor)
@@ -11530,7 +12934,7 @@ clutter_actor_get_paint_visibility (ClutterActor *actor)
  * This function will emit the #ClutterContainer::actor-removed
  * signal on @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_remove_child (ClutterActor *self,
@@ -11559,7 +12963,7 @@ clutter_actor_remove_child (ClutterActor *self,
  * destroyed. If you want to ensure the destruction of all the children
  * of @self, use clutter_actor_destroy_all_children().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_remove_all_children (ClutterActor *self)
@@ -11610,7 +13014,7 @@ clutter_actor_remove_all_children (ClutterActor *self)
  * are disconnected even in cases where circular references prevent this
  * from automatically happening through reference counting alone.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_destroy_all_children (ClutterActor *self)
@@ -11675,7 +13079,7 @@ insert_child_between (ClutterActor *self,
  *
  * Replaces @old_child with @new_child in the list of children of @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_replace_child (ClutterActor *self,
@@ -11707,6 +13111,134 @@ clutter_actor_replace_child (ClutterActor *self,
 }
 
 /**
+ * clutter_actor_unparent:
+ * @self: a #ClutterActor
+ *
+ * Removes the parent of @self.
+ *
+ * This will cause the parent of @self to release the reference
+ * acquired when calling clutter_actor_set_parent(), so if you
+ * want to keep @self you will have to acquire a reference of
+ * your own, through g_object_ref().
+ *
+ * This function should only be called by legacy #ClutterActor<!-- -->s
+ * implementing the #ClutterContainer interface.
+ *
+ * Since: 0.1.1
+ *
+ * Deprecated: 1.10: Use clutter_actor_remove_child() instead.
+ */
+void
+clutter_actor_unparent (ClutterActor *self)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  if (self->priv->parent == NULL)
+    return;
+
+  clutter_actor_remove_child_internal (self->priv->parent, self,
+                                       REMOVE_CHILD_LEGACY_FLAGS);
+}
+
+/**
+ * clutter_actor_reparent:
+ * @self: a #ClutterActor
+ * @new_parent: the new #ClutterActor parent
+ *
+ * Resets the parent actor of @self.
+ *
+ * This function is logically equivalent to calling clutter_actor_unparent()
+ * and clutter_actor_set_parent(), but more efficiently implemented, as it
+ * ensures the child is not finalized when unparented, and emits the
+ * #ClutterActor::parent-set signal only once.
+ *
+ * In reality, calling this function is less useful than it sounds, as some
+ * application code may rely on changes in the intermediate state between
+ * removal and addition of the actor from its old parent to the @new_parent.
+ * Thus, it is strongly encouraged to avoid using this function in application
+ * code.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_remove_child() and
+ *   clutter_actor_add_child() instead; remember to take a reference on
+ *   the actor being removed before calling clutter_actor_remove_child()
+ *   to avoid the reference count dropping to zero and the actor being
+ *   destroyed.
+ */
+void
+clutter_actor_reparent (ClutterActor *self,
+                        ClutterActor *new_parent)
+{
+  ClutterActorPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+  g_return_if_fail (CLUTTER_IS_ACTOR (new_parent));
+  g_return_if_fail (self != new_parent);
+
+  if (CLUTTER_ACTOR_IS_TOPLEVEL (self))
+    {
+      g_warning ("Cannot set a parent on a toplevel actor");
+      return;
+    }
+
+  if (CLUTTER_ACTOR_IN_DESTRUCTION (self))
+    {
+      g_warning ("Cannot set a parent currently being destroyed");
+      return;
+    }
+
+  priv = self->priv;
+
+  if (priv->parent != new_parent)
+    {
+      ClutterActor *old_parent;
+
+      CLUTTER_SET_PRIVATE_FLAGS (self, CLUTTER_IN_REPARENT);
+
+      old_parent = priv->parent;
+
+      g_object_ref (self);
+
+      if (old_parent != NULL)
+        {
+         /* go through the Container implementation if this is a regular
+          * child and not an internal one
+          */
+         if (!CLUTTER_ACTOR_IS_INTERNAL_CHILD (self))
+           {
+             ClutterContainer *parent = CLUTTER_CONTAINER (old_parent);
+
+             /* this will have to call unparent() */
+             clutter_container_remove_actor (parent, self);
+           }
+         else
+           clutter_actor_remove_child_internal (old_parent, self,
+                                                REMOVE_CHILD_LEGACY_FLAGS);
+        }
+
+      /* Note, will call set_parent() */
+      if (!CLUTTER_ACTOR_IS_INTERNAL_CHILD (self))
+        clutter_container_add_actor (CLUTTER_CONTAINER (new_parent), self);
+      else
+        clutter_actor_add_child_internal (new_parent, self,
+                                          ADD_CHILD_LEGACY_FLAGS,
+                                          insert_child_at_depth,
+                                          NULL);
+
+      /* we emit the ::parent-set signal once */
+      g_signal_emit (self, actor_signals[PARENT_SET], 0, old_parent);
+
+      CLUTTER_UNSET_PRIVATE_FLAGS (self, CLUTTER_IN_REPARENT);
+
+      /* the IN_REPARENT flag suspends state updates */
+      clutter_actor_update_map_state (self, MAP_STATE_CHECK);
+
+      g_object_unref (self);
+   }
+}
+
+/**
  * clutter_actor_contains:
  * @self: A #ClutterActor
  * @descendant: A #ClutterActor, possibly contained in @self
@@ -11717,7 +13249,7 @@ clutter_actor_replace_child (ClutterActor *self,
  *
  * Return value: whether @descendent is contained within @self
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_actor_contains (ClutterActor *self,
@@ -11749,7 +13281,7 @@ clutter_actor_contains (ClutterActor *self,
  * clutter_actor_insert_child_above(), but it will not emit signals
  * or change state on @child.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_child_above_sibling (ClutterActor *self,
@@ -11800,7 +13332,7 @@ clutter_actor_set_child_above_sibling (ClutterActor *self,
  * clutter_actor_insert_child_below(), but it will not emit signals
  * or change state on @child.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_child_below_sibling (ClutterActor *self,
@@ -11844,7 +13376,7 @@ clutter_actor_set_child_below_sibling (ClutterActor *self,
  * calling clutter_actor_insert_child_at_index(), but it will not
  * emit signals or change state on @child.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_child_at_index (ClutterActor *self,
@@ -11870,6 +13402,134 @@ clutter_actor_set_child_at_index (ClutterActor *self,
   clutter_actor_queue_relayout (self);
 }
 
+/**
+ * clutter_actor_raise:
+ * @self: A #ClutterActor
+ * @below: (allow-none): A #ClutterActor to raise above.
+ *
+ * Puts @self above @below.
+ *
+ * Both actors must have the same parent, and the parent must implement
+ * the #ClutterContainer interface
+ *
+ * This function calls clutter_container_raise_child() internally.
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_child_above_sibling() instead.
+ */
+void
+clutter_actor_raise (ClutterActor *self,
+                     ClutterActor *below)
+{
+  ClutterActor *parent;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  parent = clutter_actor_get_parent (self);
+  if (parent == NULL)
+    {
+      g_warning ("%s: Actor '%s' is not inside a container",
+                 G_STRFUNC,
+                 _clutter_actor_get_debug_name (self));
+      return;
+    }
+
+  if (below != NULL)
+    {
+      if (parent != clutter_actor_get_parent (below))
+        {
+          g_warning ("%s Actor '%s' is not in the same container as "
+                     "actor '%s'",
+                     G_STRFUNC,
+                     _clutter_actor_get_debug_name (self),
+                     _clutter_actor_get_debug_name (below));
+          return;
+        }
+    }
+
+  clutter_container_raise_child (CLUTTER_CONTAINER (parent), self, below);
+}
+
+/**
+ * clutter_actor_lower:
+ * @self: A #ClutterActor
+ * @above: (allow-none): A #ClutterActor to lower below
+ *
+ * Puts @self below @above.
+ *
+ * Both actors must have the same parent, and the parent must implement
+ * the #ClutterContainer interface.
+ *
+ * This function calls clutter_container_lower_child() internally.
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_child_below_sibling() instead.
+ */
+void
+clutter_actor_lower (ClutterActor *self,
+                     ClutterActor *above)
+{
+  ClutterActor *parent;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  parent = clutter_actor_get_parent (self);
+  if (parent == NULL)
+    {
+      g_warning ("%s: Actor of type %s is not inside a container",
+                 G_STRFUNC,
+                 _clutter_actor_get_debug_name (self));
+      return;
+    }
+
+  if (above)
+    {
+      if (parent != clutter_actor_get_parent (above))
+        {
+          g_warning ("%s: Actor '%s' is not in the same container as "
+                     "actor '%s'",
+                     G_STRFUNC,
+                     _clutter_actor_get_debug_name (self),
+                     _clutter_actor_get_debug_name (above));
+          return;
+        }
+    }
+
+  clutter_container_lower_child (CLUTTER_CONTAINER (parent), self, above);
+}
+
+/**
+ * clutter_actor_raise_top:
+ * @self: A #ClutterActor
+ *
+ * Raises @self to the top.
+ *
+ * This function calls clutter_actor_raise() internally.
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_child_above_sibling() with
+ *   a %NULL sibling, instead.
+ */
+void
+clutter_actor_raise_top (ClutterActor *self)
+{
+  clutter_actor_raise (self, NULL);
+}
+
+/**
+ * clutter_actor_lower_bottom:
+ * @self: A #ClutterActor
+ *
+ * Lowers @self to the bottom.
+ *
+ * This function calls clutter_actor_lower() internally.
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_child_below_sibling() with
+ *   a %NULL sibling, instead.
+ */
+void
+clutter_actor_lower_bottom (ClutterActor *self)
+{
+  clutter_actor_lower (self, NULL);
+}
+
 /*
  * Event handling
  */
@@ -11888,7 +13548,7 @@ clutter_actor_set_child_at_index (ClutterActor *self,
  *   if the actor handled the event, or %FALSE if the event was
  *   not handled
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_actor_event (ClutterActor       *actor,
@@ -11975,7 +13635,7 @@ out:
  *
  * Sets @actor as reactive. Reactive actors will receive events.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_actor_set_reactive (ClutterActor *actor,
@@ -12002,7 +13662,7 @@ clutter_actor_set_reactive (ClutterActor *actor,
  *
  * Return value: %TRUE if the actor is reactive
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_actor_get_reactive (ClutterActor *actor)
@@ -12012,6 +13672,266 @@ clutter_actor_get_reactive (ClutterActor *actor)
   return CLUTTER_ACTOR_IS_REACTIVE (actor) ? TRUE : FALSE;
 }
 
+/**
+ * clutter_actor_get_anchor_point:
+ * @self: a #ClutterActor
+ * @anchor_x: (out): return location for the X coordinate of the anchor point
+ * @anchor_y: (out): return location for the Y coordinate of the anchor point
+ *
+ * Gets the current anchor point of the @actor in pixels.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.12: Use #ClutterActor:pivot-point instead
+ */
+void
+clutter_actor_get_anchor_point (ClutterActor *self,
+                               gfloat       *anchor_x,
+                                gfloat       *anchor_y)
+{
+  const ClutterTransformInfo *info;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+  clutter_anchor_coord_get_units (self, &info->anchor,
+                                  anchor_x,
+                                  anchor_y,
+                                  NULL);
+}
+
+/**
+ * clutter_actor_set_anchor_point:
+ * @self: a #ClutterActor
+ * @anchor_x: X coordinate of the anchor point
+ * @anchor_y: Y coordinate of the anchor point
+ *
+ * Sets an anchor point for @self. The anchor point is a point in the
+ * coordinate space of an actor to which the actor position within its
+ * parent is relative; the default is (0, 0), i.e. the top-left corner
+ * of the actor.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.12: Use #ClutterActor:pivot-point instead.
+ */
+void
+clutter_actor_set_anchor_point (ClutterActor *self,
+                                gfloat        anchor_x,
+                                gfloat        anchor_y)
+{
+  ClutterTransformInfo *info;
+  ClutterActorPrivate *priv;
+  gboolean changed = FALSE;
+  gfloat old_anchor_x, old_anchor_y;
+  GObject *obj;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  obj = G_OBJECT (self);
+  priv = self->priv;
+  info = _clutter_actor_get_transform_info (self);
+
+  g_object_freeze_notify (obj);
+
+  clutter_anchor_coord_get_units (self, &info->anchor,
+                                  &old_anchor_x,
+                                  &old_anchor_y,
+                                  NULL);
+
+  if (info->anchor.is_fractional)
+    g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_GRAVITY]);
+
+  if (old_anchor_x != anchor_x)
+    {
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_X]);
+      changed = TRUE;
+    }
+
+  if (old_anchor_y != anchor_y)
+    {
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_Y]);
+      changed = TRUE;
+    }
+
+  clutter_anchor_coord_set_units (&info->anchor, anchor_x, anchor_y, 0);
+
+  if (changed)
+    {
+      priv->transform_valid = FALSE;
+      clutter_actor_queue_redraw (self);
+    }
+
+  g_object_thaw_notify (obj);
+}
+
+/**
+ * clutter_actor_get_anchor_point_gravity:
+ * @self: a #ClutterActor
+ *
+ * Retrieves the anchor position expressed as a #ClutterGravity. If
+ * the anchor point was specified using pixels or units this will
+ * return %CLUTTER_GRAVITY_NONE.
+ *
+ * Return value: the #ClutterGravity used by the anchor point
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use #ClutterActor:pivot-point instead.
+ */
+ClutterGravity
+clutter_actor_get_anchor_point_gravity (ClutterActor *self)
+{
+  const ClutterTransformInfo *info;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), CLUTTER_GRAVITY_NONE);
+
+  info = _clutter_actor_get_transform_info_or_defaults (self);
+
+  return clutter_anchor_coord_get_gravity (&info->anchor);
+}
+
+/**
+ * clutter_actor_move_anchor_point:
+ * @self: a #ClutterActor
+ * @anchor_x: X coordinate of the anchor point
+ * @anchor_y: Y coordinate of the anchor point
+ *
+ * Sets an anchor point for the actor, and adjusts the actor postion so that
+ * the relative position of the actor toward its parent remains the same.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.12: Use #ClutterActor:pivot-point instead.
+ */
+void
+clutter_actor_move_anchor_point (ClutterActor *self,
+                                 gfloat        anchor_x,
+                                 gfloat        anchor_y)
+{
+  gfloat old_anchor_x, old_anchor_y;
+  const ClutterTransformInfo *info;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  info = _clutter_actor_get_transform_info (self);
+  clutter_anchor_coord_get_units (self, &info->anchor,
+                                  &old_anchor_x,
+                                  &old_anchor_y,
+                                  NULL);
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  clutter_actor_set_anchor_point (self, anchor_x, anchor_y);
+
+  if (self->priv->position_set)
+    clutter_actor_move_by (self,
+                           anchor_x - old_anchor_x,
+                           anchor_y - old_anchor_y);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_actor_move_anchor_point_from_gravity:
+ * @self: a #ClutterActor
+ * @gravity: #ClutterGravity.
+ *
+ * Sets an anchor point on the actor based on the given gravity, adjusting the
+ * actor postion so that its relative position within its parent remains
+ * unchanged.
+ *
+ * Since version 1.0 the anchor point will be stored as a gravity so
+ * that if the actor changes size then the anchor point will move. For
+ * example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
+ * and later double the size of the actor, the anchor point will move
+ * to the bottom right.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.12: Use #ClutterActor:pivot-point instead.
+ */
+void
+clutter_actor_move_anchor_point_from_gravity (ClutterActor   *self,
+                                             ClutterGravity  gravity)
+{
+  gfloat old_anchor_x, old_anchor_y, new_anchor_x, new_anchor_y;
+  const ClutterTransformInfo *info;
+  ClutterActorPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  priv = self->priv;
+  info = _clutter_actor_get_transform_info (self);
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  clutter_anchor_coord_get_units (self, &info->anchor,
+                                  &old_anchor_x,
+                                  &old_anchor_y,
+                                  NULL);
+  clutter_actor_set_anchor_point_from_gravity (self, gravity);
+  clutter_anchor_coord_get_units (self, &info->anchor,
+                                  &new_anchor_x,
+                                  &new_anchor_y,
+                                  NULL);
+
+  if (priv->position_set)
+    clutter_actor_move_by (self,
+                           new_anchor_x - old_anchor_x,
+                           new_anchor_y - old_anchor_y);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_actor_set_anchor_point_from_gravity:
+ * @self: a #ClutterActor
+ * @gravity: #ClutterGravity.
+ *
+ * Sets an anchor point on the actor, based on the given gravity (this is a
+ * convenience function wrapping clutter_actor_set_anchor_point()).
+ *
+ * Since version 1.0 the anchor point will be stored as a gravity so
+ * that if the actor changes size then the anchor point will move. For
+ * example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
+ * and later double the size of the actor, the anchor point will move
+ * to the bottom right.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.12: Use #ClutterActor:pivot-point instead.
+ */
+void
+clutter_actor_set_anchor_point_from_gravity (ClutterActor   *self,
+                                            ClutterGravity  gravity)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  if (gravity == CLUTTER_GRAVITY_NONE)
+    clutter_actor_set_anchor_point (self, 0, 0);
+  else
+    {
+      GObject *obj = G_OBJECT (self);
+      ClutterTransformInfo *info;
+
+      g_object_freeze_notify (obj);
+
+      info = _clutter_actor_get_transform_info (self);
+      clutter_anchor_coord_set_gravity (&info->anchor, gravity);
+
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_GRAVITY]);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_X]);
+      g_object_notify_by_pspec (obj, obj_props[PROP_ANCHOR_Y]);
+
+      self->priv->transform_valid = FALSE;
+
+      clutter_actor_queue_redraw (self);
+
+      g_object_thaw_notify (obj);
+    }
+}
+
 static void
 clutter_actor_store_content_box (ClutterActor *self,
                                  const ClutterActorBox *box)
@@ -12089,8 +14009,8 @@ parse_units (ClutterActor   *self,
   else
     {
       g_warning ("Invalid value of type '%s': integers, strings of floating "
-                 "point values can be used for the position and sizing "
-                 "properties.",
+                 "point values can be used for the x, y, width, height "
+                 "anchor-x and anchor-y properties.",
                  g_type_name (G_VALUE_TYPE (&value)));
     }
 
@@ -12290,6 +14210,40 @@ parse_actor_metas (ClutterScript *script,
   return g_slist_reverse (retval);
 }
 
+static GSList *
+parse_behaviours (ClutterScript *script,
+                  ClutterActor  *actor,
+                  JsonNode      *node)
+{
+  GList *elements, *l;
+  GSList *retval = NULL;
+
+  if (!JSON_NODE_HOLDS_ARRAY (node))
+    return NULL;
+
+  elements = json_array_get_elements (json_node_get_array (node));
+
+  for (l = elements; l != NULL; l = l->next)
+    {
+      JsonNode *element = l->data;
+      const gchar *id_ = _clutter_script_get_id_from_node (element);
+      GObject *behaviour;
+
+      if (id_ == NULL || *id_ == '\0')
+        continue;
+
+      behaviour = clutter_script_get_object (script, id_);
+      if (behaviour == NULL)
+        continue;
+
+      retval = g_slist_prepend (retval, behaviour);
+    }
+
+  g_list_free (elements);
+
+  return g_slist_reverse (retval);
+}
+
 static ClutterMargin *
 parse_margin (ClutterActor *self,
               JsonNode     *node)
@@ -12360,7 +14314,9 @@ clutter_actor_parse_custom_node (ClutterScriptable *scriptable,
   if ((name[0] == 'x' && name[1] == '\0') ||
       (name[0] == 'y' && name[1] == '\0') ||
       (strcmp (name, "width") == 0) ||
-      (strcmp (name, "height") == 0))
+      (strcmp (name, "height") == 0) ||
+      (strcmp (name, "anchor_x") == 0) ||
+      (strcmp (name, "anchor_y") == 0))
     {
       ParseDimension dimension;
       gfloat units;
@@ -12373,6 +14329,10 @@ clutter_actor_parse_custom_node (ClutterScriptable *scriptable,
         dimension = PARSE_WIDTH;
       else if (name[0] == 'h')
         dimension = PARSE_HEIGHT;
+      else if (name[0] == 'a' && name[7] == 'x')
+        dimension = PARSE_ANCHOR_X;
+      else if (name[0] == 'a' && name[7] == 'y')
+        dimension = PARSE_ANCHOR_Y;
       else
         return FALSE;
 
@@ -12399,6 +14359,24 @@ clutter_actor_parse_custom_node (ClutterScriptable *scriptable,
       else
         g_slice_free (RotationInfo, info);
     }
+  else if (strcmp (name, "behaviours") == 0)
+    {
+      GSList *l;
+
+#ifdef CLUTTER_ENABLE_DEBUG
+      if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+        _clutter_diagnostic_message ("The 'behaviours' key is deprecated "
+                                     "and it should not be used in newly "
+                                     "written ClutterScript definitions.");
+#endif
+
+      l = parse_behaviours (script, actor, node);
+
+      g_value_init (value, G_TYPE_POINTER);
+      g_value_set_pointer (value, l);
+
+      retval = TRUE;
+    }
   else if (strcmp (name, "actions") == 0 ||
            strcmp (name, "constraints") == 0 ||
            strcmp (name, "effects") == 0)
@@ -12458,13 +14436,37 @@ clutter_actor_set_custom_property (ClutterScriptable *scriptable,
 
       info = g_value_get_pointer (value);
 
-      clutter_actor_set_rotation_angle (actor, info->axis, info->angle);
+      clutter_actor_set_rotation (actor,
+                                  info->axis, info->angle,
+                                  info->center_x,
+                                  info->center_y,
+                                  info->center_z);
 
       g_slice_free (RotationInfo, info);
 
       return;
     }
 
+  if (strcmp (name, "behaviours") == 0)
+    {
+      GSList *behaviours, *l;
+
+      if (!G_VALUE_HOLDS (value, G_TYPE_POINTER))
+        return;
+
+      behaviours = g_value_get_pointer (value);
+      for (l = behaviours; l != NULL; l = l->next)
+        {
+          ClutterBehaviour *behaviour = l->data;
+
+          clutter_behaviour_apply (behaviour, actor);
+        }
+
+      g_slist_free (behaviours);
+
+      return;
+    }
+
   if (strcmp (name, "actions") == 0 ||
       strcmp (name, "constraints") == 0 ||
       strcmp (name, "effects") == 0)
@@ -12675,7 +14677,10 @@ clutter_actor_set_animatable_property (ClutterActor *actor,
       clutter_actor_allocate_internal (actor,
                                        g_value_get_boxed (value),
                                        actor->priv->allocation_flags);
-      clutter_actor_queue_redraw (actor);
+      break;
+
+    case PROP_DEPTH:
+      clutter_actor_set_depth_internal (actor, g_value_get_float (value));
       break;
 
     case PROP_Z_POSITION:
@@ -12817,7 +14822,7 @@ clutter_animatable_iface_init (ClutterAnimatableIface *iface)
  *
  * Return value: %TRUE if conversion was successful.
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_actor_transform_stage_point (ClutterActor *self,
@@ -12983,7 +14988,7 @@ clutter_actor_transform_stage_point (ClutterActor *self,
  *
  * Return value: %TRUE if the actor is rotated.
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_actor_is_rotated (ClutterActor *self)
@@ -13008,7 +15013,7 @@ clutter_actor_is_rotated (ClutterActor *self)
  *
  * Return value: %TRUE if the actor is scaled.
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_actor_is_scaled (ClutterActor *self)
@@ -13043,7 +15048,7 @@ _clutter_actor_get_stage_internal (ClutterActor *actor)
  * Return value: (transfer none) (type Clutter.Stage): the stage
  *   containing the actor, or %NULL
  *
- *
+ * Since: 0.8
  */
 ClutterActor *
 clutter_actor_get_stage (ClutterActor *actor)
@@ -13109,7 +15114,7 @@ clutter_actor_get_stage (ClutterActor *actor)
  * an actor's preferred size without making it bigger than the area
  * available for the container.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_allocate_available_size (ClutterActor           *self,
@@ -13184,7 +15189,7 @@ clutter_actor_allocate_available_size (ClutterActor           *self,
  * not meant to be used outside the implementation of the
  * #ClutterActorClass.allocate virtual function.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_actor_allocate_preferred_size (ClutterActor           *self,
@@ -13252,7 +15257,7 @@ clutter_actor_allocate_preferred_size (ClutterActor           *self,
  * clutter_actor_allocate() inside their #ClutterActorClass.allocate()
  * implementation.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_allocate_align_fill (ClutterActor           *self,
@@ -13378,7 +15383,7 @@ out:
  * Sets the key focus of the #ClutterStage including @self
  * to this #ClutterActor.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_grab_key_focus (ClutterActor *self)
@@ -13412,7 +15417,7 @@ clutter_actor_grab_key_focus (ClutterActor *self)
  *   The returned #PangoContext is owned by the actor and should not be
  *   unreferenced by the application code
  *
- *
+ * Since: 1.0
  */
 PangoContext *
 clutter_actor_get_pango_context (ClutterActor *self)
@@ -13446,7 +15451,7 @@ clutter_actor_get_pango_context (ClutterActor *self)
  *   Use g_object_unref() on the returned value to deallocate its
  *   resources
  *
- *
+ * Since: 1.0
  */
 PangoContext *
 clutter_actor_create_pango_context (ClutterActor *self)
@@ -13474,7 +15479,7 @@ clutter_actor_create_pango_context (ClutterActor *self)
  * Return value: (transfer full): the newly created #PangoLayout.
  *   Use g_object_unref() when done
  *
- *
+ * Since: 1.0
  */
 PangoLayout *
 clutter_actor_create_pango_layout (ClutterActor *self,
@@ -13553,6 +15558,169 @@ _clutter_actor_set_enable_paint_unmapped (ClutterActor *self,
     }
 }
 
+static void
+clutter_anchor_coord_get_units (ClutterActor      *self,
+                                const AnchorCoord *coord,
+                                gfloat            *x,
+                                gfloat            *y,
+                                gfloat            *z)
+{
+  if (coord->is_fractional)
+    {
+      gfloat actor_width, actor_height;
+
+      clutter_actor_get_size (self, &actor_width, &actor_height);
+
+      if (x)
+        *x = actor_width * coord->v.fraction.x;
+
+      if (y)
+        *y = actor_height * coord->v.fraction.y;
+
+      if (z)
+        *z = 0;
+    }
+  else
+    {
+      if (x)
+        *x = coord->v.units.x;
+
+      if (y)
+        *y = coord->v.units.y;
+
+      if (z)
+        *z = coord->v.units.z;
+    }
+}
+
+static void
+clutter_anchor_coord_set_units (AnchorCoord *coord,
+                                gfloat       x,
+                                gfloat       y,
+                                gfloat       z)
+{
+  coord->is_fractional = FALSE;
+  coord->v.units.x = x;
+  coord->v.units.y = y;
+  coord->v.units.z = z;
+}
+
+static ClutterGravity
+clutter_anchor_coord_get_gravity (const AnchorCoord *coord)
+{
+  if (coord->is_fractional)
+    {
+      if (coord->v.fraction.x == 0.0)
+        {
+          if (coord->v.fraction.y == 0.0)
+            return CLUTTER_GRAVITY_NORTH_WEST;
+          else if (coord->v.fraction.y == 0.5)
+            return CLUTTER_GRAVITY_WEST;
+          else if (coord->v.fraction.y == 1.0)
+            return CLUTTER_GRAVITY_SOUTH_WEST;
+          else
+            return CLUTTER_GRAVITY_NONE;
+        }
+      else if (coord->v.fraction.x == 0.5)
+        {
+          if (coord->v.fraction.y == 0.0)
+            return CLUTTER_GRAVITY_NORTH;
+          else if (coord->v.fraction.y == 0.5)
+            return CLUTTER_GRAVITY_CENTER;
+          else if (coord->v.fraction.y == 1.0)
+            return CLUTTER_GRAVITY_SOUTH;
+          else
+            return CLUTTER_GRAVITY_NONE;
+        }
+      else if (coord->v.fraction.x == 1.0)
+        {
+          if (coord->v.fraction.y == 0.0)
+            return CLUTTER_GRAVITY_NORTH_EAST;
+          else if (coord->v.fraction.y == 0.5)
+            return CLUTTER_GRAVITY_EAST;
+          else if (coord->v.fraction.y == 1.0)
+            return CLUTTER_GRAVITY_SOUTH_EAST;
+          else
+            return CLUTTER_GRAVITY_NONE;
+        }
+      else
+        return CLUTTER_GRAVITY_NONE;
+    }
+  else
+    return CLUTTER_GRAVITY_NONE;
+}
+
+static void
+clutter_anchor_coord_set_gravity (AnchorCoord    *coord,
+                                  ClutterGravity  gravity)
+{
+  switch (gravity)
+    {
+    case CLUTTER_GRAVITY_NORTH:
+      coord->v.fraction.x = 0.5;
+      coord->v.fraction.y = 0.0;
+      break;
+
+    case CLUTTER_GRAVITY_NORTH_EAST:
+      coord->v.fraction.x = 1.0;
+      coord->v.fraction.y = 0.0;
+      break;
+
+    case CLUTTER_GRAVITY_EAST:
+      coord->v.fraction.x = 1.0;
+      coord->v.fraction.y = 0.5;
+      break;
+
+    case CLUTTER_GRAVITY_SOUTH_EAST:
+      coord->v.fraction.x = 1.0;
+      coord->v.fraction.y = 1.0;
+      break;
+
+    case CLUTTER_GRAVITY_SOUTH:
+      coord->v.fraction.x = 0.5;
+      coord->v.fraction.y = 1.0;
+      break;
+
+    case CLUTTER_GRAVITY_SOUTH_WEST:
+      coord->v.fraction.x = 0.0;
+      coord->v.fraction.y = 1.0;
+      break;
+
+    case CLUTTER_GRAVITY_WEST:
+      coord->v.fraction.x = 0.0;
+      coord->v.fraction.y = 0.5;
+      break;
+
+    case CLUTTER_GRAVITY_NORTH_WEST:
+      coord->v.fraction.x = 0.0;
+      coord->v.fraction.y = 0.0;
+      break;
+
+    case CLUTTER_GRAVITY_CENTER:
+      coord->v.fraction.x = 0.5;
+      coord->v.fraction.y = 0.5;
+      break;
+
+    default:
+      coord->v.fraction.x = 0.0;
+      coord->v.fraction.y = 0.0;
+      break;
+    }
+
+  coord->is_fractional = TRUE;
+}
+
+static gboolean
+clutter_anchor_coord_is_zero (const AnchorCoord *coord)
+{
+  if (coord->is_fractional)
+    return coord->v.fraction.x == 0.0 && coord->v.fraction.y == 0.0;
+  else
+    return (coord->v.units.x == 0.0
+            && coord->v.units.y == 0.0
+            && coord->v.units.z == 0.0);
+}
+
 /**
  * clutter_actor_get_flags:
  * @self: a #ClutterActor
@@ -13561,7 +15729,7 @@ _clutter_actor_set_enable_paint_unmapped (ClutterActor *self,
  *
  * Return value: a bitwise or of #ClutterActorFlags or 0
  *
- *
+ * Since: 1.0
  */
 ClutterActorFlags
 clutter_actor_get_flags (ClutterActor *self)
@@ -13580,7 +15748,7 @@ clutter_actor_get_flags (ClutterActor *self)
  *
  * This function will emit notifications for the changed properties
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_set_flags (ClutterActor      *self,
@@ -13641,7 +15809,7 @@ clutter_actor_set_flags (ClutterActor      *self,
  *
  * This function will emit notifications for the changed properties
  *
- *
+ * Since: 1.0
  */
 void
 clutter_actor_unset_flags (ClutterActor      *self,
@@ -13691,6 +15859,25 @@ clutter_actor_unset_flags (ClutterActor      *self,
   g_object_thaw_notify (obj);
 }
 
+/**
+ * clutter_actor_get_transformation_matrix:
+ * @self: a #ClutterActor
+ * @matrix: (out caller-allocates): the return location for a #ClutterMatrix
+ *
+ * Retrieves the transformations applied to @self relative to its
+ * parent.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_transform() instead
+ */
+void
+clutter_actor_get_transformation_matrix (ClutterActor  *self,
+                                         ClutterMatrix *matrix)
+{
+  clutter_actor_get_transform (self, matrix);
+}
+
 static void
 clutter_actor_set_transform_internal (ClutterActor        *self,
                                       const ClutterMatrix *transform)
@@ -13729,6 +15916,8 @@ clutter_actor_set_transform_internal (ClutterActor        *self,
  * actor's allocation and to the actor's pivot point.
  *
  * The #ClutterActor:transform property is animatable.
+ *
+ * Since: 1.12
  */
 void
 clutter_actor_set_transform (ClutterActor        *self,
@@ -13758,7 +15947,7 @@ clutter_actor_set_transform (ClutterActor        *self,
  *
  * Retrieves the current transformation matrix of a #ClutterActor.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_get_transform (ClutterActor  *self,
@@ -13794,7 +15983,7 @@ _clutter_actor_set_in_clone_paint (ClutterActor *self,
  * Return value: %TRUE if the #ClutterActor is currently being painted
  *   by a #ClutterClone, and %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_actor_is_in_clone_paint (ClutterActor *self)
@@ -13831,7 +16020,7 @@ set_direction_recursive (ClutterActor *actor,
  * special handling when the text direction changes, should connect to
  * the #GObject::notify signal for the #ClutterActor:text-direction property
  *
- *
+ * Since: 1.2
  */
 void
 clutter_actor_set_text_direction (ClutterActor         *self,
@@ -13888,7 +16077,7 @@ _clutter_actor_set_has_pointer (ClutterActor *self,
  *
  * Return value: the #ClutterTextDirection for the actor
  *
- *
+ * Since: 1.2
  */
 ClutterTextDirection
 clutter_actor_get_text_direction (ClutterActor *self)
@@ -13908,6 +16097,102 @@ clutter_actor_get_text_direction (ClutterActor *self)
 }
 
 /**
+ * clutter_actor_push_internal:
+ * @self: a #ClutterActor
+ *
+ * Should be used by actors implementing the #ClutterContainer and with
+ * internal children added through clutter_actor_set_parent(), for instance:
+ *
+ * |[
+ *   static void
+ *   my_actor_init (MyActor *self)
+ *   {
+ *     self->priv = SELF_ACTOR_GET_PRIVATE (self);
+ *
+ *     clutter_actor_push_internal (CLUTTER_ACTOR (self));
+ *
+ *     /&ast; calling clutter_actor_set_parent() now will result in
+ *      &ast; the internal flag being set on a child of MyActor
+ *      &ast;/
+ *
+ *     /&ast; internal child - a background texture &ast;/
+ *     self->priv->background_tex = clutter_texture_new ();
+ *     clutter_actor_set_parent (self->priv->background_tex,
+ *                               CLUTTER_ACTOR (self));
+ *
+ *     /&ast; internal child - a label &ast;/
+ *     self->priv->label = clutter_text_new ();
+ *     clutter_actor_set_parent (self->priv->label,
+ *                               CLUTTER_ACTOR (self));
+ *
+ *     clutter_actor_pop_internal (CLUTTER_ACTOR (self));
+ *
+ *     /&ast; calling clutter_actor_set_parent() now will not result in
+ *      &ast; the internal flag being set on a child of MyActor
+ *      &ast;/
+ *   }
+ * ]|
+ *
+ * This function will be used by Clutter to toggle an "internal child"
+ * flag whenever clutter_actor_set_parent() is called; internal children
+ * are handled differently by Clutter, specifically when destroying their
+ * parent.
+ *
+ * Call clutter_actor_pop_internal() when you finished adding internal
+ * children.
+ *
+ * Nested calls to clutter_actor_push_internal() are allowed, but each
+ * one must by followed by a clutter_actor_pop_internal() call.
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: All children of an actor are accessible through
+ *   the #ClutterActor API, and #ClutterActor implements the
+ *   #ClutterContainer interface, so this function is only useful
+ *   for legacy containers overriding the default implementation.
+ */
+void
+clutter_actor_push_internal (ClutterActor *self)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  self->priv->internal_child += 1;
+}
+
+/**
+ * clutter_actor_pop_internal:
+ * @self: a #ClutterActor
+ *
+ * Disables the effects of clutter_actor_push_internal().
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: All children of an actor are accessible through
+ *   the #ClutterActor API. This function is only useful for legacy
+ *   containers overriding the default implementation of the
+ *   #ClutterContainer interface.
+ */
+void
+clutter_actor_pop_internal (ClutterActor *self)
+{
+  ClutterActorPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+
+  priv = self->priv;
+
+  if (priv->internal_child == 0)
+    {
+      g_warning ("Mismatched %s: you need to call "
+                 "clutter_actor_push_composite() at least once before "
+                 "calling this function", G_STRFUNC);
+      return;
+    }
+
+  priv->internal_child -= 1;
+}
+
+/**
  * clutter_actor_has_pointer:
  * @self: a #ClutterActor
  *
@@ -13917,7 +16202,7 @@ clutter_actor_get_text_direction (ClutterActor *self)
  * Return value: %TRUE if the actor contains the pointer, and
  *   %FALSE otherwise
  *
- *
+ * Since: 1.2
  */
 gboolean
 clutter_actor_has_pointer (ClutterActor *self)
@@ -13964,7 +16249,7 @@ _clutter_actor_set_queue_redraw_clip (ClutterActor       *self,
  *
  * Return value: %TRUE if the actor has an up-to-date allocation
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_actor_has_allocation (ClutterActor *self)
@@ -13993,7 +16278,7 @@ clutter_actor_has_allocation (ClutterActor *self)
  * clutter_actor_remove_action() or clutter_actor_clear_actions()
  * is called
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_add_action (ClutterActor  *self,
@@ -14033,7 +16318,7 @@ clutter_actor_add_action (ClutterActor  *self,
  *   clutter_actor_add_action (self, action);
  * ]|
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_add_action_with_name (ClutterActor  *self,
@@ -14057,7 +16342,7 @@ clutter_actor_add_action_with_name (ClutterActor  *self,
  *
  * The reference held by @self on the #ClutterAction will be released
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_remove_action (ClutterActor  *self,
@@ -14089,7 +16374,7 @@ clutter_actor_remove_action (ClutterActor  *self,
  * Removes the #ClutterAction with the given name from the list
  * of actions applied to @self
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_remove_action_by_name (ClutterActor *self,
@@ -14126,7 +16411,7 @@ clutter_actor_remove_action_by_name (ClutterActor *self,
  *   owned by the #ClutterActor. Use g_list_free() to free the resources
  *   allocated by the returned #GList
  *
- *
+ * Since: 1.4
  */
 GList *
 clutter_actor_get_actions (ClutterActor *self)
@@ -14151,7 +16436,7 @@ clutter_actor_get_actions (ClutterActor *self)
  *   name, or %NULL. The returned #ClutterAction is owned by the
  *   actor and it should not be unreferenced directly
  *
- *
+ * Since: 1.4
  */
 ClutterAction *
 clutter_actor_get_action (ClutterActor *self,
@@ -14172,7 +16457,7 @@ clutter_actor_get_action (ClutterActor *self,
  *
  * Clears the list of actions applied to @self
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_clear_actions (ClutterActor *self)
@@ -14197,7 +16482,7 @@ clutter_actor_clear_actions (ClutterActor *self)
  * either clutter_actor_remove_constraint() or
  * clutter_actor_clear_constraints() is called.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_add_constraint (ClutterActor      *self,
@@ -14239,7 +16524,7 @@ clutter_actor_add_constraint (ClutterActor      *self,
  *   clutter_actor_add_constraint (self, constraint);
  * ]|
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_add_constraint_with_name (ClutterActor      *self,
@@ -14263,7 +16548,7 @@ clutter_actor_add_constraint_with_name (ClutterActor      *self,
  *
  * The reference held by @self on the #ClutterConstraint will be released
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_remove_constraint (ClutterActor      *self,
@@ -14298,7 +16583,7 @@ clutter_actor_remove_constraint (ClutterActor      *self,
  * Removes the #ClutterConstraint with the given name from the list
  * of constraints applied to @self
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_remove_constraint_by_name (ClutterActor *self,
@@ -14334,7 +16619,7 @@ clutter_actor_remove_constraint_by_name (ClutterActor *self,
  *   owned by the #ClutterActor. Use g_list_free() to free the resources
  *   allocated by the returned #GList
  *
- *
+ * Since: 1.4
  */
 GList *
 clutter_actor_get_constraints (ClutterActor *self)
@@ -14359,7 +16644,7 @@ clutter_actor_get_constraints (ClutterActor *self)
  *   name, or %NULL. The returned #ClutterConstraint is owned by the
  *   actor and it should not be unreferenced directly
  *
- *
+ * Since: 1.4
  */
 ClutterConstraint *
 clutter_actor_get_constraint (ClutterActor *self,
@@ -14380,7 +16665,7 @@ clutter_actor_get_constraint (ClutterActor *self,
  *
  * Clears the list of constraints applied to @self
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_clear_constraints (ClutterActor *self)
@@ -14403,7 +16688,7 @@ clutter_actor_clear_constraints (ClutterActor *self)
  * Sets whether @self should be clipped to the same size as its
  * allocation
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_set_clip_to_allocation (ClutterActor *self,
@@ -14436,7 +16721,7 @@ clutter_actor_set_clip_to_allocation (ClutterActor *self,
  *
  * Return value: %TRUE if the #ClutterActor is clipped to its allocation
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_actor_get_clip_to_allocation (ClutterActor *self)
@@ -14457,7 +16742,7 @@ clutter_actor_get_clip_to_allocation (ClutterActor *self)
  * clutter_actor_remove_effect() or clutter_actor_clear_effects() is
  * called.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_add_effect (ClutterActor  *self,
@@ -14489,7 +16774,7 @@ clutter_actor_add_effect (ClutterActor  *self,
  *   clutter_actor_add_effect (self, effect);
  * ]|
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_add_effect_with_name (ClutterActor  *self,
@@ -14513,7 +16798,7 @@ clutter_actor_add_effect_with_name (ClutterActor  *self,
  *
  * The reference held by @self on the #ClutterEffect will be released
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_remove_effect (ClutterActor  *self,
@@ -14537,7 +16822,7 @@ clutter_actor_remove_effect (ClutterActor  *self,
  * Removes the #ClutterEffect with the given name from the list
  * of effects applied to @self
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_remove_effect_by_name (ClutterActor *self,
@@ -14572,7 +16857,7 @@ clutter_actor_remove_effect_by_name (ClutterActor *self,
  *   list are owned by Clutter and they should not be freed. You should
  *   free the returned list using g_list_free() when done
  *
- *
+ * Since: 1.4
  */
 GList *
 clutter_actor_get_effects (ClutterActor *self)
@@ -14601,7 +16886,7 @@ clutter_actor_get_effects (ClutterActor *self)
  *   name, or %NULL. The returned #ClutterEffect is owned by the
  *   actor and it should not be unreferenced directly
  *
- *
+ * Since: 1.4
  */
 ClutterEffect *
 clutter_actor_get_effect (ClutterActor *self,
@@ -14622,7 +16907,7 @@ clutter_actor_get_effect (ClutterActor *self,
  *
  * Clears the list of effects applied to @self
  *
- *
+ * Since: 1.4
  */
 void
 clutter_actor_clear_effects (ClutterActor *self)
@@ -14645,7 +16930,7 @@ clutter_actor_clear_effects (ClutterActor *self)
  *
  * Return value: %TRUE if the actor has key focus, and %FALSE otherwise
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_actor_has_key_focus (ClutterActor *self)
@@ -14677,6 +16962,46 @@ _clutter_actor_get_paint_volume_real (ClutterActor *self,
       return FALSE;
     }
 
+  /* Check if there are any handlers connected to the paint
+   * signal. If there are then all bets are off for what the paint
+   * volume for this actor might possibly be!
+   *
+   * XXX: It's expected that this is going to end up being quite a
+   * costly check to have to do here, but we haven't come up with
+   * another solution that can reliably catch paint signal handlers at
+   * the right time to either avoid artefacts due to invalid stage
+   * clipping or due to incorrect culling.
+   *
+   * Previously we checked in clutter_actor_paint(), but at that time
+   * we may already be using a stage clip that could be derived from
+   * an invalid paint-volume. We used to try and handle that by
+   * queuing a follow up, unclipped, redraw but still the previous
+   * checking wasn't enough to catch invalid volumes involved in
+   * culling (considering that containers may derive their volume from
+   * children that haven't yet been painted)
+   *
+   * Longer term, improved solutions could be:
+   * - Disallow painting in the paint signal, only allow using it
+   *   for tracking when paints happen. We can add another API that
+   *   allows monkey patching the paint of arbitrary actors but in a
+   *   more controlled way and that also supports modifying the
+   *   paint-volume.
+   * - If we could be notified somehow when signal handlers are
+   *   connected we wouldn't have to poll for handlers like this.
+   *
+   * XXX:2.0 - Remove when we remove the paint signal
+   */
+  if (g_signal_has_handler_pending (self,
+                                    actor_signals[PAINT],
+                                    0,
+                                    TRUE))
+    {
+      CLUTTER_NOTE (CLIPPING, "Bail from get_paint_volume (%s): "
+                    "Actor has \"paint\" signal handlers",
+                    _clutter_actor_get_debug_name (self));
+      return FALSE;
+    }
+
   _clutter_paint_volume_init_static (pv, self);
 
   if (!CLUTTER_ACTOR_GET_CLASS (self)->get_paint_volume (self, pv))
@@ -14793,7 +17118,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
  *   is not guaranteed to be valid across multiple frames; if you want
  *   to keep it, you will need to copy it using clutter_paint_volume_copy().
  *
- *
+ * Since: 1.6
  */
 const ClutterPaintVolume *
 clutter_actor_get_paint_volume (ClutterActor *self)
@@ -14826,7 +17151,7 @@ clutter_actor_get_paint_volume (ClutterActor *self)
  *   not guaranteed to be valid across multiple frames; if you wish to
  *   keep it, you will have to copy it using clutter_paint_volume_copy().
  *
- *
+ * Since: 1.6
  */
 const ClutterPaintVolume *
 clutter_actor_get_transformed_paint_volume (ClutterActor *self,
@@ -14879,7 +17204,7 @@ clutter_actor_get_transformed_paint_volume (ClutterActor *self,
  * Return value: %TRUE if a 2D paint box could be determined, else
  * %FALSE.
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_actor_get_paint_box (ClutterActor    *self,
@@ -14922,7 +17247,7 @@ clutter_actor_get_paint_box (ClutterActor    *self,
  * Return value: %TRUE if the actor may have overlapping primitives, and
  *   %FALSE otherwise
  *
- *
+ * Since: 1.8
  */
 gboolean
 clutter_actor_has_overlaps (ClutterActor *self)
@@ -14941,7 +17266,7 @@ clutter_actor_has_overlaps (ClutterActor *self)
  * Return value: %TRUE if the actor has any effects,
  *   %FALSE otherwise
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_actor_has_effects (ClutterActor *self)
@@ -14963,7 +17288,7 @@ clutter_actor_has_effects (ClutterActor *self)
  * Return value: %TRUE if the actor has any constraints,
  *   %FALSE otherwise
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_actor_has_constraints (ClutterActor *self)
@@ -14982,7 +17307,7 @@ clutter_actor_has_constraints (ClutterActor *self)
  * Return value: %TRUE if the actor has any actions,
  *   %FALSE otherwise
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_actor_has_actions (ClutterActor *self)
@@ -15000,7 +17325,7 @@ clutter_actor_has_actions (ClutterActor *self)
  *
  * Return value: the number of children of an actor
  *
- *
+ * Since: 1.10
  */
 gint
 clutter_actor_get_n_children (ClutterActor *self)
@@ -15020,7 +17345,7 @@ clutter_actor_get_n_children (ClutterActor *self)
  *
  * Return value: (transfer none): a pointer to a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_actor_get_child_at_index (ClutterActor *self,
@@ -15244,7 +17569,7 @@ on_layout_manager_changed (ClutterLayoutManager *manager,
  * will be released either when the layout manager is removed, or when
  * the actor is destroyed.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_layout_manager (ClutterActor         *self,
@@ -15292,7 +17617,7 @@ clutter_actor_set_layout_manager (ClutterActor         *self,
  * Return value: (transfer none): a pointer to the #ClutterLayoutManager,
  *   or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterLayoutManager *
 clutter_actor_get_layout_manager (ClutterActor *self)
@@ -15406,7 +17731,7 @@ _clutter_actor_get_layout_info_or_defaults (ClutterActor *self)
  *
  * See also the #ClutterActor:x-align property.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_x_align (ClutterActor      *self,
@@ -15437,7 +17762,7 @@ clutter_actor_set_x_align (ClutterActor      *self,
  *
  * Return value: the horizontal alignment policy.
  *
- *
+ * Since: 1.10
  */
 ClutterActorAlign
 clutter_actor_get_x_align (ClutterActor *self)
@@ -15457,7 +17782,7 @@ clutter_actor_get_x_align (ClutterActor *self)
  *
  * See also the #ClutterActor:y-align property.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_y_align (ClutterActor      *self,
@@ -15488,7 +17813,7 @@ clutter_actor_set_y_align (ClutterActor      *self,
  *
  * Return value: the vertical alignment policy.
  *
- *
+ * Since: 1.10
  */
 ClutterActorAlign
 clutter_actor_get_y_align (ClutterActor *self)
@@ -15527,7 +17852,7 @@ clutter_actor_set_margin_internal (ClutterActor *self,
  *
  * Sets all the components of the margin of a #ClutterActor.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_margin (ClutterActor        *self,
@@ -15560,7 +17885,7 @@ clutter_actor_set_margin (ClutterActor        *self,
  *
  * Retrieves all the components of the margin of a #ClutterActor.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_get_margin (ClutterActor  *self,
@@ -15585,7 +17910,7 @@ clutter_actor_get_margin (ClutterActor  *self,
  *
  * The #ClutterActor:margin-top property is animatable.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_margin_top (ClutterActor *self,
@@ -15610,7 +17935,7 @@ clutter_actor_set_margin_top (ClutterActor *self,
  *
  * Return value: the top margin
  *
- *
+ * Since: 1.10
  */
 gfloat
 clutter_actor_get_margin_top (ClutterActor *self)
@@ -15629,7 +17954,7 @@ clutter_actor_get_margin_top (ClutterActor *self)
  *
  * The #ClutterActor:margin-bottom property is animatable.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_margin_bottom (ClutterActor *self,
@@ -15654,7 +17979,7 @@ clutter_actor_set_margin_bottom (ClutterActor *self,
  *
  * Return value: the bottom margin
  *
- *
+ * Since: 1.10
  */
 gfloat
 clutter_actor_get_margin_bottom (ClutterActor *self)
@@ -15673,7 +17998,7 @@ clutter_actor_get_margin_bottom (ClutterActor *self)
  *
  * The #ClutterActor:margin-left property is animatable.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_margin_left (ClutterActor *self,
@@ -15698,7 +18023,7 @@ clutter_actor_set_margin_left (ClutterActor *self,
  *
  * Return value: the left margin
  *
- *
+ * Since: 1.10
  */
 gfloat
 clutter_actor_get_margin_left (ClutterActor *self)
@@ -15717,7 +18042,7 @@ clutter_actor_get_margin_left (ClutterActor *self)
  *
  * The #ClutterActor:margin-right property is animatable.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_margin_right (ClutterActor *self,
@@ -15742,7 +18067,7 @@ clutter_actor_set_margin_right (ClutterActor *self,
  *
  * Return value: the right margin
  *
- *
+ * Since: 1.10
  */
 gfloat
 clutter_actor_get_margin_right (ClutterActor *self)
@@ -15789,7 +18114,7 @@ clutter_actor_set_background_color_internal (ClutterActor *self,
  *
  * The #ClutterActor:background-color property is animatable.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_background_color (ClutterActor       *self,
@@ -15825,7 +18150,7 @@ clutter_actor_set_background_color (ClutterActor       *self,
  *
  * Retrieves the color set using clutter_actor_set_background_color().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_get_background_color (ClutterActor *self,
@@ -15850,7 +18175,7 @@ clutter_actor_get_background_color (ClutterActor *self,
  *
  * Return value: (transfer none): a pointer to a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_actor_get_previous_sibling (ClutterActor *self)
@@ -15873,7 +18198,7 @@ clutter_actor_get_previous_sibling (ClutterActor *self)
  *
  * Return value: (transfer none): a pointer to a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_actor_get_next_sibling (ClutterActor *self)
@@ -15895,7 +18220,7 @@ clutter_actor_get_next_sibling (ClutterActor *self)
  *
  * Return value: (transfer none): a pointer to a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_actor_get_first_child (ClutterActor *self)
@@ -15917,7 +18242,7 @@ clutter_actor_get_first_child (ClutterActor *self)
  *
  * Return value: (transfer none): a pointer to a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_actor_get_last_child (ClutterActor *self)
@@ -15962,7 +18287,7 @@ typedef struct _RealActorIter
  *     }
  * ]|
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_iter_init (ClutterActorIter *iter,
@@ -15990,7 +18315,7 @@ clutter_actor_iter_init (ClutterActorIter *iter,
  *
  * Return value: %TRUE if the iterator is valid, and %FALSE otherwise
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_actor_iter_is_valid (const ClutterActorIter *iter)
@@ -16021,7 +18346,7 @@ clutter_actor_iter_is_valid (const ClutterActorIter *iter)
  *
  * Return value: %TRUE if the iterator could advance, and %FALSE otherwise.
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_actor_iter_next (ClutterActorIter  *iter,
@@ -16062,7 +18387,7 @@ clutter_actor_iter_next (ClutterActorIter  *iter,
  *
  * Return value: %TRUE if the iterator could advance, and %FALSE otherwise.
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_actor_iter_prev (ClutterActorIter  *iter,
@@ -16100,7 +18425,7 @@ clutter_actor_iter_prev (ClutterActorIter  *iter,
  *
  * This function will call clutter_actor_remove_child() internally.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_iter_remove (ClutterActorIter *iter)
@@ -16141,7 +18466,7 @@ clutter_actor_iter_remove (ClutterActorIter *iter)
  *
  * This function will call clutter_actor_destroy() internally.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_iter_destroy (ClutterActorIter *iter)
@@ -16591,7 +18916,7 @@ out:
  * This function is usually called implicitly when modifying an animatable
  * property.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_add_transition (ClutterActor      *self,
@@ -16618,7 +18943,7 @@ clutter_actor_add_transition (ClutterActor      *self,
  * This function releases the reference acquired when the transition
  * was added to the #ClutterActor.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_remove_transition (ClutterActor *self,
@@ -16678,7 +19003,7 @@ clutter_actor_remove_transition (ClutterActor *self,
  *
  * Removes all transitions associated to @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_remove_all_transitions (ClutterActor *self)
@@ -16702,7 +19027,7 @@ clutter_actor_remove_all_transitions (ClutterActor *self)
  * Sets the duration of the tweening for animatable properties
  * of @self for the current easing state.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_easing_duration (ClutterActor *self,
@@ -16734,7 +19059,7 @@ clutter_actor_set_easing_duration (ClutterActor *self,
  *
  * Return value: the duration of the tweening, in milliseconds
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_actor_get_easing_duration (ClutterActor *self)
@@ -16759,7 +19084,7 @@ clutter_actor_get_easing_duration (ClutterActor *self)
  * Sets the easing mode for the tweening of animatable properties
  * of @self.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_easing_mode (ClutterActor         *self,
@@ -16793,7 +19118,7 @@ clutter_actor_set_easing_mode (ClutterActor         *self,
  *
  * Return value: an easing mode
  *
- *
+ * Since: 1.10
  */
 ClutterAnimationMode
 clutter_actor_get_easing_mode (ClutterActor *self)
@@ -16818,7 +19143,7 @@ clutter_actor_get_easing_mode (ClutterActor *self)
  * Sets the delay that should be applied before tweening animatable
  * properties.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_easing_delay (ClutterActor *self,
@@ -16850,7 +19175,7 @@ clutter_actor_set_easing_delay (ClutterActor *self,
  *
  * Return value: a delay, in milliseconds
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_actor_get_easing_delay (ClutterActor *self)
@@ -16899,7 +19224,7 @@ clutter_actor_get_easing_delay (ClutterActor *self)
  *   was found to match the passed name; the returned instance is owned
  *   by Clutter and it should not be freed
  *
- *
+ * Since: 1.10
  */
 ClutterTransition *
 clutter_actor_get_transition (ClutterActor *self,
@@ -16932,6 +19257,8 @@ clutter_actor_get_transition (ClutterActor *self,
  * New transitions created after calling this function will inherit the
  * duration, easing mode, and delay of the new easing state; this also
  * applies to transitions modified in flight.
+ *
+ * Since: 1.10
  */
 void
 clutter_actor_save_easing_state (ClutterActor *self)
@@ -16962,7 +19289,7 @@ clutter_actor_save_easing_state (ClutterActor *self)
  * Restores the easing state as it was prior to a call to
  * clutter_actor_save_easing_state().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_restore_easing_state (ClutterActor *self)
@@ -17000,7 +19327,7 @@ clutter_actor_restore_easing_state (ClutterActor *self)
  *
  * Sets the contents of a #ClutterActor.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_content (ClutterActor   *self,
@@ -17053,7 +19380,7 @@ clutter_actor_set_content (ClutterActor   *self,
  * Return value: (transfer none): a pointer to the #ClutterContent instance,
  *   or %NULL if none was set
  *
- *
+ * Since: 1.10
  */
 ClutterContent *
 clutter_actor_get_content (ClutterActor *self)
@@ -17075,7 +19402,7 @@ clutter_actor_get_content (ClutterActor *self)
  *
  * The #ClutterActor:content-gravity property is animatable.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_content_gravity (ClutterActor *self,
@@ -17115,7 +19442,7 @@ clutter_actor_set_content_gravity (ClutterActor *self,
  *
  * Return value: the content gravity
  *
- *
+ * Since: 1.10
  */
 ClutterContentGravity
 clutter_actor_get_content_gravity (ClutterActor *self)
@@ -17146,7 +19473,7 @@ clutter_actor_get_content_gravity (ClutterActor *self)
  * it is possible to modify the content box by using the
  * #ClutterActor:content-gravity property.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_get_content_box (ClutterActor    *self,
@@ -17336,7 +19663,7 @@ clutter_actor_get_content_box (ClutterActor    *self,
  * the size of the content; the #ClutterActor:magnification-filter
  * will be used when increasing the size of the content.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_set_content_scaling_filters (ClutterActor         *self,
@@ -17388,7 +19715,7 @@ clutter_actor_set_content_scaling_filters (ClutterActor         *self,
  *
  * Retrieves the values set using clutter_actor_set_content_scaling_filters().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_actor_get_content_scaling_filters (ClutterActor         *self,
@@ -17452,7 +19779,7 @@ clutter_actor_queue_compute_expand (ClutterActor *self)
  * that it's possible to build an actor tree and only set this flag on
  * its leaves and not on every single actor.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_x_expand (ClutterActor *self,
@@ -17488,7 +19815,7 @@ clutter_actor_set_x_expand (ClutterActor *self,
  *
  * Return value: %TRUE if the actor has been set to expand
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_actor_get_x_expand (ClutterActor *self)
@@ -17511,7 +19838,7 @@ clutter_actor_get_x_expand (ClutterActor *self)
  * that it's possible to build an actor tree and only set this flag on
  * its leaves and not on every single actor.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_y_expand (ClutterActor *self,
@@ -17547,7 +19874,7 @@ clutter_actor_set_y_expand (ClutterActor *self,
  *
  * Return value: %TRUE if the actor has been set to expand
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_actor_get_y_expand (ClutterActor *self)
@@ -17647,7 +19974,7 @@ clutter_actor_compute_expand (ClutterActor *self)
  *
  * Return value: %TRUE if the actor should expand
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_actor_needs_expand (ClutterActor       *self,
@@ -17684,7 +20011,7 @@ clutter_actor_needs_expand (ClutterActor       *self,
  * #ClutterActor. The behaviour is deferred to the #ClutterContent
  * implementation.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_set_content_repeat (ClutterActor         *self,
@@ -17709,7 +20036,7 @@ clutter_actor_set_content_repeat (ClutterActor         *self,
  *
  * Return value: the content repeat policy
  *
- *
+ * Since: 1.12
  */
 ClutterContentRepeat
 clutter_actor_get_content_repeat (ClutterActor *self)
@@ -17812,6 +20139,8 @@ clutter_actor_set_child_transform_internal (ClutterActor        *self,
  * If @transform is %NULL, the child transform will be unset.
  *
  * The #ClutterActor:child-transform property is animatable.
+ *
+ * Since: 1.12
  */
 void
 clutter_actor_set_child_transform (ClutterActor        *self,
@@ -17843,7 +20172,7 @@ clutter_actor_set_child_transform (ClutterActor        *self,
  * clutter_actor_set_child_transform(); if none is currently set,
  * the @transform matrix will be initialized to the identity matrix.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_actor_get_child_transform (ClutterActor  *self,
@@ -17957,25 +20286,13 @@ _clutter_actor_queue_relayout_on_clones (ClutterActor *self)
     clutter_actor_queue_relayout (key);
 }
 
-/**
- * clutter_actor_has_mapped_clones:
- * @self: a #ClutterActor
- *
- * Returns whether the actor has any mapped clones.
- *
- * Since: 1.16
- */
-gboolean
+static inline gboolean
 clutter_actor_has_mapped_clones (ClutterActor *self)
 {
-  ClutterActorPrivate *priv;
+  ClutterActorPrivate *priv = self->priv;
   GHashTableIter iter;
   gpointer key;
 
-  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), FALSE);
-
-  priv = self->priv;
-
   if (priv->clones == NULL)
     return FALSE;
 
diff --git a/clutter/clutter-actor.h b/clutter/clutter-actor.h
index 9bebb23..50e9e04 100644
--- a/clutter/clutter-actor.h
+++ b/clutter/clutter-actor.h
@@ -269,7 +269,7 @@ struct _ClutterActorClass
 
   /*< private >*/
   /* padding for future expansion */
-  gpointer _padding_dummy[32];
+  gpointer _padding_dummy[26];
 };
 
 /**
@@ -281,7 +281,7 @@ struct _ClutterActorClass
  * The contents of the <structname>ClutterActorIter</structname> structure
  * are private and should only be accessed using the provided API.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterActorIter
 {
@@ -311,7 +311,7 @@ void                            clutter_actor_unmap
 void                            clutter_actor_paint                             (ClutterActor                
*self);
 void                            clutter_actor_continue_paint                    (ClutterActor                
*self);
 void                            clutter_actor_queue_redraw                      (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_queue_redraw_with_clip            (ClutterActor                
*self,
                                                                                  const cairo_rectangle_int_t 
*clip);
 void                            clutter_actor_queue_relayout                    (ClutterActor                
*self);
@@ -397,63 +397,63 @@ void                            clutter_actor_set_x
                                                                                  gfloat                      
 x);
 void                            clutter_actor_set_y                             (ClutterActor                
*self,
                                                                                  gfloat                      
 y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_z_position                    (ClutterActor                
*self,
                                                                                  gfloat                      
 z_position);
-
+CLUTTER_AVAILABLE_IN_1_12
 gfloat                          clutter_actor_get_z_position                    (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_layout_manager                (ClutterActor                
*self,
                                                                                  ClutterLayoutManager        
*manager);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterLayoutManager *          clutter_actor_get_layout_manager                (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_x_align                       (ClutterActor                
*self,
                                                                                  ClutterActorAlign           
 x_align);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActorAlign               clutter_actor_get_x_align                       (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_y_align                       (ClutterActor                
*self,
                                                                                  ClutterActorAlign           
 y_align);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActorAlign               clutter_actor_get_y_align                       (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_margin_top                    (ClutterActor                
*self,
                                                                                  gfloat                      
 margin);
-
+CLUTTER_AVAILABLE_IN_1_10
 gfloat                          clutter_actor_get_margin_top                    (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_margin_bottom                 (ClutterActor                
*self,
                                                                                  gfloat                      
 margin);
-
+CLUTTER_AVAILABLE_IN_1_10
 gfloat                          clutter_actor_get_margin_bottom                 (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_margin_left                   (ClutterActor                
*self,
                                                                                  gfloat                      
 margin);
-
+CLUTTER_AVAILABLE_IN_1_10
 gfloat                          clutter_actor_get_margin_left                   (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_margin_right                  (ClutterActor                
*self,
                                                                                  gfloat                      
 margin);
-
+CLUTTER_AVAILABLE_IN_1_10
 gfloat                          clutter_actor_get_margin_right                  (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_margin                        (ClutterActor                
*self,
                                                                                  const ClutterMargin         
*margin);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_get_margin                        (ClutterActor                
*self,
                                                                                  ClutterMargin               
*margin);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_x_expand                      (ClutterActor                
*self,
                                                                                  gboolean                    
 expand);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                        clutter_actor_get_x_expand                      (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_y_expand                      (ClutterActor                
*self,
                                                                                  gboolean                    
 expand);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                        clutter_actor_get_y_expand                      (ClutterActor                
*self);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                        clutter_actor_needs_expand                      (ClutterActor                
*self,
                                                                                  ClutterOrientation          
 orientation);
 
@@ -488,42 +488,42 @@ gboolean                        clutter_actor_get_paint_box
 gboolean                        clutter_actor_has_overlaps                      (ClutterActor               
*self);
 
 /* Content */
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_content                       (ClutterActor               
*self,
                                                                                  ClutterContent             
*content);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterContent *                clutter_actor_get_content                       (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_content_gravity               (ClutterActor               
*self,
                                                                                  ClutterContentGravity       
gravity);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterContentGravity           clutter_actor_get_content_gravity               (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_content_scaling_filters       (ClutterActor               
*self,
                                                                                  ClutterScalingFilter        
min_filter,
                                                                                  ClutterScalingFilter        
mag_filter);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_get_content_scaling_filters       (ClutterActor               
*self,
                                                                                  ClutterScalingFilter       
*min_filter,
                                                                                  ClutterScalingFilter       
*mag_filter);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_content_repeat                (ClutterActor               
*self,
                                                                                  ClutterContentRepeat        
repeat);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterContentRepeat            clutter_actor_get_content_repeat                (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_get_content_box                   (ClutterActor               
*self,
                                                                                  ClutterActorBox            
*box);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_background_color              (ClutterActor               
*self,
                                                                                  const ClutterColor         
*color);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_get_background_color              (ClutterActor               
*self,
                                                                                  ClutterColor               
*color);
 const ClutterPaintVolume *      clutter_actor_get_paint_volume                  (ClutterActor               
*self);
 const ClutterPaintVolume *      clutter_actor_get_transformed_paint_volume      (ClutterActor               
*self,
                                                                                  ClutterActor               
*relative_to_ancestor);
-
+CLUTTER_AVAILABLE_IN_1_10
 const ClutterPaintVolume *      clutter_actor_get_default_paint_volume          (ClutterActor               
*self);
 
 /* Events */
@@ -547,100 +547,100 @@ void                            clutter_actor_set_text_direction
 ClutterTextDirection            clutter_actor_get_text_direction                (ClutterActor               
*self);
 
 /* Actor hierarchy */
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_add_child                         (ClutterActor               
*self,
                                                                                  ClutterActor               
*child);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_insert_child_at_index             (ClutterActor               
*self,
                                                                                  ClutterActor               
*child,
                                                                                  gint                        
index_);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_insert_child_above                (ClutterActor               
*self,
                                                                                  ClutterActor               
*child,
                                                                                  ClutterActor               
*sibling);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_insert_child_below                (ClutterActor               
*self,
                                                                                  ClutterActor               
*child,
                                                                                  ClutterActor               
*sibling);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_replace_child                     (ClutterActor               
*self,
                                                                                  ClutterActor               
*old_child,
                                                                                  ClutterActor               
*new_child);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_remove_child                      (ClutterActor               
*self,
                                                                                  ClutterActor               
*child);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_remove_all_children               (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_destroy_all_children              (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 GList *                         clutter_actor_get_children                      (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 gint                            clutter_actor_get_n_children                    (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *                  clutter_actor_get_child_at_index                (ClutterActor               
*self,
                                                                                  gint                        
index_);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *                  clutter_actor_get_previous_sibling              (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *                  clutter_actor_get_next_sibling                  (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *                  clutter_actor_get_first_child                   (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *                  clutter_actor_get_last_child                    (ClutterActor               
*self);
 ClutterActor *                  clutter_actor_get_parent                        (ClutterActor               
*self);
 gboolean                        clutter_actor_contains                          (ClutterActor               
*self,
                                                                                  ClutterActor               
*descendant);
 ClutterActor*                   clutter_actor_get_stage                         (ClutterActor               
*actor);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_child_below_sibling           (ClutterActor               
*self,
                                                                                  ClutterActor               
*child,
                                                                                  ClutterActor               
*sibling);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_child_above_sibling           (ClutterActor               
*self,
                                                                                  ClutterActor               
*child,
                                                                                  ClutterActor               
*sibling);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_child_at_index                (ClutterActor               
*self,
                                                                                  ClutterActor               
*child,
                                                                                  gint                        
index_);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_iter_init                         (ClutterActorIter           
*iter,
                                                                                  ClutterActor               
*root);
-
+CLUTTER_AVAILABLE_IN_1_10
 gboolean                        clutter_actor_iter_next                         (ClutterActorIter           
*iter,
                                                                                  ClutterActor              
**child);
-
+CLUTTER_AVAILABLE_IN_1_10
 gboolean                        clutter_actor_iter_prev                         (ClutterActorIter           
*iter,
                                                                                  ClutterActor              
**child);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_iter_remove                       (ClutterActorIter           
*iter);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_iter_destroy                      (ClutterActorIter           
*iter);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                        clutter_actor_iter_is_valid                     (const ClutterActorIter     
*iter);
 
 /* Transformations */
 gboolean                        clutter_actor_is_rotated                        (ClutterActor               
*self);
 gboolean                        clutter_actor_is_scaled                         (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_pivot_point                   (ClutterActor               
*self,
                                                                                  gfloat                      
pivot_x,
                                                                                  gfloat                      
pivot_y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_get_pivot_point                   (ClutterActor               
*self,
                                                                                  gfloat                     
*pivot_x,
                                                                                  gfloat                     
*pivot_y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_pivot_point_z                 (ClutterActor               
*self,
                                                                                  gfloat                      
pivot_z);
-
+CLUTTER_AVAILABLE_IN_1_12
 gfloat                          clutter_actor_get_pivot_point_z                 (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_rotation_angle                (ClutterActor               
*self,
                                                                                  ClutterRotateAxis           
axis,
                                                                                  gdouble                     
angle);
-
+CLUTTER_AVAILABLE_IN_1_12
 gdouble                         clutter_actor_get_rotation_angle                (ClutterActor               
*self,
                                                                                  ClutterRotateAxis           
axis);
 void                            clutter_actor_set_scale                         (ClutterActor               
*self,
@@ -649,31 +649,31 @@ void                            clutter_actor_set_scale
 void                            clutter_actor_get_scale                         (ClutterActor               
*self,
                                                                                  gdouble                    
*scale_x,
                                                                                  gdouble                    
*scale_y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_scale_z                       (ClutterActor               
*self,
                                                                                  gdouble                     
scale_z);
-
+CLUTTER_AVAILABLE_IN_1_12
 gdouble                         clutter_actor_get_scale_z                       (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_translation                   (ClutterActor               
*self,
                                                                                  gfloat                      
translate_x,
                                                                                  gfloat                      
translate_y,
                                                                                  gfloat                      
translate_z);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_get_translation                   (ClutterActor               
*self,
                                                                                  gfloat                     
*translate_x,
                                                                                  gfloat                     
*translate_y,
                                                                                  gfloat                     
*translate_z);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_transform                     (ClutterActor               
*self,
                                                                                  const ClutterMatrix        
*transform);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_get_transform                     (ClutterActor               
*self,
                                                                                  ClutterMatrix              
*transform);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_set_child_transform               (ClutterActor               
*self,
                                                                                  const ClutterMatrix        
*transform);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_actor_get_child_transform               (ClutterActor               
*self,
                                                                                  ClutterMatrix              
*transform);
 void                            clutter_actor_get_transformed_position          (ClutterActor               
*self,
@@ -698,45 +698,38 @@ void                            clutter_actor_apply_relative_transform_to_point
                                                                                  ClutterVertex              
*vertex);
 
 /* Implicit animations */
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_save_easing_state                 (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_restore_easing_state              (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_easing_mode                   (ClutterActor               
*self,
                                                                                  ClutterAnimationMode        
mode);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterAnimationMode            clutter_actor_get_easing_mode                   (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_easing_duration               (ClutterActor               
*self,
                                                                                  guint                       
msecs);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint                           clutter_actor_get_easing_duration               (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_set_easing_delay                  (ClutterActor               
*self,
                                                                                  guint                       
msecs);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint                           clutter_actor_get_easing_delay                  (ClutterActor               
*self);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterTransition *             clutter_actor_get_transition                    (ClutterActor               
*self,
                                                                                  const char                 
*name);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_add_transition                    (ClutterActor               
*self,
                                                                                  const char                 
*name,
                                                                                  ClutterTransition          
*transition);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_remove_transition                 (ClutterActor               
*self,
                                                                                  const char                 
*name);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_actor_remove_all_transitions            (ClutterActor               
*self);
 
-
-/* Experimental API */
-#ifdef CLUTTER_ENABLE_EXPERIMENTAL_API
-CLUTTER_AVAILABLE_IN_1_16
-gboolean                        clutter_actor_has_mapped_clones                 (ClutterActor *self);
-#endif
-
 G_END_DECLS
 
 #endif /* __CLUTTER_ACTOR_H__ */
diff --git a/clutter/clutter-align-constraint.c b/clutter/clutter-align-constraint.c
index 2e6540d..8c84f35 100644
--- a/clutter/clutter-align-constraint.c
+++ b/clutter/clutter-align-constraint.c
@@ -272,7 +272,7 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
    * The #ClutterActor must not be a child or a grandchild of the actor
    * using the constraint.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_SOURCE] =
     g_param_spec_object ("source",
@@ -286,7 +286,7 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
    *
    * The axis to be used to compute the alignment
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_ALIGN_AXIS] =
     g_param_spec_enum ("align-axis",
@@ -306,7 +306,7 @@ clutter_align_constraint_class_init (ClutterAlignConstraintClass *klass)
    * 1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top
    * and 1.0 means bottom.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FACTOR] =
     g_param_spec_float ("factor",
@@ -344,7 +344,7 @@ clutter_align_constraint_init (ClutterAlignConstraint *self)
  *
  * Return value: the newly created #ClutterAlignConstraint
  *
- *
+ * Since: 1.4
  */
 ClutterConstraint *
 clutter_align_constraint_new (ClutterActor     *source,
@@ -367,7 +367,7 @@ clutter_align_constraint_new (ClutterActor     *source,
  *
  * Sets the source of the alignment constraint
  *
- *
+ * Since: 1.4
  */
 void
 clutter_align_constraint_set_source (ClutterAlignConstraint *align,
@@ -435,7 +435,7 @@ clutter_align_constraint_set_source (ClutterAlignConstraint *align,
  * Return value: (transfer none): the #ClutterActor used as the source
  *   of the alignment
  *
- *
+ * Since: 1.4
  */
 ClutterActor *
 clutter_align_constraint_get_source (ClutterAlignConstraint *align)
@@ -452,7 +452,7 @@ clutter_align_constraint_get_source (ClutterAlignConstraint *align)
  *
  * Sets the axis to which the alignment refers to
  *
- *
+ * Since: 1.4
  */
 void
 clutter_align_constraint_set_align_axis (ClutterAlignConstraint *align,
@@ -479,7 +479,7 @@ clutter_align_constraint_set_align_axis (ClutterAlignConstraint *align,
  *
  * Return value: the alignment axis
  *
- *
+ * Since: 1.4
  */
 ClutterAlignAxis
 clutter_align_constraint_get_align_axis (ClutterAlignConstraint *align)
@@ -507,7 +507,7 @@ clutter_align_constraint_get_align_axis (ClutterAlignConstraint *align)
  * %CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
  * cases
  *
- *
+ * Since: 1.4
  */
 void
 clutter_align_constraint_set_factor (ClutterAlignConstraint *align,
@@ -531,7 +531,7 @@ clutter_align_constraint_set_factor (ClutterAlignConstraint *align,
  *
  * Return value: the alignment factor
  *
- *
+ * Since: 1.4
  */
 gfloat
 clutter_align_constraint_get_factor (ClutterAlignConstraint *align)
diff --git a/clutter/clutter-align-constraint.h b/clutter/clutter-align-constraint.h
index 0995ff9..6ff855e 100644
--- a/clutter/clutter-align-constraint.h
+++ b/clutter/clutter-align-constraint.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * <structname>ClutterAlignConstraint</structname> is an opaque structure
  * whose members cannot be directly accesses
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterAlignConstraint          ClutterAlignConstraint;
 typedef struct _ClutterAlignConstraintClass     ClutterAlignConstraintClass;
diff --git a/clutter/clutter-animatable.c b/clutter/clutter-animatable.c
index 928c67d..85a835d 100644
--- a/clutter/clutter-animatable.c
+++ b/clutter/clutter-animatable.c
@@ -49,11 +49,16 @@
 #include "config.h"
 #endif
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
 #include "clutter-animatable.h"
 #include "clutter-interval.h"
 #include "clutter-debug.h"
 #include "clutter-private.h"
 
+#include "deprecated/clutter-animatable.h"
+#include "deprecated/clutter-animation.h"
+
 typedef ClutterAnimatableIface  ClutterAnimatableInterface;
 G_DEFINE_INTERFACE (ClutterAnimatable, clutter_animatable, G_TYPE_OBJECT);
 
@@ -63,6 +68,80 @@ clutter_animatable_default_init (ClutterAnimatableInterface *iface)
 }
 
 /**
+ * clutter_animatable_animate_property:
+ * @animatable: a #ClutterAnimatable
+ * @animation: a #ClutterAnimation
+ * @property_name: the name of the animated property
+ * @initial_value: the initial value of the animation interval
+ * @final_value: the final value of the animation interval
+ * @progress: the progress factor
+ * @value: return location for the animation value
+ *
+ * Calls the animate_property() virtual function for @animatable.
+ *
+ * The @initial_value and @final_value #GValue<!-- -->s must contain
+ * the same type; @value must have been initialized to the same
+ * type of @initial_value and @final_value.
+ *
+ * All implementation of the #ClutterAnimatable interface must
+ * implement this function.
+ *
+ * Return value: %TRUE if the value has been validated and can
+ *   be applied to the #ClutterAnimatable, and %FALSE otherwise
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use clutter_animatable_interpolate_value()
+ *   instead
+ */
+gboolean
+clutter_animatable_animate_property (ClutterAnimatable *animatable,
+                                     ClutterAnimation  *animation,
+                                     const gchar       *property_name,
+                                     const GValue      *initial_value,
+                                     const GValue      *final_value,
+                                     gdouble            progress,
+                                     GValue            *value)
+{
+  ClutterAnimatableIface *iface;
+  gboolean res;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATABLE (animatable), FALSE);
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), FALSE);
+  g_return_val_if_fail (property_name != NULL, FALSE);
+  g_return_val_if_fail (initial_value != NULL && final_value != NULL, FALSE);
+  g_return_val_if_fail (G_VALUE_TYPE (initial_value) != G_TYPE_INVALID, FALSE);
+  g_return_val_if_fail (G_VALUE_TYPE (final_value) != G_TYPE_INVALID, FALSE);
+  g_return_val_if_fail (value != NULL, FALSE);
+  g_return_val_if_fail (G_VALUE_TYPE (value) == G_VALUE_TYPE (initial_value) &&
+                        G_VALUE_TYPE (value) == G_VALUE_TYPE (final_value),
+                        FALSE);
+
+  iface = CLUTTER_ANIMATABLE_GET_IFACE (animatable);
+  if (iface->animate_property == NULL)
+    {
+      ClutterInterval *interval;
+
+      interval = clutter_animation_get_interval (animation, property_name);
+      if (interval == NULL)
+        return FALSE;
+
+      res = clutter_animatable_interpolate_value (animatable, property_name,
+                                                  interval,
+                                                  progress,
+                                                  value);
+    }
+  else
+    res = iface->animate_property (animatable, animation,
+                                   property_name,
+                                   initial_value, final_value,
+                                   progress,
+                                   value);
+
+  return res;
+}
+
+/**
  * clutter_animatable_find_property:
  * @animatable: a #ClutterAnimatable
  * @property_name: the name of the animatable property to find
@@ -72,7 +151,7 @@ clutter_animatable_default_init (ClutterAnimatableInterface *iface)
  * Return value: (transfer none): The #GParamSpec for the given property
  *   or %NULL
  *
- *
+ * Since: 1.4
  */
 GParamSpec *
 clutter_animatable_find_property (ClutterAnimatable *animatable,
@@ -101,7 +180,7 @@ clutter_animatable_find_property (ClutterAnimatable *animatable,
  *
  * Retrieves the current state of @property_name and sets @value with it
  *
- *
+ * Since: 1.4
  */
 void
 clutter_animatable_get_initial_state (ClutterAnimatable *animatable,
@@ -130,7 +209,7 @@ clutter_animatable_get_initial_state (ClutterAnimatable *animatable,
  *
  * Sets the current state of @property_name to @value
  *
- *
+ * Since: 1.4
  */
 void
 clutter_animatable_set_final_state (ClutterAnimatable *animatable,
@@ -169,10 +248,12 @@ clutter_animatable_set_final_state (ClutterAnimatable *animatable,
  * This function should be used for every property animation
  * involving #ClutterAnimatable<!-- -->s.
  *
+ * This function replaces clutter_animatable_animate_property().
+ *
  * Return value: %TRUE if the interpolation was successful,
  *   and %FALSE otherwise
  *
- *
+ * Since: 1.8
  */
 gboolean
 clutter_animatable_interpolate_value (ClutterAnimatable *animatable,
diff --git a/clutter/clutter-animatable.h b/clutter/clutter-animatable.h
index 84c83fd..78a796f 100644
--- a/clutter/clutter-animatable.h
+++ b/clutter/clutter-animatable.h
@@ -46,11 +46,13 @@ typedef struct _ClutterAnimatableIface          ClutterAnimatableIface;
  * #ClutterAnimatable is an opaque structure whose members cannot be directly
  * accessed
  *
- *
+ * Since: 1.0
  */
 
 /**
  * ClutterAnimatableIface:
+ * @animate_property: virtual function for custom interpolation of a
+ *   property. This virtual function is deprecated
  * @find_property: virtual function for retrieving the #GParamSpec of
  *   an animatable property
  * @get_initial_state: virtual function for retrieving the initial
@@ -63,7 +65,7 @@ typedef struct _ClutterAnimatableIface          ClutterAnimatableIface;
  * Base interface for #GObject<!-- -->s that can be animated by a
  * a #ClutterAnimation.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterAnimatableIface
 {
@@ -71,6 +73,13 @@ struct _ClutterAnimatableIface
   GTypeInterface parent_iface;
 
   /*< public >*/
+  gboolean    (* animate_property)  (ClutterAnimatable *animatable,
+                                     ClutterAnimation  *animation,
+                                     const gchar       *property_name,
+                                     const GValue      *initial_value,
+                                     const GValue      *final_value,
+                                     gdouble            progress,
+                                     GValue            *value);
   GParamSpec *(* find_property)     (ClutterAnimatable *animatable,
                                      const gchar       *property_name);
   void        (* get_initial_state) (ClutterAnimatable *animatable,
diff --git a/clutter/clutter-backend.c b/clutter/clutter-backend.c
index 1d0c84b..c174ae8 100644
--- a/clutter/clutter-backend.c
+++ b/clutter/clutter-backend.c
@@ -55,6 +55,9 @@
 #include "clutter-stage-window.h"
 #include "clutter-version.h"
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-backend.h"
+
 #ifdef HAVE_CLUTTER_WAYLAND_COMPOSITOR
 #include "wayland/clutter-wayland-compositor.h"
 #endif /* HAVE_CLUTTER_WAYLAND_COMPOSITOR */
@@ -101,6 +104,8 @@ struct _ClutterBackendPrivate
 {
   cairo_font_options_t *font_options;
 
+  gchar *font_name;
+
   gfloat units_per_em;
   gint32 units_serial;
 
@@ -150,6 +155,7 @@ clutter_backend_finalize (GObject *gobject)
 
   g_source_destroy (backend->cogl_source);
 
+  g_free (backend->priv->font_name);
   clutter_backend_set_font_options (backend, NULL);
 
   G_OBJECT_CLASS (clutter_backend_parent_class)->finalize (gobject);
@@ -596,7 +602,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
    * The ::resolution-changed signal is emitted each time the font
    * resolutions has been changed through #ClutterSettings.
    *
-   *
+   * Since: 1.0
    */
   backend_signals[RESOLUTION_CHANGED] =
     g_signal_new (I_("resolution-changed"),
@@ -614,7 +620,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
    * The ::font-changed signal is emitted each time the font options
    * have been changed through #ClutterSettings.
    *
-   *
+   * Since: 1.0
    */
   backend_signals[FONT_CHANGED] =
     g_signal_new (I_("font-changed"),
@@ -632,7 +638,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
    * The ::settings-changed signal is emitted each time the #ClutterSettings
    * properties have been changed.
    *
-   *
+   * Since: 1.4
    */
   backend_signals[SETTINGS_CHANGED] =
     g_signal_new (I_("settings-changed"),
@@ -927,7 +933,7 @@ _clutter_backend_free_event_data (ClutterBackend *backend,
  *   not ref or unref the returned object. Applications should rarely
  *   need to use this.
  *
- *
+ * Since: 0.4
  */
 ClutterBackend *
 clutter_get_default_backend (void)
@@ -940,6 +946,129 @@ clutter_get_default_backend (void)
 }
 
 /**
+ * clutter_backend_set_double_click_time:
+ * @backend: a #ClutterBackend
+ * @msec: milliseconds between two button press events
+ *
+ * Sets the maximum time between two button press events, used to
+ * verify whether it's a double click event or not.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:double-click-time instead
+ */
+void
+clutter_backend_set_double_click_time (ClutterBackend *backend,
+                                       guint           msec)
+{
+  ClutterSettings *settings = clutter_settings_get_default ();
+
+  g_object_set (settings, "double-click-time", msec, NULL);
+}
+
+/**
+ * clutter_backend_get_double_click_time:
+ * @backend: a #ClutterBackend
+ *
+ * Gets the maximum time between two button press events, as set
+ * by clutter_backend_set_double_click_time().
+ *
+ * Return value: a time in milliseconds
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:double-click-time instead
+ */
+guint
+clutter_backend_get_double_click_time (ClutterBackend *backend)
+{
+  ClutterSettings *settings = clutter_settings_get_default ();
+  gint retval;
+
+  g_object_get (settings, "double-click-time", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_backend_set_double_click_distance:
+ * @backend: a #ClutterBackend
+ * @distance: a distance, in pixels
+ *
+ * Sets the maximum distance used to verify a double click event.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:double-click-distance instead
+ */
+void
+clutter_backend_set_double_click_distance (ClutterBackend *backend,
+                                           guint           distance)
+{
+  ClutterSettings *settings = clutter_settings_get_default ();
+
+  g_object_set (settings, "double-click-distance", distance, NULL);
+}
+
+/**
+ * clutter_backend_get_double_click_distance:
+ * @backend: a #ClutterBackend
+ *
+ * Retrieves the distance used to verify a double click event
+ *
+ * Return value: a distance, in pixels.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:double-click-distance instead
+ */
+guint
+clutter_backend_get_double_click_distance (ClutterBackend *backend)
+{
+  ClutterSettings *settings = clutter_settings_get_default ();
+  gint retval;
+
+  g_object_get (settings, "double-click-distance", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_backend_set_resolution:
+ * @backend: a #ClutterBackend
+ * @dpi: the resolution in "dots per inch" (Physical inches aren't
+ *   actually involved; the terminology is conventional).
+ *
+ * Sets the resolution for font handling on the screen. This is a
+ * scale factor between points specified in a #PangoFontDescription
+ * and cairo units. The default value is 96, meaning that a 10 point
+ * font will be 13 units high. (10 * 96. / 72. = 13.3).
+ *
+ * Applications should never need to call this function.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:font-dpi instead
+ */
+void
+clutter_backend_set_resolution (ClutterBackend *backend,
+                                gdouble         dpi)
+{
+  ClutterSettings *settings;
+  gint resolution;
+
+  g_return_if_fail (CLUTTER_IS_BACKEND (backend));
+
+  if (dpi < 0)
+    resolution = -1;
+  else
+    resolution = dpi * 1024;
+
+  settings = clutter_settings_get_default ();
+  g_object_set (settings, "font-dpi", resolution, NULL);
+}
+
+/**
  * clutter_backend_get_resolution:
  * @backend: a #ClutterBackend
  *
@@ -957,7 +1086,7 @@ clutter_get_default_backend (void)
  * Return value: the current resolution, or -1 if no resolution
  *   has been set.
  *
- *
+ * Since: 0.4
  */
 gdouble
 clutter_backend_get_resolution (ClutterBackend *backend)
@@ -991,7 +1120,7 @@ clutter_backend_get_resolution (ClutterBackend *backend)
  * This function is intended for actors creating a Pango layout
  * using the PangoCairo API.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_backend_set_font_options (ClutterBackend             *backend,
@@ -1027,7 +1156,7 @@ clutter_backend_set_font_options (ClutterBackend             *backend,
  *   The returned #cairo_font_options_t is owned by the backend and should
  *   not be modified or freed
  *
- *
+ * Since: 0.8
  */
 const cairo_font_options_t *
 clutter_backend_get_font_options (ClutterBackend *backend)
@@ -1055,6 +1184,64 @@ clutter_backend_get_font_options (ClutterBackend *backend)
   return priv->font_options;
 }
 
+/**
+ * clutter_backend_set_font_name:
+ * @backend: a #ClutterBackend
+ * @font_name: the name of the font
+ *
+ * Sets the default font to be used by Clutter. The @font_name string
+ * must either be %NULL, which means that the font name from the
+ * default #ClutterBackend will be used; or be something that can
+ * be parsed by the pango_font_description_from_string() function.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:font-name instead
+ */
+void
+clutter_backend_set_font_name (ClutterBackend *backend,
+                               const gchar    *font_name)
+{
+  ClutterSettings *settings = clutter_settings_get_default ();
+
+  g_object_set (settings, "font-name", font_name, NULL);
+}
+
+/**
+ * clutter_backend_get_font_name:
+ * @backend: a #ClutterBackend
+ *
+ * Retrieves the default font name as set by
+ * clutter_backend_set_font_name().
+ *
+ * Return value: the font name for the backend. The returned string is
+ *   owned by the #ClutterBackend and should never be modified or freed
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.4: Use #ClutterSettings:font-name instead
+ */
+const gchar *
+clutter_backend_get_font_name (ClutterBackend *backend)
+{
+  ClutterBackendPrivate *priv;
+  ClutterSettings *settings;
+
+  g_return_val_if_fail (CLUTTER_IS_BACKEND (backend), NULL);
+
+  priv = backend->priv;
+
+  settings = clutter_settings_get_default ();
+
+  /* XXX yuck. but we return a const pointer, so we need to
+   * store it in the backend
+   */
+  g_free (priv->font_name);
+  g_object_get (settings, "font-name", &priv->font_name, NULL);
+
+  return priv->font_name;
+}
+
 gint32
 _clutter_backend_get_units_serial (ClutterBackend *backend)
 {
@@ -1114,7 +1301,7 @@ _clutter_backend_remove_event_translator (ClutterBackend         *backend,
  *
  * Return value: The #CoglContext associated with @backend.
  *
- *
+ * Since: 1.8
  * Stability: unstable
  */
 CoglContext *
@@ -1131,7 +1318,7 @@ clutter_backend_get_cogl_context (ClutterBackend *backend)
  * This informs Clutter of your compositor side Wayland display
  * object. This must be called before calling clutter_init().
  *
- *
+ * Since: 1.8
  * Stability: unstable
  */
 void
diff --git a/clutter/clutter-backend.h b/clutter/clutter-backend.h
index ec5e290..474c426 100644
--- a/clutter/clutter-backend.h
+++ b/clutter/clutter-backend.h
@@ -50,7 +50,7 @@ G_BEGIN_DECLS
  * <structname>ClutterBackend</structname> is an opaque structure whose
  * members cannot be directly accessed.
  *
- *
+ * Since: 0.4
  */
 typedef struct _ClutterBackend          ClutterBackend;
 typedef struct _ClutterBackendClass     ClutterBackendClass;
diff --git a/clutter/clutter-base-types.c b/clutter/clutter-base-types.c
index 3a6db11..53d57b2 100644
--- a/clutter/clutter-base-types.c
+++ b/clutter/clutter-base-types.c
@@ -44,6 +44,114 @@
 
 
 /*
+ * ClutterGeometry
+ */
+
+static ClutterGeometry*
+clutter_geometry_copy (const ClutterGeometry *geometry)
+{
+  return g_slice_dup (ClutterGeometry, geometry);
+}
+
+static void
+clutter_geometry_free (ClutterGeometry *geometry)
+{
+  if (G_LIKELY (geometry != NULL))
+    g_slice_free (ClutterGeometry, geometry);
+}
+
+/**
+ * clutter_geometry_union:
+ * @geometry_a: a #ClutterGeometry
+ * @geometry_b: another #ClutterGeometry
+ * @result: (out): location to store the result
+ *
+ * Find the union of two rectangles represented as #ClutterGeometry.
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.16: Use #ClutterRect and clutter_rect_union()
+ */
+void
+clutter_geometry_union (const ClutterGeometry *geometry_a,
+                        const ClutterGeometry *geometry_b,
+                        ClutterGeometry       *result)
+{
+  /* We don't try to handle rectangles that can't be represented
+   * as a signed integer box */
+  gint x_1 = MIN (geometry_a->x, geometry_b->x);
+  gint y_1 = MIN (geometry_a->y, geometry_b->y);
+  gint x_2 = MAX (geometry_a->x + (gint)geometry_a->width,
+                  geometry_b->x + (gint)geometry_b->width);
+  gint y_2 = MAX (geometry_a->y + (gint)geometry_a->height,
+                  geometry_b->y + (gint)geometry_b->height);
+  result->x = x_1;
+  result->y = y_1;
+  result->width = x_2 - x_1;
+  result->height = y_2 - y_1;
+}
+
+/**
+ * clutter_geometry_intersects:
+ * @geometry0: The first geometry to test
+ * @geometry1: The second geometry to test
+ *
+ * Determines if @geometry0 and geometry1 intersect returning %TRUE if
+ * they do else %FALSE.
+ *
+ * Return value: %TRUE of @geometry0 and geometry1 intersect else
+ * %FALSE.
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.16: Use #ClutterRect and clutter_rect_intersection()
+ */
+gboolean
+clutter_geometry_intersects (const ClutterGeometry *geometry0,
+                             const ClutterGeometry *geometry1)
+{
+  if (geometry1->x >= (geometry0->x + (gint)geometry0->width) ||
+      geometry1->y >= (geometry0->y + (gint)geometry0->height) ||
+      (geometry1->x + (gint)geometry1->width) <= geometry0->x ||
+      (geometry1->y + (gint)geometry1->height) <= geometry0->y)
+    return FALSE;
+  else
+    return TRUE;
+}
+
+static gboolean
+clutter_geometry_progress (const GValue *a,
+                           const GValue *b,
+                           gdouble       progress,
+                           GValue       *retval)
+{
+  const ClutterGeometry *a_geom = g_value_get_boxed (a);
+  const ClutterGeometry *b_geom = g_value_get_boxed (b);
+  ClutterGeometry res = { 0, };
+  gint a_width = a_geom->width;
+  gint b_width = b_geom->width;
+  gint a_height = a_geom->height;
+  gint b_height = b_geom->height;
+
+  res.x = a_geom->x + (b_geom->x - a_geom->x) * progress;
+  res.y = a_geom->y + (b_geom->y - a_geom->y) * progress;
+
+  res.width = a_width + (b_width - a_width) * progress;
+  res.height = a_height + (b_height - a_height) * progress;
+
+  g_value_set_boxed (retval, &res);
+
+  return TRUE;
+}
+
+G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterGeometry, clutter_geometry,
+                               clutter_geometry_copy,
+                               clutter_geometry_free,
+                               CLUTTER_REGISTER_INTERVAL_PROGRESS (clutter_geometry_progress));
+
+
+
+/*
  * ClutterVertices
  */
 
@@ -65,7 +173,7 @@
  * Return value: (transfer full): the newly allocated #ClutterVertex.
  *   Use clutter_vertex_free() to free the resources
  *
- *
+ * Since: 1.0
  */
 ClutterVertex *
 clutter_vertex_new (gfloat x,
@@ -83,7 +191,7 @@ clutter_vertex_new (gfloat x,
  * Return value: (transfer full): the newly allocated #ClutterVertex.
  *   Use clutter_vertex_free() to free its resources
  *
- *
+ * Since: 1.12
  */
 ClutterVertex *
 clutter_vertex_alloc (void)
@@ -102,7 +210,7 @@ clutter_vertex_alloc (void)
  *
  * Return value: (transfer none): the initialized #ClutterVertex
  *
- *
+ * Since: 1.10
  */
 ClutterVertex *
 clutter_vertex_init (ClutterVertex *vertex,
@@ -128,7 +236,7 @@ clutter_vertex_init (ClutterVertex *vertex,
  * Return value: (transfer full): a newly allocated copy of #ClutterVertex.
  *   Use clutter_vertex_free() to free the allocated resources
  *
- *
+ * Since: 1.0
  */
 ClutterVertex *
 clutter_vertex_copy (const ClutterVertex *vertex)
@@ -146,7 +254,7 @@ clutter_vertex_copy (const ClutterVertex *vertex)
  * Frees a #ClutterVertex allocated using clutter_vertex_alloc() or
  * clutter_vertex_copy().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_vertex_free (ClutterVertex *vertex)
@@ -164,7 +272,7 @@ clutter_vertex_free (ClutterVertex *vertex)
  *
  * Return value: %TRUE if the passed #ClutterVertex are equal
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_vertex_equal (const ClutterVertex *vertex_a,
@@ -228,7 +336,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterVertex, clutter_vertex,
  *   clutter_margin_free() to free the resources associated with it when
  *   done.
  *
- *
+ * Since: 1.10
  */
 ClutterMargin *
 clutter_margin_new (void)
@@ -245,7 +353,7 @@ clutter_margin_new (void)
  *
  * Return value: (transfer full): a copy of the #ClutterMargin.
  *
- *
+ * Since: 1.10
  */
 ClutterMargin *
 clutter_margin_copy (const ClutterMargin *margin_)
@@ -263,7 +371,7 @@ clutter_margin_copy (const ClutterMargin *margin_)
  * Frees the resources allocated by clutter_margin_new() and
  * clutter_margin_copy().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_margin_free (ClutterMargin *margin_)
@@ -294,7 +402,7 @@ static const ClutterPoint _clutter_point_zero = CLUTTER_POINT_INIT_ZERO;
  * Return value: a point centered in (0, 0); the returned #ClutterPoint
  *   is owned by Clutter and it should not be modified or freed.
  *
- *
+ * Since: 1.12
  */
 const ClutterPoint *
 clutter_point_zero (void)
@@ -310,7 +418,7 @@ clutter_point_zero (void)
  * Return value: (transfer full): the newly allocated #ClutterPoint.
  *   Use clutter_point_free() to free its resources.
  *
- *
+ * Since: 1.12
  */
 ClutterPoint *
 clutter_point_alloc (void)
@@ -328,7 +436,7 @@ clutter_point_alloc (void)
  *
  * Return value: (transfer none): the initialized #ClutterPoint
  *
- *
+ * Since: 1.12
  */
 ClutterPoint *
 clutter_point_init (ClutterPoint *point,
@@ -352,7 +460,7 @@ clutter_point_init (ClutterPoint *point,
  * Return value: (transfer full): a newly allocated #ClutterPoint.
  *   Use clutter_point_free() to free its resources.
  *
- *
+ * Since: 1.12
  */
 ClutterPoint *
 clutter_point_copy (const ClutterPoint *point)
@@ -366,7 +474,7 @@ clutter_point_copy (const ClutterPoint *point)
  *
  * Frees the resources allocated for @point.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_point_free (ClutterPoint *point)
@@ -384,7 +492,7 @@ clutter_point_free (ClutterPoint *point)
  *
  * Return value: %TRUE if the #ClutterPoints are equal
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_point_equals (const ClutterPoint *a,
@@ -413,7 +521,7 @@ clutter_point_equals (const ClutterPoint *a,
  *
  * Return value: the distance between the points.
  *
- *
+ * Since: 1.12
  */
 float
 clutter_point_distance (const ClutterPoint *a,
@@ -478,7 +586,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterPoint, clutter_point,
  * Return value: (transfer full): the newly allocated #ClutterSize.
  *   Use clutter_size_free() to free its resources.
  *
- *
+ * Since: 1.12
  */
 ClutterSize *
 clutter_size_alloc (void)
@@ -496,7 +604,7 @@ clutter_size_alloc (void)
  *
  * Return value: (transfer none): the initialized #ClutterSize
  *
- *
+ * Since: 1.12
  */
 ClutterSize *
 clutter_size_init (ClutterSize *size,
@@ -520,7 +628,7 @@ clutter_size_init (ClutterSize *size,
  * Return value: (transfer full): the newly allocated #ClutterSize.
  *   Use clutter_size_free() to free its resources.
  *
- *
+ * Since: 1.12
  */
 ClutterSize *
 clutter_size_copy (const ClutterSize *size)
@@ -534,7 +642,7 @@ clutter_size_copy (const ClutterSize *size)
  *
  * Frees the resources allocated for @size.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_size_free (ClutterSize *size)
@@ -552,7 +660,7 @@ clutter_size_free (ClutterSize *size)
  *
  * Return value: %TRUE if the two #ClutterSize are equal
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_size_equals (const ClutterSize *a,
@@ -644,7 +752,7 @@ clutter_rect_normalize_internal (ClutterRect *rect)
  *   The returned #ClutterRect is owned by Clutter and it should not
  *   be modified or freed.
  *
- *
+ * Since: 1.12
  */
 const ClutterRect *
 clutter_rect_zero (void)
@@ -667,7 +775,7 @@ clutter_rect_zero (void)
  * Return value: (transfer full): the newly allocated #ClutterRect.
  *   Use clutter_rect_free() to free its resources
  *
- *
+ * Since: 1.12
  */
 ClutterRect *
 clutter_rect_alloc (void)
@@ -687,7 +795,7 @@ clutter_rect_alloc (void)
  *
  * Return value: (transfer none): the updated rectangle
  *
- *
+ * Since: 1.12
  */
 ClutterRect *
 clutter_rect_init (ClutterRect *rect,
@@ -716,7 +824,7 @@ clutter_rect_init (ClutterRect *rect,
  * Return value: (transfer full): the newly allocate copy of @rect.
  *   Use clutter_rect_free() to free the associated resources
  *
- *
+ * Since: 1.12
  */
 ClutterRect *
 clutter_rect_copy (const ClutterRect *rect)
@@ -740,7 +848,7 @@ clutter_rect_copy (const ClutterRect *rect)
  *
  * Frees the resources allocated by @rect.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_rect_free (ClutterRect *rect)
@@ -761,7 +869,7 @@ clutter_rect_free (ClutterRect *rect)
  *
  * Return value: %TRUE if the rectangles match in origin and size.
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_rect_equals (ClutterRect *a,
@@ -794,7 +902,7 @@ clutter_rect_equals (ClutterRect *a,
  * This function is useful to ensure that a rectangle has positive width
  * and height; it will modify the passed @rect and normalize its size.
  *
- *
+ * Since: 1.12
  */
 ClutterRect *
 clutter_rect_normalize (ClutterRect *rect)
@@ -814,7 +922,7 @@ clutter_rect_normalize (ClutterRect *rect)
  * Retrieves the center of @rect, after normalizing the rectangle,
  * and updates @center with the correct coordinates.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_rect_get_center (ClutterRect  *rect,
@@ -839,7 +947,7 @@ clutter_rect_get_center (ClutterRect  *rect,
  *
  * Return value: %TRUE if the @point is contained by @rect.
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_rect_contains_point (ClutterRect  *rect,
@@ -868,7 +976,7 @@ clutter_rect_contains_point (ClutterRect  *rect,
  *
  * Return value: %TRUE if the first rectangle contains the second.
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_rect_contains_rect (ClutterRect *a,
@@ -896,7 +1004,7 @@ clutter_rect_contains_rect (ClutterRect *a,
  * This function will normalize both @a and @b prior to computing their
  * union.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_rect_union (ClutterRect *a,
@@ -934,7 +1042,7 @@ clutter_rect_union (ClutterRect *a,
  *
  * Return value: %TRUE if the intersection of @a and @b is not empty
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_rect_intersection (ClutterRect *a,
@@ -977,7 +1085,7 @@ clutter_rect_intersection (ClutterRect *a,
  * Offsets the origin of @rect by the given values, after normalizing
  * the rectangle.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_rect_offset (ClutterRect *rect,
@@ -1009,7 +1117,7 @@ clutter_rect_offset (ClutterRect *rect,
  * If the resulting rectangle has a negative width or height, the size is
  * set to 0.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_rect_inset (ClutterRect *rect,
@@ -1049,7 +1157,7 @@ clutter_rect_inset (ClutterRect *rect,
  * updated to the smallest rectangle capable of fully containing the
  * original, fractional rectangle.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_rect_clamp_to_pixel (ClutterRect *rect)
@@ -1073,7 +1181,7 @@ clutter_rect_clamp_to_pixel (ClutterRect *rect)
  *
  * Return value: the X coordinate of the origin of the rectangle
  *
- *
+ * Since: 1.12
  */
 float
 clutter_rect_get_x (ClutterRect *rect)
@@ -1093,7 +1201,7 @@ clutter_rect_get_x (ClutterRect *rect)
  *
  * Return value: the Y coordinate of the origin of the rectangle
  *
- *
+ * Since: 1.12
  */
 float
 clutter_rect_get_y (ClutterRect *rect)
@@ -1113,7 +1221,7 @@ clutter_rect_get_y (ClutterRect *rect)
  *
  * Return value: the width of the rectangle
  *
- *
+ * Since: 1.12
  */
 float
 clutter_rect_get_width (ClutterRect *rect)
@@ -1133,7 +1241,7 @@ clutter_rect_get_width (ClutterRect *rect)
  *
  * Return value: the height of the rectangle
  *
- *
+ * Since: 1.12
  */
 float
 clutter_rect_get_height (ClutterRect *rect)
@@ -1177,7 +1285,7 @@ clutter_rect_progress (const GValue *a,
  *
  * It is identicaly to #CoglMatrix.
  *
- *
+ * Since: 1.12
  */
 
 static gpointer
@@ -1271,7 +1379,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterMatrix, clutter_matrix,
  *
  * Return value: (transfer full): the newly allocated #ClutterMatrix
  *
- *
+ * Since: 1.12
  */
 ClutterMatrix *
 clutter_matrix_alloc (void)
@@ -1285,7 +1393,7 @@ clutter_matrix_alloc (void)
  *
  * Frees the memory allocated by clutter_matrix_alloc().
  *
- *
+ * Since: 1.12
  */
 void
 clutter_matrix_free (ClutterMatrix *matrix)
@@ -1308,7 +1416,7 @@ clutter_matrix_free (ClutterMatrix *matrix)
  *
  * Return value: (transfer none): the initialized #ClutterMatrix
  *
- *
+ * Since: 1.12
  */
 ClutterMatrix *
 clutter_matrix_init_identity (ClutterMatrix *matrix)
@@ -1329,7 +1437,7 @@ clutter_matrix_init_identity (ClutterMatrix *matrix)
  *
  * Return value: (transfer none): the initialzed #ClutterMatrix
  *
- *
+ * Since: 1.12
  */
 ClutterMatrix *
 clutter_matrix_init_from_array (ClutterMatrix *matrix,
@@ -1350,7 +1458,7 @@ clutter_matrix_init_from_array (ClutterMatrix *matrix,
  *
  * Return value: (transfer none): the initialized #ClutterMatrix
  *
- *
+ * Since: 1.12
  */
 ClutterMatrix *
 clutter_matrix_init_from_matrix (ClutterMatrix       *a,
diff --git a/clutter/clutter-bezier.c b/clutter/clutter-bezier.c
index aeefe4d..7b6ba3c 100644
--- a/clutter/clutter-bezier.c
+++ b/clutter/clutter-bezier.c
@@ -6,7 +6,6 @@
  * Authored By Tomas Frydrych  <tf openedhand com>
  *
  * Copyright (C) 2007 OpenedHand
- * Copyright (C) 2013 Erick Pérez Castellanos <erick red gmail com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -22,105 +21,97 @@
  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <string.h>
-#include <math.h>
-
 #include <glib.h>
+#include <string.h>
 #include "clutter-bezier.h"
 #include "clutter-debug.h"
 
+/*
+ * We have some experimental code here to allow for constant velocity
+ * movement of actors along the bezier path, this macro enables it.
+ */
+#undef CBZ_L2T_INTERPOLATION
+
 /****************************************************************************
- * ClutterBezier -- representation of a cubic bezier curve                  *
+ * ClutterBezier -- represenation of a cubic bezier curve                   *
  * (private; a building block for the public bspline object)                *
  ****************************************************************************/
 
 /*
- * Constants for sampling of the bezier. Float point.
+ * The t parameter of the bezier is from interval <0,1>, so we can use
+ * 14.18 format and special multiplication functions that preserve
+ * more of the least significant bits but would overflow if the value
+ * is > 1
  */
-#define CBZ_T_SAMPLES 128.0
-#define CBZ_T_STEP (1.0 / CBZ_T_SAMPLES)
+#define CBZ_T_Q 18
+#define CBZ_T_ONE (1 << CBZ_T_Q)
+#define CBZ_T_MUL(x,y) ((((x) >> 3) * ((y) >> 3)) >> 12)
+#define CBZ_T_POW2(x) CBZ_T_MUL (x, x)
+#define CBZ_T_POW3(x) CBZ_T_MUL (CBZ_T_POW2 (x), x)
+#define CBZ_T_DIV(x,y) ((((x) << 9)/(y)) << 9)
+
+/*
+ * Constants for sampling of the bezier
+ */
+#define CBZ_T_SAMPLES 128
+#define CBZ_T_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
+#define CBZ_L_STEP (CBZ_T_ONE / CBZ_T_SAMPLES)
+
+typedef gint32 _FixedT;
 
 /*
  * This is a private type representing a single cubic bezier
  */
 struct _ClutterBezier
 {
-  /* bezier coefficients */
-  gfloat ax;
-  gfloat bx;
-  gfloat cx;
-  gfloat dx;
-
-  gfloat ay;
-  gfloat by;
-  gfloat cy;
-  gfloat dy;
-
+  /*
+   * bezier coefficients -- these are calculated using multiplication and
+   * addition from integer input, so these are also integers
+   */
+  gint ax;
+  gint bx;
+  gint cx;
+  gint dx;
+
+  gint ay;
+  gint by;
+  gint cy;
+  gint dy;
+    
   /* length of the bezier */
-  gfloat length;
+  guint length;
+
+#ifdef CBZ_L2T_INTERPOLATION
+  /*
+   * coefficients for the L -> t bezier; these are calculated from fixed
+   * point input, and more specifically numbers that have been normalised
+   * to fit <0,1>, so these are also fixed point, and we can used the
+   * _FixedT type here.
+   */
+  _FixedT La;
+  _FixedT Lb;
+  _FixedT Lc;
+  /*  _FixedT Ld; == 0 */
+#endif
 };
 
-static gfloat
-_clutter_bezier_t2x (const ClutterBezier *b,
-                    gfloat               t)
-{
-  return b->ax * (1 - t) * (1 - t) * (1 - t) +
-    b->bx * (1 - t) * (1 - t) * t +
-    b->cx * (1 - t) * t * t +
-    b->dx * t * t * t;
-}
-
-static gfloat
-_clutter_bezier_t2y (const ClutterBezier *b,
-                    gfloat               t)
-{
-  return b->ay * (1 - t) * (1 - t) * (1 - t) +
-    b->by * (1 - t) * (1 - t) * t +
-    b->cy * (1 - t) * t * t +
-    b->dy * t * t * t;
-}
-
-/*
- * _clutter_bezier_new:
- *
- * Allocate the bezier
- *
- * Return value: The new bezier object.
- */
 ClutterBezier *
 _clutter_bezier_new (void)
 {
   return g_slice_new0 (ClutterBezier);
 }
 
-/*
- * _clutter_bezier_free:
- * @b: The bezier to free
- *
- * Free the object
- */
 void
-_clutter_bezier_free (ClutterBezier *b)
+_clutter_bezier_free (ClutterBezier * b)
 {
   if (G_LIKELY (b))
-    g_slice_free (ClutterBezier, b);
+    {
+      g_slice_free (ClutterBezier, b);
+    }
 }
 
-/*
- * _clutter_bezier_clone_and_move:
- * @b: A #ClutterBezier for cloning
- * @x: The x coordinates of the new end of the bezier
- * @y: The y coordinates of the new end of the bezier
- *
- * Clone the bezier and move th end-point, leaving both control
- * points in place.
- *
- * Return value: The new bezier object.
- */
 ClutterBezier *
-_clutter_bezier_clone_and_move (const ClutterBezier *b,
-                                gfloat               x,
-                               gfloat               y)
+_clutter_bezier_clone_and_move (const ClutterBezier *b, gint x, gint y)
 {
   ClutterBezier * b2 = _clutter_bezier_new ();
   memcpy (b2, b, sizeof (ClutterBezier));
@@ -131,124 +122,294 @@ _clutter_bezier_clone_and_move (const ClutterBezier *b,
   return b2;
 }
 
+#ifdef CBZ_L2T_INTERPOLATION
 /*
- * _clutter_bezier_advance:
- * @b: A #ClutterBezier
- * @L: A relative length
- * @knot: The point whith the calculated position
- *
- * Advances along the bezier @b to relative length @L and returns the coordinances
- * in @knot
+ * L is relative advance along the bezier curve from interval <0,1>
  */
-void
-_clutter_bezier_advance (const ClutterBezier *b,
-                         gfloat               L,
-                         ClutterPoint        *knot)
+static _FixedT
+_clutter_bezier_L2t (const ClutterBezier *b, _FixedT L)
 {
-  gfloat t;
-  t = L;
+  _FixedT t = CBZ_T_MUL (b->La, CBZ_T_POW3(L))
+    +  CBZ_T_MUL (b->Lb, CBZ_T_POW2(L))
+    +  CBZ_T_MUL (b->Lc, L);
+  
+  if (t > CBZ_T_ONE)
+    t = CBZ_T_ONE;
+  else if (t < 0)
+    t = 0;
+  
+  return t;
+}
+#endif
 
-  knot->x = _clutter_bezier_t2x (b, t);
-  knot->y = _clutter_bezier_t2y (b, t);
+static gint
+_clutter_bezier_t2x (const ClutterBezier * b, _FixedT t)
+{
+  /*
+   * NB -- the int coefficients can be at most 8192 for the multiplication
+   * to work in this fashion due to the limits of the 14.18 fixed.
+   */
+  return ((b->ax*CBZ_T_POW3(t) + b->bx*CBZ_T_POW2(t) + b->cx*t) >> CBZ_T_Q)
+    + b->dx;
+}
 
-  CLUTTER_NOTE (MISC,
-               "advancing to relative point {%d,%d} by moving a distance equals to: %f, with t: %f",
-               knot->x, knot->y, L, t);
+static gint
+_clutter_bezier_t2y (const ClutterBezier * b, _FixedT t)
+{
+  /*
+   * NB -- the int coefficients can be at most 8192 for the multiplication
+   * to work in this fashion due to the limits of the 14.18 fixed.
+   */
+  return ((b->ay*CBZ_T_POW3(t) + b->by*CBZ_T_POW2(t) + b->cy*t) >> CBZ_T_Q)
+    + b->dy;
 }
 
 /*
- * _clutter_bezier_init:
- * @b: A #ClutterBezier
- * @x_0: x coordinates of the start point of the cubic bezier
- * @y_0: y coordinates of the start point of the cubic bezier
- * @x_1: x coordinates of the first control point
- * @y_1: y coordinates of the first control point
- * @x_2: x coordinates of the second control point
- * @y_2: y coordinates of the second control point
- * @x_3: x coordinates of the end point of the cubic bezier
- * @y_3: y coordinates of the end point of the cubic bezier
- *
- * Initialize the data of the bezier object @b.
+ * Advances along the bezier to relative length L and returns the coordinances
+ * in knot
  */
 void
+_clutter_bezier_advance (const ClutterBezier *b, gint L, ClutterKnot * knot)
+{
+#ifdef CBZ_L2T_INTERPOLATION
+  _FixedT t = clutter_bezier_L2t (b, L);
+#else
+  _FixedT t = L;
+#endif
+  
+  knot->x = _clutter_bezier_t2x (b, t);
+  knot->y = _clutter_bezier_t2y (b, t);
+  
+  CLUTTER_NOTE (MISC, "advancing to relative pt %f: t %f, {%d,%d}",
+                (double) L / (double) CBZ_T_ONE,
+                (double) t / (double) CBZ_T_ONE,
+                knot->x, knot->y);
+}
+
+void
 _clutter_bezier_init (ClutterBezier *b,
-                      gfloat         x_0,
-                      gfloat         y_0,
-                      gfloat         x_1,
-                      gfloat         y_1,
-                      gfloat         x_2,
-                      gfloat         y_2,
-                      gfloat         x_3,
-                      gfloat         y_3)
+                    gint x_0, gint y_0,
+                    gint x_1, gint y_1,
+                    gint x_2, gint y_2,
+                    gint x_3, gint y_3)
 {
-  gfloat t;
-  gint i;
-
-  gfloat xp;
-  gfloat yp;
-
-  CLUTTER_NOTE (MISC,
-               "Initializing bezier at {{%f,%f},{%f,%f},{%f,%f},{%f,%f}}",
-               x_0, y_0, x_1, y_1, x_2, y_2, x_3, y_3);
-
-  b->ax = x_0;
-  b->ay = y_0;
-  b->bx = 3 * x_1;
-  b->by = 3 * y_1;
-  b->cx = 3 * x_2;
-  b->cy = 3 * y_2;
-  b->dx = x_3;
-  b->dy = y_3;
-  b->length = 0.0;
-
-  CLUTTER_NOTE (MISC,
-               "Coefficients {{%f,%f},{%f,%f},{%f,%f},{%f,%f}}",
-               b->ax, b->ay, b->bx, b->by, b->cx, b->cy, b->dx, b->dy);
-
-  xp = b->ax;
-  yp = b->ay;
+  _FixedT t;
+  int i;
+  int xp = x_0;
+  int yp = y_0;
+  _FixedT length [CBZ_T_SAMPLES + 1];
+
+#ifdef CBZ_L2T_INTERPOLATION
+  int j, k;
+  _FixedT L;
+  _FixedT t_equalized [CBZ_T_SAMPLES + 1];
+#endif
+
+#if 0
+  g_debug ("Initializing bezier at {{%d,%d},{%d,%d},{%d,%d},{%d,%d}}",
+           x0, y0, x1, y1, x2, y2, x3, y3);
+#endif
+  
+  b->dx = x_0;
+  b->dy = y_0;
+
+  b->cx = 3 * (x_1 - x_0);
+  b->cy = 3 * (y_1 - y_0);
+
+  b->bx = 3 * (x_2 - x_1) - b->cx;
+  b->by = 3 * (y_2 - y_1) - b->cy;
+
+  b->ax = x_3 - 3 * x_2 + 3 * x_1 - x_0;
+  b->ay = y_3 - 3 * y_2 + 3 * y_1 - y_0;
+
+#if 0
+  g_debug ("Cooeficients {{%d,%d},{%d,%d},{%d,%d},{%d,%d}}",
+           b->ax, b->ay, b->bx, b->by, b->cx, b->cy, b->dx, b->dy);
+#endif
+  
+  /*
+   * Because of the way we do the multiplication in bezeir_t2x,y
+   * these coefficients need to be at most 0x1fff; this should be the case,
+   * I think, but have added this warning to catch any problems -- if it
+   * triggers, we need to change those two functions a bit.
+   */
+  if (b->ax > 0x1fff || b->bx > 0x1fff || b->cx > 0x1fff)
+    g_warning ("Calculated coefficents will result in multiplication "
+               "overflow in clutter_bezier_t2x and clutter_bezier_t2y.");
+
+  /*
+   * Sample the bezier with CBZ_T_SAMPLES and calculate length at
+   * each point.
+   *
+   * We are working with integers here, so we use the fast sqrti function.
+   */
+  length[0] = 0;
+    
   for (t = CBZ_T_STEP, i = 1; i <= CBZ_T_SAMPLES; ++i, t += CBZ_T_STEP)
     {
-      gfloat x = _clutter_bezier_t2x (b, t);
-      gfloat y = _clutter_bezier_t2y (b, t);
+      int x = _clutter_bezier_t2x (b, t);
+      int y = _clutter_bezier_t2y (b, t);
+       
+      guint l = cogl_sqrti ((y - yp)*(y - yp) + (x - xp)*(x - xp));
+
+      l += length[i-1];
 
-      b->length += sqrtf ((y - yp)*(y - yp) + (x - xp)*(x - xp));
+      length[i] = l;
 
       xp = x;
       yp = y;
     }
 
-  CLUTTER_NOTE (MISC, "length %f", b->length);
+  b->length = length[CBZ_T_SAMPLES];
+
+#if 0
+  g_debug ("length %d", b->length);
+#endif
+  
+#ifdef CBZ_L2T_INTERPOLATION
+  /*
+   * Now normalize the length values, converting them into _FixedT
+   */
+  for (i = 0; i <= CBZ_T_SAMPLES; ++i)
+    {
+      length[i] = (length[i] << CBZ_T_Q) / b->length;
+    }
+
+  /*
+   * Now generate a L -> t table such that the L will equidistant
+   * over <0,1>
+   */
+  t_equalized[0] = 0;
+    
+  for (i = 1, j = 1, L = CBZ_L_STEP; i < CBZ_T_SAMPLES; ++i, L += CBZ_L_STEP)
+    {
+      _FixedT l1, l2;
+      _FixedT d1, d2, d;
+      _FixedT t1, t2;
+       
+      /* find the band for our L */
+      for (k = j; k < CBZ_T_SAMPLES; ++k)
+       {
+          if (L < length[k])
+            break;
+       }
+
+      /*
+       * Now we know that L is from (length[k-1],length[k]>
+       * We remember k-1 in order not to have to iterate over the
+       * whole length array in the next iteration of the main loop
+       */
+      j = k - 1;
+
+      /*
+       * Now interpolate equlised t as a weighted average
+       */
+      l1 = length[k-1];
+      l2 = length[k];
+      d1 = l2 - L;
+      d2 = L - l1;
+      d = l2 - l1;
+      t1 = (k - 1) * CBZ_T_STEP;
+      t2 = k * CBZ_T_STEP;
+       
+      t_equalized[i] = (t1*d1 + t2*d2)/d;
+
+      if (t_equalized[i] < t_equalized[i-1])
+        g_debug ("wrong t: L %f, l1 %f, l2 %f, t1 %f, t2 %f",
+                 (double) (L)/(double)CBZ_T_ONE,
+                 (double) (l1)/(double)CBZ_T_ONE,
+                 (double) (l2)/(double)CBZ_T_ONE,
+                 (double) (t1)/(double)CBZ_T_ONE,                 
+                 (double) (t2)/(double)CBZ_T_ONE);
+      
+    }
+
+  t_equalized[CBZ_T_SAMPLES] = CBZ_T_ONE;
+
+  /* We now fit a bezier -- at this stage, do a single fit through our values
+   * at 0, 1/3, 2/3 and 1
+   *
+   * FIXME -- do we need to  use a better fitting approach to choose the best
+   * beziere. The actual curve we acquire this way is not too bad shapwise,
+   * but (probably due to rounding errors) the resulting curve no longer
+   * satisfies the necessary condition that for L2 > L1, t2 > t1, which 
+   * causes oscilation.
+   */
+
+#if 0
+  /*
+   * These are the control points we use to calculate the curve coefficients
+   * for bezier t(L); these are not needed directly, but are implied in the
+   * calculations below.
+   *
+   * (p0 is 0,0, and p3 is 1,1)
+   */
+  p1 = (18 * t_equalized[CBZ_T_SAMPLES/3] -
+        9 * t_equalized[2*CBZ_T_SAMPLES/3] +
+        2 << CBZ_T_Q) / 6;
+
+  p2 = (18 * t_equalized[2*CBZ_T_SAMPLES/3] -
+        9 * t_equalized[CBZ_T_SAMPLES/3] -
+        (5 << CBZ_T_Q)) / 6;
+#endif
+    
+  b->Lc = (18 * t_equalized[CBZ_T_SAMPLES/3] -
+           9 * t_equalized[2*CBZ_T_SAMPLES/3] +
+           (2 << CBZ_T_Q)) >> 1;
+    
+  b->Lb = (36 * t_equalized[2*CBZ_T_SAMPLES/3] -
+           45 * t_equalized[CBZ_T_SAMPLES/3] -
+           (9 << CBZ_T_Q)) >> 1;
+
+  b->La = ((27 * (t_equalized[CBZ_T_SAMPLES/3] -
+                 t_equalized[2*CBZ_T_SAMPLES/3]) +
+            (7 << CBZ_T_Q)) >> 1) + CBZ_T_ONE;
+
+  g_debug ("t(1/3) %f, t(2/3) %f",
+           (double)t_equalized[CBZ_T_SAMPLES/3]/(double)CBZ_T_ONE,
+           (double)t_equalized[2*CBZ_T_SAMPLES/3]/(double)CBZ_T_ONE);
+
+  g_debug ("L -> t coefficients: %f, %f, %f",
+           (double)b->La/(double)CBZ_T_ONE,
+           (double)b->Lb/(double)CBZ_T_ONE,
+           (double)b->Lc/(double)CBZ_T_ONE);
+
+
+  /*
+   * For debugging, you can load these values into a spreadsheet and graph
+   * them to see how well the approximation matches the data
+   */
+  for (i = 0; i < CBZ_T_SAMPLES; ++i)
+    {
+      g_print ("%f, %f, %f\n",
+               (double)(i*CBZ_T_STEP)/(double)CBZ_T_ONE,
+               (double)(t_equalized[i])/(double)CBZ_T_ONE,
+               (double)(clutter_bezier_L2t(b,i*CBZ_T_STEP))/(double)CBZ_T_ONE);
+    }
+#endif
 }
 
 /*
- * _clutter_bezier_adjust:
- * @b: A #ClutterBezier object
- * @knot: The new position of the control point
- @ @indx: The index of the control point you want to move.
- *
- * Moves a control point at index @indx to location represented by @knot
+ * Moves a control point at indx to location represented by knot
  */
 void
-_clutter_bezier_adjust (ClutterBezier *b,
-                       ClutterPoint  *knot,
-                       guint          indx)
+_clutter_bezier_adjust (ClutterBezier * b, ClutterKnot * knot, guint indx)
 {
-  gfloat x[4], y[4];
+  guint x[4], y[4];
 
   g_assert (indx < 4);
+    
+  x[0] = b->dx;
+  y[0] = b->dy;
 
-  x[0] = b->ax;
-  y[0] = b->ay;
-
-  x[1] = b->bx;
-  y[1] = b->by;
+  x[1] = b->cx / 3 + x[0];
+  y[1] = b->cy / 3 + y[0];
 
-  x[2] = b->cx;
-  y[2] = b->cy;
+  x[2] = b->bx / 3 + b->cx + x[1];
+  y[2] = b->by / 3 + b->cy + y[1];
 
-  x[3] = b->dx;
-  y[3] = b->dy;
+  x[3] = b->ax + x[0] + b->cx + b->bx;
+  y[3] = b->ay + y[0] + b->cy + b->by;
 
   x[indx] = knot->x;
   y[indx] = knot->y;
@@ -256,13 +417,7 @@ _clutter_bezier_adjust (ClutterBezier *b,
   _clutter_bezier_init (b, x[0], y[0], x[1], y[1], x[2], y[2], x[3], y[3]);
 }
 
-/*
- * _clutter_bezier_get_length:
- * @b: A #ClutterBezier
- *
- * Return value: Returns the length of the bezier
- */
-gfloat
+guint
 _clutter_bezier_get_length (const ClutterBezier *b)
 {
   return b->length;
diff --git a/clutter/clutter-bezier.h b/clutter/clutter-bezier.h
index 6be13c1..df9f617 100644
--- a/clutter/clutter-bezier.h
+++ b/clutter/clutter-bezier.h
@@ -6,7 +6,6 @@
  * Authored By Tomas Frydrych  <tf openedhand com>
  *
  * Copyright (C) 2006, 2007 OpenedHand
- * Copyright (C) 2013 Erick Pérez Castellanos <erick red gmail com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -30,35 +29,36 @@
 
 G_BEGIN_DECLS
 
+/* This is used in _clutter_bezier_advance to represent the full
+   length of the bezier curve. Anything less than that represents a
+   fraction of the length */
+#define CLUTTER_BEZIER_MAX_LENGTH (1 << 18)
+
 typedef struct _ClutterBezier ClutterBezier;
 
-ClutterBezier *_clutter_bezier_new            ();
+ClutterBezier *_clutter_bezier_new ();
 
-void           _clutter_bezier_free           (ClutterBezier       *b);
+void           _clutter_bezier_free (ClutterBezier * b);
 
 ClutterBezier *_clutter_bezier_clone_and_move (const ClutterBezier *b,
-                                               gfloat               x,
-                                               gfloat               y);
+                                               gint           x,
+                                               gint           y);
 
-void           _clutter_bezier_advance        (const ClutterBezier *b,
-                                               gfloat               L,
-                                               ClutterPoint        *knot);
+void           _clutter_bezier_advance (const ClutterBezier *b,
+                                        gint           L,
+                                        ClutterKnot   *knot);
 
-void           _clutter_bezier_init           (ClutterBezier       *b,
-                                               gfloat               x_0,
-                                               gfloat               y_0,
-                                               gfloat               x_1,
-                                               gfloat               y_1,
-                                               gfloat               x_2,
-                                               gfloat               y_2,
-                                               gfloat               x_3,
-                                               gfloat               y_3);
+void           _clutter_bezier_init (ClutterBezier *b,
+                                     gint x_0, gint y_0,
+                                     gint x_1, gint y_1,
+                                     gint x_2, gint y_2,
+                                     gint x_3, gint y_3);
 
-void           _clutter_bezier_adjust         (ClutterBezier       *b,
-                                               ClutterPoint        *knot,
-                                               guint                indx);
+void           _clutter_bezier_adjust (ClutterBezier *b,
+                                       ClutterKnot   *knot,
+                                       guint          indx);
 
-gfloat         _clutter_bezier_get_length     (const ClutterBezier *b);
+guint          _clutter_bezier_get_length (const ClutterBezier *b);
 
 G_END_DECLS
 
diff --git a/clutter/clutter-bin-layout.c b/clutter/clutter-bin-layout.c
index 26317d5..de7370e 100644
--- a/clutter/clutter-bin-layout.c
+++ b/clutter/clutter-bin-layout.c
@@ -67,25 +67,245 @@
 
 #include <math.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-bin-layout.h"
+
 #include "clutter-actor-private.h"
 #include "clutter-animatable.h"
-#include "clutter-bin-layout.h"
 #include "clutter-child-meta.h"
 #include "clutter-debug.h"
 #include "clutter-enum-types.h"
 #include "clutter-layout-meta.h"
 #include "clutter-private.h"
 
+#define CLUTTER_TYPE_BIN_LAYER          (clutter_bin_layer_get_type ())
+#define CLUTTER_BIN_LAYER(obj)          (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BIN_LAYER, 
ClutterBinLayer))
+#define CLUTTER_IS_BIN_LAYER(obj)       (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BIN_LAYER))
+
 #define CLUTTER_BIN_LAYOUT_GET_PRIVATE(obj)     (G_TYPE_INSTANCE_GET_PRIVATE ((obj), 
CLUTTER_TYPE_BIN_LAYOUT, ClutterBinLayoutPrivate))
 
+typedef struct _ClutterBinLayer         ClutterBinLayer;
 typedef struct _ClutterLayoutMetaClass  ClutterBinLayerClass;
 
 struct _ClutterBinLayoutPrivate
 {
+  ClutterBinAlignment x_align;
+  ClutterBinAlignment y_align;
+
   ClutterContainer *container;
 };
 
-G_DEFINE_TYPE (ClutterBinLayout, clutter_bin_layout, CLUTTER_TYPE_LAYOUT_MANAGER)
+struct _ClutterBinLayer
+{
+  ClutterLayoutMeta parent_instance;
+
+  ClutterBinAlignment x_align;
+  ClutterBinAlignment y_align;
+};
+
+enum
+{
+  PROP_LAYER_0,
+
+  PROP_LAYER_X_ALIGN,
+  PROP_LAYER_Y_ALIGN,
+
+  PROP_LAYER_LAST
+};
+
+enum
+{
+  PROP_0,
+
+  PROP_X_ALIGN,
+  PROP_Y_ALIGN,
+
+  PROP_LAST
+};
+
+static GParamSpec *layer_props[PROP_LAYER_LAST] = { NULL, };
+static GParamSpec *bin_props[PROP_LAST] = { NULL, };
+
+GType clutter_bin_layer_get_type (void);
+
+G_DEFINE_TYPE (ClutterBinLayer,
+               clutter_bin_layer,
+               CLUTTER_TYPE_LAYOUT_META);
+
+G_DEFINE_TYPE (ClutterBinLayout,
+               clutter_bin_layout,
+               CLUTTER_TYPE_LAYOUT_MANAGER);
+
+/*
+ * ClutterBinLayer
+ */
+
+static void
+set_layer_x_align (ClutterBinLayer     *self,
+                   ClutterBinAlignment  alignment)
+{
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  if (self->x_align == alignment)
+    return;
+
+  self->x_align = alignment;
+
+  meta = CLUTTER_LAYOUT_META (self);
+  manager = clutter_layout_meta_get_manager (meta);
+  clutter_layout_manager_layout_changed (manager);
+
+  g_object_notify_by_pspec (G_OBJECT (self), layer_props[PROP_LAYER_X_ALIGN]);
+}
+
+static void
+set_layer_y_align (ClutterBinLayer     *self,
+                   ClutterBinAlignment  alignment)
+{
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  if (self->y_align == alignment)
+    return;
+
+  self->y_align = alignment;
+
+  meta = CLUTTER_LAYOUT_META (self);
+  manager = clutter_layout_meta_get_manager (meta);
+  clutter_layout_manager_layout_changed (manager);
+
+  g_object_notify_by_pspec (G_OBJECT (self), layer_props[PROP_LAYER_Y_ALIGN]);
+}
+
+static void
+clutter_bin_layer_set_property (GObject      *gobject,
+                                guint         prop_id,
+                                const GValue *value,
+                                GParamSpec   *pspec)
+{
+  ClutterBinLayer *layer = CLUTTER_BIN_LAYER (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_LAYER_X_ALIGN:
+      set_layer_x_align (layer, g_value_get_enum (value));
+      break;
+
+    case PROP_LAYER_Y_ALIGN:
+      set_layer_y_align (layer, g_value_get_enum (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_bin_layer_get_property (GObject    *gobject,
+                                guint       prop_id,
+                                GValue     *value,
+                                GParamSpec *pspec)
+{
+  ClutterBinLayer *layer = CLUTTER_BIN_LAYER (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_LAYER_X_ALIGN:
+      g_value_set_enum (value, layer->x_align);
+      break;
+
+    case PROP_LAYER_Y_ALIGN:
+      g_value_set_enum (value, layer->y_align);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_bin_layer_class_init (ClutterBinLayerClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  gobject_class->set_property = clutter_bin_layer_set_property;
+  gobject_class->get_property = clutter_bin_layer_get_property;
+
+  layer_props[PROP_LAYER_X_ALIGN] =
+    g_param_spec_enum ("x-align",
+                       P_("Horizontal Alignment"),
+                       P_("Horizontal alignment for the actor "
+                          "inside the layout manager"),
+                       CLUTTER_TYPE_BIN_ALIGNMENT,
+                       CLUTTER_BIN_ALIGNMENT_CENTER,
+                       CLUTTER_PARAM_READWRITE);
+
+  layer_props[PROP_LAYER_Y_ALIGN] =
+    g_param_spec_enum ("y-align",
+                       P_("Vertical Alignment"),
+                       P_("Vertical alignment for the actor "
+                          "inside the layout manager"),
+                       CLUTTER_TYPE_BIN_ALIGNMENT,
+                       CLUTTER_BIN_ALIGNMENT_CENTER,
+                       CLUTTER_PARAM_READWRITE);
+
+  g_object_class_install_properties (gobject_class,
+                                     PROP_LAYER_LAST,
+                                     layer_props);
+}
+
+static void
+clutter_bin_layer_init (ClutterBinLayer *layer)
+{
+  layer->x_align = CLUTTER_BIN_ALIGNMENT_CENTER;
+  layer->y_align = CLUTTER_BIN_ALIGNMENT_CENTER;
+}
+
+/*
+ * ClutterBinLayout
+ */
+
+static void
+set_x_align (ClutterBinLayout    *self,
+             ClutterBinAlignment  alignment)
+{
+  ClutterBinLayoutPrivate *priv = self->priv;
+
+  if (priv->x_align != alignment)
+    {
+      ClutterLayoutManager *manager;
+
+      priv->x_align = alignment;
+
+      manager = CLUTTER_LAYOUT_MANAGER (self);
+      clutter_layout_manager_layout_changed (manager);
+
+      g_object_notify_by_pspec (G_OBJECT (self), bin_props[PROP_X_ALIGN]);
+    }
+}
+
+static void
+set_y_align (ClutterBinLayout    *self,
+             ClutterBinAlignment  alignment)
+{
+  ClutterBinLayoutPrivate *priv = self->priv;
+
+  if (priv->y_align != alignment)
+    {
+      ClutterLayoutManager *manager;
+
+      priv->y_align = alignment;
+
+      manager = CLUTTER_LAYOUT_MANAGER (self);
+      clutter_layout_manager_layout_changed (manager);
+
+      g_object_notify_by_pspec (G_OBJECT (self), bin_props[PROP_Y_ALIGN]);
+    }
+}
 
 static void
 clutter_bin_layout_get_preferred_width (ClutterLayoutManager *manager,
@@ -161,6 +381,50 @@ clutter_bin_layout_get_preferred_height (ClutterLayoutManager *manager,
     *nat_height_p = nat_height;
 }
 
+static gdouble
+get_bin_alignment_factor (ClutterBinAlignment alignment,
+                          ClutterTextDirection text_dir)
+{
+  switch (alignment)
+    {
+    case CLUTTER_BIN_ALIGNMENT_CENTER:
+      return 0.5;
+
+    case CLUTTER_BIN_ALIGNMENT_START:
+      return text_dir == CLUTTER_TEXT_DIRECTION_LTR ? 0.0 : 1.0;
+
+    case CLUTTER_BIN_ALIGNMENT_END:
+      return text_dir == CLUTTER_TEXT_DIRECTION_LTR ? 1.0 : 0.0;
+
+    case CLUTTER_BIN_ALIGNMENT_FIXED:
+    case CLUTTER_BIN_ALIGNMENT_FILL:
+      return 0.0;
+    }
+
+  return 0.0;
+}
+
+static gdouble
+get_actor_align_factor (ClutterActorAlign alignment)
+{
+  switch (alignment)
+    {
+    case CLUTTER_ACTOR_ALIGN_CENTER:
+      return 0.5;
+
+    case CLUTTER_ACTOR_ALIGN_START:
+      return 0.0;
+
+    case CLUTTER_ACTOR_ALIGN_END:
+      return 1.0;
+
+    case CLUTTER_ACTOR_ALIGN_FILL:
+      return 0.0;
+    }
+
+  return 0.0;
+}
+
 static void
 clutter_bin_layout_allocate (ClutterLayoutManager   *manager,
                              ClutterContainer       *container,
@@ -180,13 +444,21 @@ clutter_bin_layout_allocate (ClutterLayoutManager   *manager,
   clutter_actor_iter_init (&iter, actor);
   while (clutter_actor_iter_next (&iter, &child))
     {
+      ClutterLayoutMeta *meta;
+      ClutterBinLayer *layer;
       ClutterActorBox child_alloc = { 0, };
-      gboolean is_fixed_position_set;
+      gdouble x_align, y_align;
+      gboolean x_fill, y_fill, is_fixed_position_set;
       float fixed_x, fixed_y;
 
       if (!CLUTTER_ACTOR_IS_VISIBLE (child))
         continue;
 
+      meta = clutter_layout_manager_get_child_meta (manager,
+                                                    container,
+                                                    child);
+      layer = CLUTTER_BIN_LAYER (meta);
+
       fixed_x = fixed_y = 0.f;
       g_object_get (child,
                     "fixed-position-set", &is_fixed_position_set,
@@ -194,24 +466,106 @@ clutter_bin_layout_allocate (ClutterLayoutManager   *manager,
                     "fixed-y", &fixed_y,
                     NULL);
 
-      if (is_fixed_position_set)
+      /* XXX:2.0 - remove the FIXED alignment, and just use the fixed position
+       * of the actor if one is set
+       */
+      if (is_fixed_position_set ||
+          layer->x_align == CLUTTER_BIN_ALIGNMENT_FIXED)
        {
-          child_alloc.x1 = fixed_x;
-          child_alloc.y1 = fixed_y;
+          if (is_fixed_position_set)
+            child_alloc.x1 = fixed_x;
+          else
+            child_alloc.x1 = clutter_actor_get_x (child);
        }
       else
-        {
-          child_alloc.x1 = allocation_x;
-          child_alloc.y1 = allocation_y;
-        }
+        child_alloc.x1 = allocation_x;
+
+      if (is_fixed_position_set ||
+          layer->y_align == CLUTTER_BIN_ALIGNMENT_FIXED)
+       {
+         if (is_fixed_position_set)
+            child_alloc.y1 = fixed_y;
+          else
+           child_alloc.y1 = clutter_actor_get_y (child);
+       }
+      else
+        child_alloc.y1 = allocation_y;
 
       child_alloc.x2 = available_w;
       child_alloc.y2 = available_h;
 
-      clutter_actor_allocate (child, &child_alloc, flags);
+      if (clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_HORIZONTAL))
+        {
+          ClutterActorAlign align;
+
+          align = clutter_actor_get_x_align (child);
+          x_fill = align == CLUTTER_ACTOR_ALIGN_FILL;
+          x_align = get_actor_align_factor (align);
+        }
+      else
+        {
+          ClutterTextDirection text_dir;
+
+          x_fill = (layer->x_align == CLUTTER_BIN_ALIGNMENT_FILL);
+
+          text_dir = clutter_actor_get_text_direction (child);
+
+          if (!is_fixed_position_set)
+            x_align = get_bin_alignment_factor (layer->x_align, text_dir);
+          else
+            x_align = 0.0;
+        }
+
+      if (clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_VERTICAL))
+        {
+          ClutterActorAlign align;
+
+          align = clutter_actor_get_y_align (child);
+          y_fill = align == CLUTTER_ACTOR_ALIGN_FILL;
+          y_align = get_actor_align_factor (align);
+        }
+      else
+        {
+          y_fill = (layer->y_align == CLUTTER_BIN_ALIGNMENT_FILL);
+
+          if (!is_fixed_position_set)
+            y_align = get_bin_alignment_factor (layer->y_align,
+                                                CLUTTER_TEXT_DIRECTION_LTR);
+          else
+            y_align = 0.0;
+        }
+
+      clutter_actor_allocate_align_fill (child, &child_alloc,
+                                         x_align, y_align,
+                                         x_fill, y_fill,
+                                         flags);
     }
 }
 
+static GType
+clutter_bin_layout_get_child_meta_type (ClutterLayoutManager *manager)
+{
+  return CLUTTER_TYPE_BIN_LAYER;
+}
+
+static ClutterLayoutMeta *
+clutter_bin_layout_create_child_meta (ClutterLayoutManager *manager,
+                                      ClutterContainer     *container,
+                                      ClutterActor         *actor)
+{
+  ClutterBinLayoutPrivate *priv;
+
+  priv = CLUTTER_BIN_LAYOUT (manager)->priv;
+
+  return g_object_new (CLUTTER_TYPE_BIN_LAYER,
+                       "container", container,
+                       "actor", actor,
+                       "manager", manager,
+                       "x-align", priv->x_align,
+                       "y_align", priv->y_align,
+                       NULL);
+}
+
 static void
 clutter_bin_layout_set_container (ClutterLayoutManager *manager,
                                   ClutterContainer     *container)
@@ -227,16 +581,113 @@ clutter_bin_layout_set_container (ClutterLayoutManager *manager,
 }
 
 static void
+clutter_bin_layout_set_property (GObject      *gobject,
+                                 guint         prop_id,
+                                 const GValue *value,
+                                 GParamSpec   *pspec)
+{
+  ClutterBinLayout *layout = CLUTTER_BIN_LAYOUT (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_X_ALIGN:
+      set_x_align (layout, g_value_get_enum (value));
+      break;
+
+    case PROP_Y_ALIGN:
+      set_y_align (layout, g_value_get_enum (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_bin_layout_get_property (GObject    *gobject,
+                                 guint       prop_id,
+                                 GValue     *value,
+                                 GParamSpec *pspec)
+{
+  ClutterBinLayoutPrivate *priv;
+
+  priv = CLUTTER_BIN_LAYOUT (gobject)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_X_ALIGN:
+      g_value_set_enum (value, priv->x_align);
+      break;
+
+    case PROP_Y_ALIGN:
+      g_value_set_enum (value, priv->y_align);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
 clutter_bin_layout_class_init (ClutterBinLayoutClass *klass)
 {
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   ClutterLayoutManagerClass *layout_class =
     CLUTTER_LAYOUT_MANAGER_CLASS (klass);
 
   g_type_class_add_private (klass, sizeof (ClutterBinLayoutPrivate));
 
+  /**
+   * ClutterBinLayout:x-align:
+   *
+   * The default horizontal alignment policy for actors managed
+   * by the #ClutterBinLayout
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12: Use the #ClutterActor:x-expand and the
+   *   #ClutterActor:x-align properties on #ClutterActor instead.
+   */
+  bin_props[PROP_X_ALIGN] =
+    g_param_spec_enum ("x-align",
+                       P_("Horizontal Alignment"),
+                       P_("Default horizontal alignment for the actors "
+                          "inside the layout manager"),
+                       CLUTTER_TYPE_BIN_ALIGNMENT,
+                       CLUTTER_BIN_ALIGNMENT_CENTER,
+                       CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterBinLayout:y-align:
+   *
+   * The default vertical alignment policy for actors managed
+   * by the #ClutterBinLayout
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12: Use the #ClutterActor:y-expand and the
+   *   #ClutterActor:y-align properties on #ClutterActor instead.
+   */
+  bin_props[PROP_Y_ALIGN] =
+    g_param_spec_enum ("y-align",
+                       P_("Vertical Alignment"),
+                       P_("Default vertical alignment for the actors "
+                          "inside the layout manager"),
+                       CLUTTER_TYPE_BIN_ALIGNMENT,
+                       CLUTTER_BIN_ALIGNMENT_CENTER,
+                       CLUTTER_PARAM_READWRITE);
+
+  gobject_class->set_property = clutter_bin_layout_set_property;
+  gobject_class->get_property = clutter_bin_layout_get_property;
+  g_object_class_install_properties (gobject_class, PROP_LAST, bin_props);
+
   layout_class->get_preferred_width = clutter_bin_layout_get_preferred_width;
   layout_class->get_preferred_height = clutter_bin_layout_get_preferred_height;
   layout_class->allocate = clutter_bin_layout_allocate;
+  layout_class->create_child_meta = clutter_bin_layout_create_child_meta;
+  layout_class->get_child_meta_type = clutter_bin_layout_get_child_meta_type;
   layout_class->set_container = clutter_bin_layout_set_container;
 }
 
@@ -244,17 +695,214 @@ static void
 clutter_bin_layout_init (ClutterBinLayout *self)
 {
   self->priv = CLUTTER_BIN_LAYOUT_GET_PRIVATE (self);
+
+  self->priv->x_align = CLUTTER_BIN_ALIGNMENT_CENTER;
+  self->priv->y_align = CLUTTER_BIN_ALIGNMENT_CENTER;
 }
 
 /**
  * clutter_bin_layout_new:
+ * @x_align: the default alignment policy to be used on the
+ *   horizontal axis
+ * @y_align: the default alignment policy to be used on the
+ *   vertical axis
  *
  * Creates a new #ClutterBinLayout layout manager
  *
  * Return value: the newly created layout manager
+ *
+ * Since: 1.2
  */
 ClutterLayoutManager *
-clutter_bin_layout_new (void)
+clutter_bin_layout_new (ClutterBinAlignment x_align,
+                        ClutterBinAlignment y_align)
 {
-  return g_object_new (CLUTTER_TYPE_BIN_LAYOUT, NULL);
+  return g_object_new (CLUTTER_TYPE_BIN_LAYOUT,
+                       "x-align", x_align,
+                       "y-align", y_align,
+                       NULL);
+}
+
+/**
+ * clutter_bin_layout_set_alignment:
+ * @self: a #ClutterBinLayout
+ * @child: (allow-none): a child of @container
+ * @x_align: the horizontal alignment policy to be used for the @child
+ *   inside @container
+ * @y_align: the vertical aligment policy to be used on the @child
+ *   inside @container
+ *
+ * Sets the horizontal and vertical alignment policies to be applied
+ * to a @child of @self
+ *
+ * If @child is %NULL then the @x_align and @y_align values will
+ * be set as the default alignment policies
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use the #ClutterActor:x-align and
+ *   #ClutterActor:y-align properties of #ClutterActor instead.
+ */
+void
+clutter_bin_layout_set_alignment (ClutterBinLayout    *self,
+                                  ClutterActor        *child,
+                                  ClutterBinAlignment  x_align,
+                                  ClutterBinAlignment  y_align)
+{
+  ClutterBinLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BIN_LAYOUT (self));
+  g_return_if_fail (child == NULL || CLUTTER_IS_ACTOR (child));
+
+  priv = self->priv;
+
+  if (priv->container == NULL)
+    {
+      if (child == NULL)
+        {
+          set_x_align (self, x_align);
+          set_y_align (self, y_align);
+        }
+      else
+        g_warning ("The layout of type '%s' must be associated to "
+                   "a ClutterContainer before setting the alignment "
+                   "on its children",
+                   G_OBJECT_TYPE_NAME (self));
+
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (self);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                child);
+  g_assert (CLUTTER_IS_BIN_LAYER (meta));
+
+  set_layer_x_align (CLUTTER_BIN_LAYER (meta), x_align);
+  set_layer_y_align (CLUTTER_BIN_LAYER (meta), y_align);
+}
+
+/**
+ * clutter_bin_layout_get_alignment:
+ * @self: a #ClutterBinLayout
+ * @child: (allow-none): a child of @container
+ * @x_align: (out) (allow-none): return location for the horizontal
+ *   alignment policy
+ * @y_align: (out) (allow-none): return location for the vertical
+ *   alignment policy
+ *
+ * Retrieves the horizontal and vertical alignment policies for
+ * a child of @self
+ *
+ * If @child is %NULL the default alignment policies will be returned
+ * instead
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use the #ClutterActor:x-align and the
+ *   #ClutterActor:y-align properties of #ClutterActor instead.
+ */
+void
+clutter_bin_layout_get_alignment (ClutterBinLayout    *self,
+                                  ClutterActor        *child,
+                                  ClutterBinAlignment *x_align,
+                                  ClutterBinAlignment *y_align)
+{
+  ClutterBinLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+  ClutterBinLayer *layer;
+
+  g_return_if_fail (CLUTTER_IS_BIN_LAYOUT (self));
+
+  priv = self->priv;
+
+  if (priv->container == NULL)
+    {
+      if (child == NULL)
+        {
+          if (x_align)
+            *x_align = priv->x_align;
+
+          if (y_align)
+            *y_align = priv->y_align;
+        }
+      else
+        g_warning ("The layout of type '%s' must be associated to "
+                   "a ClutterContainer before getting the alignment "
+                   "of its children",
+                   G_OBJECT_TYPE_NAME (self));
+
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (self);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                child);
+  g_assert (CLUTTER_IS_BIN_LAYER (meta));
+
+  layer = CLUTTER_BIN_LAYER (meta);
+
+  if (x_align)
+    *x_align = layer->x_align;
+
+  if (y_align)
+    *y_align = layer->y_align;
+}
+
+/**
+ * clutter_bin_layout_add:
+ * @self: a #ClutterBinLayout
+ * @child: a #ClutterActor
+ * @x_align: horizontal alignment policy for @child
+ * @y_align: vertical alignment policy for @child
+ *
+ * Adds a #ClutterActor to the container using @self and
+ * sets the alignment policies for it
+ *
+ * This function is equivalent to clutter_container_add_actor()
+ * and clutter_layout_manager_child_set_property() but it does not
+ * require a pointer to the #ClutterContainer associated to the
+ * #ClutterBinLayout
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_bin_layout_add (ClutterBinLayout    *self,
+                        ClutterActor        *child,
+                        ClutterBinAlignment  x_align,
+                        ClutterBinAlignment  y_align)
+{
+  ClutterBinLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BIN_LAYOUT (self));
+  g_return_if_fail (CLUTTER_IS_ACTOR (child));
+
+  priv = self->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before adding children",
+                 G_OBJECT_TYPE_NAME (self));
+      return;
+    }
+
+  clutter_container_add_actor (priv->container, child);
+
+  manager = CLUTTER_LAYOUT_MANAGER (self);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                child);
+  g_assert (CLUTTER_IS_BIN_LAYER (meta));
+
+  set_layer_x_align (CLUTTER_BIN_LAYER (meta), x_align);
+  set_layer_y_align (CLUTTER_BIN_LAYER (meta), y_align);
 }
diff --git a/clutter/clutter-bin-layout.h b/clutter/clutter-bin-layout.h
index 5496153..6f52ba1 100644
--- a/clutter/clutter-bin-layout.h
+++ b/clutter/clutter-bin-layout.h
@@ -50,7 +50,7 @@ typedef struct _ClutterBinLayoutClass           ClutterBinLayoutClass;
  * The #ClutterBinLayout structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterBinLayout
 {
@@ -66,7 +66,7 @@ struct _ClutterBinLayout
  * The #ClutterBinLayoutClass structure contains only private
  * data and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterBinLayoutClass
 {
@@ -76,7 +76,8 @@ struct _ClutterBinLayoutClass
 
 GType clutter_bin_layout_get_type (void) G_GNUC_CONST;
 
-ClutterLayoutManager *  clutter_bin_layout_new  (void);
+ClutterLayoutManager *clutter_bin_layout_new           (ClutterBinAlignment  x_align,
+                                                        ClutterBinAlignment  y_align);
 
 G_END_DECLS
 
diff --git a/clutter/clutter-bind-constraint.c b/clutter/clutter-bind-constraint.c
index e711385..b9e45ab 100644
--- a/clutter/clutter-bind-constraint.c
+++ b/clutter/clutter-bind-constraint.c
@@ -151,7 +151,7 @@ source_queue_relayout (ClutterActor          *source,
                        ClutterBindConstraint *bind)
 {
   if (bind->actor != NULL)
-    _clutter_actor_queue_only_relayout (bind->actor);
+    clutter_actor_queue_relayout (bind->actor);
 }
 
 static void
@@ -351,7 +351,7 @@ clutter_bind_constraint_class_init (ClutterBindConstraintClass *klass)
    * The #ClutterActor must not be contained inside the actor associated
    * to the constraint.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_SOURCE] =
     g_param_spec_object ("source",
@@ -365,7 +365,7 @@ clutter_bind_constraint_class_init (ClutterBindConstraintClass *klass)
    *
    * The coordinate to be bound
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_COORDINATE] =
     g_param_spec_enum ("coordinate",
@@ -380,7 +380,7 @@ clutter_bind_constraint_class_init (ClutterBindConstraintClass *klass)
    *
    * The offset, in pixels, to be applied to the binding
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_OFFSET] =
     g_param_spec_float ("offset",
@@ -416,7 +416,7 @@ clutter_bind_constraint_init (ClutterBindConstraint *self)
  *
  * Return value: the newly created #ClutterBindConstraint
  *
- *
+ * Since: 1.4
  */
 ClutterConstraint *
 clutter_bind_constraint_new (ClutterActor          *source,
@@ -439,7 +439,7 @@ clutter_bind_constraint_new (ClutterActor          *source,
  *
  * Sets the source #ClutterActor for the constraint
  *
- *
+ * Since: 1.4
  */
 void
 clutter_bind_constraint_set_source (ClutterBindConstraint *constraint,
@@ -506,7 +506,7 @@ clutter_bind_constraint_set_source (ClutterBindConstraint *constraint,
  *
  * Return value: (transfer none): a pointer to the source actor
  *
- *
+ * Since: 1.4
  */
 ClutterActor *
 clutter_bind_constraint_get_source (ClutterBindConstraint *constraint)
@@ -523,7 +523,7 @@ clutter_bind_constraint_get_source (ClutterBindConstraint *constraint)
  *
  * Sets the coordinate to bind in the constraint
  *
- *
+ * Since: 1.4
  */
 void
 clutter_bind_constraint_set_coordinate (ClutterBindConstraint *constraint,
@@ -550,7 +550,7 @@ clutter_bind_constraint_set_coordinate (ClutterBindConstraint *constraint,
  *
  * Return value: the bound coordinate
  *
- *
+ * Since: 1.4
  */
 ClutterBindCoordinate
 clutter_bind_constraint_get_coordinate (ClutterBindConstraint *constraint)
@@ -568,7 +568,7 @@ clutter_bind_constraint_get_coordinate (ClutterBindConstraint *constraint)
  *
  * Sets the offset to be applied to the constraint
  *
- *
+ * Since: 1.4
  */
 void
 clutter_bind_constraint_set_offset (ClutterBindConstraint *constraint,
@@ -595,7 +595,7 @@ clutter_bind_constraint_set_offset (ClutterBindConstraint *constraint,
  *
  * Return value: the offset, in pixels
  *
- *
+ * Since: 1.4
  */
 gfloat
 clutter_bind_constraint_get_offset (ClutterBindConstraint *bind)
diff --git a/clutter/clutter-bind-constraint.h b/clutter/clutter-bind-constraint.h
index 8c0551a..3ce1d59 100644
--- a/clutter/clutter-bind-constraint.h
+++ b/clutter/clutter-bind-constraint.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * <structname>ClutterBindConstraint</structname> is an opaque structure
  * whose members cannot be directly accessed
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterBindConstraint           ClutterBindConstraint;
 typedef struct _ClutterBindConstraintClass      ClutterBindConstraintClass;
diff --git a/clutter/clutter-binding-pool.c b/clutter/clutter-binding-pool.c
index b10b2d9..6bce923 100644
--- a/clutter/clutter-binding-pool.c
+++ b/clutter/clutter-binding-pool.c
@@ -312,7 +312,7 @@ clutter_binding_pool_class_init (ClutterBindingPoolClass *klass)
    *
    * The unique name of the #ClutterBindingPool.
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_NAME] =
     g_param_spec_string ("name",
@@ -350,7 +350,7 @@ clutter_binding_pool_init (ClutterBindingPool *pool)
  * Return value: the newly created binding pool with the given
  *   name. Use g_object_unref() when done.
  *
- *
+ * Since: 1.0
  */
 ClutterBindingPool *
 clutter_binding_pool_new (const gchar *name)
@@ -394,7 +394,7 @@ clutter_binding_pool_new (const gchar *name)
  *   The returned #ClutterBindingPool is owned by Clutter and should not
  *   be freed directly
  *
- *
+ * Since: 1.0
  */
 ClutterBindingPool *
 clutter_binding_pool_get_for_class (gpointer klass)
@@ -426,7 +426,7 @@ clutter_binding_pool_get_for_class (gpointer klass)
  *
  * Return value: (transfer none): a pointer to the #ClutterBindingPool, or %NULL
  *
- *
+ * Since: 1.0
  */
 ClutterBindingPool *
 clutter_binding_pool_find (const gchar *name)
@@ -470,7 +470,7 @@ clutter_binding_pool_find (const gchar *name)
  * Actions can be blocked with clutter_binding_pool_block_action()
  * and then unblocked using clutter_binding_pool_unblock_action().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_install_action (ClutterBindingPool  *pool,
@@ -540,7 +540,7 @@ clutter_binding_pool_install_action (ClutterBindingPool  *pool,
  * Actions can be blocked with clutter_binding_pool_block_action()
  * and then unblocked using clutter_binding_pool_unblock_action().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_install_closure (ClutterBindingPool  *pool,
@@ -603,7 +603,7 @@ clutter_binding_pool_install_closure (ClutterBindingPool  *pool,
  * Actions can be blocked with clutter_binding_pool_block_action()
  * and then unblocked using clutter_binding_pool_unblock_action().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_override_action (ClutterBindingPool  *pool,
@@ -667,7 +667,7 @@ clutter_binding_pool_override_action (ClutterBindingPool  *pool,
  * Actions can be blocked with clutter_binding_pool_block_action()
  * and then unblocked using clutter_binding_pool_unblock_action().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_override_closure (ClutterBindingPool  *pool,
@@ -722,7 +722,7 @@ clutter_binding_pool_override_closure (ClutterBindingPool  *pool,
  *   returned string is owned by the binding pool and should never
  *   be modified or freed
  *
- *
+ * Since: 1.0
  */
 const gchar *
 clutter_binding_pool_find_action (ClutterBindingPool  *pool,
@@ -750,7 +750,7 @@ clutter_binding_pool_find_action (ClutterBindingPool  *pool,
  * Removes the action matching the given @key_val, @modifiers pair,
  * if any exists.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_remove_action (ClutterBindingPool  *pool,
@@ -854,7 +854,7 @@ clutter_binding_entry_invoke (ClutterBindingEntry *entry,
  *
  * Return value: %TRUE if an action was found and was activated
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_binding_pool_activate (ClutterBindingPool  *pool,
@@ -887,7 +887,7 @@ clutter_binding_pool_activate (ClutterBindingPool  *pool,
  *
  * Blocks all the actions with name @action_name inside @pool.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_block_action (ClutterBindingPool *pool,
@@ -918,7 +918,7 @@ clutter_binding_pool_block_action (ClutterBindingPool *pool,
  * be invoked in case clutter_binding_pool_activate() was called on
  * an action previously blocked with clutter_binding_pool_block_action().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_binding_pool_unblock_action (ClutterBindingPool *pool,
diff --git a/clutter/clutter-binding-pool.h b/clutter/clutter-binding-pool.h
index 05f7619..cdba037 100644
--- a/clutter/clutter-binding-pool.h
+++ b/clutter/clutter-binding-pool.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * Container of key bindings. The #ClutterBindingPool struct is
  * private.
  *
- *
+ * Since: 1.0
  */
 typedef struct _ClutterBindingPool      ClutterBindingPool;
 typedef struct _ClutterBindingPoolClass ClutterBindingPoolClass;
@@ -63,7 +63,7 @@ typedef struct _ClutterBindingPoolClass ClutterBindingPoolClass;
  * Return value: the function should return %TRUE if the key
  *   binding has been handled, and return %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 typedef gboolean (* ClutterBindingActionFunc) (GObject             *gobject,
                                                const gchar         *action_name,
diff --git a/clutter/clutter-blur-effect.c b/clutter/clutter-blur-effect.c
index b06bf00..305e1f2 100644
--- a/clutter/clutter-blur-effect.c
+++ b/clutter/clutter-blur-effect.c
@@ -269,7 +269,7 @@ clutter_blur_effect_init (ClutterBlurEffect *self)
  *
  * Return value: the newly created #ClutterBlurEffect or %NULL
  *
- *
+ * Since: 1.4
  */
 ClutterEffect *
 clutter_blur_effect_new (void)
diff --git a/clutter/clutter-blur-effect.h b/clutter/clutter-blur-effect.h
index a2c1d9c..27466bb 100644
--- a/clutter/clutter-blur-effect.h
+++ b/clutter/clutter-blur-effect.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * <structname>ClutterBlurEffect</structname> is an opaque structure
  * whose members cannot be accessed directly
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterBlurEffect       ClutterBlurEffect;
 typedef struct _ClutterBlurEffectClass  ClutterBlurEffectClass;
diff --git a/clutter/clutter-box-layout.c b/clutter/clutter-box-layout.c
index e7dcddd..a87b32b 100644
--- a/clutter/clutter-box-layout.c
+++ b/clutter/clutter-box-layout.c
@@ -68,16 +68,28 @@
 
 #include <math.h>
 
-#include "clutter-actor-private.h"
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-alpha.h"
+
 #include "clutter-box-layout.h"
-#include "clutter-container.h"
+
+#include "clutter-actor-private.h"
 #include "clutter-debug.h"
 #include "clutter-enum-types.h"
+#include "clutter-layout-meta.h"
 #include "clutter-private.h"
 #include "clutter-types.h"
 
+#define CLUTTER_TYPE_BOX_CHILD          (clutter_box_child_get_type ())
+#define CLUTTER_BOX_CHILD(obj)          (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BOX_CHILD, 
ClutterBoxChild))
+#define CLUTTER_IS_BOX_CHILD(obj)       (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BOX_CHILD))
+
 #define CLUTTER_BOX_LAYOUT_GET_PRIVATE(obj)     (G_TYPE_INSTANCE_GET_PRIVATE ((obj), 
CLUTTER_TYPE_BOX_LAYOUT, ClutterBoxLayoutPrivate))
 
+typedef struct _ClutterBoxChild         ClutterBoxChild;
+typedef struct _ClutterLayoutMetaClass  ClutterBoxChildClass;
+
 struct _ClutterBoxLayoutPrivate
 {
   ClutterContainer *container;
@@ -94,13 +106,42 @@ struct _ClutterBoxLayoutPrivate
   guint is_homogeneous : 1;
 };
 
+struct _ClutterBoxChild
+{
+  ClutterLayoutMeta parent_instance;
+
+  ClutterBoxAlignment x_align;
+  ClutterBoxAlignment y_align;
+
+  guint x_fill              : 1;
+  guint y_fill              : 1;
+  guint expand              : 1;
+};
+
+enum
+{
+  PROP_CHILD_0,
+
+  PROP_CHILD_X_ALIGN,
+  PROP_CHILD_Y_ALIGN,
+  PROP_CHILD_X_FILL,
+  PROP_CHILD_Y_FILL,
+  PROP_CHILD_EXPAND,
+
+  PROP_CHILD_LAST
+};
+
 enum
 {
   PROP_0,
 
   PROP_SPACING,
+  PROP_VERTICAL,
   PROP_HOMOGENEOUS,
   PROP_PACK_START,
+  PROP_USE_ANIMATIONS,
+  PROP_EASING_MODE,
+  PROP_EASING_DURATION,
   PROP_ORIENTATION,
 
   PROP_LAST
@@ -108,6 +149,12 @@ enum
 
 static GParamSpec *obj_props[PROP_LAST] = { NULL, };
 
+GType clutter_box_child_get_type (void);
+
+G_DEFINE_TYPE (ClutterBoxChild,
+               clutter_box_child,
+               CLUTTER_TYPE_LAYOUT_META);
+
 G_DEFINE_TYPE (ClutterBoxLayout,
                clutter_box_layout,
                CLUTTER_TYPE_LAYOUT_MANAGER);
@@ -129,6 +176,270 @@ static void count_expand_children         (ClutterLayoutManager *layout,
                                           gint                 *visible_children,
                                           gint                 *expand_children);
 
+/*
+ * ClutterBoxChild
+ */
+
+static void
+box_child_set_align (ClutterBoxChild     *self,
+                     ClutterBoxAlignment  x_align,
+                     ClutterBoxAlignment  y_align)
+{
+  gboolean x_changed = FALSE, y_changed = FALSE;
+
+  if (self->x_align != x_align)
+    {
+      self->x_align = x_align;
+
+      x_changed = TRUE;
+    }
+
+  if (self->y_align != y_align)
+    {
+      self->y_align = y_align;
+
+      y_changed = TRUE;
+    }
+
+  if (x_changed || y_changed)
+    {
+      ClutterLayoutManager *layout;
+
+      layout = clutter_layout_meta_get_manager (CLUTTER_LAYOUT_META (self));
+
+      clutter_layout_manager_layout_changed (layout);
+
+      if (x_changed)
+        g_object_notify (G_OBJECT (self), "x-align");
+
+      if (y_changed)
+        g_object_notify (G_OBJECT (self), "y-align");
+    }
+}
+
+static void
+box_child_set_fill (ClutterBoxChild *self,
+                    gboolean         x_fill,
+                    gboolean         y_fill)
+{
+  gboolean x_changed = FALSE, y_changed = FALSE;
+
+  if (self->x_fill != x_fill)
+    {
+      self->x_fill = x_fill;
+
+      x_changed = TRUE;
+    }
+
+  if (self->y_fill != y_fill)
+    {
+      self->y_fill = y_fill;
+
+      y_changed = TRUE;
+    }
+
+  if (x_changed || y_changed)
+    {
+      ClutterLayoutManager *layout;
+
+      layout = clutter_layout_meta_get_manager (CLUTTER_LAYOUT_META (self));
+
+      clutter_layout_manager_layout_changed (layout);
+
+      if (x_changed)
+        g_object_notify (G_OBJECT (self), "x-fill");
+
+      if (y_changed)
+        g_object_notify (G_OBJECT (self), "y-fill");
+    }
+}
+
+static void
+box_child_set_expand (ClutterBoxChild *self,
+                      gboolean         expand)
+{
+  if (self->expand != expand)
+    {
+      ClutterLayoutManager *layout;
+
+      self->expand = expand;
+
+      layout = clutter_layout_meta_get_manager (CLUTTER_LAYOUT_META (self));
+
+      clutter_layout_manager_layout_changed (layout);
+
+      g_object_notify (G_OBJECT (self), "expand");
+    }
+}
+
+static void
+clutter_box_child_set_property (GObject      *gobject,
+                                guint         prop_id,
+                                const GValue *value,
+                                GParamSpec   *pspec)
+{
+  ClutterBoxChild *self = CLUTTER_BOX_CHILD (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_CHILD_X_ALIGN:
+      box_child_set_align (self,
+                           g_value_get_enum (value),
+                           self->y_align);
+      break;
+
+    case PROP_CHILD_Y_ALIGN:
+      box_child_set_align (self,
+                           self->x_align,
+                           g_value_get_enum (value));
+      break;
+
+    case PROP_CHILD_X_FILL:
+      box_child_set_fill (self,
+                          g_value_get_boolean (value),
+                          self->y_fill);
+      break;
+
+    case PROP_CHILD_Y_FILL:
+      box_child_set_fill (self,
+                          self->x_fill,
+                          g_value_get_boolean (value));
+      break;
+
+    case PROP_CHILD_EXPAND:
+      box_child_set_expand (self, g_value_get_boolean (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_box_child_get_property (GObject    *gobject,
+                                guint       prop_id,
+                                GValue     *value,
+                                GParamSpec *pspec)
+{
+  ClutterBoxChild *self = CLUTTER_BOX_CHILD (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_CHILD_X_ALIGN:
+      g_value_set_enum (value, self->x_align);
+      break;
+
+    case PROP_CHILD_Y_ALIGN:
+      g_value_set_enum (value, self->y_align);
+      break;
+
+    case PROP_CHILD_X_FILL:
+      g_value_set_boolean (value, self->x_fill);
+      break;
+
+    case PROP_CHILD_Y_FILL:
+      g_value_set_boolean (value, self->y_fill);
+      break;
+
+    case PROP_CHILD_EXPAND:
+      g_value_set_boolean (value, self->expand);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_box_child_class_init (ClutterBoxChildClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GParamSpec *pspec;
+
+  gobject_class->set_property = clutter_box_child_set_property;
+  gobject_class->get_property = clutter_box_child_get_property;
+
+  pspec = g_param_spec_boolean ("expand",
+                                P_("Expand"),
+                                P_("Allocate extra space for the child"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_EXPAND, pspec);
+
+  pspec = g_param_spec_boolean ("x-fill",
+                                P_("Horizontal Fill"),
+                                P_("Whether the child should receive priority "
+                                   "when the container is allocating spare space "
+                                   "on the horizontal axis"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_X_FILL, pspec);
+
+  pspec = g_param_spec_boolean ("y-fill",
+                                P_("Vertical Fill"),
+                                P_("Whether the child should receive priority "
+                                   "when the container is allocating spare space "
+                                   "on the vertical axis"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_Y_FILL, pspec);
+
+  pspec = g_param_spec_enum ("x-align",
+                             P_("Horizontal Alignment"),
+                             P_("Horizontal alignment of the actor within "
+                                "the cell"),
+                             CLUTTER_TYPE_BOX_ALIGNMENT,
+                             CLUTTER_BOX_ALIGNMENT_CENTER,
+                             CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_X_ALIGN, pspec);
+
+  pspec = g_param_spec_enum ("y-align",
+                             P_("Vertical Alignment"),
+                             P_("Vertical alignment of the actor within "
+                                "the cell"),
+                             CLUTTER_TYPE_BOX_ALIGNMENT,
+                             CLUTTER_BOX_ALIGNMENT_CENTER,
+                             CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_Y_ALIGN, pspec);
+}
+
+static void
+clutter_box_child_init (ClutterBoxChild *self)
+{
+  self->x_align = CLUTTER_BOX_ALIGNMENT_CENTER;
+  self->y_align = CLUTTER_BOX_ALIGNMENT_CENTER;
+
+  self->x_fill = self->y_fill = FALSE;
+
+  self->expand = FALSE;
+}
+
+static gdouble
+get_box_alignment_factor (ClutterBoxAlignment alignment)
+{
+  switch (alignment)
+    {
+    case CLUTTER_BOX_ALIGNMENT_CENTER:
+      return 0.5;
+
+    case CLUTTER_BOX_ALIGNMENT_START:
+      return 0.0;
+
+    case CLUTTER_BOX_ALIGNMENT_END:
+      return 1.0;
+    }
+
+  return 0.0;
+}
+
+static GType
+clutter_box_layout_get_child_meta_type (ClutterLayoutManager *manager)
+{
+  return CLUTTER_TYPE_BOX_CHILD;
+}
+
 static void
 clutter_box_layout_set_container (ClutterLayoutManager *layout,
                                   ClutterContainer     *container)
@@ -196,8 +507,7 @@ get_preferred_size_for_orientation (ClutterBoxLayout   *self,
       n_children++;
 
       get_child_size (child, priv->orientation,
-                      for_size,
-                      &child_min, &child_nat);
+                     for_size, &child_min, &child_nat);
 
       minimum += child_min;
       natural += child_nat;
@@ -291,8 +601,7 @@ get_preferred_size_for_opposite_orientation (ClutterBoxLayout   *self,
   minimum = natural = 0;
 
   count_expand_children (layout, real_container,
-                         &nvis_children,
-                         &nexpand_children);
+                        &nvis_children, &nexpand_children);
 
   if (nvis_children < 1)
     {
@@ -350,10 +659,16 @@ get_preferred_size_for_opposite_orientation (ClutterBoxLayout   *self,
   clutter_actor_iter_init (&iter, container);
   while (clutter_actor_iter_next (&iter, &child))
     {
+      ClutterLayoutMeta *meta;
+      ClutterBoxChild   *box_child;
+
       /* If widget is not visible, skip it. */
       if (!CLUTTER_ACTOR_IS_VISIBLE (child))
         continue;
 
+      meta      = clutter_layout_manager_get_child_meta (layout, real_container, child);
+      box_child = CLUTTER_BOX_CHILD (meta);
+
       if (priv->is_homogeneous)
        {
          sizes[i].minimum_size = extra;
@@ -366,7 +681,7 @@ get_preferred_size_for_opposite_orientation (ClutterBoxLayout   *self,
        }
       else
        {
-          if (clutter_actor_needs_expand (child, priv->orientation))
+          if (clutter_actor_needs_expand (child, priv->orientation) || box_child->expand)
             {
               sizes[i].minimum_size += extra;
 
@@ -415,13 +730,44 @@ allocate_box_child (ClutterBoxLayout       *self,
                     ClutterActorBox        *child_box,
                     ClutterAllocationFlags  flags)
 {
+  ClutterBoxLayoutPrivate *priv = self->priv;
+  ClutterBoxChild *box_child;
+  ClutterLayoutMeta *meta;
+
+  meta = clutter_layout_manager_get_child_meta (CLUTTER_LAYOUT_MANAGER (self),
+                                                container,
+                                                child);
+  box_child = CLUTTER_BOX_CHILD (meta);
+
   CLUTTER_NOTE (LAYOUT, "Allocation for %s { %.2f, %.2f, %.2f, %.2f }",
                 _clutter_actor_get_debug_name (child),
                 child_box->x1, child_box->y1,
                 child_box->x2 - child_box->x1,
                 child_box->y2 - child_box->y1);
 
-  clutter_actor_allocate (child, child_box, flags);
+  if (priv->use_animations)
+    {
+      clutter_actor_save_easing_state (child);
+      clutter_actor_set_easing_mode (child, priv->easing_mode);
+      clutter_actor_set_easing_duration (child, priv->easing_duration);
+    }
+
+  /* call allocate() instead of allocate_align_fill() if the actor needs
+   * expand in either direction. this will honour the actors alignment settings
+   */
+  if (clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_HORIZONTAL) ||
+      clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_VERTICAL))
+    clutter_actor_allocate (child, child_box, flags);
+  else
+    clutter_actor_allocate_align_fill (child, child_box,
+                                       get_box_alignment_factor (box_child->x_align),
+                                       get_box_alignment_factor (box_child->y_align),
+                                       box_child->x_fill,
+                                       box_child->y_fill,
+                                       flags);
+
+  if (priv->use_animations)
+    clutter_actor_restore_easing_state (child);
 }
 
 static void
@@ -431,7 +777,7 @@ clutter_box_layout_get_preferred_width (ClutterLayoutManager *layout,
                                         gfloat               *min_width_p,
                                         gfloat               *natural_width_p)
 {
-  ClutterBoxLayout *self = CLUTTER_BOX_LAYOUT (layout);
+  ClutterBoxLayout        *self = CLUTTER_BOX_LAYOUT (layout);
   ClutterBoxLayoutPrivate *priv = self->priv;
 
   if (priv->orientation == CLUTTER_ORIENTATION_VERTICAL)
@@ -440,13 +786,11 @@ clutter_box_layout_get_preferred_width (ClutterLayoutManager *layout,
        get_base_size_for_opposite_orientation (self, CLUTTER_ACTOR (container),
                                                min_width_p, natural_width_p);
       else
-       get_preferred_size_for_opposite_orientation (self, CLUTTER_ACTOR (container),
-                                                     for_height,
+       get_preferred_size_for_opposite_orientation (self, CLUTTER_ACTOR (container), for_height,
                                                     min_width_p, natural_width_p);
     }
   else
-    get_preferred_size_for_orientation (self, CLUTTER_ACTOR (container),
-                                        for_height,
+    get_preferred_size_for_orientation (self, CLUTTER_ACTOR (container), for_height,
                                        min_width_p, natural_width_p);
 }
 
@@ -466,13 +810,11 @@ clutter_box_layout_get_preferred_height (ClutterLayoutManager *layout,
        get_base_size_for_opposite_orientation (self, CLUTTER_ACTOR (container),
                                                min_height_p, natural_height_p);
       else
-       get_preferred_size_for_opposite_orientation (self, CLUTTER_ACTOR (container),
-                                                     for_width,
+       get_preferred_size_for_opposite_orientation (self, CLUTTER_ACTOR (container), for_width,
                                                     min_height_p, natural_height_p);
     }
   else
-    get_preferred_size_for_orientation (self, CLUTTER_ACTOR (container),
-                                        for_width,
+    get_preferred_size_for_orientation (self, CLUTTER_ACTOR (container), for_width,
                                        min_height_p, natural_height_p);
 }
 
@@ -495,9 +837,16 @@ count_expand_children (ClutterLayoutManager *layout,
     {
       if (CLUTTER_ACTOR_IS_VISIBLE (child))
         {
+          ClutterLayoutMeta *meta;
+
           *visible_children += 1;
 
-          if (clutter_actor_needs_expand (child, priv->orientation))
+          meta = clutter_layout_manager_get_child_meta (layout,
+                                                        container,
+                                                        child);
+
+          if (clutter_actor_needs_expand (child, priv->orientation) ||
+              CLUTTER_BOX_CHILD (meta)->expand)
             *expand_children += 1;
         }
     }
@@ -773,10 +1122,18 @@ clutter_box_layout_allocate (ClutterLayoutManager   *layout,
   clutter_actor_iter_init (&iter, actor);
   while (clutter_actor_iter_next (&iter, &child))
     {
+      ClutterLayoutMeta *meta;
+      ClutterBoxChild *box_child;
+
       /* If widget is not visible, skip it. */
       if (!CLUTTER_ACTOR_IS_VISIBLE (child))
         continue;
 
+      meta = clutter_layout_manager_get_child_meta (layout,
+                                                    container,
+                                                    child);
+      box_child = CLUTTER_BOX_CHILD (meta);
+
       /* Assign the child's size. */
       if (priv->is_homogeneous)
         {
@@ -792,7 +1149,8 @@ clutter_box_layout_allocate (ClutterLayoutManager   *layout,
         {
           child_size = sizes[i].minimum_size;
 
-          if (clutter_actor_needs_expand (child, priv->orientation))
+          if (clutter_actor_needs_expand (child, priv->orientation) ||
+              box_child->expand)
             {
               child_size += extra;
 
@@ -807,7 +1165,8 @@ clutter_box_layout_allocate (ClutterLayoutManager   *layout,
       /* Assign the child's position. */
       if (priv->orientation == CLUTTER_ORIENTATION_VERTICAL)
         {
-          if (clutter_actor_needs_expand (child, priv->orientation))
+          if (clutter_actor_needs_expand (child, priv->orientation) ||
+              box_child->y_fill)
             {
               child_allocation.y1 = y;
               child_allocation.y2 = child_allocation.y1 + MAX (1.0, child_size);
@@ -832,7 +1191,8 @@ clutter_box_layout_allocate (ClutterLayoutManager   *layout,
         }
       else /* CLUTTER_ORIENTATION_HORIZONTAL */
         {
-          if (clutter_actor_needs_expand (child, priv->orientation))
+          if (clutter_actor_needs_expand (child, priv->orientation) ||
+              box_child->x_fill)
             {
               child_allocation.x1 = x;
               child_allocation.x2 = child_allocation.x1 + MAX (1.0, child_size);
@@ -864,15 +1224,16 @@ clutter_box_layout_allocate (ClutterLayoutManager   *layout,
                                   - (child_allocation.x2 - child_allocation.x1);
               child_allocation.x2 = child_allocation.x1 + width;
             }
+
         }
 
-      allocate_box_child (CLUTTER_BOX_LAYOUT (layout),
-                          container,
-                          child,
-                          &child_allocation,
-                          flags);
+        allocate_box_child (CLUTTER_BOX_LAYOUT (layout),
+                            container,
+                            child,
+                            &child_allocation,
+                            flags);
 
-      i += 1;
+        i += 1;
     }
 }
 
@@ -886,6 +1247,10 @@ clutter_box_layout_set_property (GObject      *gobject,
 
   switch (prop_id)
     {
+    case PROP_VERTICAL:
+      clutter_box_layout_set_vertical (self, g_value_get_boolean (value));
+      break;
+
     case PROP_ORIENTATION:
       clutter_box_layout_set_orientation (self, g_value_get_enum (value));
       break;
@@ -902,6 +1267,18 @@ clutter_box_layout_set_property (GObject      *gobject,
       clutter_box_layout_set_pack_start (self, g_value_get_boolean (value));
       break;
 
+    case PROP_USE_ANIMATIONS:
+      clutter_box_layout_set_use_animations (self, g_value_get_boolean (value));
+      break;
+
+    case PROP_EASING_MODE:
+      clutter_box_layout_set_easing_mode (self, g_value_get_ulong (value));
+      break;
+
+    case PROP_EASING_DURATION:
+      clutter_box_layout_set_easing_duration (self, g_value_get_uint (value));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -918,6 +1295,11 @@ clutter_box_layout_get_property (GObject    *gobject,
 
   switch (prop_id)
     {
+    case PROP_VERTICAL:
+      g_value_set_boolean (value,
+                           priv->orientation == CLUTTER_ORIENTATION_VERTICAL);
+      break;
+
     case PROP_ORIENTATION:
       g_value_set_enum (value, priv->orientation);
       break;
@@ -934,6 +1316,18 @@ clutter_box_layout_get_property (GObject    *gobject,
       g_value_set_boolean (value, priv->is_pack_start);
       break;
 
+    case PROP_USE_ANIMATIONS:
+      g_value_set_boolean (value, priv->use_animations);
+      break;
+
+    case PROP_EASING_MODE:
+      g_value_set_ulong (value, priv->easing_mode);
+      break;
+
+    case PROP_EASING_DURATION:
+      g_value_set_uint (value, priv->easing_duration);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -952,16 +1346,37 @@ clutter_box_layout_class_init (ClutterBoxLayoutClass *klass)
   layout_class->get_preferred_height = clutter_box_layout_get_preferred_height;
   layout_class->allocate = clutter_box_layout_allocate;
   layout_class->set_container = clutter_box_layout_set_container;
+  layout_class->get_child_meta_type = clutter_box_layout_get_child_meta_type;
 
   g_type_class_add_private (klass, sizeof (ClutterBoxLayoutPrivate));
 
   /**
+   * ClutterBoxLayout:vertical:
+   *
+   * Whether the #ClutterBoxLayout should arrange its children
+   * alongside the Y axis, instead of alongside the X axis
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12: Use #ClutterBoxLayout:orientation instead.
+   */
+  obj_props[PROP_VERTICAL] =
+    g_param_spec_boolean ("vertical",
+                          P_("Vertical"),
+                          P_("Whether the layout should be vertical, "
+                             "rather than horizontal"),
+                          FALSE,
+                          G_PARAM_READWRITE |
+                          G_PARAM_STATIC_STRINGS |
+                          G_PARAM_DEPRECATED);
+
+  /**
    * ClutterBoxLayout:orientation:
    *
    * The orientation of the #ClutterBoxLayout, either horizontal
    * or vertical
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_ORIENTATION] =
     g_param_spec_enum ("orientation",
@@ -978,7 +1393,7 @@ clutter_box_layout_class_init (ClutterBoxLayoutClass *klass)
    * Whether the #ClutterBoxLayout should arrange its children
    * homogeneously, i.e. all childs get the same size
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_HOMOGENEOUS] =
     g_param_spec_boolean ("homogeneous",
@@ -994,7 +1409,7 @@ clutter_box_layout_class_init (ClutterBoxLayoutClass *klass)
    * Whether the #ClutterBoxLayout should pack items at the start
    * or append them at the end
    *
-   *
+   * Since: 1.2
    */
   obj_props[PROP_PACK_START] =
     g_param_spec_boolean ("pack-start",
@@ -1008,7 +1423,7 @@ clutter_box_layout_class_init (ClutterBoxLayoutClass *klass)
    *
    * The spacing between children of the #ClutterBoxLayout, in pixels
    *
-   *
+   * Since: 1.2
    */
   obj_props[PROP_SPACING] =
     g_param_spec_uint ("spacing",
@@ -1017,6 +1432,71 @@ clutter_box_layout_class_init (ClutterBoxLayoutClass *klass)
                        0, G_MAXUINT, 0,
                        CLUTTER_PARAM_READWRITE);
 
+  /**
+   * ClutterBoxLayout:use-animations:
+   *
+   * Whether the #ClutterBoxLayout should animate changes in the
+   * layout, overriding the easing state of the children.
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12: #ClutterBoxLayout will honour the easing state
+   *   of the children when allocating them.
+   */
+  obj_props[PROP_USE_ANIMATIONS] =
+    g_param_spec_boolean ("use-animations",
+                          P_("Use Animations"),
+                          P_("Whether layout changes should be animated"),
+                          FALSE,
+                          CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterBoxLayout:easing-mode:
+   *
+   * The easing mode for the animations, in case
+   * #ClutterBoxLayout:use-animations is set to %TRUE.
+   *
+   * The easing mode has the same semantics of #ClutterAnimation:mode: it can
+   * either be a value from the #ClutterAnimationMode enumeration, like
+   * %CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
+   * clutter_alpha_register_func().
+   *
+   * The default value is %CLUTTER_EASE_OUT_CUBIC.
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12: The #ClutterBoxLayout will honour the easing state of
+   *   the children when allocating them.
+   */
+  obj_props[PROP_EASING_MODE] =
+    g_param_spec_ulong ("easing-mode",
+                        P_("Easing Mode"),
+                        P_("The easing mode of the animations"),
+                        0, G_MAXULONG,
+                        CLUTTER_EASE_OUT_CUBIC,
+                        CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterBoxLayout:easing-duration:
+   *
+   * The duration of the animations, in case #ClutterBoxLayout:use-animations
+   * is set to %TRUE.
+   *
+   * The duration is expressed in milliseconds.
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12: The #ClutterBoxLayout will honour the easing state of
+   *   the children when allocating them.
+   */
+  obj_props[PROP_EASING_DURATION] =
+    g_param_spec_uint ("easing-duration",
+                       P_("Easing Duration"),
+                       P_("The duration of the animations"),
+                       0, G_MAXUINT,
+                       500,
+                       CLUTTER_PARAM_READWRITE);
+
   gobject_class->set_property = clutter_box_layout_set_property;
   gobject_class->get_property = clutter_box_layout_get_property;
   g_object_class_install_properties (gobject_class, PROP_LAST, obj_props);
@@ -1046,7 +1526,7 @@ clutter_box_layout_init (ClutterBoxLayout *layout)
  *
  * Return value: the newly created #ClutterBoxLayout
  *
- *
+ * Since: 1.2
  */
 ClutterLayoutManager *
 clutter_box_layout_new (void)
@@ -1061,7 +1541,7 @@ clutter_box_layout_new (void)
  *
  * Sets the spacing between children of @layout
  *
- *
+ * Since: 1.2
  */
 void
 clutter_box_layout_set_spacing (ClutterBoxLayout *layout,
@@ -1095,7 +1575,7 @@ clutter_box_layout_set_spacing (ClutterBoxLayout *layout,
  *
  * Return value: the spacing between children of the #ClutterBoxLayout
  *
- *
+ * Since: 1.2
  */
 guint
 clutter_box_layout_get_spacing (ClutterBoxLayout *layout)
@@ -1106,13 +1586,43 @@ clutter_box_layout_get_spacing (ClutterBoxLayout *layout)
 }
 
 /**
+ * clutter_box_layout_set_vertical:
+ * @layout: a #ClutterBoxLayout
+ * @vertical: %TRUE if the layout should be vertical
+ *
+ * Sets whether @layout should arrange its children vertically alongside
+ * the Y axis, instead of horizontally alongside the X axis
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use clutter_box_layout_set_orientation() instead.
+ */
+void
+clutter_box_layout_set_vertical (ClutterBoxLayout *layout,
+                                 gboolean          vertical)
+{
+  ClutterOrientation new_orientation, old_orientation;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+
+  old_orientation = layout->priv->orientation;
+  new_orientation = vertical
+                  ? CLUTTER_ORIENTATION_VERTICAL
+                  : CLUTTER_ORIENTATION_HORIZONTAL;
+  clutter_box_layout_set_orientation (layout, new_orientation);
+
+  if (old_orientation != new_orientation)
+    g_object_notify_by_pspec (G_OBJECT (layout), obj_props[PROP_VERTICAL]);
+}
+
+/**
  * clutter_box_layout_set_orientation:
  * @layout: a #ClutterBoxLayout
  * @orientation: the orientation of the #ClutterBoxLayout
  *
  * Sets the orientation of the #ClutterBoxLayout layout manager.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_box_layout_set_orientation (ClutterBoxLayout   *layout,
@@ -1138,6 +1648,28 @@ clutter_box_layout_set_orientation (ClutterBoxLayout   *layout,
 }
 
 /**
+ * clutter_box_layout_get_vertical:
+ * @layout: a #ClutterBoxLayout
+ *
+ * Retrieves the orientation of the @layout as set using the
+ * clutter_box_layout_set_vertical() function
+ *
+ * Return value: %TRUE if the #ClutterBoxLayout is arranging its children
+ *   vertically, and %FALSE otherwise
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use clutter_box_layout_get_orientation() instead
+ */
+gboolean
+clutter_box_layout_get_vertical (ClutterBoxLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_BOX_LAYOUT (layout), FALSE);
+
+  return layout->priv->orientation == CLUTTER_ORIENTATION_VERTICAL;
+}
+
+/**
  * clutter_box_layout_get_orientation:
  * @layout: a #ClutterBoxLayout
  *
@@ -1145,7 +1677,7 @@ clutter_box_layout_set_orientation (ClutterBoxLayout   *layout,
  *
  * Return value: the orientation of the layout
  *
- *
+ * Since: 1.12
  */
 ClutterOrientation
 clutter_box_layout_get_orientation (ClutterBoxLayout *layout)
@@ -1164,7 +1696,7 @@ clutter_box_layout_get_orientation (ClutterBoxLayout *layout)
  * Sets whether the size of @layout children should be
  * homogeneous
  *
- *
+ * Since: 1.4
  */
 void
 clutter_box_layout_set_homogeneous (ClutterBoxLayout *layout,
@@ -1199,7 +1731,7 @@ clutter_box_layout_set_homogeneous (ClutterBoxLayout *layout,
  * Return value: %TRUE if the #ClutterBoxLayout is arranging its children
  *   homogeneously, and %FALSE otherwise
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_box_layout_get_homogeneous (ClutterBoxLayout *layout)
@@ -1218,7 +1750,7 @@ clutter_box_layout_get_homogeneous (ClutterBoxLayout *layout)
  * Sets whether children of @layout should be layed out by appending
  * them or by prepending them
  *
- *
+ * Since: 1.2
  */
 void
 clutter_box_layout_set_pack_start (ClutterBoxLayout *layout,
@@ -1253,7 +1785,7 @@ clutter_box_layout_set_pack_start (ClutterBoxLayout *layout,
  * Return value: %TRUE if the #ClutterBoxLayout should pack children
  *  at the beginning of the layout, and %FALSE otherwise
  *
- *
+ * Since: 1.2
  */
 gboolean
 clutter_box_layout_get_pack_start (ClutterBoxLayout *layout)
@@ -1262,3 +1794,562 @@ clutter_box_layout_get_pack_start (ClutterBoxLayout *layout)
 
   return layout->priv->is_pack_start;
 }
+
+/**
+ * clutter_box_layout_pack:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor
+ * @expand: whether the @actor should expand
+ * @x_fill: whether the @actor should fill horizontally
+ * @y_fill: whether the @actor should fill vertically
+ * @x_align: the horizontal alignment policy for @actor
+ * @y_align: the vertical alignment policy for @actor
+ *
+ * Packs @actor inside the #ClutterContainer associated to @layout
+ * and sets the layout properties
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout honours #ClutterActor's
+ *   align and expand properties. The preferred way is adding
+ *   the @actor with clutter_actor_add_child() and setting
+ *   #ClutterActor:x-align, #ClutterActor:y-align,
+ *   #ClutterActor:x-expand and #ClutterActor:y-expand
+ */
+void
+clutter_box_layout_pack (ClutterBoxLayout    *layout,
+                         ClutterActor        *actor,
+                         gboolean             expand,
+                         gboolean             x_fill,
+                         gboolean             y_fill,
+                         ClutterBoxAlignment  x_align,
+                         ClutterBoxAlignment  y_align)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before adding children",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  clutter_container_add_actor (priv->container, actor);
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  box_child_set_align (CLUTTER_BOX_CHILD (meta), x_align, y_align);
+  box_child_set_fill (CLUTTER_BOX_CHILD (meta), x_fill, y_fill);
+  box_child_set_expand (CLUTTER_BOX_CHILD (meta), expand);
+}
+
+/**
+ * clutter_box_layout_set_alignment:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_align: Horizontal alignment policy for @actor
+ * @y_align: Vertical alignment policy for @actor
+ *
+ * Sets the horizontal and vertical alignment policies for @actor
+ * inside @layout
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout will honour #ClutterActor's
+ *   #ClutterActor:x-align and #ClutterActor:y-align properies
+ */
+void
+clutter_box_layout_set_alignment (ClutterBoxLayout    *layout,
+                                  ClutterActor        *actor,
+                                  ClutterBoxAlignment  x_align,
+                                  ClutterBoxAlignment  y_align)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  box_child_set_align (CLUTTER_BOX_CHILD (meta), x_align, y_align);
+}
+
+/**
+ * clutter_box_layout_get_alignment:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_align: (out): return location for the horizontal alignment policy
+ * @y_align: (out): return location for the vertical alignment policy
+ *
+ * Retrieves the horizontal and vertical alignment policies for @actor
+ * as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout will honour #ClutterActor's
+ *   #ClutterActor:x-align and #ClutterActor:y-align properies
+ */
+void
+clutter_box_layout_get_alignment (ClutterBoxLayout    *layout,
+                                  ClutterActor        *actor,
+                                  ClutterBoxAlignment *x_align,
+                                  ClutterBoxAlignment *y_align)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  if (x_align)
+    *x_align = CLUTTER_BOX_CHILD (meta)->x_align;
+
+  if (y_align)
+    *y_align = CLUTTER_BOX_CHILD (meta)->y_align;
+}
+
+/**
+ * clutter_box_layout_set_fill:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_fill: whether @actor should fill horizontally the allocated space
+ * @y_fill: whether @actor should fill vertically the allocated space
+ *
+ * Sets the horizontal and vertical fill policies for @actor
+ * inside @layout
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout will honour #ClutterActor's
+ *   #ClutterActor:x-align and #ClutterActor:y-align properies
+ */
+void
+clutter_box_layout_set_fill (ClutterBoxLayout *layout,
+                             ClutterActor     *actor,
+                             gboolean          x_fill,
+                             gboolean          y_fill)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  box_child_set_fill (CLUTTER_BOX_CHILD (meta), x_fill, y_fill);
+}
+
+/**
+ * clutter_box_layout_get_fill:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_fill: (out): return location for the horizontal fill policy
+ * @y_fill: (out): return location for the vertical fill policy
+ *
+ * Retrieves the horizontal and vertical fill policies for @actor
+ * as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout will honour #ClutterActor's
+ *   #ClutterActor:x-align and #ClutterActor:y-align properies
+ */
+void
+clutter_box_layout_get_fill (ClutterBoxLayout *layout,
+                             ClutterActor     *actor,
+                             gboolean         *x_fill,
+                             gboolean         *y_fill)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  if (x_fill)
+    *x_fill = CLUTTER_BOX_CHILD (meta)->x_fill;
+
+  if (y_fill)
+    *y_fill = CLUTTER_BOX_CHILD (meta)->y_fill;
+}
+
+/**
+ * clutter_box_layout_set_expand:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor child of @layout
+ * @expand: whether @actor should expand
+ *
+ * Sets whether @actor should expand inside @layout
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout will honour #ClutterActor's
+ *   #ClutterActor:x-expand and #ClutterActor:y-expand properies
+ */
+void
+clutter_box_layout_set_expand (ClutterBoxLayout *layout,
+                               ClutterActor     *actor,
+                               gboolean          expand)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  box_child_set_expand (CLUTTER_BOX_CHILD (meta), expand);
+}
+
+/**
+ * clutter_box_layout_get_expand:
+ * @layout: a #ClutterBoxLayout
+ * @actor: a #ClutterActor child of @layout
+ *
+ * Retrieves whether @actor should expand inside @layout
+ *
+ * Return value: %TRUE if the #ClutterActor should expand, %FALSE otherwise
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: #ClutterBoxLayout will honour #ClutterActor's
+ *   #ClutterActor:x-expand and #ClutterActor:y-expand properies
+ */
+gboolean
+clutter_box_layout_get_expand (ClutterBoxLayout *layout,
+                               ClutterActor     *actor)
+{
+  ClutterBoxLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_val_if_fail (CLUTTER_IS_BOX_LAYOUT (layout), FALSE);
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), FALSE);
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return FALSE;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return FALSE;
+    }
+
+  g_assert (CLUTTER_IS_BOX_CHILD (meta));
+
+  return CLUTTER_BOX_CHILD (meta)->expand;
+}
+
+/**
+ * clutter_box_layout_set_use_animations:
+ * @layout: a #ClutterBoxLayout
+ * @animate: %TRUE if the @layout should use animations
+ *
+ * Sets whether @layout should animate changes in the layout properties
+ *
+ * The duration of the animations is controlled by
+ * clutter_box_layout_set_easing_duration(); the easing mode to be used
+ * by the animations is controlled by clutter_box_layout_set_easing_mode().
+ *
+ * Enabling animations will override the easing state of each child
+ * of the actor using @layout, and will use the #ClutterBoxLayout:easing-mode
+ * and #ClutterBoxLayout:easing-duration properties instead.
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: The layout manager will honour the easing state
+ *   of the children when allocating them.
+ */
+void
+clutter_box_layout_set_use_animations (ClutterBoxLayout *layout,
+                                       gboolean          animate)
+{
+  ClutterBoxLayoutPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+
+  priv = layout->priv;
+
+  if (priv->use_animations != animate)
+    {
+      priv->use_animations = animate;
+
+      g_object_notify (G_OBJECT (layout), "use-animations");
+    }
+}
+
+/**
+ * clutter_box_layout_get_use_animations:
+ * @layout: a #ClutterBoxLayout
+ *
+ * Retrieves whether @layout should animate changes in the layout properties.
+ *
+ * Return value: %TRUE if the animations should be used, %FALSE otherwise
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_box_layout_get_use_animations (ClutterBoxLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_BOX_LAYOUT (layout), FALSE);
+
+  return layout->priv->use_animations;
+}
+
+/**
+ * clutter_box_layout_set_easing_mode:
+ * @layout: a #ClutterBoxLayout
+ * @mode: an easing mode, either from #ClutterAnimationMode or a logical id
+ *   from clutter_alpha_register_func()
+ *
+ * Sets the easing mode to be used by @layout when animating changes in layout
+ * properties.
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: The layout manager will honour the easing state
+ *   of the children when allocating them.
+ */
+void
+clutter_box_layout_set_easing_mode (ClutterBoxLayout *layout,
+                                    gulong            mode)
+{
+  ClutterBoxLayoutPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+
+  priv = layout->priv;
+
+  if (priv->easing_mode != mode)
+    {
+      priv->easing_mode = mode;
+
+      g_object_notify (G_OBJECT (layout), "easing-mode");
+    }
+}
+
+/**
+ * clutter_box_layout_get_easing_mode:
+ * @layout: a #ClutterBoxLayout
+ *
+ * Retrieves the easing mode set using clutter_box_layout_set_easing_mode()
+ *
+ * Return value: an easing mode
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+gulong
+clutter_box_layout_get_easing_mode (ClutterBoxLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_BOX_LAYOUT (layout),
+                        CLUTTER_EASE_OUT_CUBIC);
+
+  return layout->priv->easing_mode;
+}
+
+/**
+ * clutter_box_layout_set_easing_duration:
+ * @layout: a #ClutterBoxLayout
+ * @msecs: the duration of the animations, in milliseconds
+ *
+ * Sets the duration of the animations used by @layout when animating changes
+ * in the layout properties.
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: The layout manager will honour the easing state
+ *   of the children when allocating them.
+ */
+void
+clutter_box_layout_set_easing_duration (ClutterBoxLayout *layout,
+                                        guint             msecs)
+{
+  ClutterBoxLayoutPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BOX_LAYOUT (layout));
+
+  priv = layout->priv;
+
+  if (priv->easing_duration != msecs)
+    {
+      priv->easing_duration = msecs;
+
+      g_object_notify (G_OBJECT (layout), "easing-duration");
+    }
+}
+
+/**
+ * clutter_box_layout_get_easing_duration:
+ * @layout: a #ClutterBoxLayout
+ *
+ * Retrieves the duration set using clutter_box_layout_set_easing_duration()
+ *
+ * Return value: the duration of the animations, in milliseconds
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+guint
+clutter_box_layout_get_easing_duration (ClutterBoxLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_BOX_LAYOUT (layout), 500);
+
+  return layout->priv->easing_duration;
+}
diff --git a/clutter/clutter-box-layout.h b/clutter/clutter-box-layout.h
index a5c144d..32daca8 100644
--- a/clutter/clutter-box-layout.h
+++ b/clutter/clutter-box-layout.h
@@ -53,7 +53,7 @@ typedef struct _ClutterBoxLayoutClass           ClutterBoxLayoutClass;
  * The #ClutterBoxLayout structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterBoxLayout
 {
@@ -69,7 +69,7 @@ struct _ClutterBoxLayout
  * The #ClutterBoxLayoutClass structure contains only private
  * data and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterBoxLayoutClass
 {
@@ -81,10 +81,10 @@ GType clutter_box_layout_get_type (void) G_GNUC_CONST;
 
 ClutterLayoutManager *  clutter_box_layout_new                 (void);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_box_layout_set_orientation      (ClutterBoxLayout    *layout,
                                                                  ClutterOrientation   orientation);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterOrientation      clutter_box_layout_get_orientation      (ClutterBoxLayout    *layout);
 
 void                    clutter_box_layout_set_spacing          (ClutterBoxLayout    *layout,
@@ -97,6 +97,63 @@ void                    clutter_box_layout_set_pack_start       (ClutterBoxLayou
                                                                  gboolean             pack_start);
 gboolean                clutter_box_layout_get_pack_start       (ClutterBoxLayout    *layout);
 
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_box_layout_set_orientation)
+void                    clutter_box_layout_set_vertical         (ClutterBoxLayout    *layout,
+                                                                 gboolean             vertical);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_box_layout_get_orientation)
+gboolean                clutter_box_layout_get_vertical         (ClutterBoxLayout    *layout);
+
+void                    clutter_box_layout_pack                 (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor,
+                                                                 gboolean             expand,
+                                                                 gboolean             x_fill,
+                                                                 gboolean             y_fill,
+                                                                 ClutterBoxAlignment  x_align,
+                                                                 ClutterBoxAlignment  y_align);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_set_alignment        (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor,
+                                                                 ClutterBoxAlignment  x_align,
+                                                                 ClutterBoxAlignment  y_align);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_get_alignment        (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor,
+                                                                 ClutterBoxAlignment *x_align,
+                                                                 ClutterBoxAlignment *y_align);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_set_fill             (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor,
+                                                                 gboolean             x_fill,
+                                                                 gboolean             y_fill);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_get_fill             (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor,
+                                                                 gboolean            *x_fill,
+                                                                 gboolean            *y_fill);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_set_expand           (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor,
+                                                                 gboolean             expand);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_box_layout_get_expand           (ClutterBoxLayout    *layout,
+                                                                 ClutterActor        *actor);
+
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_set_use_animations   (ClutterBoxLayout    *layout,
+                                                                 gboolean             animate);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_box_layout_get_use_animations   (ClutterBoxLayout    *layout);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_set_easing_mode      (ClutterBoxLayout    *layout,
+                                                                 gulong               mode);
+CLUTTER_DEPRECATED_IN_1_12
+gulong                  clutter_box_layout_get_easing_mode      (ClutterBoxLayout    *layout);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_box_layout_set_easing_duration  (ClutterBoxLayout    *layout,
+                                                                 guint                msecs);
+CLUTTER_DEPRECATED_IN_1_12
+guint                   clutter_box_layout_get_easing_duration  (ClutterBoxLayout    *layout);
+
 G_END_DECLS
 
 #endif /* __CLUTTER_BOX_LAYOUT_H__ */
diff --git a/clutter/clutter-brightness-contrast-effect.c b/clutter/clutter-brightness-contrast-effect.c
index 1ff8ee3..7b03732 100644
--- a/clutter/clutter-brightness-contrast-effect.c
+++ b/clutter/clutter-brightness-contrast-effect.c
@@ -314,7 +314,7 @@ clutter_brightness_contrast_effect_class_init (ClutterBrightnessContrastEffectCl
    * in brightness, and values larger than 127 indicate an increase in
    * brightness.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_BRIGHTNESS] =
     clutter_param_spec_color ("brightness",
@@ -334,7 +334,7 @@ clutter_brightness_contrast_effect_class_init (ClutterBrightnessContrastEffectCl
    * in contrast, and values larger than 127 indicate an increase in
    * contrast.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_CONTRAST] =
     clutter_param_spec_color ("contrast",
@@ -468,7 +468,7 @@ clutter_brightness_contrast_effect_init (ClutterBrightnessContrastEffect *self)
  *   #ClutterBrightnessContrastEffect or %NULL.  Use g_object_unref() when
  *   done.
  *
- *
+ * Since: 1.10
  */
 ClutterEffect *
 clutter_brightness_contrast_effect_new (void)
@@ -487,7 +487,7 @@ clutter_brightness_contrast_effect_new (void)
  * values below 0.0 mean a decrease in brightness, and values above indicate
  * an increase.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_brightness_contrast_effect_set_brightness_full (ClutterBrightnessContrastEffect *effect,
@@ -525,7 +525,7 @@ clutter_brightness_contrast_effect_set_brightness_full (ClutterBrightnessContras
  *
  * Retrieves the change in brightness used by @effect.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_brightness_contrast_effect_get_brightness (ClutterBrightnessContrastEffect *effect,
@@ -554,7 +554,7 @@ clutter_brightness_contrast_effect_get_brightness (ClutterBrightnessContrastEffe
  * a value below 0.0 indicates a decrease in brightness; and a value
  * above 0.0 indicates an increase of brightness.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_brightness_contrast_effect_set_brightness (ClutterBrightnessContrastEffect *effect,
@@ -577,7 +577,7 @@ clutter_brightness_contrast_effect_set_brightness (ClutterBrightnessContrastEffe
  * values below 0.0 mean a decrease in contrast, and values above indicate
  * an increase.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_brightness_contrast_effect_set_contrast_full (ClutterBrightnessContrastEffect *effect,
@@ -615,7 +615,7 @@ clutter_brightness_contrast_effect_set_contrast_full (ClutterBrightnessContrastE
  *
  * Retrieves the contrast value used by @effect.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_brightness_contrast_effect_get_contrast (ClutterBrightnessContrastEffect *effect,
@@ -644,7 +644,7 @@ clutter_brightness_contrast_effect_get_contrast (ClutterBrightnessContrastEffect
  * a value below 0.0 indicates a decrease in contrast; and a value above
  * 0.0 indicates an increase.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_brightness_contrast_effect_set_contrast (ClutterBrightnessContrastEffect *effect,
diff --git a/clutter/clutter-brightness-contrast-effect.h b/clutter/clutter-brightness-contrast-effect.h
index d94c5a7..b4b3a40 100644
--- a/clutter/clutter-brightness-contrast-effect.h
+++ b/clutter/clutter-brightness-contrast-effect.h
@@ -44,7 +44,7 @@ G_BEGIN_DECLS
  * <structname>ClutterBrightnessContrastEffect</structname> is an opaque structure
  * whose members cannot be directly accessed
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterBrightnessContrastEffect         ClutterBrightnessContrastEffect;
 typedef struct _ClutterBrightnessContrastEffectClass    ClutterBrightnessContrastEffectClass;
diff --git a/clutter/clutter-cairo.c b/clutter/clutter-cairo.c
index d38f800..fac7c18 100644
--- a/clutter/clutter-cairo.c
+++ b/clutter/clutter-cairo.c
@@ -50,7 +50,7 @@
  *                          color->alpha / 255.0);
  * ]|
  *
- *
+ * Since: 1.0
  */
 void
 clutter_cairo_set_source_color (cairo_t            *cr,
@@ -78,7 +78,7 @@ clutter_cairo_set_source_color (cairo_t            *cr,
  *
  * Utility function to clear a Cairo context.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_cairo_clear (cairo_t *cr)
diff --git a/clutter/clutter-cairo.h b/clutter/clutter-cairo.h
index 60c7ce8..f6bd9d8 100644
--- a/clutter/clutter-cairo.h
+++ b/clutter/clutter-cairo.h
@@ -37,7 +37,7 @@ G_BEGIN_DECLS
  * and to a Cairo image surface using %CAIRO_FORMAT_ARGB32 and
  * %CAIRO_FORMAT_RGB24 as #cairo_format_t.
  *
- *
+ * Since: 1.8
  */
 
 /* Cairo stores the data in native byte order as ARGB but Cogl's pixel
diff --git a/clutter/clutter-canvas.c b/clutter/clutter-canvas.c
index 5be97a5..43c0e75 100644
--- a/clutter/clutter-canvas.c
+++ b/clutter/clutter-canvas.c
@@ -74,9 +74,6 @@ struct _ClutterCanvasPrivate
   int width;
   int height;
 
-  CoglTexture *texture;
-  gboolean dirty;
-
   CoglBitmap *buffer;
 };
 
@@ -140,8 +137,6 @@ clutter_canvas_finalize (GObject *gobject)
       priv->buffer = NULL;
     }
 
-  g_clear_pointer (&priv->texture, cogl_object_unref);
-
   G_OBJECT_CLASS (clutter_canvas_parent_class)->finalize (gobject);
 }
 
@@ -213,7 +208,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
    *
    * The width of the canvas.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_WIDTH] =
     g_param_spec_int ("width",
@@ -229,7 +224,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
    *
    * The height of the canvas.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_HEIGHT] =
     g_param_spec_int ("height",
@@ -257,7 +252,7 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
    * Return value: %TRUE if the signal emission should stop, and
    *   %FALSE otherwise
    *
-   *
+   * Since: 1.10
    */
   canvas_signals[DRAW] =
     g_signal_new (I_("draw"),
@@ -294,26 +289,21 @@ clutter_canvas_paint_content (ClutterContent   *content,
                               ClutterPaintNode *root)
 {
   ClutterCanvas *self = CLUTTER_CANVAS (content);
-  ClutterCanvasPrivate *priv = self->priv;
   ClutterPaintNode *node;
+  CoglTexture *texture;
   ClutterActorBox box;
   ClutterColor color;
   guint8 paint_opacity;
   ClutterScalingFilter min_f, mag_f;
   ClutterContentRepeat repeat;
 
-  if (priv->buffer == NULL)
+  if (self->priv->buffer == NULL)
     return;
 
-  if (priv->texture && priv->dirty)
-    g_clear_pointer (&priv->texture, cogl_object_unref);
-
-  if (!priv->texture)
-    priv->texture = cogl_texture_new_from_bitmap (self->priv->buffer,
-                                                  COGL_TEXTURE_NO_SLICING,
-                                                  CLUTTER_CAIRO_FORMAT_ARGB32);
-
-  if (priv->texture == NULL)
+  texture = cogl_texture_new_from_bitmap (self->priv->buffer,
+                                          COGL_TEXTURE_NO_SLICING,
+                                          CLUTTER_CAIRO_FORMAT_ARGB32);
+  if (texture == NULL)
     return;
 
   clutter_actor_get_content_box (actor, &box);
@@ -326,7 +316,8 @@ clutter_canvas_paint_content (ClutterContent   *content,
   color.blue = paint_opacity;
   color.alpha = paint_opacity;
 
-  node = clutter_texture_node_new (priv->texture, &color, min_f, mag_f);
+  node = clutter_texture_node_new (texture, &color, min_f, mag_f);
+  cogl_object_unref (texture);
 
   clutter_paint_node_set_name (node, "Canvas");
 
@@ -337,10 +328,10 @@ clutter_canvas_paint_content (ClutterContent   *content,
       float t_w = 1.f, t_h = 1.f;
 
       if ((repeat & CLUTTER_REPEAT_X_AXIS) != FALSE)
-        t_w = (box.x2 - box.x1) / cogl_texture_get_width (priv->texture);
+        t_w = (box.x2 - box.x1) / cogl_texture_get_width (texture);
 
       if ((repeat & CLUTTER_REPEAT_Y_AXIS) != FALSE)
-        t_h = (box.y2 - box.y1) / cogl_texture_get_height (priv->texture);
+        t_h = (box.y2 - box.y1) / cogl_texture_get_height (texture);
 
       clutter_paint_node_add_texture_rectangle (node, &box,
                                                 0.f, 0.f,
@@ -349,8 +340,6 @@ clutter_canvas_paint_content (ClutterContent   *content,
 
   clutter_paint_node_add_child (root, node);
   clutter_paint_node_unref (node);
-
-  priv->dirty = FALSE;
 }
 
 static void
@@ -366,8 +355,6 @@ clutter_canvas_emit_draw (ClutterCanvas *self)
 
   g_assert (priv->width > 0 && priv->width > 0);
 
-  priv->dirty = TRUE;
-
   if (priv->buffer == NULL)
     {
       CoglContext *ctx;
@@ -499,7 +486,7 @@ clutter_content_iface_init (ClutterContentIface *iface)
  * Return value: (transfer full): The newly allocated instance of
  *   #ClutterCanvas. Use g_object_unref() when done.
  *
- *
+ * Since: 1.10
  */
 ClutterContent *
 clutter_canvas_new (void)
@@ -517,7 +504,7 @@ clutter_canvas_new (void)
  *
  * This function will cause the @canvas to be invalidated.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_canvas_set_size (ClutterCanvas *canvas,
diff --git a/clutter/clutter-canvas.h b/clutter/clutter-canvas.h
index 9fe2a9a..c0c27fd 100644
--- a/clutter/clutter-canvas.h
+++ b/clutter/clutter-canvas.h
@@ -51,7 +51,7 @@ typedef struct _ClutterCanvasClass      ClutterCanvasClass;
  * private data and should only be accessed using the provided
  * API.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterCanvas
 {
@@ -68,7 +68,7 @@ struct _ClutterCanvas
  * The <structname>ClutterCanvasClass</structname> structure contains
  * private data.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterCanvasClass
 {
@@ -85,12 +85,12 @@ struct _ClutterCanvasClass
   gpointer _padding[16];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_canvas_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterContent *        clutter_canvas_new              (void);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_canvas_set_size         (ClutterCanvas *canvas,
                                                          int            width,
                                                          int            height);
diff --git a/clutter/clutter-child-meta.c b/clutter/clutter-child-meta.c
index c4121b8..aeabd2f 100644
--- a/clutter/clutter-child-meta.c
+++ b/clutter/clutter-child-meta.c
@@ -120,7 +120,7 @@ clutter_child_meta_class_init (ClutterChildMetaClass *klass)
    *
    * The #ClutterContainer that created this #ClutterChildMeta.
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_CONTAINER] =
     g_param_spec_object ("container",
@@ -135,7 +135,7 @@ clutter_child_meta_class_init (ClutterChildMetaClass *klass)
    *
    * The #ClutterActor being wrapped by this #ClutterChildMeta
    *
-   *
+   * Since: 0.8
    */
   obj_props[PROP_ACTOR] =
     g_param_spec_object ("actor",
@@ -163,7 +163,7 @@ clutter_child_meta_init (ClutterChildMeta *self)
  *
  * Return value: (transfer none): a #ClutterContainer
  *
- *
+ * Since: 0.8
  */
 ClutterContainer *
 clutter_child_meta_get_container (ClutterChildMeta *data)
@@ -181,7 +181,7 @@ clutter_child_meta_get_container (ClutterChildMeta *data)
  *
  * Return value: (transfer none): a #ClutterActor
  *
- *
+ * Since: 0.8
  */
 ClutterActor *
 clutter_child_meta_get_actor (ClutterChildMeta *data)
diff --git a/clutter/clutter-child-meta.h b/clutter/clutter-child-meta.h
index e00e278..0a249f0 100644
--- a/clutter/clutter-child-meta.h
+++ b/clutter/clutter-child-meta.h
@@ -85,7 +85,7 @@ typedef struct _ClutterChildMetaClass           ClutterChildMetaClass;
  * <function>destroy_child_meta</function>,
  * and <function>get_child_meta</function>.
  *
- *
+ * Since: 0.8
  */
 struct _ClutterChildMeta
 {
@@ -102,7 +102,7 @@ struct _ClutterChildMeta
  *
  * The #ClutterChildMetaClass contains only private data
  *
- *
+ * Since: 0.8
  */
 struct _ClutterChildMetaClass
 {
diff --git a/clutter/clutter-click-action.c b/clutter/clutter-click-action.c
index 5aab228..3fe164c 100644
--- a/clutter/clutter-click-action.c
+++ b/clutter/clutter-click-action.c
@@ -552,7 +552,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
    *
    * Whether the clickable actor should be in "pressed" state
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_PRESSED] =
     g_param_spec_boolean ("pressed",
@@ -566,7 +566,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
    *
    * Whether the clickable actor has the pointer grabbed
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_HELD] =
     g_param_spec_boolean ("held",
@@ -584,7 +584,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
    * A value of -1 will make the #ClutterClickAction use the value of
    * the #ClutterSettings:long-press-duration property.
    *
-   *
+   * Since: 1.8
    */
   obj_props[PROP_LONG_PRESS_DURATION] =
     g_param_spec_int ("long-press-duration",
@@ -603,7 +603,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
    * A value of -1 will make the #ClutterClickAction use the value of
    * the #ClutterSettings:dnd-drag-threshold property.
    *
-   *
+   * Since: 1.8
    */
   obj_props[PROP_LONG_PRESS_THRESHOLD] =
     g_param_spec_int ("long-press-threshold",
@@ -626,7 +626,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
    * a #ClutterClickAction has been applied should respond to a
    * pointer button press and release events
    *
-   *
+   * Since: 1.4
    */
   click_signals[CLICKED] =
     g_signal_new (I_("clicked"),
@@ -663,7 +663,7 @@ clutter_click_action_class_init (ClutterClickActionClass *klass)
    * Return value: Only the %CLUTTER_LONG_PRESS_QUERY state uses the
    *   returned value of the handler; other states will ignore it
    *
-   *
+   * Since: 1.8
    */
   click_signals[LONG_PRESS] =
     g_signal_new (I_("long-press"),
@@ -694,7 +694,7 @@ clutter_click_action_init (ClutterClickAction *self)
  *
  * Return value: the newly created #ClutterClickAction
  *
- *
+ * Since: 1.4
  */
 ClutterAction *
 clutter_click_action_new (void)
@@ -715,7 +715,7 @@ clutter_click_action_new (void)
  * This function is useful to break a grab, for instance after a certain
  * amount of time has passed.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_click_action_release (ClutterClickAction *action)
@@ -749,7 +749,7 @@ clutter_click_action_release (ClutterClickAction *action)
  *
  * Return value: the button value
  *
- *
+ * Since: 1.4
  */
 guint
 clutter_click_action_get_button (ClutterClickAction *action)
@@ -767,7 +767,7 @@ clutter_click_action_get_button (ClutterClickAction *action)
  *
  * Return value: the modifier state parameter, or 0
  *
- *
+ * Since: 1.6
  */
 ClutterModifierType
 clutter_click_action_get_state (ClutterClickAction *action)
@@ -785,7 +785,7 @@ clutter_click_action_get_state (ClutterClickAction *action)
  *
  * Retrieves the screen coordinates of the button press.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_click_action_get_coords (ClutterClickAction *action,
diff --git a/clutter/clutter-click-action.h b/clutter/clutter-click-action.h
index 6cfba88..36c5727 100644
--- a/clutter/clutter-click-action.h
+++ b/clutter/clutter-click-action.h
@@ -54,7 +54,7 @@ typedef struct _ClutterClickActionClass         ClutterClickActionClass;
  * The <structname>ClutterClickAction</structname> structure contains
  * only private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterClickAction
 {
@@ -72,7 +72,7 @@ struct _ClutterClickAction
  * The <structname>ClutterClickActionClass</structname> structure
  * contains only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterClickActionClass
 {
diff --git a/clutter/clutter-clone.c b/clutter/clutter-clone.c
index 511ddc2..1f94ab2 100644
--- a/clutter/clutter-clone.c
+++ b/clutter/clutter-clone.c
@@ -338,7 +338,7 @@ clutter_clone_class_init (ClutterCloneClass *klass)
    *
    * This property specifies the source actor being cloned.
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_SOURCE] =
     g_param_spec_object ("source",
@@ -369,7 +369,7 @@ clutter_clone_init (ClutterClone *self)
  *
  * Return value: the newly created #ClutterClone
  *
- *
+ * Since: 1.0
  */
 ClutterActor *
 clutter_clone_new (ClutterActor *source)
@@ -411,7 +411,7 @@ clutter_clone_set_source_internal (ClutterClone *self,
  *
  * Sets @source as the source actor to be cloned by @self.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_clone_set_source (ClutterClone *self,
@@ -432,7 +432,7 @@ clutter_clone_set_source (ClutterClone *self,
  *
  * Return value: (transfer none): the actor source for the clone
  *
- *
+ * Since: 1.0
  */
 ClutterActor *
 clutter_clone_get_source (ClutterClone *self)
diff --git a/clutter/clutter-clone.h b/clutter/clutter-clone.h
index de4bac2..14fef88 100644
--- a/clutter/clutter-clone.h
+++ b/clutter/clutter-clone.h
@@ -49,7 +49,7 @@ typedef struct _ClutterClonePrivate     ClutterClonePrivate;
  * The #ClutterClone structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.0
  */
 struct _ClutterClone
 {
@@ -64,7 +64,7 @@ struct _ClutterClone
  *
  * The #ClutterCloneClass structure contains only private data
  *
- *
+ * Since: 1.0
  */
 struct _ClutterCloneClass
 {
diff --git a/clutter/clutter-color.c b/clutter/clutter-color.c
index 2dd376d..dd49ed3 100644
--- a/clutter/clutter-color.c
+++ b/clutter/clutter-color.c
@@ -113,7 +113,7 @@ static const ClutterColor const static_colors[] = {
  * Return value: a pointer to a static color; the returned pointer
  *   is owned by Clutter and it should never be modified or freed
  *
- *
+ * Since: 1.6
  */
 const ClutterColor *
 clutter_color_get_static (ClutterStaticColor color)
@@ -669,7 +669,7 @@ parse_hsla (ClutterColor *color,
  *
  * Return value: %TRUE if parsing succeeded, and %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_color_from_string (ClutterColor *color,
@@ -803,7 +803,7 @@ clutter_color_from_string (ClutterColor *color,
  *
  * Return value: (transfer full): a newly-allocated text string
  *
- *
+ * Since: 0.2
  */
 gchar *
 clutter_color_to_string (const ClutterColor *color)
@@ -829,7 +829,7 @@ clutter_color_to_string (const ClutterColor *color)
  *
  * Return value: %TRUE if the two colors are the same.
  *
- *
+ * Since: 0.2
  */
 gboolean
 clutter_color_equal (gconstpointer v1,
@@ -863,7 +863,7 @@ clutter_color_equal (gconstpointer v1,
  *
  * Return value: a hash value corresponding to the color
  *
- *
+ * Since: 1.0
  */
 guint
 clutter_color_hash (gconstpointer v)
@@ -881,7 +881,7 @@ clutter_color_hash (gconstpointer v)
  * Interpolates between @initial and @final #ClutterColor<!-- -->s
  * using @progress
  *
- *
+ * Since: 1.6
  */
 void
 clutter_color_interpolate (const ClutterColor *initial,
@@ -924,7 +924,7 @@ clutter_color_progress (const GValue *a,
  *
  * Return value: (transfer full): an allocated copy of @color.
  *
- *
+ * Since: 0.2
  */
 ClutterColor *
 clutter_color_copy (const ClutterColor *color)
@@ -941,7 +941,7 @@ clutter_color_copy (const ClutterColor *color)
  *
  * Frees a color structure created with clutter_color_copy().
  *
- *
+ * Since: 0.2
  */
 void
 clutter_color_free (ClutterColor *color)
@@ -968,7 +968,7 @@ clutter_color_free (ClutterColor *color)
  * Return value: (transfer full): the newly allocated color.
  *   Use clutter_color_free() when done
  *
- *
+ * Since: 0.8.4
  */
 ClutterColor *
 clutter_color_new (guint8 red,
@@ -991,7 +991,7 @@ clutter_color_new (guint8 red,
  * Return value: (transfer full): the newly allocated #ClutterColor; use
  *   clutter_color_free() to free its resources
  *
- *
+ * Since: 1.12
  */
 ClutterColor *
 clutter_color_alloc (void)
@@ -1011,7 +1011,7 @@ clutter_color_alloc (void)
  *
  * Return value: (transfer none): the initialized #ClutterColor
  *
- *
+ * Since: 1.12
  */
 ClutterColor *
 clutter_color_init (ClutterColor *color,
@@ -1078,7 +1078,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterColor, clutter_color,
  *
  * Sets @value to @color.
  *
- *
+ * Since: 0.8.4
  */
 void
 clutter_value_set_color (GValue             *value,
@@ -1097,7 +1097,7 @@ clutter_value_set_color (GValue             *value,
  *
  * Return value: (transfer none): the color inside the passed #GValue
  *
- *
+ * Since: 0.8.4
  */
 const ClutterColor *
 clutter_value_get_color (const GValue *value)
@@ -1192,7 +1192,7 @@ clutter_param_color_get_type (void)
  *
  * Return value: the newly created #GParamSpec
  *
- *
+ * Since: 0.8.4
  */
 GParamSpec *
 clutter_param_spec_color (const gchar        *name,
diff --git a/clutter/clutter-color.h b/clutter/clutter-color.h
index b13b5ef..393eee4 100644
--- a/clutter/clutter-color.h
+++ b/clutter/clutter-color.h
@@ -64,7 +64,7 @@ struct _ClutterColor
  *
  * A macro that initializes a #ClutterColor, to be used when declaring it.
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_COLOR_INIT(r,g,b,a)     { (r), (g), (b), (a) }
 
@@ -133,7 +133,7 @@ void          clutter_color_interpolate (const ClutterColor *initial,
  *
  * Evaluates to %TRUE if @x holds a #ClutterColor<!-- -->.
  *
- *
+ * Since: 1.0
  */
 #define CLUTTER_VALUE_HOLDS_COLOR(x)       (G_VALUE_HOLDS ((x), CLUTTER_TYPE_COLOR))
 
@@ -146,7 +146,7 @@ typedef struct _ClutterParamSpecColor  ClutterParamSpecColor;
  * A #GParamSpec subclass for defining properties holding
  * a #ClutterColor.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterParamSpecColor
 {
diff --git a/clutter/clutter-colorize-effect.c b/clutter/clutter-colorize-effect.c
index 24df245..c6e8bf1 100644
--- a/clutter/clutter-colorize-effect.c
+++ b/clutter/clutter-colorize-effect.c
@@ -244,7 +244,7 @@ clutter_colorize_effect_class_init (ClutterColorizeEffectClass *klass)
    *
    * The tint to apply to the actor
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_TINT] =
     clutter_param_spec_color ("tint",
@@ -318,7 +318,7 @@ clutter_colorize_effect_init (ClutterColorizeEffect *self)
  *
  * Return value: the newly created #ClutterColorizeEffect or %NULL
  *
- *
+ * Since: 1.4
  */
 ClutterEffect *
 clutter_colorize_effect_new (const ClutterColor *tint)
@@ -335,7 +335,7 @@ clutter_colorize_effect_new (const ClutterColor *tint)
  *
  * Sets the tint to be used when colorizing
  *
- *
+ * Since: 1.4
  */
 void
 clutter_colorize_effect_set_tint (ClutterColorizeEffect *effect,
@@ -359,7 +359,7 @@ clutter_colorize_effect_set_tint (ClutterColorizeEffect *effect,
  *
  * Retrieves the tint used by @effect
  *
- *
+ * Since: 1.4
  */
 void
 clutter_colorize_effect_get_tint (ClutterColorizeEffect *effect,
diff --git a/clutter/clutter-colorize-effect.h b/clutter/clutter-colorize-effect.h
index f1acc42..ddc761f 100644
--- a/clutter/clutter-colorize-effect.h
+++ b/clutter/clutter-colorize-effect.h
@@ -44,7 +44,7 @@ G_BEGIN_DECLS
  * <structname>ClutterColorizeEffect</structname> is an opaque structure
  * whose members cannot be directly accessed
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterColorizeEffect           ClutterColorizeEffect;
 typedef struct _ClutterColorizeEffectClass      ClutterColorizeEffectClass;
diff --git a/clutter/clutter-constraint.h b/clutter/clutter-constraint.h
index 1912712..777df55 100644
--- a/clutter/clutter-constraint.h
+++ b/clutter/clutter-constraint.h
@@ -48,7 +48,7 @@ typedef struct _ClutterConstraintClass          ClutterConstraintClass;
  * The <structname>ClutterConstraint</structname> structure contains only
  * private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterConstraint
 {
@@ -62,7 +62,7 @@ struct _ClutterConstraint
  * The <structname>ClutterConstraintClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterConstraintClass
 {
diff --git a/clutter/clutter-container.c b/clutter/clutter-container.c
index d75a84b..8c64151 100644
--- a/clutter/clutter-container.c
+++ b/clutter/clutter-container.c
@@ -34,14 +34,34 @@
 #include <glib-object.h>
 #include <gobject/gvaluecollector.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+
 #include "clutter-actor-private.h"
 #include "clutter-child-meta.h"
-#include "clutter-container.h"
 #include "clutter-debug.h"
-#include "clutter-enum-types.h"
 #include "clutter-main.h"
 #include "clutter-marshal.h"
 #include "clutter-private.h"
+#include "clutter-enum-types.h"
+
+#define CLUTTER_CONTAINER_WARN_NOT_IMPLEMENTED(container,vfunc) \
+        G_STMT_START { \
+          g_warning ("Container of type '%s' does not implement " \
+                     "the required ClutterContainer::%s virtual " \
+                     "function.",                                 \
+                     G_OBJECT_TYPE_NAME ((container)),            \
+                     (vfunc));                                    \
+        } G_STMT_END
+
+#define CLUTTER_CONTAINER_NOTE_NOT_IMPLEMENTED(container,vfunc) \
+        G_STMT_START { \
+          CLUTTER_NOTE (ACTOR, "Container of type '%s' does not "    \
+                               "implement the ClutterContainer::%s " \
+                               "virtual function.",                  \
+                        G_OBJECT_TYPE_NAME ((container)),            \
+                        (vfunc));                                    \
+        } G_STMT_END
 
 /**
  * SECTION:clutter-container
@@ -51,6 +71,13 @@
  * it provides some common API for notifying when a child actor is added
  * or removed, as well as the infrastructure for accessing child properties
  * through #ClutterChildMeta.
+ *
+ * Until Clutter 1.10, the #ClutterContainer interface was also the public
+ * API for implementing container actors; this part of the interface has
+ * been deprecated: #ClutterContainer has a default implementation which
+ * defers to #ClutterActor the child addition and removal, as well as the
+ * iteration. See the documentation of #ClutterContainerIface for the list
+ * of virtual functions that should be overridden.
  */
 
 enum
@@ -77,7 +104,77 @@ static void              child_notify       (ClutterContainer *container,
 
 typedef ClutterContainerIface   ClutterContainerInterface;
 
-G_DEFINE_INTERFACE (ClutterContainer, clutter_container, G_TYPE_OBJECT)
+G_DEFINE_INTERFACE (ClutterContainer, clutter_container, G_TYPE_OBJECT);
+
+static void
+container_real_add (ClutterContainer *container,
+                    ClutterActor     *actor)
+{
+  clutter_actor_add_child (CLUTTER_ACTOR (container), actor);
+}
+
+static void
+container_real_remove (ClutterContainer *container,
+                       ClutterActor     *actor)
+{
+  clutter_actor_remove_child (CLUTTER_ACTOR (container), actor);
+}
+
+typedef struct {
+  ClutterCallback callback;
+  gpointer data;
+} ForeachClosure;
+
+static gboolean
+foreach_cb (ClutterActor *actor,
+            gpointer      data)
+{
+  ForeachClosure *clos = data;
+
+  clos->callback (actor, clos->data);
+
+  return TRUE;
+}
+
+static void
+container_real_foreach (ClutterContainer *container,
+                        ClutterCallback   callback,
+                        gpointer          user_data)
+{
+  ForeachClosure clos;
+
+  clos.callback = callback;
+  clos.data = user_data;
+
+  _clutter_actor_foreach_child (CLUTTER_ACTOR (container),
+                                foreach_cb,
+                                &clos);
+}
+
+static void
+container_real_raise (ClutterContainer *container,
+                      ClutterActor     *child,
+                      ClutterActor     *sibling)
+{
+  ClutterActor *self = CLUTTER_ACTOR (container);
+
+  clutter_actor_set_child_above_sibling (self, child, sibling);
+}
+
+static void
+container_real_lower (ClutterContainer *container,
+                      ClutterActor     *child,
+                      ClutterActor     *sibling)
+{
+  ClutterActor *self = CLUTTER_ACTOR (container);
+
+  clutter_actor_set_child_below_sibling (self, child, sibling);
+}
+
+static void
+container_real_sort_depth_order (ClutterContainer *container)
+{
+}
 
 static void
 clutter_container_default_init (ClutterContainerInterface *iface)
@@ -85,7 +182,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
   GType iface_type = G_TYPE_FROM_INTERFACE (iface);
 
   quark_child_meta =
-    g_quark_from_static_string ("-clutter-container-child-data");
+    g_quark_from_static_string ("clutter-container-child-data");
 
   /**
    * ClutterContainer::actor-added:
@@ -95,7 +192,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
    * The ::actor-added signal is emitted each time an actor
    * has been added to @container.
    *
-   *
+   * Since: 0.4
    */
   container_signals[ACTOR_ADDED] =
     g_signal_new (I_("actor-added"),
@@ -114,7 +211,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
    * The ::actor-removed signal is emitted each time an actor
    * is removed from @container.
    *
-   *
+   * Since: 0.4
    */
   container_signals[ACTOR_REMOVED] =
     g_signal_new (I_("actor-removed"),
@@ -136,7 +233,7 @@ clutter_container_default_init (ClutterContainerInterface *iface)
    * being set through the clutter_container_child_set() and
    * clutter_container_child_set_property() calls.
    *
-   *
+   * Since: 0.8
    */
   container_signals[CHILD_NOTIFY] =
     g_signal_new (I_("child-notify"),
@@ -148,6 +245,13 @@ clutter_container_default_init (ClutterContainerInterface *iface)
                   G_TYPE_NONE, 2,
                   CLUTTER_TYPE_ACTOR, G_TYPE_PARAM);
 
+  iface->add = container_real_add;
+  iface->remove = container_real_remove;
+  iface->foreach = container_real_foreach;
+  iface->raise = container_real_raise;
+  iface->lower = container_real_lower;
+  iface->sort_depth_order = container_real_sort_depth_order;
+
   iface->child_meta_type = G_TYPE_INVALID;
   iface->create_child_meta = create_child_meta;
   iface->destroy_child_meta = destroy_child_meta;
@@ -155,6 +259,651 @@ clutter_container_default_init (ClutterContainerInterface *iface)
   iface->child_notify = child_notify;
 }
 
+static inline void
+container_add_actor (ClutterContainer *container,
+                     ClutterActor     *actor)
+{
+  ClutterActor *parent;
+
+  parent = clutter_actor_get_parent (actor);
+  if (G_UNLIKELY (parent != NULL))
+    {
+      g_warning ("Attempting to add actor of type '%s' to a "
+                "container of type '%s', but the actor has "
+                 "already a parent of type '%s'.",
+                g_type_name (G_OBJECT_TYPE (actor)),
+                g_type_name (G_OBJECT_TYPE (container)),
+                g_type_name (G_OBJECT_TYPE (parent)));
+      return;
+    }
+
+  clutter_container_create_child_meta (container, actor);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      ClutterContainerIface *iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+      if (iface->add != container_real_add)
+        _clutter_diagnostic_message ("The ClutterContainer::add() virtual "
+                                     "function has been deprecated and it "
+                                     "should not be overridden by newly "
+                                     "written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  CLUTTER_CONTAINER_GET_IFACE (container)->add (container, actor);
+}
+
+static inline void
+container_remove_actor (ClutterContainer *container,
+                        ClutterActor     *actor)
+{
+  ClutterActor *parent;
+
+  parent = clutter_actor_get_parent (actor);
+  if (parent != CLUTTER_ACTOR (container))
+    {
+      g_warning ("Attempting to remove actor of type '%s' from "
+                "group of class '%s', but the container is not "
+                 "the actor's parent.",
+                g_type_name (G_OBJECT_TYPE (actor)),
+                g_type_name (G_OBJECT_TYPE (container)));
+      return;
+    }
+
+  clutter_container_destroy_child_meta (container, actor);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      ClutterContainerIface *iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+      if (iface->remove != container_real_remove)
+        _clutter_diagnostic_message ("The ClutterContainer::remove() virtual "
+                                     "function has been deprecated and it "
+                                     "should not be overridden by newly "
+                                     "written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  CLUTTER_CONTAINER_GET_IFACE (container)->remove (container, actor);
+}
+
+static inline void
+container_add_valist (ClutterContainer *container,
+                      ClutterActor     *first_actor,
+                      va_list           args)
+{
+  ClutterActor *actor = first_actor;
+
+  while (actor != NULL)
+    {
+      container_add_actor (container, actor);
+      actor = va_arg (args, ClutterActor *);
+    }
+}
+
+static inline void
+container_remove_valist (ClutterContainer *container,
+                         ClutterActor     *first_actor,
+                         va_list           args)
+{
+  ClutterActor *actor = first_actor;
+
+  while (actor != NULL)
+    {
+      container_remove_actor (container, actor);
+      actor = va_arg (args, ClutterActor *);
+    }
+}
+
+/**
+ * clutter_container_add: (skip)
+ * @container: a #ClutterContainer
+ * @first_actor: the first #ClutterActor to add
+ * @...: %NULL terminated list of actors to add
+ *
+ * Adds a list of #ClutterActor<!-- -->s to @container. Each time and
+ * actor is added, the "actor-added" signal is emitted. Each actor should
+ * be parented to @container, which takes a reference on the actor. You
+ * cannot add a #ClutterActor to more than one #ClutterContainer.
+ *
+ * This function will call #ClutterContainerIface.add(), which is a
+ * deprecated virtual function. The default implementation will
+ * call clutter_actor_add_child().
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_container_add (ClutterContainer *container,
+                       ClutterActor     *first_actor,
+                       ...)
+{
+  va_list args;
+
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
+
+  va_start (args, first_actor);
+  container_add_valist (container, first_actor, args);
+  va_end (args);
+}
+
+/**
+ * clutter_container_add_actor:
+ * @container: a #ClutterContainer
+ * @actor: the first #ClutterActor to add
+ *
+ * Adds a #ClutterActor to @container. This function will emit the
+ * "actor-added" signal. The actor should be parented to
+ * @container. You cannot add a #ClutterActor to more than one
+ * #ClutterContainer.
+ *
+ * This function will call #ClutterContainerIface.add(), which is a
+ * deprecated virtual function. The default implementation will
+ * call clutter_actor_add_child().
+ *
+ * Virtual: add
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_container_add_actor (ClutterContainer *container,
+                             ClutterActor     *actor)
+{
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  container_add_actor (container, actor);
+}
+
+/**
+ * clutter_container_add_valist: (skip)
+ * @container: a #ClutterContainer
+ * @first_actor: the first #ClutterActor to add
+ * @var_args: list of actors to add, followed by %NULL
+ *
+ * Alternative va_list version of clutter_container_add().
+ *
+ * This function will call #ClutterContainerIface.add(), which is a
+ * deprecated virtual function. The default implementation will
+ * call clutter_actor_add_child().
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_container_add_valist (ClutterContainer *container,
+                              ClutterActor     *first_actor,
+                              va_list           var_args)
+{
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
+
+  container_add_valist (container, first_actor, var_args);
+}
+
+/**
+ * clutter_container_remove: (skip)
+ * @container: a #ClutterContainer
+ * @first_actor: first #ClutterActor to remove
+ * @...: a %NULL-terminated list of actors to remove
+ *
+ * Removes a %NULL terminated list of #ClutterActor<!-- -->s from
+ * @container. Each actor should be unparented, so if you want to keep it
+ * around you must hold a reference to it yourself, using g_object_ref().
+ * Each time an actor is removed, the "actor-removed" signal is
+ * emitted by @container.
+ *
+ * This function will call #ClutterContainerIface.remove(), which is a
+ * deprecated virtual function. The default implementation will call
+ * clutter_actor_remove_child().
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_remove_child() instead.
+ */
+void
+clutter_container_remove (ClutterContainer *container,
+                          ClutterActor     *first_actor,
+                          ...)
+{
+  va_list var_args;
+
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
+
+  va_start (var_args, first_actor);
+  container_remove_valist (container, first_actor, var_args);
+  va_end (var_args);
+}
+
+/**
+ * clutter_container_remove_actor:
+ * @container: a #ClutterContainer
+ * @actor: a #ClutterActor
+ *
+ * Removes @actor from @container. The actor should be unparented, so
+ * if you want to keep it around you must hold a reference to it
+ * yourself, using g_object_ref(). When the actor has been removed,
+ * the "actor-removed" signal is emitted by @container.
+ *
+ * This function will call #ClutterContainerIface.remove(), which is a
+ * deprecated virtual function. The default implementation will call
+ * clutter_actor_remove_child().
+ *
+ * Virtual: remove
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_remove_child() instead.
+ */
+void
+clutter_container_remove_actor (ClutterContainer *container,
+                                ClutterActor     *actor)
+{
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  container_remove_actor (container, actor);
+}
+
+/**
+ * clutter_container_remove_valist: (skip)
+ * @container: a #ClutterContainer
+ * @first_actor: the first #ClutterActor to add
+ * @var_args: list of actors to remove, followed by %NULL
+ *
+ * Alternative va_list version of clutter_container_remove().
+ *
+ * This function will call #ClutterContainerIface.remove(), which is a
+ * deprecated virtual function. The default implementation will call
+ * clutter_actor_remove_child().
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_remove_child() instead.
+ */
+void
+clutter_container_remove_valist (ClutterContainer *container,
+                                 ClutterActor     *first_actor,
+                                 va_list           var_args)
+{
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (first_actor));
+
+  container_remove_valist (container, first_actor, var_args);
+}
+
+static void
+get_children_cb (ClutterActor *child,
+                 gpointer      data)
+{
+  GList **children = data;
+
+  *children = g_list_prepend (*children, child);
+}
+
+/**
+ * clutter_container_get_children:
+ * @container: a #ClutterContainer
+ *
+ * Retrieves all the children of @container.
+ *
+ * Return value: (element-type Clutter.Actor) (transfer container): a list
+ *   of #ClutterActor<!-- -->s. Use g_list_free() on the returned
+ *   list when done.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_children() instead.
+ */
+GList *
+clutter_container_get_children (ClutterContainer *container)
+{
+  GList *retval;
+
+  g_return_val_if_fail (CLUTTER_IS_CONTAINER (container), NULL);
+
+  retval = NULL;
+  clutter_container_foreach (container, get_children_cb, &retval);
+
+  return g_list_reverse (retval);
+}
+
+/**
+ * clutter_container_foreach:
+ * @container: a #ClutterContainer
+ * @callback: (scope call): a function to be called for each child
+ * @user_data: data to be passed to the function, or %NULL
+ *
+ * Calls @callback for each child of @container that was added
+ * by the application (with clutter_container_add_actor()). Does
+ * not iterate over "internal" children that are part of the
+ * container's own implementation, if any.
+ *
+ * This function calls the #ClutterContainerIface.foreach()
+ * virtual function, which has been deprecated.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_first_child() or
+ *   clutter_actor_get_last_child() to retrieve the beginning of
+ *   the list of children, and clutter_actor_get_next_sibling()
+ *   and clutter_actor_get_previous_sibling() to iterate over it;
+ *   alternatively, use the #ClutterActorIter API.
+ */
+void
+clutter_container_foreach (ClutterContainer *container,
+                           ClutterCallback   callback,
+                           gpointer          user_data)
+{
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (callback != NULL);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      ClutterContainerIface *iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+      if (iface->foreach != container_real_foreach)
+        _clutter_diagnostic_message ("The ClutterContainer::foreach() "
+                                     "virtual function has been deprecated "
+                                     "and it should not be overridden by "
+                                     "newly written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  CLUTTER_CONTAINER_GET_IFACE (container)->foreach (container,
+                                                    callback,
+                                                    user_data);
+}
+
+/**
+ * clutter_container_foreach_with_internals:
+ * @container: a #ClutterContainer
+ * @callback: (scope call): a function to be called for each child
+ * @user_data: data to be passed to the function, or %NULL
+ *
+ * Calls @callback for each child of @container, including "internal"
+ * children built in to the container itself that were never added
+ * by the application.
+ *
+ * This function calls the #ClutterContainerIface.foreach_with_internals()
+ * virtual function, which has been deprecated.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: See clutter_container_foreach().
+ */
+void
+clutter_container_foreach_with_internals (ClutterContainer *container,
+                                          ClutterCallback   callback,
+                                          gpointer          user_data)
+{
+  ClutterContainerIface *iface;
+
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (callback != NULL);
+
+  iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      if (iface->foreach_with_internals != NULL)
+        _clutter_diagnostic_message ("The ClutterContainer::foreach_with_internals() "
+                                     "virtual function has been deprecated "
+                                     "and it should not be overridden by "
+                                     "newly written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  if (iface->foreach_with_internals != NULL)
+    iface->foreach_with_internals (container, callback, user_data);
+  else
+    iface->foreach (container, callback, user_data);
+}
+
+/**
+ * clutter_container_raise_child:
+ * @container: a #ClutterContainer
+ * @actor: the actor to raise
+ * @sibling: (allow-none): the sibling to raise to, or %NULL to raise
+ *   to the top
+ *
+ * Raises @actor to @sibling level, in the depth ordering.
+ *
+ * This function calls the #ClutterContainerIface.raise() virtual function,
+ * which has been deprecated. The default implementation will call
+ * clutter_actor_set_child_above_sibling().
+ *
+ * Virtual: raise
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_child_above_sibling() instead.
+ */
+void
+clutter_container_raise_child (ClutterContainer *container,
+                               ClutterActor     *actor,
+                               ClutterActor     *sibling)
+{
+  ClutterContainerIface *iface;
+  ClutterActor *self;
+
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+  g_return_if_fail (sibling == NULL || CLUTTER_IS_ACTOR (sibling));
+
+  if (actor == sibling)
+    return;
+
+  self = CLUTTER_ACTOR (container);
+
+  if (clutter_actor_get_parent (actor) != self)
+    {
+      g_warning ("Actor of type '%s' is not a child of the container "
+                 "of type '%s'",
+                 g_type_name (G_OBJECT_TYPE (actor)),
+                 g_type_name (G_OBJECT_TYPE (container)));
+      return;
+    }
+
+  if (sibling != NULL &&
+      clutter_actor_get_parent (sibling) != self)
+    {
+      g_warning ("Actor of type '%s' is not a child of the container "
+                 "of type '%s'",
+                 g_type_name (G_OBJECT_TYPE (sibling)),
+                 g_type_name (G_OBJECT_TYPE (container)));
+      return;
+    }
+
+  iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      if (iface->raise != container_real_raise)
+        _clutter_diagnostic_message ("The ClutterContainer::raise() "
+                                     "virtual function has been deprecated "
+                                     "and it should not be overridden by "
+                                     "newly written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  iface->raise (container, actor, sibling);
+}
+
+/**
+ * clutter_container_lower_child:
+ * @container: a #ClutterContainer
+ * @actor: the actor to raise
+ * @sibling: (allow-none): the sibling to lower to, or %NULL to lower
+ *   to the bottom
+ *
+ * Lowers @actor to @sibling level, in the depth ordering.
+ *
+ * This function calls the #ClutterContainerIface.lower() virtual function,
+ * which has been deprecated. The default implementation will call
+ * clutter_actor_set_child_below_sibling().
+ *
+ * Virtual: lower
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_child_below_sibling() instead.
+ */
+void
+clutter_container_lower_child (ClutterContainer *container,
+                               ClutterActor     *actor,
+                               ClutterActor     *sibling)
+{
+  ClutterContainerIface *iface;
+  ClutterActor *self;
+
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+  g_return_if_fail (sibling == NULL || CLUTTER_IS_ACTOR (sibling));
+
+  if (actor == sibling)
+    return;
+
+  self = CLUTTER_ACTOR (container);
+
+  if (clutter_actor_get_parent (actor) != self)
+    {
+      g_warning ("Actor of type '%s' is not a child of the container "
+                 "of type '%s'",
+                 g_type_name (G_OBJECT_TYPE (actor)),
+                 g_type_name (G_OBJECT_TYPE (container)));
+      return;
+    }
+
+  if (sibling != NULL&&
+      clutter_actor_get_parent (sibling) != self)
+    {
+      g_warning ("Actor of type '%s' is not a child of the container "
+                 "of type '%s'",
+                 g_type_name (G_OBJECT_TYPE (sibling)),
+                 g_type_name (G_OBJECT_TYPE (container)));
+      return;
+    }
+
+  iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      if (iface->lower != container_real_lower)
+        _clutter_diagnostic_message ("The ClutterContainer::lower() "
+                                     "virtual function has been deprecated "
+                                     "and it should not be overridden by "
+                                     "newly written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  iface->lower (container, actor, sibling);
+}
+
+/**
+ * clutter_container_sort_depth_order:
+ * @container: a #ClutterContainer
+ *
+ * Sorts a container's children using their depth. This function should not
+ * be normally used by applications.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: The #ClutterContainerIface.sort_depth_order() virtual
+ *   function should not be used any more; the default implementation in
+ *   #ClutterContainer does not do anything.
+ */
+void
+clutter_container_sort_depth_order (ClutterContainer *container)
+{
+  ClutterContainerIface *iface;
+
+  g_return_if_fail (CLUTTER_IS_CONTAINER (container));
+
+  iface = CLUTTER_CONTAINER_GET_IFACE (container);
+
+#ifdef CLUTTER_ENABLE_DEBUG
+  if (G_UNLIKELY (_clutter_diagnostic_enabled ()))
+    {
+      if (iface->sort_depth_order != container_real_sort_depth_order)
+        _clutter_diagnostic_message ("The ClutterContainer::sort_depth_order() "
+                                     "virtual function has been deprecated "
+                                     "and it should not be overridden by "
+                                     "newly written code");
+    }
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+  iface->sort_depth_order (container);
+}
+
+/**
+ * clutter_container_find_child_by_name:
+ * @container: a #ClutterContainer
+ * @child_name: the name of the requested child.
+ *
+ * Finds a child actor of a container by its name. Search recurses
+ * into any child container.
+ *
+ * Return value: (transfer none): The child actor with the requested name,
+ *   or %NULL if no actor with that name was found.
+ *
+ * Since: 0.6
+ */
+ClutterActor *
+clutter_container_find_child_by_name (ClutterContainer *container,
+                                      const gchar      *child_name)
+{
+  GList        *children;
+  GList        *iter;
+  ClutterActor *actor = NULL;
+
+  g_return_val_if_fail (CLUTTER_IS_CONTAINER (container), NULL);
+  g_return_val_if_fail (child_name != NULL, NULL);
+
+  children = clutter_container_get_children (container);
+
+  for (iter = children; iter; iter = g_list_next (iter))
+    {
+      ClutterActor *a;
+      const gchar  *iter_name;
+
+      a = CLUTTER_ACTOR (iter->data);
+      iter_name = clutter_actor_get_name (a);
+
+      if (iter_name && !strcmp (iter_name, child_name))
+        {
+          actor = a;
+          break;
+        }
+
+      if (CLUTTER_IS_CONTAINER (a))
+        {
+          ClutterContainer *c = CLUTTER_CONTAINER (a);
+
+          actor = clutter_container_find_child_by_name (c, child_name);
+          if (actor)
+            break;
+       }
+    }
+
+  g_list_free (children);
+
+  return actor;
+}
+
 static ClutterChildMeta *
 get_child_meta (ClutterContainer *container,
                 ClutterActor     *actor)
@@ -223,7 +972,7 @@ destroy_child_meta (ClutterContainer *container,
  *   of @container or %NULL if the specifiec actor does not exist or the
  *   container is not configured to provide #ClutterChildMeta<!-- -->s
  *
- *
+ * Since: 0.8
  */
 ClutterChildMeta *
 clutter_container_get_child_meta (ClutterContainer *container,
@@ -255,7 +1004,7 @@ clutter_container_get_child_meta (ClutterContainer *container,
  *
  * Applications should not call this function.
  *
- *
+ * Since: 1.2
  */
 void
 clutter_container_create_child_meta (ClutterContainer *container,
@@ -291,7 +1040,7 @@ clutter_container_create_child_meta (ClutterContainer *container,
  *
  * Applications should not call this function.
  *
- *
+ * Since: 1.2
  */
 void
 clutter_container_destroy_child_meta (ClutterContainer *container,
@@ -321,7 +1070,7 @@ clutter_container_destroy_child_meta (ClutterContainer *container,
  * Return value: (transfer none): The #GParamSpec for the property or %NULL
  *   if no such property exist.
  *
- *
+ * Since: 0.8
  */
 GParamSpec *
 clutter_container_class_find_child_property (GObjectClass *klass,
@@ -360,7 +1109,7 @@ clutter_container_class_find_child_property (GObjectClass *klass,
  * Return value: (array length=n_properties) (transfer full): an array
  *   of #GParamSpec<!-- -->s which should be freed after use.
  *
- *
+ * Since: 0.8
  */
 GParamSpec **
 clutter_container_class_list_child_properties (GObjectClass *klass,
@@ -422,7 +1171,7 @@ container_set_child_property (ClutterContainer *container,
  *
  * Sets a container-specific property on a child of @container.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_container_child_set_property (ClutterContainer *container,
@@ -470,7 +1219,7 @@ clutter_container_child_set_property (ClutterContainer *container,
  *
  * Sets container specific properties on the child of a container.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_container_child_set (ClutterContainer *container,
@@ -565,7 +1314,7 @@ container_get_child_property (ClutterContainer *container,
  * language bindings, clutter_container_child_set() is much more convenient
  * for C programming.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_container_child_get_property (ClutterContainer *container,
@@ -618,7 +1367,7 @@ clutter_container_child_get_property (ClutterContainer *container,
  * responsible for freeing the memory in the appropriate manner for the type, for
  * instance by calling g_free() or g_object_unref(). 
  *
- *
+ * Since: 0.8
  */
 void
 clutter_container_child_get (ClutterContainer *container,
@@ -690,7 +1439,7 @@ clutter_container_child_get (ClutterContainer *container,
  * of #ClutterContainer. The default implementation will emit the
  * #ClutterContainer::child-notify signal.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_container_child_notify (ClutterContainer *container,
diff --git a/clutter/clutter-container.h b/clutter/clutter-container.h
index 77513c5..b7e3f2b 100644
--- a/clutter/clutter-container.h
+++ b/clutter/clutter-container.h
@@ -50,11 +50,30 @@ typedef struct _ClutterContainerIface   ClutterContainerIface;
  * #ClutterContainer is an opaque structure whose members cannot be directly
  * accessed
  *
- *
+ * Since: 0.4
  */
 
 /**
  * ClutterContainerIface:
+ * @add: virtual function for adding an actor to the container. This virtual
+ *   function is deprecated, and it should not be overridden.
+ * @remove: virtual function for removing an actor from the container. This
+ *   virtual function is deprecated, and it should not be overridden.
+ * @foreach: virtual function for iterating over the container's children.
+ *   This virtual function is deprecated, and it should not be overridden.
+ * @foreach_with_internals: virtual functions for iterating over the
+ *   container's children, both added using the #ClutterContainer API
+ *   and internal children. The implementation of this virtual function
+ *   is required only if the #ClutterContainer implementation has
+ *   internal children. This virtual function is deprecated, and it should
+ *   not be overridden.
+ * @raise: virtual function for raising a child. This virtual function is
+ *   deprecated and it should not be overridden.
+ * @lower: virtual function for lowering a child. This virtual function is
+ *   deprecated and it should not be overridden.
+ * @sort_depth_order: virtual function for sorting the children of a
+ *   container depending on their depth. This virtual function is deprecated
+ *   and it should not be overridden.
  * @child_meta_type: The GType used for storing auxiliary information about
  *   each of the containers children.
  * @create_child_meta: virtual function that gets called for each added
@@ -73,7 +92,7 @@ typedef struct _ClutterContainerIface   ClutterContainerIface;
  * virtual functions must be provided by any implementation; the other
  * virtual functions are optional.
  *
- *
+ * Since: 0.4
  */
 struct _ClutterContainerIface
 {
@@ -81,6 +100,27 @@ struct _ClutterContainerIface
   GTypeInterface g_iface;
 
   /*< public >*/
+  void (* add)              (ClutterContainer *container,
+                             ClutterActor     *actor);
+  void (* remove)           (ClutterContainer *container,
+                             ClutterActor     *actor);
+  void (* foreach)          (ClutterContainer *container,
+                             ClutterCallback   callback,
+                             gpointer          user_data);
+
+  void (* foreach_with_internals) (ClutterContainer *container,
+                                   ClutterCallback   callback,
+                                   gpointer          user_data);
+
+  /* child stacking */
+  void (* raise)            (ClutterContainer *container,
+                             ClutterActor     *actor,
+                             ClutterActor     *sibling);
+  void (* lower)            (ClutterContainer *container,
+                             ClutterActor     *actor,
+                             ClutterActor     *sibling);
+  void (* sort_depth_order) (ClutterContainer *container);
+
   /* ClutterChildMeta management */
   GType                child_meta_type;
   void              (* create_child_meta)  (ClutterContainer *container,
@@ -101,40 +141,43 @@ struct _ClutterContainerIface
                           GParamSpec       *pspec);
 };
 
-GType clutter_container_get_type (void) G_GNUC_CONST;
-
-GParamSpec *            clutter_container_class_find_child_property     (GObjectClass     *klass,
-                                                                         const gchar      *property_name);
-GParamSpec **           clutter_container_class_list_child_properties   (GObjectClass     *klass,
-                                                                         guint            *n_properties);
-
-void                    clutter_container_create_child_meta             (ClutterContainer *container,
-                                                                         ClutterActor     *actor);
-void                    clutter_container_destroy_child_meta            (ClutterContainer *container,
-                                                                         ClutterActor     *actor);
-ClutterChildMeta *      clutter_container_get_child_meta                (ClutterContainer *container,
-                                                                         ClutterActor     *actor);
-
-void                    clutter_container_child_set_property            (ClutterContainer *container,
-                                                                         ClutterActor     *child,
-                                                                         const gchar      * property,
-                                                                         const GValue     *value);
-void                    clutter_container_child_get_property            (ClutterContainer *container,
-                                                                         ClutterActor     *child,
-                                                                         const gchar      *property,
-                                                                         GValue           *value);
-void                    clutter_container_child_set                     (ClutterContainer *container,
-                                                                         ClutterActor     *actor,
-                                                                         const gchar      *first_prop,
-                                                                         ...) G_GNUC_NULL_TERMINATED;
-void                    clutter_container_child_get                     (ClutterContainer *container,
-                                                                         ClutterActor     *actor,
-                                                                         const gchar      *first_prop,
-                                                                         ...) G_GNUC_NULL_TERMINATED;
-
-void                    clutter_container_child_notify                  (ClutterContainer *container,
-                                                                         ClutterActor     *child,
-                                                                         GParamSpec       *pspec);
+GType         clutter_container_get_type         (void) G_GNUC_CONST;
+
+ClutterActor *clutter_container_find_child_by_name     (ClutterContainer *container,
+                                                        const gchar      *child_name);
+
+GParamSpec *      clutter_container_class_find_child_property   (GObjectClass     *klass,
+                                                                 const gchar      *property_name);
+GParamSpec **     clutter_container_class_list_child_properties (GObjectClass     *klass,
+                                                                 guint            *n_properties);
+
+void              clutter_container_create_child_meta           (ClutterContainer *container,
+                                                                 ClutterActor     *actor);
+void              clutter_container_destroy_child_meta          (ClutterContainer *container,
+                                                                 ClutterActor     *actor);
+ClutterChildMeta *clutter_container_get_child_meta              (ClutterContainer *container,
+                                                                 ClutterActor     *actor);
+
+void              clutter_container_child_set_property          (ClutterContainer *container,
+                                                                 ClutterActor     *child,
+                                                                 const gchar      * property,
+                                                                 const GValue     *value);
+void              clutter_container_child_get_property          (ClutterContainer *container,
+                                                                 ClutterActor     *child,
+                                                                 const gchar      *property,
+                                                                 GValue           *value);
+void              clutter_container_child_set                   (ClutterContainer *container,
+                                                                 ClutterActor     *actor,
+                                                                 const gchar      *first_prop,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+void              clutter_container_child_get                   (ClutterContainer *container,
+                                                                 ClutterActor     *actor,
+                                                                 const gchar      *first_prop,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+
+void              clutter_container_child_notify                (ClutterContainer *container,
+                                                                 ClutterActor     *child,
+                                                                 GParamSpec       *pspec);
 
 G_END_DECLS
 
diff --git a/clutter/clutter-content.c b/clutter/clutter-content.c
index cd5f58a..26d8f26 100644
--- a/clutter/clutter-content.c
+++ b/clutter/clutter-content.c
@@ -119,7 +119,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
    * This signal is emitted each time a #ClutterContent implementation is
    * assigned to a #ClutterActor.
    *
-   *
+   * Since: 1.10
    */
   content_signals[ATTACHED] =
     g_signal_new (I_("attached"),
@@ -139,7 +139,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
    * This signal is emitted each time a #ClutterContent implementation is
    * removed from a #ClutterActor.
    *
-   *
+   * Since: 1.10
    */
   content_signals[DETACHED] =
     g_signal_new (I_("detached"),
@@ -162,7 +162,7 @@ clutter_content_default_init (ClutterContentInterface *iface)
  * they change the way a the content should be painted regardless of the
  * actor state.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_content_invalidate (ClutterContent *content)
@@ -290,7 +290,7 @@ _clutter_content_paint_content (ClutterContent   *content,
  * Return value: %TRUE if the content has a preferred size, and %FALSE
  *   otherwise
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_content_get_preferred_size (ClutterContent *content,
diff --git a/clutter/clutter-content.h b/clutter/clutter-content.h
index 68985b2..df5aa83 100644
--- a/clutter/clutter-content.h
+++ b/clutter/clutter-content.h
@@ -46,7 +46,7 @@ typedef struct _ClutterContentIface     ClutterContentIface;
  * The <structname>ClutterContent</structname> structure is an opaque type
  * whose members cannot be acccessed directly.
  *
- *
+ * Since: 1.10
  */
 
 /**
@@ -65,7 +65,7 @@ typedef struct _ClutterContentIface     ClutterContentIface;
  * The <structname>ClutterContentIface</structname> structure contains only
  * private data.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterContentIface
 {
@@ -88,14 +88,14 @@ struct _ClutterContentIface
   void          (* invalidate)          (ClutterContent   *content);
 };
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_content_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 gboolean        clutter_content_get_preferred_size      (ClutterContent *content,
                                                          gfloat         *width,
                                                          gfloat         *height);
-
+CLUTTER_AVAILABLE_IN_1_10
 void            clutter_content_invalidate              (ClutterContent *content);
 
 G_END_DECLS
diff --git a/clutter/clutter-deform-effect.c b/clutter/clutter-deform-effect.c
index 44c5f4e..a7ab5cb 100644
--- a/clutter/clutter-deform-effect.c
+++ b/clutter/clutter-deform-effect.c
@@ -587,7 +587,7 @@ clutter_deform_effect_class_init (ClutterDeformEffectClass *klass)
    * The number of horizontal tiles. The bigger the number, the
    * smaller the tiles
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_X_TILES] =
     g_param_spec_uint ("x-tiles",
@@ -603,7 +603,7 @@ clutter_deform_effect_class_init (ClutterDeformEffectClass *klass)
    * The number of vertical tiles. The bigger the number, the
    * smaller the tiles
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_Y_TILES] =
     g_param_spec_uint ("y-tiles",
@@ -621,7 +621,7 @@ clutter_deform_effect_class_init (ClutterDeformEffectClass *klass)
    *
    * By default, no material will be used
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_BACK_MATERIAL] =
     g_param_spec_boxed ("back-material",
@@ -665,7 +665,7 @@ clutter_deform_effect_init (ClutterDeformEffect *self)
  * The #ClutterDeformEffect will take a reference on the material's
  * handle
  *
- *
+ * Since: 1.4
  */
 void
 clutter_deform_effect_set_back_material (ClutterDeformEffect *effect,
@@ -698,7 +698,7 @@ clutter_deform_effect_set_back_material (ClutterDeformEffect *effect,
  *   The returned material is owned by the #ClutterDeformEffect and it
  *   should not be freed directly
  *
- *
+ * Since: 1.4
  */
 CoglHandle
 clutter_deform_effect_get_back_material (ClutterDeformEffect *effect)
@@ -720,7 +720,7 @@ clutter_deform_effect_get_back_material (ClutterDeformEffect *effect)
  * More tiles allow a finer grained deformation at the expenses
  * of computation
  *
- *
+ * Since: 1.4
  */
 void
 clutter_deform_effect_set_n_tiles (ClutterDeformEffect *effect,
@@ -775,7 +775,7 @@ clutter_deform_effect_set_n_tiles (ClutterDeformEffect *effect,
  * Retrieves the number of horizontal and vertical tiles used to sub-divide
  * the actor's geometry during the effect
  *
- *
+ * Since: 1.4
  */
 void
 clutter_deform_effect_get_n_tiles (ClutterDeformEffect *effect,
@@ -798,7 +798,7 @@ clutter_deform_effect_get_n_tiles (ClutterDeformEffect *effect,
  * Invalidates the @effect<!-- -->'s vertices and, if it is associated
  * to an actor, it will queue a redraw
  *
- *
+ * Since: 1.4
  */
 void
 clutter_deform_effect_invalidate (ClutterDeformEffect *effect)
diff --git a/clutter/clutter-deform-effect.h b/clutter/clutter-deform-effect.h
index 72ec019..7650e71 100644
--- a/clutter/clutter-deform-effect.h
+++ b/clutter/clutter-deform-effect.h
@@ -51,7 +51,7 @@ typedef struct _ClutterDeformEffectClass        ClutterDeformEffectClass;
  * The <structname>ClutterDeformEffect</structname> structure contains
  * only private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterDeformEffect
 {
@@ -69,7 +69,7 @@ struct _ClutterDeformEffect
  * The <structname>ClutterDeformEffectClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterDeformEffectClass
 {
diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h
index 2ddd4f3..1f40029 100644
--- a/clutter/clutter-deprecated.h
+++ b/clutter/clutter-deprecated.h
@@ -3,6 +3,41 @@
 
 #define __CLUTTER_DEPRECATED_H_INSIDE__
 
+#include "deprecated/clutter-actor.h"
+#include "deprecated/clutter-alpha.h"
+#include "deprecated/clutter-animatable.h"
+#include "deprecated/clutter-animation.h"
+#include "deprecated/clutter-animator.h"
+#include "deprecated/clutter-backend.h"
+#include "deprecated/clutter-behaviour.h"
+#include "deprecated/clutter-behaviour-depth.h"
+#include "deprecated/clutter-behaviour-ellipse.h"
+#include "deprecated/clutter-behaviour-opacity.h"
+#include "deprecated/clutter-behaviour-path.h"
+#include "deprecated/clutter-behaviour-rotate.h"
+#include "deprecated/clutter-behaviour-scale.h"
+#include "deprecated/clutter-bin-layout.h"
+#include "deprecated/clutter-box.h"
+#include "deprecated/clutter-cairo-texture.h"
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-fixed.h"
+#include "deprecated/clutter-frame-source.h"
+#include "deprecated/clutter-group.h"
+#include "deprecated/clutter-input-device.h"
+#include "deprecated/clutter-keysyms.h"
+#include "deprecated/clutter-main.h"
+#include "deprecated/clutter-media.h"
+#include "deprecated/clutter-rectangle.h"
+#include "deprecated/clutter-score.h"
+#include "deprecated/clutter-shader.h"
+#include "deprecated/clutter-stage-manager.h"
+#include "deprecated/clutter-stage.h"
+#include "deprecated/clutter-state.h"
+#include "deprecated/clutter-texture.h"
+#include "deprecated/clutter-timeline.h"
+#include "deprecated/clutter-timeout-pool.h"
+#include "deprecated/clutter-util.h"
+
 #undef __CLUTTER_DEPRECATED_H_INSIDE__
 
 #endif /* __CLUTTER_DEPRECATED_H__ */
diff --git a/clutter/clutter-desaturate-effect.c b/clutter/clutter-desaturate-effect.c
index 3095203..c5fd04b 100644
--- a/clutter/clutter-desaturate-effect.c
+++ b/clutter/clutter-desaturate-effect.c
@@ -263,7 +263,7 @@ clutter_desaturate_effect_class_init (ClutterDesaturateEffectClass *klass)
    * The desaturation factor, between 0.0 (no desaturation) and 1.0 (full
    * desaturation).
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FACTOR] =
     g_param_spec_double ("factor",
@@ -323,7 +323,7 @@ clutter_desaturate_effect_init (ClutterDesaturateEffect *self)
  *
  * Return value: the newly created #ClutterDesaturateEffect or %NULL
  *
- *
+ * Since: 1.4
  */
 ClutterEffect *
 clutter_desaturate_effect_new (gdouble factor)
@@ -343,7 +343,7 @@ clutter_desaturate_effect_new (gdouble factor)
  * Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
  * and 1.0 being "fully desaturate"
  *
- *
+ * Since: 1.4
  */
 void
 clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect,
@@ -371,7 +371,7 @@ clutter_desaturate_effect_set_factor (ClutterDesaturateEffect *effect,
  *
  * Return value: the desaturation factor
  *
- *
+ * Since: 1.4
  */
 gdouble
 clutter_desaturate_effect_get_factor (ClutterDesaturateEffect *effect)
diff --git a/clutter/clutter-desaturate-effect.h b/clutter/clutter-desaturate-effect.h
index 1b260f9..d73ed73 100644
--- a/clutter/clutter-desaturate-effect.h
+++ b/clutter/clutter-desaturate-effect.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * <structname>ClutterDesaturateEffect</structname> is an opaque structure
  * whose members cannot be directly accessed
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterDesaturateEffect         ClutterDesaturateEffect;
 typedef struct _ClutterDesaturateEffectClass    ClutterDesaturateEffectClass;
diff --git a/clutter/clutter-device-manager.c b/clutter/clutter-device-manager.c
index 7e6c6f2..2dc67be 100644
--- a/clutter/clutter-device-manager.c
+++ b/clutter/clutter-device-manager.c
@@ -147,7 +147,7 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
    * The ::device-added signal is emitted each time a device has been
    * added to the #ClutterDeviceManager
    *
-   *
+   * Since: 1.2
    */
   manager_signals[DEVICE_ADDED] =
     g_signal_new (I_("device-added"),
@@ -167,7 +167,7 @@ clutter_device_manager_class_init (ClutterDeviceManagerClass *klass)
    * The ::device-removed signal is emitted each time a device has been
    * removed from the #ClutterDeviceManager
    *
-   *
+   * Since: 1.2
    */
   manager_signals[DEVICE_REMOVED] =
     g_signal_new (I_("device-removed"),
@@ -195,7 +195,7 @@ clutter_device_manager_init (ClutterDeviceManager *self)
  *   The returned instance is owned by Clutter and it should not be
  *   modified or freed
  *
- *
+ * Since: 1.2
  */
 ClutterDeviceManager *
 clutter_device_manager_get_default (void)
@@ -215,7 +215,7 @@ clutter_device_manager_get_default (void)
  *   a newly allocated list of #ClutterInputDevice objects. Use
  *   g_slist_free() to deallocate it when done
  *
- *
+ * Since: 1.2
  */
 GSList *
 clutter_device_manager_list_devices (ClutterDeviceManager *device_manager)
@@ -240,7 +240,7 @@ clutter_device_manager_list_devices (ClutterDeviceManager *device_manager)
  *   returned list is owned by the #ClutterDeviceManager and should never
  *   be modified or freed
  *
- *
+ * Since: 1.2
  */
 const GSList *
 clutter_device_manager_peek_devices (ClutterDeviceManager *device_manager)
@@ -264,7 +264,7 @@ clutter_device_manager_peek_devices (ClutterDeviceManager *device_manager)
  *   returned device is owned by the #ClutterDeviceManager and should
  *   never be modified or freed
  *
- *
+ * Since: 1.2
  */
 ClutterInputDevice *
 clutter_device_manager_get_device (ClutterDeviceManager *device_manager,
@@ -292,7 +292,7 @@ clutter_device_manager_get_device (ClutterDeviceManager *device_manager,
  *   returned device is owned by the #ClutterDeviceManager and should
  *   not be modified or freed
  *
- *
+ * Since: 1.2
  */
 ClutterInputDevice *
 clutter_device_manager_get_core_device (ClutterDeviceManager   *device_manager,
diff --git a/clutter/clutter-device-manager.h b/clutter/clutter-device-manager.h
index 6e4ec0c..94cde3d 100644
--- a/clutter/clutter-device-manager.h
+++ b/clutter/clutter-device-manager.h
@@ -49,7 +49,7 @@ typedef struct _ClutterDeviceManagerClass       ClutterDeviceManagerClass;
  *
  * The #ClutterDeviceManager structure contains only private data
  *
- *
+ * Since: 1.2
  */
 struct _ClutterDeviceManager
 {
@@ -64,7 +64,7 @@ struct _ClutterDeviceManager
  *
  * The #ClutterDeviceManagerClass structure contains only private data
  *
- *
+ * Since: 1.2
  */
 struct _ClutterDeviceManagerClass
 {
diff --git a/clutter/clutter-drag-action.c b/clutter/clutter-drag-action.c
index 3d3ff57..669240c 100644
--- a/clutter/clutter-drag-action.c
+++ b/clutter/clutter-drag-action.c
@@ -657,38 +657,30 @@ clutter_drag_action_dispose (GObject *gobject)
   /* if we're being disposed while a capture is still present, we
    * need to reset the state we are currently holding
    */
-  if (priv->stage != NULL)
+  if (priv->last_motion_device != NULL)
     {
-      if (priv->last_motion_device != NULL)
-        {
-          _clutter_stage_remove_pointer_drag_actor (priv->stage,
-                                                    priv->last_motion_device);
-          priv->last_motion_device = NULL;
-        }
+      _clutter_stage_remove_pointer_drag_actor (priv->stage,
+                                                priv->last_motion_device);
+      priv->last_motion_device = NULL;
+    }
 
-      if (priv->sequence != NULL)
-        {
-          _clutter_stage_remove_touch_drag_actor (priv->stage,
-                                                  priv->sequence);
-          priv->sequence = NULL;
-        }
+  if (priv->sequence != NULL)
+    {
+      _clutter_stage_remove_touch_drag_actor (priv->stage,
+                                              priv->sequence);
+      priv->sequence = NULL;
+    }
 
-      if (priv->capture_id != 0)
-        {
-          clutter_stage_set_motion_events_enabled (priv->stage,
-                                                   priv->motion_events_enabled);
+  if (priv->capture_id != 0)
+    {
+      clutter_stage_set_motion_events_enabled (priv->stage,
+                                               priv->motion_events_enabled);
 
-          g_signal_handler_disconnect (priv->stage, priv->capture_id);
+      if (priv->stage != NULL)
+        g_signal_handler_disconnect (priv->stage, priv->capture_id);
 
-          priv->capture_id = 0;
-          priv->stage = NULL;
-        }
-    }
-  else
-    {
-      priv->last_motion_device = NULL;
-      priv->sequence = NULL;
       priv->capture_id = 0;
+      priv->stage = NULL;
     }
 
   if (priv->button_press_id != 0)
@@ -743,7 +735,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * When read, this property will always return a valid drag
    * threshold, either as set or the default one.
    *
-   *
+   * Since: 1.4
    */
   drag_props[PROP_X_DRAG_THRESHOLD] =
     g_param_spec_int ("x-drag-threshold",
@@ -771,7 +763,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * When read, this property will always return a valid drag
    * threshold, either as set or the default one.
    *
-   *
+   * Since: 1.4
    */
   drag_props[PROP_Y_DRAG_THRESHOLD] =
     g_param_spec_int ("y-drag-threshold",
@@ -793,7 +785,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * Setting this property has no effect on the #ClutterActor argument
    * passed to the #ClutterDragAction signals
    *
-   *
+   * Since: 1.4
    */
   drag_props[PROP_DRAG_HANDLE] =
     g_param_spec_object ("drag-handle",
@@ -807,7 +799,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    *
    * Constraints the dragging action to the specified axis
    *
-   *
+   * Since: 1.4
    */
   drag_props[PROP_DRAG_AXIS] =
     g_param_spec_enum ("drag-axis",
@@ -824,7 +816,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * actor position) to the specified #ClutterRect, in parent's
    * coordinates.
    *
-   *
+   * Since: 1.12
    */
   drag_props[PROP_DRAG_AREA] =
     g_param_spec_boxed ("drag-area",
@@ -838,7 +830,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    *
    * Whether the #ClutterDragAction:drag-area property has been set.
    *
-   *
+   * Since: 1.12
    */
   drag_props[PROP_DRAG_AREA_SET] =
     g_param_spec_boolean ("drag-area-set",
@@ -870,7 +862,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * #ClutterDragAction:x-drag-threshold and
    * #ClutterDragAction:y-drag-threshold properties
    *
-   *
+   * Since: 1.4
    */
   drag_signals[DRAG_BEGIN] =
     g_signal_new (I_("drag-begin"),
@@ -911,7 +903,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * Return value: %TRUE if the drag should continue, and %FALSE
    *   if it should be stopped.
    *
-   *
+   * Since: 1.12
    */
   drag_signals[DRAG_PROGRESS] =
     g_signal_new (I_("drag-progress"),
@@ -952,7 +944,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * #ClutterDragAction::drag-progress signal and return %FALSE from the
    * handler.
    *
-   *
+   * Since: 1.4
    */
   drag_signals[DRAG_MOTION] =
     g_signal_new (I_("drag-motion"),
@@ -980,7 +972,7 @@ clutter_drag_action_class_init (ClutterDragActionClass *klass)
    * This signal is emitted if and only if the #ClutterDragAction::drag-begin
    * signal has been emitted first
    *
-   *
+   * Since: 1.4
    */
   drag_signals[DRAG_END] =
     g_signal_new (I_("drag-end"),
@@ -1010,7 +1002,7 @@ clutter_drag_action_init (ClutterDragAction *self)
  *
  * Return value: the newly created #ClutterDragAction
  *
- *
+ * Since: 1.4
  */
 ClutterAction *
 clutter_drag_action_new (void)
@@ -1033,7 +1025,7 @@ clutter_drag_action_new (void)
  * drag threshold stored in the #ClutterSettings:dnd-drag-threshold
  * property of #ClutterSettings will be used.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_drag_action_set_drag_threshold (ClutterDragAction *action,
@@ -1082,7 +1074,7 @@ clutter_drag_action_set_drag_threshold (ClutterDragAction *action,
  * this function will return the default drag threshold value as stored
  * by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_drag_action_get_drag_threshold (ClutterDragAction *action,
@@ -1124,7 +1116,7 @@ on_drag_handle_destroy (ClutterActor      *handle,
  *
  * Sets the actor to be used as the drag handle.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_drag_action_set_drag_handle (ClutterDragAction *action,
@@ -1147,19 +1139,16 @@ clutter_drag_action_set_drag_handle (ClutterDragAction *action,
 
   priv->drag_handle = handle;
 
+  priv->transformed_press_x = priv->press_x;
+  priv->transformed_press_y = priv->press_y;
+  clutter_actor_transform_stage_point (handle, priv->press_x, priv->press_y,
+                                       &priv->transformed_press_x,
+                                       &priv->transformed_press_y);
+
   if (priv->drag_handle != NULL)
-    {
-      priv->transformed_press_x = priv->press_x;
-      priv->transformed_press_y = priv->press_y;
-      clutter_actor_transform_stage_point (priv->drag_handle, priv->press_x,
-                                           priv->press_y,
-                                           &priv->transformed_press_x,
-                                           &priv->transformed_press_y);
-
-      g_signal_connect (priv->drag_handle, "destroy",
-                        G_CALLBACK (on_drag_handle_destroy),
-                        action);
-    }
+    g_signal_connect (priv->drag_handle, "destroy",
+                      G_CALLBACK (on_drag_handle_destroy),
+                      action);
 
   g_object_notify_by_pspec (G_OBJECT (action), drag_props[PROP_DRAG_HANDLE]);
 }
@@ -1173,7 +1162,7 @@ clutter_drag_action_set_drag_handle (ClutterDragAction *action,
  * Return value: (transfer none): a #ClutterActor, used as the drag
  *   handle, or %NULL if none was set
  *
- *
+ * Since: 1.4
  */
 ClutterActor *
 clutter_drag_action_get_drag_handle (ClutterDragAction *action)
@@ -1190,7 +1179,7 @@ clutter_drag_action_get_drag_handle (ClutterDragAction *action)
  *
  * Restricts the dragging action to a specific axis
  *
- *
+ * Since: 1.4
  */
 void
 clutter_drag_action_set_drag_axis (ClutterDragAction *action,
@@ -1220,7 +1209,7 @@ clutter_drag_action_set_drag_axis (ClutterDragAction *action,
  *
  * Return value: the axis constraint
  *
- *
+ * Since: 1.4
  */
 ClutterDragAxis
 clutter_drag_action_get_drag_axis (ClutterDragAction *action)
@@ -1240,7 +1229,7 @@ clutter_drag_action_get_drag_axis (ClutterDragAction *action)
  * Retrieves the coordinates, in stage space, of the press event
  * that started the dragging
  *
- *
+ * Since: 1.4
  */
 void
 clutter_drag_action_get_press_coords (ClutterDragAction *action,
@@ -1267,7 +1256,7 @@ clutter_drag_action_get_press_coords (ClutterDragAction *action,
  * Retrieves the coordinates, in stage space, of the latest motion
  * event during the dragging
  *
- *
+ * Since: 1.4
  */
 void
 clutter_drag_action_get_motion_coords (ClutterDragAction *action,
diff --git a/clutter/clutter-drag-action.h b/clutter/clutter-drag-action.h
index 304f44d..b2503dd 100644
--- a/clutter/clutter-drag-action.h
+++ b/clutter/clutter-drag-action.h
@@ -51,7 +51,7 @@ typedef struct _ClutterDragActionClass          ClutterDragActionClass;
  * The <structname>ClutterDragAction</structname> structure contains only
  * private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterDragAction
 {
@@ -71,7 +71,7 @@ struct _ClutterDragAction
  * The <structname>ClutterDragActionClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterDragActionClass
 {
@@ -129,11 +129,11 @@ void            clutter_drag_action_get_motion_coords  (ClutterDragAction *actio
                                                         gfloat            *motion_x,
                                                         gfloat            *motion_y);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean        clutter_drag_action_get_drag_area      (ClutterDragAction *action,
                                                         ClutterRect       *drag_area);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_drag_action_set_drag_area      (ClutterDragAction *action,
                                                         const ClutterRect *drag_area);
 
diff --git a/clutter/clutter-drop-action.c b/clutter/clutter-drop-action.c
index fbc376d..adf6aeb 100644
--- a/clutter/clutter-drop-action.c
+++ b/clutter/clutter-drop-action.c
@@ -407,7 +407,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
    *
    * Return value: %TRUE if the drop is accepted, and %FALSE otherwise
    *
-   *
+   * Since: 1.8
    */
   drop_signals[CAN_DROP] =
     g_signal_new (I_("can-drop"),
@@ -429,7 +429,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
    * The ::over-in signal is emitted when the dragged actor crosses
    * into @actor.
    *
-   *
+   * Since: 1.8
    */
   drop_signals[OVER_IN] =
     g_signal_new (I_("over-in"),
@@ -449,7 +449,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
    * The ::over-out signal is emitted when the dragged actor crosses
    * outside @actor.
    *
-   *
+   * Since: 1.8
    */
   drop_signals[OVER_OUT] =
     g_signal_new (I_("over-out"),
@@ -472,7 +472,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
    * on @actor. This signal is only emitted if at least an handler of
    * #ClutterDropAction::can-drop returns %TRUE.
    *
-   *
+   * Since: 1.8
    */
   drop_signals[DROP] =
     g_signal_new (I_("drop"),
@@ -500,7 +500,7 @@ clutter_drop_action_class_init (ClutterDropActionClass *klass)
    * After the ::drop-cancel signal is fired the active drag is
    * terminated.
    *
-   *
+   * Since: 1.12
    */
   drop_signals[DROP_CANCEL] =
     g_signal_new (I_("drop-cancel"),
@@ -531,7 +531,7 @@ clutter_drop_action_init (ClutterDropAction *self)
  *
  * Return value: the newly created #ClutterDropAction
  *
- *
+ * Since: 1.8
  */
 ClutterAction *
 clutter_drop_action_new (void)
diff --git a/clutter/clutter-drop-action.h b/clutter/clutter-drop-action.h
index 684c3f7..732baad 100644
--- a/clutter/clutter-drop-action.h
+++ b/clutter/clutter-drop-action.h
@@ -50,7 +50,7 @@ typedef struct _ClutterDropActionClass          ClutterDropActionClass;
  * The <structname>ClutterDropAction</structname> structure contains only
  * private data and should be accessed using the provided API.
  *
- *
+ * Since: 1.8
  */
 struct _ClutterDropAction
 {
@@ -70,7 +70,7 @@ struct _ClutterDropAction
  * The <structname>ClutterDropActionClass</structname> structure contains
  * only private data.
  *
- *
+ * Since: 1.8
  */
 struct _ClutterDropActionClass
 {
diff --git a/clutter/clutter-effect.c b/clutter/clutter-effect.c
index 028fdac..8430a76 100644
--- a/clutter/clutter-effect.c
+++ b/clutter/clutter-effect.c
@@ -380,7 +380,7 @@ _clutter_effect_get_paint_volume (ClutterEffect      *effect,
  * will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
  * flag set.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_effect_queue_repaint (ClutterEffect *effect)
diff --git a/clutter/clutter-effect.h b/clutter/clutter-effect.h
index b77b571..cad4548 100644
--- a/clutter/clutter-effect.h
+++ b/clutter/clutter-effect.h
@@ -48,7 +48,7 @@ typedef struct _ClutterEffectClass      ClutterEffectClass;
  * The #ClutterEffect structure contains only private data and should
  * be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterEffect
 {
@@ -66,7 +66,7 @@ struct _ClutterEffect
  *
  * The #ClutterEffectClass structure contains only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterEffectClass
 {
diff --git a/clutter/clutter-enums.h b/clutter/clutter-enums.h
index ccd276a..f2a6662 100644
--- a/clutter/clutter-enums.h
+++ b/clutter/clutter-enums.h
@@ -31,12 +31,46 @@
 G_BEGIN_DECLS
 
 /**
+ * ClutterGravity:
+ * @CLUTTER_GRAVITY_NONE: Do not apply any gravity
+ * @CLUTTER_GRAVITY_NORTH: Scale from topmost downwards
+ * @CLUTTER_GRAVITY_NORTH_EAST: Scale from the top right corner
+ * @CLUTTER_GRAVITY_EAST: Scale from the right side
+ * @CLUTTER_GRAVITY_SOUTH_EAST: Scale from the bottom right corner
+ * @CLUTTER_GRAVITY_SOUTH: Scale from the bottom upwards
+ * @CLUTTER_GRAVITY_SOUTH_WEST: Scale from the bottom left corner
+ * @CLUTTER_GRAVITY_WEST: Scale from the left side
+ * @CLUTTER_GRAVITY_NORTH_WEST: Scale from the top left corner
+ * @CLUTTER_GRAVITY_CENTER: Scale from the center.
+ *
+ * Gravity of the scaling operations. When a gravity different than
+ * %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
+ * of the specified portion at the same coordinates.
+ *
+ * Since: 0.2
+ */
+typedef enum { /*< prefix=CLUTTER_GRAVITY >*/
+  CLUTTER_GRAVITY_NONE       = 0,
+  CLUTTER_GRAVITY_NORTH,
+  CLUTTER_GRAVITY_NORTH_EAST,
+  CLUTTER_GRAVITY_EAST,
+  CLUTTER_GRAVITY_SOUTH_EAST,
+  CLUTTER_GRAVITY_SOUTH,
+  CLUTTER_GRAVITY_SOUTH_WEST,
+  CLUTTER_GRAVITY_WEST,
+  CLUTTER_GRAVITY_NORTH_WEST,
+  CLUTTER_GRAVITY_CENTER
+} ClutterGravity;
+
+/**
  * ClutterRotateAxis:
  * @CLUTTER_X_AXIS: Rotate around the X axis
  * @CLUTTER_Y_AXIS: Rotate around the Y axis
  * @CLUTTER_Z_AXIS: Rotate around the Z axis
  *
  * Axis of a rotation.
+ *
+ * Since: 0.4
  */
 typedef enum { /*< prefix=CLUTTER >*/
   CLUTTER_X_AXIS,
@@ -45,11 +79,27 @@ typedef enum { /*< prefix=CLUTTER >*/
 } ClutterRotateAxis;
 
 /**
+ * ClutterRotateDirection:
+ * @CLUTTER_ROTATE_CW: Clockwise rotation
+ * @CLUTTER_ROTATE_CCW: Counter-clockwise rotation
+ *
+ * Direction of a rotation.
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER_ROTATE >*/
+  CLUTTER_ROTATE_CW,
+  CLUTTER_ROTATE_CCW
+} ClutterRotateDirection;
+
+/**
  * ClutterRequestMode:
  * @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests
  * @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests
  *
  * Specifies the type of requests for a #ClutterActor.
+ *
+ * Since: 0.8
  */
 typedef enum { /*< prefix=CLUTTER_REQUEST >*/
   CLUTTER_REQUEST_HEIGHT_FOR_WIDTH,
@@ -111,31 +161,37 @@ typedef enum { /*< prefix=CLUTTER_REQUEST >*/
  * @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce)
  *   tweening, with bounce on both ends
  * @CLUTTER_STEPS: parametrized step function; see clutter_timeline_set_step_progress()
- *   for further details.
+ *   for further details. (Since 1.12)
  * @CLUTTER_STEP_START: equivalent to %CLUTTER_STEPS with a number of steps
- *   equal to 1, and a step mode of %CLUTTER_STEP_MODE_START.
+ *   equal to 1, and a step mode of %CLUTTER_STEP_MODE_START. (Since 1.12)
  * @CLUTTER_STEP_END: equivalent to %CLUTTER_STEPS with a number of steps
- *   equal to 1, and a step mode of %CLUTTER_STEP_MODE_END.
+ *   equal to 1, and a step mode of %CLUTTER_STEP_MODE_END. (Since 1.12)
  * @CLUTTER_CUBIC_BEZIER: cubic bezier between (0, 0) and (1, 1) with two
- *   control points; see clutter_timeline_set_cubic_bezier_progress().
+ *   control points; see clutter_timeline_set_cubic_bezier_progress(). (Since 1.12)
  * @CLUTTER_EASE: equivalent to %CLUTTER_CUBIC_BEZIER with control points
- *   in (0.25, 0.1) and (0.25, 1.0).
+ *   in (0.25, 0.1) and (0.25, 1.0). (Since 1.12)
  * @CLUTTER_EASE_IN: equivalent to %CLUTTER_CUBIC_BEZIER with control points
- *   in (0.42, 0) and (1.0, 1.0).
+ *   in (0.42, 0) and (1.0, 1.0). (Since 1.12)
  * @CLUTTER_EASE_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points
- *   in (0, 0) and (0.58, 1.0).
+ *   in (0, 0) and (0.58, 1.0). (Since 1.12)
  * @CLUTTER_EASE_IN_OUT: equivalent to %CLUTTER_CUBIC_BEZIER with control points
- *   in (0.42, 0) and (0.58, 1.0).
- * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard when enumerating
- *
- * The animation modes used by #ClutterTimeline.
+ *   in (0.42, 0) and (0.58, 1.0). (Since 1.12)
+ * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for
+ *   registered global alpha functions
  *
- * This enumeration can be expanded in later versions of Clutter.
+ * The animation modes used by #ClutterAlpha and #ClutterAnimation. This
+ * enumeration can be expanded in later versions of Clutter.
  *
  * <figure id="easing-modes">
  *   <title>Easing modes provided by Clutter</title>
  *   <graphic fileref="easing-modes.png" format="PNG"/>
  * </figure>
+ *
+ * Every global alpha function registered using clutter_alpha_register_func()
+ * or clutter_alpha_register_closure() will have a logical id greater than
+ * %CLUTTER_ANIMATION_LAST.
+ *
+ * Since: 1.0
  */
 typedef enum {
   CLUTTER_CUSTOM_MODE = 0,
@@ -205,11 +261,26 @@ typedef enum {
   CLUTTER_EASE_OUT,
   CLUTTER_EASE_IN_OUT,
 
-  /* guard */
+  /* guard, before registered alpha functions */
   CLUTTER_ANIMATION_LAST
 } ClutterAnimationMode;
 
 /**
+ * ClutterFontFlags:
+ * @CLUTTER_FONT_MIPMAPPING: Set to use mipmaps for the glyph cache textures.
+ * @CLUTTER_FONT_HINTING: Set to enable hinting on the glyphs.
+ *
+ * Runtime flags to change the font quality. To be used with
+ * clutter_set_font_flags().
+ *
+ * Since: 1.0
+ */
+typedef enum { /*< prefix=CLUTTER_FONT >*/
+  CLUTTER_FONT_MIPMAPPING = (1 << 0),
+  CLUTTER_FONT_HINTING    = (1 << 1)
+} ClutterFontFlags;
+
+/**
  * ClutterTextDirection:
  * @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned
  *   by clutter_get_default_text_direction()
@@ -217,6 +288,8 @@ typedef enum {
  * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction
  *
  * The text direction to be used by #ClutterActor<!-- -->s
+ *
+ * Since: 1.2
  */
 typedef enum {
   CLUTTER_TEXT_DIRECTION_DEFAULT,
@@ -231,7 +304,7 @@ typedef enum {
  *
  * The type of GLSL shader program
  *
- *
+ * Since: 1.4
  */
 typedef enum {
   CLUTTER_VERTEX_SHADER,
@@ -266,7 +339,7 @@ typedef enum {
  * should preserve and ignore them.  You can use %CLUTTER_MODIFIER_MASK to
  * remove all reserved values.
  *
- *
+ * Since: 0.4
  */
 typedef enum {
   CLUTTER_SHIFT_MASK    = 1 << 0,
@@ -347,7 +420,7 @@ typedef enum { /*< prefix=CLUTTER_ACTOR >*/
  *
  * Possible flags to pass to clutter_actor_set_offscreen_redirect().
  *
- *
+ * Since: 1.8
  */
 typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/
   CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0,
@@ -371,7 +444,7 @@ typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/
  * Flags passed to the #ClutterActorClass.allocate() virtual function
  * and to the clutter_actor_allocate() function.
  *
- *
+ * Since: 1.0
  */
 typedef enum {
   CLUTTER_ALLOCATION_NONE         = 0,
@@ -388,7 +461,7 @@ typedef enum {
  * Specifies the axis on which #ClutterAlignConstraint should maintain
  * the alignment.
  *
- *
+ * Since: 1.4
  */
 typedef enum { /*< prefix=CLUTTER_ALIGN >*/
   CLUTTER_ALIGN_X_AXIS,
@@ -397,6 +470,48 @@ typedef enum { /*< prefix=CLUTTER_ALIGN >*/
 } ClutterAlignAxis;
 
 /**
+ * ClutterInterpolation:
+ * @CLUTTER_INTERPOLATION_LINEAR: linear interpolation
+ * @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation
+ *
+ * The mode of interpolation between key frames
+ *
+ * Since: 1.2
+ */
+typedef enum {
+  CLUTTER_INTERPOLATION_LINEAR,
+  CLUTTER_INTERPOLATION_CUBIC
+} ClutterInterpolation;
+
+/**
+ * ClutterBinAlignment:
+ * @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the
+ *   #ClutterBinLayout will honour the fixed position provided
+ *   by the actors themselves when allocating them
+ * @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size
+ * @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top
+ *   or left side of the container, depending on the axis
+ * @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom
+ *   or right side of the container, depending on the axis
+ * @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the
+ *   center of the container, depending on the axis
+ *
+ * The alignment policies available on each axis for #ClutterBinLayout
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use #ClutterActorAlign and the #ClutterActor
+ *   API instead
+ */
+typedef enum {
+  CLUTTER_BIN_ALIGNMENT_FIXED,
+  CLUTTER_BIN_ALIGNMENT_FILL,
+  CLUTTER_BIN_ALIGNMENT_START,
+  CLUTTER_BIN_ALIGNMENT_END,
+  CLUTTER_BIN_ALIGNMENT_CENTER
+} ClutterBinAlignment;
+
+/**
  * ClutterBindCoordinate:
  * @CLUTTER_BIND_X: Bind the X coordinate
  * @CLUTTER_BIND_Y: Bind the Y coordinate
@@ -411,7 +526,7 @@ typedef enum { /*< prefix=CLUTTER_ALIGN >*/
  *
  * Specifies which property should be used in a binding
  *
- *
+ * Since: 1.4
  */
 typedef enum { /*< prefix=CLUTTER_BIND >*/
   CLUTTER_BIND_X,
@@ -437,6 +552,24 @@ typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
 } ClutterEffectPaintFlags;
 
 /**
+ * ClutterBoxAlignment:
+ * @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to
+ *   to the left, depending on the used axis
+ * @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center
+ * @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to
+ *   the right, depending on the used axis
+ *
+ * The alignment policies available on each axis of the #ClutterBoxLayout
+ *
+ * Since: 1.2
+ */
+typedef enum {
+  CLUTTER_BOX_ALIGNMENT_START,
+  CLUTTER_BOX_ALIGNMENT_END,
+  CLUTTER_BOX_ALIGNMENT_CENTER
+} ClutterBoxAlignment;
+
+/**
  * ClutterLongPressState:
  * @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports
  *   long presses
@@ -445,7 +578,7 @@ typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
  *
  * The states for the #ClutterClickAction::long-press signal.
  *
- *
+ * Since: 1.8
  */
 typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
   CLUTTER_LONG_PRESS_QUERY,
@@ -503,7 +636,7 @@ typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
  *
  * Named colors, for accessing global colors defined by Clutter
  *
- *
+ * Since: 1.6
  */
 typedef enum { /*< prefix=CLUTTER_COLOR >*/
   /* CGA/EGA-like palette */
@@ -567,7 +700,7 @@ typedef enum { /*< prefix=CLUTTER_COLOR >*/
  * The axis of the constraint that should be applied on the
  * dragging action
  *
- *
+ * Since: 1.4
  */
 typedef enum { /*< prefix=CLUTTER_DRAG >*/
   CLUTTER_DRAG_AXIS_NONE = 0,
@@ -583,7 +716,7 @@ typedef enum { /*< prefix=CLUTTER_DRAG >*/
  *
  * Flags for the #ClutterEvent
  *
- *
+ * Since: 0.6
  */
 typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
   CLUTTER_EVENT_NONE           = 0,
@@ -618,7 +751,7 @@ typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
  *
  * Types of events.
  *
- *
+ * Since: 0.4
  */
 typedef enum { /*< prefix=CLUTTER >*/
   CLUTTER_NOTHING = 0,
@@ -655,7 +788,7 @@ typedef enum { /*< prefix=CLUTTER >*/
  * The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent
  * has precise scrolling delta information.
  *
- *
+ * Since: 0.4
  */
 typedef enum { /*< prefix=CLUTTER_SCROLL >*/
   CLUTTER_SCROLL_UP,
@@ -673,7 +806,7 @@ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
  *
  * Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE.
  *
- *
+ * Since: 0.4
  */
 typedef enum {
   CLUTTER_STAGE_STATE_FULLSCREEN       = (1 << 1),
@@ -698,7 +831,7 @@ typedef enum {
  * Runtime flags indicating specific features available via Clutter window
  * sysytem and graphics backend.
  *
- *
+ * Since: 0.4
  */
 typedef enum
 {
@@ -725,7 +858,7 @@ typedef enum
  * The direction of the arrangement of the children inside
  * a #ClutterFlowLayout
  *
- *
+ * Since: 1.2
  */
 typedef enum { /*< prefix=CLUTTER_FLOW >*/
   CLUTTER_FLOW_HORIZONTAL,
@@ -751,7 +884,7 @@ typedef enum { /*< prefix=CLUTTER_FLOW >*/
  * The #ClutterInputDeviceType enumeration can be extended at later
  * date; not every platform supports every input device type.
  *
- *
+ * Since: 1.0
  */
 typedef enum {
   CLUTTER_POINTER_DEVICE,
@@ -778,7 +911,7 @@ typedef enum {
  *
  * The mode for input devices available.
  *
- *
+ * Since: 1.6
  */
 typedef enum {
   CLUTTER_INPUT_MODE_MASTER,
@@ -801,7 +934,7 @@ typedef enum {
  *
  * The type of axes Clutter recognizes on a #ClutterInputDevice
  *
- *
+ * Since: 1.6
  */
 typedef enum {
   CLUTTER_INPUT_AXIS_IGNORE,
@@ -826,7 +959,7 @@ typedef enum {
  *
  * The edge to snap
  *
- *
+ * Since: 1.6
  */
 typedef enum {
   CLUTTER_SNAP_EDGE_TOP,
@@ -843,7 +976,7 @@ typedef enum {
  *
  * Controls the paint cycle of the scene graph when in pick mode
  *
- *
+ * Since: 1.0
  */
 typedef enum {
   CLUTTER_PICK_NONE = 0,
@@ -860,7 +993,7 @@ typedef enum {
  *
  * The main direction of the swipe gesture
  *
- *
+ * Since: 1.8
  */
 typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
   CLUTTER_SWIPE_DIRECTION_UP    = 1 << 0,
@@ -877,6 +1010,8 @@ typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
  *
  * The axis of the constraint that should be applied on the
  * panning action
+ *
+ * Since: 1.12
  */
 typedef enum { /*< prefix=CLUTTER_PAN >*/
   CLUTTER_PAN_AXIS_NONE = 0,
@@ -885,12 +1020,74 @@ typedef enum { /*< prefix=CLUTTER_PAN >*/
   CLUTTER_PAN_Y_AXIS
 } ClutterPanAxis;
 
+
+/**
+ * ClutterTableAlignment:
+ * @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the
+ *   left of a cell in the table, depending on the axis
+ * @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of
+ *   a cell in the table
+ * @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the
+ *   right of a cell in the table, depending on the axis
+ *
+ * The alignment policies available on each axis of the #ClutterTableLayout
+ *
+ * Since: 1.4
+ */
+typedef enum {
+  CLUTTER_TABLE_ALIGNMENT_START,
+  CLUTTER_TABLE_ALIGNMENT_CENTER,
+  CLUTTER_TABLE_ALIGNMENT_END
+} ClutterTableAlignment;
+
+/**
+ * ClutterTextureFlags:
+ * @CLUTTER_TEXTURE_NONE: No flags
+ * @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME
+ * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME
+ * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME
+ *
+ * Flags for clutter_texture_set_from_rgb_data() and
+ * clutter_texture_set_from_yuv_data().
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER_TEXTURE >*/
+  CLUTTER_TEXTURE_NONE             = 0,
+  CLUTTER_TEXTURE_RGB_FLAG_BGR     = 1 << 1,
+  CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */
+  CLUTTER_TEXTURE_YUV_FLAG_YUV2    = 1 << 3
+
+  /* FIXME: add compressed types ? */
+} ClutterTextureFlags;
+
+/**
+ * ClutterTextureQuality:
+ * @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour
+ *   interpolation when rendering. good setting.
+ * @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using
+ *   extra resources.
+ * @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality
+ *   available using extra memory.
+ *
+ * Enumaration controlling the texture quality.
+ *
+ * Since: 0.8
+ */
+typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/
+  CLUTTER_TEXTURE_QUALITY_LOW,
+  CLUTTER_TEXTURE_QUALITY_MEDIUM,
+  CLUTTER_TEXTURE_QUALITY_HIGH
+} ClutterTextureQuality;
+
 /**
  * ClutterTimelineDirection:
  * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline
  * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline
  *
  * The direction of a #ClutterTimeline
+ *
+ * Since: 0.6
  */
 typedef enum {
   CLUTTER_TIMELINE_FORWARD,
@@ -908,6 +1105,8 @@ typedef enum {
  * The type of unit in which a value is expressed
  *
  * This enumeration might be expanded at later date
+ *
+ * Since: 1.0
  */
 typedef enum { /*< prefix=CLUTTER_UNIT >*/
   CLUTTER_UNIT_PIXEL,
@@ -936,6 +1135,8 @@ typedef enum { /*< prefix=CLUTTER_UNIT >*/
  *   coordinates relative to the last node.
  *
  * Types of nodes in a #ClutterPath.
+ *
+ * Since: 1.0
  */
 typedef enum {
   CLUTTER_PATH_MOVE_TO      = 0,
@@ -966,7 +1167,7 @@ typedef enum {
  * bigger than its natural size; for example, when the #ClutterActor:x-expand
  * or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE.
  *
- *
+ * Since: 1.10
  */
 typedef enum {
   CLUTTER_ACTOR_ALIGN_FILL,
@@ -986,7 +1187,7 @@ typedef enum {
  *
  * Flags to pass to clutter_threads_add_repaint_func_full().
  *
- *
+ * Since: 1.10
  */
 typedef enum {
   CLUTTER_REPAINT_FLAGS_PRE_PAINT = 1 << 0,
@@ -1011,7 +1212,7 @@ typedef enum {
  *
  * Controls the alignment of the #ClutterContent inside a #ClutterActor.
  *
- *
+ * Since: 1.10
  */
 typedef enum {
   CLUTTER_CONTENT_GRAVITY_TOP_LEFT,
@@ -1041,7 +1242,7 @@ typedef enum {
  * The scaling filters to be used with the #ClutterActor:minification-filter
  * and #ClutterActor:magnification-filter properties.
  *
- *
+ * Since: 1.10
  */
 typedef enum {
   CLUTTER_SCALING_FILTER_LINEAR,
@@ -1056,7 +1257,7 @@ typedef enum {
  *
  * Represents the orientation of actors or layout managers.
  *
- *
+ * Since: 1.12
  */
 typedef enum {
   CLUTTER_ORIENTATION_HORIZONTAL,
@@ -1072,7 +1273,7 @@ typedef enum {
  *
  * Scroll modes.
  *
- *
+ * Since: 1.12
  */
 typedef enum { /*< prefix=CLUTTER_SCROLL >*/
   CLUTTER_SCROLL_NONE         = 0,
@@ -1092,7 +1293,7 @@ typedef enum { /*< prefix=CLUTTER_SCROLL >*/
  *
  * Grid position modes.
  *
- *
+ * Since: 1.12
  */
 typedef enum {
   CLUTTER_GRID_POSITION_LEFT,
@@ -1110,7 +1311,7 @@ typedef enum {
  *
  * Content repeat modes.
  *
- *
+ * Since: 1.12
  */
 typedef enum {
   CLUTTER_REPEAT_NONE   = 0,
@@ -1132,7 +1333,7 @@ typedef enum {
  *
  * See clutter_timeline_set_step_progress().
  *
- *
+ * Since: 1.12
  */
 typedef enum {
   CLUTTER_STEP_MODE_START,
@@ -1148,7 +1349,7 @@ typedef enum {
  * The axis of the constraint that should be applied by the
  * zooming action.
  *
- *
+ * Since: 1.12
  */
 typedef enum { /*< prefix=CLUTTER_ZOOM >*/
   CLUTTER_ZOOM_X_AXIS,
diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c
index 542a83f..2547572 100644
--- a/clutter/clutter-event.c
+++ b/clutter/clutter-event.c
@@ -82,7 +82,7 @@ is_event_allocated (const ClutterEvent *event)
  *
  * Return value: a pointer to platform-specific data
  *
- *
+ * Since: 1.4
  */
 gpointer
 _clutter_event_get_platform_data (const ClutterEvent *event)
@@ -100,7 +100,7 @@ _clutter_event_get_platform_data (const ClutterEvent *event)
  *
  * Sets the pointer to platform-specific data inside an event
  *
- *
+ * Since: 1.4
  */
 void
 _clutter_event_set_platform_data (ClutterEvent *event,
@@ -146,7 +146,7 @@ clutter_event_type (const ClutterEvent *event)
  *
  * Return value: the time of the event, or %CLUTTER_CURRENT_TIME
  *
- *
+ * Since: 0.4
  */
 guint32
 clutter_event_get_time (const ClutterEvent *event)
@@ -163,7 +163,7 @@ clutter_event_get_time (const ClutterEvent *event)
  *
  * Sets the time of the event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_time (ClutterEvent *event,
@@ -182,7 +182,7 @@ clutter_event_set_time (ClutterEvent *event,
  *
  * Return value: the modifier state parameter, or 0
  *
- *
+ * Since: 0.4
  */
 ClutterModifierType
 clutter_event_get_state (const ClutterEvent *event)
@@ -225,7 +225,7 @@ clutter_event_get_state (const ClutterEvent *event)
  *
  * Sets the modifier state of the event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_state (ClutterEvent        *event,
@@ -273,7 +273,7 @@ clutter_event_set_state (ClutterEvent        *event,
  *
  * Retrieves the coordinates of @event and puts them into @x and @y.
  *
- *
+ * Since: 0.4
  */
 void
 clutter_event_get_coords (const ClutterEvent *event,
@@ -300,7 +300,7 @@ clutter_event_get_coords (const ClutterEvent *event,
  *
  * Retrieves the event coordinates as a #ClutterPoint.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_event_get_position (const ClutterEvent *event,
@@ -358,7 +358,7 @@ clutter_event_get_position (const ClutterEvent *event,
  *
  * Sets the coordinates of the @event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_coords (ClutterEvent *event,
@@ -420,7 +420,7 @@ clutter_event_set_coords (ClutterEvent *event,
  *
  * Return value: (transfer none): a #ClutterActor
  *
- *
+ * Since: 0.6
  */
 ClutterActor *
 clutter_event_get_source (const ClutterEvent *event)
@@ -437,7 +437,7 @@ clutter_event_get_source (const ClutterEvent *event)
  *
  * Sets the source #ClutterActor of @event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_source (ClutterEvent *event,
@@ -458,7 +458,7 @@ clutter_event_set_source (ClutterEvent *event,
  *
  * Return value: (transfer none): a #ClutterStage
  *
- *
+ * Since: 0.8
  */
 ClutterStage *
 clutter_event_get_stage (const ClutterEvent *event)
@@ -475,7 +475,7 @@ clutter_event_get_stage (const ClutterEvent *event)
  *
  * Sets the source #ClutterStage of the event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_stage (ClutterEvent *event,
@@ -498,7 +498,7 @@ clutter_event_set_stage (ClutterEvent *event,
  *
  * Return value: the event flags
  *
- *
+ * Since: 1.0
  */
 ClutterEventFlags
 clutter_event_get_flags (const ClutterEvent *event)
@@ -515,7 +515,7 @@ clutter_event_get_flags (const ClutterEvent *event)
  *
  * Sets the #ClutterEventFlags of @event
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_flags (ClutterEvent      *event,
@@ -539,7 +539,7 @@ clutter_event_set_flags (ClutterEvent      *event,
  *
  * Return value: (transfer none): the related #ClutterActor, or %NULL
  *
- *
+ * Since: 1.0
  */
 ClutterActor *
 clutter_event_get_related (const ClutterEvent *event)
@@ -558,7 +558,7 @@ clutter_event_get_related (const ClutterEvent *event)
  *
  * Sets the related actor of a crossing event
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_related (ClutterEvent *event,
@@ -583,7 +583,7 @@ clutter_event_set_related (ClutterEvent *event,
  *
  * Sets the precise scrolling information of @event.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_event_set_scroll_delta (ClutterEvent *event,
@@ -613,7 +613,7 @@ clutter_event_set_scroll_delta (ClutterEvent *event,
  * The @event has to have a #ClutterScrollEvent.direction value
  * of %CLUTTER_SCROLL_SMOOTH.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_event_get_scroll_delta (const ClutterEvent *event,
@@ -649,7 +649,7 @@ clutter_event_get_scroll_delta (const ClutterEvent *event,
  *
  * Return value: the scrolling direction
  *
- *
+ * Since: 1.0
  */
 ClutterScrollDirection
 clutter_event_get_scroll_direction (const ClutterEvent *event)
@@ -667,7 +667,7 @@ clutter_event_get_scroll_direction (const ClutterEvent *event)
  *
  * Sets the direction of the scrolling of @event
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_scroll_direction (ClutterEvent           *event,
@@ -688,7 +688,7 @@ clutter_event_set_scroll_direction (ClutterEvent           *event,
  *
  * Return value: the button number
  *
- *
+ * Since: 1.0
  */
 guint32
 clutter_event_get_button (const ClutterEvent *event)
@@ -708,7 +708,7 @@ clutter_event_get_button (const ClutterEvent *event)
  *
  * Sets the button number of @event
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_button (ClutterEvent *event,
@@ -730,7 +730,7 @@ clutter_event_set_button (ClutterEvent *event,
  *
  * Return value: the click count
  *
- *
+ * Since: 1.0
  */
 guint32
 clutter_event_get_click_count (const ClutterEvent *event)
@@ -753,7 +753,7 @@ clutter_event_get_click_count (const ClutterEvent *event)
  *
  * Return value: the key symbol representing the key
  *
- *
+ * Since: 1.0
  */
 guint
 clutter_event_get_key_symbol (const ClutterEvent *event)
@@ -773,7 +773,7 @@ clutter_event_get_key_symbol (const ClutterEvent *event)
  *
  * Sets the key symbol of @event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_key_symbol (ClutterEvent *event,
@@ -795,7 +795,7 @@ clutter_event_set_key_symbol (ClutterEvent *event,
  *
  * Return value: The keycode representing the key
  *
- *
+ * Since: 1.0
  */
 guint16
 clutter_event_get_key_code (const ClutterEvent *event)
@@ -815,7 +815,7 @@ clutter_event_get_key_code (const ClutterEvent *event)
  *
  * Sets the keycode of the @event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_key_code (ClutterEvent *event,
@@ -858,7 +858,7 @@ clutter_event_get_key_unicode (const ClutterEvent *event)
  *
  * Sets the Unicode value of @event.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_key_unicode (ClutterEvent *event,
@@ -881,7 +881,7 @@ clutter_event_set_key_unicode (ClutterEvent *event,
  *
  * Return value: (transfer none): the event sequence, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterEventSequence *
 clutter_event_get_event_sequence (const ClutterEvent *event)
@@ -929,7 +929,7 @@ clutter_event_get_device_id (const ClutterEvent *event)
  * Return value: the #ClutterInputDeviceType for the device, if
  *   any is set
  *
- *
+ * Since: 1.0
  */
 ClutterInputDeviceType
 clutter_event_get_device_type (const ClutterEvent *event)
@@ -952,7 +952,7 @@ clutter_event_get_device_type (const ClutterEvent *event)
  *
  * Sets the device for @event.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_event_set_device (ClutterEvent       *event,
@@ -1015,8 +1015,6 @@ clutter_event_set_device (ClutterEvent       *event,
  * @event: a #ClutterEvent
  *
  * Retrieves the #ClutterInputDevice for the event.
- * If you want the physical device the event originated from, use
- * clutter_event_get_source_device().
  *
  * The #ClutterInputDevice structure is completely opaque and should
  * be cast to the platform-specific implementation.
@@ -1025,7 +1023,7 @@ clutter_event_set_device (ClutterEvent       *event,
  *   returned device is owned by the #ClutterEvent and it should not
  *   be unreferenced
  *
- *
+ * Since: 1.0
  */
 ClutterInputDevice *
 clutter_event_get_device (const ClutterEvent *event)
@@ -1245,7 +1243,7 @@ clutter_event_free (ClutterEvent *event)
  *
  * Return value: A #ClutterEvent or NULL if queue empty
  *
- *
+ * Since: 0.4
  */
 ClutterEvent *
 clutter_event_get (void)
@@ -1269,7 +1267,7 @@ clutter_event_get (void)
  *
  * Return value: (transfer none): A #ClutterEvent or NULL if queue empty.
  *
- *
+ * Since: 0.4
  */
 ClutterEvent *
 clutter_event_peek (void)
@@ -1328,7 +1326,7 @@ _clutter_event_push (const ClutterEvent *event,
  * its ancestors. If the source is not set it will be generated by picking
  * or use the actor that currently has keyboard focus
  *
- *
+ * Since: 0.6
  */
 void
 clutter_event_put (const ClutterEvent *event)
@@ -1343,7 +1341,7 @@ clutter_event_put (const ClutterEvent *event)
  *
  * Return value: TRUE if there are pending events, FALSE otherwise.
  *
- *
+ * Since: 0.4
  */
 gboolean
 clutter_events_pending (void)
@@ -1366,7 +1364,7 @@ clutter_events_pending (void)
  *
  * Return value: the event timestamp, or %CLUTTER_CURRENT_TIME
  *
- *
+ * Since: 1.0
  */
 guint32
 clutter_get_current_event_time (void)
@@ -1392,7 +1390,7 @@ clutter_get_current_event_time (void)
  *
  * Return value: (transfer none): The current ClutterEvent, or %NULL if none
  *
- *
+ * Since: 1.2
  */
 const ClutterEvent *
 clutter_get_current_event (void)
@@ -1418,7 +1416,7 @@ clutter_get_current_event (void)
  * Return value: (transfer none): a pointer to a #ClutterInputDevice
  *   or %NULL
  *
- *
+ * Since: 1.6
  */
 ClutterInputDevice *
 clutter_event_get_source_device (const ClutterEvent *event)
@@ -1445,7 +1443,7 @@ clutter_event_get_source_device (const ClutterEvent *event)
  *
  * The #ClutterEvent must have been created using clutter_event_new().
  *
- *
+ * Since: 1.8
  */
 void
 clutter_event_set_source_device (ClutterEvent       *event,
@@ -1472,7 +1470,7 @@ clutter_event_set_source_device (ClutterEvent       *event,
  *
  * Return value: (transfer none): an array of axis values
  *
- *
+ * Since: 1.6
  */
 gdouble *
 clutter_event_get_axes (const ClutterEvent *event,
@@ -1542,7 +1540,7 @@ clutter_event_get_axes (const ClutterEvent *event,
  *
  * Return value: the distance between two #ClutterEvent
  *
- *
+ * Since: 1.12
  */
 float
 clutter_event_get_distance (const ClutterEvent *source,
@@ -1568,7 +1566,7 @@ clutter_event_get_distance (const ClutterEvent *source,
  *
  * Return value: the angle between two #ClutterEvent
  *
- *
+ * Since: 1.12
  */
 double
 clutter_event_get_angle (const ClutterEvent *source,
@@ -1606,7 +1604,7 @@ clutter_event_get_angle (const ClutterEvent *source,
  *
  * Return value: %TRUE if the event has the Shift modifier mask set
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_event_has_shift_modifier (const ClutterEvent *event)
@@ -1622,7 +1620,7 @@ clutter_event_has_shift_modifier (const ClutterEvent *event)
  *
  * Return value: %TRUE if the event has the Control modifier mask set
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_event_has_control_modifier (const ClutterEvent *event)
@@ -1640,7 +1638,7 @@ clutter_event_has_control_modifier (const ClutterEvent *event)
  *
  * Return value: %TRUE if the event is pointer emulated
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_event_is_pointer_emulated (const ClutterEvent *event)
diff --git a/clutter/clutter-event.h b/clutter/clutter-event.h
index 17c4279..65ba151 100644
--- a/clutter/clutter-event.h
+++ b/clutter/clutter-event.h
@@ -40,7 +40,7 @@ G_BEGIN_DECLS
  *
  * Priority for event handling.
  *
- *
+ * Since: 0.4
  */
 #define CLUTTER_PRIORITY_EVENTS         (G_PRIORITY_DEFAULT)
 
@@ -49,7 +49,7 @@ G_BEGIN_DECLS
  *
  * Default value for "now".
  *
- *
+ * Since: 0.4
  */
 #define CLUTTER_CURRENT_TIME            (0L)
 
@@ -59,7 +59,7 @@ G_BEGIN_DECLS
  * Continues the propagation of an event; this macro should be
  * used in event-related signals.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_EVENT_PROPAGATE         (FALSE)
 
@@ -69,7 +69,7 @@ G_BEGIN_DECLS
  * Stops the propagation of an event; this macro should be used
  * in event-related signals.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_EVENT_STOP              (TRUE)
 
@@ -81,7 +81,7 @@ G_BEGIN_DECLS
  * This is typically the left mouse button in a right-handed
  * mouse configuration.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_BUTTON_PRIMARY          (1)
 
@@ -90,7 +90,7 @@ G_BEGIN_DECLS
  *
  * The middle button of a pointer device.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_BUTTON_MIDDLE           (2)
 
@@ -102,7 +102,7 @@ G_BEGIN_DECLS
  * This is typically the right mouse button in a right-handed
  * mouse configuration.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_BUTTON_SECONDARY        (3)
 
@@ -124,7 +124,7 @@ typedef struct _ClutterTouchEvent       ClutterTouchEvent;
  *
  * Common members for a #ClutterEvent
  *
- *
+ * Since: 0.2
  */
 struct _ClutterAnyEvent
 {
@@ -146,12 +146,11 @@ struct _ClutterAnyEvent
  * @keyval: raw key value
  * @hardware_keycode: raw hardware key value
  * @unicode_value: Unicode representation
- * @device: the device that originated the event. If you want the physical
- * device the event originated from, use clutter_event_get_source_device()
+ * @device: reserved for future use
  *
  * Key event
  *
- *
+ * Since: 0.2
  */
 struct _ClutterKeyEvent
 {
@@ -182,8 +181,7 @@ struct _ClutterKeyEvent
  * @click_count: number of button presses within the default time
  *   and radius
  * @axes: reserved for future use
- * @device: the device that originated the event. If you want the physical
- * device the event originated from, use clutter_event_get_source_device()
+ * @device: reserved for future use
  *
  * Button event.
  *
@@ -191,7 +189,7 @@ struct _ClutterKeyEvent
  * event, and can be transformed into actor-relative coordinates by
  * using clutter_actor_transform_stage_point().
  *
- *
+ * Since: 0.2
  */
 struct _ClutterButtonEvent
 {
@@ -220,12 +218,11 @@ struct _ClutterButtonEvent
  * @x: event X coordinate
  * @y: event Y coordinate
  * @related: actor related to the crossing
- * @device: the device that originated the event. If you want the physical
- * device the event originated from, use clutter_event_get_source_device()
+ * @device: reserved for future use
  *
  * Event for the movement of the pointer across different actors
  *
- *
+ * Since: 0.2
  */
 struct _ClutterCrossingEvent
 {
@@ -252,12 +249,11 @@ struct _ClutterCrossingEvent
  * @y: event Y coordinate
  * @modifier_state: button modifiers
  * @axes: reserved for future use
- * @device: the device that originated the event. If you want the physical
- * device the event originated from, use clutter_event_get_source_device()
+ * @device: reserved for future use
  *
  * Event for the pointer motion
  *
- *
+ * Since: 0.2
  */
 struct _ClutterMotionEvent
 {
@@ -286,12 +282,11 @@ struct _ClutterMotionEvent
  * @direction: direction of the scrolling
  * @modifier_state: button modifiers
  * @axes: reserved for future use
- * @device: the device that originated the event. If you want the physical
- * device the event originated from, use clutter_event_get_source_device()
+ * @device: reserved for future use
  *
  * Scroll wheel (or similar device) event
  *
- *
+ * Since: 0.2
  */
 struct _ClutterScrollEvent
 {
@@ -321,7 +316,7 @@ struct _ClutterScrollEvent
  *
  * Event signalling a change in the #ClutterStage state.
  *
- *
+ * Since: 0.2
  */
 struct _ClutterStageStateEvent
 {
@@ -349,8 +344,7 @@ struct _ClutterStageStateEvent
  *   of modifier keys (e.g. Control, Shift, and Alt) and the pointer
  *   buttons. See #ClutterModifierType
  * @axes: reserved 
- * @device: the device that originated the event. If you want the physical
- * device the event originated from, use clutter_event_get_source_device()
+ * @device: the device that originated the event
  *
  * Used for touch events.
  *
@@ -365,7 +359,7 @@ struct _ClutterStageStateEvent
  * With multi-touch capable devices there can be multiple event sequence
  * running at the same time.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTouchEvent
 {
@@ -388,7 +382,7 @@ struct _ClutterTouchEvent
  *
  * Generic event wrapper.
  *
- *
+ * Since: 0.2
  */
 union _ClutterEvent
 {
@@ -449,24 +443,24 @@ void                    clutter_event_set_coords                (ClutterEvent
 void                    clutter_event_get_coords                (const ClutterEvent     *event,
                                                                  gfloat                 *x,
                                                                  gfloat                 *y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_event_get_position              (const ClutterEvent     *event,
                                                                  ClutterPoint           *position);
-
+CLUTTER_AVAILABLE_IN_1_12
 float                   clutter_event_get_distance              (const ClutterEvent     *source,
                                                                  const ClutterEvent     *target);
-
+CLUTTER_AVAILABLE_IN_1_12
 double                  clutter_event_get_angle                 (const ClutterEvent     *source,
                                                                  const ClutterEvent     *target);
 
 gdouble *               clutter_event_get_axes                  (const ClutterEvent     *event,
                                                                  guint                  *n_axes);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_event_has_shift_modifier        (const ClutterEvent     *event);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_event_has_control_modifier      (const ClutterEvent     *event);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_event_is_pointer_emulated       (const ClutterEvent     *event);
 
 void                    clutter_event_set_key_symbol            (ClutterEvent           *event,
@@ -491,20 +485,20 @@ ClutterActor *          clutter_event_get_related               (const ClutterEv
 void                    clutter_event_set_scroll_direction      (ClutterEvent           *event,
                                                                  ClutterScrollDirection  direction);
 ClutterScrollDirection  clutter_event_get_scroll_direction      (const ClutterEvent     *event);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_event_set_scroll_delta          (ClutterEvent           *event,
                                                                  gdouble                 dx,
                                                                  gdouble                 dy);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_event_get_scroll_delta          (const ClutterEvent     *event,
                                                                  gdouble                *dx,
                                                                  gdouble                *dy);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterEventSequence *  clutter_event_get_event_sequence        (const ClutterEvent     *event);
 
 guint32                 clutter_keysym_to_unicode               (guint                   keyval);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint                   clutter_unicode_to_keysym               (guint32                 wc);
 
 guint32                 clutter_get_current_event_time          (void);
diff --git a/clutter/clutter-feature.c b/clutter/clutter-feature.c
index 02559ec..45329dc 100644
--- a/clutter/clutter-feature.c
+++ b/clutter/clutter-feature.c
@@ -126,7 +126,7 @@ _clutter_feature_init (GError **error)
  *
  * Return value: %TRUE if a feature is available
  *
- *
+ * Since: 0.1.1
  */
 gboolean
 clutter_feature_available (ClutterFeatureFlags feature)
@@ -147,7 +147,7 @@ clutter_feature_available (ClutterFeatureFlags feature)
  *
  * Return value: a logical OR of all the supported features.
  *
- *
+ * Since: 0.1.1
  */
 ClutterFeatureFlags
 clutter_feature_get_all (void)
diff --git a/clutter/clutter-fixed-layout.c b/clutter/clutter-fixed-layout.c
index 9b6e9f1..3eba559 100644
--- a/clutter/clutter-fixed-layout.c
+++ b/clutter/clutter-fixed-layout.c
@@ -171,7 +171,7 @@ clutter_fixed_layout_init (ClutterFixedLayout *self)
  *
  * Return value: the newly created #ClutterFixedLayout
  *
- *
+ * Since: 1.2
  */
 ClutterLayoutManager *
 clutter_fixed_layout_new (void)
diff --git a/clutter/clutter-fixed-layout.h b/clutter/clutter-fixed-layout.h
index a246971..32273bc 100644
--- a/clutter/clutter-fixed-layout.h
+++ b/clutter/clutter-fixed-layout.h
@@ -49,7 +49,7 @@ typedef struct _ClutterFixedLayoutClass         ClutterFixedLayoutClass;
  * The #ClutterFixedLayout structure contains only private data and
  * it should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterFixedLayout
 {
@@ -63,7 +63,7 @@ struct _ClutterFixedLayout
  * The #ClutterFixedLayoutClass structure contains only private data
  * and it should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterFixedLayoutClass
 {
diff --git a/clutter/clutter-flow-layout.c b/clutter/clutter-flow-layout.c
index 8c76a30..97524b2 100644
--- a/clutter/clutter-flow-layout.c
+++ b/clutter/clutter-flow-layout.c
@@ -73,10 +73,12 @@
 
 #include <math.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+
 #include "clutter-actor.h"
 #include "clutter-animatable.h"
 #include "clutter-child-meta.h"
-#include "clutter-container.h"
 #include "clutter-debug.h"
 #include "clutter-enum-types.h"
 #include "clutter-flow-layout.h"
@@ -111,7 +113,6 @@ struct _ClutterFlowLayoutPrivate
   guint line_count;
 
   guint is_homogeneous : 1;
-  guint snap_to_grid : 1;
 };
 
 enum
@@ -130,8 +131,6 @@ enum
   PROP_MIN_ROW_HEGHT,
   PROP_MAX_ROW_HEIGHT,
 
-  PROP_SNAP_TO_GRID,
-
   N_PROPERTIES
 };
 
@@ -259,12 +258,7 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
 
       if (priv->orientation == CLUTTER_FLOW_VERTICAL && for_height > 0)
         {
-          clutter_actor_get_preferred_height (child, -1,
-                                              &child_min,
-                                              &child_natural);
-
-          if ((priv->snap_to_grid && line_item_count == n_rows) ||
-              (!priv->snap_to_grid && item_y + child_natural > for_height))
+          if (line_item_count == n_rows)
             {
               total_min_width += line_min_width;
               total_natural_width += line_natural_width;
@@ -281,17 +275,9 @@ clutter_flow_layout_get_preferred_width (ClutterLayoutManager *manager,
               item_y = 0;
             }
 
-          if (priv->snap_to_grid)
-            {
-              new_y = ((line_item_count + 1) * (for_height + priv->row_spacing))
-                    / n_rows;
-              item_height = new_y - item_y - priv->row_spacing;
-            }
-          else
-            {
-              new_y = item_y + child_natural + priv->row_spacing;
-              item_height = child_natural;
-            }
+          new_y = ((line_item_count + 1) * (for_height + priv->row_spacing))
+                / n_rows;
+          item_height = new_y - item_y - priv->row_spacing;
 
           clutter_actor_get_preferred_width (child, item_height,
                                              &child_min,
@@ -450,12 +436,7 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
 
       if (priv->orientation == CLUTTER_FLOW_HORIZONTAL && for_width > 0)
         {
-          clutter_actor_get_preferred_width (child, -1,
-                                             &child_min,
-                                             &child_natural);
-
-          if ((priv->snap_to_grid && line_item_count == n_columns) ||
-              (!priv->snap_to_grid && item_x + child_natural > for_width))
+          if (line_item_count == n_columns)
             {
               total_min_height += line_min_height;
               total_natural_height += line_natural_height;
@@ -472,17 +453,9 @@ clutter_flow_layout_get_preferred_height (ClutterLayoutManager *manager,
               item_x = 0;
             }
 
-          if (priv->snap_to_grid)
-            {
-              new_x = ((line_item_count + 1) * (for_width + priv->col_spacing))
-                    / n_columns;
-              item_width = new_x - item_x - priv->col_spacing;
-            }
-          else
-            {
-              new_x = item_x + child_natural + priv->col_spacing;
-              item_width = child_natural;
-            }
+          new_x = ((line_item_count + 1) * (for_width + priv->col_spacing))
+                / n_columns;
+          item_width = new_x - item_x - priv->col_spacing;
 
           clutter_actor_get_preferred_height (child, item_width,
                                               &child_min,
@@ -633,24 +606,15 @@ clutter_flow_layout_allocate (ClutterLayoutManager   *manager,
       ClutterActorBox child_alloc;
       gfloat item_width, item_height;
       gfloat new_x, new_y;
-      gfloat child_min, child_natural;
 
       if (!CLUTTER_ACTOR_IS_VISIBLE (child))
         continue;
 
       new_x = new_y = 0;
 
-      if (!priv->snap_to_grid)
-        clutter_actor_get_preferred_size (child,
-                                          NULL, NULL,
-                                          &item_width,
-                                          &item_height);
-
       if (priv->orientation == CLUTTER_FLOW_HORIZONTAL)
         {
-          if ((priv->snap_to_grid &&
-               line_item_count == items_per_line && line_item_count > 0) ||
-              (!priv->snap_to_grid && item_x + item_width > avail_width))
+          if (line_item_count == items_per_line && line_item_count > 0)
             {
               item_y += g_array_index (priv->line_natural,
                                        gfloat,
@@ -665,27 +629,31 @@ clutter_flow_layout_allocate (ClutterLayoutManager   *manager,
               item_x = x_off;
             }
 
-          if (priv->snap_to_grid)
-            {
-              new_x = x_off + ((line_item_count + 1) * (avail_width + priv->col_spacing))
-                    / items_per_line;
-              item_width = new_x - item_x - priv->col_spacing;
-            }
-          else
-            {
-              new_x = item_x + item_width + priv->col_spacing;
-            }
-
+          new_x = x_off + ((line_item_count + 1) * (avail_width + priv->col_spacing))
+                / items_per_line;
+          item_width = new_x - item_x - priv->col_spacing;
           item_height = g_array_index (priv->line_natural,
                                        gfloat,
                                        line_index);
 
+          if (!priv->is_homogeneous)
+            {
+              gfloat child_min, child_natural;
+
+              clutter_actor_get_preferred_width (child, item_height,
+                                                 &child_min,
+                                                 &child_natural);
+              item_width = MIN (item_width, child_natural);
+
+              clutter_actor_get_preferred_height (child, item_width,
+                                                  &child_min,
+                                                  &child_natural);
+              item_height = MIN (item_height, child_natural);
+            }
         }
       else
         {
-          if ((priv->snap_to_grid &&
-               line_item_count == items_per_line && line_item_count > 0) ||
-              (!priv->snap_to_grid && item_y + item_height > avail_height))
+          if (line_item_count == items_per_line && line_item_count > 0)
             {
               item_x += g_array_index (priv->line_natural,
                                        gfloat,
@@ -700,40 +668,27 @@ clutter_flow_layout_allocate (ClutterLayoutManager   *manager,
               item_y = y_off;
             }
 
-          if (priv->snap_to_grid)
-            {
-              new_y = y_off + ((line_item_count + 1) * (avail_height + priv->row_spacing))
-                    / items_per_line;
-              item_height = new_y - item_y - priv->row_spacing;
-            }
-          else
-            {
-              new_y = item_y + item_height + priv->row_spacing;
-            }
-
+          new_y = y_off + ((line_item_count + 1) * (avail_height + priv->row_spacing))
+                / items_per_line;
+          item_height = new_y - item_y - priv->row_spacing;
           item_width = g_array_index (priv->line_natural,
                                       gfloat,
                                       line_index);
-        }
 
-      if (!priv->is_homogeneous &&
-          !clutter_actor_needs_expand (child,
-                                       CLUTTER_ORIENTATION_HORIZONTAL))
-        {
-          clutter_actor_get_preferred_width (child, item_height,
-                                             &child_min,
-                                             &child_natural);
-          item_width = MIN (item_width, child_natural);
-        }
+          if (!priv->is_homogeneous)
+            {
+              gfloat child_min, child_natural;
 
-      if (!priv->is_homogeneous &&
-          !clutter_actor_needs_expand (child,
-                                       CLUTTER_ORIENTATION_VERTICAL))
-        {
-          clutter_actor_get_preferred_height (child, item_width,
-                                              &child_min,
-                                              &child_natural);
-          item_height = MIN (item_height, child_natural);
+              clutter_actor_get_preferred_width (child, item_height,
+                                                 &child_min,
+                                                 &child_natural);
+              item_width = MIN (item_width, child_natural);
+
+              clutter_actor_get_preferred_height (child, item_width,
+                                                  &child_min,
+                                                  &child_natural);
+              item_height = MIN (item_height, child_natural);
+            }
         }
 
       CLUTTER_NOTE (LAYOUT,
@@ -834,11 +789,6 @@ clutter_flow_layout_set_property (GObject      *gobject,
                                           g_value_get_float (value));
       break;
 
-    case PROP_SNAP_TO_GRID:
-      clutter_flow_layout_set_snap_to_grid (self,
-                                            g_value_get_boolean (value));
-      break;
-
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -887,10 +837,6 @@ clutter_flow_layout_get_property (GObject    *gobject,
       g_value_set_float (value, priv->max_row_height);
       break;
 
-    case PROP_SNAP_TO_GRID:
-      g_value_set_boolean (value, priv->snap_to_grid);
-      break;
-
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -937,7 +883,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    *
    * This property also controls the overflowing directions
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_ORIENTATION] =
     g_param_spec_enum ("orientation",
@@ -953,7 +899,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    * Whether each child inside the #ClutterFlowLayout should receive
    * the same allocation
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_HOMOGENEOUS] =
     g_param_spec_boolean ("homogeneous",
@@ -969,7 +915,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    * property is honoured by horizontal non-overflowing layouts
    * and by vertical overflowing layouts
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_COLUMN_SPACING] =
     g_param_spec_float ("column-spacing",
@@ -986,7 +932,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    * property is honoured by vertical non-overflowing layouts and
    * by horizontal overflowing layouts
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_ROW_SPACING] =
     g_param_spec_float ("row-spacing",
@@ -1001,7 +947,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    *
    * Minimum width for each column in the layout, in pixels
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_MIN_COLUMN_WIDTH] =
     g_param_spec_float ("min-column-width",
@@ -1017,7 +963,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    * Maximum width for each column in the layout, in pixels. If
    * set to -1 the width will be the maximum child width
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_MAX_COLUMN_WIDTH] =
     g_param_spec_float ("max-column-width",
@@ -1032,7 +978,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    *
    * Minimum height for each row in the layout, in pixels
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_MIN_ROW_HEGHT] =
     g_param_spec_float ("min-row-height",
@@ -1048,7 +994,7 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
    * Maximum height for each row in the layout, in pixels. If
    * set to -1 the width will be the maximum child height
    *
-   *
+   * Since: 1.2
    */
   flow_properties[PROP_MAX_ROW_HEIGHT] =
     g_param_spec_float ("max-row-height",
@@ -1058,21 +1004,6 @@ clutter_flow_layout_class_init (ClutterFlowLayoutClass *klass)
                         -1.0,
                         CLUTTER_PARAM_READWRITE);
 
-  /**
-   * ClutterFlowLayout:snap-to-grid:
-   *
-   * Whether the #ClutterFlowLayout should arrange its children
-   * on a grid
-   *
-   * Since: 1.16
-   */
-  flow_properties[PROP_SNAP_TO_GRID] =
-    g_param_spec_boolean ("snap-to-grid",
-                          P_("Snap to grid"),
-                          P_("Snap to grid"),
-                          TRUE,
-                          CLUTTER_PARAM_READWRITE);
-
   gobject_class->finalize = clutter_flow_layout_finalize;
   gobject_class->set_property = clutter_flow_layout_set_property;
   gobject_class->get_property = clutter_flow_layout_get_property;
@@ -1098,7 +1029,6 @@ clutter_flow_layout_init (ClutterFlowLayout *self)
 
   priv->line_min = NULL;
   priv->line_natural = NULL;
-  priv->snap_to_grid = TRUE;
 }
 
 /**
@@ -1109,7 +1039,7 @@ clutter_flow_layout_init (ClutterFlowLayout *self)
  *
  * Return value: the newly created #ClutterFlowLayout
  *
- *
+ * Since: 1.2
  */
 ClutterLayoutManager *
 clutter_flow_layout_new (ClutterFlowOrientation orientation)
@@ -1130,7 +1060,7 @@ clutter_flow_layout_new (ClutterFlowOrientation orientation)
  * the children: either horizontally or vertically. The
  * orientation also controls the direction of the overflowing
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_set_orientation (ClutterFlowLayout      *layout,
@@ -1178,7 +1108,7 @@ clutter_flow_layout_set_orientation (ClutterFlowLayout      *layout,
  *
  * Return value: the orientation of the #ClutterFlowLayout
  *
- *
+ * Since: 1.2
  */
 ClutterFlowOrientation
 clutter_flow_layout_get_orientation (ClutterFlowLayout *layout)
@@ -1197,7 +1127,7 @@ clutter_flow_layout_get_orientation (ClutterFlowLayout *layout)
  * Sets whether the @layout should allocate the same space for
  * each child
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout,
@@ -1231,7 +1161,7 @@ clutter_flow_layout_set_homogeneous (ClutterFlowLayout *layout,
  *
  * Return value: %TRUE if the #ClutterFlowLayout is homogeneous
  *
- *
+ * Since: 1.2
  */
 gboolean
 clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout)
@@ -1248,7 +1178,7 @@ clutter_flow_layout_get_homogeneous (ClutterFlowLayout *layout)
  *
  * Sets the space between columns, in pixels
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout,
@@ -1283,7 +1213,7 @@ clutter_flow_layout_set_column_spacing (ClutterFlowLayout *layout,
  * Return value: the spacing between columns of the #ClutterFlowLayout,
  *   in pixels
  *
- *
+ * Since: 1.2
  */
 gfloat
 clutter_flow_layout_get_column_spacing (ClutterFlowLayout *layout)
@@ -1300,7 +1230,7 @@ clutter_flow_layout_get_column_spacing (ClutterFlowLayout *layout)
  *
  * Sets the spacing between rows, in pixels
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout,
@@ -1335,7 +1265,7 @@ clutter_flow_layout_set_row_spacing (ClutterFlowLayout *layout,
  * Return value: the spacing between rows of the #ClutterFlowLayout,
  *   in pixels
  *
- *
+ * Since: 1.2
  */
 gfloat
 clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout)
@@ -1353,7 +1283,7 @@ clutter_flow_layout_get_row_spacing (ClutterFlowLayout *layout)
  *
  * Sets the minimum and maximum widths that a column can have
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_set_column_width (ClutterFlowLayout *layout,
@@ -1409,7 +1339,7 @@ clutter_flow_layout_set_column_width (ClutterFlowLayout *layout,
  *
  * Retrieves the minimum and maximum column widths
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_get_column_width (ClutterFlowLayout *layout,
@@ -1433,7 +1363,7 @@ clutter_flow_layout_get_column_width (ClutterFlowLayout *layout,
  *
  * Sets the minimum and maximum heights that a row can have
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_set_row_height (ClutterFlowLayout *layout,
@@ -1489,7 +1419,7 @@ clutter_flow_layout_set_row_height (ClutterFlowLayout *layout,
  *
  * Retrieves the minimum and maximum row heights
  *
- *
+ * Since: 1.2
  */
 void
 clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
@@ -1504,51 +1434,3 @@ clutter_flow_layout_get_row_height (ClutterFlowLayout *layout,
   if (max_height)
     *max_height = layout->priv->max_row_height;
 }
-
-/**
- * clutter_flow_layout_set_snap_to_grid:
- * @layout: a #ClutterFlowLayout
- * @snap_to_grid: %TRUE if @layout should place its children on a grid
- *
- * Whether the @layout should place its children on a grid.
- *
- * Since: 1.16
- */
-void
-clutter_flow_layout_set_snap_to_grid (ClutterFlowLayout *layout,
-                                      gboolean           snap_to_grid)
-{
-  ClutterFlowLayoutPrivate *priv;
-
-  g_return_if_fail (CLUTTER_IS_FLOW_LAYOUT (layout));
-
-  priv = layout->priv;
-
-  if (priv->snap_to_grid != snap_to_grid)
-    {
-      priv->snap_to_grid = snap_to_grid;
-
-      clutter_layout_manager_layout_changed (CLUTTER_LAYOUT_MANAGER (layout));
-
-      g_object_notify_by_pspec (G_OBJECT (layout),
-                                flow_properties[PROP_SNAP_TO_GRID]);
-    }
-}
-
-/**
- * clutter_flow_layout_get_snap_to_grid:
- * @layout: a #ClutterFlowLayout
- *
- * Retrieves the value of #ClutterFlowLayout:snap-to-grid property
- *
- * Return value: %TRUE if the @layout is placing its children on a grid
- *
- * Since: 1.16
- */
-gboolean
-clutter_flow_layout_get_snap_to_grid (ClutterFlowLayout *layout)
-{
-  g_return_val_if_fail (CLUTTER_IS_FLOW_LAYOUT (layout), FALSE);
-
-  return layout->priv->snap_to_grid;
-}
diff --git a/clutter/clutter-flow-layout.h b/clutter/clutter-flow-layout.h
index 9520838..abbf82c 100644
--- a/clutter/clutter-flow-layout.h
+++ b/clutter/clutter-flow-layout.h
@@ -50,7 +50,7 @@ typedef struct _ClutterFlowLayoutClass          ClutterFlowLayoutClass;
  * The #ClutterFlowLayout structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterFlowLayout
 {
@@ -66,7 +66,7 @@ struct _ClutterFlowLayout
  * The #ClutterFlowLayoutClass structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterFlowLayoutClass
 {
@@ -104,9 +104,6 @@ void                   clutter_flow_layout_set_row_height     (ClutterFlowLayout
 void                   clutter_flow_layout_get_row_height     (ClutterFlowLayout      *layout,
                                                                gfloat                 *min_height,
                                                                gfloat                 *max_height);
-void                   clutter_flow_layout_set_snap_to_grid   (ClutterFlowLayout      *layout,
-                                                               gboolean                snap_to_grid);
-gboolean               clutter_flow_layout_get_snap_to_grid   (ClutterFlowLayout      *layout);
 
 G_END_DECLS
 
diff --git a/clutter/clutter-gesture-action-private.h b/clutter/clutter-gesture-action-private.h
index 7625a8e..d3eb865 100644
--- a/clutter/clutter-gesture-action-private.h
+++ b/clutter/clutter-gesture-action-private.h
@@ -35,11 +35,13 @@ G_BEGIN_DECLS
  * it needs to wait until the drag threshold has been exceeded before
  * considering that the gesture has begun;
  * @CLUTTER_GESTURE_TRIGGER_BEFORE: Tell #ClutterGestureAction that
- * the gesture must begin immediately and that it must be cancelled
+ * the gesture must begin immegiately and that it must be cancelled
  * once the drag exceed the configured threshold.
  *
  * Enum passed to the _clutter_gesture_action_set_threshold_trigger_edge()
  * function.
+ *
+ * Since: 1.14
  */
 typedef enum
 {
diff --git a/clutter/clutter-gesture-action.c b/clutter/clutter-gesture-action.c
index a6afd16..751555a 100644
--- a/clutter/clutter-gesture-action.c
+++ b/clutter/clutter-gesture-action.c
@@ -79,6 +79,8 @@
  *   gesture is cancelled, in which case the "cancel" gesture will be used
  *   instead.</para>
  * </refsect2>
+ *
+ * Since: 1.8
  */
 
 #ifdef HAVE_CONFIG_H
@@ -128,15 +130,6 @@ struct _ClutterGestureActionPrivate
 
 enum
 {
-  PROP_0,
-
-  PROP_N_TOUCH_POINTS,
-
-  PROP_LAST
-};
-
-enum
-{
   GESTURE_BEGIN,
   GESTURE_PROGRESS,
   GESTURE_END,
@@ -145,7 +138,6 @@ enum
   LAST_SIGNAL
 };
 
-static GParamSpec *gesture_props[PROP_LAST];
 static guint gesture_signals[LAST_SIGNAL] = { 0, };
 
 G_DEFINE_TYPE (ClutterGestureAction, clutter_gesture_action, CLUTTER_TYPE_ACTION);
@@ -221,48 +213,8 @@ gesture_unregister_point (ClutterGestureAction *action, gint position)
   g_array_remove_index (priv->points, position);
 }
 
-static void
-gesture_update_motion_point (GesturePoint *point,
-                             ClutterEvent *event)
-{
-  gfloat motion_x, motion_y;
-  gint64 _time;
-
-  clutter_event_get_coords (event, &motion_x, &motion_y);
-
-  clutter_event_free (point->last_event);
-  point->last_event = clutter_event_copy (event);
-
-  point->last_delta_x = motion_x - point->last_motion_x;
-  point->last_delta_y = motion_y - point->last_motion_y;
-  point->last_motion_x = motion_x;
-  point->last_motion_y = motion_y;
-
-  _time = clutter_event_get_time (event);
-  point->last_delta_time = _time - point->last_motion_time;
-  point->last_motion_time = _time;
-}
-
-static void
-gesture_update_release_point (GesturePoint *point,
-                              ClutterEvent *event)
-{
-  gint64 _time;
-
-  clutter_event_get_coords (event, &point->release_x, &point->release_y);
-
-  clutter_event_free (point->last_event);
-  point->last_event = clutter_event_copy (event);
-
-  /* Treat the release event as the continuation of the last motion,
-   * in case the user keeps the pointer still for a while before
-   * releasing it. */
-   _time = clutter_event_get_time (event);
-   point->last_delta_time += _time - point->last_motion_time;
-}
-
 static gint
-gesture_get_threshold (void)
+gesture_get_threshold (ClutterGestureAction *action)
 {
   gint threshold;
   ClutterSettings *settings = clutter_settings_get_default ();
@@ -270,20 +222,6 @@ gesture_get_threshold (void)
   return threshold;
 }
 
-static gboolean
-gesture_point_pass_threshold (GesturePoint *point, ClutterEvent *event)
-{
-  gint drag_threshold = gesture_get_threshold ();
-  gfloat motion_x, motion_y;
-
-  clutter_event_get_coords (event, &motion_x, &motion_y);
-
-  if ((fabsf (point->press_y - motion_y) < drag_threshold) &&
-      (fabsf (point->press_x - motion_x) < drag_threshold))
-    return TRUE;
-  return FALSE;
-}
-
 static void
 gesture_point_unset (GesturePoint *point)
 {
@@ -352,6 +290,8 @@ stage_captured_event_cb (ClutterActor       *stage,
   gint position, drag_threshold;
   gboolean return_value;
   GesturePoint *point;
+  gfloat motion_x, motion_y;
+  gint64 time;
 
   if ((point = gesture_find_point (action, event, &position)) == NULL)
     return CLUTTER_EVENT_PROPAGATE;
@@ -377,31 +317,39 @@ stage_captured_event_cb (ClutterActor       *stage,
       /* Follow same code path as a touch event update */
 
     case CLUTTER_TOUCH_UPDATE:
+      clutter_event_get_coords (event,
+                                &motion_x,
+                                &motion_y);
+
+      if (priv->points->len < priv->requested_nb_points)
+        return CLUTTER_EVENT_PROPAGATE;
+
+      drag_threshold = gesture_get_threshold (action);
+
       if (!priv->in_gesture)
         {
-          if (priv->points->len < priv->requested_nb_points)
-            {
-              gesture_update_motion_point (point, event);
-              return CLUTTER_EVENT_PROPAGATE;
-            }
-
           /* Wait until the drag threshold has been exceeded
            * before starting _TRIGGER_EDGE_AFTER gestures. */
           if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_AFTER &&
-              gesture_point_pass_threshold (point, event))
-            {
-              gesture_update_motion_point (point, event);
-              return CLUTTER_EVENT_PROPAGATE;
-            }
+              (fabsf (point->press_y - motion_y) < drag_threshold) &&
+              (fabsf (point->press_x - motion_x) < drag_threshold))
+            return CLUTTER_EVENT_PROPAGATE;
 
           if (!begin_gesture(action, actor))
-            {
-              gesture_update_motion_point (point, event);
-              return CLUTTER_EVENT_PROPAGATE;
-            }
+            return CLUTTER_EVENT_PROPAGATE;
         }
 
-      gesture_update_motion_point (point, event);
+      clutter_event_free (point->last_event);
+      point->last_event = clutter_event_copy (event);
+
+      point->last_delta_x = motion_x - point->last_motion_x;
+      point->last_delta_y = motion_y - point->last_motion_y;
+      point->last_motion_x = motion_x;
+      point->last_motion_y = motion_y;
+
+      time = clutter_event_get_time (event);
+      point->last_delta_time = time - point->last_motion_time;
+      point->last_motion_time = time;
 
       g_signal_emit (action, gesture_signals[GESTURE_PROGRESS], 0, actor,
                      &return_value);
@@ -413,10 +361,9 @@ stage_captured_event_cb (ClutterActor       *stage,
 
       /* Check if a _TRIGGER_EDGE_BEFORE gesture needs to be cancelled because
        * the drag threshold has been exceeded. */
-      drag_threshold = gesture_get_threshold ();
       if (priv->edge == CLUTTER_GESTURE_TRIGGER_EDGE_BEFORE &&
-          ((fabsf (point->press_y - point->last_motion_y) > drag_threshold) ||
-           (fabsf (point->press_x - point->last_motion_x) > drag_threshold)))
+          ((fabsf (point->press_y - motion_y) > drag_threshold) ||
+           (fabsf (point->press_x - motion_x) > drag_threshold)))
         {
           cancel_gesture (action);
           return CLUTTER_EVENT_PROPAGATE;
@@ -426,11 +373,20 @@ stage_captured_event_cb (ClutterActor       *stage,
     case CLUTTER_BUTTON_RELEASE:
     case CLUTTER_TOUCH_END:
       {
-        gesture_update_release_point (point, event);
+        clutter_event_get_coords (event, &point->release_x, &point->release_y);
+
+        clutter_event_free (point->last_event);
+        point->last_event = clutter_event_copy (event);
 
         if (priv->in_gesture &&
             ((priv->points->len - 1) < priv->requested_nb_points))
           {
+            /* Treat the release event as the continuation of the last motion,
+             * in case the user keeps the pointer still for a while before
+             * releasing it. */
+            time = clutter_event_get_time (event);
+            point->last_delta_time += time - point->last_motion_time;
+
             priv->in_gesture = FALSE;
             g_signal_emit (action, gesture_signals[GESTURE_END], 0, actor);
           }
@@ -441,8 +397,6 @@ stage_captured_event_cb (ClutterActor       *stage,
 
     case CLUTTER_TOUCH_CANCEL:
       {
-        gesture_update_release_point (point, event);
-
         if (priv->in_gesture)
           {
             priv->in_gesture = FALSE;
@@ -494,8 +448,7 @@ actor_captured_event_cb (ClutterActor *actor,
 
   /* Start the gesture immediately if the gesture has no
    * _TRIGGER_EDGE_AFTER drag threshold. */
-  if ((priv->points->len < priv->requested_nb_points) &&
-      (priv->edge != CLUTTER_GESTURE_TRIGGER_EDGE_AFTER))
+  if (priv->edge != CLUTTER_GESTURE_TRIGGER_EDGE_AFTER)
     begin_gesture (action, actor);
 
   return CLUTTER_EVENT_PROPAGATE;
@@ -556,6 +509,8 @@ default_event_handler (ClutterGestureAction *action,
  *
  * This function can be called by #ClutterGestureAction subclasses that needs
  * to change the %CLUTTER_GESTURE_TRIGGER_EDGE_AFTER default.
+ *
+ * Since: 1.14
  */
 void
 _clutter_gesture_action_set_threshold_trigger_edge  (ClutterGestureAction     *action,
@@ -565,67 +520,12 @@ _clutter_gesture_action_set_threshold_trigger_edge  (ClutterGestureAction     *a
 }
 
 static void
-clutter_gesture_action_set_property (GObject      *gobject,
-                                     guint         prop_id,
-                                     const GValue *value,
-                                     GParamSpec   *pspec)
-{
-  ClutterGestureAction *self = CLUTTER_GESTURE_ACTION (gobject);
-
-  switch (prop_id)
-    {
-    case PROP_N_TOUCH_POINTS:
-      clutter_gesture_action_set_n_touch_points (self, g_value_get_int (value));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-clutter_gesture_action_get_property (GObject    *gobject,
-                                     guint       prop_id,
-                                     GValue     *value,
-                                     GParamSpec *pspec)
-{
-  ClutterGestureAction *self = CLUTTER_GESTURE_ACTION (gobject);
-
-  switch (prop_id)
-    {
-    case PROP_N_TOUCH_POINTS:
-      g_value_set_int (value, self->priv->requested_nb_points);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-clutter_gesture_action_finalize (GObject *gobject)
-{
-  ClutterGestureActionPrivate *priv = CLUTTER_GESTURE_ACTION (gobject)->priv;
-
-  g_array_unref (priv->points);
-
-  G_OBJECT_CLASS (clutter_gesture_action_parent_class)->finalize (gobject);
-}
-
-static void
 clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
 {
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   ClutterActorMetaClass *meta_class = CLUTTER_ACTOR_META_CLASS (klass);
 
   g_type_class_add_private (klass, sizeof (ClutterGestureActionPrivate));
 
-  gobject_class->finalize = clutter_gesture_action_finalize;
-  gobject_class->set_property = clutter_gesture_action_set_property;
-  gobject_class->get_property = clutter_gesture_action_get_property;
-
   meta_class->set_actor = clutter_gesture_action_set_actor;
 
   klass->gesture_begin = default_event_handler;
@@ -633,24 +533,6 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
   klass->gesture_prepare = default_event_handler;
 
   /**
-   * ClutterGestureAction:n-touch-points:
-   *
-   * Number of touch points to trigger a gesture action.
-   *
-   * Since: 1.16
-   */
-  gesture_props[PROP_N_TOUCH_POINTS] =
-    g_param_spec_int ("n-touch-points",
-                      P_("Number touch points"),
-                      P_("Number of touch points"),
-                      1, G_MAXINT, 1,
-                      CLUTTER_PARAM_READWRITE);
-
-  g_object_class_install_properties (gobject_class,
-                                     PROP_LAST,
-                                     gesture_props);
-
-  /**
    * ClutterGestureAction::gesture-begin:
    * @action: the #ClutterGestureAction that emitted the signal
    * @actor: the #ClutterActor attached to the @action
@@ -661,7 +543,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
    * Return value: %TRUE if the gesture should start, and %FALSE if
    *   the gesture should be ignored.
    *
-   *
+   * Since: 1.8
    */
   gesture_signals[GESTURE_BEGIN] =
     g_signal_new (I_("gesture-begin"),
@@ -684,7 +566,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
    * Return value: %TRUE if the gesture should continue, and %FALSE if
    *   the gesture should be cancelled.
    *
-   *
+   * Since: 1.8
    */
   gesture_signals[GESTURE_PROGRESS] =
     g_signal_new (I_("gesture-progress"),
@@ -707,7 +589,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
    * This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
    * signal has been emitted first.
    *
-   *
+   * Since: 1.8
    */
   gesture_signals[GESTURE_END] =
     g_signal_new (I_("gesture-end"),
@@ -730,7 +612,7 @@ clutter_gesture_action_class_init (ClutterGestureActionClass *klass)
    * This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
    * signal has been emitted first.
    *
-   *
+   * Since: 1.8
    */
   gesture_signals[GESTURE_CANCEL] =
     g_signal_new (I_("gesture-cancel"),
@@ -763,7 +645,7 @@ clutter_gesture_action_init (ClutterGestureAction *self)
  *
  * Return value: the newly created #ClutterGestureAction
  *
- *
+ * Since: 1.8
  */
 ClutterAction *
 clutter_gesture_action_new (void)
@@ -784,7 +666,7 @@ clutter_gesture_action_new (void)
  * Retrieves the coordinates, in stage space, of the press event
  * that started the dragging for a specific touch point.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_gesture_action_get_press_coords (ClutterGestureAction *action,
@@ -819,7 +701,7 @@ clutter_gesture_action_get_press_coords (ClutterGestureAction *action,
  * Retrieves the coordinates, in stage space, of the latest motion
  * event during the dragging.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_gesture_action_get_motion_coords (ClutterGestureAction *action,
@@ -855,6 +737,8 @@ clutter_gesture_action_get_motion_coords (ClutterGestureAction *action,
  * during the dragging.
  *
  * Return value: the distance since last motion event
+ *
+ * Since: 1.12
  */
 gfloat
 clutter_gesture_action_get_motion_delta (ClutterGestureAction *action,
@@ -896,7 +780,7 @@ clutter_gesture_action_get_motion_delta (ClutterGestureAction *action,
  * Retrieves the coordinates, in stage space, where the touch point was
  * last released.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_gesture_action_get_release_coords (ClutterGestureAction *action,
@@ -930,6 +814,8 @@ clutter_gesture_action_get_release_coords (ClutterGestureAction *action,
  *
  * Retrieves the velocity, in stage pixels per millisecond, of the
  * latest motion event during the dragging.
+ *
+ * Since: 1.12
  */
 gfloat
 clutter_gesture_action_get_velocity (ClutterGestureAction *action,
@@ -968,7 +854,7 @@ clutter_gesture_action_get_velocity (ClutterGestureAction *action,
  *
  * Return value: the number of points to trigger the gesture.
  *
- *
+ * Since: 1.12
  */
 gint
 clutter_gesture_action_get_n_touch_points (ClutterGestureAction *action)
@@ -985,7 +871,7 @@ clutter_gesture_action_get_n_touch_points (ClutterGestureAction *action)
  *
  * Sets the number of points needed to trigger the gesture.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
@@ -998,9 +884,6 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
 
   priv = action->priv;
 
-  if (priv->requested_nb_points == nb_points)
-    return;
-
   priv->requested_nb_points = nb_points;
 
   if (priv->in_gesture)
@@ -1016,7 +899,7 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
             clutter_actor_meta_get_actor (CLUTTER_ACTOR_META (action));
           gint i, drag_threshold;
 
-          drag_threshold = gesture_get_threshold ();
+          drag_threshold = gesture_get_threshold (action);
 
           for (i = 0; i < priv->points->len; i++)
             {
@@ -1031,9 +914,6 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
             }
         }
     }
-
-  g_object_notify_by_pspec (G_OBJECT (action),
-                            gesture_props[PROP_N_TOUCH_POINTS]);
 }
 
 /**
@@ -1043,6 +923,8 @@ clutter_gesture_action_set_n_touch_points (ClutterGestureAction *action,
  * Retrieves the number of points currently active.
  *
  * Return value: the number of points currently active.
+ *
+ * Since: 1.12
  */
 guint
 clutter_gesture_action_get_n_current_points (ClutterGestureAction *action)
@@ -1060,6 +942,8 @@ clutter_gesture_action_get_n_current_points (ClutterGestureAction *action)
  * Retrieves the #ClutterEventSequence of a touch point.
  *
  * Return value: (transfer none): the #ClutterEventSequence of a touch point.
+ *
+ * Since: 1.12
  */
 ClutterEventSequence *
 clutter_gesture_action_get_sequence (ClutterGestureAction *action,
@@ -1080,6 +964,8 @@ clutter_gesture_action_get_sequence (ClutterGestureAction *action,
  * Retrieves the #ClutterInputDevice of a touch point.
  *
  * Return value: (transfer none): the #ClutterInputDevice of a touch point.
+ *
+ * Since: 1.12
  */
 ClutterInputDevice *
 clutter_gesture_action_get_device (ClutterGestureAction *action,
@@ -1100,6 +986,8 @@ clutter_gesture_action_get_device (ClutterGestureAction *action,
  * clutter_event_copy() if you need to store the reference somewhere.
  *
  * Return value: (transfer none): the last #ClutterEvent for a touch point.
+ *
+ * Since: 1.14
  */
 const ClutterEvent *
 clutter_gesture_action_get_last_event (ClutterGestureAction *action,
@@ -1120,6 +1008,8 @@ clutter_gesture_action_get_last_event (ClutterGestureAction *action,
  * @action: a #ClutterGestureAction
  *
  * Cancel a #ClutterGestureAction before it begins
+ *
+ * Since: 1.12
  */
 void
 clutter_gesture_action_cancel (ClutterGestureAction *action)
diff --git a/clutter/clutter-gesture-action.h b/clutter/clutter-gesture-action.h
index 414f244..ab38b4b 100644
--- a/clutter/clutter-gesture-action.h
+++ b/clutter/clutter-gesture-action.h
@@ -51,7 +51,7 @@ typedef struct _ClutterGestureActionClass         ClutterGestureActionClass;
  * The <structname>ClutterGestureAction</structname> structure contains
  * only private data and should be accessed using the provided API
  *
- *
+ * Since: 1.8
  */
 struct _ClutterGestureAction
 {
@@ -73,7 +73,7 @@ struct _ClutterGestureAction
  * The <structname>ClutterGestureClass</structname> structure contains only
  * private data.
  *
- *
+ * Since: 1.8
  */
 struct _ClutterGestureActionClass
 {
@@ -116,6 +116,7 @@ void                   clutter_gesture_action_get_motion_coords    (ClutterGestu
                                                                     guint                 point,
                                                                     gfloat               *motion_x,
                                                                     gfloat               *motion_y);
+CLUTTER_AVAILABLE_IN_1_12
 gfloat                 clutter_gesture_action_get_motion_delta     (ClutterGestureAction *action,
                                                                     guint                 point,
                                                                     gfloat               *delta_x,
@@ -124,20 +125,28 @@ void                   clutter_gesture_action_get_release_coords   (ClutterGestu
                                                                     guint                 point,
                                                                     gfloat               *release_x,
                                                                     gfloat               *release_y);
+CLUTTER_AVAILABLE_IN_1_12
 gfloat                 clutter_gesture_action_get_velocity         (ClutterGestureAction *action,
                                                                     guint                 point,
                                                                     gfloat               *velocity_x,
                                                                     gfloat               *velocity_y);
+
+CLUTTER_AVAILABLE_IN_1_12
 guint                  clutter_gesture_action_get_n_current_points (ClutterGestureAction *action);
+
+CLUTTER_AVAILABLE_IN_1_12
 ClutterEventSequence * clutter_gesture_action_get_sequence         (ClutterGestureAction *action,
                                                                     guint                 point);
 
+CLUTTER_AVAILABLE_IN_1_12
 ClutterInputDevice *   clutter_gesture_action_get_device           (ClutterGestureAction *action,
                                                                     guint                 point);
 
+CLUTTER_AVAILABLE_IN_1_14
 const ClutterEvent *   clutter_gesture_action_get_last_event       (ClutterGestureAction *action,
                                                                     guint                 point);
 
+CLUTTER_AVAILABLE_IN_1_12
 void                   clutter_gesture_action_cancel               (ClutterGestureAction *action);
 
 G_END_DECLS
diff --git a/clutter/clutter-grid-layout.c b/clutter/clutter-grid-layout.c
index ebd42eb..8c419bb 100644
--- a/clutter/clutter-grid-layout.c
+++ b/clutter/clutter-grid-layout.c
@@ -509,7 +509,7 @@ compute_request_for_child (ClutterGridRequest *request,
     }
   else
     {
-      if (orientation == CLUTTER_ORIENTATION_HORIZONTAL)
+      if (orientation == CLUTTER_ORIENTATION_VERTICAL)
         clutter_actor_get_preferred_width (child, -1, minimum, natural);
       else
         clutter_actor_get_preferred_height (child, -1, minimum, natural);
@@ -1543,7 +1543,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
    *
    * The orientation of the layout, either horizontal or vertical
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_ORIENTATION] =
     g_param_spec_enum ("orientation",
@@ -1558,7 +1558,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
    *
    * The amount of space in pixels between two consecutive rows
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_ROW_SPACING] =
     g_param_spec_uint ("row-spacing",
@@ -1572,7 +1572,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
    *
    * The amount of space in pixels between two consecutive columns
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_COLUMN_SPACING] =
     g_param_spec_uint ("column-spacing",
@@ -1587,7 +1587,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
    *
    * Whether all rows of the layout should have the same height
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_ROW_HOMOGENEOUS] =
     g_param_spec_boolean ("row-homogeneous",
@@ -1601,7 +1601,7 @@ clutter_grid_layout_class_init (ClutterGridLayoutClass *klass)
    *
    * Whether all columns of the layout should have the same width
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_COLUMN_HOMOGENEOUS] =
     g_param_spec_boolean ("column-homogeneous",
@@ -1657,7 +1657,7 @@ clutter_grid_layout_new (void)
  * number of 'cells' that @child will occupy is determined by
  * @width and @height.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_attach (ClutterGridLayout *layout,
@@ -1700,7 +1700,7 @@ clutter_grid_layout_attach (ClutterGridLayout *layout,
  * Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and
  * @side == %CLUTTER_GRID_POSITION_LEFT yields a layout of [3][2][1].
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_attach_next_to (ClutterGridLayout   *layout,
@@ -1735,7 +1735,7 @@ clutter_grid_layout_attach_next_to (ClutterGridLayout   *layout,
  *
  * Sets the orientation of the @layout
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
@@ -1767,7 +1767,7 @@ clutter_grid_layout_set_orientation (ClutterGridLayout *layout,
  *
  * Returns: (transfer none): the child at the given position, or %NULL
  *
- *
+ * Since: 1.12
  */
 ClutterActor *
 clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
@@ -1812,7 +1812,7 @@ clutter_grid_layout_get_child_at (ClutterGridLayout *layout,
  * are moved one row down. Children which span across this
  * position are grown to span the new row.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_insert_row (ClutterGridLayout *layout,
@@ -1866,7 +1866,7 @@ clutter_grid_layout_insert_row (ClutterGridLayout *layout,
  * are moved one column to the right. Children which span across this
  * position are grown to span the new column.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_insert_column (ClutterGridLayout *layout,
@@ -1924,7 +1924,7 @@ clutter_grid_layout_insert_column (ClutterGridLayout *layout,
  * %CLUTTER_GRID_POSITION_LEFT of %CLUTTER_GRID_POSITION_RIGHT,
  * a column is inserted.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_insert_next_to (ClutterGridLayout   *layout,
@@ -1971,7 +1971,7 @@ clutter_grid_layout_insert_next_to (ClutterGridLayout   *layout,
  *
  * Return value: the orientation of the layout
  *
- *
+ * Since: 1.12
  */
 ClutterOrientation
 clutter_grid_layout_get_orientation (ClutterGridLayout *layout)
@@ -1989,7 +1989,7 @@ clutter_grid_layout_get_orientation (ClutterGridLayout *layout)
  *
  * Sets the spacing between rows of @layout
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
@@ -2019,7 +2019,7 @@ clutter_grid_layout_set_row_spacing (ClutterGridLayout *layout,
  *
  * Return value: the spacing between rows of @layout
  *
- *
+ * Since: 1.12
  */
 guint
 clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout)
@@ -2040,7 +2040,7 @@ clutter_grid_layout_get_row_spacing (ClutterGridLayout *layout)
  *
  * Sets the spacing between columns of @layout
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout,
@@ -2070,7 +2070,7 @@ clutter_grid_layout_set_column_spacing (ClutterGridLayout *layout,
  *
  * Return value: the spacing between coluns of @layout
  *
- *
+ * Since: 1.12
  */
 guint
 clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout)
@@ -2091,7 +2091,7 @@ clutter_grid_layout_get_column_spacing (ClutterGridLayout *layout)
  *
  * Sets whether all columns of @layout will have the same width.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_set_column_homogeneous (ClutterGridLayout *layout,
@@ -2140,7 +2140,7 @@ clutter_grid_layout_get_column_homogeneous (ClutterGridLayout *layout)
  *
  * Sets whether all rows of @layout will have the same height.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout,
@@ -2170,7 +2170,7 @@ clutter_grid_layout_set_row_homogeneous (ClutterGridLayout *layout,
  *
  * Returns: whether all rows of @layout have the same height.
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_grid_layout_get_row_homogeneous (ClutterGridLayout *layout)
diff --git a/clutter/clutter-grid-layout.h b/clutter/clutter-grid-layout.h
index b3b2ebc..1c7644a 100644
--- a/clutter/clutter-grid-layout.h
+++ b/clutter/clutter-grid-layout.h
@@ -54,7 +54,7 @@ typedef struct _ClutterGridLayoutClass           ClutterGridLayoutClass;
  * The #ClutterGridLayout structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.12
  */
 struct _ClutterGridLayout
 {
@@ -70,7 +70,7 @@ struct _ClutterGridLayout
  * The #ClutterGridLayoutClass structure contains only private
  * data and should be accessed using the provided API
  *
- *
+ * Since: 1.12
  */
 struct _ClutterGridLayoutClass
 {
@@ -80,13 +80,13 @@ struct _ClutterGridLayoutClass
   gpointer _padding[8];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_grid_layout_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterLayoutManager *  clutter_grid_layout_new                 (void);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_attach                      (ClutterGridLayout *layout,
                                                                      ClutterActor      *child,
                                                                      gint               left,
@@ -94,7 +94,7 @@ void                clutter_grid_layout_attach                      (ClutterGrid
                                                                      gint               width,
                                                                      gint               height);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_attach_next_to              (ClutterGridLayout   *layout,
                                                                      ClutterActor        *child,
                                                                      ClutterActor        *sibling,
@@ -102,58 +102,58 @@ void                clutter_grid_layout_attach_next_to              (ClutterGrid
                                                                      gint                 width,
                                                                      gint                 height);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterActor *      clutter_grid_layout_get_child_at                (ClutterGridLayout *layout,
                                                                      gint               left,
                                                                      gint               top);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_insert_row                  (ClutterGridLayout *layout,
                                                                      gint               position);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_insert_column               (ClutterGridLayout *layout,
                                                                      gint               position);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_insert_next_to              (ClutterGridLayout   *layout,
                                                                      ClutterActor        *sibling,
                                                                      ClutterGridPosition  side);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_set_orientation             (ClutterGridLayout *layout,
                                                                      ClutterOrientation orientation);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterOrientation  clutter_grid_layout_get_orientation             (ClutterGridLayout *layout);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_set_column_spacing          (ClutterGridLayout *layout,
                                                                      guint              spacing);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 guint               clutter_grid_layout_get_column_spacing          (ClutterGridLayout *layout);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_set_row_spacing             (ClutterGridLayout *layout,
                                                                      guint              spacing);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 guint               clutter_grid_layout_get_row_spacing             (ClutterGridLayout *layout);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_set_column_homogeneous      (ClutterGridLayout *layout,
                                                                      gboolean           homogeneous);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean            clutter_grid_layout_get_column_homogeneous      (ClutterGridLayout *layout);
 
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                clutter_grid_layout_set_row_homogeneous         (ClutterGridLayout *layout,
                                                                      gboolean           homogeneous);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean            clutter_grid_layout_get_row_homogeneous         (ClutterGridLayout *layout);
 
 G_END_DECLS
diff --git a/clutter/clutter-group.h b/clutter/clutter-group.h
new file mode 100644
index 0000000..31f8c03
--- /dev/null
+++ b/clutter/clutter-group.h
@@ -0,0 +1,95 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_GROUP_H__
+#define __CLUTTER_GROUP_H__
+
+#include <glib-object.h>
+#include <clutter/clutter-types.h>
+#include <clutter/clutter-actor.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_GROUP              (clutter_group_get_type ())
+#define CLUTTER_GROUP(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_GROUP, 
ClutterGroup))
+#define CLUTTER_GROUP_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_GROUP, 
ClutterGroupClass))
+#define CLUTTER_IS_GROUP(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_GROUP))
+#define CLUTTER_IS_GROUP_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_GROUP))
+#define CLUTTER_GROUP_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_GROUP, 
ClutterGroupClass))
+
+/* XXX - ClutterGroup is to be considered fully deprecated; the only
+ * reason we keep this header is because ClutterStage inherits from
+ * ClutterGroup, and thus we need to have a structure definition for
+ * the Stage object to expand.
+ */
+
+typedef struct _ClutterGroup            ClutterGroup;
+typedef struct _ClutterGroupClass       ClutterGroupClass;
+typedef struct _ClutterGroupPrivate     ClutterGroupPrivate;
+
+/**
+ * ClutterGroup:
+ *
+ * The #ClutterGroup structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.1
+ */
+struct _ClutterGroup
+{
+  /*< private >*/
+  ClutterActor parent_instance;
+
+  ClutterGroupPrivate *priv;
+};
+
+/**
+ * ClutterGroupClass:
+ *
+ * The #ClutterGroupClass structure contains only private data
+ *
+ * Since: 0.1
+ */
+struct _ClutterGroupClass
+{
+  /*< private >*/
+  ClutterActorClass parent_class;
+
+  /* padding for future expansion */
+  void (*_clutter_reserved1) (void);
+  void (*_clutter_reserved2) (void);
+  void (*_clutter_reserved3) (void);
+  void (*_clutter_reserved4) (void);
+  void (*_clutter_reserved5) (void);
+  void (*_clutter_reserved6) (void);
+};
+
+GType clutter_group_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __CLUTTER_GROUP_H__ */
diff --git a/clutter/clutter-image.c b/clutter/clutter-image.c
index 6f7a6ac..7ae9839 100644
--- a/clutter/clutter-image.c
+++ b/clutter/clutter-image.c
@@ -184,7 +184,7 @@ clutter_content_iface_init (ClutterContentIface *iface)
  * Return value: (transfer full): the newly created #ClutterImage instance.
  *   Use g_object_unref() when done.
  *
- *
+ * Since: 1.10
  */
 ClutterContent *
 clutter_image_new (void)
@@ -214,7 +214,7 @@ clutter_image_new (void)
  * Return value: %TRUE if the image data was successfully loaded,
  *   and %FALSE otherwise.
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_image_set_data (ClutterImage     *image,
@@ -277,7 +277,7 @@ clutter_image_set_data (ClutterImage     *image,
  * Return value: %TRUE if the image data was successfully loaded,
  *   and %FALSE otherwise.
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_image_set_bytes (ClutterImage     *image,
@@ -344,7 +344,7 @@ clutter_image_set_bytes (ClutterImage     *image,
  * Return value: %TRUE if the image data was successfully loaded,
  *   and %FALSE otherwise.
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_image_set_area (ClutterImage                 *image,
@@ -417,7 +417,7 @@ clutter_image_set_area (ClutterImage                 *image,
  *
  * Return value: (transfer none): a pointer to the Cogl texture, or %NULL
  *
- *
+ * Since: 1.10
  * Stability: unstable
  */
 CoglTexture *
diff --git a/clutter/clutter-image.h b/clutter/clutter-image.h
index f348d84..af8df1e 100644
--- a/clutter/clutter-image.h
+++ b/clutter/clutter-image.h
@@ -46,7 +46,7 @@ G_BEGIN_DECLS
  *
  * Error domain for the #ClutterImageError enumeration.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_IMAGE_ERROR             (clutter_image_error_quark ())
 
@@ -61,7 +61,7 @@ typedef struct _ClutterImageClass      ClutterImageClass;
  *
  * Error enumeration for #ClutterImage.
  *
- *
+ * Since: 1.10
  */
 typedef enum {
   CLUTTER_IMAGE_ERROR_INVALID_DATA
@@ -74,7 +74,7 @@ typedef enum {
  * private data and should only be accessed using the provided
  * API.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterImage
 {
@@ -90,7 +90,7 @@ struct _ClutterImage
  * The <structname>ClutterImageClass</structname> structure contains
  * private data.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterImageClass
 {
@@ -100,14 +100,14 @@ struct _ClutterImageClass
   gpointer _padding[16];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GQuark clutter_image_error_quark (void);
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_image_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterContent *        clutter_image_new               (void);
-
+CLUTTER_AVAILABLE_IN_1_10
 gboolean                clutter_image_set_data          (ClutterImage                 *image,
                                                          const guint8                 *data,
                                                          CoglPixelFormat               pixel_format,
@@ -115,14 +115,14 @@ gboolean                clutter_image_set_data          (ClutterImage
                                                          guint                         height,
                                                          guint                         row_stride,
                                                          GError                      **error);
-
+CLUTTER_AVAILABLE_IN_1_10
 gboolean                clutter_image_set_area          (ClutterImage                 *image,
                                                          const guint8                 *data,
                                                          CoglPixelFormat               pixel_format,
                                                          const cairo_rectangle_int_t  *rect,
                                                          guint                         row_stride,
                                                          GError                      **error);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_image_set_bytes         (ClutterImage                 *image,
                                                          GBytes                       *data,
                                                          CoglPixelFormat               pixel_format,
@@ -132,7 +132,7 @@ gboolean                clutter_image_set_bytes         (ClutterImage
                                                          GError                      **error);
 
 #if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
-
+CLUTTER_AVAILABLE_IN_1_10
 CoglTexture *           clutter_image_get_texture       (ClutterImage                 *image);
 #endif
 
diff --git a/clutter/clutter-input-device.c b/clutter/clutter-input-device.c
index d77677d..e92cf22 100644
--- a/clutter/clutter-input-device.c
+++ b/clutter/clutter-input-device.c
@@ -79,7 +79,7 @@ clutter_input_device_dispose (GObject *gobject)
 {
   ClutterInputDevice *device = CLUTTER_INPUT_DEVICE (gobject);
 
-  g_clear_pointer (&device->device_name, g_free);
+  g_free (device->device_name);
 
   if (device->associated != NULL)
     {
@@ -235,7 +235,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The unique identifier of the device
    *
-   *
+   * Since: 1.2
    */
   obj_props[PROP_ID] =
     g_param_spec_int ("id",
@@ -251,7 +251,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The name of the device
    *
-   *
+   * Since: 1.2
    */
   obj_props[PROP_NAME] =
     g_param_spec_string ("name",
@@ -266,7 +266,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The type of the device
    *
-   *
+   * Since: 1.2
    */
   obj_props[PROP_DEVICE_TYPE] =
     g_param_spec_enum ("device-type",
@@ -282,7 +282,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The #ClutterDeviceManager instance which owns the device
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_DEVICE_MANAGER] =
     g_param_spec_object ("device-manager",
@@ -296,7 +296,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The mode of the device.
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_DEVICE_MODE] =
     g_param_spec_enum ("device-mode",
@@ -311,7 +311,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * Whether the device has an on screen cursor following its movement.
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_HAS_CURSOR] =
     g_param_spec_boolean ("has-cursor",
@@ -330,7 +330,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * A device must be enabled in order to receive events from it.
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_ENABLED] =
     g_param_spec_boolean ("enabled",
@@ -344,7 +344,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The number of axes of the device.
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_N_AXES] =
     g_param_spec_uint ("n-axes",
@@ -359,7 +359,7 @@ clutter_input_device_class_init (ClutterInputDeviceClass *klass)
    *
    * The #ClutterBackend that created the device.
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_BACKEND] =
     g_param_spec_object ("backend",
@@ -713,7 +713,7 @@ _clutter_input_device_set_actor (ClutterInputDevice   *device,
  *
  * Return value: the type of the device
  *
- *
+ * Since: 1.0
  */
 ClutterInputDeviceType
 clutter_input_device_get_device_type (ClutterInputDevice *device)
@@ -732,7 +732,7 @@ clutter_input_device_get_device_type (ClutterInputDevice *device)
  *
  * Return value: the identifier of the device
  *
- *
+ * Since: 1.0
  */
 gint
 clutter_input_device_get_device_id (ClutterInputDevice *device)
@@ -753,7 +753,7 @@ clutter_input_device_get_device_id (ClutterInputDevice *device)
  * to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can
  * be disabled.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_input_device_set_enabled (ClutterInputDevice *device,
@@ -782,7 +782,7 @@ clutter_input_device_set_enabled (ClutterInputDevice *device,
  *
  * Return value: %TRUE if the device is enabled
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_input_device_get_enabled (ClutterInputDevice *device)
@@ -806,7 +806,7 @@ clutter_input_device_get_enabled (ClutterInputDevice *device)
  * Return value: %FALSE if the device's sequence hasn't been found,
  *   and %TRUE otherwise.
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_input_device_get_coords (ClutterInputDevice   *device,
@@ -848,7 +848,7 @@ clutter_input_device_get_coords (ClutterInputDevice   *device,
  * This function only works for #ClutterInputDevice of type
  * %CLUTTER_POINTER_DEVICE.
  *
- *
+ * Since: 1.2
  */
 ClutterActor *
 _clutter_input_device_update (ClutterInputDevice   *device,
@@ -912,7 +912,7 @@ _clutter_input_device_update (ClutterInputDevice   *device,
  *
  * Return value: (transfer none): a pointer to the #ClutterActor or %NULL
  *
- *
+ * Since: 1.2
  */
 ClutterActor *
 clutter_input_device_get_pointer_actor (ClutterInputDevice *device)
@@ -931,7 +931,7 @@ clutter_input_device_get_pointer_actor (ClutterInputDevice *device)
  *
  * Return value: (transfer none): a pointer to the #ClutterStage or %NULL
  *
- *
+ * Since: 1.2
  */
 ClutterStage *
 clutter_input_device_get_pointer_stage (ClutterInputDevice *device)
@@ -952,7 +952,7 @@ clutter_input_device_get_pointer_stage (ClutterInputDevice *device)
  *   is owned by the #ClutterInputDevice and should never be modified
  *   or freed
  *
- *
+ * Since: 1.2
  */
 const gchar *
 clutter_input_device_get_device_name (ClutterInputDevice *device)
@@ -971,7 +971,7 @@ clutter_input_device_get_device_name (ClutterInputDevice *device)
  *
  * Return value: %TRUE if the device has a cursor
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_input_device_get_has_cursor (ClutterInputDevice *device)
@@ -989,7 +989,7 @@ clutter_input_device_get_has_cursor (ClutterInputDevice *device)
  *
  * Return value: the device mode
  *
- *
+ * Since: 1.6
  */
 ClutterInputMode
 clutter_input_device_get_device_mode (ClutterInputDevice *device)
@@ -1061,7 +1061,7 @@ clutter_input_device_get_device_mode (ClutterInputDevice *device)
  * enters and leaves a #ClutterStage; it will use the #ClutterStage field
  * of the passed @event to update the stage associated to the input device.
  *
- *
+ * Since: 1.2
  */
 void
 clutter_input_device_update_from_event (ClutterInputDevice *device,
@@ -1219,7 +1219,7 @@ _clutter_input_device_translate_axis (ClutterInputDevice *device,
  *
  * Return value: the axis type
  *
- *
+ * Since: 1.6
  */
 ClutterInputAxis
 clutter_input_device_get_axis (ClutterInputDevice *device,
@@ -1266,7 +1266,7 @@ clutter_input_device_get_axis (ClutterInputDevice *device,
  *
  * Return value: %TRUE if the value was set, and %FALSE otherwise
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_input_device_get_axis_value (ClutterInputDevice *device,
@@ -1305,7 +1305,7 @@ clutter_input_device_get_axis_value (ClutterInputDevice *device,
  *
  * Return value: the number of axes on the device
  *
- *
+ * Since: 1.6
  */
 guint
 clutter_input_device_get_n_axes (ClutterInputDevice *device)
@@ -1349,7 +1349,7 @@ _clutter_input_device_set_n_keys (ClutterInputDevice *device,
  *
  * Return value: the number of registered keys
  *
- *
+ * Since: 1.6
  */
 guint
 clutter_input_device_get_n_keys (ClutterInputDevice *device)
@@ -1371,7 +1371,7 @@ clutter_input_device_get_n_keys (ClutterInputDevice *device)
  * Clutter will use the keyval and modifiers set when filling out
  * an event coming from the same input device.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_input_device_set_key (ClutterInputDevice  *device,
@@ -1400,7 +1400,7 @@ clutter_input_device_set_key (ClutterInputDevice  *device,
  *
  * Return value: %TRUE if a key was set at the given index
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_input_device_get_key (ClutterInputDevice  *device,
@@ -1538,7 +1538,7 @@ _clutter_input_device_remove_event_sequence (ClutterInputDevice *device,
  *   list of #ClutterInputDevice, or %NULL. The contents of the list are
  *   owned by the device. Use g_list_free() when done
  *
- *
+ * Since: 1.6
  */
 GList *
 clutter_input_device_get_slave_devices (ClutterInputDevice *device)
@@ -1605,7 +1605,7 @@ _clutter_input_device_set_associated_device (ClutterInputDevice *device,
  *
  * Return value: (transfer none): a #ClutterInputDevice, or %NULL
  *
- *
+ * Since: 1.6
  */
 ClutterInputDevice *
 clutter_input_device_get_associated_device (ClutterInputDevice *device)
@@ -1651,7 +1651,7 @@ _clutter_input_device_select_stage_events (ClutterInputDevice *device,
  *
  * Return value: %TRUE if the conversion succeeded, %FALSE otherwise.
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_input_device_keycode_to_evdev (ClutterInputDevice *device,
@@ -1798,7 +1798,7 @@ on_grab_sequence_actor_destroy (ClutterActor       *actor,
  * The grab is client-side: even if the windowing system used by the Clutter
  * backend has the concept of "device grabs", Clutter will not use them.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_input_device_sequence_grab (ClutterInputDevice   *device,
@@ -1846,7 +1846,7 @@ clutter_input_device_sequence_grab (ClutterInputDevice   *device,
  * Releases the grab on the @device for the given @sequence, if one is
  * in place.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_input_device_sequence_ungrab (ClutterInputDevice   *device,
@@ -1889,7 +1889,7 @@ clutter_input_device_sequence_ungrab (ClutterInputDevice   *device,
  *
  * Return value: (transfer none): a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.12
  */
 ClutterActor *
 clutter_input_device_sequence_get_grabbed_actor (ClutterInputDevice   *device,
diff --git a/clutter/clutter-input-device.h b/clutter/clutter-input-device.h
index a5cbbc1..1a5a4a1 100644
--- a/clutter/clutter-input-device.h
+++ b/clutter/clutter-input-device.h
@@ -52,7 +52,7 @@ GType clutter_input_device_get_type (void) G_GNUC_CONST;
 ClutterInputDeviceType  clutter_input_device_get_device_type    (ClutterInputDevice  *device);
 gint                    clutter_input_device_get_device_id      (ClutterInputDevice  *device);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_input_device_get_coords        (ClutterInputDevice   *device,
                                                                 ClutterEventSequence *sequence,
                                                                 ClutterPoint         *point);
@@ -90,22 +90,22 @@ void                    clutter_input_device_update_from_event  (ClutterInputDev
                                                                  ClutterEvent        *event,
                                                                  gboolean             update_stage);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_input_device_grab               (ClutterInputDevice  *device,
                                                                  ClutterActor        *actor);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_input_device_ungrab             (ClutterInputDevice  *device);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *          clutter_input_device_get_grabbed_actor  (ClutterInputDevice  *device);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_input_device_sequence_grab      (ClutterInputDevice   *device,
                                                                  ClutterEventSequence *sequence,
                                                                  ClutterActor         *actor);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_input_device_sequence_ungrab    (ClutterInputDevice   *device,
                                                                  ClutterEventSequence *sequence);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterActor *          clutter_input_device_sequence_get_grabbed_actor (ClutterInputDevice   *device,
                                                                          ClutterEventSequence *sequence);
 
diff --git a/clutter/clutter-interval.c b/clutter/clutter-interval.c
index 7e0527c..13649ad 100644
--- a/clutter/clutter-interval.c
+++ b/clutter/clutter-interval.c
@@ -62,6 +62,8 @@
 #include "clutter-private.h"
 #include "clutter-units.h"
 
+#include "deprecated/clutter-fixed.h"
+
 enum
 {
   PROP_0,
@@ -101,6 +103,21 @@ clutter_interval_real_validate (ClutterInterval *interval,
 {
   GType pspec_gtype = G_PARAM_SPEC_VALUE_TYPE (pspec);
 
+  /* check the GTypes we provide first */
+  if (pspec_gtype == COGL_TYPE_FIXED)
+    {
+      ClutterParamSpecFixed *pspec_fixed = CLUTTER_PARAM_SPEC_FIXED (pspec);
+      CoglFixed a, b;
+
+      a = b = 0;
+      clutter_interval_get_interval (interval, &a, &b);
+      if ((a >= pspec_fixed->minimum && a <= pspec_fixed->maximum) &&
+          (b >= pspec_fixed->minimum && b <= pspec_fixed->maximum))
+        return TRUE;
+      else
+        return FALSE;
+    }
+
   /* then check the fundamental types */
   switch (G_TYPE_FUNDAMENTAL (pspec_gtype))
     {
@@ -482,7 +499,7 @@ clutter_interval_class_init (ClutterIntervalClass *klass)
    *
    * The type of the values in the interval.
    *
-   *
+   * Since: 1.0
    */
   obj_props[PROP_VALUE_TYPE] =
     g_param_spec_gtype ("value-type",
@@ -498,7 +515,7 @@ clutter_interval_class_init (ClutterIntervalClass *klass)
    *
    * The initial value of the interval.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_INITIAL] =
     g_param_spec_boxed ("initial",
@@ -513,7 +530,7 @@ clutter_interval_class_init (ClutterIntervalClass *klass)
    *
    * The final value of the interval.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_FINAL] =
     g_param_spec_boxed ("final",
@@ -711,7 +728,7 @@ clutter_interval_get_interval_valist (ClutterInterval *interval,
  *
  * Return value: the newly created #ClutterInterval
  *
- *
+ * Since: 1.0
  */
 ClutterInterval *
 clutter_interval_new (GType gtype,
@@ -750,7 +767,7 @@ out:
  *
  * Return value: the newly created #ClutterInterval
  *
- *
+ * Since: 1.0
  */
 ClutterInterval *
 clutter_interval_new_with_values (GType         gtype,
@@ -776,7 +793,7 @@ clutter_interval_new_with_values (GType         gtype,
  *
  * Return value: (transfer full): the newly created #ClutterInterval
  *
- *
+ * Since: 1.0
  */
 ClutterInterval *
 clutter_interval_clone (ClutterInterval *interval)
@@ -808,7 +825,7 @@ clutter_interval_clone (ClutterInterval *interval)
  *
  * Return value: the type of the value, or G_TYPE_INVALID
  *
- *
+ * Since: 1.0
  */
 GType
 clutter_interval_get_value_type (ClutterInterval *interval)
@@ -828,7 +845,7 @@ clutter_interval_get_value_type (ClutterInterval *interval)
  *
  * Rename to: clutter_interval_set_initial
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_set_initial_value (ClutterInterval *interval,
@@ -852,7 +869,7 @@ clutter_interval_set_initial_value (ClutterInterval *interval,
  * Language bindings should use clutter_interval_set_initial_value()
  * instead.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_interval_set_initial (ClutterInterval *interval,
@@ -878,7 +895,7 @@ clutter_interval_set_initial (ClutterInterval *interval,
  * The passed #GValue must be initialized to the value held by
  * the #ClutterInterval.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_get_initial_value (ClutterInterval *interval,
@@ -900,7 +917,7 @@ clutter_interval_get_initial_value (ClutterInterval *interval,
  *   The value is owned by the #ClutterInterval and it should not be
  *   modified or freed
  *
- *
+ * Since: 1.0
  */
 GValue *
 clutter_interval_peek_initial_value (ClutterInterval *interval)
@@ -920,7 +937,7 @@ clutter_interval_peek_initial_value (ClutterInterval *interval)
  *
  * Rename to: clutter_interval_set_final
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_set_final_value (ClutterInterval *interval,
@@ -943,7 +960,7 @@ clutter_interval_set_final_value (ClutterInterval *interval,
  * The passed #GValue must be initialized to the value held by
  * the #ClutterInterval.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_get_final_value (ClutterInterval *interval,
@@ -966,7 +983,7 @@ clutter_interval_get_final_value (ClutterInterval *interval,
  *
  * Language bindings should use clutter_interval_set_final_value() instead.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_interval_set_final (ClutterInterval *interval,
@@ -991,7 +1008,7 @@ clutter_interval_set_final (ClutterInterval *interval,
  *   The value is owned by the #ClutterInterval and it should not be
  *   modified or freed
  *
- *
+ * Since: 1.0
  */
 GValue *
 clutter_interval_peek_final_value (ClutterInterval *interval)
@@ -1019,7 +1036,7 @@ clutter_interval_peek_final_value (ClutterInterval *interval)
  * This function is meant for the convenience of the C API; bindings
  * should reimplement this function using the #GValue-based API.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_set_interval (ClutterInterval *interval,
@@ -1059,7 +1076,7 @@ out:
  * This function is meant for the convenience of the C API; bindings
  * should reimplement this function using the #GValue-based API.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_get_interval (ClutterInterval *interval,
@@ -1085,7 +1102,7 @@ clutter_interval_get_interval (ClutterInterval *interval,
  *
  * Return value: %TRUE if the #ClutterInterval is valid, %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_interval_validate (ClutterInterval *interval,
@@ -1108,7 +1125,7 @@ clutter_interval_validate (ClutterInterval *interval,
  *
  * Return value: %TRUE if the operation was successful
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_interval_compute_value (ClutterInterval *interval,
@@ -1141,7 +1158,7 @@ clutter_interval_compute_value (ClutterInterval *interval,
  * Return value: (transfer none): a pointer to the computed value,
  *   or %NULL if the computation was not successfull
  *
- *
+ * Since: 1.4
  */
 const GValue *
 clutter_interval_compute (ClutterInterval *interval,
@@ -1176,7 +1193,7 @@ clutter_interval_compute (ClutterInterval *interval,
  * Return value: %TRUE if the #ClutterInterval has an initial and
  *   final values, and %FALSE otherwise
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_interval_is_valid (ClutterInterval *interval)
diff --git a/clutter/clutter-interval.h b/clutter/clutter-interval.h
index 7a4dd54..b0c3714 100644
--- a/clutter/clutter-interval.h
+++ b/clutter/clutter-interval.h
@@ -49,7 +49,7 @@ typedef struct _ClutterIntervalClass            ClutterIntervalClass;
  * The #ClutterInterval structure contains only private data and should
  * be accessed using the provided functions.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterInterval
 {
@@ -68,7 +68,7 @@ struct _ClutterInterval
  *
  * The #ClutterIntervalClass contains only private data.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterIntervalClass
 {
@@ -133,7 +133,7 @@ gboolean         clutter_interval_compute_value      (ClutterInterval *interval,
 const GValue *   clutter_interval_compute            (ClutterInterval *interval,
                                                       gdouble          factor);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean         clutter_interval_is_valid           (ClutterInterval *interval);
 
 G_END_DECLS
diff --git a/clutter/clutter-keyframe-transition.c b/clutter/clutter-keyframe-transition.c
index cd190aa..007be9c 100644
--- a/clutter/clutter-keyframe-transition.c
+++ b/clutter/clutter-keyframe-transition.c
@@ -403,7 +403,7 @@ clutter_keyframe_transition_init (ClutterKeyframeTransition *self)
  *   #ClutterKeyframeTransition instance. Use g_object_unref() when
  *   done to free its resources.
  *
- *
+ * Since: 1.12
  */
 ClutterTransition *
 clutter_keyframe_transition_new (const char *property_name)
@@ -426,7 +426,7 @@ clutter_keyframe_transition_new (const char *property_name)
  * will be created; if @transition already has key frames, @key_frames must
  * have at least as many elements as the number of key frames.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_set_key_frames (ClutterKeyframeTransition *transition,
@@ -468,7 +468,7 @@ clutter_keyframe_transition_set_key_frames (ClutterKeyframeTransition *transitio
  * be created; if @transition already has key frames, @values must have
  * at least as many elements as the number of key frames.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_set_values (ClutterKeyframeTransition *transition,
@@ -515,7 +515,7 @@ clutter_keyframe_transition_set_values (ClutterKeyframeTransition *transition,
  * be created; if @transition already has key frames, @modes must have
  * at least as many elements as the number of key frames.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_set_modes (ClutterKeyframeTransition  *transition,
@@ -560,7 +560,7 @@ clutter_keyframe_transition_set_modes (ClutterKeyframeTransition  *transition,
  * clutter_keyframe_transition_set_modes(), and
  * clutter_keyframe_transition_set_values() instead.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_set (ClutterKeyframeTransition *transition,
@@ -618,7 +618,7 @@ clutter_keyframe_transition_set (ClutterKeyframeTransition *transition,
  *
  * Removes all key frames from @transition.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_clear (ClutterKeyframeTransition *transition)
@@ -640,7 +640,7 @@ clutter_keyframe_transition_clear (ClutterKeyframeTransition *transition)
  *
  * Return value: the number of key frames
  *
- *
+ * Since: 1.12
  */
 guint
 clutter_keyframe_transition_get_n_key_frames (ClutterKeyframeTransition *transition)
@@ -666,7 +666,7 @@ clutter_keyframe_transition_get_n_key_frames (ClutterKeyframeTransition *transit
  * The @transition must already have a key frame at @index_, and @index_
  * must be smaller than the number of key frames inside @transition.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_set_key_frame (ClutterKeyframeTransition *transition,
@@ -704,7 +704,7 @@ clutter_keyframe_transition_set_key_frame (ClutterKeyframeTransition *transition
  * The @transition must already have key frames set, and @index_ must be
  * smaller than the number of key frames.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_keyframe_transition_get_key_frame (ClutterKeyframeTransition *transition,
diff --git a/clutter/clutter-keyframe-transition.h b/clutter/clutter-keyframe-transition.h
index 62133df..b6ac500 100644
--- a/clutter/clutter-keyframe-transition.h
+++ b/clutter/clutter-keyframe-transition.h
@@ -48,7 +48,7 @@ typedef struct _ClutterKeyframeTransitionClass          ClutterKeyframeTransitio
  *
  * FIXME
  *
- *
+ * Since: 1.12
  */
 struct _ClutterKeyframeTransition
 {
@@ -63,7 +63,7 @@ struct _ClutterKeyframeTransition
  *
  * FIXME
  *
- *
+ * Since: 1.12
  */
 struct _ClutterKeyframeTransitionClass
 {
@@ -73,46 +73,46 @@ struct _ClutterKeyframeTransitionClass
   gpointer _padding[8];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_keyframe_transition_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterTransition *     clutter_keyframe_transition_new                 (const char *property_name);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_set_key_frames      (ClutterKeyframeTransition  
*transition,
                                                                          guint                       
n_key_frames,
                                                                          const double               
*key_frames);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_set_values          (ClutterKeyframeTransition  
*transition,
                                                                          guint                       
n_values,
                                                                          const GValue               *values);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_set_modes           (ClutterKeyframeTransition  
*transition,
                                                                          guint                       n_modes,
                                                                          const ClutterAnimationMode *modes);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_set                 (ClutterKeyframeTransition  
*transition,
                                                                          GType                       gtype,
                                                                          guint                       
n_key_frames,
                                                                          ...);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_set_key_frame       (ClutterKeyframeTransition  
*transition,
                                                                          guint                       index_,
                                                                          double                      key,
                                                                          ClutterAnimationMode        mode,
                                                                          const GValue               *value);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_get_key_frame       (ClutterKeyframeTransition  
*transition,
                                                                          guint                       index_,
                                                                          double                     *key,
                                                                          ClutterAnimationMode       *mode,
                                                                          GValue                     *value);
-
+CLUTTER_AVAILABLE_IN_1_12
 guint                   clutter_keyframe_transition_get_n_key_frames    (ClutterKeyframeTransition  
*transition);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_keyframe_transition_clear               (ClutterKeyframeTransition  
*transition);
 
 G_END_DECLS
diff --git a/clutter/clutter-keysyms-table.c b/clutter/clutter-keysyms-table.c
index 7d8adcf..785059c 100644
--- a/clutter/clutter-keysyms-table.c
+++ b/clutter/clutter-keysyms-table.c
@@ -1642,7 +1642,7 @@ static const int clutter_unicode_to_keysym_tab_size =
  * Return value: the corresponding Clutter key symbol, if one exists.
  *   or, if there is no corresponding symbol, wc | 0x01000000
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_unicode_to_keysym (guint32 wc)
diff --git a/clutter/clutter-keysyms-update.pl b/clutter/clutter-keysyms-update.pl
index 37469e9..7c7af1e 100755
--- a/clutter/clutter-keysyms-update.pl
+++ b/clutter/clutter-keysyms-update.pl
@@ -58,6 +58,10 @@ die "Could not open file keysymdef.h: $!\n"
 die "Could not open file clutter-keysyms.h: $!\n"
     unless open(OUT_KEYSYMS, ">:utf8", "clutter-keysyms.h");
 
+# Output: clutter/clutter/deprecated/clutter-keysyms.h
+die "Could not open file clutter-keysyms-compat.h: $!\n"
+    unless open(OUT_KEYSYMS_COMPAT, ">:utf8", "deprecated/clutter-keysyms.h");
+
 my $LICENSE_HEADER= <<EOF;
 /* Clutter
  *
@@ -81,6 +85,7 @@ my $LICENSE_HEADER= <<EOF;
 EOF
 
 print OUT_KEYSYMS $LICENSE_HEADER;
+print OUT_KEYSYMS_COMPAT $LICENSE_HEADER;
 
 print OUT_KEYSYMS<<EOF;
 
@@ -99,6 +104,23 @@ print OUT_KEYSYMS<<EOF;
 
 EOF
 
+print OUT_KEYSYMS_COMPAT<<EOF;
+/*
+ * Compatibility version of clutter-keysyms.h.
+ *
+ * Since Clutter 1.4, the key symbol defines have been changed to have
+ * a KEY_ prefix. This is a compatibility header that is included when
+ * deprecated symbols are enabled. Consider porting to the new names
+ * instead.
+ */
+
+#ifndef __CLUTTER_KEYSYMS_DEPRECATED_H__
+#define __CLUTTER_KEYSYMS_DEPRECATED_H__
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+
+EOF
+
 while (<IN_KEYSYMDEF>)
 {
        next if ( ! /^#define / );
@@ -115,8 +137,11 @@ while (<IN_KEYSYMDEF>)
        my $element = $keysymelements[1];
        my $binding = $element;
        $binding =~ s/^XK_/CLUTTER_KEY_/g;
+       my $compat_binding = $element;
+       $compat_binding =~ s/^XK_/CLUTTER_/g;
 
        printf OUT_KEYSYMS "#define %s 0x%03x\n", $binding, hex($keysymelements[2]);
+       printf OUT_KEYSYMS_COMPAT "#define %s 0x%03x\n", $compat_binding, hex($keysymelements[2]);
 }
 
 close IN_KEYSYMDEF;
@@ -160,8 +185,11 @@ while (<IN_XF86KEYSYM>)
        my $element = $keysymelements[1];
        my $binding = $element;
        $binding =~ s/^XF86XK_/CLUTTER_KEY_/g;
+       my $compat_binding = $element;
+       $compat_binding =~ s/^XF86XK_/CLUTTER_/g;
 
        printf OUT_KEYSYMS "#define %s 0x%03x\n", $binding, hex($keysymelements[2]);
+       printf OUT_KEYSYMS_COMPAT "#define %s 0x%03x\n", $compat_binding, hex($keysymelements[2]);
 }
 
 close IN_XF86KEYSYM;
@@ -172,6 +200,13 @@ print OUT_KEYSYMS<<EOF;
 #endif /* __CLUTTER_KEYSYMS_H__ */
 EOF
 
+print OUT_KEYSYMS_COMPAT<<EOF;
+
+#endif /* CLUTTER_DISABLE_DEPRECATED */
+
+#endif /* __CLUTTER_KEYSYMS_DEPRECATED_H__ */
+EOF
+
 foreach my $f (qw/ keysymdef.h XF86keysym.h /) {
     unlink $f or die "Unable to delete $f: $!";
 }
diff --git a/clutter/clutter-layout-manager.c b/clutter/clutter-layout-manager.c
index 6d35fd8..9f3ef56 100644
--- a/clutter/clutter-layout-manager.c
+++ b/clutter/clutter-layout-manager.c
@@ -79,6 +79,173 @@
  *   function whenever one of these properties changes.</para>
  * </refsect2>
  *
+ * <refsect2 id="ClutterLayoutManager-animation">
+ *   <title>Animating a ClutterLayoutManager</title>
+ *   <para>A layout manager is used to let a #ClutterContainer take complete
+ *   ownership over the layout (that is: the position and sizing) of its
+ *   children; this means that using the Clutter animation API, like
+ *   clutter_actor_animate(), to animate the position and sizing of a child of
+ *   a layout manager it is not going to work properly, as the animation will
+ *   automatically override any setting done by the layout manager
+ *   itself.</para>
+ *   <para>It is possible for a #ClutterLayoutManager sub-class to animate its
+ *   children layout by using the base class animation support. The
+ *   #ClutterLayoutManager animation support consists of three virtual
+ *   functions: #ClutterLayoutManagerClass.begin_animation(),
+ *   #ClutterLayoutManagerClass.get_animation_progress(), and
+ *   #ClutterLayoutManagerClass.end_animation().</para>
+ *   <variablelist>
+ *     <varlistentry>
+ *       <term><function>begin_animation (duration, easing)</function></term>
+ *       <listitem><para>This virtual function is invoked when the layout
+ *       manager should begin an animation. The implementation should set up
+ *       the state for the animation and create the ancillary objects for
+ *       animating the layout. The default implementation creates a
+ *       #ClutterTimeline for the given duration and a #ClutterAlpha binding
+ *       the timeline to the given easing mode. This function returns a
+ *       #ClutterAlpha which should be used to control the animation from
+ *       the caller perspective.</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term><function>get_animation_progress()</function></term>
+ *       <listitem><para>This virtual function should be invoked when animating
+ *       a layout manager. It returns the progress of the animation, using the
+ *       same semantics as the #ClutterAlpha:alpha value.</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term><function>end_animation()</function></term>
+ *       <listitem><para>This virtual function is invoked when the animation of
+ *       a layout manager ends, and it is meant to be used for bookkeeping the
+ *       objects created in the <function>begin_animation()</function>
+ *       function. The default implementation will call it implicitly when the
+ *       timeline is complete.</para></listitem>
+ *     </varlistentry>
+ *   </variablelist>
+ *   <para>The simplest way to animate a layout is to create a #ClutterTimeline
+ *   inside the <function>begin_animation()</function> virtual function, along
+ *   with a #ClutterAlpha, and for each #ClutterTimeline::new-frame signal
+ *   emission call clutter_layout_manager_layout_changed(), which will cause a
+ *   relayout. The #ClutterTimeline::completed signal emission should cause
+ *   clutter_layout_manager_end_animation() to be called. The default
+ *   implementation provided internally by #ClutterLayoutManager does exactly
+ *   this, so most sub-classes should either not override any animation-related
+ *   virtual function or simply override #ClutterLayoutManagerClass.begin_animation()
+ *   and #ClutterLayoutManagerClass.end_animation() to set up ad hoc state, and then
+ *   chain up to the parent's implementation.</para>
+ *   <example id="example-ClutterLayoutManager-animation">
+ *     <title>Animation of a Layout Manager</title>
+ *     <para>The code below shows how a #ClutterLayoutManager sub-class should
+ *     provide animating the allocation of its children from within the
+ *     #ClutterLayoutManagerClass.allocate() virtual function implementation. The
+ *     animation is computed between the last stable allocation performed
+ *     before the animation started and the desired final allocation.</para>
+ *     <para>The <varname>is_animating</varname> variable is stored inside the
+ *     #ClutterLayoutManager sub-class and it is updated by overriding the
+ *     #ClutterLayoutManagerClass.begin_animation() and the
+ *     #ClutterLayoutManagerClass.end_animation() virtual functions and chaining up
+ *     to the base class implementation.</para>
+ *     <para>The last stable allocation is stored within a #ClutterLayoutMeta
+ *     sub-class used by the implementation.</para>
+ *     <programlisting>
+ * static void
+ * my_layout_manager_allocate (ClutterLayoutManager   *manager,
+ *                             ClutterContainer       *container,
+ *                             const ClutterActorBox  *allocation,
+ *                             ClutterAllocationFlags  flags)
+ * {
+ *   MyLayoutManager *self = MY_LAYOUT_MANAGER (manager);
+ *   ClutterActor *child;
+ *
+ *   for (child = clutter_actor_get_first_child (CLUTTER_ACTOR (container));
+ *        child != NULL;
+ *        child = clutter_actor_get_next_sibling (child))
+ *     {
+ *       ClutterLayoutMeta *meta;
+ *       MyLayoutMeta *my_meta;
+ *
+ *       /&ast; retrieve the layout meta-object &ast;/
+ *       meta = clutter_layout_manager_get_child_meta (manager,
+ *                                                     container,
+ *                                                     child);
+ *       my_meta = MY_LAYOUT_META (meta);
+ *
+ *       /&ast; compute the desired allocation for the child &ast;/
+ *       compute_allocation (self, my_meta, child,
+ *                           allocation, flags,
+ *                           &amp;child_box);
+ *
+ *       /&ast; this is the additional code that deals with the animation
+ *        &ast; of the layout manager
+ *        &ast;/
+ *       if (!self-&gt;is_animating)
+ *         {
+ *           /&ast; store the last stable allocation for later use &ast;/
+ *           my_meta-&gt;last_alloc = clutter_actor_box_copy (&amp;child_box);
+ *         }
+ *       else
+ *         {
+ *           ClutterActorBox end = { 0, };
+ *           gdouble p;
+ *
+ *           /&ast; get the progress of the animation &ast;/
+ *           p = clutter_layout_manager_get_animation_progress (manager);
+ *
+ *           if (my_meta-&gt;last_alloc != NULL)
+ *             {
+ *               /&ast; copy the desired allocation as the final state &ast;/
+ *               end = child_box;
+ *
+ *               /&ast; then interpolate the initial and final state
+ *                &ast; depending on the progress of the animation,
+ *                &ast; and put the result inside the box we will use
+ *                &ast; to allocate the child
+ *                &ast;/
+ *               clutter_actor_box_interpolate (my_meta-&gt;last_alloc,
+ *                                              &amp;end,
+ *                                              p,
+ *                                              &amp;child_box);
+ *             }
+ *           else
+ *             {
+ *               /&ast; if there is no stable allocation then the child was
+ *                &ast; added while animating; one possible course of action
+ *                &ast; is to just bail out and fall through to the allocation
+ *                &ast; to position the child directly at its final state
+ *                &ast;/
+ *               my_meta-&gt;last_alloc =
+ *                 clutter_actor_box_copy (&amp;child_box);
+ *             }
+ *         }
+ *
+ *       /&ast; allocate the child &ast;/
+ *       clutter_actor_allocate (child, &child_box, flags);
+ *     }
+ * }
+ *     </programlisting>
+ *   </example>
+ *   <para>Sub-classes of #ClutterLayoutManager that support animations of the
+ *   layout changes should call clutter_layout_manager_begin_animation()
+ *   whenever a layout property changes value, e.g.:</para>
+ *   <informalexample>
+ *     <programlisting>
+ * if (self->orientation != new_orientation)
+ *   {
+ *     ClutterLayoutManager *manager;
+ *
+ *     self->orientation = new_orientation;
+ *
+ *     manager = CLUTTER_LAYOUT_MANAGER (self);
+ *     clutter_layout_manager_layout_changed (manager);
+ *     clutter_layout_manager_begin_animation (manager, 500, CLUTTER_LINEAR);
+ *
+ *     g_object_notify (G_OBJECT (self), "orientation");
+ *   }
+ *     </programlisting>
+ *   </informalexample>
+ *   <para>The code above will animate a change in the
+ *   <varname>orientation</varname> layout property of a layout manager.</para>
+ * </refsect2>
+ *
  * <refsect2 id="clutter-layout-properties">
  *   <title>Layout Properties</title>
  *   <para>If a layout manager has layout properties, that is properties that
@@ -160,7 +327,10 @@
 #include <glib-object.h>
 #include <gobject/gvaluecollector.h>
 
-#include "clutter-container.h"
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-alpha.h"
+
 #include "clutter-debug.h"
 #include "clutter-layout-manager.h"
 #include "clutter-layout-meta.h"
@@ -192,6 +362,7 @@ G_DEFINE_ABSTRACT_TYPE (ClutterLayoutManager,
                         G_TYPE_INITIALLY_UNOWNED);
 
 static GQuark quark_layout_meta  = 0;
+static GQuark quark_layout_alpha = 0;
 
 static guint manager_signals[LAST_SIGNAL] = { 0, };
 
@@ -204,15 +375,15 @@ layout_manager_freeze_layout_change (ClutterLayoutManager *manager)
                 G_OBJECT_TYPE_NAME (manager),
                 manager);
 
-  is_frozen = g_object_get_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change");
+  is_frozen = g_object_get_data (G_OBJECT (manager), "freeze-change");
   if (is_frozen == NULL)
-    g_object_set_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change",
+    g_object_set_data (G_OBJECT (manager), "freeze-change",
                        GUINT_TO_POINTER (1));
   else
     {
       guint level = GPOINTER_TO_UINT (is_frozen) + 1;
 
-      g_object_set_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change",
+      g_object_set_data (G_OBJECT (manager), "freeze-change",
                          GUINT_TO_POINTER (level));
     }
 }
@@ -222,7 +393,7 @@ layout_manager_thaw_layout_change (ClutterLayoutManager *manager)
 {
   gpointer is_frozen;
 
-  is_frozen = g_object_get_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change");
+  is_frozen = g_object_get_data (G_OBJECT (manager), "freeze-change");
   if (is_frozen == NULL)
     g_critical (G_STRLOC ": Mismatched thaw; you have to call "
                 "clutter_layout_manager_freeze_layout_change() prior to "
@@ -239,9 +410,9 @@ layout_manager_thaw_layout_change (ClutterLayoutManager *manager)
 
       level -= 1;
       if (level == 0)
-        g_object_set_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change", NULL);
+        g_object_set_data (G_OBJECT (manager), "freeze-change", NULL);
       else
-        g_object_set_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change",
+        g_object_set_data (G_OBJECT (manager), "freeze-change",
                            GUINT_TO_POINTER (level));
     }
 
@@ -293,7 +464,7 @@ layout_manager_real_set_container (ClutterLayoutManager *manager,
                                    ClutterContainer     *container)
 {
   if (container != NULL)
-    g_object_set_data (G_OBJECT (container), "-clutter-layout-manager", manager);
+    g_object_set_data (G_OBJECT (container), "clutter-layout-manager", manager);
 }
 
 static ClutterLayoutMeta *
@@ -328,11 +499,101 @@ layout_manager_real_get_child_meta_type (ClutterLayoutManager *manager)
   return G_TYPE_INVALID;
 }
 
+/* XXX:2.0 - Remove */
+static ClutterAlpha *
+layout_manager_real_begin_animation (ClutterLayoutManager *manager,
+                                     guint                 duration,
+                                     gulong                mode)
+{
+  ClutterTimeline *timeline;
+  ClutterAlpha *alpha;
+
+  alpha = g_object_get_qdata (G_OBJECT (manager), quark_layout_alpha);
+  if (alpha != NULL)
+    {
+      clutter_alpha_set_mode (alpha, mode);
+
+      timeline = clutter_alpha_get_timeline (alpha);
+      clutter_timeline_set_duration (timeline, duration);
+      clutter_timeline_rewind (timeline);
+
+      return alpha;
+    };
+
+  timeline = clutter_timeline_new (duration);
+
+  alpha = clutter_alpha_new_full (timeline, mode);
+
+  /* let the alpha take ownership of the timeline */
+  g_object_unref (timeline);
+
+  g_signal_connect_swapped (timeline, "completed",
+                            G_CALLBACK (clutter_layout_manager_end_animation),
+                            manager);
+  g_signal_connect_swapped (timeline, "new-frame",
+                            G_CALLBACK (clutter_layout_manager_layout_changed),
+                            manager);
+
+  g_object_set_qdata_full (G_OBJECT (manager),
+                           quark_layout_alpha, alpha,
+                           (GDestroyNotify) g_object_unref);
+
+  clutter_timeline_start (timeline);
+
+  return alpha;
+}
+
+/* XXX:2.0 - Remove */
+static gdouble
+layout_manager_real_get_animation_progress (ClutterLayoutManager *manager)
+{
+  ClutterAlpha *alpha;
+
+  alpha = g_object_get_qdata (G_OBJECT (manager), quark_layout_alpha);
+  if (alpha == NULL)
+    return 1.0;
+
+  return clutter_alpha_get_alpha (alpha);
+}
+
+/* XXX:2.0 - Remove */
+static void
+layout_manager_real_end_animation (ClutterLayoutManager *manager)
+{
+  ClutterTimeline *timeline;
+  ClutterAlpha *alpha;
+
+  alpha = g_object_get_qdata (G_OBJECT (manager), quark_layout_alpha);
+  if (alpha == NULL)
+    return;
+
+  timeline = clutter_alpha_get_timeline (alpha);
+  g_assert (timeline != NULL);
+
+  if (clutter_timeline_is_playing (timeline))
+    clutter_timeline_stop (timeline);
+
+  g_signal_handlers_disconnect_by_func (timeline,
+                                        G_CALLBACK (clutter_layout_manager_end_animation),
+                                        manager);
+  g_signal_handlers_disconnect_by_func (timeline,
+                                        G_CALLBACK (clutter_layout_manager_layout_changed),
+                                        manager);
+
+  g_object_set_qdata (G_OBJECT (manager), quark_layout_alpha, NULL);
+
+  clutter_layout_manager_layout_changed (manager);
+}
+
 static void
 clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
 {
   quark_layout_meta =
-    g_quark_from_static_string ("-clutter-layout-manager-child-meta");
+    g_quark_from_static_string ("clutter-layout-manager-child-meta");
+
+  /* XXX:2.0 - Remove */
+  quark_layout_alpha =
+    g_quark_from_static_string ("clutter-layout-manager-alpha");
 
   g_type_class_add_private (klass, sizeof (ClutterLayoutManagerPrivate));
 
@@ -341,6 +602,11 @@ clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
   klass->allocate = layout_manager_real_allocate;
   klass->create_child_meta = layout_manager_real_create_child_meta;
   klass->get_child_meta_type = layout_manager_real_get_child_meta_type;
+
+  /* XXX:2.0 - Remove */
+  klass->begin_animation = layout_manager_real_begin_animation;
+  klass->get_animation_progress = layout_manager_real_get_animation_progress;
+  klass->end_animation = layout_manager_real_end_animation;
   klass->set_container = layout_manager_real_set_container;
 
   /**
@@ -370,7 +636,7 @@ clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
    * ::layout-changed signal whenever one of the parameters changes,
    * by using clutter_layout_manager_layout_changed().
    *
-   *
+   * Since: 1.2
    */
   manager_signals[LAYOUT_CHANGED] =
     g_signal_new (I_("layout-changed"),
@@ -406,7 +672,7 @@ clutter_layout_manager_init (ClutterLayoutManager *manager)
  *
  * See also clutter_actor_get_preferred_width()
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
@@ -441,7 +707,7 @@ clutter_layout_manager_get_preferred_width (ClutterLayoutManager *manager,
  *
  * See also clutter_actor_get_preferred_height()
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
@@ -473,7 +739,7 @@ clutter_layout_manager_get_preferred_height (ClutterLayoutManager *manager,
  *
  * See also clutter_actor_allocate()
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_allocate (ClutterLayoutManager   *manager,
@@ -500,7 +766,7 @@ clutter_layout_manager_allocate (ClutterLayoutManager   *manager,
  * This function should only be called by implementations of the
  * #ClutterLayoutManager class
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_layout_changed (ClutterLayoutManager *manager)
@@ -509,7 +775,7 @@ clutter_layout_manager_layout_changed (ClutterLayoutManager *manager)
 
   g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
 
-  is_frozen = g_object_get_data (G_OBJECT (manager), "-clutter-layout-manager-freeze-change");
+  is_frozen = g_object_get_data (G_OBJECT (manager), "freeze-change");
   if (is_frozen == NULL)
     g_signal_emit (manager, manager_signals[LAYOUT_CHANGED], 0);
   else
@@ -530,7 +796,7 @@ clutter_layout_manager_layout_changed (ClutterLayoutManager *manager)
  * The layout manager should not increase the reference
  * count of the @container
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_set_container (ClutterLayoutManager *manager,
@@ -622,7 +888,7 @@ get_child_meta (ClutterLayoutManager *manager,
  *   layout meta instance is owned by the #ClutterLayoutManager and it
  *   should not be unreferenced
  *
- *
+ * Since: 1.0
  */
 ClutterLayoutMeta *
 clutter_layout_manager_get_child_meta (ClutterLayoutManager *manager,
@@ -696,7 +962,7 @@ layout_get_property_internal (ClutterLayoutManager *manager,
  * Languages bindings should use clutter_layout_manager_child_set_property()
  * instead
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_child_set (ClutterLayoutManager *manager,
@@ -782,7 +1048,7 @@ clutter_layout_manager_child_set (ClutterLayoutManager *manager,
  * Sets a property on the #ClutterLayoutMeta created by @manager and
  * attached to a child of @container
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
@@ -836,7 +1102,7 @@ clutter_layout_manager_child_set_property (ClutterLayoutManager *manager,
  * #ClutterLayoutMeta created by @manager and attached to the
  * child of a @container
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_child_get (ClutterLayoutManager *manager,
@@ -928,7 +1194,7 @@ clutter_layout_manager_child_get (ClutterLayoutManager *manager,
  * and has to be unset with g_value_unset() after extracting the real
  * value out of it
  *
- *
+ * Since: 1.2
  */
 void
 clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
@@ -983,7 +1249,7 @@ clutter_layout_manager_child_get_property (ClutterLayoutManager *manager,
  *   #GParamSpec is owned by the layout manager and should not be
  *   modified or freed
  *
- *
+ * Since: 1.2
  */
 GParamSpec *
 clutter_layout_manager_find_child_property (ClutterLayoutManager *manager,
@@ -1021,7 +1287,7 @@ clutter_layout_manager_find_child_property (ClutterLayoutManager *manager,
  *   %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the
  *   resources allocated for the array
  *
- *
+ * Since: 1.2
  */
 GParamSpec **
 clutter_layout_manager_list_child_properties (ClutterLayoutManager *manager,
diff --git a/clutter/clutter-layout-manager.h b/clutter/clutter-layout-manager.h
index ce88d80..d19d563 100644
--- a/clutter/clutter-layout-manager.h
+++ b/clutter/clutter-layout-manager.h
@@ -49,7 +49,7 @@ typedef struct _ClutterLayoutManagerClass       ClutterLayoutManagerClass;
  * The #ClutterLayoutManager structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterLayoutManager
 {
@@ -79,13 +79,24 @@ struct _ClutterLayoutManager
  * @create_child_meta: virtual function; override to create a
  *   #ClutterLayoutMeta instance associated to a #ClutterContainer and a
  *   child #ClutterActor, used to maintain layout manager specific properties
+ * @begin_animation: virtual function; override to control the animation
+ *   of a #ClutterLayoutManager with the given duration and easing mode.
+ *   This virtual function is deprecated, and it should not be overridden
+ *   in newly written code.
+ * @end_animation: virtual function; override to end an animation started
+ *   by clutter_layout_manager_begin_animation(). This virtual function is
+ *   deprecated, and it should not be overriden in newly written code.
+ * @get_animation_progress: virtual function; override to control the
+ *   progress of the animation of a #ClutterLayoutManager. This virtual
+ *   function is deprecated, and it should not be overridden in newly written
+ *   code.
  * @layout_changed: class handler for the #ClutterLayoutManager::layout-changed
  *   signal
  *
  * The #ClutterLayoutManagerClass structure contains only private
  * data and should be accessed using the provided API
  *
- *
+ * Since: 1.2
  */
 struct _ClutterLayoutManagerClass
 {
@@ -116,6 +127,15 @@ struct _ClutterLayoutManagerClass
                                                  ClutterContainer       *container,
                                                  ClutterActor           *actor);
 
+  /* deprecated */
+  ClutterAlpha *     (* begin_animation)        (ClutterLayoutManager   *manager,
+                                                 guint                   duration,
+                                                 gulong                  mode);
+  /* deprecated */
+  gdouble            (* get_animation_progress) (ClutterLayoutManager   *manager);
+  /* deprecated */
+  void               (* end_animation)          (ClutterLayoutManager   *manager);
+
   void               (* layout_changed)         (ClutterLayoutManager   *manager);
 
   /*< private >*/
@@ -181,6 +201,15 @@ void               clutter_layout_manager_child_get_property    (ClutterLayoutMa
                                                                  const gchar            *property_name,
                                                                  GValue                 *value);
 
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAlpha *     clutter_layout_manager_begin_animation       (ClutterLayoutManager   *manager,
+                                                                 guint                   duration,
+                                                                 gulong                  mode);
+CLUTTER_DEPRECATED_IN_1_12
+void               clutter_layout_manager_end_animation         (ClutterLayoutManager   *manager);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble            clutter_layout_manager_get_animation_progress (ClutterLayoutManager   *manager);
+
 G_END_DECLS
 
 #endif /* __CLUTTER_LAYOUT_MANAGER_H__ */
diff --git a/clutter/clutter-layout-meta.c b/clutter/clutter-layout-meta.c
index 3c819ea..af10624 100644
--- a/clutter/clutter-layout-meta.c
+++ b/clutter/clutter-layout-meta.c
@@ -111,7 +111,7 @@ clutter_layout_meta_class_init (ClutterLayoutMetaClass *klass)
    *
    * The #ClutterLayoutManager that created this #ClutterLayoutMeta.
    *
-   *
+   * Since: 1.2
    */
   pspec = g_param_spec_object ("manager",
                                P_("Manager"),
@@ -136,7 +136,7 @@ clutter_layout_meta_init (ClutterLayoutMeta *self)
  *
  * Return value: (transfer none): a #ClutterLayoutManager
  *
- *
+ * Since: 1.2
  */
 ClutterLayoutManager *
 clutter_layout_meta_get_manager (ClutterLayoutMeta *data)
diff --git a/clutter/clutter-layout-meta.h b/clutter/clutter-layout-meta.h
index ec5e71e..0f7e7e8 100644
--- a/clutter/clutter-layout-meta.h
+++ b/clutter/clutter-layout-meta.h
@@ -56,7 +56,7 @@ typedef struct _ClutterLayoutMetaClass          ClutterLayoutMetaClass;
  * instance by overriding the #ClutterLayoutManager::create_child_meta()
  * virtual function
  *
- *
+ * Since: 1.2
  */
 struct _ClutterLayoutMeta
 {
@@ -78,7 +78,7 @@ struct _ClutterLayoutMeta
  * The #ClutterLayoutMetaClass contains only private data and
  * should never be accessed directly
  *
- *
+ * Since: 1.2
  */
 struct _ClutterLayoutMetaClass
 {
diff --git a/clutter/clutter-list-model.c b/clutter/clutter-list-model.c
index 2c6a0c2..49ac9df 100644
--- a/clutter/clutter-list-model.c
+++ b/clutter/clutter-list-model.c
@@ -750,7 +750,7 @@ clutter_list_model_init (ClutterListModel *model)
  *
  * Return value: a new #ClutterListModel
  *
- *
+ * Since: 0.6
  */
 ClutterModel *
 clutter_list_model_new (guint n_columns,
@@ -800,7 +800,7 @@ clutter_list_model_new (guint n_columns,
  *
  * Return value: (transfer full): a new default #ClutterModel
  *
- *
+ * Since: 0.6
  */
 ClutterModel *
 clutter_list_model_newv (guint                n_columns,
diff --git a/clutter/clutter-list-model.h b/clutter/clutter-list-model.h
index 2d7fb18..e84cef5 100644
--- a/clutter/clutter-list-model.h
+++ b/clutter/clutter-list-model.h
@@ -52,7 +52,7 @@ typedef struct _ClutterListModelClass           ClutterListModelClass;
  *
  * The #ClutterListModel struct contains only private data.
  *
- *
+ * Since: 0.6
  */
 struct _ClutterListModel
 {
@@ -67,7 +67,7 @@ struct _ClutterListModel
  *
  * The #ClutterListModelClass struct contains only private data.
  *
- *
+ * Since: 0.6
  */
 struct _ClutterListModelClass
 {
diff --git a/clutter/clutter-macros.h b/clutter/clutter-macros.h
index c9df10f..db797d9 100644
--- a/clutter/clutter-macros.h
+++ b/clutter/clutter-macros.h
@@ -28,6 +28,58 @@
 
 #include <clutter/clutter-version.h>
 
+/**
+ * CLUTTER_FLAVOUR:
+ *
+ * GL Windowing system used
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: The macro evaluates to "deprecated" as Clutter can be
+ *   compiled with multiple windowing system backends. Use the various
+ *   CLUTTER_WINDOWING_* macros to detect the windowing system that Clutter
+ *   is being compiled against, and the type check macros for the
+ *   #ClutterBackend for a run-time check.
+ */
+#define CLUTTER_FLAVOUR         "deprecated"
+
+/**
+ * CLUTTER_COGL:
+ *
+ * Cogl (internal GL abstraction utility library) backend. Can be "gl" or
+ * "gles" currently
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: The macro evaluates to "deprecated" as Cogl can be
+ *   compiled against multiple GL implementations.
+ */
+#define CLUTTER_COGL            "deprecated"
+
+/**
+ * CLUTTER_STAGE_TYPE:
+ *
+ * The default GObject type for the Clutter stage.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: The macro evaluates to "deprecated" as Clutter can
+ *   be compiled against multiple windowing systems. You can use the
+ *   CLUTTER_WINDOWING_* macros for compile-time checks, and the type
+ *   check macros for run-time checks.
+ */
+#define CLUTTER_STAGE_TYPE      "deprecated"
+
+/**
+ * CLUTTER_NO_FPU:
+ *
+ * Set to 1 if Clutter was built without FPU (i.e fixed math), 0 otherwise
+ *
+ * Deprecated: 0.6: This macro is no longer defined (identical code is used
+ *  regardless the presence of FPU).
+ */
+#define CLUTTER_NO_FPU          (0)
+
 /* some structures are meant to be opaque and still be allocated on the stack;
  * in order to avoid people poking at their internals, we use this macro to
  * ensure that users don't accidentally access a struct private members.
@@ -40,21 +92,6 @@
 #define CLUTTER_PRIVATE_FIELD(x)        clutter_private_ ## x
 #endif
 
-/* annotation for exported variables
- *
- * XXX: this has to be defined here because clutter-macro.h imports this
- * header file.
- */
-#ifdef _MSC_VER
-# ifdef CLUTTER_COMPILATION
-#  define CLUTTER_VAR __declspec(dllexport)
-# else
-#  define CLUTTER_VAR extern __declspec(dllimport)
-# endif
-#else
-# define CLUTTER_VAR extern
-#endif
-
 /* these macros are used to mark deprecated functions, and thus have to be
  * exposed in a public header.
  *
@@ -78,7 +115,7 @@
  * clutter.h header.
  *
  * The definition should be one of the predefined Clutter version macros,
- * such as: %CLUTTER_VERSION_2_0, %CLUTTER_VERSION_2_2, ...
+ * such as: %CLUTTER_VERSION_1_0, %CLUTTER_VERSION_1_2, ...
  *
  * This macro defines the lower bound for the Clutter API to be used.
  *
@@ -86,14 +123,10 @@
  * is possible to use this symbol to avoid the compiler warnings without
  * disabling warnings for every deprecated function.
  *
- *
+ * Since: 1.10
  */
 #ifndef CLUTTER_VERSION_MIN_REQUIRED
-# if CLUTTER_MAJOR_VERSION < 2
-#   define CLUTTER_VERSION_MIN_REQUIRED (G_ENCODE_VERSION (2, 0))
-# else
-#   define CLUTTER_VERSION_MIN_REQUIRED (CLUTTER_VERSION_CUR_STABLE)
-# endif
+# define CLUTTER_VERSION_MIN_REQUIRED   (CLUTTER_VERSION_CUR_STABLE)
 #endif
 
 /**
@@ -103,7 +136,7 @@
  * clutter.h header.
  *
  * The definition should be one of the predefined Clutter version macros,
- * such as: %CLUTTER_VERSION_2_0, %CLUTTER_VERSION_2_2, ...
+ * such as: %CLUTTER_VERSION_1_0, %CLUTTER_VERSION_1_2, ...
  *
  * This macro defines the upper bound for the Clutter API to be used.
  *
@@ -111,7 +144,7 @@
  * is possible to use this symbol to get compiler warnings when trying
  * to use that function.
  *
- *
+ * Since: 1.10
  */
 #ifndef CLUTTER_VERSION_MAX_ALLOWED
 # if CLUTTER_VERSION_MIN_REQUIRED > CLUTTER_VERSION_PREV_STABLE
@@ -125,24 +158,108 @@
 #if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_MIN_REQUIRED
 # error "CLUTTER_VERSION_MAX_ALLOWED must be >= CLUTTER_VERSION_MIN_REQUIRED"
 #endif
-#if CLUTTER_VERSION_MIN_REQUIRED < CLUTTER_VERSION_2_0
-# error "CLUTTER_VERSION_MIN_REQUIRED must be >= CLUTTER_VERSION_2_0"
+#if CLUTTER_VERSION_MIN_REQUIRED < CLUTTER_VERSION_1_0
+# error "CLUTTER_VERSION_MIN_REQUIRED must be >= CLUTTER_VERSION_1_0"
 #endif
 
 /* XXX: Every new stable minor release should add a set of macros here */
 
-#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_2_0
-# define CLUTTER_DEPRECATED_IN_2_0              CLUTTER_DEPRECATED
-# define CLUTTER_DEPRECATED_IN_2_0_FOR(f)       CLUTTER_DEPRECATED_FOR(f)
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_0
+# define CLUTTER_DEPRECATED_IN_1_0              CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_0_FOR(f)       CLUTTER_DEPRECATED_FOR(f)
+#else
+# define CLUTTER_DEPRECATED_IN_1_0
+# define CLUTTER_DEPRECATED_IN_1_0_FOR(f)
+#endif
+
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_0
+# define CLUTTER_AVAILABLE_IN_1_0               CLUTTER_UNAVAILABLE(1, 0)
+#else
+# define CLUTTER_AVAILABLE_IN_1_0
+#endif
+
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_2
+# define CLUTTER_DEPRECATED_IN_1_2              CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_2_FOR(f)       CLUTTER_DEPRECATED_FOR(f)
+#else
+# define CLUTTER_DEPRECATED_IN_1_2
+# define CLUTTER_DEPRECATED_IN_1_2_FOR(f)
+#endif
+
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_2
+# define CLUTTER_AVAILABLE_IN_1_2               CLUTTER_UNAVAILABLE(1, 2)
+#else
+# define CLUTTER_AVAILABLE_IN_1_2
+#endif
+
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_4
+# define CLUTTER_DEPRECATED_IN_1_4              CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_4_FOR(f)       CLUTTER_DEPRECATED_FOR(f)
+#else
+# define CLUTTER_DEPRECATED_IN_1_4
+# define CLUTTER_DEPRECATED_IN_1_4_FOR(f)
+#endif
+
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_4
+# define CLUTTER_AVAILABLE_IN_1_4               CLUTTER_UNAVAILABLE(1, 4)
+#else
+# define CLUTTER_AVAILABLE_IN_1_4
+#endif
+
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_6
+# define CLUTTER_DEPRECATED_IN_1_6              CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_6_FOR(f)       CLUTTER_DEPRECATED_FOR(f)
+#else
+# define CLUTTER_DEPRECATED_IN_1_6
+# define CLUTTER_DEPRECATED_IN_1_6_FOR(f)
+#endif
+
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_6
+# define CLUTTER_AVAILABLE_IN_1_6               CLUTTER_UNAVAILABLE(1, 6)
+#else
+# define CLUTTER_AVAILABLE_IN_1_6
+#endif
+
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_8
+# define CLUTTER_DEPRECATED_IN_1_8              CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_8_FOR(f)       CLUTTER_DEPRECATED_FOR(f)
+#else
+# define CLUTTER_DEPRECATED_IN_1_8
+# define CLUTTER_DEPRECATED_IN_1_8_FOR(f)
+#endif
+
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_8
+# define CLUTTER_AVAILABLE_IN_1_8               CLUTTER_UNAVAILABLE(1, 8)
+#else
+# define CLUTTER_AVAILABLE_IN_1_8
+#endif
+
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_10
+# define CLUTTER_DEPRECATED_IN_1_10             CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_10_FOR(f)      CLUTTER_DEPRECATED_FOR(f)
+#else
+# define CLUTTER_DEPRECATED_IN_1_10
+# define CLUTTER_DEPRECATED_IN_1_10_FOR(f)
+#endif
+
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_10
+# define CLUTTER_AVAILABLE_IN_1_10              CLUTTER_UNAVAILABLE(1, 10)
+#else
+# define CLUTTER_AVAILABLE_IN_1_10
+#endif
+
+#if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_12
+# define CLUTTER_DEPRECATED_IN_1_12             CLUTTER_DEPRECATED
+# define CLUTTER_DEPRECATED_IN_1_12_FOR(f)      CLUTTER_DEPRECATED_FOR(f)
 #else
-# define CLUTTER_DEPRECATED_IN_2_0
-# define CLUTTER_DEPRECATED_IN_2_0_FOR(f)
+# define CLUTTER_DEPRECATED_IN_1_12
+# define CLUTTER_DEPRECATED_IN_1_12_FOR(f)
 #endif
 
-#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_2_0
-# define CLUTTER_AVAILABLE_IN_2_0               CLUTTER_UNAVAILABLE(2, 0)
+#if CLUTTER_VERSION_MAX_ALLOWED < CLUTTER_VERSION_1_12
+# define CLUTTER_AVAILABLE_IN_1_12              CLUTTER_UNAVAILABLE(1, 12)
 #else
-# define CLUTTER_AVAILABLE_IN_2_0
+# define CLUTTER_AVAILABLE_IN_1_12
 #endif
 
 #if CLUTTER_VERSION_MIN_REQUIRED >= CLUTTER_VERSION_1_14
diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c
index 36d179c..d0d6185 100644
--- a/clutter/clutter-main.c
+++ b/clutter/clutter-main.c
@@ -170,9 +170,9 @@ guint clutter_pick_debug_flags  = 0;
 /* profile flags */
 guint clutter_profile_flags     = 0;
 
-static const guint clutter_major_version = CLUTTER_MAJOR_VERSION;
-static const guint clutter_minor_version = CLUTTER_MINOR_VERSION;
-static const guint clutter_micro_version = CLUTTER_MICRO_VERSION;
+const guint clutter_major_version = CLUTTER_MAJOR_VERSION;
+const guint clutter_minor_version = CLUTTER_MINOR_VERSION;
+const guint clutter_micro_version = CLUTTER_MICRO_VERSION;
 
 #ifdef CLUTTER_ENABLE_DEBUG
 static const GDebugKey clutter_debug_keys[] = {
@@ -441,7 +441,7 @@ clutter_config_read (void)
   gchar *config_path;
 
   config_path = g_build_filename (CLUTTER_SYSCONFDIR,
-                                  "clutter-2.0",
+                                  "clutter-1.0",
                                   "settings.ini",
                                   NULL);
   if (g_file_test (config_path, G_FILE_TEST_EXISTS))
@@ -450,7 +450,7 @@ clutter_config_read (void)
   g_free (config_path);
 
   config_path = g_build_filename (g_get_user_config_dir (),
-                                  "clutter-2.0",
+                                  "clutter-1.0",
                                   "settings.ini",
                                   NULL);
   if (g_file_test (config_path, G_FILE_TEST_EXISTS))
@@ -459,20 +459,34 @@ clutter_config_read (void)
   g_free (config_path);
 }
 
+/**
+ * clutter_get_show_fps:
+ *
+ * Returns whether Clutter should print out the frames per second on the
+ * console. You can enable this setting either using the
+ * <literal>CLUTTER_SHOW_FPS</literal> environment variable or passing
+ * the <literal>--clutter-show-fps</literal> command line argument. *
+ *
+ * Return value: %TRUE if Clutter should show the FPS.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: This function does not do anything. Use the environment
+ *   variable or the configuration file to determine whether Clutter should
+ *   print out the FPS counter on the console.
+ */
 gboolean
-_clutter_context_get_show_fps (void)
+clutter_get_show_fps (void)
 {
-  ClutterMainContext *context = _clutter_context_get_default ();
-
-  return context->show_fps;
+  return FALSE;
 }
 
-guint
-_clutter_context_get_frame_rate (void)
+gboolean
+_clutter_context_get_show_fps (void)
 {
   ClutterMainContext *context = _clutter_context_get_default ();
 
-  return context->frame_rate;
+  return context->show_fps;
 }
 
 /**
@@ -484,7 +498,7 @@ _clutter_context_get_frame_rate (void)
  *
  * Return value: %TRUE if Clutter has accessibility support enabled
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_get_accessibility_enabled (void)
@@ -499,6 +513,8 @@ clutter_get_accessibility_enabled (void)
  * as setting the environment variable
  * CLUTTER_DISABLE_ACCESSIBILITY. For the same reason, this method
  * should be called before clutter_init().
+ *
+ * Since: 1.14
  */
 void
 clutter_disable_accessibility (void)
@@ -513,6 +529,88 @@ clutter_disable_accessibility (void)
   clutter_enable_accessibility = FALSE;
 }
 
+/**
+ * clutter_redraw:
+ *
+ * Forces a redraw of the entire stage. Applications should never use this
+ * function, but queue a redraw using clutter_actor_queue_redraw().
+ *
+ * This function should only be used by libraries integrating Clutter from
+ * within another toolkit.
+ *
+ * Deprecated: 1.10: Use clutter_stage_ensure_redraw() instead.
+ */
+void
+clutter_redraw (ClutterStage *stage)
+{
+  g_return_if_fail (CLUTTER_IS_STAGE (stage));
+
+  clutter_stage_ensure_redraw (stage);
+}
+
+/**
+ * clutter_set_motion_events_enabled:
+ * @enable: %TRUE to enable per-actor motion events
+ *
+ * Sets whether per-actor motion events should be enabled or not on
+ * all #ClutterStage<!-- -->s managed by Clutter.
+ *
+ * If @enable is %FALSE the following events will not work:
+ * <itemizedlist>
+ *   <listitem><para>ClutterActor::motion-event, unless on the
+ *     #ClutterStage</para></listitem>
+ *   <listitem><para>ClutterActor::enter-event</para></listitem>
+ *   <listitem><para>ClutterActor::leave-event</para></listitem>
+ * </itemizedlist>
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use clutter_stage_set_motion_events_enabled() instead.
+ */
+void
+clutter_set_motion_events_enabled (gboolean enable)
+{
+  ClutterStageManager *stage_manager;
+  ClutterMainContext *context;
+  const GSList *l;
+
+  enable = !!enable;
+
+  context = _clutter_context_get_default ();
+  if (context->motion_events_per_actor == enable)
+    return;
+
+  /* store the flag for later query and for newly created stages */
+  context->motion_events_per_actor = enable;
+
+  /* propagate the change to all stages */
+  stage_manager = clutter_stage_manager_get_default ();
+
+  for (l = clutter_stage_manager_peek_stages (stage_manager);
+       l != NULL;
+       l = l->next)
+    {
+      clutter_stage_set_motion_events_enabled (l->data, enable);
+    }
+}
+
+/**
+ * clutter_get_motion_events_enabled:
+ *
+ * Gets whether the per-actor motion events are enabled.
+ *
+ * Return value: %TRUE if the motion events are enabled
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use clutter_stage_get_motion_events_enabled() instead.
+ */
+gboolean
+clutter_get_motion_events_enabled (void)
+{
+  return _clutter_context_get_motion_events_enabled ();
+}
+
 ClutterActor *
 _clutter_get_actor_by_id (ClutterStage *stage,
                           guint32       actor_id)
@@ -847,6 +945,14 @@ void
 clutter_main (void)
 {
   GMainLoop *loop;
+  CLUTTER_STATIC_TIMER (mainloop_timer,
+                        NULL, /* no parent */
+                        "Mainloop",
+                        "The time spent in the clutter mainloop",
+                        0 /* no application private data */);
+
+  if (clutter_main_loop_level == 0)
+    CLUTTER_TIMER_START (uprof_get_mainloop_context (), mainloop_timer);
 
   if (!_clutter_context_is_initialized ())
     {
@@ -880,6 +986,32 @@ clutter_main (void)
   g_main_loop_unref (loop);
 
   clutter_main_loop_level--;
+
+  if (clutter_main_loop_level == 0)
+    CLUTTER_TIMER_STOP (uprof_get_mainloop_context (), mainloop_timer);
+}
+
+/**
+ * clutter_threads_init:
+ *
+ * Initialises the Clutter threading mechanism, so that Clutter API can be
+ * called by multiple threads, using clutter_threads_enter() and
+ * clutter_threads_leave() to mark the critical sections.
+ *
+ * You must call g_thread_init() before this function.
+ *
+ * This function must be called before clutter_init().
+ *
+ * It is safe to call this function multiple times.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: This function does not do anything. Threading support
+ *   is initialized when Clutter is initialized.
+ */
+void
+clutter_threads_init (void)
+{
 }
 
 /**
@@ -909,7 +1041,7 @@ clutter_main (void)
  * This method must be called before clutter_init(), and cannot
  * be called multiple times.
  *
- *
+ * Since: 0.4
  */
 void
 clutter_threads_set_lock_functions (GCallback enter_fn,
@@ -1048,7 +1180,7 @@ _clutter_threads_dispatch_free (gpointer data)
  *
  * Return value: the ID (greater than 0) of the event source.
  *
- *
+ * Since: 0.4
  */
 guint
 clutter_threads_add_idle_full (gint           priority,
@@ -1080,7 +1212,7 @@ clutter_threads_add_idle_full (gint           priority,
  *
  * Return value: the ID (greater than 0) of the event source.
  *
- *
+ * Since: 0.4
  */
 guint
 clutter_threads_add_idle (GSourceFunc func,
@@ -1120,7 +1252,7 @@ clutter_threads_add_idle (GSourceFunc func,
  *
  * Return value: the ID (greater than 0) of the event source.
  *
- *
+ * Since: 0.4
  */
 guint
 clutter_threads_add_timeout_full (gint           priority,
@@ -1154,7 +1286,7 @@ clutter_threads_add_timeout_full (gint           priority,
  *
  * Return value: the ID (greater than 0) of the event source.
  *
- *
+ * Since: 0.4
  */
 guint
 clutter_threads_add_timeout (guint       interval,
@@ -1183,6 +1315,60 @@ _clutter_threads_release_lock (void)
     (* clutter_threads_unlock) ();
 }
 
+/**
+ * clutter_threads_enter:
+ *
+ * Locks the Clutter thread lock.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.12: This function should not be used by application
+ *   code; marking critical sections is not portable on various
+ *   platforms. Instead of acquiring the Clutter lock, schedule UI
+ *   updates from the main loop using clutter_threads_add_idle() or
+ *   clutter_threads_add_timeout().
+ */
+void
+clutter_threads_enter (void)
+{
+  _clutter_threads_acquire_lock ();
+}
+
+/**
+ * clutter_threads_leave:
+ *
+ * Unlocks the Clutter thread lock.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.12: This function should not be used by application
+ *   code; marking critical sections is not portable on various
+ *   platforms. Instead of acquiring the Clutter lock, schedule UI
+ *   updates from the main loop using clutter_threads_add_idle() or
+ *   clutter_threads_add_timeout().
+ */
+void
+clutter_threads_leave (void)
+{
+  _clutter_threads_release_lock ();
+}
+
+
+/**
+ * clutter_get_debug_enabled:
+ *
+ * Check if Clutter has debugging enabled.
+ *
+ * Return value: %FALSE
+ *
+ * Deprecated: 1.10: This function does not do anything.
+ */
+gboolean
+clutter_get_debug_enabled (void)
+{
+  return FALSE;
+}
+
 void
 _clutter_context_lock (void)
 {
@@ -1292,6 +1478,36 @@ _clutter_context_get_default (void)
   return retval;
 }
 
+/**
+ * clutter_get_timestamp:
+ *
+ * Returns the approximate number of microseconds passed since Clutter was
+ * intialised.
+ *
+ * This function shdould not be used by application code.
+ *
+ * The output of this function depends on whether Clutter was configured to
+ * enable its debugging code paths, so it's less useful than intended.
+ *
+ * Since Clutter 1.10, this function is an alias to g_get_monotonic_time()
+ * if Clutter was configured to enable the debugging code paths.
+ *
+ * Return value: Number of microseconds since clutter_init() was called, or
+ *   zero if Clutter was not configured with debugging code paths.
+ *
+ * Deprecated: 1.10: Use #GTimer or g_get_monotonic_time() for a proper
+ *   timing source
+ */
+gulong
+clutter_get_timestamp (void)
+{
+#ifdef CLUTTER_ENABLE_DEBUG
+  return (gulong) g_get_monotonic_time ();
+#else
+  return 0L;
+#endif
+}
+
 static gboolean
 clutter_arg_direction_cb (const char *key,
                           const char *value,
@@ -1368,14 +1584,6 @@ clutter_init_real (GError **error)
   ClutterMainContext *ctx;
   ClutterBackend *backend;
 
-#ifdef CLUTTER_ENABLE_PROFILE
-  CLUTTER_STATIC_TIMER (mainloop_timer,
-                        NULL, /* no parent */
-                        "Mainloop",
-                        "The time spent in the clutter mainloop",
-                        0 /* no application private data */);
-#endif
-
   /* Note, creates backend if not already existing, though parse args will
    * have likely created it
    */
@@ -1437,8 +1645,6 @@ clutter_init_real (GError **error)
   uprof_init (NULL, NULL);
   _clutter_uprof_init ();
 
-  CLUTTER_TIMER_START (uprof_get_mainloop_context (), mainloop_timer);
-
   if (clutter_profile_flags & CLUTTER_PROFILE_PICKING_ONLY)
     _clutter_profile_suspend ();
 #endif
@@ -1666,7 +1872,7 @@ post_parse_hook (GOptionContext  *context,
  * Return value: (transfer full): a #GOptionGroup for the commandline arguments
  *   recognized by Clutter
  *
- *
+ * Since: 0.2
  */
 GOptionGroup *
 clutter_get_option_group (void)
@@ -1711,7 +1917,7 @@ clutter_get_option_group (void)
  * Return value: (transfer full): a #GOptionGroup for the commandline arguments
  *   recognized by Clutter
  *
- *
+ * Since: 0.8.2
  */
 GOptionGroup *
 clutter_get_option_group_without_init (void)
@@ -1765,7 +1971,7 @@ clutter_get_option_group_without_init (void)
  *   initialised, or other values or #ClutterInitError in case of
  *   error.
  *
- *
+ * Since: 0.2
  */
 ClutterInitError
 clutter_init_with_args (int            *argc,
@@ -2219,7 +2425,7 @@ is_off_stage (ClutterActor *stage,
  * This function is only useful when embedding Clutter inside another
  * toolkit, and it should never be called by applications.
  *
- *
+ * Since: 0.4
  */
 void
 clutter_do_event (ClutterEvent *event)
@@ -2620,6 +2826,25 @@ _clutter_process_event (ClutterEvent *event)
   context->current_event = g_slist_delete_link (context->current_event, context->current_event);
 }
 
+/**
+ * clutter_get_actor_by_gid:
+ * @id_: a #ClutterActor unique id.
+ *
+ * Retrieves the #ClutterActor with @id_.
+ *
+ * Return value: (transfer none): the actor with the passed id or %NULL.
+ *   The returned actor does not have its reference count increased.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: The id is not used any longer.
+ */
+ClutterActor *
+clutter_get_actor_by_gid (guint32 id_)
+{
+  return _clutter_get_actor_by_id (NULL, id_);
+}
+
 void
 clutter_base_init (void)
 {
@@ -2642,6 +2867,43 @@ clutter_base_init (void)
     }
 }
 
+/**
+ * clutter_get_default_frame_rate:
+ *
+ * Retrieves the default frame rate. See clutter_set_default_frame_rate().
+ *
+ * Return value: the default frame rate
+ *
+ * Since: 0.6
+ */
+guint
+clutter_get_default_frame_rate (void)
+{
+  ClutterMainContext *context;
+
+  context = _clutter_context_get_default ();
+
+  return context->frame_rate;
+}
+
+/**
+ * clutter_set_default_frame_rate:
+ * @frames_per_sec: the new default frame rate
+ *
+ * Sets the default frame rate. This frame rate will be used to limit
+ * the number of frames drawn if Clutter is not able to synchronize
+ * with the vertical refresh rate of the display. When synchronization
+ * is possible, this value is ignored.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: This function does not do anything any more.
+ */
+void
+clutter_set_default_frame_rate (guint frames_per_sec)
+{
+}
+
 static void
 on_grab_actor_destroy (ClutterActor       *actor,
                        ClutterInputDevice *device)
@@ -2694,7 +2956,7 @@ on_grab_actor_destroy (ClutterActor       *actor,
  * If a grab is required, you are strongly encouraged to use a specific
  * input device by calling clutter_input_device_grab().
  *
- *
+ * Since: 0.6
  */
 void
 clutter_grab_pointer (ClutterActor *actor)
@@ -2743,7 +3005,7 @@ clutter_grab_pointer (ClutterActor *actor)
  * Only #ClutterInputDevice of types %CLUTTER_POINTER_DEVICE and
  * %CLUTTER_KEYBOARD_DEVICE can hold a grab.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_input_device_grab (ClutterInputDevice *device,
@@ -2790,7 +3052,7 @@ clutter_input_device_grab (ClutterInputDevice *device,
  *
  * Releases the grab on the @device, if one is in place.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_input_device_ungrab (ClutterInputDevice *device)
@@ -2832,7 +3094,7 @@ clutter_input_device_ungrab (ClutterInputDevice *device)
  *
  * Return value: (transfer none): a #ClutterActor, or %NULL
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_input_device_get_grabbed_actor (ClutterInputDevice *device)
@@ -2855,11 +3117,62 @@ clutter_input_device_get_grabbed_actor (ClutterInputDevice *device)
 }
 
 /**
+ * clutter_grab_pointer_for_device:
+ * @actor: a #ClutterActor
+ * @id_: a device id, or -1
+ *
+ * Grabs all the pointer events coming from the device @id for @actor.
+ *
+ * If @id is -1 then this function is equivalent to clutter_grab_pointer().
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_input_device_grab() instead.
+ */
+void
+clutter_grab_pointer_for_device (ClutterActor *actor,
+                                 gint          id_)
+{
+  ClutterDeviceManager *manager;
+  ClutterInputDevice *dev;
+
+  g_return_if_fail (actor == NULL || CLUTTER_IS_ACTOR (actor));
+
+  /* essentially a global grab */
+  if (id_ == -1)
+    {
+      if (actor == NULL)
+        clutter_ungrab_pointer ();
+      else
+        clutter_grab_pointer (actor);
+
+      return;
+    }
+
+  manager = clutter_device_manager_get_default ();
+  if (manager == NULL)
+    return;
+
+  dev = clutter_device_manager_get_device (manager, id_);
+  if (dev == NULL)
+    return;
+
+  if (dev->device_type != CLUTTER_POINTER_DEVICE)
+    return;
+
+  if (actor == NULL)
+    clutter_input_device_ungrab (dev);
+  else
+    clutter_input_device_grab (dev, actor);
+}
+
+
+/**
  * clutter_ungrab_pointer:
  *
  * Removes an existing grab of the pointer.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_ungrab_pointer (void)
@@ -2868,13 +3181,39 @@ clutter_ungrab_pointer (void)
 }
 
 /**
+ * clutter_ungrab_pointer_for_device:
+ * @id_: a device id
+ *
+ * Removes an existing grab of the pointer events for device @id_.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_input_device_ungrab() instead.
+ */
+void
+clutter_ungrab_pointer_for_device (gint id_)
+{
+  ClutterDeviceManager *manager;
+  ClutterInputDevice *device;
+
+  manager = clutter_device_manager_get_default ();
+  if (manager == NULL)
+    return;
+
+  device = clutter_device_manager_get_device (manager, id_);
+  if (device != NULL)
+    clutter_input_device_ungrab (device);
+}
+
+
+/**
  * clutter_get_pointer_grab:
  *
  * Queries the current pointer grab of clutter.
  *
  * Return value: (transfer none): the actor currently holding the pointer grab, or NULL if there is no grab.
  *
- *
+ * Since: 0.6
  */
 ClutterActor *
 clutter_get_pointer_grab (void)
@@ -2902,7 +3241,7 @@ clutter_get_pointer_grab (void)
  * See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
  * to perform a "soft" key grab and assign key focus to a specific actor.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_grab_keyboard (ClutterActor *actor)
@@ -2939,7 +3278,7 @@ clutter_grab_keyboard (ClutterActor *actor)
  *
  * Removes an existing grab of the keyboard.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_ungrab_keyboard (void)
@@ -2954,7 +3293,7 @@ clutter_ungrab_keyboard (void)
  *
  * Return value: (transfer none): the actor currently holding the keyboard grab, or NULL if there is no grab.
  *
- *
+ * Since: 0.6
  */
 ClutterActor *
 clutter_get_keyboard_grab (void)
@@ -2967,6 +3306,175 @@ clutter_get_keyboard_grab (void)
 }
 
 /**
+ * clutter_clear_glyph_cache:
+ *
+ * Clears the internal cache of glyphs used by the Pango
+ * renderer. This will free up some memory and GL texture
+ * resources. The cache will be automatically refilled as more text is
+ * drawn.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_get_font_map() and
+ *   cogl_pango_font_map_clear_glyph_cache() instead.
+ */
+void
+clutter_clear_glyph_cache (void)
+{
+  CoglPangoFontMap *font_map;
+
+  font_map = clutter_context_get_pango_fontmap ();
+  cogl_pango_font_map_clear_glyph_cache (font_map);
+}
+
+/**
+ * clutter_set_font_flags:
+ * @flags: The new flags
+ *
+ * Sets the font quality options for subsequent text rendering
+ * operations.
+ *
+ * Using mipmapped textures will improve the quality for scaled down
+ * text but will use more texture memory.
+ *
+ * Enabling hinting improves text quality for static text but may
+ * introduce some artifacts if the text is animated.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_backend_set_font_options() and the
+ *   #cairo_font_option_t API.
+ */
+void
+clutter_set_font_flags (ClutterFontFlags flags)
+{
+  ClutterMainContext *context = _clutter_context_get_default ();
+  CoglPangoFontMap *font_map;
+  ClutterFontFlags old_flags, changed_flags;
+  const cairo_font_options_t *font_options;
+  cairo_font_options_t *new_font_options;
+  cairo_hint_style_t hint_style;
+  gboolean use_mipmapping;
+  ClutterBackend *backend;
+
+  backend = clutter_get_default_backend ();
+  font_map = clutter_context_get_pango_fontmap ();
+  font_options = clutter_backend_get_font_options (backend);
+  old_flags = 0;
+
+  if (cogl_pango_font_map_get_use_mipmapping (font_map))
+    old_flags |= CLUTTER_FONT_MIPMAPPING;
+
+  hint_style = cairo_font_options_get_hint_style (font_options);
+  if (hint_style != CAIRO_HINT_STYLE_DEFAULT &&
+      hint_style != CAIRO_HINT_STYLE_NONE)
+    old_flags |= CLUTTER_FONT_HINTING;
+
+  if (old_flags == flags)
+    return;
+
+  new_font_options = cairo_font_options_copy (font_options);
+
+  /* Only set the font options that have actually changed so we don't
+     override a detailed setting from the backend */
+  changed_flags = old_flags ^ flags;
+
+  if ((changed_flags & CLUTTER_FONT_MIPMAPPING))
+    {
+      use_mipmapping = (changed_flags & CLUTTER_FONT_MIPMAPPING) != 0;
+
+      cogl_pango_font_map_set_use_mipmapping (font_map, use_mipmapping);
+    }
+
+  if ((changed_flags & CLUTTER_FONT_HINTING))
+    {
+      hint_style = (flags & CLUTTER_FONT_HINTING)
+                 ? CAIRO_HINT_STYLE_FULL
+                 : CAIRO_HINT_STYLE_NONE;
+
+      cairo_font_options_set_hint_style (new_font_options, hint_style);
+    }
+
+  clutter_backend_set_font_options (backend, new_font_options);
+
+  cairo_font_options_destroy (new_font_options);
+
+  /* update the default pango context, if any */
+  if (context->pango_context != NULL)
+    update_pango_context (backend, context->pango_context);
+}
+
+/**
+ * clutter_get_font_flags:
+ *
+ * Gets the current font flags for rendering text. See
+ * clutter_set_font_flags().
+ *
+ * Return value: The font flags
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_backend_get_font_options() and the
+ *   #cairo_font_options_t API.
+ */
+ClutterFontFlags
+clutter_get_font_flags (void)
+{
+  CoglPangoFontMap *font_map = NULL;
+  const cairo_font_options_t *font_options;
+  ClutterFontFlags flags = 0;
+  cairo_hint_style_t hint_style;
+
+  font_map = clutter_context_get_pango_fontmap ();
+  if (cogl_pango_font_map_get_use_mipmapping (font_map))
+    flags |= CLUTTER_FONT_MIPMAPPING;
+
+  font_options =
+    clutter_backend_get_font_options (clutter_get_default_backend ());
+
+  hint_style = cairo_font_options_get_hint_style (font_options);
+  if (hint_style != CAIRO_HINT_STYLE_DEFAULT &&
+      hint_style != CAIRO_HINT_STYLE_NONE)
+    flags |= CLUTTER_FONT_HINTING;
+
+  return flags;
+}
+
+/**
+ * clutter_get_input_device_for_id:
+ * @id_: the unique id for a device
+ *
+ * Retrieves the #ClutterInputDevice from its @id_. This is a convenience
+ * wrapper for clutter_device_manager_get_device() and it is functionally
+ * equivalent to:
+ *
+ * |[
+ *   ClutterDeviceManager *manager;
+ *   ClutterInputDevice *device;
+ *
+ *   manager = clutter_device_manager_get_default ();
+ *   device = clutter_device_manager_get_device (manager, id);
+ * ]|
+ *
+ * Return value: (transfer none): a #ClutterInputDevice, or %NULL
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_device_manager_get_device() instead.
+ */
+ClutterInputDevice *
+clutter_get_input_device_for_id (gint id_)
+{
+  ClutterDeviceManager *manager;
+
+  manager = clutter_device_manager_get_default ();
+  if (manager == NULL)
+    return NULL;
+
+  return clutter_device_manager_get_device (manager, id_);
+}
+
+/**
  * clutter_get_font_map:
  *
  * Retrieves the #PangoFontMap instance used by Clutter.
@@ -2976,7 +3484,7 @@ clutter_get_keyboard_grab (void)
  * Return value: (transfer none): the #PangoFontMap instance. The returned
  *   value is owned by Clutter and it should never be unreferenced.
  *
- *
+ * Since: 1.0
  */
 PangoFontMap *
 clutter_get_font_map (void)
@@ -2999,7 +3507,7 @@ typedef struct _ClutterRepaintFunction
  *
  * Removes the repaint function with @handle_id as its id
  *
- *
+ * Since: 1.0
  */
 void
 clutter_threads_remove_repaint_func (guint handle_id)
@@ -3076,7 +3584,7 @@ clutter_threads_remove_repaint_func (guint handle_id)
  *   can use the returned integer to remove the repaint function by
  *   calling clutter_threads_remove_repaint_func().
  *
- *
+ * Since: 1.0
  */
 guint
 clutter_threads_add_repaint_func (GSourceFunc    func,
@@ -3124,7 +3632,7 @@ clutter_threads_add_repaint_func (GSourceFunc    func,
  *   can use the returned integer to remove the repaint function by
  *   calling clutter_threads_remove_repaint_func().
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_threads_add_repaint_func_full (ClutterRepaintFlags flags,
@@ -3243,7 +3751,7 @@ _clutter_run_repaint_functions (ClutterRepaintFlags flags)
  * Return value: %TRUE if the version of the Clutter library is
  *   greater than (@major, @minor, @micro), and %FALSE otherwise
  *
- *
+ * Since: 1.2
  */
 gboolean
 clutter_check_version (guint major,
@@ -3270,7 +3778,7 @@ clutter_check_version (guint major,
  *
  * Return value: the default text direction
  *
- *
+ * Since: 1.2
  */
 ClutterTextDirection
 clutter_get_default_text_direction (void)
@@ -3417,7 +3925,7 @@ _clutter_context_get_motion_events_enabled (void)
  * Return value: %TRUE if the current Clutter windowing system backend is
  *   the one checked, and %FALSE otherwise
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_check_windowing_backend (const char *backend_type)
diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h
index 9a3764d..b7c8565 100644
--- a/clutter/clutter-main.h
+++ b/clutter/clutter-main.h
@@ -51,7 +51,7 @@ G_BEGIN_DECLS
  *
  * Error conditions returned by clutter_init() and clutter_init_with_args().
  *
- *
+ * Since: 0.2
  */
 typedef enum {
   CLUTTER_INIT_SUCCESS        =  1,
@@ -72,7 +72,7 @@ GQuark clutter_init_error_quark (void);
  * continually animating (and thus able to starve GTK+) than
  * vice-versa.
  *
- *
+ * Since: 0.8
  */
 #define CLUTTER_PRIORITY_REDRAW         (G_PRIORITY_HIGH_IDLE + 50)
 
@@ -123,7 +123,7 @@ guint                   clutter_threads_add_timeout_full        (gint
 guint                   clutter_threads_add_repaint_func        (GSourceFunc    func,
                                                                  gpointer       data,
                                                                  GDestroyNotify notify);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint                   clutter_threads_add_repaint_func_full   (ClutterRepaintFlags flags,
                                                                  GSourceFunc    func,
                                                                  gpointer       data,
@@ -141,6 +141,8 @@ PangoFontMap *          clutter_get_font_map                    (void);
 
 ClutterTextDirection    clutter_get_default_text_direction      (void);
 
+guint                   clutter_get_default_frame_rate          (void);
+
 G_END_DECLS
 
 #endif /* _CLUTTER_MAIN_H__ */
diff --git a/clutter/clutter-master-clock.c b/clutter/clutter-master-clock.c
index d16d55b..104ea0c 100644
--- a/clutter/clutter-master-clock.c
+++ b/clutter/clutter-master-clock.c
@@ -326,12 +326,12 @@ master_clock_next_frame_delay (ClutterMasterClock *master_clock)
       return 0;
     }
 
-  next += (1000000L / _clutter_context_get_frame_rate ());
+  next += (1000000L / clutter_get_default_frame_rate ());
 
   if (next <= now)
     {
       CLUTTER_NOTE (SCHEDULER, "Less than %lu microsecs",
-                    1000000L / (gulong) _clutter_context_get_frame_rate ());
+                    1000000L / (gulong) clutter_get_default_frame_rate ());
 
       return 0;
     }
diff --git a/clutter/clutter-model.c b/clutter/clutter-model.c
index 6a354b8..5ebaefa 100644
--- a/clutter/clutter-model.c
+++ b/clutter/clutter-model.c
@@ -362,7 +362,7 @@ clutter_model_class_init (ClutterModelClass *klass)
    * This property is set to %TRUE if a filter function has been
    * set using clutter_model_set_filter()
    *
-   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("filter-set",
                                 "Filter Set",
@@ -380,7 +380,7 @@ clutter_model_class_init (ClutterModelClass *klass)
    * The data on the row has already been set when the ::row-added signal
    * has been emitted.
    *
-   *
+   * Since: 0.6
    */
   model_signals[ROW_ADDED] =
     g_signal_new ("row-added",
@@ -400,7 +400,7 @@ clutter_model_class_init (ClutterModelClass *klass)
    * The data on the row pointed by the passed iterator is still valid
    * when the ::row-removed signal has been emitted.
    *
-   *
+   * Since: 0.6
    */
   model_signals[ROW_REMOVED] =
     g_signal_new ("row-removed",
@@ -420,7 +420,7 @@ clutter_model_class_init (ClutterModelClass *klass)
    * The data on the row has already been updated when the ::row-changed
    * signal has been emitted.
    *
-   *
+   * Since: 0.6
    */
   model_signals[ROW_CHANGED] =
     g_signal_new ("row-changed",
@@ -437,7 +437,7 @@ clutter_model_class_init (ClutterModelClass *klass)
    * 
    * The ::sort-changed signal is emitted after the model has been sorted
    *
-   *
+   * Since: 0.6
    */
   model_signals[SORT_CHANGED] =
     g_signal_new ("sort-changed",
@@ -453,7 +453,7 @@ clutter_model_class_init (ClutterModelClass *klass)
    *
    * The ::filter-changed signal is emitted when a new filter has been applied
    *
-   *
+   * Since: 0.6
    */
   model_signals[FILTER_CHANGED] =
     g_signal_new ("filter-changed",
@@ -768,7 +768,7 @@ clutter_scriptable_iface_init (ClutterScriptableIface *iface)
  * Force a resort on the @model. This function should only be
  * used by subclasses of #ClutterModel.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_resort (ClutterModel *model)
@@ -798,7 +798,7 @@ clutter_model_resort (ClutterModel *model)
  * Return value: %TRUE if the row should be displayed,
  *   %FALSE otherwise
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_model_filter_row (ClutterModel *model,
@@ -839,7 +839,7 @@ clutter_model_filter_row (ClutterModel *model,
  * Return value: %TRUE if the row should be displayed,
  *   %FALSE otherwise
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_model_filter_iter (ClutterModel     *model,
@@ -939,7 +939,7 @@ _clutter_model_set_column_name (ClutterModel *model,
  * #ClutterModel, and should only be used when contructing a #ClutterModel.
  * It will not work after the initial creation of the #ClutterModel.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_set_types (ClutterModel *model,
@@ -983,7 +983,7 @@ clutter_model_set_types (ClutterModel *model,
  * #ClutterModel, and should only be used when contructing a #ClutterModel.
  * It will not work after the initial creation of the #ClutterModel.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_set_names (ClutterModel        *model,
@@ -1015,7 +1015,7 @@ clutter_model_set_names (ClutterModel        *model,
  *
  * Return value: the number of columns
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_model_get_n_columns (ClutterModel *model)
@@ -1035,7 +1035,7 @@ clutter_model_get_n_columns (ClutterModel *model)
  * Creates and appends a new row to the #ClutterModel, setting the row
  * values for the given @columns upon creation.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_appendv (ClutterModel *model,
@@ -1095,7 +1095,7 @@ static void clutter_model_iter_set_internal_valist (ClutterModelIter *iter,
  *   clutter_model_append (model, 0, 42, 1, "Team #1", -1);
  * </programlisting></informalexample>
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_append (ClutterModel *model,
@@ -1129,7 +1129,7 @@ clutter_model_append (ClutterModel *model,
  * Creates and prepends a new row to the #ClutterModel, setting the row
  * values for the given @columns upon creation.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_prependv (ClutterModel *model,
@@ -1185,7 +1185,7 @@ clutter_model_prependv (ClutterModel *model,
  *   clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
  * </programlisting></informalexample>
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_prepend (ClutterModel *model,
@@ -1228,7 +1228,7 @@ clutter_model_prepend (ClutterModel *model,
  *   clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
  * </programlisting></informalexample>
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_insert (ClutterModel *model,
@@ -1266,7 +1266,7 @@ clutter_model_insert (ClutterModel *model,
  * Inserts data at @row into the #ClutterModel, setting the row
  * values for the given @columns upon creation.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_insertv (ClutterModel *model,
@@ -1317,7 +1317,7 @@ clutter_model_insertv (ClutterModel *model,
  * @value must be convertable to the type of the column. If the row does
  * not exist then it is created.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_insert_value (ClutterModel *model,
@@ -1362,7 +1362,7 @@ clutter_model_insert_value (ClutterModel *model,
  *
  * Removes the row at the given position from the model.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_remove (ClutterModel *model,
@@ -1387,7 +1387,7 @@ clutter_model_remove (ClutterModel *model,
  * Return value: the name of the column. The model holds the returned
  *   string, and it should not be modified or freed
  *
- *
+ * Since: 0.6
  */
 const gchar *
 clutter_model_get_column_name (ClutterModel *model,
@@ -1419,7 +1419,7 @@ clutter_model_get_column_name (ClutterModel *model,
  *
  * Return value: the type of the column.
  *
- *
+ * Since: 0.6
  */
 GType
 clutter_model_get_column_type (ClutterModel *model,
@@ -1457,7 +1457,7 @@ clutter_model_get_column_type (ClutterModel *model,
  *   out of bounds. When done using the iterator object, call g_object_unref()
  *   to deallocate its resources
  *
- *
+ * Since: 0.6
  */
 ClutterModelIter * 
 clutter_model_get_iter_at_row (ClutterModel *model,
@@ -1485,7 +1485,7 @@ clutter_model_get_iter_at_row (ClutterModel *model,
  * Return value: (transfer full): A new #ClutterModelIter.
  *   Call g_object_unref() when done using it
  *
- *
+ * Since: 0.6
  */
 ClutterModelIter *
 clutter_model_get_first_iter (ClutterModel *model)
@@ -1514,7 +1514,7 @@ clutter_model_get_first_iter (ClutterModel *model)
  * Return value: (transfer full): A new #ClutterModelIter.
  *   Call g_object_unref() when done using it
  *
- *
+ * Since: 0.6
  */
 ClutterModelIter *
 clutter_model_get_last_iter (ClutterModel *model)
@@ -1542,7 +1542,7 @@ clutter_model_get_last_iter (ClutterModel *model)
  * Return value: The length of the @model. If there is a filter set, then
  *   the length of the filtered @model is returned.
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_model_get_n_rows (ClutterModel *model)
@@ -1560,7 +1560,7 @@ clutter_model_get_n_rows (ClutterModel *model)
  * Sets the model to sort by @column. If @column is a negative value
  * the sorting column will be unset.
  *
- *
+ * Since: 0.6
  */
 void               
 clutter_model_set_sorting_column (ClutterModel *model,
@@ -1595,7 +1595,7 @@ clutter_model_set_sorting_column (ClutterModel *model,
  *
  * Return value: a column number, or -1 if the model is not sorted
  *
- *
+ * Since: 0.6
  */
 gint
 clutter_model_get_sorting_column (ClutterModel *model)
@@ -1613,7 +1613,7 @@ clutter_model_get_sorting_column (ClutterModel *model)
  *
  * Calls @func for each row in the model. 
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_foreach (ClutterModel            *model,
@@ -1652,7 +1652,7 @@ clutter_model_foreach (ClutterModel            *model,
  *
  * Sorts @model using the given sorting function.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_set_sort (ClutterModel         *model,
@@ -1689,7 +1689,7 @@ clutter_model_set_sort (ClutterModel         *model,
  *
  * Filters the @model using the given filtering function.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_set_filter (ClutterModel           *model,
@@ -1722,7 +1722,7 @@ clutter_model_set_filter (ClutterModel           *model,
  *
  * Return value: %TRUE if a filter is set
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_model_get_filter_set (ClutterModel *model)
@@ -1942,7 +1942,7 @@ clutter_model_iter_class_init (ClutterModelIterClass *klass)
    *
    * A reference to the #ClutterModel that this iter belongs to.
    *
-   *
+   * Since: 0.6
    */
   pspec = g_param_spec_object ("model",
                                "Model",
@@ -1956,7 +1956,7 @@ clutter_model_iter_class_init (ClutterModelIterClass *klass)
    *
    * The row number to which this iter points to.
    *
-   *
+   * Since: 0.6
    */
   pspec = g_param_spec_uint ("row",
                              "Row",
@@ -2063,7 +2063,7 @@ clutter_model_iter_emit_row_changed (ClutterModelIter *iter)
  * See clutter_model_iter_set(); this version takes a va_list for language
  * bindings.
  *
- *
+ * Since: 0.6
  */
 void 
 clutter_model_iter_set_valist (ClutterModelIter *iter,
@@ -2093,7 +2093,7 @@ clutter_model_iter_set_valist (ClutterModelIter *iter,
  * where place_string_here is a gchar* to be filled with the string. If
  * appropriate, the returned values have to be freed or unreferenced.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_iter_get (ClutterModelIter *iter,
@@ -2125,7 +2125,7 @@ clutter_model_iter_get_value_internal (ClutterModelIter *iter,
  * Sets an initializes @value to that at @column. When done with @value, 
  * g_value_unset() needs to be called to free any allocated memory.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_iter_get_value (ClutterModelIter *iter,
@@ -2152,7 +2152,7 @@ clutter_model_iter_get_value (ClutterModelIter *iter,
  * See clutter_model_iter_get(). This version takes a va_list for language
  * bindings.
  *
- *
+ * Since: 0.6
  */
 void 
 clutter_model_iter_get_valist (ClutterModelIter *iter,
@@ -2220,7 +2220,7 @@ clutter_model_iter_get_valist (ClutterModelIter *iter,
  *   clutter_model_iter_set (iter, 0, "foo", -1);
  * </programlisting></informalexample>
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_iter_set (ClutterModelIter *iter,
@@ -2245,7 +2245,7 @@ clutter_model_iter_set (ClutterModelIter *iter,
  * Sets the data in the cell specified by @iter and @column. The type of
  * @value must be convertable to the type of the column.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_model_iter_set_value (ClutterModelIter *iter,
@@ -2267,7 +2267,7 @@ clutter_model_iter_set_value (ClutterModelIter *iter,
  *
  * Return value: #TRUE if @iter is the first iter in the filtered model
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_model_iter_is_first (ClutterModelIter *iter)
@@ -2286,7 +2286,7 @@ clutter_model_iter_is_first (ClutterModelIter *iter)
  *
  * Return value: #TRUE if @iter is the last iter in the filtered model.
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_model_iter_is_last (ClutterModelIter *iter)
@@ -2307,7 +2307,7 @@ clutter_model_iter_is_last (ClutterModelIter *iter)
  * Return value: (transfer none): The passed iterator, updated to point at the next
  *   row in the model.
  *
- *
+ * Since: 0.6
  */
 ClutterModelIter *
 clutter_model_iter_next (ClutterModelIter *iter)
@@ -2328,7 +2328,7 @@ clutter_model_iter_next (ClutterModelIter *iter)
  * Return value: (transfer none): The passed iterator, updated to point at the previous
  *   row in the model.
  *
- *
+ * Since: 0.6
  */
 ClutterModelIter *
 clutter_model_iter_prev (ClutterModelIter *iter)
@@ -2346,7 +2346,7 @@ clutter_model_iter_prev (ClutterModelIter *iter)
  *
  * Return value: (transfer none): a pointer to a #ClutterModel.
  *
- *
+ * Since: 0.6
  */
 ClutterModel *
 clutter_model_iter_get_model (ClutterModelIter *iter)
@@ -2364,7 +2364,7 @@ clutter_model_iter_get_model (ClutterModelIter *iter)
  *
  * Return value: the position of the @iter in the model
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_model_iter_get_row (ClutterModelIter *iter)
@@ -2382,7 +2382,7 @@ clutter_model_iter_get_row (ClutterModelIter *iter)
  *
  * Return value: (transfer full): a copy of the iterator, or %NULL
  *
- *
+ * Since: 0.8
  */
 ClutterModelIter *
 clutter_model_iter_copy (ClutterModelIter *iter)
diff --git a/clutter/clutter-model.h b/clutter/clutter-model.h
index 19cc3f9..a8217ba 100644
--- a/clutter/clutter-model.h
+++ b/clutter/clutter-model.h
@@ -59,7 +59,7 @@ typedef struct _ClutterModelIterPrivate ClutterModelIterPrivate;
  *
  * Return value: If the row should be displayed, return %TRUE
  *
- *
+ * Since: 0.6
  */
 typedef gboolean (*ClutterModelFilterFunc) (ClutterModel     *model,
                                             ClutterModelIter *iter,
@@ -77,7 +77,7 @@ typedef gboolean (*ClutterModelFilterFunc) (ClutterModel     *model,
  * Return value: a positive integer if @a is after @b, a negative integer if
  *   @a is before @b, or 0 if the rows are the same
  *
- *
+ * Since: 0.6
  */
 typedef gint (*ClutterModelSortFunc) (ClutterModel *model,
                                       const GValue *a,
@@ -94,7 +94,7 @@ typedef gint (*ClutterModelSortFunc) (ClutterModel *model,
  *
  * Return value: %TRUE if the iteration should continue, %FALSE otherwise
  *
- *
+ * Since: 0.6
  */
 typedef gboolean (*ClutterModelForeachFunc) (ClutterModel     *model,
                                              ClutterModelIter *iter,
@@ -107,7 +107,7 @@ typedef gboolean (*ClutterModelForeachFunc) (ClutterModel     *model,
  * only private data and should be manipulated using the provided
  * API.
  *
- *
+ * Since: 0.6
  */
 struct _ClutterModel
 {
@@ -141,7 +141,7 @@ struct _ClutterModel
  *
  * Class for #ClutterModel instances.
  *
- *
+ * Since: 0.6
  */
 struct _ClutterModelClass 
 {
@@ -278,7 +278,7 @@ gboolean              clutter_model_filter_iter        (ClutterModel     *model,
  * contains only private data and should be manipulated using the
  * provided API.
  *
- *
+ * Since: 0.6
  */
 struct _ClutterModelIter
 {
@@ -310,7 +310,7 @@ struct _ClutterModelIter
  *
  * Class for #ClutterModelIter instances.
  *
- *
+ * Since: 0.6
  */
 struct _ClutterModelIterClass 
 {
diff --git a/clutter/clutter-offscreen-effect.c b/clutter/clutter-offscreen-effect.c
index 5c4af4a..8d8c852 100644
--- a/clutter/clutter-offscreen-effect.c
+++ b/clutter/clutter-offscreen-effect.c
@@ -139,21 +139,9 @@ clutter_offscreen_effect_real_create_texture (ClutterOffscreenEffect *effect,
                                               gfloat                  width,
                                               gfloat                  height)
 {
-  CoglError *error = NULL;
-  CoglHandle texture = cogl_texture_new_with_size (MAX (width, 1), MAX (height, 1),
-                                                   COGL_TEXTURE_NO_SLICING,
-                                                   COGL_PIXEL_FORMAT_RGBA_8888_PRE);
-
-  if (!cogl_texture_allocate (texture, &error))
-    {
-#if CLUTTER_ENABLE_DEBUG
-      g_warning ("Unable to allocate texture for offscreen effect: %s", error->message);
-#endif /* CLUTTER_ENABLE_DEBUG */
-      cogl_error_free (error);
-      return NULL;
-    }
-
-  return texture;
+  return cogl_texture_new_with_size (MAX (width, 1), MAX (height, 1),
+                                     COGL_TEXTURE_NO_SLICING,
+                                     COGL_PIXEL_FORMAT_RGBA_8888_PRE);
 }
 
 static gboolean
@@ -514,7 +502,7 @@ clutter_offscreen_effect_init (ClutterOffscreenEffect *self)
  *   returned texture is owned by Clutter and it should not be
  *   modified or freed
  *
- *
+ * Since: 1.10
  */
 CoglHandle
 clutter_offscreen_effect_get_texture (ClutterOffscreenEffect *effect)
@@ -539,7 +527,7 @@ clutter_offscreen_effect_get_texture (ClutterOffscreenEffect *effect)
  *   returned material is owned by Clutter and it should not be
  *   modified or freed
  *
- *
+ * Since: 1.4
  */
 CoglMaterial *
 clutter_offscreen_effect_get_target (ClutterOffscreenEffect *effect)
@@ -556,7 +544,7 @@ clutter_offscreen_effect_get_target (ClutterOffscreenEffect *effect)
  *
  * Calls the paint_target() virtual function of the @effect
  *
- *
+ * Since: 1.4
  */
 void
 clutter_offscreen_effect_paint_target (ClutterOffscreenEffect *effect)
@@ -578,7 +566,7 @@ clutter_offscreen_effect_paint_target (ClutterOffscreenEffect *effect)
  *   %COGL_INVALID_HANDLE. The returned handle has its reference
  *   count increased.
  *
- *
+ * Since: 1.4
  */
 CoglHandle
 clutter_offscreen_effect_create_texture (ClutterOffscreenEffect *effect,
@@ -608,6 +596,10 @@ clutter_offscreen_effect_create_texture (ClutterOffscreenEffect *effect,
  *
  * Return value: %TRUE if the offscreen buffer has a valid size,
  *   and %FALSE otherwise
+ *
+ * Since: 1.8
+ *
+ * Deprecated: 1.14: Use clutter_offscreen_effect_get_target_rect() instead
  */
 gboolean
 clutter_offscreen_effect_get_target_size (ClutterOffscreenEffect *effect,
@@ -646,6 +638,8 @@ clutter_offscreen_effect_get_target_size (ClutterOffscreenEffect *effect,
  *
  * Return value: %TRUE if the offscreen buffer has a valid rectangle,
  *   and %FALSE otherwise
+ *
+ * Since: 1.14
  */
 gboolean
 clutter_offscreen_effect_get_target_rect (ClutterOffscreenEffect *effect,
diff --git a/clutter/clutter-offscreen-effect.h b/clutter/clutter-offscreen-effect.h
index bf39cbc..6e70cbe 100644
--- a/clutter/clutter-offscreen-effect.h
+++ b/clutter/clutter-offscreen-effect.h
@@ -52,7 +52,7 @@ typedef struct _ClutterOffscreenEffectClass     ClutterOffscreenEffectClass;
  * The #ClutterOffscreenEffect structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterOffscreenEffect
 {
@@ -69,7 +69,7 @@ struct _ClutterOffscreenEffect
  *
  * The #ClutterOffscreenEffectClass structure contains only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterOffscreenEffectClass
 {
@@ -96,7 +96,7 @@ GType clutter_offscreen_effect_get_type (void) G_GNUC_CONST;
 
 CoglMaterial *  clutter_offscreen_effect_get_target             (ClutterOffscreenEffect *effect);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 CoglHandle      clutter_offscreen_effect_get_texture            (ClutterOffscreenEffect *effect);
 
 void            clutter_offscreen_effect_paint_target           (ClutterOffscreenEffect *effect);
diff --git a/clutter/clutter-page-turn-effect.c b/clutter/clutter-page-turn-effect.c
index c2d98f5..ec42f89 100644
--- a/clutter/clutter-page-turn-effect.c
+++ b/clutter/clutter-page-turn-effect.c
@@ -219,7 +219,7 @@ clutter_page_turn_effect_class_init (ClutterPageTurnEffectClass *klass)
    * The period of the page turn, between 0.0 (no curling) and
    * 1.0 (fully curled)
    *
-   *
+   * Since: 1.4
    */
   pspec = g_param_spec_double ("period",
                                "Period",
@@ -235,7 +235,7 @@ clutter_page_turn_effect_class_init (ClutterPageTurnEffectClass *klass)
    *
    * The angle of the page rotation, in degrees, between 0.0 and 360.0
    *
-   *
+   * Since: 1.4
    */
   pspec = g_param_spec_double ("angle",
                                "Angle",
@@ -251,7 +251,7 @@ clutter_page_turn_effect_class_init (ClutterPageTurnEffectClass *klass)
    *
    * The radius of the page curl, in pixels
    *
-   *
+   * Since: 1.4
    */
   pspec = g_param_spec_float ("radius",
                               "Radius",
@@ -283,7 +283,7 @@ clutter_page_turn_effect_init (ClutterPageTurnEffect *self)
  *
  * Return value: the newly created #ClutterPageTurnEffect
  *
- *
+ * Since: 1.4
  */
 ClutterEffect *
 clutter_page_turn_effect_new (gdouble period,
@@ -308,7 +308,7 @@ clutter_page_turn_effect_new (gdouble period,
  * Sets the period of the page curling, between 0.0 (no curling)
  * and 1.0 (fully curled)
  *
- *
+ * Since: 1.4
  */
 void
 clutter_page_turn_effect_set_period (ClutterPageTurnEffect *effect,
@@ -332,7 +332,7 @@ clutter_page_turn_effect_set_period (ClutterPageTurnEffect *effect,
  *
  * Return value: the period of the page curling
  *
- *
+ * Since: 1.4
  */
 gdouble
 clutter_page_turn_effect_get_period (ClutterPageTurnEffect *effect)
@@ -349,7 +349,7 @@ clutter_page_turn_effect_get_period (ClutterPageTurnEffect *effect)
  *
  * Sets the angle of the page curling, in degrees
  *
- *
+ * Since: 1.4
  */
 void
 clutter_page_turn_effect_set_angle (ClutterPageTurnEffect *effect,
@@ -373,7 +373,7 @@ clutter_page_turn_effect_set_angle (ClutterPageTurnEffect *effect,
  *
  * Return value: the angle of the page curling
  *
- *
+ * Since: 1.4
  */
 gdouble
 clutter_page_turn_effect_get_angle (ClutterPageTurnEffect *effect)
@@ -390,7 +390,7 @@ clutter_page_turn_effect_get_angle (ClutterPageTurnEffect *effect)
  *
  * Sets the radius of the page curling
  *
- *
+ * Since: 1.4
  */
 void
 clutter_page_turn_effect_set_radius (ClutterPageTurnEffect *effect,
@@ -413,7 +413,7 @@ clutter_page_turn_effect_set_radius (ClutterPageTurnEffect *effect,
  *
  * Return value: the radius of the page curling
  *
- *
+ * Since: 1.4
  */
 gfloat
 clutter_page_turn_effect_get_radius (ClutterPageTurnEffect *effect)
diff --git a/clutter/clutter-page-turn-effect.h b/clutter/clutter-page-turn-effect.h
index f09cffb..9a9b2fe 100644
--- a/clutter/clutter-page-turn-effect.h
+++ b/clutter/clutter-page-turn-effect.h
@@ -46,7 +46,7 @@ G_BEGIN_DECLS
  * <structname>ClutterPageTurnEffect</structname> is an opaque structure
  * whose members can only be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterPageTurnEffect           ClutterPageTurnEffect;
 typedef struct _ClutterPageTurnEffectClass      ClutterPageTurnEffectClass;
diff --git a/clutter/clutter-paint-node-private.h b/clutter/clutter-paint-node-private.h
index 35b447f..b91187f 100644
--- a/clutter/clutter-paint-node-private.h
+++ b/clutter/clutter-paint-node-private.h
@@ -149,7 +149,7 @@ ClutterPaintNode *      clutter_paint_node_get_parent                   (Clutter
  * The <structname>ClutterLayerNode</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterLayerNode                ClutterLayerNode;
 typedef struct _ClutterLayerNodeClass           ClutterLayerNodeClass;
diff --git a/clutter/clutter-paint-node.c b/clutter/clutter-paint-node.c
index 981e2b0..00987e6 100644
--- a/clutter/clutter-paint-node.c
+++ b/clutter/clutter-paint-node.c
@@ -52,7 +52,7 @@
  * Set Value Func: clutter_value_set_paint_node
  * Get Value Func: clutter_value_get_paint_node
  *
- *
+ * Since: 1.10
  */
 
 /**
@@ -61,7 +61,7 @@
  * The <structname>ClutterPaintNodeClass</structname> structure contains
  * only private data.
  *
- *
+ * Since: 1.10
  */
 
 #ifdef HAVE_CONFIG_H
@@ -304,7 +304,7 @@ clutter_paint_node_get_type (void)
  *
  * The @node will copy the passed string.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_set_name (ClutterPaintNode *node,
@@ -324,7 +324,7 @@ clutter_paint_node_set_name (ClutterPaintNode *node,
  *
  * Return value: (transfer full): the #ClutterPaintNode
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_paint_node_ref (ClutterPaintNode *node)
@@ -342,7 +342,7 @@ clutter_paint_node_ref (ClutterPaintNode *node)
  *
  * Releases a reference on @node.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_unref (ClutterPaintNode *node)
@@ -366,7 +366,7 @@ clutter_paint_node_unref (ClutterPaintNode *node)
  *
  * This function will acquire a reference on @child.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_add_child (ClutterPaintNode *node,
@@ -408,7 +408,7 @@ clutter_paint_node_add_child (ClutterPaintNode *node,
  * This function will release the reference on @child acquired by
  * using clutter_paint_node_add_child().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_remove_child (ClutterPaintNode *node,
@@ -457,7 +457,7 @@ clutter_paint_node_remove_child (ClutterPaintNode *node,
  * This function will release the reference on @old_child acquired
  * by @node, and will acquire a new reference on @new_child.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_replace_child (ClutterPaintNode *node,
@@ -507,7 +507,7 @@ clutter_paint_node_replace_child (ClutterPaintNode *node,
  * This function releases the reference acquired by @node on its
  * children.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_remove_all (ClutterPaintNode *node)
@@ -536,7 +536,7 @@ clutter_paint_node_remove_all (ClutterPaintNode *node)
  * Return value: (transfer none): a pointer to the first child of
  *   the #ClutterPaintNode.
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_paint_node_get_first_child (ClutterPaintNode *node)
@@ -555,7 +555,7 @@ clutter_paint_node_get_first_child (ClutterPaintNode *node)
  * Return value: (transfer none): a pointer to the previous sibling
  *   of the #ClutterPaintNode.
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_paint_node_get_previous_sibling (ClutterPaintNode *node)
@@ -574,7 +574,7 @@ clutter_paint_node_get_previous_sibling (ClutterPaintNode *node)
  * Return value: (transfer none): a pointer to the next sibling
  *   of a #ClutterPaintNode
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_paint_node_get_next_sibling (ClutterPaintNode *node)
@@ -593,7 +593,7 @@ clutter_paint_node_get_next_sibling (ClutterPaintNode *node)
  * Return value: (transfer none): a pointer to the last child
  *   of a #ClutterPaintNode
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_paint_node_get_last_child (ClutterPaintNode *node)
@@ -612,7 +612,7 @@ clutter_paint_node_get_last_child (ClutterPaintNode *node)
  * Return value: (transfer none): a pointer to the parent of
  *   a #ClutterPaintNode
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_paint_node_get_parent (ClutterPaintNode *node)
@@ -630,7 +630,7 @@ clutter_paint_node_get_parent (ClutterPaintNode *node)
  *
  * Return value: the number of children of a #ClutterPaintNode
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_paint_node_get_n_children (ClutterPaintNode *node)
@@ -651,7 +651,7 @@ clutter_paint_node_get_n_children (ClutterPaintNode *node)
  * to increase the reference count, use clutter_value_take_paint_node()
  * instead. The reference count will be released by g_value_unset().
  *
- *
+ * Since: 1.10
  */
 void
 clutter_value_set_paint_node (GValue   *value,
@@ -687,7 +687,7 @@ clutter_value_set_paint_node (GValue   *value,
  * reference on the passed @node: instead, it will take ownership of the
  * current reference count.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_value_take_paint_node (GValue   *value,
@@ -723,7 +723,7 @@ clutter_value_take_paint_node (GValue   *value,
  * Return value: (transfer none) (type Clutter.PaintNode): a pointer to
  *   a #ClutterPaintNode, or %NULL
  *
- *
+ * Since: 1.10
  */
 gpointer
 clutter_value_get_paint_node (const GValue *value)
@@ -745,7 +745,7 @@ clutter_value_get_paint_node (const GValue *value)
  *   to the #ClutterPaintNode, with its reference count increased,
  *   or %NULL
  *
- *
+ * Since: 1.10
  */
 gpointer
 clutter_value_dup_paint_node (const GValue *value)
@@ -840,7 +840,7 @@ clutter_paint_node_maybe_init_operations (ClutterPaintNode *node)
  * Adds a rectangle region to the @node, as described by the
  * passed @rect.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_add_rectangle (ClutterPaintNode      *node,
@@ -868,7 +868,7 @@ clutter_paint_node_add_rectangle (ClutterPaintNode      *node,
  *
  * Adds a rectangle region to the @node, with texture coordinates.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_add_texture_rectangle (ClutterPaintNode      *node,
@@ -899,7 +899,7 @@ clutter_paint_node_add_texture_rectangle (ClutterPaintNode      *node,
  * This function acquires a reference on the passed @path, so it
  * is safe to call cogl_object_unref() when it returns.
  *
- *
+ * Since: 1.10
  * Stability: unstable
  */
 void
@@ -927,7 +927,7 @@ clutter_paint_node_add_path (ClutterPaintNode *node,
  * This function acquires a reference on @primitive, so it is safe
  * to call cogl_object_unref() when it returns.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_node_add_primitive (ClutterPaintNode *node,
diff --git a/clutter/clutter-paint-node.h b/clutter/clutter-paint-node.h
index 9c2de7c..534b39d 100644
--- a/clutter/clutter-paint-node.h
+++ b/clutter/clutter-paint-node.h
@@ -41,25 +41,25 @@ G_BEGIN_DECLS
 typedef struct _ClutterPaintNodePrivate ClutterPaintNodePrivate;
 typedef struct _ClutterPaintNodeClass   ClutterPaintNodeClass;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_paint_node_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterPaintNode *      clutter_paint_node_ref                          (ClutterPaintNode      *node);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_unref                        (ClutterPaintNode      *node);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_set_name                     (ClutterPaintNode      *node,
                                                                          const char            *name);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_add_child                    (ClutterPaintNode      *node,
                                                                          ClutterPaintNode      *child);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_add_rectangle                (ClutterPaintNode      *node,
                                                                          const ClutterActorBox *rect);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_add_texture_rectangle        (ClutterPaintNode      *node,
                                                                          const ClutterActorBox *rect,
                                                                          float                  x_1,
@@ -67,9 +67,10 @@ void                    clutter_paint_node_add_texture_rectangle        (Clutter
                                                                          float                  x_2,
                                                                          float                  y_2);
 #if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_add_path                     (ClutterPaintNode      *node,
                                                                          CoglPath              *path);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_paint_node_add_primitive                (ClutterPaintNode      *node,
                                                                          CoglPrimitive         *primitive);
 #endif /* COGL_ENABLE_EXPERIMENTAL_API && CLUTTER_ENABLE_EXPERIMENTAL_API */
@@ -81,19 +82,19 @@ void                    clutter_paint_node_add_primitive                (Clutter
  * Evaluates to %TRUE if the @value has been initialized to hold
  * a #ClutterPaintNode.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_VALUE_HOLDS_PAINT_NODE(value)   (G_VALUE_HOLDS (value, CLUTTER_TYPE_PAINT_NODE))
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_value_set_paint_node                    (GValue                *value,
                                                                          gpointer               node);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_value_take_paint_node                   (GValue                *value,
                                                                          gpointer               node);
-
+CLUTTER_AVAILABLE_IN_1_10
 gpointer                clutter_value_get_paint_node                    (const GValue          *value);
-
+CLUTTER_AVAILABLE_IN_1_10
 gpointer                clutter_value_dup_paint_node                    (const GValue          *value);
 
 G_END_DECLS
diff --git a/clutter/clutter-paint-nodes.c b/clutter/clutter-paint-nodes.c
index b72b0ca..506e459 100644
--- a/clutter/clutter-paint-nodes.c
+++ b/clutter/clutter-paint-nodes.c
@@ -345,7 +345,7 @@ struct _ClutterPipelineNode
  * The <structname>ClutterPipelineNodeClass</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterPipelineNodeClass
 {
@@ -507,7 +507,7 @@ clutter_pipeline_node_init (ClutterPipelineNode *self)
  * Return value: (transfer full): the newly created #ClutterPaintNode.
  *   Use clutter_paint_node_unref() when done.
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_pipeline_node_new (CoglPipeline *pipeline)
@@ -539,7 +539,7 @@ struct _ClutterColorNode
  * The <structname>ClutterColorNodeClass</structname> structure is an
  * opaque type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterColorNodeClass
 {
@@ -573,7 +573,7 @@ clutter_color_node_init (ClutterColorNode *cnode)
  * Return value: (transfer full): the newly created #ClutterPaintNode. Use
  *   clutter_paint_node_unref() when done
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_color_node_new (const ClutterColor *color)
@@ -614,7 +614,7 @@ struct _ClutterTextureNode
  * The <structname>ClutterTextureNodeClass</structname> structure is an
  * opaque type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTextureNodeClass
 {
@@ -670,7 +670,7 @@ clutter_scaling_filter_to_cogl_pipeline_filter (ClutterScalingFilter filter)
  * Return value: (transfer full): the newly created #ClutterPaintNode.
  *   Use clutter_paint_node_unref() when done
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_texture_node_new (CoglTexture          *texture,
@@ -721,7 +721,7 @@ struct _ClutterTextNode
  * The <structname>ClutterTextNodeClass</structname> structure is an opaque
  * type whose contents cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTextNodeClass
 {
@@ -880,7 +880,7 @@ clutter_text_node_init (ClutterTextNode *self)
  * Return value: (transfer full): the newly created #ClutterPaintNode.
  *   Use clutter_paint_node_unref() when done
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_text_node_new (PangoLayout        *layout,
@@ -921,7 +921,7 @@ struct _ClutterClipNode
  * The <structname>ClutterClipNodeClass</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterClipNodeClass
 {
@@ -1028,7 +1028,7 @@ clutter_clip_node_init (ClutterClipNode *self)
  * Return value: (transfer full): the newly created #ClutterPaintNode.
  *   Use clutter_paint_node_unref() when done.
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 clutter_clip_node_new (void)
@@ -1213,7 +1213,7 @@ clutter_layer_node_init (ClutterLayerNode *self)
  * Return value: (transfer full): the newly created #ClutterLayerNode.
  *   Use clutter_paint_node_unref() when done.
  *
- *
+ * Since: 1.10
  */
 ClutterPaintNode *
 _clutter_layer_node_new (const CoglMatrix        *projection,
diff --git a/clutter/clutter-paint-nodes.h b/clutter/clutter-paint-nodes.h
index 79e493f..bd854e8 100644
--- a/clutter/clutter-paint-nodes.h
+++ b/clutter/clutter-paint-nodes.h
@@ -44,15 +44,15 @@ G_BEGIN_DECLS
  * The <structname>ClutterTextNode</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterColorNode                ClutterColorNode;
 typedef struct _ClutterColorNodeClass           ClutterColorNodeClass;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_color_node_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterPaintNode *      clutter_color_node_new          (const ClutterColor    *color);
 
 #define CLUTTER_TYPE_TEXTURE_NODE               (clutter_texture_node_get_type ())
@@ -65,15 +65,15 @@ ClutterPaintNode *      clutter_color_node_new          (const ClutterColor    *
  * The <structname>ClutterTextNode</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterTextureNode              ClutterTextureNode;
 typedef struct _ClutterTextureNodeClass         ClutterTextureNodeClass;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_texture_node_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterPaintNode *      clutter_texture_node_new        (CoglTexture           *texture,
                                                          const ClutterColor    *color,
                                                          ClutterScalingFilter   min_filter,
@@ -89,15 +89,15 @@ ClutterPaintNode *      clutter_texture_node_new        (CoglTexture           *
  * The <structname>ClutterTextNode</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterClipNode                 ClutterClipNode;
 typedef struct _ClutterClipNodeClass            ClutterClipNodeClass;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_clip_node_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterPaintNode *      clutter_clip_node_new           (void);
 
 #define CLUTTER_TYPE_PIPELINE_NODE              (clutter_pipeline_node_get_type ())
@@ -110,15 +110,16 @@ ClutterPaintNode *      clutter_clip_node_new           (void);
  * The <structname>ClutterTextNode</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterPipelineNode             ClutterPipelineNode;
 typedef struct _ClutterPipelineNodeClass        ClutterPipelineNodeClass;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_pipeline_node_get_type (void) G_GNUC_CONST;
 
 #if defined(COGL_ENABLE_EXPERIMENTAL_API) && defined(CLUTTER_ENABLE_EXPERIMENTAL_API)
+CLUTTER_AVAILABLE_IN_1_10
 ClutterPaintNode *      clutter_pipeline_node_new       (CoglPipeline          *pipeline);
 #endif /* COGL_ENABLE_EXPERIMENTAL_API && CLUTTER_ENABLE_EXPERIMENTAL_API */
 
@@ -132,15 +133,15 @@ ClutterPaintNode *      clutter_pipeline_node_new       (CoglPipeline          *
  * The <structname>ClutterTextNode</structname> structure is an opaque
  * type whose members cannot be directly accessed.
  *
- *
+ * Since: 1.10
  */
 typedef struct _ClutterTextNode                 ClutterTextNode;
 typedef struct _ClutterTextNodeClass            ClutterTextNodeClass;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_text_node_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterPaintNode *      clutter_text_node_new           (PangoLayout           *layout,
                                                          const ClutterColor    *color);
 
diff --git a/clutter/clutter-paint-volume.c b/clutter/clutter-paint-volume.c
index 48e1c5a..9eeee1e 100644
--- a/clutter/clutter-paint-volume.c
+++ b/clutter/clutter-paint-volume.c
@@ -51,7 +51,7 @@ G_DEFINE_BOXED_TYPE (ClutterPaintVolume, clutter_paint_volume,
  * Return value: the newly allocated #ClutterPaintVolume. Use
  *   clutter_paint_volume_free() to free the resources it uses
  *
- *
+ * Since: 1.6
  */
 ClutterPaintVolume *
 _clutter_paint_volume_new (ClutterActor *actor)
@@ -125,7 +125,7 @@ _clutter_paint_volume_copy_static (const ClutterPaintVolume *src_pv,
  *
  * Return value: a newly allocated copy of a #ClutterPaintVolume
  *
- *
+ * Since: 1.6
  */
 ClutterPaintVolume *
 clutter_paint_volume_copy (const ClutterPaintVolume *pv)
@@ -155,7 +155,7 @@ _clutter_paint_volume_set_from_volume (ClutterPaintVolume       *pv,
  *
  * Frees the resources allocated by @pv
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_free (ClutterPaintVolume *pv)
@@ -180,7 +180,7 @@ clutter_paint_volume_free (ClutterPaintVolume *pv)
  *
  * The default is origin is assumed at: (0, 0, 0)
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_set_origin (ClutterPaintVolume  *pv,
@@ -215,7 +215,7 @@ clutter_paint_volume_set_origin (ClutterPaintVolume  *pv,
  *
  * Retrieves the origin of the #ClutterPaintVolume.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_get_origin (const ClutterPaintVolume *pv,
@@ -246,7 +246,7 @@ _clutter_paint_volume_update_is_empty (ClutterPaintVolume *pv)
  * Sets the width of the paint volume. The width is measured along
  * the x axis in the actor coordinates that @pv is associated with.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_set_width (ClutterPaintVolume *pv,
@@ -307,7 +307,7 @@ clutter_paint_volume_set_width (ClutterPaintVolume *pv,
 
  * Return value: the width, in units of @pv's local coordinate system.
  *
- *
+ * Since: 1.6
  */
 gfloat
 clutter_paint_volume_get_width (const ClutterPaintVolume *pv)
@@ -338,7 +338,7 @@ clutter_paint_volume_get_width (const ClutterPaintVolume *pv)
  * Sets the height of the paint volume. The height is measured along
  * the y axis in the actor coordinates that @pv is associated with.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_set_height (ClutterPaintVolume *pv,
@@ -398,7 +398,7 @@ clutter_paint_volume_set_height (ClutterPaintVolume *pv,
  *
  * Return value: the height, in units of @pv's local coordinate system.
  *
- *
+ * Since: 1.6
  */
 gfloat
 clutter_paint_volume_get_height (const ClutterPaintVolume *pv)
@@ -429,7 +429,7 @@ clutter_paint_volume_get_height (const ClutterPaintVolume *pv)
  * Sets the depth of the paint volume. The depth is measured along
  * the z axis in the actor coordinates that @pv is associated with.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_set_depth (ClutterPaintVolume *pv,
@@ -490,7 +490,7 @@ clutter_paint_volume_set_depth (ClutterPaintVolume *pv,
  *
  * Return value: the depth, in units of @pv's local coordinate system.
  *
- *
+ * Since: 1.6
  */
 gfloat
 clutter_paint_volume_get_depth (const ClutterPaintVolume *pv)
@@ -524,7 +524,7 @@ clutter_paint_volume_get_depth (const ClutterPaintVolume *pv)
  * <note>There are no guarantees about how precisely the two volumes
  * will be encompassed.</note>
  *
- *
+ * Since: 1.6
  */
 void
 clutter_paint_volume_union (ClutterPaintVolume *pv,
@@ -650,7 +650,7 @@ done:
  * This function is similar to clutter_paint_volume_union(), but it is
  * specific for 2D regions.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_paint_volume_union_box (ClutterPaintVolume    *pv,
@@ -747,7 +747,7 @@ _clutter_paint_volume_complete (ClutterPaintVolume *pv)
  * integer pixel values, if you need them to be clamped you can use
  * clutter_actor_box_clamp_to_pixel()</note>
  *
- *
+ * Since: 1.6
  */
 void
 _clutter_paint_volume_get_bounding_box (ClutterPaintVolume *pv,
@@ -1041,7 +1041,7 @@ _clutter_actor_set_default_paint_volume (ClutterActor       *self,
  * Return value: %TRUE if the paint volume was successfully set, and %FALSE
  *   otherwise
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_paint_volume_set_from_allocation (ClutterPaintVolume *pv,
diff --git a/clutter/clutter-pan-action.c b/clutter/clutter-pan-action.c
index 6c4ced5..53a32d3 100644
--- a/clutter/clutter-pan-action.c
+++ b/clutter/clutter-pan-action.c
@@ -49,6 +49,8 @@
  *
  * will automatically result in the actor children to be moved
  * when dragging.
+ *
+ * Since: 1.12
  */
 
 #ifdef HAVE_CONFIG_H
@@ -438,6 +440,8 @@ clutter_pan_action_class_init (ClutterPanActionClass *klass)
    * ClutterPanAction:pan-axis:
    *
    * Constraints the panning action to the specified axis
+   *
+   * Since: 1.12
    */
   pan_props[PROP_PAN_AXIS] =
     g_param_spec_enum ("pan-axis",
@@ -451,6 +455,8 @@ clutter_pan_action_class_init (ClutterPanActionClass *klass)
    * ClutterPanAction:interpolate:
    *
    * Whether interpolated events emission is enabled.
+   *
+   * Since: 1.12
    */
   pan_props[PROP_INTERPOLATE] =
     g_param_spec_boolean ("interpolate",
@@ -466,6 +472,8 @@ clutter_pan_action_class_init (ClutterPanActionClass *klass)
    *
    * #ClutterPanAction will emit interpolated ::pan events with decreasing
    * scroll deltas, using the rate specified by this property.
+   *
+   * Since: 1.12
    */
   pan_props[PROP_DECELERATION] =
     g_param_spec_double ("deceleration",
@@ -482,6 +490,8 @@ clutter_pan_action_class_init (ClutterPanActionClass *klass)
    * The kinetic momentum measured at the time of releasing the pointer will
    * be multiplied by the factor specified by this property before being used
    * to generate interpolated ::pan events.
+   *
+   * Since: 1.12
    */
   pan_props[PROP_ACCELERATION_FACTOR] =
     g_param_spec_double ("acceleration-factor",
@@ -511,6 +521,8 @@ clutter_pan_action_class_init (ClutterPanActionClass *klass)
    *
    * Return value: %TRUE if the pan should continue, and %FALSE if
    *   the pan should be cancelled.
+   *
+   * Since: 1.12
    */
   pan_signals[PAN] =
     g_signal_new (I_("pan"),
@@ -530,6 +542,8 @@ clutter_pan_action_class_init (ClutterPanActionClass *klass)
    *
    * The ::pan-stopped signal is emitted at the end of the interpolation
    * phase of the pan action, only when :interpolate is set to %TRUE.
+   *
+   * Since: 1.12
    */
   pan_signals[PAN_STOPPED] =
     g_signal_new (I_("pan-stopped"),
@@ -559,6 +573,8 @@ clutter_pan_action_init (ClutterPanAction *self)
  * Creates a new #ClutterPanAction instance
  *
  * Return value: the newly created #ClutterPanAction
+ *
+ * Since: 1.12
  */
 ClutterAction *
 clutter_pan_action_new (void)
@@ -572,6 +588,8 @@ clutter_pan_action_new (void)
  * @axis: the axis to constraint the panning to
  *
  * Restricts the panning action to a specific axis
+ *
+ * Since: 1.12
  */
 void
 clutter_pan_action_set_pan_axis (ClutterPanAction *self,
@@ -600,6 +618,8 @@ clutter_pan_action_set_pan_axis (ClutterPanAction *self,
  * Retrieves the axis constraint set by clutter_pan_action_set_pan_axis()
  *
  * Return value: the axis constraint
+ *
+ * Since: 1.12
  */
 ClutterPanAxis
 clutter_pan_action_get_pan_axis (ClutterPanAction *self)
@@ -617,6 +637,8 @@ clutter_pan_action_get_pan_axis (ClutterPanAction *self)
  *
  * Sets whether the action should emit interpolated ::pan events
  * after the drag has ended, to emulate the gesture kinetic inertia.
+ *
+ * Since: 1.12
  */
 void
 clutter_pan_action_set_interpolate (ClutterPanAction *self,
@@ -647,6 +669,8 @@ clutter_pan_action_set_interpolate (ClutterPanAction *self,
  * kinetic inertia.
  *
  * Return value: %TRUE if interpolated events emission is active.
+ *
+ * Since: 1.12
  */
 gboolean
 clutter_pan_action_get_interpolate (ClutterPanAction *self)
@@ -665,6 +689,8 @@ clutter_pan_action_get_interpolate (ClutterPanAction *self)
  * Sets the deceleration rate of the interpolated ::pan events generated
  * after a pan gesture. This is approximately the value that the momentum
  * at the time of releasing the pointer is divided by every 60th of a second.
+ *
+ * Since: 1.12
  */
 void
 clutter_pan_action_set_deceleration (ClutterPanAction *self,
@@ -685,6 +711,8 @@ clutter_pan_action_set_deceleration (ClutterPanAction *self,
  * Retrieves the deceleration rate of interpolated ::pan events.
  *
  * Return value: The deceleration rate of the interpolated events.
+ *
+ * Since: 1.12
  */
 gdouble
 clutter_pan_action_get_deceleration (ClutterPanAction *self)
@@ -700,6 +728,8 @@ clutter_pan_action_get_deceleration (ClutterPanAction *self)
  *
  * Factor applied to the momentum velocity at the time of releasing the
  * pointer when generating interpolated ::pan events.
+ *
+ * Since: 1.12
  */
 void
 clutter_pan_action_set_acceleration_factor (ClutterPanAction *self,
@@ -719,6 +749,8 @@ clutter_pan_action_set_acceleration_factor (ClutterPanAction *self,
  * Retrieves the initial acceleration factor for interpolated ::pan events.
  *
  * Return value: The initial acceleration factor for interpolated events.
+ *
+ * Since: 1.12
  */
 gdouble
 clutter_pan_action_get_acceleration_factor (ClutterPanAction *self)
@@ -737,6 +769,8 @@ clutter_pan_action_get_acceleration_factor (ClutterPanAction *self)
  *
  * Retrieves the coordinates, in stage space, of the latest interpolated
  * event, analogous to clutter_gesture_action_get_motion_coords().
+ *
+ * Since: 1.12
  */
 void
 clutter_pan_action_get_interpolated_coords (ClutterPanAction *self,
@@ -768,6 +802,8 @@ clutter_pan_action_get_interpolated_coords (ClutterPanAction *self,
  * event, analogous to clutter_gesture_action_get_motion_delta().
  *
  * Return value: the distance since the latest interpolated event
+ *
+ * Since: 1.12
  */
 gfloat
 clutter_pan_action_get_interpolated_delta (ClutterPanAction *self,
@@ -805,6 +841,8 @@ clutter_pan_action_get_interpolated_delta (ClutterPanAction *self,
  * will be equivalent to those returned by
  * clutter_pan_action_get_interpolated_delta(). This is a convenience
  * method designed to be used in replacement "pan" signal handlers.
+ *
+ * Since: 1.14
  */
 gfloat
 clutter_pan_action_get_motion_delta (ClutterPanAction *self,
@@ -854,6 +892,8 @@ clutter_pan_action_get_motion_delta (ClutterPanAction *self,
  * will be equivalent to those returned by
  * clutter_pan_action_get_interpolated_coords(). This is a convenience
  * method designed to be used in replacement "pan" signal handlers.
+ *
+ * Since: 1.14
  */
 void
 clutter_pan_action_get_motion_coords (ClutterPanAction *self,
diff --git a/clutter/clutter-pan-action.h b/clutter/clutter-pan-action.h
index 781befb..77d6b33 100644
--- a/clutter/clutter-pan-action.h
+++ b/clutter/clutter-pan-action.h
@@ -57,6 +57,8 @@ typedef struct _ClutterPanActionClass         ClutterPanActionClass;
  *
  * The <structname>ClutterPanAction</structname> structure contains
  * only private data and should be accessed using the provided API
+ *
+ * Since: 1.12
  */
 struct _ClutterPanAction
 {
@@ -73,6 +75,8 @@ struct _ClutterPanAction
  *
  * The <structname>ClutterPanActionClass</structname> structure contains
  * only private data.
+ *
+ * Since: 1.12
  */
 struct _ClutterPanActionClass
 {
@@ -95,36 +99,49 @@ struct _ClutterPanActionClass
   void (* _clutter_pan_action6) (void);
 };
 
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_pan_action_get_type (void) G_GNUC_CONST;
 
+CLUTTER_AVAILABLE_IN_1_12
 ClutterAction * clutter_pan_action_new                      (void);
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_pan_action_set_pan_axis             (ClutterPanAction *self,
                                                              ClutterPanAxis    axis);
+CLUTTER_AVAILABLE_IN_1_12
 ClutterPanAxis clutter_pan_action_get_pan_axis              (ClutterPanAction *self);
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_pan_action_set_interpolate          (ClutterPanAction *self,
                                                              gboolean          should_interpolate);
+CLUTTER_AVAILABLE_IN_1_12
 gboolean        clutter_pan_action_get_interpolate          (ClutterPanAction *self);
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_pan_action_set_deceleration         (ClutterPanAction *self,
                                                              gdouble           rate);
+CLUTTER_AVAILABLE_IN_1_12
 gdouble         clutter_pan_action_get_deceleration         (ClutterPanAction *self);
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_pan_action_set_acceleration_factor  (ClutterPanAction *self,
                                                              gdouble           factor);
+CLUTTER_AVAILABLE_IN_1_12
 gdouble         clutter_pan_action_get_acceleration_factor  (ClutterPanAction *self);
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_pan_action_get_interpolated_coords  (ClutterPanAction *self,
                                                              gfloat           *interpolated_x,
                                                              gfloat           *interpolated_y);
+CLUTTER_AVAILABLE_IN_1_12
 gfloat          clutter_pan_action_get_interpolated_delta   (ClutterPanAction *self,
                                                              gfloat           *delta_x,
                                                              gfloat           *delta_y);
+CLUTTER_AVAILABLE_IN_1_14
 gfloat          clutter_pan_action_get_motion_delta         (ClutterPanAction *self,
                                                              guint             point,
                                                              gfloat           *delta_x,
                                                              gfloat           *delta_y);
+CLUTTER_AVAILABLE_IN_1_14
 void            clutter_pan_action_get_motion_coords        (ClutterPanAction *self,
                                                              guint             point,
                                                              gfloat           *motion_x,
                                                              gfloat           *motion_y);
-
 G_END_DECLS
 
 #endif /* __CLUTTER_PAN_ACTION_H__ */
diff --git a/clutter/clutter-path-constraint.c b/clutter/clutter-path-constraint.c
index 13ce670..20b6789 100644
--- a/clutter/clutter-path-constraint.c
+++ b/clutter/clutter-path-constraint.c
@@ -97,7 +97,7 @@ clutter_path_constraint_update_allocation (ClutterConstraint *constraint,
 {
   ClutterPathConstraint *self = CLUTTER_PATH_CONSTRAINT (constraint);
   gfloat width, height;
-  ClutterPoint position;
+  ClutterKnot position;
   guint knot_id;
 
   if (self->path == NULL)
@@ -205,7 +205,7 @@ clutter_path_constraint_class_init (ClutterPathConstraintClass *klass)
    *
    * The #ClutterPath used to constrain the position of an actor.
    *
-   *
+   * Since: 1.6
    */
   path_properties[PROP_PATH] =
     g_param_spec_object ("path",
@@ -219,7 +219,7 @@ clutter_path_constraint_class_init (ClutterPathConstraintClass *klass)
    *
    * The offset along the #ClutterPathConstraint:path, between -1.0 and 2.0.
    *
-   *
+   * Since: 1.6
    */
   path_properties[PROP_OFFSET] =
     g_param_spec_float ("offset",
@@ -250,7 +250,7 @@ clutter_path_constraint_class_init (ClutterPathConstraintClass *klass)
    * #ClutterPathConstraint:offset value results in the actor
    * passing a #ClutterPathNode
    *
-   *
+   * Since: 1.6
    */
   path_signals[NODE_REACHED] =
     g_signal_new (I_("node-reached"),
@@ -280,7 +280,7 @@ clutter_path_constraint_init (ClutterPathConstraint *self)
  *
  * Return value: the newly created #ClutterPathConstraint
  *
- *
+ * Since: 1.6
  */
 ClutterConstraint *
 clutter_path_constraint_new (ClutterPath *path,
@@ -304,7 +304,7 @@ clutter_path_constraint_new (ClutterPath *path,
  * The @constraint will take ownership of the #ClutterPath passed to this
  * function.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_path_constraint_set_path (ClutterPathConstraint *constraint,
@@ -341,7 +341,7 @@ clutter_path_constraint_set_path (ClutterPathConstraint *constraint,
  *   #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned
  *   by the constraint and it should not be unreferenced
  *
- *
+ * Since: 1.6
  */
 ClutterPath *
 clutter_path_constraint_get_path (ClutterPathConstraint *constraint)
@@ -358,7 +358,7 @@ clutter_path_constraint_get_path (ClutterPathConstraint *constraint)
  *
  * Sets the offset along the #ClutterPath used by @constraint.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_path_constraint_set_offset (ClutterPathConstraint *constraint,
@@ -385,7 +385,7 @@ clutter_path_constraint_set_offset (ClutterPathConstraint *constraint,
  *
  * Return value: the offset
  *
- *
+ * Since: 1.6
  */
 gfloat
 clutter_path_constraint_get_offset (ClutterPathConstraint *constraint)
diff --git a/clutter/clutter-path-constraint.h b/clutter/clutter-path-constraint.h
index 3a20c0d..e65555e 100644
--- a/clutter/clutter-path-constraint.h
+++ b/clutter/clutter-path-constraint.h
@@ -44,7 +44,7 @@ G_BEGIN_DECLS
  * <structname>ClutterPathConstraint</structname> is an opaque structure
  * whose members cannot be directly accessed
  *
- *
+ * Since: 1.6
  */
 typedef struct _ClutterPathConstraint           ClutterPathConstraint;
 typedef struct _ClutterPathConstraintClass      ClutterPathConstraintClass;
diff --git a/clutter/clutter-path.c b/clutter/clutter-path.c
index 8d09396..799c2e5 100644
--- a/clutter/clutter-path.c
+++ b/clutter/clutter-path.c
@@ -6,7 +6,6 @@
  * Authored By Matthew Allum  <mallum openedhand com>
  *
  * Copyright (C) 2008 Intel Corporation
- * Copyright (C) 2013 Erick Pérez Castellanos <erick red gmail com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -270,7 +269,7 @@ clutter_path_finalize (GObject *object)
  *
  * Return value: the newly created #ClutterPath
  *
- *
+ * Since: 1.0
  */
 ClutterPath *
 clutter_path_new (void)
@@ -293,7 +292,7 @@ clutter_path_new (void)
  *
  * Return value: the newly created #ClutterPath
  *
- *
+ * Since: 1.0
  */
 ClutterPath *
 clutter_path_new_with_description (const gchar *desc)
@@ -309,7 +308,7 @@ clutter_path_new_with_description (const gchar *desc)
  *
  * Removes all nodes from the path.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_clear (ClutterPath *path)
@@ -343,15 +342,7 @@ clutter_path_add_node_full (ClutterPath         *path,
   priv->nodes_dirty = TRUE;
 }
 
-/*
- * clutter_path_add_node_helper:
- * @path: A #ClutterPath
- * @type: The node type
- * @num_coords: The number of coords passed
- * @...: The value of each coordinate, a float value, single precision
- *
- * Helper function to make the rest of the add_* functions shorter
- */
+/* Helper function to make the rest of teh add_* functions shorter */
 static void
 clutter_path_add_node_helper (ClutterPath         *path,
                               ClutterPathNodeType  type,
@@ -370,8 +361,8 @@ clutter_path_add_node_helper (ClutterPath         *path,
 
   for (i = 0; i < num_coords; i++)
     {
-      node->k.points[i].x = va_arg (ap, double);
-      node->k.points[i].y = va_arg (ap, double);
+      node->k.points[i].x = va_arg (ap, gint);
+      node->k.points[i].y = va_arg (ap, gint);
     }
 
   va_end (ap);
@@ -389,12 +380,12 @@ clutter_path_add_node_helper (ClutterPath         *path,
  * used as the first node in a path. It can also be used in the middle
  * of the path to cause the actor to jump to the new coordinate.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_move_to (ClutterPath *path,
-                          gfloat       x,
-                          gfloat       y)
+                          gint         x,
+                          gint         y)
 {
   g_return_if_fail (CLUTTER_IS_PATH (path));
 
@@ -410,12 +401,12 @@ clutter_path_add_move_to (ClutterPath *path,
  * Same as clutter_path_add_move_to() except the coordinates are
  * relative to the previous node.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_rel_move_to (ClutterPath *path,
-                              gfloat       x,
-                              gfloat       y)
+                              gint         x,
+                              gint         y)
 {
   g_return_if_fail (CLUTTER_IS_PATH (path));
 
@@ -431,12 +422,12 @@ clutter_path_add_rel_move_to (ClutterPath *path,
  * Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
  * actor to move to the new coordinates in a straight line.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_line_to (ClutterPath *path,
-                          gfloat       x,
-                          gfloat       y)
+                          gint         x,
+                          gint         y)
 {
   g_return_if_fail (CLUTTER_IS_PATH (path));
 
@@ -452,12 +443,12 @@ clutter_path_add_line_to (ClutterPath *path,
  * Same as clutter_path_add_line_to() except the coordinates are
  * relative to the previous node.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_rel_line_to (ClutterPath *path,
-                              gfloat       x,
-                              gfloat       y)
+                              gint         x,
+                              gint         y)
 {
   g_return_if_fail (CLUTTER_IS_PATH (path));
 
@@ -478,16 +469,16 @@ clutter_path_add_rel_line_to (ClutterPath *path,
  * the actor to follow a bezier from the last node to (@x_3, @y_3) using
  * (@x_1, @y_1) and (@x_2,@y_2) as control points.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_curve_to (ClutterPath *path,
-                           gfloat       x_1,
-                           gfloat       y_1,
-                           gfloat       x_2,
-                           gfloat       y_2,
-                           gfloat       x_3,
-                           gfloat       y_3)
+                           gint         x_1,
+                           gint         y_1,
+                           gint         x_2,
+                           gint         y_2,
+                           gint         x_3,
+                           gint         y_3)
 {
   g_return_if_fail (CLUTTER_IS_PATH (path));
 
@@ -510,16 +501,16 @@ clutter_path_add_curve_to (ClutterPath *path,
  * Same as clutter_path_add_curve_to() except the coordinates are
  * relative to the previous node.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_rel_curve_to (ClutterPath *path,
-                               gfloat       x_1,
-                               gfloat       y_1,
-                               gfloat       x_2,
-                               gfloat       y_2,
-                               gfloat       x_3,
-                               gfloat       y_3)
+                               gint         x_1,
+                               gint         y_1,
+                               gint         x_2,
+                               gint         y_2,
+                               gint         x_3,
+                               gint         y_3)
 {
   g_return_if_fail (CLUTTER_IS_PATH (path));
 
@@ -537,7 +528,7 @@ clutter_path_add_rel_curve_to (ClutterPath *path,
  * straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
  * type node.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_close (ClutterPath *path)
@@ -550,10 +541,9 @@ clutter_path_add_close (ClutterPath *path)
 static gboolean
 clutter_path_parse_number (const gchar **pin,
                            gboolean      allow_comma,
-                           gfloat       *ret)
+                           gint         *ret)
 {
   gint val = 0;
-  gint fract = 0;
   gboolean negative = FALSE;
   gint digit_count = 0;
   const gchar *p = *pin;
@@ -598,7 +588,6 @@ clutter_path_parse_number (const gchar **pin,
       digit_count = 0;
       while (clutter_path_isdigit (*p))
         {
-         fract = fract * 10.0 + *p - '0';
           digit_count++;
           p++;
         }
@@ -611,12 +600,6 @@ clutter_path_parse_number (const gchar **pin,
   *pin = p;
   *ret = negative ? -val : val;
 
-  /* Adding fractional part */
-  if (fract != 0)
-    {
-      *ret += (gfloat) fract / pow (10, digit_count);
-    }
-
   return TRUE;
 }
 
@@ -770,7 +753,7 @@ clutter_path_add_nodes (ClutterPath *path,
  * Return value: %TRUE is the path description was valid or %FALSE
  * otherwise.
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_path_add_string (ClutterPath *path,
@@ -798,7 +781,7 @@ clutter_path_add_string (ClutterPath *path,
  *
  * Adds @node to the end of the path.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_node (ClutterPath           *path,
@@ -823,7 +806,7 @@ clutter_path_add_node (ClutterPath           *path,
  *
  * Add the nodes of the Cairo path to the end of @path.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_add_cairo_path (ClutterPath        *path,
@@ -919,7 +902,7 @@ clutter_path_add_node_to_cairo_path (const ClutterPathNode *node,
  *
  * Add the nodes of the ClutterPath to the path in the Cairo context.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_to_cairo_path (ClutterPath *path,
@@ -939,7 +922,7 @@ clutter_path_to_cairo_path (ClutterPath *path,
  *
  * Return value: the number of nodes.
  *
- *
+ * Since: 1.0
  */
 guint
 clutter_path_get_n_nodes (ClutterPath *path)
@@ -961,7 +944,7 @@ clutter_path_get_n_nodes (ClutterPath *path)
  *
  * Retrieves the node of the path indexed by @index.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_get_node (ClutterPath     *path,
@@ -995,7 +978,7 @@ clutter_path_get_node (ClutterPath     *path,
  * Return value: (transfer container) (element-type Clutter.PathNode): a
  *   list of nodes in the path.
  *
- *
+ * Since: 1.0
  */
 GSList *
 clutter_path_get_nodes (ClutterPath *path)
@@ -1017,7 +1000,7 @@ clutter_path_get_nodes (ClutterPath *path)
  *
  * Calls a function for each node of the path.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_foreach (ClutterPath         *path,
@@ -1042,7 +1025,7 @@ clutter_path_foreach (ClutterPath         *path,
  * Inserts @node into the path before the node at the given offset. If
  * @index_ is negative it will append the node to the end of the path.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_insert_node (ClutterPath           *path,
@@ -1078,7 +1061,7 @@ clutter_path_insert_node (ClutterPath           *path,
  *
  * Removes the node at the given offset from the path.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_remove_node (ClutterPath *path,
@@ -1120,7 +1103,7 @@ clutter_path_remove_node (ClutterPath *path,
  *
  * Replaces the node at offset @index_ with @node.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_replace_node (ClutterPath           *path,
@@ -1157,7 +1140,7 @@ clutter_path_replace_node (ClutterPath           *path,
  *
  * Return value: %TRUE is the path was valid, %FALSE otherwise.
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_path_set_description (ClutterPath *path,
@@ -1188,7 +1171,7 @@ clutter_path_set_description (ClutterPath *path,
  *
  * Return value: a string description of the path. Free with g_free().
  *
- *
+ * Since: 1.0
  */
 gchar *
 clutter_path_get_description (ClutterPath *path)
@@ -1253,7 +1236,7 @@ clutter_path_get_description (ClutterPath *path)
       g_string_append_c (str, letter);
 
       for (i = 0; i < params; i++)
-        g_string_append_printf (str, " %f %f",
+        g_string_append_printf (str, " %i %i",
                                 node->k.points[i].x,
                                 node->k.points[i].y);
     }
@@ -1262,8 +1245,8 @@ clutter_path_get_description (ClutterPath *path)
 }
 
 static guint
-clutter_path_node_distance (const ClutterPoint *start,
-                            const ClutterPoint *end)
+clutter_path_node_distance (const ClutterKnot *start,
+                            const ClutterKnot *end)
 {
   gint64 x_d, y_d;
   float t;
@@ -1271,7 +1254,7 @@ clutter_path_node_distance (const ClutterPoint *start,
   g_return_val_if_fail (start != NULL, 0);
   g_return_val_if_fail (end != NULL, 0);
 
-  if (clutter_point_equals (start, end))
+  if (clutter_knot_equal (start, end))
     return 0;
 
   x_d = end->x - start->x;
@@ -1291,9 +1274,9 @@ clutter_path_ensure_node_data (ClutterPath *path)
   if (priv->nodes_dirty)
     {
       GSList *l;
-      ClutterPoint last_position = { 0, 0 };
-      ClutterPoint loop_start = { 0, 0 };
-      ClutterPoint points[3];
+      ClutterKnot last_position = { 0, 0 };
+      ClutterKnot loop_start = { 0, 0 };
+      ClutterKnot points[3];
 
       priv->total_length = 0;
 
@@ -1357,7 +1340,7 @@ clutter_path_ensure_node_data (ClutterPath *path)
                     }
                 }
               else
-                memcpy (points, node->k.points, sizeof (ClutterPoint) * 3);
+                memcpy (points, node->k.points, sizeof (ClutterKnot) * 3);
 
               _clutter_bezier_init (node->bezier,
                                     last_position.x, last_position.y,
@@ -1401,12 +1384,12 @@ clutter_path_ensure_node_data (ClutterPath *path)
  *
  * Return value: index of the node used to calculate the position.
  *
- *
+ * Since: 1.0
  */
 guint
-clutter_path_get_position (ClutterPath  *path,
-                           gdouble       progress,
-                           ClutterPoint *position)
+clutter_path_get_position (ClutterPath *path,
+                           gdouble progress,
+                           ClutterKnot *position)
 {
   ClutterPathPrivate *priv;
   GSList *l;
@@ -1424,7 +1407,7 @@ clutter_path_get_position (ClutterPath  *path,
      something better */
   if (priv->nodes == NULL)
     {
-      memset (position, 0, sizeof (ClutterPoint));
+      memset (position, 0, sizeof (ClutterKnot));
       return 0;
     }
 
@@ -1475,7 +1458,8 @@ clutter_path_get_position (ClutterPath  *path,
       else
         {
           _clutter_bezier_advance (node->bezier,
-                                   (gfloat) point_distance / (gfloat) node->length,
+                                   point_distance * CLUTTER_BEZIER_MAX_LENGTH
+                                   / node->length,
                                    position);
         }
       break;
@@ -1492,7 +1476,7 @@ clutter_path_get_position (ClutterPath  *path,
  *
  * Return value: the length of the path.
  *
- *
+ * Since: 1.0
  */
 guint
 clutter_path_get_length (ClutterPath *path)
@@ -1527,7 +1511,7 @@ clutter_path_node_full_free (ClutterPathNodeFull *node)
  *
  * Return value: the copied node.
  *
- *
+ * Since: 1.0
  */
 ClutterPathNode *
 clutter_path_node_copy (const ClutterPathNode *node)
@@ -1541,7 +1525,7 @@ clutter_path_node_copy (const ClutterPathNode *node)
  *
  * Frees the memory of an allocated node.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_path_node_free (ClutterPathNode *node)
@@ -1560,7 +1544,7 @@ clutter_path_node_free (ClutterPathNode *node)
  *
  * Return value: %TRUE if the nodes are the same.
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_path_node_equal (const ClutterPathNode *node_a,
@@ -1590,3 +1574,65 @@ clutter_path_node_equal (const ClutterPathNode *node_a,
 
   return TRUE;
 }
+
+G_DEFINE_BOXED_TYPE (ClutterKnot, clutter_knot,
+                     clutter_knot_copy,
+                     clutter_knot_free);
+
+/**
+ * clutter_knot_copy:
+ * @knot: a #ClutterKnot
+ *
+ * Makes an allocated copy of a knot.
+ *
+ * Return value: the copied knot.
+ *
+ * Since: 0.2
+ */
+ClutterKnot *
+clutter_knot_copy (const ClutterKnot *knot)
+{
+  if (G_UNLIKELY (knot == NULL))
+    return NULL;
+
+  return g_slice_dup (ClutterKnot, knot);
+}
+
+/**
+ * clutter_knot_free:
+ * @knot: a #ClutterKnot
+ *
+ * Frees the memory of an allocated knot.
+ *
+ * Since: 0.2
+ */
+void
+clutter_knot_free (ClutterKnot *knot)
+{
+  if (G_LIKELY (knot != NULL))
+    g_slice_free (ClutterKnot, knot);
+}
+
+/**
+ * clutter_knot_equal:
+ * @knot_a: First knot
+ * @knot_b: Second knot
+ *
+ * Compares to knot and checks if the point to the same location.
+ *
+ * Return value: %TRUE if the knots point to the same location.
+ *
+ * Since: 0.2
+ */
+gboolean
+clutter_knot_equal (const ClutterKnot *knot_a,
+                    const ClutterKnot *knot_b)
+{
+  g_return_val_if_fail (knot_a != NULL, FALSE);
+  g_return_val_if_fail (knot_b != NULL, FALSE);
+
+  if (knot_a == knot_b)
+    return TRUE;
+
+  return knot_a->x == knot_b->x && knot_a->y == knot_b->y;
+}
diff --git a/clutter/clutter-path.h b/clutter/clutter-path.h
index 8bd3ff0..599499a 100644
--- a/clutter/clutter-path.h
+++ b/clutter/clutter-path.h
@@ -6,7 +6,6 @@
  * Authored By Matthew Allum  <mallum openedhand com>
  *
  * Copyright (C) 2008 Intel Corporation
- * Copyright (C) 2013 Erick Pérez Castellanos <erick red gmail com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -53,7 +52,7 @@ typedef struct _ClutterPathPrivate ClutterPathPrivate;
  * This function is passed to clutter_path_foreach() and will be
  * called for each node contained in the path.
  *
- *
+ * Since: 1.0
  */
 typedef void (* ClutterPathCallback) (const ClutterPathNode *node,
                                       gpointer               data);
@@ -64,7 +63,7 @@ typedef void (* ClutterPathCallback) (const ClutterPathNode *node,
  * The #ClutterPath struct contains only private data and should
  * be accessed with the functions below.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterPath
 {
@@ -79,7 +78,7 @@ struct _ClutterPath
  *
  * The #ClutterPathClass struct contains only private data.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterPathClass
 {
@@ -92,31 +91,31 @@ GType clutter_path_get_type (void) G_GNUC_CONST;
 ClutterPath *clutter_path_new                  (void);
 ClutterPath *clutter_path_new_with_description (const gchar           *desc);
 void         clutter_path_add_move_to          (ClutterPath           *path,
-                                                gfloat                 x,
-                                                gfloat                 y);
+                                                gint                   x,
+                                                gint                   y);
 void         clutter_path_add_rel_move_to      (ClutterPath           *path,
-                                                gfloat                 x,
-                                                gfloat                 y);
+                                                gint                   x,
+                                                gint                   y);
 void         clutter_path_add_line_to          (ClutterPath           *path,
-                                                gfloat                 x,
-                                                gfloat                 y);
+                                                gint                   x,
+                                                gint                   y);
 void         clutter_path_add_rel_line_to      (ClutterPath           *path,
-                                                gfloat                 x,
-                                                gfloat                 y);
+                                                gint                   x,
+                                                gint                   y);
 void         clutter_path_add_curve_to         (ClutterPath           *path,
-                                                gfloat                 x_1,
-                                                gfloat                 y_1,
-                                                gfloat                 x_2,
-                                                gfloat                 y_2,
-                                                gfloat                 x_3,
-                                                gfloat                 y_3);
+                                                gint                   x_1,
+                                                gint                   y_1,
+                                                gint                   x_2,
+                                                gint                   y_2,
+                                                gint                   x_3,
+                                                gint                   y_3);
 void         clutter_path_add_rel_curve_to     (ClutterPath           *path,
-                                                gfloat                 x_1,
-                                                gfloat                 y_1,
-                                                gfloat                 x_2,
-                                                gfloat                 y_2,
-                                                gfloat                 x_3,
-                                                gfloat                 y_3);
+                                                gint                   x_1,
+                                                gint                   y_1,
+                                                gint                   x_2,
+                                                gint                   y_2,
+                                                gint                   x_3,
+                                                gint                   y_3);
 void         clutter_path_add_close            (ClutterPath           *path);
 gboolean     clutter_path_add_string           (ClutterPath           *path,
                                                 const gchar           *str);
@@ -148,7 +147,7 @@ void         clutter_path_to_cairo_path        (ClutterPath           *path,
                                                 cairo_t               *cr);
 guint        clutter_path_get_position         (ClutterPath           *path,
                                                 gdouble                progress,
-                                                ClutterPoint          *position);
+                                                ClutterKnot           *position);
 guint        clutter_path_get_length           (ClutterPath           *path);
 
 G_END_DECLS
diff --git a/clutter/clutter-private.h b/clutter/clutter-private.h
index 506916f..2136efe 100644
--- a/clutter/clutter-private.h
+++ b/clutter/clutter-private.h
@@ -211,7 +211,6 @@ guint32                 _clutter_context_acquire_id                     (gpointe
 void                    _clutter_context_release_id                     (guint32       id_);
 gboolean                _clutter_context_get_motion_events_enabled      (void);
 gboolean                _clutter_context_get_show_fps                   (void);
-guint                   _clutter_context_get_frame_rate                 (void);
 
 const gchar *_clutter_gettext (const gchar *str);
 
diff --git a/clutter/clutter-property-transition.c b/clutter/clutter-property-transition.c
index c860ebf..e74490d 100644
--- a/clutter/clutter-property-transition.c
+++ b/clutter/clutter-property-transition.c
@@ -264,7 +264,7 @@ clutter_property_transition_class_init (ClutterPropertyTransitionClass *klass)
    *
    * The name of the property of a #ClutterAnimatable to animate.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_PROPERTY_NAME] =
     g_param_spec_string ("property-name",
@@ -293,7 +293,7 @@ clutter_property_transition_init (ClutterPropertyTransition *self)
  * Return value: (transfer full): the newly created #ClutterPropertyTransition.
  *   Use g_object_unref() when done
  *
- *
+ * Since: 1.10
  */
 ClutterTransition *
 clutter_property_transition_new (const char *property_name)
@@ -310,7 +310,7 @@ clutter_property_transition_new (const char *property_name)
  *
  * Sets the #ClutterPropertyTransition:property-name property of @transition.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_property_transition_set_property_name (ClutterPropertyTransition *transition,
@@ -353,7 +353,7 @@ clutter_property_transition_set_property_name (ClutterPropertyTransition *transi
  *   none is set. The returned string is owned by the @transition and
  *   it should not be freed.
  *
- *
+ * Since: 1.10
  */
 const char *
 clutter_property_transition_get_property_name (ClutterPropertyTransition *transition)
diff --git a/clutter/clutter-property-transition.h b/clutter/clutter-property-transition.h
index fb73352..0d32f16 100644
--- a/clutter/clutter-property-transition.h
+++ b/clutter/clutter-property-transition.h
@@ -49,7 +49,7 @@ typedef struct _ClutterPropertyTransitionClass          ClutterPropertyTransitio
  * The <structname>ClutterPropertyTransition</structname> structure contains
  * private data and should only be accessed using the provided API.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterPropertyTransition
 {
@@ -65,7 +65,7 @@ struct _ClutterPropertyTransition
  * The <structname>ClutterPropertyTransitionClass</structname> structure
  * contains private data.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterPropertyTransitionClass
 {
@@ -75,15 +75,15 @@ struct _ClutterPropertyTransitionClass
   gpointer _padding[8];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_property_transition_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterTransition *     clutter_property_transition_new                 (const char                
*property_name);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_property_transition_set_property_name   (ClutterPropertyTransition 
*transition,
                                                                          const char                
*property_name);
-
+CLUTTER_AVAILABLE_IN_1_10
 const char *            clutter_property_transition_get_property_name   (ClutterPropertyTransition 
*transition);
 
 G_END_DECLS
diff --git a/clutter/clutter-rotate-action.c b/clutter/clutter-rotate-action.c
index 40a0a60..567d73f 100644
--- a/clutter/clutter-rotate-action.c
+++ b/clutter/clutter-rotate-action.c
@@ -30,7 +30,7 @@
  * #ClutterRotateAction is a sub-class of #ClutterGestureAction that implements
  * the logic for recognizing rotate gestures using two touch points.
  *
- *
+ * Since: 1.12
  */
 
 #ifdef HAVE_CONFIG_H
@@ -200,7 +200,7 @@ clutter_rotate_action_class_init (ClutterRotateActionClass *klass)
    * Return value: %TRUE if the rotation should continue, and %FALSE if
    *   the rotation should be cancelled.
    *
-   *
+   * Since: 1.12
    */
   rotate_signals[ROTATE] =
     g_signal_new (I_("rotate"),
@@ -230,7 +230,7 @@ clutter_rotate_action_init (ClutterRotateAction *self)
  *
  * Return value: the newly created #ClutterRotateAction
  *
- *
+ * Since: 1.12
  */
 ClutterAction *
 clutter_rotate_action_new (void)
diff --git a/clutter/clutter-rotate-action.h b/clutter/clutter-rotate-action.h
index 6a6bda6..ee41059 100644
--- a/clutter/clutter-rotate-action.h
+++ b/clutter/clutter-rotate-action.h
@@ -50,7 +50,7 @@ typedef struct _ClutterRotateActionClass         ClutterRotateActionClass;
  * The <structname>ClutterRotateAction</structname> structure contains
  * only private data and should be accessed using the provided API
  *
- *
+ * Since: 1.12
  */
 struct _ClutterRotateAction
 {
@@ -67,7 +67,7 @@ struct _ClutterRotateAction
  * The <structname>ClutterRotateActionClass</structname> structure contains
  * only private data.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterRotateActionClass
 {
@@ -89,10 +89,10 @@ struct _ClutterRotateActionClass
   void (* _clutter_rotate_action7) (void);
 };
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_rotate_action_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterAction *clutter_rotate_action_new        (void);
 
 G_END_DECLS
diff --git a/clutter/clutter-script-parser.c b/clutter/clutter-script-parser.c
index 31a65ac..3ed900c 100644
--- a/clutter/clutter-script-parser.c
+++ b/clutter/clutter-script-parser.c
@@ -34,16 +34,22 @@
 #include <glib.h>
 #include <gmodule.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-alpha.h"
+
 #include "clutter-actor.h"
-#include "clutter-container.h"
 #include "clutter-debug.h"
 #include "clutter-enum-types.h"
-#include "clutter-private.h"
+
 #include "clutter-script.h"
 #include "clutter-script-private.h"
 #include "clutter-scriptable.h"
+
 #include "clutter-stage-manager.h"
 
+#include "clutter-private.h"
+
 static void clutter_script_parser_object_end (JsonParser *parser,
                                               JsonObject *object);
 static void clutter_script_parser_parse_end  (JsonParser *parser);
@@ -294,63 +300,117 @@ _clutter_script_flags_from_string (GType        type,
 }
 
 static gboolean
-parse_rect_from_array (JsonArray   *array,
-                       ClutterRect *rect)
+parse_knot_from_array (JsonArray   *array,
+                       ClutterKnot *knot)
+{
+  if (json_array_get_length (array) != 2)
+    return FALSE;
+
+  knot->x = json_array_get_int_element (array, 0);
+  knot->y = json_array_get_int_element (array, 1);
+
+  return TRUE;
+}
+
+static gboolean
+parse_knot_from_object (JsonObject  *object,
+                        ClutterKnot *knot)
+{
+  if (json_object_has_member (object, "x"))
+    knot->x = json_object_get_int_member (object, "x");
+  else
+    knot->x = 0;
+
+  if (json_object_has_member (object, "y"))
+    knot->y = json_object_get_int_member (object, "y");
+  else
+    knot->y = 0;
+
+  return TRUE;
+}
+
+gboolean
+_clutter_script_parse_knot (ClutterScript *script,
+                            JsonNode      *node,
+                            ClutterKnot   *knot)
+{
+  g_return_val_if_fail (CLUTTER_IS_SCRIPT (script), FALSE);
+  g_return_val_if_fail (node != NULL, FALSE);
+  g_return_val_if_fail (knot != NULL, FALSE);
+
+  switch (JSON_NODE_TYPE (node))
+    {
+    case JSON_NODE_ARRAY:
+      return parse_knot_from_array (json_node_get_array (node), knot);
+
+    case JSON_NODE_OBJECT:
+      return parse_knot_from_object (json_node_get_object (node), knot);
+
+    default:
+      break;
+    }
+
+  return FALSE;
+}
+
+static gboolean
+parse_geometry_from_array (JsonArray       *array,
+                           ClutterGeometry *geometry)
 {
   if (json_array_get_length (array) != 4)
     return FALSE;
 
-  rect->origin.x = json_array_get_double_element (array, 0);
-  rect->origin.y = json_array_get_double_element (array, 1);
-  rect->size.width = json_array_get_double_element (array, 2);
-  rect->size.height = json_array_get_double_element (array, 3);
+  geometry->x = json_array_get_int_element (array, 0);
+  geometry->y = json_array_get_int_element (array, 1);
+  geometry->width = json_array_get_int_element (array, 2);
+  geometry->height = json_array_get_int_element (array, 3);
 
   return TRUE;
 }
 
 static gboolean
-parse_rect_from_object (JsonObject  *object,
-                        ClutterRect *rect)
+parse_geometry_from_object (JsonObject      *object,
+                            ClutterGeometry *geometry)
 {
   if (json_object_has_member (object, "x"))
-    rect->origin.x = json_object_get_double_member (object, "x");
+    geometry->x = json_object_get_int_member (object, "x");
   else
-    rect->origin.x = 0;
+    geometry->x = 0;
 
   if (json_object_has_member (object, "y"))
-    rect->origin.y = json_object_get_double_member (object, "y");
+    geometry->y = json_object_get_int_member (object, "y");
   else
-    rect->origin.y = 0;
+    geometry->y = 0;
 
   if (json_object_has_member (object, "width"))
-    rect->size.width = json_object_get_double_member (object, "width");
+    geometry->width = json_object_get_int_member (object, "width");
   else
-    rect->size.width = 0;
+    geometry->width = 0;
 
   if (json_object_has_member (object, "height"))
-    rect->size.height = json_object_get_double_member (object, "height");
+    geometry->height = json_object_get_int_member (object, "height");
   else
-    rect->size.height = 0;
+    geometry->height = 0;
 
   return TRUE;
 }
 
 gboolean
-_clutter_script_parse_rect (ClutterScript *script,
-                            JsonNode      *node,
-                            ClutterRect   *rect)
+_clutter_script_parse_geometry (ClutterScript   *script,
+                                JsonNode        *node,
+                                ClutterGeometry *geometry)
 {
   g_return_val_if_fail (CLUTTER_IS_SCRIPT (script), FALSE);
   g_return_val_if_fail (node != NULL, FALSE);
-  g_return_val_if_fail (rect != NULL, FALSE);
+  g_return_val_if_fail (geometry != NULL, FALSE);
 
   switch (JSON_NODE_TYPE (node))
     {
     case JSON_NODE_ARRAY:
-      return parse_rect_from_array (json_node_get_array (node), rect);
+      return parse_geometry_from_array (json_node_get_array (node), geometry);
 
     case JSON_NODE_OBJECT:
-      return parse_rect_from_object (json_node_get_object (node), rect);
+      return parse_geometry_from_object (json_node_get_object (node), geometry);
 
     default:
       break;
@@ -647,8 +707,42 @@ parse_signals (ClutterScript *script,
             }
         }
 
-      /* mandatory: "handler" */
-      if (json_object_has_member (object, "handler"))
+      /* mandatory: "target-state" or "handler" */
+      if (json_object_has_member (object, "target-state"))
+        {
+          const gchar *state = NULL;
+          const gchar *target = NULL;
+          gboolean warp_to = FALSE;
+
+          target = json_object_get_string_member (object, "target-state");
+          if (target == NULL)
+            {
+              _clutter_script_warn_invalid_value (script,
+                                                  "target-state", "string",
+                                                  val);
+              continue;
+            }
+
+          if (json_object_has_member (object, "states"))
+            state = json_object_get_string_member (object, "states");
+
+          if (json_object_has_member (object, "warp"))
+            warp_to = json_object_get_boolean_member (object, "warp");
+
+          CLUTTER_NOTE (SCRIPT,
+                        "Added signal '%s' (states:%s, target-state:%s, warp:%s)",
+                        name,
+                        state != NULL ? state : "<default>", target,
+                        warp_to ? "true" : "false");
+
+          sinfo = g_slice_new0 (SignalInfo);
+          sinfo->is_handler = FALSE;
+          sinfo->name = g_strdup (name);
+          sinfo->state = g_strdup (state);
+          sinfo->target = g_strdup (target);
+          sinfo->warp_to = warp_to;
+        }
+      else if (json_object_has_member (object, "handler"))
         {
           const gchar *handler;
           const gchar *connect;
@@ -698,7 +792,7 @@ parse_signals (ClutterScript *script,
       else
         _clutter_script_warn_missing_attribute (script,
                                                 NULL,
-                                                "handler");
+                                                "handler or state");
       if (sinfo != NULL)
         retval = g_list_prepend (retval, sinfo);
     }
@@ -706,10 +800,98 @@ parse_signals (ClutterScript *script,
   return retval;
 }
 
+static ClutterTimeline *
+construct_timeline (ClutterScript *script,
+                    JsonObject    *object)
+{
+  ClutterTimeline *retval = NULL;
+  ObjectInfo *oinfo;
+  GList *members, *l;
+
+  /* we fake an ObjectInfo so we can reuse clutter_script_construct_object()
+   * here; we do not save it inside the hash table, because if this had
+   * been a named object then we wouldn't have ended up here in the first
+   * place
+   */
+  oinfo = g_slice_new0 (ObjectInfo);
+  oinfo->gtype = CLUTTER_TYPE_TIMELINE;
+  oinfo->id = g_strdup ("dummy");
+
+  members = json_object_get_members (object);
+  for (l = members; l != NULL; l = l->next)
+    {
+      const gchar *name = l->data;
+      JsonNode *node = json_object_get_member (object, name);
+      PropertyInfo *pinfo = g_slice_new0 (PropertyInfo);
+
+      pinfo->name = g_strdelimit (g_strdup (name), G_STR_DELIMITERS, '-');
+      pinfo->node = json_node_copy (node);
+
+      oinfo->properties = g_list_prepend (oinfo->properties, pinfo);
+    }
+
+  g_list_free (members);
+
+  _clutter_script_construct_object (script, oinfo);
+  _clutter_script_apply_properties (script, oinfo);
+  retval = CLUTTER_TIMELINE (oinfo->object);
+
+  /* we transfer ownership to the alpha function, so we ref before
+   * destroying the ObjectInfo to avoid the timeline going away
+   */
+  g_object_ref (retval);
+  object_info_free (oinfo);
+
+  return retval;
+}
+
+/* define the names of the animation modes to match the ones
+ * that developers might be more accustomed to
+ */
+static const struct
+{
+  const gchar *name;
+  ClutterAnimationMode mode;
+} animation_modes[] = {
+  { "linear", CLUTTER_LINEAR },
+  { "easeInQuad", CLUTTER_EASE_IN_QUAD },
+  { "easeOutQuad", CLUTTER_EASE_OUT_QUAD },
+  { "easeInOutQuad", CLUTTER_EASE_IN_OUT_QUAD },
+  { "easeInCubic", CLUTTER_EASE_IN_CUBIC },
+  { "easeOutCubic", CLUTTER_EASE_OUT_CUBIC },
+  { "easeInOutCubic", CLUTTER_EASE_IN_OUT_CUBIC },
+  { "easeInQuart", CLUTTER_EASE_IN_QUART },
+  { "easeOutQuart", CLUTTER_EASE_OUT_QUART },
+  { "easeInOutQuart", CLUTTER_EASE_IN_OUT_QUART },
+  { "easeInQuint", CLUTTER_EASE_IN_QUINT },
+  { "easeOutQuint", CLUTTER_EASE_OUT_QUINT },
+  { "easeInOutQuint", CLUTTER_EASE_IN_OUT_QUINT },
+  { "easeInSine", CLUTTER_EASE_IN_SINE },
+  { "easeOutSine", CLUTTER_EASE_OUT_SINE },
+  { "easeInOutSine", CLUTTER_EASE_IN_OUT_SINE },
+  { "easeInExpo", CLUTTER_EASE_IN_EXPO },
+  { "easeOutExpo", CLUTTER_EASE_OUT_EXPO },
+  { "easeInOutExpo", CLUTTER_EASE_IN_OUT_EXPO },
+  { "easeInCirc", CLUTTER_EASE_IN_CIRC },
+  { "easeOutCirc", CLUTTER_EASE_OUT_CIRC },
+  { "easeInOutCirc", CLUTTER_EASE_IN_OUT_CIRC },
+  { "easeInElastic", CLUTTER_EASE_IN_ELASTIC },
+  { "easeOutElastic", CLUTTER_EASE_OUT_ELASTIC },
+  { "easeInOutElastic", CLUTTER_EASE_IN_OUT_ELASTIC },
+  { "easeInBack", CLUTTER_EASE_IN_BACK },
+  { "easeOutBack", CLUTTER_EASE_OUT_BACK },
+  { "easeInOutBack", CLUTTER_EASE_IN_OUT_BACK },
+  { "easeInBounce", CLUTTER_EASE_IN_BOUNCE },
+  { "easeOutBounce", CLUTTER_EASE_OUT_BOUNCE },
+  { "easeInOutBounce", CLUTTER_EASE_IN_OUT_BOUNCE },
+};
+
+static const gint n_animation_modes = G_N_ELEMENTS (animation_modes);
+
 gulong
 _clutter_script_resolve_animation_mode (JsonNode *node)
 {
-  gint res = CLUTTER_CUSTOM_MODE;
+  gint i, res = CLUTTER_CUSTOM_MODE;
 
   if (JSON_NODE_TYPE (node) != JSON_NODE_VALUE)
     return CLUTTER_CUSTOM_MODE;
@@ -721,6 +903,18 @@ _clutter_script_resolve_animation_mode (JsonNode *node)
     {
       const gchar *name = json_node_get_string (node);
 
+      /* XXX - we might be able to optimize by changing the ordering
+       * of the animation_modes array, e.g.
+       *  - special casing linear
+       *  - tokenizing ('ease', 'In', 'Sine') and matching on token
+       *  - binary searching?
+       */
+      for (i = 0; i < n_animation_modes; i++)
+        {
+          if (strcmp (animation_modes[i].name, name) == 0)
+            return animation_modes[i].mode;
+        }
+
       if (_clutter_script_enum_from_string (CLUTTER_TYPE_ANIMATION_MODE,
                                             name,
                                             &res))
@@ -732,6 +926,106 @@ _clutter_script_resolve_animation_mode (JsonNode *node)
   return CLUTTER_CUSTOM_MODE;
 }
 
+static ClutterAlphaFunc
+resolve_alpha_func (const gchar *name)
+{
+  static GModule *module = NULL;
+  ClutterAlphaFunc func;
+
+  CLUTTER_NOTE (SCRIPT, "Looking up '%s' alpha function", name);
+
+  if (G_UNLIKELY (!module))
+    module = g_module_open (NULL, 0);
+
+  if (g_module_symbol (module, name, (gpointer) &func))
+    {
+      CLUTTER_NOTE (SCRIPT, "Found '%s' alpha function in the symbols table",
+                    name);
+      return func;
+    }
+
+  return NULL;
+}
+
+GObject *
+_clutter_script_parse_alpha (ClutterScript *script,
+                             JsonNode      *node)
+{
+  GObject *retval = NULL;
+  JsonObject *object;
+  ClutterTimeline *timeline = NULL;
+  ClutterAlphaFunc alpha_func = NULL;
+  ClutterAnimationMode mode = CLUTTER_CUSTOM_MODE;
+  JsonNode *val;
+  gboolean unref_timeline = FALSE;
+
+  if (JSON_NODE_TYPE (node) != JSON_NODE_OBJECT)
+    return NULL;
+
+  object = json_node_get_object (node);
+
+  val = json_object_get_member (object, "timeline");
+  if (val)
+    {
+      if (JSON_NODE_TYPE (val) == JSON_NODE_VALUE &&
+          json_node_get_string (val) != NULL)
+        {
+          const gchar *id_ = json_node_get_string (val);
+
+          timeline =
+            CLUTTER_TIMELINE (clutter_script_get_object (script, id_));
+        }
+      else if (JSON_NODE_TYPE (val) == JSON_NODE_OBJECT)
+        {
+          timeline = construct_timeline (script, json_node_get_object (val));
+          unref_timeline = TRUE;
+        }
+    }
+
+  val = json_object_get_member (object, "mode");
+  if (val != NULL)
+    mode = _clutter_script_resolve_animation_mode (val);
+
+  if (mode == CLUTTER_CUSTOM_MODE)
+    {
+      val = json_object_get_member (object, "function");
+      if (val && json_node_get_string (val) != NULL)
+        {
+          alpha_func = resolve_alpha_func (json_node_get_string (val));
+          if (!alpha_func)
+            {
+              g_warning ("Unable to find the function '%s' in the "
+                         "Clutter alpha functions or the symbols table",
+                         json_node_get_string (val));
+            }
+        }
+    }
+
+  CLUTTER_NOTE (SCRIPT, "Parsed alpha: %s timeline (%p) (mode:%d, func:%p)",
+                unref_timeline ? "implicit" : "explicit",
+                timeline ? timeline : 0x0,
+                mode != CLUTTER_CUSTOM_MODE ? mode : 0,
+                alpha_func ? alpha_func : 0x0);
+
+  retval = g_object_new (CLUTTER_TYPE_ALPHA, NULL);
+
+  if (mode != CLUTTER_CUSTOM_MODE)
+    clutter_alpha_set_mode (CLUTTER_ALPHA (retval), mode);
+
+  if (alpha_func != NULL)
+    clutter_alpha_set_func (CLUTTER_ALPHA (retval), alpha_func, NULL, NULL);
+
+  clutter_alpha_set_timeline (CLUTTER_ALPHA (retval), timeline);
+
+  /* if we created an implicit timeline, the Alpha has full ownership
+   * of it now, since it won't be accessible from ClutterScript
+   */
+  if (unref_timeline)
+    g_object_unref (timeline);
+
+  return retval;
+}
+
 static void
 clutter_script_parser_object_end (JsonParser *json_parser,
                                   JsonObject *object)
@@ -1023,21 +1317,33 @@ _clutter_script_parse_node (ClutterScript *script,
                   return TRUE;
                 }
             }
-          else if (p_type == CLUTTER_TYPE_RECT)
+          else if (p_type == CLUTTER_TYPE_KNOT)
             {
-              ClutterRect rect = CLUTTER_RECT_INIT_ZERO;
+              ClutterKnot knot = { 0, };
 
-              /* rect := {
-               *        "x" : (double),
-               *        "y" : (double),
-               *        "width" : (double),
-               *        "height" : (double)
+              /* knot := { "x" : (int), "y" : (int) } */
+
+              if (_clutter_script_parse_knot (script, node, &knot))
+                {
+                  g_value_set_boxed (value, &knot);
+                  return TRUE;
+                }
+            }
+          else if (p_type == CLUTTER_TYPE_GEOMETRY)
+            {
+              ClutterGeometry geom = { 0, };
+
+              /* geometry := {
+               *        "x" : (int),
+               *        "y" : (int),
+               *        "width" : (int),
+               *        "height" : (int)
                * }
                */
 
-              if (_clutter_script_parse_rect (script, node, &rect))
+              if (_clutter_script_parse_geometry (script, node, &geom))
                 {
-                  g_value_set_boxed (value, &rect);
+                  g_value_set_boxed (value, &geom);
                   return TRUE;
                 }
             }
@@ -1100,15 +1406,27 @@ _clutter_script_parse_node (ClutterScript *script,
           if (!G_IS_VALUE (value))
             g_value_init (value, G_PARAM_SPEC_VALUE_TYPE (pspec));
 
-          if (G_VALUE_HOLDS (value, CLUTTER_TYPE_RECT))
+          if (G_VALUE_HOLDS (value, CLUTTER_TYPE_KNOT))
+            {
+              ClutterKnot knot = { 0, };
+
+              /* knot := [ (int), (int) ] */
+
+              if (_clutter_script_parse_knot (script, node, &knot))
+                {
+                  g_value_set_boxed (value, &knot);
+                  return TRUE;
+                }
+            }
+          else if (G_VALUE_HOLDS (value, CLUTTER_TYPE_GEOMETRY))
             {
-              ClutterRect rect = CLUTTER_RECT_INIT_ZERO;
+              ClutterGeometry geom = { 0, };
 
-              /* rect := [ (double), (double), (double), (double) ] */
+              /* geometry := [ (int), (int), (int), (int) ] */
 
-              if (_clutter_script_parse_rect (script, node, &rect))
+              if (_clutter_script_parse_geometry (script, node, &geom))
                 {
-                  g_value_set_boxed (value, &rect);
+                  g_value_set_boxed (value, &geom);
                   return TRUE;
                 }
             }
@@ -1468,8 +1786,7 @@ apply_layout_properties (ClutterScript    *script,
   ClutterLayoutManager *manager;
   GType meta_type;
 
-  /* XXX:2.0 remove; only ClutterActor should have a layout manager */
-  manager = g_object_get_data (G_OBJECT (container), "-clutter-layout-manager");
+  manager = g_object_get_data (G_OBJECT (container), "clutter-layout-manager");
   if (manager == NULL)
     return;
 
@@ -1663,7 +1980,7 @@ static void
 add_children (ClutterScript *script,
               ObjectInfo    *oinfo)
 {
-  ClutterActor *container = CLUTTER_ACTOR (oinfo->object);
+  ClutterContainer *container = CLUTTER_CONTAINER (oinfo->object);
   GList *l, *unresolved;
 
   unresolved = NULL;
@@ -1702,7 +2019,7 @@ add_children (ClutterScript *script,
                     name,
                     g_type_name (G_OBJECT_TYPE (container)));
 
-      clutter_actor_add_child (container, CLUTTER_ACTOR (object));
+      clutter_container_add_actor (container, CLUTTER_ACTOR (object));
     }
 
   g_list_foreach (oinfo->children, (GFunc) g_free, NULL);
diff --git a/clutter/clutter-script-private.h b/clutter/clutter-script-private.h
index e10107f..52a67bc 100644
--- a/clutter/clutter-script-private.h
+++ b/clutter/clutter-script-private.h
@@ -88,10 +88,13 @@ typedef struct {
   gchar *name;
   gchar *handler;
   gchar *object;
+  gchar *state;
+  gchar *target;
 
   GConnectFlags flags;
 
   guint is_handler : 1;
+  guint warp_to    : 1;
 } SignalInfo;
 
 void property_info_free (gpointer data);
@@ -116,12 +119,17 @@ gboolean _clutter_script_flags_from_string (GType          gtype,
                                             const gchar   *string,
                                             gint          *flags_value);
 
-gboolean _clutter_script_parse_rect        (ClutterScript   *script,
+gboolean _clutter_script_parse_knot        (ClutterScript   *script,
                                             JsonNode        *node,
-                                            ClutterRect     *rect);
+                                            ClutterKnot     *knot);
+gboolean _clutter_script_parse_geometry    (ClutterScript   *script,
+                                            JsonNode        *node,
+                                            ClutterGeometry *geometry);
 gboolean _clutter_script_parse_color       (ClutterScript   *script,
                                             JsonNode        *node,
                                             ClutterColor    *color);
+GObject *_clutter_script_parse_alpha       (ClutterScript   *script,
+                                            JsonNode        *node);
 gboolean _clutter_script_parse_point       (ClutterScript   *script,
                                             JsonNode        *node,
                                             ClutterPoint    *point);
diff --git a/clutter/clutter-script.c b/clutter/clutter-script.c
index 00c2b52..6d0b607 100644
--- a/clutter/clutter-script.c
+++ b/clutter/clutter-script.c
@@ -75,6 +75,66 @@
  * packing rules of Clutter still apply, and an actor cannot be packed
  * in multiple containers without unparenting it in between).
  *
+ * Behaviours and timelines can also be defined inside a UI definition
+ * buffer:
+ *
+ * <informalexample><programlisting><![CDATA[
+ * {
+ *   "id"          : "rotate-behaviour",
+ *   "type"        : "ClutterBehaviourRotate",
+ *   "angle-start" : 0.0,
+ *   "angle-end"   : 360.0,
+ *   "axis"        : "z-axis",
+ *   "alpha"       : {
+ *     "timeline" : { "duration" : 4000, "loop" : true },
+ *     "mode"     : "easeInSine"
+ *   }
+ * }
+ * ]]></programlisting></informalexample>
+ *
+ * And then to apply a defined behaviour to an actor defined inside the
+ * definition of an actor, the "behaviour" member can be used:
+ *
+ * <informalexample><programlisting><![CDATA[
+ * {
+ *   "id" : "my-rotating-actor",
+ *   "type" : "ClutterTexture",
+ *   ...
+ *   "behaviours" : [ "rotate-behaviour" ]
+ * }
+ * ]]></programlisting></informalexample>
+ *
+ * A #ClutterAlpha belonging to a #ClutterBehaviour can only be defined
+ * implicitly like in the example above, or explicitly by setting the
+ * "alpha" property to point to a previously defined #ClutterAlpha, e.g.:
+ *
+ * <informalexample><programlisting><![CDATA[
+ * {
+ *   "id"          : "rotate-behaviour",
+ *   "type"        : "ClutterBehaviourRotate",
+ *   "angle-start" : 0.0,
+ *   "angle-end"   : 360.0,
+ *   "axis"        : "z-axis",
+ *   "alpha"       : {
+ *     "id"       : "rotate-alpha",
+ *     "type"     : "ClutterAlpha",
+ *     "timeline" : {
+ *       "id"       : "rotate-timeline",
+ *       "type      : "ClutterTimeline",
+ *       "duration" : 4000,
+ *       "loop"     : true
+ *     },
+ *     "function" : "custom_sine_alpha"
+ *   }
+ * }
+ * ]]></programlisting></informalexample>
+ *
+ * Implicitely defined #ClutterAlpha<!-- -->s and #ClutterTimeline<!-- -->s
+ * can omit the <varname>id</varname> member, as well as the
+ * <varname>type</varname> member, but will not be available using
+ * clutter_script_get_object() (they can, however, be extracted using the
+ * #ClutterBehaviour and #ClutterAlpha API respectively).
+ *
  * Signal handlers can be defined inside a Clutter UI definition file and
  * then autoconnected to their respective signals using the
  * clutter_script_connect_signals() function:
@@ -98,6 +158,49 @@
  * respectively) and the "object" string member for calling
  * g_signal_connect_object() instead of g_signal_connect().
  *
+ * Signals can also be directly attached to a specific state defined
+ * inside a #ClutterState instance, for instance:
+ *
+ * |[
+ *   ...
+ *   "signals" : [
+ *     {
+ *       "name" : "enter-event",
+ *       "states" : "button-states",
+ *       "target-state" : "hover"
+ *     },
+ *     {
+ *       "name" : "leave-event",
+ *       "states" : "button-states",
+ *       "target-state" : "base"
+ *     },
+ *     {
+ *       "name" : "button-press-event",
+ *       "states" : "button-states",
+ *       "target-state" : "active",
+ *     },
+ *     {
+ *       "name" : "key-press-event",
+ *       "states" : "button-states",
+ *       "target-state" : "key-focus",
+ *       "warp" : true
+ *     }
+ *   ],
+ *   ...
+ * ]|
+ *
+ * The "states" key defines the #ClutterState instance to be used to
+ * resolve the "target-state" key; it can be either a script id for a
+ * #ClutterState built by the same #ClutterScript instance, or to a
+ * #ClutterState built in code and associated to the #ClutterScript
+ * instance through the clutter_script_add_states() function. If no
+ * "states" key is present, then the default #ClutterState associated to
+ * the #ClutterScript instance will be used; the default #ClutterState
+ * can be set using clutter_script_add_states() using a %NULL name. The
+ * "warp" key can be used to warp to a specific state instead of
+ * animating to it. State changes on signal emission will not affect
+ * the signal emission chain.
+ *
  * Clutter reserves the following names, so classes defining properties
  * through the usual GObject registration process should avoid using these
  * names to avoid collisions:
@@ -131,8 +234,11 @@
 #include <glib-object.h>
 #include <gmodule.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
 #include "clutter-actor.h"
 #include "clutter-stage.h"
+#include "clutter-texture.h"
 
 #include "clutter-script.h"
 #include "clutter-script-private.h"
@@ -142,6 +248,11 @@
 #include "clutter-private.h"
 #include "clutter-debug.h"
 
+#include "deprecated/clutter-alpha.h"
+#include "deprecated/clutter-behaviour.h"
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-state.h"
+
 enum
 {
   PROP_0,
@@ -166,6 +277,8 @@ struct _ClutterScriptPrivate
 
   ClutterScriptParser *parser;
 
+  GHashTable *states;
+
   gchar **search_paths;
 
   gchar *translation_domain;
@@ -218,6 +331,8 @@ signal_info_free (gpointer data)
       g_free (sinfo->name);
       g_free (sinfo->handler);
       g_free (sinfo->object);
+      g_free (sinfo->state);
+      g_free (sinfo->target);
 
       g_slice_free (SignalInfo, sinfo);
     }
@@ -274,6 +389,7 @@ clutter_script_finalize (GObject *gobject)
   g_hash_table_destroy (priv->objects);
   g_strfreev (priv->search_paths);
   g_free (priv->filename);
+  g_hash_table_destroy (priv->states);
   g_free (priv->translation_domain);
 
   G_OBJECT_CLASS (clutter_script_parent_class)->finalize (gobject);
@@ -343,7 +459,7 @@ clutter_script_class_init (ClutterScriptClass *klass)
    * is %TRUE then the currently parsed data comes from a file, and the
    * file name is stored inside the #ClutterScript:filename property.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_FILENAME_SET] =
     g_param_spec_boolean ("filename-set",
@@ -358,7 +474,7 @@ clutter_script_class_init (ClutterScriptClass *klass)
    * The path of the currently parsed file. If #ClutterScript:filename-set
    * is %FALSE then the value of this property is undefined.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_FILENAME] =
     g_param_spec_string ("filename",
@@ -376,7 +492,7 @@ clutter_script_class_init (ClutterScriptClass *klass)
    * If #ClutterScript:translation-domain is set to %NULL, #ClutterScript
    * will use gettext(), otherwise g_dgettext() will be used.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_TRANSLATION_DOMAIN] =
     g_param_spec_string ("translation-domain",
@@ -410,6 +526,9 @@ clutter_script_init (ClutterScript *script)
   priv->objects = g_hash_table_new_full (g_str_hash, g_str_equal,
                                          NULL,
                                          object_info_free);
+  priv->states = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                        g_free,
+                                        (GDestroyNotify) g_object_unref);
 }
 
 /**
@@ -424,7 +543,7 @@ clutter_script_init (ClutterScript *script)
  * Return value: the newly created #ClutterScript instance. Use
  *   g_object_unref() when done.
  *
- *
+ * Since: 0.6
  */
 ClutterScript *
 clutter_script_new (void)
@@ -445,7 +564,7 @@ clutter_script_new (void)
  *   accordingly. On success, the merge id for the UI definitions is
  *   returned. You can use the merge id with clutter_script_unmerge_objects().
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_script_load_from_file (ClutterScript  *script,
@@ -494,7 +613,7 @@ clutter_script_load_from_file (ClutterScript  *script,
  *   accordingly. On success, the merge id for the UI definitions is
  *   returned. You can use the merge id with clutter_script_unmerge_objects().
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_script_load_from_data (ClutterScript  *script,
@@ -545,7 +664,7 @@ clutter_script_load_from_data (ClutterScript  *script,
  *   accordingly. On success, the merge id for the UI definitions is
  *   returned. You can use the merge id with clutter_script_unmerge_objects().
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_script_load_from_resource (ClutterScript  *script,
@@ -582,7 +701,7 @@ clutter_script_load_from_resource (ClutterScript  *script,
  * Return value: (transfer none): the named object, or %NULL if no object
  *   with the given name was available
  *
- *
+ * Since: 0.6
  */
 GObject *
 clutter_script_get_object (ClutterScript *script,
@@ -654,7 +773,7 @@ clutter_script_get_objects_valist (ClutterScript *script,
  *
  * Return value: the number of objects returned.
  *
- *
+ * Since: 0.6
  */
 gint
 clutter_script_get_objects (ClutterScript *script,
@@ -709,7 +828,7 @@ remove_by_merge_id (gpointer key,
  *
  * Unmerges the objects identified by @merge_id.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_script_unmerge_objects (ClutterScript *script,
@@ -769,7 +888,7 @@ construct_each_objects (gpointer key,
  * Ensure that every object defined inside @script is correctly
  * constructed. You should rarely need to use this function.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_script_ensure_objects (ClutterScript *script)
@@ -794,7 +913,7 @@ clutter_script_ensure_objects (ClutterScript *script)
  * Return value: the type for the requested type name, or
  *   %G_TYPE_INVALID if not corresponding type was found.
  *
- *
+ * Since: 0.6
  */
 GType
 clutter_script_get_type_from_name (ClutterScript *script,
@@ -816,7 +935,7 @@ clutter_script_get_type_from_name (ClutterScript *script,
  *   a UI definition file. The returned string is owned by the object and
  *   should never be modified or freed.
  *
- *
+ * Since: 0.6
  */
 const gchar *
 clutter_get_script_id (GObject *gobject)
@@ -899,7 +1018,7 @@ clutter_script_default_connect (ClutterScript *script,
  * Note that this function will not work if #GModule is not supported by
  * the platform Clutter is running on.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_script_connect_signals (ClutterScript *script,
@@ -930,12 +1049,65 @@ clutter_script_connect_signals (ClutterScript *script,
 }
 
 typedef struct {
+  ClutterState *state;
+  GObject *emitter;
+  gchar *target;
+  gulong signal_id;
+  gulong hook_id;
+  gboolean warp_to;
+} HookData;
+
+typedef struct {
   ClutterScript *script;
   ClutterScriptConnectFunc func;
   gpointer user_data;
 } SignalConnectData;
 
 static void
+hook_data_free (gpointer data)
+{
+  if (G_LIKELY (data != NULL))
+    {
+      HookData *hook_data = data;
+
+      g_free (hook_data->target);
+      g_slice_free (HookData, hook_data);
+    }
+}
+
+static gboolean
+clutter_script_state_change_hook (GSignalInvocationHint *ihint,
+                                  guint                  n_params,
+                                  const GValue          *params,
+                                  gpointer               user_data)
+{
+  HookData *hook_data = user_data;
+  GObject *emitter;
+
+  emitter = g_value_get_object (&params[0]);
+
+  if (emitter == hook_data->emitter)
+    {
+      if (hook_data->warp_to)
+        clutter_state_warp_to_state (hook_data->state, hook_data->target);
+      else
+        clutter_state_set_state (hook_data->state, hook_data->target);
+    }
+
+  return TRUE;
+}
+
+static void
+clutter_script_remove_state_change_hook (gpointer  user_data,
+                                         GObject  *object_p)
+{
+  HookData *hook_data = user_data;
+
+  g_signal_remove_emission_hook (hook_data->signal_id,
+                                 hook_data->hook_id);
+}
+
+static void
 connect_each_object (gpointer key,
                      gpointer value,
                      gpointer data)
@@ -972,6 +1144,67 @@ connect_each_object (gpointer key,
                                   connect_data->user_data);
             }
         }
+      else
+        {
+          GObject *state_object = NULL;
+          const gchar *signal_name, *signal_detail;
+          gchar **components;
+          GQuark signal_quark;
+          guint signal_id;
+          HookData *hook_data;
+
+          if (sinfo->state == NULL)
+            state_object = (GObject *) clutter_script_get_states (script, NULL);
+          else
+            {
+              state_object = clutter_script_get_object (script, sinfo->state);
+              if (state_object == NULL)
+                state_object = (GObject *) clutter_script_get_states (script, sinfo->state);
+            }
+
+          if (state_object == NULL)
+            continue;
+
+          components = g_strsplit (sinfo->name, "::", 2);
+          if (g_strv_length (components) == 2)
+            {
+              signal_name = components[0];
+              signal_detail = components[1];
+            }
+          else
+            {
+              signal_name = components[0];
+              signal_detail = NULL;
+            }
+
+          signal_id = g_signal_lookup (signal_name, G_OBJECT_TYPE (object));
+          if (signal_id == 0)
+            {
+              g_strfreev (components);
+              continue;
+            }
+
+          if (signal_detail != NULL)
+            signal_quark = g_quark_from_string (signal_detail);
+          else
+            signal_quark = 0;
+
+          hook_data = g_slice_new (HookData);
+          hook_data->emitter = object;
+          hook_data->state = CLUTTER_STATE (state_object);
+          hook_data->target = g_strdup (sinfo->target);
+          hook_data->warp_to = sinfo->warp_to;
+          hook_data->signal_id = signal_id;
+          hook_data->hook_id =
+            g_signal_add_emission_hook (signal_id, signal_quark,
+                                        clutter_script_state_change_hook,
+                                        hook_data,
+                                        hook_data_free);
+
+          g_object_weak_ref (hook_data->emitter,
+                             clutter_script_remove_state_change_hook,
+                             hook_data);
+        }
 
       signal_info_free (sinfo);
     }
@@ -1001,7 +1234,7 @@ connect_each_object (gpointer key,
  *
  * Applications should use clutter_script_connect_signals().
  *
- *
+ * Since: 0.6
  */
 void
 clutter_script_connect_signals_full (ClutterScript            *script,
@@ -1039,7 +1272,7 @@ clutter_script_error_quark (void)
  * can be used to define search paths for the textures source file name
  * or other custom, file-based properties.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_script_add_search_paths (ClutterScript       *script,
@@ -1098,7 +1331,7 @@ clutter_script_add_search_paths (ClutterScript       *script,
  * Return value: the full path of @filename or %NULL if no path was
  *   found.
  *
- *
+ * Since: 0.8
  */
 gchar *
 clutter_script_lookup_filename (ClutterScript *script,
@@ -1166,7 +1399,7 @@ clutter_script_lookup_filename (ClutterScript *script,
  *   #ClutterScript instance. Use g_list_free() on the returned list when
  *   done.
  *
- *
+ * Since: 0.8.2
  */
 GList *
 clutter_script_list_objects (ClutterScript *script)
@@ -1196,13 +1429,79 @@ clutter_script_list_objects (ClutterScript *script)
 }
 
 /**
+ * clutter_script_add_states:
+ * @script: a #ClutterScript
+ * @name: (allow-none): a name for the @state, or %NULL to
+ *   set the default #ClutterState
+ * @state: a #ClutterState
+ *
+ * Associates a #ClutterState to the #ClutterScript instance using the given
+ * name.
+ *
+ * The #ClutterScript instance will use @state to resolve target states when
+ * connecting signal handlers.
+ *
+ * The #ClutterScript instance will take a reference on the #ClutterState
+ * passed to this function.
+ *
+ * Since: 1.8
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_script_add_states (ClutterScript *script,
+                           const gchar   *name,
+                           ClutterState  *state)
+{
+  g_return_if_fail (CLUTTER_IS_SCRIPT (script));
+  g_return_if_fail (CLUTTER_IS_STATE (state));
+
+  if (name == NULL || *name == '\0')
+    name = "__clutter_script_default_state";
+
+  g_hash_table_replace (script->priv->states,
+                        g_strdup (name),
+                        g_object_ref (state));
+}
+
+/**
+ * clutter_script_get_states:
+ * @script: a #ClutterScript
+ * @name: (allow-none): the name of the #ClutterState, or %NULL
+ *
+ * Retrieves the #ClutterState for the given @state_name.
+ *
+ * If @name is %NULL, this function will return the default
+ * #ClutterState instance.
+ *
+ * Return value: (transfer none): a pointer to the #ClutterState for the
+ *   given name. The #ClutterState is owned by the #ClutterScript instance
+ *   and it should not be unreferenced
+ *
+ * Since: 1.8
+ *
+ * Deprecated: 1.12
+ */
+ClutterState *
+clutter_script_get_states (ClutterScript *script,
+                           const gchar   *name)
+{
+  g_return_val_if_fail (CLUTTER_IS_SCRIPT (script), NULL);
+
+  if (name == NULL || *name == '\0')
+    name = "__clutter_script_default_state";
+
+  return g_hash_table_lookup (script->priv->states, name);
+}
+
+/**
  * clutter_script_set_translation_domain:
  * @script: a #ClutterScript
  * @domain: (allow-none): the translation domain, or %NULL
  *
  * Sets the translation domain for @script.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_script_set_translation_domain (ClutterScript *script,
@@ -1229,7 +1528,7 @@ clutter_script_set_translation_domain (ClutterScript *script,
  * Return value: (transfer none): the translation domain, if any is set,
  *   or %NULL
  *
- *
+ * Since: 1.10
  */
 const gchar *
 clutter_script_get_translation_domain (ClutterScript *script)
diff --git a/clutter/clutter-script.h b/clutter/clutter-script.h
index 61f4efc..f2b6222 100644
--- a/clutter/clutter-script.h
+++ b/clutter/clutter-script.h
@@ -58,7 +58,7 @@ typedef struct _ClutterScriptClass      ClutterScriptClass;
  * intended for interpreted language bindings, but could be useful where the
  * programmer wants more control over the signal connection process.
  *
- *
+ * Since: 0.6
  */
 typedef void (* ClutterScriptConnectFunc) (ClutterScript *script,
                                            GObject       *object,
@@ -77,7 +77,7 @@ typedef void (* ClutterScriptConnectFunc) (ClutterScript *script,
  *
  * #ClutterScript error enumeration.
  *
- *
+ * Since: 0.6
  */
 typedef enum {
   CLUTTER_SCRIPT_ERROR_INVALID_TYPE_FUNCTION,
@@ -90,7 +90,7 @@ typedef enum {
  *
  * Error domain for the #ClutterScript errors
  *
- *
+ * Since: 0.6
  */
 #define CLUTTER_SCRIPT_ERROR    (clutter_script_error_quark ())
 GQuark clutter_script_error_quark (void);
@@ -101,7 +101,7 @@ GQuark clutter_script_error_quark (void);
  * The #ClutterScript structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 0.6
  */
 struct _ClutterScript
 {
@@ -120,7 +120,7 @@ struct _ClutterScript
  *
  * The #ClutterScriptClass structure contains only private data
  *
- *
+ * Since: 0.6
  */
 struct _ClutterScriptClass
 {
@@ -153,7 +153,7 @@ guint           clutter_script_load_from_data           (ClutterScript
                                                          const gchar               *data,
                                                          gssize                     length,
                                                          GError                   **error);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint           clutter_script_load_from_resource       (ClutterScript             *script,
                                                          const gchar               *resource_path,
                                                          GError                   **error);
@@ -168,6 +168,15 @@ void            clutter_script_unmerge_objects          (ClutterScript
                                                          guint                      merge_id);
 void            clutter_script_ensure_objects           (ClutterScript             *script);
 
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_script_add_states               (ClutterScript             *script,
+                                                         const gchar               *name,
+                                                         ClutterState              *state);
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterState *  clutter_script_get_states               (ClutterScript             *script,
+                                                         const gchar               *name);
+
 void            clutter_script_connect_signals          (ClutterScript             *script,
                                                          gpointer                   user_data);
 void            clutter_script_connect_signals_full     (ClutterScript             *script,
@@ -182,10 +191,10 @@ gchar *         clutter_script_lookup_filename          (ClutterScript
 GType           clutter_script_get_type_from_name       (ClutterScript             *script,
                                                          const gchar               *type_name);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void            clutter_script_set_translation_domain   (ClutterScript             *script,
                                                          const gchar               *domain);
-
+CLUTTER_AVAILABLE_IN_1_10
 const gchar *   clutter_script_get_translation_domain   (ClutterScript             *script);
 
 const gchar *   clutter_get_script_id                   (GObject                   *gobject);
diff --git a/clutter/clutter-scriptable.c b/clutter/clutter-scriptable.c
index 2af5de4..e4ffdc4 100644
--- a/clutter/clutter-scriptable.c
+++ b/clutter/clutter-scriptable.c
@@ -72,7 +72,7 @@ clutter_scriptable_default_init (ClutterScriptableInterface *iface)
  * define a unique name for an object constructable using the UI
  * definition language parsed by #ClutterScript.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_scriptable_set_id (ClutterScriptable *scriptable,
@@ -102,7 +102,7 @@ clutter_scriptable_set_id (ClutterScriptable *scriptable,
  * Return value: the id of the object. The returned string is owned by
  *   the scriptable object and should never be modified of freed
  *
- *
+ * Since: 0.6
  */
 const gchar *
 clutter_scriptable_get_id (ClutterScriptable *scriptable)
@@ -131,7 +131,7 @@ clutter_scriptable_get_id (ClutterScriptable *scriptable)
  *
  * Return value: %TRUE if the node was successfully parsed, %FALSE otherwise.
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_scriptable_parse_custom_node (ClutterScriptable *scriptable,
@@ -164,7 +164,7 @@ clutter_scriptable_parse_custom_node (ClutterScriptable *scriptable,
  * Overrides the common properties setting. The underlying virtual
  * function should be used when implementing custom properties.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_scriptable_set_custom_property (ClutterScriptable *scriptable,
diff --git a/clutter/clutter-scriptable.h b/clutter/clutter-scriptable.h
index 7cc1591..f47aac4 100644
--- a/clutter/clutter-scriptable.h
+++ b/clutter/clutter-scriptable.h
@@ -49,7 +49,7 @@ typedef struct _ClutterScriptableIface          ClutterScriptableIface;
  * #ClutterScriptable is an opaque structure whose members cannot be directly
  * accessed
  *
- *
+ * Since: 0.6
  */
 
 /**
@@ -64,7 +64,7 @@ typedef struct _ClutterScriptableIface          ClutterScriptableIface;
  * this interface can override the parsing and properties setting sequence
  * when loading a UI definition data with #ClutterScript
  *
- *
+ * Since: 0.6
  */
 struct _ClutterScriptableIface
 {
diff --git a/clutter/clutter-scroll-actor.c b/clutter/clutter-scroll-actor.c
index 67a7593..8783e10 100644
--- a/clutter/clutter-scroll-actor.c
+++ b/clutter/clutter-scroll-actor.c
@@ -183,7 +183,7 @@ clutter_scroll_actor_class_init (ClutterScrollActorClass *klass)
    *
    * The scrollin direction.
    *
-   *
+   * Since: 1.12
    */
   obj_props[PROP_SCROLL_MODE] =
     g_param_spec_flags ("scroll-mode",
@@ -276,7 +276,7 @@ clutter_animatable_iface_init (ClutterAnimatableIface *iface)
  * Return value: The newly created #ClutterScrollActor
  *   instance.
  *
- *
+ * Since: 1.12
  */
 ClutterActor *
 clutter_scroll_actor_new (void)
@@ -291,7 +291,7 @@ clutter_scroll_actor_new (void)
  *
  * Sets the #ClutterScrollActor:scroll-mode property.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_scroll_actor_set_scroll_mode (ClutterScrollActor *actor,
@@ -319,7 +319,7 @@ clutter_scroll_actor_set_scroll_mode (ClutterScrollActor *actor,
  *
  * Return value: the scrolling mode
  *
- *
+ * Since: 1.12
  */
 ClutterScrollMode
 clutter_scroll_actor_get_scroll_mode (ClutterScrollActor *actor)
@@ -342,7 +342,7 @@ clutter_scroll_actor_get_scroll_mode (ClutterScrollActor *actor)
  * This function will use the currently set easing state of the @actor
  * to transition from the current scroll origin to the new one.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_scroll_actor_scroll_to_point (ClutterScrollActor *actor,
@@ -424,7 +424,7 @@ clutter_scroll_actor_scroll_to_point (ClutterScrollActor *actor,
  *
  * Scrolls @actor so that @rect is in the visible portion.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_scroll_actor_scroll_to_rect (ClutterScrollActor *actor,
diff --git a/clutter/clutter-scroll-actor.h b/clutter/clutter-scroll-actor.h
index af351a9..cad5081 100644
--- a/clutter/clutter-scroll-actor.h
+++ b/clutter/clutter-scroll-actor.h
@@ -47,7 +47,7 @@ typedef struct _ClutterScrollActorClass         ClutterScrollActorClass;
  * The <structname>ClutterScrollActor</structname> structure contains only
  * private data, and should be accessed using the provided API.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterScrollActor
 {
@@ -63,7 +63,7 @@ struct _ClutterScrollActor
  * The <structname>ClutterScrollActor</structname> structure contains only
  * private data.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterScrollActorClass
 {
@@ -73,22 +73,22 @@ struct _ClutterScrollActorClass
   gpointer _padding[8];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_scroll_actor_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterActor *          clutter_scroll_actor_new                (void);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_scroll_actor_set_scroll_mode    (ClutterScrollActor *actor,
                                                                  ClutterScrollMode   mode);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterScrollMode       clutter_scroll_actor_get_scroll_mode    (ClutterScrollActor *actor);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_scroll_actor_scroll_to_point    (ClutterScrollActor *actor,
                                                                  const ClutterPoint *point);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_scroll_actor_scroll_to_rect     (ClutterScrollActor *actor,
                                                                  const ClutterRect  *rect);
 
diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c
index fad09fa..55a155b 100644
--- a/clutter/clutter-settings.c
+++ b/clutter/clutter-settings.c
@@ -45,7 +45,7 @@
  * <structname>ClutterSettings</structname> is an opaque structure whose
  * members cannot be directly accessed.
  *
- *
+ * Since: 1.4
  */
 struct _ClutterSettings
 {
@@ -83,6 +83,8 @@ enum
 {
   PROP_0,
 
+  PROP_BACKEND,
+
   PROP_DOUBLE_CLICK_TIME,
   PROP_DOUBLE_CLICK_DISTANCE,
 
@@ -266,6 +268,10 @@ clutter_settings_set_property (GObject      *gobject,
 
   switch (prop_id)
     {
+    case PROP_BACKEND:
+      self->backend = g_value_get_object (value);
+      break;
+
     case PROP_DOUBLE_CLICK_TIME:
       self->double_click_time = g_value_get_int (value);
       break;
@@ -412,12 +418,30 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
   /**
+   * ClutterSettings:backend:
+   *
+   * A back pointer to the #ClutterBackend
+   *
+   * Since: 1.4
+   *
+   * Deprecated: 1.10
+   */
+  obj_props[PROP_BACKEND] =
+    g_param_spec_object ("backend",
+                         "Backend",
+                         "A pointer to the backend",
+                         CLUTTER_TYPE_BACKEND,
+                         CLUTTER_PARAM_WRITABLE |
+                         G_PARAM_DEPRECATED |
+                         G_PARAM_CONSTRUCT_ONLY);
+
+  /**
    * ClutterSettings:double-click-time:
    *
    * The time, in milliseconds, that should elapse between button-press
    * events in order to increase the click count by 1.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_DOUBLE_CLICK_TIME] =
     g_param_spec_int ("double-click-time",
@@ -433,7 +457,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    * The maximum distance, in pixels, between button-press events that
    * determines whether or not to increase the click count by 1.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_DOUBLE_CLICK_DISTANCE] =
     g_param_spec_int ("double-click-distance",
@@ -449,7 +473,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    * The default distance that the cursor of a pointer device
    * should travel before a drag operation should start.
    *
-   *
+   * Since: 1.8
    */
   obj_props[PROP_DND_DRAG_THRESHOLD] =
     g_param_spec_int ("dnd-drag-threshold",
@@ -465,7 +489,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    * The default font name that should be used by text actors, as
    * a string that can be passed to pango_font_description_from_string().
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FONT_NAME] =
     g_param_spec_string ("font-name",
@@ -481,7 +505,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    * of 1 enables it unconditionally; a value of 0 disables it
    * unconditionally; and -1 will use the system's default.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FONT_ANTIALIAS] =
     g_param_spec_int ("font-antialias",
@@ -498,7 +522,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    *
    * If set to -1, the system's default will be used instead
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FONT_DPI] =
     g_param_spec_int ("font-dpi",
@@ -515,7 +539,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    * unconditionally enables it; a value of 0 unconditionally disables
    * it; and a value of -1 will use the system's default.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FONT_HINTING] =
     g_param_spec_int ("font-hinting",
@@ -537,7 +561,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    *   <listitem><simpara>hintfull</simpara></listitem>
    * </itemizedlist>
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FONT_HINT_STYLE] =
     g_param_spec_string ("font-hint-style",
@@ -559,7 +583,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    *   <listitem><simpara>vbgr</simpara></listitem>
    * </itemizedlist>
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_FONT_RGBA] =
     g_param_spec_string ("font-subpixel-order",
@@ -576,7 +600,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    *
    * See also #ClutterClickAction:long-press-duration.
    *
-   *
+   * Since: 1.8
    */
   obj_props[PROP_LONG_PRESS_DURATION] =
     g_param_spec_int ("long-press-duration",
@@ -602,7 +626,7 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
    * disables showing the password hint. 600 is a good value for
    * enabling the hint.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_PASSWORD_HINT_TIME] =
     g_param_spec_uint ("password-hint-time",
@@ -649,7 +673,7 @@ clutter_settings_init (ClutterSettings *self)
  *   returned object is owned by Clutter and it should not be unreferenced
  *   directly
  *
- *
+ * Since: 1.4
  */
 ClutterSettings *
 clutter_settings_get_default (void)
diff --git a/clutter/clutter-shader-effect.c b/clutter/clutter-shader-effect.c
index 81cc13f..08b4a92 100644
--- a/clutter/clutter-shader-effect.c
+++ b/clutter/clutter-shader-effect.c
@@ -479,7 +479,7 @@ clutter_shader_effect_class_init (ClutterShaderEffectClass *klass)
    * should be set by the constructor of #ClutterShaderEffect
    * sub-classes.
    *
-   *
+   * Since: 1.4
    */
   obj_props[PROP_SHADER_TYPE] =
     g_param_spec_enum ("shader-type",
@@ -522,7 +522,7 @@ clutter_shader_effect_init (ClutterShaderEffect *effect)
  * Return value: the newly created #ClutterShaderEffect.
  *   Use g_object_unref() when done.
  *
- *
+ * Since: 1.8
  */
 ClutterEffect *
 clutter_shader_effect_new (ClutterShaderType shader_type)
@@ -541,7 +541,7 @@ clutter_shader_effect_new (ClutterShaderType shader_type)
  * Return value: (transfer none): a pointer to the shader's handle,
  *   or %COGL_INVALID_HANDLE
  *
- *
+ * Since: 1.4
  */
 CoglHandle
 clutter_shader_effect_get_shader (ClutterShaderEffect *effect)
@@ -561,7 +561,7 @@ clutter_shader_effect_get_shader (ClutterShaderEffect *effect)
  * Return value: (transfer none): a pointer to the program's handle,
  *   or %COGL_INVALID_HANDLE
  *
- *
+ * Since: 1.4
  */
 CoglHandle
 clutter_shader_effect_get_program (ClutterShaderEffect *effect)
@@ -658,7 +658,7 @@ clutter_shader_effect_add_uniform (ClutterShaderEffect *effect,
  * values. It also accepts %G_TYPE_DOUBLE for compatibility with other
  * languages than C.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_shader_effect_set_uniform_value (ClutterShaderEffect *effect,
@@ -845,7 +845,7 @@ add_uniform:
  *                                      cogl_matrix_get_array (&matrix));
  * ]|
  *
- *
+ * Since: 1.4
  */
 void
 clutter_shader_effect_set_uniform (ClutterShaderEffect *effect,
@@ -884,7 +884,7 @@ clutter_shader_effect_set_uniform (ClutterShaderEffect *effect,
  *
  * Return value: %TRUE if the source was set
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_shader_effect_set_shader_source (ClutterShaderEffect *effect,
diff --git a/clutter/clutter-shader-effect.h b/clutter/clutter-shader-effect.h
index 00e92bb..9777b64 100644
--- a/clutter/clutter-shader-effect.h
+++ b/clutter/clutter-shader-effect.h
@@ -50,7 +50,7 @@ typedef struct _ClutterShaderEffectClass        ClutterShaderEffectClass;
  * The <structname>ClutterShaderEffect</structname> structure contains
  * only private data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterShaderEffect
 {
@@ -71,7 +71,7 @@ struct _ClutterShaderEffect
  * The <structname>ClutterShaderEffectClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.4
  */
 struct _ClutterShaderEffectClass
 {
diff --git a/clutter/clutter-shader-types.c b/clutter/clutter-shader-types.c
index 6d9dc72..5b9fcdc 100644
--- a/clutter/clutter-shader-types.c
+++ b/clutter/clutter-shader-types.c
@@ -388,7 +388,7 @@ clutter_shader_matrix_get_type (void)
  * Sets @floats as the contents of @value. The passed #GValue
  * must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_value_set_shader_float (GValue         *value,
@@ -418,7 +418,7 @@ clutter_value_set_shader_float (GValue         *value,
  * Sets @ints as the contents of @value. The passed #GValue
  * must have been initialized using %CLUTTER_TYPE_SHADER_INT.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_value_set_shader_int (GValue     *value,
@@ -448,7 +448,7 @@ clutter_value_set_shader_int (GValue     *value,
  * Sets @matrix as the contents of @value. The passed #GValue
  * must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_value_set_shader_matrix (GValue       *value,
@@ -483,7 +483,7 @@ clutter_value_set_shader_matrix (GValue       *value,
  *   floating point values.  The returned value is owned by the
  *   #GValue and should never be modified or freed.
  *
- *
+ * Since: 0.8
  */
 const gfloat *
 clutter_value_get_shader_float (const GValue *value,
@@ -515,7 +515,7 @@ clutter_value_get_shader_float (const GValue *value,
  *   integer values.  The returned value is owned by the #GValue and
  *   should never be modified or freed.
  *
- *
+ * Since: 0.8
  */
 const gint *
 clutter_value_get_shader_int (const GValue *value,
@@ -547,7 +547,7 @@ clutter_value_get_shader_int (const GValue *value,
  *   of floating point values. The returned value is owned by the #GValue and
  *   should never be modified or freed.
  *
- *
+ * Since: 0.8
  */
 const gfloat *
 clutter_value_get_shader_matrix (const GValue *value,
diff --git a/clutter/clutter-shader-types.h b/clutter/clutter-shader-types.h
index d0181c7..21e54f3 100644
--- a/clutter/clutter-shader-types.h
+++ b/clutter/clutter-shader-types.h
@@ -45,6 +45,8 @@ typedef struct _ClutterShaderMatrix   ClutterShaderMatrix;
  * @x: a #GValue
  *
  * Evaluates to %TRUE if @x holds a #ClutterShaderFloat.
+ *
+ * Since: 1.0
  */
 #define CLUTTER_VALUE_HOLDS_SHADER_FLOAT(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_FLOAT))
 
@@ -53,6 +55,8 @@ typedef struct _ClutterShaderMatrix   ClutterShaderMatrix;
  * @x: a #GValue
  *
  * Evaluates to %TRUE if @x holds a #ClutterShaderInt.
+ *
+ * Since: 1.0
  */
 #define CLUTTER_VALUE_HOLDS_SHADER_INT(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_INT))
 
@@ -61,6 +65,8 @@ typedef struct _ClutterShaderMatrix   ClutterShaderMatrix;
  * @x: a #GValue
  *
  * Evaluates to %TRUE if @x holds a #ClutterShaderMatrix.
+ *
+ * Since: 1.0
  */
 #define CLUTTER_VALUE_HOLDS_SHADER_MATRIX(x) (G_VALUE_HOLDS ((x), CLUTTER_TYPE_SHADER_MATRIX))
 
diff --git a/clutter/clutter-snap-constraint.c b/clutter/clutter-snap-constraint.c
index 0e624c1..c8eaea9 100644
--- a/clutter/clutter-snap-constraint.c
+++ b/clutter/clutter-snap-constraint.c
@@ -94,7 +94,7 @@ source_queue_relayout (ClutterActor          *source,
                        ClutterSnapConstraint *constraint)
 {
   if (constraint->actor != NULL)
-    _clutter_actor_queue_only_relayout (constraint->actor);
+    clutter_actor_queue_relayout (constraint->actor);
 }
 
 static void
@@ -314,7 +314,7 @@ clutter_snap_constraint_class_init (ClutterSnapConstraintClass *klass)
    *
    * The #ClutterActor used as the source for the constraint
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_SOURCE] =
     g_param_spec_object ("source",
@@ -328,7 +328,7 @@ clutter_snap_constraint_class_init (ClutterSnapConstraintClass *klass)
    *
    * The edge of the #ClutterActor that should be snapped
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_FROM_EDGE] =
     g_param_spec_enum ("from-edge",
@@ -343,7 +343,7 @@ clutter_snap_constraint_class_init (ClutterSnapConstraintClass *klass)
    *
    * The edge of the #ClutterSnapConstraint:source that should be snapped
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_TO_EDGE] =
     g_param_spec_enum ("to-edge",
@@ -359,7 +359,7 @@ clutter_snap_constraint_class_init (ClutterSnapConstraintClass *klass)
    * The offset, in pixels, between #ClutterSnapConstraint:from-edge
    * and #ClutterSnapConstraint:to-edge
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_OFFSET] =
     g_param_spec_float ("offset",
@@ -400,7 +400,7 @@ clutter_snap_constraint_init (ClutterSnapConstraint *self)
  *
  * Return value: the newly created #ClutterSnapConstraint
  *
- *
+ * Since: 1.6
  */
 ClutterConstraint *
 clutter_snap_constraint_new (ClutterActor    *source,
@@ -425,7 +425,7 @@ clutter_snap_constraint_new (ClutterActor    *source,
  *
  * Sets the source #ClutterActor for the constraint
  *
- *
+ * Since: 1.6
  */
 void
 clutter_snap_constraint_set_source (ClutterSnapConstraint *constraint,
@@ -475,7 +475,7 @@ clutter_snap_constraint_set_source (ClutterSnapConstraint *constraint,
  *
  * Return value: (transfer none): a pointer to the source actor
  *
- *
+ * Since: 1.6
  */
 ClutterActor *
 clutter_snap_constraint_get_source (ClutterSnapConstraint *constraint)
@@ -497,7 +497,7 @@ clutter_snap_constraint_get_source (ClutterSnapConstraint *constraint)
  * has been added. The @to_edge is the edge of the #ClutterActor inside
  * the #ClutterSnapConstraint:source property.
  *
- *
+ * Since: 1.6
  */
 void
 clutter_snap_constraint_set_edges (ClutterSnapConstraint *constraint,
@@ -543,7 +543,7 @@ clutter_snap_constraint_set_edges (ClutterSnapConstraint *constraint,
  *
  * Retrieves the edges used by the @constraint
  *
- *
+ * Since: 1.6
  */
 void
 clutter_snap_constraint_get_edges (ClutterSnapConstraint *constraint,
@@ -566,7 +566,7 @@ clutter_snap_constraint_get_edges (ClutterSnapConstraint *constraint,
  *
  * Sets the offset to be applied to the constraint
  *
- *
+ * Since: 1.6
  */
 void
 clutter_snap_constraint_set_offset (ClutterSnapConstraint *constraint,
@@ -593,7 +593,7 @@ clutter_snap_constraint_set_offset (ClutterSnapConstraint *constraint,
  *
  * Return value: the offset, in pixels
  *
- *
+ * Since: 1.6
  */
 gfloat
 clutter_snap_constraint_get_offset (ClutterSnapConstraint *constraint)
diff --git a/clutter/clutter-snap-constraint.h b/clutter/clutter-snap-constraint.h
index b4dec7f..e27821e 100644
--- a/clutter/clutter-snap-constraint.h
+++ b/clutter/clutter-snap-constraint.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * <structname>ClutterSnapConstraint</structname> is an opaque structure
  * whose members cannot be directly accesses
  *
- *
+ * Since: 1.6
  */
 typedef struct _ClutterSnapConstraint           ClutterSnapConstraint;
 typedef struct _ClutterSnapConstraintClass      ClutterSnapConstraintClass;
diff --git a/clutter/clutter-stage-manager.c b/clutter/clutter-stage-manager.c
index a94e473..e743653 100644
--- a/clutter/clutter-stage-manager.c
+++ b/clutter/clutter-stage-manager.c
@@ -47,6 +47,8 @@
 #include "clutter-private.h"
 #include "clutter-version.h"  
 
+#include "deprecated/clutter-stage-manager.h"
+
 enum
 {
   PROP_0,
@@ -110,7 +112,7 @@ clutter_stage_manager_class_init (ClutterStageManagerClass *klass)
    *
    * The default stage used by Clutter.
    *
-   *
+   * Since: 0.8
    */
   g_object_class_install_property (gobject_class,
                                    PROP_DEFAULT_STAGE,
@@ -128,7 +130,7 @@ clutter_stage_manager_class_init (ClutterStageManagerClass *klass)
    * The ::stage-added signal is emitted each time a new #ClutterStage
    * has been added to the stage manager.
    *
-   *
+   * Since: 0.8
    */
   manager_signals[STAGE_ADDED] =
     g_signal_new ("stage-added",
@@ -147,7 +149,7 @@ clutter_stage_manager_class_init (ClutterStageManagerClass *klass)
    * The ::stage-removed signal is emitted each time a #ClutterStage
    * has been removed from the stage manager.
    *
-   *
+   * Since: 0.8
    */
   manager_signals[STAGE_REMOVED] =
     g_signal_new ("stage-removed",
@@ -173,7 +175,7 @@ clutter_stage_manager_init (ClutterStageManager *stage_manager)
  * Return value: (transfer none): the default stage manager instance. The returned
  *   object is owned by Clutter and you should not reference or unreference it.
  *
- *
+ * Since: 0.8
  */
 ClutterStageManager *
 clutter_stage_manager_get_default (void)
@@ -186,6 +188,23 @@ clutter_stage_manager_get_default (void)
   return context->stage_manager;
 }
 
+/**
+ * clutter_stage_manager_set_default_stage:
+ * @stage_manager: a #ClutterStageManager
+ * @stage: a #ClutterStage
+ *
+ * Sets @stage as the default stage.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.2: Calling this function has no effect
+ */
+void
+clutter_stage_manager_set_default_stage (ClutterStageManager *stage_manager,
+                                         ClutterStage        *stage)
+{
+}
+
 /*< private >
  * _clutter_stage_manager_set_default_stage:
  * @stage_manager: a #ClutterStageManager
@@ -219,7 +238,7 @@ _clutter_stage_manager_set_default_stage (ClutterStageManager *stage_manager,
  * Return value: (transfer none): the default stage. The returned object
  *   is owned by Clutter and you should never reference or unreference it
  *
- *
+ * Since: 0.8
  */
 ClutterStage *
 clutter_stage_manager_get_default_stage (ClutterStageManager *stage_manager)
@@ -237,7 +256,7 @@ clutter_stage_manager_get_default_stage (ClutterStageManager *stage_manager)
  *   allocated list of #ClutterStage objects. Use g_slist_free() to
  *   deallocate it when done.
  *
- *
+ * Since: 0.8
  */
 GSList *
 clutter_stage_manager_list_stages (ClutterStageManager *stage_manager)
@@ -256,7 +275,7 @@ clutter_stage_manager_list_stages (ClutterStageManager *stage_manager)
  *   is owned by the #ClutterStageManager and should never be modified
  *   or freed
  *
- *
+ * Since: 1.0
  */
 const GSList *
 clutter_stage_manager_peek_stages (ClutterStageManager *stage_manager)
diff --git a/clutter/clutter-stage-manager.h b/clutter/clutter-stage-manager.h
index 4cfad4e..b9174b1 100644
--- a/clutter/clutter-stage-manager.h
+++ b/clutter/clutter-stage-manager.h
@@ -47,7 +47,7 @@ typedef struct _ClutterStageManagerClass        ClutterStageManagerClass;
  *
  * The #ClutterStageManager structure is private.
  *
- *
+ * Since: 1.0
  */
 
 /**
@@ -56,7 +56,7 @@ typedef struct _ClutterStageManagerClass        ClutterStageManagerClass;
  * The #ClutterStageManagerClass structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.0
  */
 struct _ClutterStageManagerClass
 {
diff --git a/clutter/clutter-stage-window.h b/clutter/clutter-stage-window.h
index 1dc75c8..9b38994 100644
--- a/clutter/clutter-stage-window.h
+++ b/clutter/clutter-stage-window.h
@@ -17,7 +17,7 @@ G_BEGIN_DECLS
  * <structname>ClutterStageWindow</structname> is an opaque structure
  * whose members should not be accessed directly
  *
- *
+ * Since: 0.8
  */
 typedef struct _ClutterStageWindow      ClutterStageWindow; /* dummy */
 typedef struct _ClutterStageWindowIface ClutterStageWindowIface;
@@ -27,7 +27,7 @@ typedef struct _ClutterStageWindowIface ClutterStageWindowIface;
  *
  * The interface implemented by backends for stage windows
  *
- *
+ * Since: 0.8
  */
 struct _ClutterStageWindowIface
 {
diff --git a/clutter/clutter-stage.c b/clutter/clutter-stage.c
index d641180..333a3d3 100644
--- a/clutter/clutter-stage.c
+++ b/clutter/clutter-stage.c
@@ -49,9 +49,12 @@
 #include <math.h>
 #include <cairo.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
 #define CLUTTER_ENABLE_EXPERIMENTAL_API
 
 #include "clutter-stage.h"
+#include "deprecated/clutter-stage.h"
+#include "deprecated/clutter-container.h"
 
 #include "clutter-actor-private.h"
 #include "clutter-backend-private.h"
@@ -76,7 +79,11 @@
 
 #include "cogl/cogl.h"
 
-G_DEFINE_TYPE (ClutterStage, clutter_stage, CLUTTER_TYPE_ACTOR)
+static void clutter_container_iface_init (ClutterContainerIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterStage, clutter_stage, CLUTTER_TYPE_GROUP,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
+                                                clutter_container_iface_init))
 
 #define CLUTTER_STAGE_GET_PRIVATE(obj) \
 (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_STAGE, ClutterStagePrivate))
@@ -118,6 +125,8 @@ struct _ClutterStagePrivate
   CoglMatrix view;
   float viewport[4];
 
+  ClutterFog fog;
+
   gchar *title;
   ClutterActor *key_focused_actor;
 
@@ -155,6 +164,7 @@ struct _ClutterStagePrivate
   guint is_fullscreen          : 1;
   guint is_cursor_visible      : 1;
   guint is_user_resizable      : 1;
+  guint use_fog                : 1;
   guint throttle_motion_events : 1;
   guint use_alpha              : 1;
   guint min_size_changed       : 1;
@@ -204,6 +214,70 @@ static void _clutter_stage_maybe_finish_queue_redraws (ClutterStage *stage);
 static void free_queue_redraw_entry (ClutterStageQueueRedrawEntry *entry);
 
 static void
+clutter_stage_real_add (ClutterContainer *container,
+                        ClutterActor     *child)
+{
+  clutter_actor_add_child (CLUTTER_ACTOR (container), child);
+}
+
+static void
+clutter_stage_real_remove (ClutterContainer *container,
+                           ClutterActor     *child)
+{
+  clutter_actor_remove_child (CLUTTER_ACTOR (container), child);
+}
+
+static void
+clutter_stage_real_foreach (ClutterContainer *container,
+                            ClutterCallback   callback,
+                            gpointer          user_data)
+{
+  ClutterActorIter iter;
+  ClutterActor *child;
+
+  clutter_actor_iter_init (&iter, CLUTTER_ACTOR (container));
+
+  while (clutter_actor_iter_next (&iter, &child))
+    callback (child, user_data);
+}
+
+static void
+clutter_stage_real_raise (ClutterContainer *container,
+                          ClutterActor     *child,
+                          ClutterActor     *sibling)
+{
+  clutter_actor_set_child_above_sibling (CLUTTER_ACTOR (container),
+                                         child,
+                                         sibling);
+}
+
+static void
+clutter_stage_real_lower (ClutterContainer *container,
+                          ClutterActor     *child,
+                          ClutterActor     *sibling)
+{
+  clutter_actor_set_child_below_sibling (CLUTTER_ACTOR (container),
+                                         child,
+                                         sibling);
+}
+
+static void
+clutter_stage_real_sort_depth_order (ClutterContainer *container)
+{
+}
+
+static void
+clutter_container_iface_init (ClutterContainerIface *iface)
+{
+  iface->add = clutter_stage_real_add;
+  iface->remove = clutter_stage_real_remove;
+  iface->foreach = clutter_stage_real_foreach;
+  iface->raise = clutter_stage_real_raise;
+  iface->lower = clutter_stage_real_lower;
+  iface->sort_depth_order = clutter_stage_real_sort_depth_order;
+}
+
+static void
 clutter_stage_get_preferred_width (ClutterActor *self,
                                    gfloat        for_height,
                                    gfloat       *min_width_p,
@@ -266,6 +340,23 @@ queue_full_redraw (ClutterStage *stage)
   _clutter_stage_window_add_redraw_clip (stage_window, NULL);
 }
 
+static gboolean
+stage_is_default (ClutterStage *stage)
+{
+  ClutterStageManager *stage_manager;
+  ClutterStageWindow *impl;
+
+  stage_manager = clutter_stage_manager_get_default ();
+  if (stage != clutter_stage_manager_get_default_stage (stage_manager))
+    return FALSE;
+
+  impl = _clutter_stage_get_window (stage);
+  if (impl != _clutter_stage_get_default_window ())
+    return FALSE;
+
+  return TRUE;
+}
+
 static void
 clutter_stage_allocate (ClutterActor           *self,
                         const ClutterActorBox  *box,
@@ -921,31 +1012,19 @@ _clutter_stage_process_queued_events (ClutterStage *stage)
         check_device = TRUE;
 
       /* Skip consecutive motion events coming from the same device */
-      if (priv->throttle_motion_events && next_event != NULL)
-        {
-          if (event->type == CLUTTER_MOTION &&
-              (next_event->type == CLUTTER_MOTION ||
-               next_event->type == CLUTTER_LEAVE) &&
-              (!check_device || (device == next_device)))
-            {
-              CLUTTER_NOTE (EVENT,
-                            "Omitting motion event at %d, %d",
-                            (int) event->motion.x,
-                            (int) event->motion.y);
-              goto next_event;
-            }
-          else if (event->type == CLUTTER_TOUCH_UPDATE &&
-                   (next_event->type == CLUTTER_TOUCH_UPDATE ||
-                    next_event->type == CLUTTER_LEAVE) &&
-                   (!check_device || (device == next_device)))
-            {
-              CLUTTER_NOTE (EVENT,
-                            "Omitting touch update event at %d, %d",
-                            (int) event->touch.x,
-                            (int) event->touch.y);
-              goto next_event;
-            }
-        }
+      if (priv->throttle_motion_events &&
+          next_event != NULL &&
+         event->type == CLUTTER_MOTION &&
+         (next_event->type == CLUTTER_MOTION ||
+          next_event->type == CLUTTER_LEAVE) &&
+          (!check_device || (device == next_device)))
+       {
+          CLUTTER_NOTE (EVENT,
+                        "Omitting motion event at %d, %d",
+                        (int) event->motion.x,
+                        (int) event->motion.y);
+          goto next_event;
+       }
 
       _clutter_process_event (event);
 
@@ -1278,7 +1357,7 @@ _clutter_stage_has_full_redraw_queued (ClutterStage *stage)
  * stage is being painted. If there is no current redraw clip then
  * this function will set @clip to the full extents of the stage.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_stage_get_redraw_clip_bounds (ClutterStage          *stage,
@@ -1546,7 +1625,10 @@ static gboolean
 clutter_stage_real_delete_event (ClutterStage *stage,
                                  ClutterEvent *event)
 {
-  clutter_actor_destroy (CLUTTER_ACTOR (stage));
+  if (stage_is_default (stage))
+    clutter_main_quit ();
+  else
+    clutter_actor_destroy (CLUTTER_ACTOR (stage));
 
   return TRUE;
 }
@@ -1635,6 +1717,14 @@ clutter_stage_set_property (GObject      *object,
       clutter_stage_set_user_resizable (stage, g_value_get_boolean (value));
       break;
 
+    case PROP_USE_FOG:
+      clutter_stage_set_use_fog (stage, g_value_get_boolean (value));
+      break;
+
+    case PROP_FOG:
+      clutter_stage_set_fog (stage, g_value_get_boxed (value));
+      break;
+
     case PROP_USE_ALPHA:
       clutter_stage_set_use_alpha (stage, g_value_get_boolean (value));
       break;
@@ -1701,6 +1791,14 @@ clutter_stage_get_property (GObject    *gobject,
       g_value_set_boolean (value, priv->is_user_resizable);
       break;
 
+    case PROP_USE_FOG:
+      g_value_set_boolean (value, priv->use_fog);
+      break;
+
+    case PROP_FOG:
+      g_value_set_boxed (value, &priv->fog);
+      break;
+
     case PROP_USE_ALPHA:
       g_value_set_boolean (value, priv->use_alpha);
       break;
@@ -1824,7 +1922,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    * to get notification if the fullscreen state has been successfully
    * achieved.
    *
-   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("fullscreen-set",
                                 P_("Fullscreen Set"),
@@ -1835,6 +1933,21 @@ clutter_stage_class_init (ClutterStageClass *klass)
                                    PROP_FULLSCREEN_SET,
                                    pspec);
   /**
+   * ClutterStage:offscreen:
+   *
+   * Whether the stage should be rendered in an offscreen buffer.
+   *
+   * Deprecated: 1.10: This property does not do anything.
+   */
+  pspec = g_param_spec_boolean ("offscreen",
+                                P_("Offscreen"),
+                                P_("Whether the main stage should be rendered offscreen"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE | G_PARAM_DEPRECATED);
+  g_object_class_install_property (gobject_class,
+                                   PROP_OFFSCREEN,
+                                   pspec);
+  /**
    * ClutterStage:cursor-visible:
    *
    * Whether the mouse pointer should be visible
@@ -1852,7 +1965,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    *
    * Whether the stage is resizable via user interaction.
    *
-   *
+   * Since: 0.4
    */
   pspec = g_param_spec_boolean ("user-resizable",
                                 P_("User Resizable"),
@@ -1863,12 +1976,28 @@ clutter_stage_class_init (ClutterStageClass *klass)
                                    PROP_USER_RESIZABLE,
                                    pspec);
   /**
+   * ClutterStage:color:
+   *
+   * The background color of the main stage.
+   *
+   * Deprecated: 1.10: Use the #ClutterActor:background-color property of
+   *   #ClutterActor instead.
+   */
+  pspec = clutter_param_spec_color ("color",
+                                    P_("Color"),
+                                    P_("The color of the stage"),
+                                    &default_stage_color,
+                                    CLUTTER_PARAM_READWRITE |
+                                    G_PARAM_DEPRECATED);
+  g_object_class_install_property (gobject_class, PROP_COLOR, pspec);
+
+  /**
    * ClutterStage:perspective:
    *
    * The parameters used for the perspective projection from 3D
    * coordinates to 2D
    *
-   *
+   * Since: 0.8.2
    */
   pspec = g_param_spec_boxed ("perspective",
                               P_("Perspective"),
@@ -1884,7 +2013,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    *
    * The stage's title - usually displayed in stage windows title decorations.
    *
-   *
+   * Since: 0.4
    */
   pspec = g_param_spec_string ("title",
                                P_("Title"),
@@ -1894,6 +2023,41 @@ clutter_stage_class_init (ClutterStageClass *klass)
   g_object_class_install_property (gobject_class, PROP_TITLE, pspec);
 
   /**
+   * ClutterStage:use-fog:
+   *
+   * Whether the stage should use a linear GL "fog" in creating the
+   * depth-cueing effect, to enhance the perception of depth by fading
+   * actors farther from the viewpoint.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.10: This property does not do anything.
+   */
+  pspec = g_param_spec_boolean ("use-fog",
+                                P_("Use Fog"),
+                                P_("Whether to enable depth cueing"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE | G_PARAM_DEPRECATED);
+  g_object_class_install_property (gobject_class, PROP_USE_FOG, pspec);
+
+  /**
+   * ClutterStage:fog:
+   *
+   * The settings for the GL "fog", used only if #ClutterStage:use-fog
+   * is set to %TRUE
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.10: This property does not do anything.
+   */
+  pspec = g_param_spec_boxed ("fog",
+                              P_("Fog"),
+                              P_("Settings for the depth cueing"),
+                              CLUTTER_TYPE_FOG,
+                              CLUTTER_PARAM_READWRITE | G_PARAM_DEPRECATED);
+  g_object_class_install_property (gobject_class, PROP_FOG, pspec);
+
+  /**
    * ClutterStage:use-alpha:
    *
    * Whether the #ClutterStage should honour the alpha component of the
@@ -1901,7 +2065,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    * a compositing manager this will result in the stage being blended
    * with the underlying window(s)
    *
-   *
+   * Since: 1.2
    */
   pspec = g_param_spec_boolean ("use-alpha",
                                 P_("Use Alpha"),
@@ -1918,7 +2082,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    *
    * If %NULL, the #ClutterStage will receive the events.
    *
-   *
+   * Since: 1.2
    */
   pspec = g_param_spec_object ("key-focus",
                                P_("Key Focus"),
@@ -1935,7 +2099,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    *
    * See clutter_stage_set_no_clear_hint() for further information.
    *
-   *
+   * Since: 1.4
    */
   pspec = g_param_spec_boolean ("no-clear-hint",
                                 P_("No Clear Hint"),
@@ -1949,7 +2113,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    *
    * Whether the #ClutterStage should accept key focus when shown.
    *
-   *
+   * Since: 1.6
    */
   pspec = g_param_spec_boolean ("accept-focus",
                                 P_("Accept Focus"),
@@ -1964,7 +2128,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    *
    * The ::fullscreen signal is emitted when the stage is made fullscreen.
    *
-   *
+   * Since: 0.6
    */
   stage_signals[FULLSCREEN] =
     g_signal_new (I_("fullscreen"),
@@ -1981,7 +2145,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    * The ::unfullscreen signal is emitted when the stage leaves a fullscreen
    * state.
    *
-   *
+   * Since: 0.6
    */
   stage_signals[UNFULLSCREEN] =
     g_signal_new (I_("unfullscreen"),
@@ -1998,7 +2162,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    * The ::activate signal is emitted when the stage receives key focus
    * from the underlying window system.
    *
-   *
+   * Since: 0.6
    */
   stage_signals[ACTIVATE] =
     g_signal_new (I_("activate"),
@@ -2015,7 +2179,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    * The ::activate signal is emitted when the stage loses key focus
    * from the underlying window system.
    *
-   *
+   * Since: 0.6
    */
   stage_signals[DEACTIVATE] =
     g_signal_new (I_("deactivate"),
@@ -2045,7 +2209,7 @@ clutter_stage_class_init (ClutterStageClass *klass)
    * embed #ClutterStage in native windows. It is not emitted for
    * backends that use a static frame buffer.</note>
    *
-   *
+   * Since: 1.2
    */
   stage_signals[DELETE_EVENT] =
     g_signal_new (I_("delete-event"),
@@ -2080,8 +2244,6 @@ clutter_stage_init (ClutterStage *self)
   ClutterBackend *backend;
   GError *error;
 
-  CLUTTER_ACTOR_UNSET_FLAGS (self, CLUTTER_ACTOR_VISIBLE);
-
   /* a stage is a top-level object */
   CLUTTER_SET_PRIVATE_FLAGS (self, CLUTTER_IS_TOPLEVEL);
 
@@ -2115,6 +2277,7 @@ clutter_stage_init (ClutterStage *self)
   priv->is_fullscreen = FALSE;
   priv->is_user_resizable = FALSE;
   priv->is_cursor_visible = TRUE;
+  priv->use_fog = FALSE;
   priv->throttle_motion_events = TRUE;
   priv->min_size_changed = FALSE;
   priv->sync_delay = -1;
@@ -2153,6 +2316,10 @@ clutter_stage_init (ClutterStage *self)
                                       geom.height);
 
 
+  /* FIXME - remove for 2.0 */
+  priv->fog.z_near = 1.0;
+  priv->fog.z_far  = 2.0;
+
   priv->relayout_pending = TRUE;
 
   clutter_actor_set_reactive (CLUTTER_ACTOR (self), TRUE);
@@ -2175,6 +2342,90 @@ clutter_stage_init (ClutterStage *self)
   priv->pick_id_pool = _clutter_id_pool_new (256);
 }
 
+/**
+ * clutter_stage_get_default:
+ *
+ * Retrieves a #ClutterStage singleton.
+ *
+ * This function is not as useful as it sounds, and will most likely
+ * by deprecated in the future. Application code should only create
+ * a #ClutterStage instance using clutter_stage_new(), and manage the
+ * lifetime of the stage manually.
+ *
+ * The default stage singleton has a platform-specific behaviour: on
+ * platforms without the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag
+ * set, the first #ClutterStage instance will also be set to be the
+ * default stage instance, and this function will always return a
+ * pointer to it.
+ *
+ * On platforms with the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag
+ * set, the default stage will be created by the first call to this
+ * function, and every following call will return the same pointer to
+ * it.
+ *
+ * Return value: (transfer none) (type Clutter.Stage): the main
+ *   #ClutterStage. You should never destroy or unref the returned
+ *   actor.
+ *
+ * Deprecated: 1.10: Use clutter_stage_new() instead.
+ */
+ClutterActor *
+clutter_stage_get_default (void)
+{
+  ClutterStageManager *stage_manager = clutter_stage_manager_get_default ();
+  ClutterStage *stage;
+
+  stage = clutter_stage_manager_get_default_stage (stage_manager);
+  if (G_UNLIKELY (stage == NULL))
+    {
+      /* This will take care of automatically adding the stage to the
+       * stage manager and setting it as the default. Its floating
+       * reference will be claimed by the stage manager.
+       */
+      stage = g_object_new (CLUTTER_TYPE_STAGE, NULL);
+      _clutter_stage_manager_set_default_stage (stage_manager, stage);
+
+      /* the default stage is realized by default */
+      clutter_actor_realize (CLUTTER_ACTOR (stage));
+    }
+
+  return CLUTTER_ACTOR (stage);
+}
+
+/**
+ * clutter_stage_set_color:
+ * @stage: A #ClutterStage
+ * @color: A #ClutterColor
+ *
+ * Sets the stage color.
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_background_color() instead.
+ */
+void
+clutter_stage_set_color (ClutterStage       *stage,
+                        const ClutterColor *color)
+{
+  clutter_actor_set_background_color (CLUTTER_ACTOR (stage), color);
+
+  g_object_notify (G_OBJECT (stage), "color");
+}
+
+/**
+ * clutter_stage_get_color:
+ * @stage: A #ClutterStage
+ * @color: (out caller-allocates): return location for a #ClutterColor
+ *
+ * Retrieves the stage color.
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_background_color() instead.
+ */
+void
+clutter_stage_get_color (ClutterStage *stage,
+                        ClutterColor *color)
+{
+  clutter_actor_get_background_color (CLUTTER_ACTOR (stage), color);
+}
+
 static void
 clutter_stage_set_perspective_internal (ClutterStage       *stage,
                                         ClutterPerspective *perspective)
@@ -2259,7 +2510,7 @@ clutter_stage_get_perspective (ClutterStage       *stage,
  * Retrieves the @stage's projection matrix. This is derived from the
  * current perspective set using clutter_stage_set_perspective().
  *
- *
+ * Since: 1.6
  */
 void
 _clutter_stage_get_projection_matrix (ClutterStage *stage,
@@ -2316,7 +2567,7 @@ _clutter_stage_dirty_projection (ClutterStage *stage)
  * OpenGL 4.0 has introduced floating point viewports which we might
  * want to expose via this API eventually.
  *
- *
+ * Since: 1.6
  */
 void
 _clutter_stage_set_viewport (ClutterStage *stage,
@@ -2375,7 +2626,7 @@ _clutter_stage_dirty_viewport (ClutterStage *stage)
  * is TRUE then @x and @y will be set to 0 and @width and @height will equal
  * the width if the stage window.
  *
- *
+ * Since: 1.6
  */
 void
 _clutter_stage_get_viewport (ClutterStage *stage,
@@ -2414,7 +2665,7 @@ _clutter_stage_get_viewport (ClutterStage *stage,
  * #ClutterStage::unfullscreen signals, or use the notify signal
  * for the #ClutterStage:fullscreen-set property
  *
- *
+ * Since: 1.0
  */
 void
 clutter_stage_set_fullscreen (ClutterStage *stage,
@@ -2460,7 +2711,7 @@ clutter_stage_set_fullscreen (ClutterStage *stage,
  *
  * Return value: %TRUE if the stage is full screen
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_stage_get_fullscreen (ClutterStage *stage)
@@ -2478,7 +2729,7 @@ clutter_stage_get_fullscreen (ClutterStage *stage)
  * Sets if the stage is resizable by user interaction (e.g. via
  * window manager controls)
  *
- *
+ * Since: 0.4
  */
 void
 clutter_stage_set_user_resizable (ClutterStage *stage,
@@ -2516,7 +2767,7 @@ clutter_stage_set_user_resizable (ClutterStage *stage,
  *
  * Return value: %TRUE if the stage is resizable by the user.
  *
- *
+ * Since: 0.4
  */
 gboolean
 clutter_stage_get_user_resizable (ClutterStage *stage)
@@ -2563,7 +2814,7 @@ clutter_stage_show_cursor (ClutterStage *stage)
  *
  * Makes the cursor invisible on the stage window
  *
- *
+ * Since: 0.4
  */
 void
 clutter_stage_hide_cursor (ClutterStage *stage)
@@ -2681,7 +2932,7 @@ clutter_stage_get_actor_at_pos (ClutterStage    *stage,
  *
  * Return value: the return value from the signal emission
  *
- *
+ * Since: 0.4
  */
 gboolean
 clutter_stage_event (ClutterStage *stage,
@@ -2749,7 +3000,7 @@ clutter_stage_event (ClutterStage *stage,
  *
  * Sets the stage title.
  *
- *
+ * Since: 0.4
  **/
 void
 clutter_stage_set_title (ClutterStage       *stage,
@@ -2782,7 +3033,7 @@ clutter_stage_set_title (ClutterStage       *stage,
  * returned string is owned by the actor and should not
  * be modified or freed.
  *
- *
+ * Since: 0.4
  **/
 const gchar *
 clutter_stage_get_title (ClutterStage       *stage)
@@ -2809,7 +3060,7 @@ on_key_focus_destroy (ClutterActor *actor,
  * all the key events. If @actor is %NULL, the stage will receive
  * focus.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_stage_set_key_focus (ClutterStage *stage,
@@ -2880,7 +3131,7 @@ clutter_stage_set_key_focus (ClutterStage *stage,
  *
  * Return value: (transfer none): the actor with key focus, or the stage
  *
- *
+ * Since: 0.6
  */
 ClutterActor *
 clutter_stage_get_key_focus (ClutterStage *stage)
@@ -2893,6 +3144,136 @@ clutter_stage_get_key_focus (ClutterStage *stage)
   return CLUTTER_ACTOR (stage);
 }
 
+/**
+ * clutter_stage_get_use_fog:
+ * @stage: the #ClutterStage
+ *
+ * Gets whether the depth cueing effect is enabled on @stage.
+ *
+ * Return value: %TRUE if the depth cueing effect is enabled
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: This function will always return %FALSE
+ */
+gboolean
+clutter_stage_get_use_fog (ClutterStage *stage)
+{
+  g_return_val_if_fail (CLUTTER_IS_STAGE (stage), FALSE);
+
+  return stage->priv->use_fog;
+}
+
+/**
+ * clutter_stage_set_use_fog:
+ * @stage: the #ClutterStage
+ * @fog: %TRUE for enabling the depth cueing effect
+ *
+ * Sets whether the depth cueing effect on the stage should be enabled
+ * or not.
+ *
+ * Depth cueing is a 3D effect that makes actors farther away from the
+ * viewing point less opaque, by fading them with the stage color.
+
+ * The parameters of the GL fog used can be changed using the
+ * clutter_stage_set_fog() function.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: Calling this function produces no visible effect
+ */
+void
+clutter_stage_set_use_fog (ClutterStage *stage,
+                           gboolean      fog)
+{
+}
+
+/**
+ * clutter_stage_set_fog:
+ * @stage: the #ClutterStage
+ * @fog: a #ClutterFog structure
+ *
+ * Sets the fog (also known as "depth cueing") settings for the @stage.
+ *
+ * A #ClutterStage will only use a linear fog progression, which
+ * depends solely on the distance from the viewer. The cogl_set_fog()
+ * function in COGL exposes more of the underlying implementation,
+ * and allows changing the for progression function. It can be directly
+ * used by disabling the #ClutterStage:use-fog property and connecting
+ * a signal handler to the #ClutterActor::paint signal on the @stage,
+ * like:
+ *
+ * |[
+ *   clutter_stage_set_use_fog (stage, FALSE);
+ *   g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
+ * ]|
+ *
+ * The paint signal handler will call cogl_set_fog() with the
+ * desired settings:
+ *
+ * |[
+ *   static void
+ *   on_stage_paint (ClutterActor *actor)
+ *   {
+ *     ClutterColor stage_color = { 0, };
+ *     CoglColor fog_color = { 0, };
+ *
+ *     /&ast; set the fog color to the stage background color &ast;/
+ *     clutter_stage_get_color (CLUTTER_STAGE (actor), &amp;stage_color);
+ *     cogl_color_init_from_4ub (&amp;fog_color,
+ *                               stage_color.red,
+ *                               stage_color.green,
+ *                               stage_color.blue,
+ *                               stage_color.alpha);
+ *
+ *     /&ast; enable fog &ast;/
+ *     cogl_set_fog (&amp;fog_color,
+ *                   COGL_FOG_MODE_EXPONENTIAL, /&ast; mode &ast;/
+ *                   0.5,                       /&ast; density &ast;/
+ *                   5.0, 30.0);                /&ast; z_near and z_far &ast;/
+ *   }
+ * ]|
+ *
+ * <note>The fogging functions only work correctly when the visible actors use
+ * unmultiplied alpha colors. By default Cogl will premultiply textures and
+ * cogl_set_source_color() will premultiply colors, so unless you explicitly
+ * load your textures requesting an unmultiplied internal format and use
+ * cogl_material_set_color() you can only use fogging with fully opaque actors.
+ * Support for premultiplied colors will improve in the future when we can
+ * depend on fragment shaders.</note>
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: Fog settings are ignored.
+ */
+void
+clutter_stage_set_fog (ClutterStage *stage,
+                       ClutterFog   *fog)
+{
+}
+
+/**
+ * clutter_stage_get_fog:
+ * @stage: the #ClutterStage
+ * @fog: (out): return location for a #ClutterFog structure
+ *
+ * Retrieves the current depth cueing settings from the stage.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: This function will always return the default
+ *   values of #ClutterFog
+ */
+void
+clutter_stage_get_fog (ClutterStage *stage,
+                        ClutterFog   *fog)
+{
+  g_return_if_fail (CLUTTER_IS_STAGE (stage));
+  g_return_if_fail (fog != NULL);
+
+  *fog = stage->priv->fog;
+}
+
 /*** Perspective boxed type ******/
 
 static gpointer
@@ -2915,6 +3296,24 @@ G_DEFINE_BOXED_TYPE (ClutterPerspective, clutter_perspective,
                      clutter_perspective_copy,
                      clutter_perspective_free);
 
+static gpointer
+clutter_fog_copy (gpointer data)
+{
+  if (G_LIKELY (data))
+    return g_slice_dup (ClutterFog, data);
+
+  return NULL;
+}
+
+static void
+clutter_fog_free (gpointer data)
+{
+  if (G_LIKELY (data))
+    g_slice_free (ClutterFog, data);
+}
+
+G_DEFINE_BOXED_TYPE (ClutterFog, clutter_fog, clutter_fog_copy, clutter_fog_free);
+
 /**
  * clutter_stage_new:
  *
@@ -2933,7 +3332,7 @@ G_DEFINE_BOXED_TYPE (ClutterPerspective, clutter_perspective,
  *   not support multiple stages. Use clutter_actor_destroy() to
  *   programmatically close the returned stage.
  *
- *
+ * Since: 0.8
  */
 ClutterActor *
 clutter_stage_new (void)
@@ -2949,7 +3348,7 @@ clutter_stage_new (void)
  * current for the passed stage. It is not intended to
  * be used by applications.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_stage_ensure_current (ClutterStage *stage)
@@ -2975,7 +3374,7 @@ clutter_stage_ensure_current (ClutterStage *stage)
  * when embedding a #ClutterStage into a toolkit with another
  * windowing system, like GTK+.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_stage_ensure_viewport (ClutterStage *stage)
@@ -3182,7 +3581,7 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage)
  * used when embedding a #ClutterStage into a toolkit with
  * another windowing system, like GTK+.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_stage_ensure_redraw (ClutterStage *stage)
@@ -3204,6 +3603,50 @@ clutter_stage_ensure_redraw (ClutterStage *stage)
   _clutter_master_clock_start_running (master_clock);
 }
 
+/**
+ * clutter_stage_queue_redraw:
+ * @stage: the #ClutterStage
+ *
+ * Queues a redraw for the passed stage.
+ *
+ * <note>Applications should call clutter_actor_queue_redraw() and not
+ * this function.</note>
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_actor_queue_redraw() instead.
+ */
+void
+clutter_stage_queue_redraw (ClutterStage *stage)
+{
+  g_return_if_fail (CLUTTER_IS_STAGE (stage));
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (stage));
+}
+
+/**
+ * clutter_stage_is_default:
+ * @stage: a #ClutterStage
+ *
+ * Checks if @stage is the default stage, or an instance created using
+ * clutter_stage_new() but internally using the same implementation.
+ *
+ * Return value: %TRUE if the passed stage is the default one
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Track the stage pointer inside your application
+ *   code, or use clutter_actor_get_stage() to retrieve the stage for
+ *   a given actor.
+ */
+gboolean
+clutter_stage_is_default (ClutterStage *stage)
+{
+  g_return_val_if_fail (CLUTTER_IS_STAGE (stage), FALSE);
+
+  return stage_is_default (stage);
+}
+
 void
 _clutter_stage_set_window (ClutterStage       *stage,
                            ClutterStageWindow *stage_window)
@@ -3252,7 +3695,7 @@ _clutter_stage_get_default_window (void)
  * This function should only be used if you want to have all
  * the motion events delivered to your application code.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_stage_set_throttle_motion_events (ClutterStage *stage,
@@ -3277,7 +3720,7 @@ clutter_stage_set_throttle_motion_events (ClutterStage *stage,
  * Return value: %TRUE if the motion events are being throttled,
  *   and %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_stage_get_throttle_motion_events (ClutterStage *stage)
@@ -3296,7 +3739,7 @@ clutter_stage_get_throttle_motion_events (ClutterStage *stage)
  * Sets whether the @stage should honour the #ClutterActor:opacity and
  * the alpha channel of the #ClutterStage:color
  *
- *
+ * Since: 1.2
  */
 void
 clutter_stage_set_use_alpha (ClutterStage *stage,
@@ -3327,7 +3770,7 @@ clutter_stage_set_use_alpha (ClutterStage *stage,
  * Return value: %TRUE if the stage should honour the opacity and the
  *   alpha channel of the stage color
  *
- *
+ * Since: 1.2
  */
 gboolean
 clutter_stage_get_use_alpha (ClutterStage *stage)
@@ -3354,7 +3797,7 @@ clutter_stage_get_use_alpha (ClutterStage *stage)
  *
  * This function has no effect if @stage is fullscreen
  *
- *
+ * Since: 1.2
  */
 void
 clutter_stage_set_minimum_size (ClutterStage *stage,
@@ -3385,7 +3828,7 @@ clutter_stage_set_minimum_size (ClutterStage *stage,
  * it is specific to the #ClutterStage implementation inside the
  * Clutter backend
  *
- *
+ * Since: 1.2
  */
 void
 clutter_stage_get_minimum_size (ClutterStage *stage,
@@ -3482,7 +3925,7 @@ _clutter_stage_clear_update_time (ClutterStage *stage)
  * clearing you might end up with visual artifacts while painting the
  * contents of the stage.</para></warning>
  *
- *
+ * Since: 1.4
  */
 void
 clutter_stage_set_no_clear_hint (ClutterStage *stage,
@@ -3518,7 +3961,7 @@ clutter_stage_set_no_clear_hint (ClutterStage *stage,
  * Return value: %TRUE if the stage should not clear itself on every paint
  *   cycle, and %FALSE otherwise
  *
- *
+ * Since: 1.4
  */
 gboolean
 clutter_stage_get_no_clear_hint (ClutterStage *stage)
@@ -3741,7 +4184,7 @@ _clutter_stage_maybe_finish_queue_redraws (ClutterStage *stage)
  * This function should be called before showing @stage using
  * clutter_actor_show().
  *
- *
+ * Since: 1.6
  */
 void
 clutter_stage_set_accept_focus (ClutterStage *stage,
@@ -3771,7 +4214,7 @@ clutter_stage_set_accept_focus (ClutterStage *stage,
  * Return value: %TRUE if the #ClutterStage should accept focus, and %FALSE
  *   otherwise
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_stage_get_accept_focus (ClutterStage *stage)
@@ -3810,7 +4253,7 @@ clutter_stage_get_accept_focus (ClutterStage *stage)
  * the pointer is not going to change, so it's meaningless to perform
  * a pick.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_stage_set_motion_events_enabled (ClutterStage *stage,
@@ -3837,7 +4280,7 @@ clutter_stage_set_motion_events_enabled (ClutterStage *stage,
  * Return value: %TRUE if the per-actor motion event delivery is enabled
  *   and %FALSE otherwise
  *
- *
+ * Since: 1.8
  */
 gboolean
 clutter_stage_get_motion_events_enabled (ClutterStage *stage)
@@ -4106,6 +4549,7 @@ _clutter_stage_update_state (ClutterStage      *stage,
  * using a larger value will reduce latency but risks skipping a frame if
  * drawing the stage takes too long.
  *
+ * Since: 1.14
  * Stability: unstable
  */
 void
@@ -4125,6 +4569,7 @@ clutter_stage_set_sync_delay (ClutterStage *stage,
  * possible, ignoring any delay that clutter_stage_set_sync_delay()
  * would normally cause.
  *
+ * Since: 1.14
  * Stability: unstable
  */
 void
diff --git a/clutter/clutter-stage.h b/clutter/clutter-stage.h
index 9c49c18..af6b091 100644
--- a/clutter/clutter-stage.h
+++ b/clutter/clutter-stage.h
@@ -29,7 +29,7 @@
 #define __CLUTTER_STAGE_H__
 
 #include <clutter/clutter-types.h>
-#include <clutter/clutter-actor.h>
+#include <clutter/clutter-group.h>
 
 G_BEGIN_DECLS
 
@@ -50,12 +50,12 @@ typedef struct _ClutterStagePrivate ClutterStagePrivate;
  * The #ClutterStage structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 0.1
  */
 struct _ClutterStage
 {
   /*< private >*/
-  ClutterActor parent_instance;
+  ClutterGroup parent_instance;
 
   ClutterStagePrivate *priv;
 };
@@ -69,13 +69,13 @@ struct _ClutterStage
  *
  * The #ClutterStageClass structure contains only private data
  *
- *
+ * Since: 0.1
  */
 
 struct _ClutterStageClass
 {
   /*< private >*/
-  ClutterActorClass parent_class;
+  ClutterGroupClass parent_class;
 
   /*< public >*/
   /* signals */
@@ -89,7 +89,7 @@ struct _ClutterStageClass
 
   /*< private >*/
   /* padding for future expansion */
-  gpointer _padding_dummy[16];
+  gpointer _padding_dummy[31];
 };
 
 /**
@@ -105,7 +105,7 @@ struct _ClutterStageClass
  * Stage perspective definition. #ClutterPerspective is only used by
  * the fixed point version of clutter_stage_set_perspective().
  *
- *
+ * Since: 0.4
  */
 struct _ClutterPerspective
 {
@@ -115,7 +115,28 @@ struct _ClutterPerspective
   gfloat z_far;
 };
 
+/**
+ * ClutterFog:
+ * @z_near: starting distance from the viewer to the near clipping
+ *   plane (always positive)
+ * @z_far: final distance from the viewer to the far clipping
+ *   plane (always positive)
+ *
+ * Fog settings used to create the depth cueing effect.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.10: The fog-related API in #ClutterStage has been
+ *   deprecated as well.
+ */
+struct _ClutterFog
+{
+  gfloat z_near;
+  gfloat z_far;
+};
+
 GType clutter_perspective_get_type (void) G_GNUC_CONST;
+GType clutter_fog_get_type (void) G_GNUC_CONST;
 GType clutter_stage_get_type (void) G_GNUC_CONST;
 
 ClutterActor *  clutter_stage_new                               (void);
diff --git a/clutter/clutter-swipe-action.c b/clutter/clutter-swipe-action.c
index 7b353d3..0b0886b 100644
--- a/clutter/clutter-swipe-action.c
+++ b/clutter/clutter-swipe-action.c
@@ -34,7 +34,7 @@
  * #ClutterSwipeAction is a sub-class of #ClutterGestureAction that implements
  * the logic for recognizing swipe gestures.
  *
- *
+ * Since: 1.8
  */
 
 #ifdef HAVE_CONFIG_H
@@ -142,7 +142,7 @@ gesture_end (ClutterGestureAction *action,
   gfloat press_x, press_y;
   gfloat release_x, release_y;
   ClutterSwipeDirection direction = 0;
-  gboolean unused;
+  gboolean can_emit_swipe;
 
   clutter_gesture_action_get_press_coords (action,
                                            0,
@@ -162,8 +162,20 @@ gesture_end (ClutterGestureAction *action,
   else if (press_y - release_y > priv->threshold)
     direction |= CLUTTER_SWIPE_DIRECTION_UP;
 
+  /* XXX:2.0 remove */
   g_signal_emit (action, swipe_signals[SWIPE], 0, actor, direction,
-                 &unused);
+                 &can_emit_swipe);
+  if (can_emit_swipe)
+    g_signal_emit (action, swipe_signals[SWEPT], 0, actor, direction);
+}
+
+/* XXX:2.0 remove */
+static gboolean
+clutter_swipe_action_real_swipe (ClutterSwipeAction    *action,
+                                 ClutterActor          *actor,
+                                 ClutterSwipeDirection  direction)
+{
+  return TRUE;
 }
 
 static void
@@ -178,6 +190,34 @@ clutter_swipe_action_class_init (ClutterSwipeActionClass *klass)
   gesture_class->gesture_progress = gesture_progress;
   gesture_class->gesture_end = gesture_end;
 
+  /* XXX:2.0 remove */
+  klass->swipe = clutter_swipe_action_real_swipe;
+
+  /**
+   * ClutterSwipeAction::swept:
+   * @action: the #ClutterSwipeAction that emitted the signal
+   * @actor: the #ClutterActor attached to the @action
+   * @direction: the main direction of the swipe gesture
+   *
+   * The ::swept signal is emitted when a swipe gesture is recognized on the
+   * attached actor.
+   *
+   * Deprecated: 1.14: Use the ::swipe signal instead.
+   *
+   * Since: 1.8
+   */
+  swipe_signals[SWEPT] =
+    g_signal_new (I_("swept"),
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST |
+                  G_SIGNAL_DEPRECATED,
+                  G_STRUCT_OFFSET (ClutterSwipeActionClass, swept),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__OBJECT_FLAGS,
+                  G_TYPE_NONE, 2,
+                  CLUTTER_TYPE_ACTOR,
+                  CLUTTER_TYPE_SWIPE_DIRECTION);
+
   /**
    * ClutterSwipeAction::swipe:
    * @action: the #ClutterSwipeAction that emitted the signal
@@ -189,6 +229,8 @@ clutter_swipe_action_class_init (ClutterSwipeActionClass *klass)
    *
    * Return value: %TRUE if the swipe should continue, and %FALSE if
    *   the swipe should be cancelled.
+   *
+   * Since: 1.14
    */
   swipe_signals[SWIPE] =
     g_signal_new (I_("swipe"),
@@ -216,7 +258,7 @@ clutter_swipe_action_init (ClutterSwipeAction *self)
  *
  * Return value: the newly created #ClutterSwipeAction
  *
- *
+ * Since: 1.8
  */
 ClutterAction *
 clutter_swipe_action_new (void)
diff --git a/clutter/clutter-swipe-action.h b/clutter/clutter-swipe-action.h
index ccf7b46..c35b65a 100644
--- a/clutter/clutter-swipe-action.h
+++ b/clutter/clutter-swipe-action.h
@@ -54,7 +54,7 @@ typedef struct _ClutterSwipeActionClass         ClutterSwipeActionClass;
  * The <structname>ClutterSwipeAction</structname> structure contains
  * only private data and should be accessed using the provided API
  *
- *
+ * Since: 1.8
  */
 struct _ClutterSwipeAction
 {
@@ -73,7 +73,7 @@ struct _ClutterSwipeAction
  * The <structname>ClutterSwipeActionClass</structname> structure contains
  * only private data.
  *
- *
+ * Since: 1.8
  */
 struct _ClutterSwipeActionClass
 {
diff --git a/clutter/clutter-table-layout.c b/clutter/clutter-table-layout.c
index 332ebe8..9927ad5 100644
--- a/clutter/clutter-table-layout.c
+++ b/clutter/clutter-table-layout.c
@@ -82,9 +82,12 @@
 
 #include <math.h>
 
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+#include "deprecated/clutter-alpha.h"
+
 #include "clutter-table-layout.h"
 
-#include "clutter-container.h"
 #include "clutter-debug.h"
 #include "clutter-enum-types.h"
 #include "clutter-layout-meta.h"
@@ -125,6 +128,12 @@ struct _ClutterTableLayoutPrivate
 
   GArray *columns;
   GArray *rows;
+
+  gulong easing_mode;
+  guint easing_duration;
+
+  guint is_animating   : 1;
+  guint use_animations : 1;
 };
 
 struct _ClutterTableChild
@@ -136,6 +145,14 @@ struct _ClutterTableChild
 
   gint col_span;
   gint row_span;
+
+  ClutterTableAlignment x_align;
+  ClutterTableAlignment y_align;
+
+  guint x_expand            : 1;
+  guint y_expand            : 1;
+  guint x_fill              : 1;
+  guint y_fill              : 1;
 };
 
 enum
@@ -145,7 +162,13 @@ enum
   PROP_CHILD_ROW,
   PROP_CHILD_COLUMN,
   PROP_CHILD_ROW_SPAN,
-  PROP_CHILD_COLUMN_SPAN
+  PROP_CHILD_COLUMN_SPAN,
+  PROP_CHILD_X_ALIGN,
+  PROP_CHILD_Y_ALIGN,
+  PROP_CHILD_X_FILL,
+  PROP_CHILD_Y_FILL,
+  PROP_CHILD_X_EXPAND,
+  PROP_CHILD_Y_EXPAND
 };
 
 enum
@@ -153,18 +176,21 @@ enum
   PROP_0,
 
   PROP_ROW_SPACING,
-  PROP_COLUMN_SPACING
+  PROP_COLUMN_SPACING,
+  PROP_USE_ANIMATIONS,
+  PROP_EASING_MODE,
+  PROP_EASING_DURATION
 };
 
 GType clutter_table_child_get_type (void);
 
 G_DEFINE_TYPE (ClutterTableChild,
                clutter_table_child,
-               CLUTTER_TYPE_LAYOUT_META)
+               CLUTTER_TYPE_LAYOUT_META);
 
 G_DEFINE_TYPE (ClutterTableLayout,
                clutter_table_layout,
-               CLUTTER_TYPE_LAYOUT_MANAGER)
+               CLUTTER_TYPE_LAYOUT_MANAGER);
 
 /*
  * ClutterBoxChild
@@ -247,6 +273,132 @@ table_child_set_span (ClutterTableChild  *self,
 }
 
 static void
+table_child_set_align (ClutterTableChild     *self,
+                       ClutterTableAlignment  x_align,
+                       ClutterTableAlignment  y_align)
+{
+  gboolean x_changed = FALSE, y_changed = FALSE;
+
+  if (self->x_align != x_align)
+    {
+      self->x_align = x_align;
+
+      x_changed = TRUE;
+    }
+
+  if (self->y_align != y_align)
+    {
+      self->y_align = y_align;
+
+      y_changed = TRUE;
+    }
+
+  if (x_changed || y_changed)
+    {
+      ClutterLayoutManager *layout;
+
+      layout = clutter_layout_meta_get_manager (CLUTTER_LAYOUT_META (self));
+      clutter_layout_manager_layout_changed (layout);
+
+      g_object_freeze_notify (G_OBJECT (self));
+
+      if (x_changed)
+        g_object_notify (G_OBJECT (self), "x-align");
+
+      if (y_changed)
+        g_object_notify (G_OBJECT (self), "y-align");
+
+      g_object_thaw_notify (G_OBJECT (self));
+    }
+}
+
+static void
+table_child_set_fill (ClutterTableChild *self,
+                      gboolean           x_fill,
+                      gboolean           y_fill)
+{
+  gboolean x_changed = FALSE, y_changed = FALSE;
+
+  x_fill = !!x_fill;
+  y_fill = !!y_fill;
+
+  if (self->x_fill != x_fill)
+    {
+      self->x_fill = x_fill;
+
+      x_changed = TRUE;
+    }
+
+  if (self->y_fill != y_fill)
+    {
+      self->y_fill = y_fill;
+
+      y_changed = TRUE;
+    }
+
+  if (x_changed || y_changed)
+    {
+      ClutterLayoutManager *layout;
+
+      layout = clutter_layout_meta_get_manager (CLUTTER_LAYOUT_META (self));
+      clutter_layout_manager_layout_changed (layout);
+
+      g_object_freeze_notify (G_OBJECT (self));
+
+      if (x_changed)
+        g_object_notify (G_OBJECT (self), "x-fill");
+
+      if (y_changed)
+        g_object_notify (G_OBJECT (self), "y-fill");
+
+      g_object_thaw_notify (G_OBJECT (self));
+    }
+}
+
+static void
+table_child_set_expand (ClutterTableChild *self,
+                        gboolean           x_expand,
+                        gboolean           y_expand)
+{
+  gboolean x_changed = FALSE, y_changed = FALSE;
+
+  x_expand = !!x_expand;
+  y_expand = !!y_expand;
+
+  if (self->x_expand != x_expand)
+    {
+      self->x_expand = x_expand;
+
+      x_changed = TRUE;
+    }
+
+  if (self->y_expand != y_expand)
+    {
+      self->y_expand = y_expand;
+
+      y_changed = TRUE;
+    }
+
+  if (x_changed || y_changed)
+    {
+      ClutterLayoutManager *layout;
+
+      layout = clutter_layout_meta_get_manager (CLUTTER_LAYOUT_META (self));
+      clutter_layout_manager_layout_changed (layout);
+
+      g_object_freeze_notify (G_OBJECT (self));
+
+      if (x_changed)
+        g_object_notify (G_OBJECT (self), "x-expand");
+
+      if (y_changed)
+        g_object_notify (G_OBJECT (self), "y-expand");
+
+      g_object_thaw_notify (G_OBJECT (self));
+    }
+}
+
+static void
 clutter_table_child_set_property (GObject      *gobject,
                                   guint         prop_id,
                                   const GValue *value,
@@ -280,6 +432,42 @@ clutter_table_child_set_property (GObject      *gobject,
                             g_value_get_int (value));
       break;
 
+    case PROP_CHILD_X_ALIGN:
+      table_child_set_align (self,
+                             g_value_get_enum (value),
+                             self->y_align);
+      break;
+
+    case PROP_CHILD_Y_ALIGN:
+      table_child_set_align (self,
+                             self->x_align,
+                             g_value_get_enum (value));
+      break;
+
+    case PROP_CHILD_X_FILL:
+      table_child_set_fill (self,
+                            g_value_get_boolean (value),
+                            self->y_fill);
+      break;
+
+    case PROP_CHILD_Y_FILL:
+      table_child_set_fill (self,
+                            self->x_fill,
+                            g_value_get_boolean (value));
+      break;
+
+    case PROP_CHILD_X_EXPAND:
+      table_child_set_expand (self,
+                              g_value_get_boolean (value),
+                              self->y_expand);
+      break;
+
+    case PROP_CHILD_Y_EXPAND:
+      table_child_set_expand (self,
+                              self->x_expand,
+                              g_value_get_boolean (value));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -312,6 +500,30 @@ clutter_table_child_get_property (GObject    *gobject,
       g_value_set_int (value, self->col_span);
       break;
 
+    case PROP_CHILD_X_ALIGN:
+      g_value_set_enum (value, self->x_align);
+      break;
+
+    case PROP_CHILD_Y_ALIGN:
+      g_value_set_enum (value, self->y_align);
+      break;
+
+    case PROP_CHILD_X_FILL:
+      g_value_set_boolean (value, self->x_fill);
+      break;
+
+    case PROP_CHILD_Y_FILL:
+      g_value_set_boolean (value, self->y_fill);
+      break;
+
+    case PROP_CHILD_X_EXPAND:
+      g_value_set_boolean (value, self->x_expand);
+      break;
+
+    case PROP_CHILD_Y_EXPAND:
+      g_value_set_boolean (value, self->y_expand);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -358,6 +570,64 @@ clutter_table_child_class_init (ClutterTableChildClass *klass)
                             1,
                             CLUTTER_PARAM_READWRITE);
   g_object_class_install_property (gobject_class, PROP_CHILD_ROW_SPAN, pspec);
+
+  pspec = g_param_spec_boolean ("x-expand",
+                                P_("Horizontal Expand"),
+                                P_("Allocate extra space for the child in horizontal axis"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_X_EXPAND, pspec);
+
+  pspec = g_param_spec_boolean ("y-expand",
+                                P_("Vertical Expand"),
+                                P_("Allocate extra space for the child in vertical axis"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_Y_EXPAND, pspec);
+
+  pspec = g_param_spec_boolean ("x-fill",
+                                P_("Horizontal Fill"),
+                                P_("Whether the child should receive priority when the container is 
allocating spare space on the horizontal axis"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_X_FILL, pspec);
+
+  pspec = g_param_spec_boolean ("y-fill",
+                                P_("Vertical Fill"),
+                                P_("Whether the child should receive priority when the container is 
allocating spare space on the vertical axis"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_Y_FILL, pspec);
+
+  /**
+   * ClutterTableLayout:x-align:
+   *
+   * The horizontal alignment of the actor within the cell
+   *
+   * Since: 1.4
+   */
+  pspec = g_param_spec_enum ("x-align",
+                             P_("Horizontal Alignment"),
+                             P_("Horizontal alignment of the actor within the cell"),
+                             CLUTTER_TYPE_TABLE_ALIGNMENT,
+                             CLUTTER_TABLE_ALIGNMENT_CENTER,
+                             CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_X_ALIGN, pspec);
+
+  /**
+   * ClutterTableLayout:y-align:
+   *
+   * The vertical alignment of the actor within the cell
+   *
+   * Since: 1.4
+   */
+  pspec = g_param_spec_enum ("y-align",
+                             P_("Vertical Alignment"),
+                             P_("Vertical alignment of the actor within the cell"),
+                             CLUTTER_TYPE_TABLE_ALIGNMENT,
+                             CLUTTER_TABLE_ALIGNMENT_CENTER,
+                             CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_CHILD_Y_ALIGN, pspec);
 }
 
 static void
@@ -365,6 +635,15 @@ clutter_table_child_init (ClutterTableChild *self)
 {
   self->col_span = 1;
   self->row_span = 1;
+
+  self->x_align = CLUTTER_TABLE_ALIGNMENT_CENTER;
+  self->y_align = CLUTTER_TABLE_ALIGNMENT_CENTER;
+
+  self->x_expand = TRUE;
+  self->y_expand = TRUE;
+
+  self->x_fill = TRUE;
+  self->y_fill = TRUE;
 }
 
 static GType
@@ -480,7 +759,10 @@ calculate_col_widths (ClutterTableLayout *self,
       col->pref_size = MAX (col->pref_size, c_pref);
 
       if (!col->expand)
-        col->expand = clutter_actor_needs_expand (child, orientation);
+        {
+          col->expand = clutter_actor_needs_expand (child, orientation) ||
+            meta->x_expand;
+        }
     }
 
   /* STAGE TWO: take spanning children into account */
@@ -529,9 +811,12 @@ calculate_col_widths (ClutterTableLayout *self,
             }
 
           if (!columns[i].expand)
-            columns[i].expand = clutter_actor_needs_expand (child, orientation);
+            {
+              columns[i].expand = clutter_actor_needs_expand (child,
+                                                              orientation) ||
+                meta->x_expand;
+            }
         }
-
       min_width += priv->col_spacing * (meta->col_span - 1);
       pref_width += priv->col_spacing * (meta->col_span - 1);
 
@@ -752,7 +1037,10 @@ calculate_row_heights (ClutterTableLayout *self,
       row->pref_size = MAX (row->pref_size, c_pref);
 
       if (!row->expand)
-        row->expand = clutter_actor_needs_expand (child, orientation);
+        {
+          row->expand = clutter_actor_needs_expand (child, orientation) ||
+            meta->y_expand;
+        }
     }
 
   /* STAGE TWO: take spanning children into account */
@@ -803,7 +1091,10 @@ calculate_row_heights (ClutterTableLayout *self,
             }
 
           if (!rows[i].expand)
-            rows[i].expand = clutter_actor_needs_expand (child, orientation);
+            {
+              rows[i].expand = clutter_actor_needs_expand (child, orientation) ||
+                meta->y_expand;
+            }
         }
 
       min_height += priv->row_spacing * (meta->row_span - 1);
@@ -1062,6 +1353,24 @@ clutter_table_layout_get_preferred_height (ClutterLayoutManager *layout,
     *natural_height_p = total_pref_height;
 }
 
+static gdouble
+get_table_alignment_factor (ClutterTableAlignment alignment)
+{
+  switch (alignment)
+    {
+    case CLUTTER_TABLE_ALIGNMENT_START:
+      return 0.0;
+
+    case CLUTTER_TABLE_ALIGNMENT_CENTER:
+      return 0.5;
+
+    case CLUTTER_TABLE_ALIGNMENT_END:
+      return 1.0;
+    }
+
+  return 0.0;
+}
+
 static void
 clutter_table_layout_allocate (ClutterLayoutManager   *layout,
                                ClutterContainer       *container,
@@ -1103,6 +1412,8 @@ clutter_table_layout_allocate (ClutterLayoutManager   *layout,
       ClutterTableChild *meta;
       ClutterActorBox childbox;
       gint child_x, child_y;
+      gdouble x_align, y_align;
+      gboolean x_fill, y_fill;
 
       if (!CLUTTER_ACTOR_IS_VISIBLE (child))
         continue;
@@ -1117,6 +1428,10 @@ clutter_table_layout_allocate (ClutterLayoutManager   *layout,
       row = meta->row;
       row_span = meta->row_span;
       col_span = meta->col_span;
+      x_align = get_table_alignment_factor (meta->x_align);
+      y_align = get_table_alignment_factor (meta->y_align);
+      x_fill = meta->x_fill;
+      y_fill = meta->y_fill;
 
       /* initialise the width and height */
       col_width = columns[col].final_size;
@@ -1183,7 +1498,24 @@ clutter_table_layout_allocate (ClutterLayoutManager   *layout,
       childbox.y1 = (float) child_y;
       childbox.y2 = (float) MAX (0, child_y + row_height);
 
-      clutter_actor_allocate (child, &childbox, flags);
+      if (priv->use_animations)
+        {
+          clutter_actor_save_easing_state (child);
+          clutter_actor_set_easing_mode (child, priv->easing_mode);
+          clutter_actor_set_easing_duration (child, priv->easing_duration);
+        }
+
+      if (clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_HORIZONTAL) ||
+          clutter_actor_needs_expand (child, CLUTTER_ORIENTATION_VERTICAL))
+        clutter_actor_allocate (child, &childbox, flags);
+      else
+        clutter_actor_allocate_align_fill (child, &childbox,
+                                           x_align, y_align,
+                                           x_fill, y_fill,
+                                           flags);
+
+      if (priv->use_animations)
+        clutter_actor_restore_easing_state (child);
     }
 }
 
@@ -1205,6 +1537,18 @@ clutter_table_layout_set_property (GObject      *gobject,
       clutter_table_layout_set_row_spacing (self, g_value_get_uint (value));
       break;
 
+    case PROP_USE_ANIMATIONS:
+      clutter_table_layout_set_use_animations (self, g_value_get_boolean (value));
+      break;
+
+    case PROP_EASING_MODE:
+      clutter_table_layout_set_easing_mode (self, g_value_get_ulong (value));
+      break;
+
+    case PROP_EASING_DURATION:
+      clutter_table_layout_set_easing_duration (self, g_value_get_uint (value));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -1229,6 +1573,18 @@ clutter_table_layout_get_property (GObject    *gobject,
       g_value_set_uint (value, priv->col_spacing);
       break;
 
+    case PROP_USE_ANIMATIONS:
+      g_value_set_boolean (value, priv->use_animations);
+      break;
+
+    case PROP_EASING_MODE:
+      g_value_set_ulong (value, priv->easing_mode);
+      break;
+
+    case PROP_EASING_DURATION:
+      g_value_set_uint (value, priv->easing_duration);
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -1275,7 +1631,7 @@ clutter_table_layout_class_init (ClutterTableLayoutClass *klass)
    *
    * The spacing between columns of the #ClutterTableLayout, in pixels
    *
-   *
+   * Since: 1.4
    */
   pspec = g_param_spec_uint ("column-spacing",
                              P_("Column Spacing"),
@@ -1289,7 +1645,7 @@ clutter_table_layout_class_init (ClutterTableLayoutClass *klass)
    *
    * The spacing between rows of the #ClutterTableLayout, in pixels
    *
-   *
+   * Since: 1.4
    */
   pspec = g_param_spec_uint ("row-spacing",
                              P_("Row Spacing"),
@@ -1297,6 +1653,77 @@ clutter_table_layout_class_init (ClutterTableLayoutClass *klass)
                              0, G_MAXUINT, 0,
                              CLUTTER_PARAM_READWRITE);
   g_object_class_install_property (gobject_class, PROP_ROW_SPACING, pspec);
+
+  /**
+   * ClutterTableLayout:use-animations:
+   *
+   * Whether the #ClutterTableLayout should animate changes in the
+   * layout properties.
+   *
+   * By default, #ClutterTableLayout will honour the easing state of
+   * the children when allocating them. Setting this property to
+   * %TRUE will override the easing state with the layout manager's
+   * #ClutterTableLayout:easing-mode and #ClutterTableLayout:easing-duration
+   * properties.
+   *
+   * Since: 1.4
+   *
+   * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+   *   of the children when allocating them
+   */
+  pspec = g_param_spec_boolean ("use-animations",
+                                P_("Use Animations"),
+                                P_("Whether layout changes should be animated"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_USE_ANIMATIONS, pspec);
+
+  /**
+   * ClutterTableLayout:easing-mode:
+   *
+   * The easing mode for the animations, in case
+   * #ClutterTableLayout:use-animations is set to %TRUE.
+   *
+   * The easing mode has the same semantics of #ClutterAnimation:mode: it can
+   * either be a value from the #ClutterAnimationMode enumeration, like
+   * %CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
+   * clutter_alpha_register_func().
+   *
+   * The default value is %CLUTTER_EASE_OUT_CUBIC.
+   *
+   * Since: 1.4
+   *
+   * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+   *   of the children when allocating them
+   */
+  pspec = g_param_spec_ulong ("easing-mode",
+                              P_("Easing Mode"),
+                              P_("The easing mode of the animations"),
+                              0, G_MAXULONG,
+                              CLUTTER_EASE_OUT_CUBIC,
+                              CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_EASING_MODE, pspec);
+
+  /**
+   * ClutterTableLayout:easing-duration:
+   *
+   * The duration of the animations, in case #ClutterTableLayout:use-animations
+   * is set to %TRUE.
+   *
+   * The duration is expressed in milliseconds.
+   *
+   * Since: 1.4
+   *
+   * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+   *   of the children when allocating them
+   */
+  pspec = g_param_spec_uint ("easing-duration",
+                             P_("Easing Duration"),
+                             P_("The duration of the animations"),
+                             0, G_MAXUINT,
+                             500,
+                             CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_EASING_DURATION, pspec);
 }
 
 static void
@@ -1309,6 +1736,10 @@ clutter_table_layout_init (ClutterTableLayout *layout)
   priv->row_spacing = 0;
   priv->col_spacing = 0;
 
+  priv->use_animations = FALSE;
+  priv->easing_mode = CLUTTER_EASE_OUT_CUBIC;
+  priv->easing_duration = 500;
+
   priv->columns = g_array_new (FALSE, TRUE, sizeof (DimensionData));
   priv->rows = g_array_new (FALSE, TRUE, sizeof (DimensionData));
 }
@@ -1320,7 +1751,7 @@ clutter_table_layout_init (ClutterTableLayout *layout)
  *
  * Return value: the newly created #ClutterTableLayout
  *
- *
+ * Since: 1.4
  */
 ClutterLayoutManager *
 clutter_table_layout_new (void)
@@ -1335,7 +1766,7 @@ clutter_table_layout_new (void)
  *
  * Sets the spacing between columns of @layout
  *
- *
+ * Since: 1.4
  */
 void
 clutter_table_layout_set_column_spacing (ClutterTableLayout *layout,
@@ -1368,7 +1799,7 @@ clutter_table_layout_set_column_spacing (ClutterTableLayout *layout,
  *
  * Return value: the spacing between columns of the #ClutterTableLayout
  *
- *
+ * Since: 1.4
  */
 guint
 clutter_table_layout_get_column_spacing (ClutterTableLayout *layout)
@@ -1385,7 +1816,7 @@ clutter_table_layout_get_column_spacing (ClutterTableLayout *layout)
  *
  * Sets the spacing between rows of @layout
  *
- *
+ * Since: 1.4
  */
 void
 clutter_table_layout_set_row_spacing (ClutterTableLayout *layout,
@@ -1418,7 +1849,7 @@ clutter_table_layout_set_row_spacing (ClutterTableLayout *layout,
  *
  * Return value: the spacing between rows of the #ClutterTableLayout
  *
- *
+ * Since: 1.4
  */
 guint
 clutter_table_layout_get_row_spacing (ClutterTableLayout *layout)
@@ -1438,7 +1869,7 @@ clutter_table_layout_get_row_spacing (ClutterTableLayout *layout)
  * Packs @actor inside the #ClutterContainer associated to @layout
  * at the given row and column.
  *
- *
+ * Since: 1.4
  */
 void
 clutter_table_layout_pack (ClutterTableLayout  *layout,
@@ -1465,7 +1896,7 @@ clutter_table_layout_pack (ClutterTableLayout  *layout,
 
   update_row_col (CLUTTER_TABLE_LAYOUT (layout), priv->container);
 
-  clutter_actor_add_child (CLUTTER_ACTOR (priv->container), actor);
+  clutter_container_add_actor (priv->container, actor);
 
   manager = CLUTTER_LAYOUT_MANAGER (layout);
   meta = clutter_layout_manager_get_child_meta (manager,
@@ -1492,7 +1923,7 @@ clutter_table_layout_pack (ClutterTableLayout  *layout,
  * Sets the row and column span for @actor
  * inside @layout
  *
- *
+ * Since: 1.4
  */
 void
 clutter_table_layout_set_span (ClutterTableLayout *layout,
@@ -1546,7 +1977,7 @@ clutter_table_layout_set_span (ClutterTableLayout *layout,
  * Retrieves the row and column span for @actor as set using
  * clutter_table_layout_pack() or clutter_table_layout_set_span()
  *
- *
+ * Since: 1.4
  */
 void
 clutter_table_layout_get_span (ClutterTableLayout *layout,
@@ -1595,6 +2026,531 @@ clutter_table_layout_get_span (ClutterTableLayout *layout,
 }
 
 /**
+ * clutter_table_layout_set_alignment:
+ * @layout: a #ClutterTableLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_align: Horizontal alignment policy for @actor
+ * @y_align: Vertical alignment policy for @actor
+ *
+ * Sets the horizontal and vertical alignment policies for @actor
+ * inside @layout
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_x_align() and
+ *   clutter_actor_set_y_align() instead.
+ */
+void
+clutter_table_layout_set_alignment (ClutterTableLayout    *layout,
+                                    ClutterActor          *actor,
+                                    ClutterTableAlignment  x_align,
+                                    ClutterTableAlignment  y_align)
+{
+  ClutterTableLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_TABLE_CHILD (meta));
+
+  table_child_set_align (CLUTTER_TABLE_CHILD (meta), x_align, y_align);
+}
+
+/**
+ * clutter_table_layout_get_alignment:
+ * @layout: a #ClutterTableLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_align: (out): return location for the horizontal alignment policy
+ * @y_align: (out): return location for the vertical alignment policy
+ *
+ * Retrieves the horizontal and vertical alignment policies for @actor
+ * as set using clutter_table_layout_pack() or
+ * clutter_table_layout_set_alignment().
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_x_align() and
+ *   clutter_actor_get_y_align() instead.
+ */
+void
+clutter_table_layout_get_alignment (ClutterTableLayout    *layout,
+                                    ClutterActor          *actor,
+                                    ClutterTableAlignment *x_align,
+                                    ClutterTableAlignment *y_align)
+{
+  ClutterTableLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_TABLE_CHILD (meta));
+
+  if (x_align)
+    *x_align = CLUTTER_TABLE_CHILD (meta)->x_align;
+
+  if (y_align)
+    *y_align = CLUTTER_TABLE_CHILD (meta)->y_align;
+}
+
+/**
+ * clutter_table_layout_set_fill:
+ * @layout: a #ClutterTableLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_fill: whether @actor should fill horizontally the allocated space
+ * @y_fill: whether @actor should fill vertically the allocated space
+ *
+ * Sets the horizontal and vertical fill policies for @actor
+ * inside @layout
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_x_align() and
+ *   clutter_actor_set_y_align() instead.
+ */
+void
+clutter_table_layout_set_fill (ClutterTableLayout *layout,
+                               ClutterActor       *actor,
+                               gboolean            x_fill,
+                               gboolean            y_fill)
+{
+  ClutterTableLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_TABLE_CHILD (meta));
+
+  table_child_set_fill (CLUTTER_TABLE_CHILD (meta), x_fill, y_fill);
+}
+
+/**
+ * clutter_table_layout_get_fill:
+ * @layout: a #ClutterTableLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_fill: (out): return location for the horizontal fill policy
+ * @y_fill: (out): return location for the vertical fill policy
+ *
+ * Retrieves the horizontal and vertical fill policies for @actor
+ * as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_x_align() and
+ *   clutter_actor_get_y_align() instead.
+ */
+void
+clutter_table_layout_get_fill (ClutterTableLayout *layout,
+                               ClutterActor       *actor,
+                               gboolean           *x_fill,
+                               gboolean           *y_fill)
+{
+  ClutterTableLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_TABLE_CHILD (meta));
+
+  if (x_fill)
+    *x_fill = CLUTTER_TABLE_CHILD (meta)->x_fill;
+
+  if (y_fill)
+    *y_fill = CLUTTER_TABLE_CHILD (meta)->y_fill;
+}
+
+
+/**
+ * clutter_table_layout_set_expand:
+ * @layout: a #ClutterTableLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_expand: whether @actor should allocate extra space horizontally
+ * @y_expand: whether @actor should allocate extra space vertically
+ *
+ * Sets the horizontal and vertical expand policies for @actor
+ * inside @layout
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: Use clutter_actor_set_x_expand() or
+ *   clutter_actor_set_y_expand() instead.
+ */
+void
+clutter_table_layout_set_expand (ClutterTableLayout *layout,
+                                 ClutterActor       *actor,
+                                 gboolean            x_expand,
+                                 gboolean            y_expand)
+{
+  ClutterTableLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_TABLE_CHILD (meta));
+
+  table_child_set_expand (CLUTTER_TABLE_CHILD (meta), x_expand, y_expand);
+}
+
+/**
+ * clutter_table_layout_get_expand:
+ * @layout: a #ClutterTableLayout
+ * @actor: a #ClutterActor child of @layout
+ * @x_expand: (out): return location for the horizontal expand policy
+ * @y_expand: (out): return location for the vertical expand policy
+ *
+ * Retrieves the horizontal and vertical expand policies for @actor
+ * as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_x_expand() and
+ *   clutter_actor_get_y_expand() instead.
+ */
+void
+clutter_table_layout_get_expand (ClutterTableLayout *layout,
+                                 ClutterActor       *actor,
+                                 gboolean           *x_expand,
+                                 gboolean           *y_expand)
+{
+  ClutterTableLayoutPrivate *priv;
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = layout->priv;
+
+  if (priv->container == NULL)
+    {
+      g_warning ("The layout of type '%s' must be associated to "
+                 "a ClutterContainer before querying layout "
+                 "properties",
+                 G_OBJECT_TYPE_NAME (layout));
+      return;
+    }
+
+  manager = CLUTTER_LAYOUT_MANAGER (layout);
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                priv->container,
+                                                actor);
+  if (meta == NULL)
+    {
+      g_warning ("No layout meta found for the child of type '%s' "
+                 "inside the layout manager of type '%s'",
+                 G_OBJECT_TYPE_NAME (actor),
+                 G_OBJECT_TYPE_NAME (manager));
+      return;
+    }
+
+  g_assert (CLUTTER_IS_TABLE_CHILD (meta));
+
+  if (x_expand)
+    *x_expand = CLUTTER_TABLE_CHILD (meta)->x_expand;
+
+  if (y_expand)
+    *y_expand = CLUTTER_TABLE_CHILD (meta)->y_expand;
+}
+
+/**
+ * clutter_table_layout_set_use_animations:
+ * @layout: a #ClutterTableLayout
+ * @animate: %TRUE if the @layout should use animations
+ *
+ * Sets whether @layout should animate changes in the layout properties
+ *
+ * The duration of the animations is controlled by
+ * clutter_table_layout_set_easing_duration(); the easing mode to be used
+ * by the animations is controlled by clutter_table_layout_set_easing_mode()
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+ *   of the children when allocating them
+ */
+void
+clutter_table_layout_set_use_animations (ClutterTableLayout *layout,
+                                         gboolean            animate)
+{
+  ClutterTableLayoutPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+
+  priv = layout->priv;
+
+  animate = !!animate;
+  if (priv->use_animations != animate)
+    {
+      priv->use_animations = animate;
+
+      g_object_notify (G_OBJECT (layout), "use-animations");
+    }
+}
+
+/**
+ * clutter_table_layout_get_use_animations:
+ * @layout: a #ClutterTableLayout
+ *
+ * Retrieves whether @layout should animate changes in the layout properties
+ *
+ * Since clutter_table_layout_set_use_animations()
+ *
+ * Return value: %TRUE if the animations should be used, %FALSE otherwise
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_table_layout_get_use_animations (ClutterTableLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout), FALSE);
+
+  return layout->priv->use_animations;
+}
+
+/**
+ * clutter_table_layout_set_easing_mode:
+ * @layout: a #ClutterTableLayout
+ * @mode: an easing mode, either from #ClutterAnimationMode or a logical id
+ *   from clutter_alpha_register_func()
+ *
+ * Sets the easing mode to be used by @layout when animating changes in layout
+ * properties
+ *
+ * Use clutter_table_layout_set_use_animations() to enable and disable the
+ * animations
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+ *   of the children when allocating them
+ */
+void
+clutter_table_layout_set_easing_mode (ClutterTableLayout *layout,
+                                      gulong              mode)
+{
+  ClutterTableLayoutPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+
+  priv = layout->priv;
+
+  if (priv->easing_mode != mode)
+    {
+      priv->easing_mode = mode;
+
+      g_object_notify (G_OBJECT (layout), "easing-mode");
+    }
+}
+
+/**
+ * clutter_table_layout_get_easing_mode:
+ * @layout: a #ClutterTableLayout
+ *
+ * Retrieves the easing mode set using clutter_table_layout_set_easing_mode()
+ *
+ * Return value: an easing mode
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+ *   of the children when allocating them
+ */
+gulong
+clutter_table_layout_get_easing_mode (ClutterTableLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout),
+                        CLUTTER_EASE_OUT_CUBIC);
+
+  return layout->priv->easing_mode;
+}
+
+/**
+ * clutter_table_layout_set_easing_duration:
+ * @layout: a #ClutterTableLayout
+ * @msecs: the duration of the animations, in milliseconds
+ *
+ * Sets the duration of the animations used by @layout when animating changes
+ * in the layout properties
+ *
+ * Use clutter_table_layout_set_use_animations() to enable and disable the
+ * animations
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12: #ClutterTableLayout will honour the easing state
+ *   of the children when allocating them
+ */
+void
+clutter_table_layout_set_easing_duration (ClutterTableLayout *layout,
+                                          guint               msecs)
+{
+  ClutterTableLayoutPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout));
+
+  priv = layout->priv;
+
+  if (priv->easing_duration != msecs)
+    {
+      priv->easing_duration = msecs;
+
+      g_object_notify (G_OBJECT (layout), "easing-duration");
+    }
+}
+
+/**
+ * clutter_table_layout_get_easing_duration:
+ * @layout: a #ClutterTableLayout
+ *
+ * Retrieves the duration set using clutter_table_layout_set_easing_duration()
+ *
+ * Return value: the duration of the animations, in milliseconds
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12
+ */
+guint
+clutter_table_layout_get_easing_duration (ClutterTableLayout *layout)
+{
+  g_return_val_if_fail (CLUTTER_IS_TABLE_LAYOUT (layout), 500);
+
+  return layout->priv->easing_duration;
+}
+
+
+/**
  * clutter_table_layout_get_row_count:
  * @layout: A #ClutterTableLayout
  *
@@ -1602,7 +2558,7 @@ clutter_table_layout_get_span (ClutterTableLayout *layout,
  *
  * Returns: the number of rows
  *
- *
+ * Since: 1.4
  */
 gint
 clutter_table_layout_get_row_count (ClutterTableLayout *layout)
@@ -1621,7 +2577,7 @@ clutter_table_layout_get_row_count (ClutterTableLayout *layout)
  *
  * Returns: the number of columns
  *
- *
+ * Since: 1.4
  */
 gint
 clutter_table_layout_get_column_count (ClutterTableLayout *layout)
diff --git a/clutter/clutter-table-layout.h b/clutter/clutter-table-layout.h
index b979e76..06d6e51 100644
--- a/clutter/clutter-table-layout.h
+++ b/clutter/clutter-table-layout.h
@@ -53,7 +53,7 @@ typedef struct _ClutterTableLayoutClass           ClutterTableLayoutClass;
  * The #ClutterTableLayout structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterTableLayout
 {
@@ -69,7 +69,7 @@ struct _ClutterTableLayout
  * The #ClutterTableLayoutClass structure contains only private
  * data and should be accessed using the provided API
  *
- *
+ * Since: 1.4
  */
 struct _ClutterTableLayoutClass
 {
@@ -102,9 +102,56 @@ void                  clutter_table_layout_get_span            (ClutterTableLayo
                                                                 gint                  *column_span,
                                                                 gint                  *row_span);
 
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_set_alignment       (ClutterTableLayout    *layout,
+                                                                ClutterActor          *actor,
+                                                                ClutterTableAlignment  x_align,
+                                                                ClutterTableAlignment  y_align);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_get_alignment       (ClutterTableLayout    *layout,
+                                                                ClutterActor          *actor,
+                                                                ClutterTableAlignment *x_align,
+                                                                ClutterTableAlignment *y_align);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_set_fill            (ClutterTableLayout    *layout,
+                                                                ClutterActor          *actor,
+                                                                gboolean               x_fill,
+                                                                gboolean               y_fill);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_get_fill            (ClutterTableLayout    *layout,
+                                                                ClutterActor          *actor,
+                                                                gboolean              *x_fill,
+                                                                gboolean              *y_fill);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_set_expand          (ClutterTableLayout    *layout,
+                                                                ClutterActor          *actor,
+                                                                gboolean               x_expand,
+                                                                gboolean               y_expand);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_get_expand          (ClutterTableLayout    *layout,
+                                                                ClutterActor          *actor,
+                                                                gboolean              *x_expand,
+                                                                gboolean              *y_expand);
+
 gint                  clutter_table_layout_get_row_count       (ClutterTableLayout    *layout);
 gint                  clutter_table_layout_get_column_count    (ClutterTableLayout    *layout);
 
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_set_use_animations  (ClutterTableLayout    *layout,
+                                                                gboolean               animate);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean              clutter_table_layout_get_use_animations  (ClutterTableLayout    *layout);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_set_easing_mode     (ClutterTableLayout    *layout,
+                                                                gulong                 mode);
+CLUTTER_DEPRECATED_IN_1_12
+gulong                clutter_table_layout_get_easing_mode     (ClutterTableLayout    *layout);
+CLUTTER_DEPRECATED_IN_1_12
+void                  clutter_table_layout_set_easing_duration (ClutterTableLayout    *layout,
+                                                                guint                  msecs);
+CLUTTER_DEPRECATED_IN_1_12
+guint                 clutter_table_layout_get_easing_duration (ClutterTableLayout    *layout);
+
 G_END_DECLS
 
 #endif /* __CLUTTER_TABLE_LAYOUT_H__ */
diff --git a/clutter/clutter-tap-action.c b/clutter/clutter-tap-action.c
index 69df5ae..caa00a1 100644
--- a/clutter/clutter-tap-action.c
+++ b/clutter/clutter-tap-action.c
@@ -49,6 +49,8 @@
  *   clutter_actor_set_reactive (actor, TRUE);
  *   g_signal_connect (action, "tap", G_CALLBACK (on_tap_callback), NULL);
  * ]|
+ *
+ * Since: 1.14
  */
 
 #ifdef HAVE_CONFIG_H
@@ -103,6 +105,8 @@ clutter_tap_action_class_init (ClutterTapActionClass *klass)
    * @actor: the #ClutterActor attached to the @action
    *
    * The ::tap signal is emitted when the tap gesture is complete.
+   *
+   * Since: 1.14
    */
   tap_signals[TAP] =
     g_signal_new (I_("tap"),
@@ -128,6 +132,8 @@ clutter_tap_action_init (ClutterTapAction *self)
  * Creates a new #ClutterTapAction instance
  *
  * Return value: the newly created #ClutterTapAction
+ *
+ * Since: 1.14
  */
 ClutterAction *
 clutter_tap_action_new (void)
diff --git a/clutter/clutter-tap-action.h b/clutter/clutter-tap-action.h
index 3307c0c..12f5417 100644
--- a/clutter/clutter-tap-action.h
+++ b/clutter/clutter-tap-action.h
@@ -58,6 +58,8 @@ typedef struct _ClutterTapActionClass         ClutterTapActionClass;
  *
  * The <structname>ClutterTapAction</structname> structure contains
  * only private data and should be accessed using the provided API
+ *
+ * Since: 1.14
  */
 struct _ClutterTapAction
 {
diff --git a/clutter/clutter-text-buffer.c b/clutter/clutter-text-buffer.c
index d63f19f..1ee9f4d 100644
--- a/clutter/clutter-text-buffer.c
+++ b/clutter/clutter-text-buffer.c
@@ -12,7 +12,9 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  *
  * Author: Stef Walter <stefw collabora co uk>
  */
@@ -44,7 +46,7 @@
  * useful in the case of important passwords. Or a derived class could
  * integrate with an application's concept of undo/redo.
  *
- *
+ * Since: 1.10
  */
 
 /* Initial size of buffer, in bytes */
@@ -342,7 +344,7 @@ clutter_text_buffer_class_init (ClutterTextBufferClass *klass)
    *
    * The contents of the buffer.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_TEXT] =
       g_param_spec_string ("text",
@@ -356,7 +358,7 @@ clutter_text_buffer_class_init (ClutterTextBufferClass *klass)
    *
    * The length (in characters) of the text in buffer.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_LENGTH] =
       g_param_spec_uint ("length",
@@ -370,7 +372,7 @@ clutter_text_buffer_class_init (ClutterTextBufferClass *klass)
    *
    * The maximum length (in characters) of the text in the buffer.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_MAX_LENGTH] =
       g_param_spec_int ("max-length",
@@ -390,7 +392,7 @@ clutter_text_buffer_class_init (ClutterTextBufferClass *klass)
    *
    * This signal is emitted after text is inserted into the buffer.
    *
-   *
+   * Since: 1.10
    */
   signals[INSERTED_TEXT] =
     g_signal_new (I_("inserted-text"),
@@ -412,7 +414,7 @@ clutter_text_buffer_class_init (ClutterTextBufferClass *klass)
    *
    * This signal is emitted after text is deleted from the buffer.
    *
-   *
+   * Since: 1.10
    */
   signals[DELETED_TEXT] =
     g_signal_new (I_("deleted-text"),
@@ -437,7 +439,7 @@ clutter_text_buffer_class_init (ClutterTextBufferClass *klass)
  *
  * Return value: A new ClutterTextBuffer object.
  *
- *
+ * Since: 1.10
  **/
 ClutterTextBuffer*
 clutter_text_buffer_new (void)
@@ -455,7 +457,7 @@ clutter_text_buffer_new (void)
  *
  * Return value: A new ClutterTextBuffer object.
  *
- *
+ * Since: 1.10
  **/
 ClutterTextBuffer*
 clutter_text_buffer_new_with_text (const gchar   *text,
@@ -476,7 +478,7 @@ clutter_text_buffer_new_with_text (const gchar   *text,
  *
  * Return value: The number of characters in the buffer.
  *
- *
+ * Since: 1.10
  **/
 guint
 clutter_text_buffer_get_length (ClutterTextBuffer *buffer)
@@ -500,7 +502,7 @@ clutter_text_buffer_get_length (ClutterTextBuffer *buffer)
  *
  * Return value: The byte length of the buffer.
  *
- *
+ * Since: 1.10
  **/
 gsize
 clutter_text_buffer_get_bytes (ClutterTextBuffer *buffer)
@@ -531,7 +533,7 @@ clutter_text_buffer_get_bytes (ClutterTextBuffer *buffer)
  *      storage in the buffer and must not be freed, modified or
  *      stored.
  *
- *
+ * Since: 1.10
  **/
 const gchar*
 clutter_text_buffer_get_text (ClutterTextBuffer *buffer)
@@ -559,7 +561,7 @@ clutter_text_buffer_get_text (ClutterTextBuffer *buffer)
  *
  * Note that @n_chars is in characters, not in bytes.
  *
- *
+ * Since: 1.10
  **/
 void
 clutter_text_buffer_set_text (ClutterTextBuffer *buffer,
@@ -586,7 +588,7 @@ clutter_text_buffer_set_text (ClutterTextBuffer *buffer,
  * the current contents are longer than the given length, then they
  * will be truncated to fit.
  *
- *
+ * Since: 1.10
  **/
 void
 clutter_text_buffer_set_max_length (ClutterTextBuffer *buffer,
@@ -613,7 +615,7 @@ clutter_text_buffer_set_max_length (ClutterTextBuffer *buffer,
  * Return value: the maximum allowed number of characters
  *               in #ClutterTextBuffer, or 0 if there is no maximum.
  *
- *
+ * Since: 1.10
  */
 gint
 clutter_text_buffer_get_max_length (ClutterTextBuffer *buffer)
@@ -641,7 +643,7 @@ clutter_text_buffer_get_max_length (ClutterTextBuffer *buffer)
  *
  * Returns: The number of characters actually inserted.
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_text_buffer_insert_text (ClutterTextBuffer *buffer,
@@ -697,7 +699,7 @@ clutter_text_buffer_insert_text (ClutterTextBuffer *buffer,
  *
  * Returns: The number of characters deleted.
  *
- *
+ * Since: 1.10
  */
 guint
 clutter_text_buffer_delete_text (ClutterTextBuffer *buffer,
@@ -734,7 +736,7 @@ clutter_text_buffer_delete_text (ClutterTextBuffer *buffer,
  *
  * Used when subclassing #ClutterTextBuffer
  *
- *
+ * Since: 1.10
  */
 void
 clutter_text_buffer_emit_inserted_text (ClutterTextBuffer *buffer,
@@ -756,7 +758,7 @@ clutter_text_buffer_emit_inserted_text (ClutterTextBuffer *buffer,
  *
  * Used when subclassing #ClutterTextBuffer
  *
- *
+ * Since: 1.10
  */
 void
 clutter_text_buffer_emit_deleted_text (ClutterTextBuffer *buffer,
diff --git a/clutter/clutter-text-buffer.h b/clutter/clutter-text-buffer.h
index 3cfe49d..9b6f8ce 100644
--- a/clutter/clutter-text-buffer.h
+++ b/clutter/clutter-text-buffer.h
@@ -12,7 +12,9 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  *
  * Author: Stef Walter <stefw collabora co uk>
  */
@@ -40,7 +42,7 @@ G_BEGIN_DECLS
  *
  * Maximum size of text buffer, in bytes.
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_TEXT_BUFFER_MAX_SIZE        G_MAXUSHORT
 
@@ -54,7 +56,7 @@ typedef struct _ClutterTextBufferPrivate     ClutterTextBufferPrivate;
  * The <structname>ClutterTextBuffer</structname> structure contains private
  * data and it should only be accessed using the provided API.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTextBuffer
 {
@@ -76,7 +78,7 @@ struct _ClutterTextBuffer
  * The <structname>ClutterTextBufferClass</structname> structure contains
  * only private data.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTextBufferClass
 {
@@ -121,46 +123,46 @@ struct _ClutterTextBufferClass
   void (*_clutter_reserved8) (void);
 };
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType               clutter_text_buffer_get_type            (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterTextBuffer*  clutter_text_buffer_new                 (void);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterTextBuffer*  clutter_text_buffer_new_with_text       (const gchar       *text,
                                                              gssize             text_len);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 gsize               clutter_text_buffer_get_bytes           (ClutterTextBuffer *buffer);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint               clutter_text_buffer_get_length          (ClutterTextBuffer *buffer);
-
+CLUTTER_AVAILABLE_IN_1_10
 const gchar*        clutter_text_buffer_get_text            (ClutterTextBuffer *buffer);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                clutter_text_buffer_set_text            (ClutterTextBuffer *buffer,
                                                              const gchar       *chars,
                                                              gint               n_chars);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                clutter_text_buffer_set_max_length      (ClutterTextBuffer *buffer,
                                                              gint               max_length);
-
+CLUTTER_AVAILABLE_IN_1_10
 gint                clutter_text_buffer_get_max_length      (ClutterTextBuffer  *buffer);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 guint               clutter_text_buffer_insert_text         (ClutterTextBuffer *buffer,
                                                              guint              position,
                                                              const gchar       *chars,
                                                              gint               n_chars);
-
+CLUTTER_AVAILABLE_IN_1_10
 guint               clutter_text_buffer_delete_text         (ClutterTextBuffer *buffer,
                                                              guint              position,
                                                              gint               n_chars);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                clutter_text_buffer_emit_inserted_text  (ClutterTextBuffer *buffer,
                                                              guint              position,
                                                              const gchar       *chars,
                                                              guint              n_chars);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                clutter_text_buffer_emit_deleted_text   (ClutterTextBuffer *buffer,
                                                              guint              position,
                                                              guint              n_chars);
diff --git a/clutter/clutter-text.c b/clutter/clutter-text.c
index 950fd8c..e0901cd 100644
--- a/clutter/clutter-text.c
+++ b/clutter/clutter-text.c
@@ -239,6 +239,7 @@ enum
   PROP_LINE_WRAP_MODE,
   PROP_JUSTIFY,
   PROP_ELLIPSIZE,
+  PROP_POSITION, /* XXX:2.0 - remove */
   PROP_SELECTION_BOUND,
   PROP_SELECTION_COLOR,
   PROP_SELECTION_COLOR_SET,
@@ -264,6 +265,7 @@ static GParamSpec *obj_props[PROP_LAST];
 enum
 {
   TEXT_CHANGED,
+  CURSOR_EVENT, /* XXX:2.0 - remove */
   ACTIVATE,
   INSERT_TEXT,
   DELETE_TEXT,
@@ -566,13 +568,10 @@ clutter_text_dirty_cache (ClutterText *text)
  */
 static inline void
 clutter_text_set_font_description_internal (ClutterText          *self,
-                                            PangoFontDescription *desc,
-                                            gboolean              is_default_font)
+                                            PangoFontDescription *desc)
 {
   ClutterTextPrivate *priv = self->priv;
 
-  priv->is_default_font = is_default_font;
-
   if (priv->font_desc == desc ||
       pango_font_description_equal (priv->font_desc, desc))
     return;
@@ -620,7 +619,7 @@ clutter_text_settings_changed_cb (ClutterText *text)
                     font_name);
 
       font_desc = pango_font_description_from_string (font_name);
-      clutter_text_set_font_description_internal (text, font_desc, TRUE);
+      clutter_text_set_font_description_internal (text, font_desc);
 
       pango_font_description_free (font_desc);
       g_free (font_name);
@@ -847,7 +846,7 @@ clutter_text_create_layout (ClutterText *text,
  *
  * Return: the position of the character
  *
- *
+ * Since: 1.10
  */
 gint
 clutter_text_coords_to_position (ClutterText *self,
@@ -885,7 +884,7 @@ clutter_text_coords_to_position (ClutterText *self,
  *
  * Return value: %TRUE if the conversion was successful
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_position_to_coords (ClutterText *self,
@@ -1010,8 +1009,17 @@ clutter_text_ensure_cursor_position (ClutterText *self)
 
   if (!clutter_rect_equals (&priv->cursor_rect, &cursor_rect))
     {
+      ClutterGeometry cursor_pos;
+
       priv->cursor_rect = cursor_rect;
 
+      /* XXX:2.0 - remove */
+      cursor_pos.x = clutter_rect_get_x (&priv->cursor_rect);
+      cursor_pos.y = clutter_rect_get_y (&priv->cursor_rect);
+      cursor_pos.width = clutter_rect_get_width (&priv->cursor_rect);
+      cursor_pos.height = clutter_rect_get_height (&priv->cursor_rect);
+      g_signal_emit (self, text_signals[CURSOR_EVENT], 0, &cursor_pos);
+
       g_signal_emit (self, text_signals[CURSOR_CHANGED], 0);
     }
 }
@@ -1027,7 +1035,7 @@ clutter_text_ensure_cursor_position (ClutterText *self)
  * Return value: %TRUE if text was deleted or if the text actor
  *   is empty, and %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_delete_selection (ClutterText *self)
@@ -1069,7 +1077,11 @@ clutter_text_delete_selection (ClutterText *self)
 
   /* Not required to be guarded by g_object_freeze/thaw_notify */
   if (priv->position != old_position)
-    g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_POSITION]);
+    {
+      /* XXX:2.0 - remove */
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_POSITION]);
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_POSITION]);
+    }
 
   if (priv->selection_bound != old_selection)
     g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_SELECTION_BOUND]);
@@ -1212,6 +1224,7 @@ clutter_text_set_property (GObject      *gobject,
       clutter_text_set_ellipsize (self, g_value_get_enum (value));
       break;
 
+    case PROP_POSITION: /* XXX:2.0: remove */
     case PROP_CURSOR_POSITION:
       clutter_text_set_cursor_position (self, g_value_get_int (value));
       break;
@@ -1320,6 +1333,7 @@ clutter_text_get_property (GObject    *gobject,
       g_value_set_int (value, priv->cursor_size);
       break;
 
+    case PROP_POSITION: /* XXX:2.0 - remove */
     case PROP_CURSOR_POSITION:
       g_value_set_int (value, priv->position);
       break;
@@ -3335,6 +3349,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * The buffer which stores the text for this #ClutterText.
    *
    * If set to %NULL, a default buffer will be created.
+   *
+   * Since: 1.8
    */
   pspec = g_param_spec_object ("buffer",
                                P_("Buffer"),
@@ -3351,6 +3367,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * that can be parsed by pango_font_description_from_string().
    *
    * If set to %NULL, the default system font will be used instead.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_string ("font-name",
                                P_("Font Name"),
@@ -3367,6 +3385,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * If you have a string describing the font then you should look at
    * #ClutterText:font-name instead
+   *
+   * Since: 1.2
    */
   pspec = g_param_spec_boxed ("font-description",
                               P_("Font Description"),
@@ -3382,6 +3402,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:text:
    *
    * The text to render inside the actor.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_string ("text",
                                P_("Text"),
@@ -3395,6 +3417,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:color:
    *
    * The color used to render the text.
+   *
+   * Since: 1.0
    */
   pspec = clutter_param_spec_color ("color",
                                     P_("Font Color"),
@@ -3409,6 +3433,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:editable:
    *
    * Whether key events delivered to the actor causes editing.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("editable",
                                 P_("Editable"),
@@ -3423,6 +3449,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * Whether it is possible to select text, either using the pointer
    * or the keyboard.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("selectable",
                                 P_("Selectable"),
@@ -3436,6 +3464,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:activatable:
    *
    * Toggles whether return invokes the activate signal or not.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("activatable",
                                 P_("Activatable"),
@@ -3451,6 +3481,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * Whether the input cursor is visible or not, it will only be visible
    * if both #ClutterText:cursor-visible and #ClutterText:editable are
    * set to %TRUE.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("cursor-visible",
                                 P_("Cursor Visible"),
@@ -3464,6 +3496,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:cursor-color:
    *
    * The color of the cursor.
+   *
+   * Since: 1.0
    */
   pspec = clutter_param_spec_color ("cursor-color",
                                     P_("Cursor Color"),
@@ -3478,6 +3512,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:cursor-color-set:
    *
    * Will be set to %TRUE if #ClutterText:cursor-color has been set.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("cursor-color-set",
                                 P_("Cursor Color Set"),
@@ -3492,6 +3528,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * The size of the cursor, in pixels. If set to -1 the size used will
    * be the default cursor size of 2 pixels.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_int ("cursor-size",
                             P_("Cursor Size"),
@@ -3502,9 +3540,31 @@ clutter_text_class_init (ClutterTextClass *klass)
   g_object_class_install_property (gobject_class, PROP_CURSOR_SIZE, pspec);
 
   /**
+   * ClutterText:position:
+   *
+   * The current input cursor position. -1 is taken to be the end of the text
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12: Use ClutterText:cursor-position instead.
+   */
+  pspec = g_param_spec_int ("position",
+                            P_("Cursor Position"),
+                            P_("The cursor position"),
+                            -1, G_MAXINT,
+                            -1,
+                            G_PARAM_READWRITE |
+                            G_PARAM_STATIC_STRINGS |
+                            G_PARAM_DEPRECATED);
+  obj_props[PROP_POSITION] = pspec;
+  g_object_class_install_property (gobject_class, PROP_POSITION, pspec);
+
+  /**
    * ClutterText:cursor-position:
    *
    * The current input cursor position. -1 is taken to be the end of the text
+   *
+   * Since: 1.12
    */
   pspec = g_param_spec_int ("cursor-position",
                             P_("Cursor Position"),
@@ -3519,6 +3579,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:selection-bound:
    *
    * The current input cursor position. -1 is taken to be the end of the text
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_int ("selection-bound",
                             P_("Selection-bound"),
@@ -3533,6 +3595,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:selection-color:
    *
    * The color of the selection.
+   *
+   * Since: 1.0
    */
   pspec = clutter_param_spec_color ("selection-color",
                                     P_("Selection Color"),
@@ -3547,6 +3611,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:selection-color-set:
    *
    * Will be set to %TRUE if #ClutterText:selection-color has been set.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("selection-color-set",
                                 P_("Selection Color Set"),
@@ -3561,6 +3627,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * A list of #PangoStyleAttribute<!-- -->s to be applied to the
    * contents of the #ClutterText actor.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boxed ("attributes",
                               P_("Attributes"),
@@ -3582,6 +3650,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * %TRUE and %FALSE. Once a string with markup has been set on
    * a #ClutterText actor with :use-markup set to %TRUE, the markup
    * is stripped from the string.</note>
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("use-markup",
                                 P_("Use markup"),
@@ -3597,6 +3667,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * Whether to wrap the lines of #ClutterText:text if the contents
    * exceed the available allocation. The wrapping strategy is
    * controlled by the #ClutterText:line-wrap-mode property.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("line-wrap",
                                 P_("Line wrap"),
@@ -3611,6 +3683,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * If #ClutterText:line-wrap is set to %TRUE, this property will
    * control how the text is wrapped.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_enum ("line-wrap-mode",
                              P_("Line wrap mode"),
@@ -3625,6 +3699,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:ellipsize:
    *
    * The preferred place to ellipsize the contents of the #ClutterText actor
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_enum ("ellipsize",
                              P_("Ellipsize"),
@@ -3640,6 +3716,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * The preferred alignment for the text. This property controls
    * the alignment of multi-line paragraphs.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_enum ("line-alignment",
                              P_("Line Alignment"),
@@ -3655,6 +3733,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * Whether the contents of the #ClutterText should be justified
    * on both margins.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("justify",
                                 P_("Justify"),
@@ -3669,6 +3749,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * If non-zero, the character that should be used in place of
    * the actual text in a password text actor.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_unichar ("password-char",
                                 P_("Password Character"),
@@ -3682,6 +3764,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:max-length:
    *
    * The maximum length of the contents of the #ClutterText actor.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_int ("max-length",
                             P_("Max Length"),
@@ -3704,6 +3788,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * The #ClutterText:single-line-mode property is used only if the
    * #ClutterText:editable property is set to %TRUE.
+   *
+   * Since: 1.0
    */
   pspec = g_param_spec_boolean ("single-line-mode",
                                 P_("Single Line Mode"),
@@ -3717,6 +3803,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:selected-text-color:
    *
    * The color of selected text.
+   *
+   * Since: 1.8
    */
   pspec = clutter_param_spec_color ("selected-text-color",
                                     P_("Selected Text Color"),
@@ -3731,6 +3819,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * ClutterText:selected-text-color-set:
    *
    * Will be set to %TRUE if #ClutterText:selected-text-color has been set.
+   *
+   * Since: 1.8
    */
   pspec = g_param_spec_boolean ("selected-text-color-set",
                                 P_("Selected Text Color Set"),
@@ -3745,6 +3835,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * @self: the #ClutterText that emitted the signal
    *
    * The ::text-changed signal is emitted after @actor's text changes
+   *
+   * Since: 1.0
    */
   text_signals[TEXT_CHANGED] =
     g_signal_new (I_("text-changed"),
@@ -3768,6 +3860,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * This signal is emitted when text is inserted into the actor by
    * the user. It is emitted before @self text changes.
+   *
+   * Since: 1.2
    */
   text_signals[INSERT_TEXT] =
     g_signal_new (I_("insert-text"),
@@ -3789,6 +3883,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    *
    * This signal is emitted when text is deleted from the actor by
    * the user. It is emitted before @self text changes.
+   *
+   * Since: 1.2
    */
   text_signals[DELETE_TEXT] =
     g_signal_new (I_("delete-text"),
@@ -3802,11 +3898,37 @@ clutter_text_class_init (ClutterTextClass *klass)
                   G_TYPE_INT);
 
   /**
+   * ClutterText::cursor-event:
+   * @self: the #ClutterText that emitted the signal
+   * @geometry: the coordinates of the cursor
+   *
+   * The ::cursor-event signal is emitted whenever the cursor position
+   * changes inside a #ClutterText actor. Inside @geometry it is stored
+   * the current position and size of the cursor, relative to the actor
+   * itself.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.16: Use the #ClutterText::cursor-changed signal instead
+   */
+  text_signals[CURSOR_EVENT] =
+    g_signal_new (I_("cursor-event"),
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
+                 G_STRUCT_OFFSET (ClutterTextClass, cursor_event),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__BOXED,
+                 G_TYPE_NONE, 1,
+                 CLUTTER_TYPE_GEOMETRY | G_SIGNAL_TYPE_STATIC_SCOPE);
+
+  /**
    * ClutterText::cursor-changed:
    * @self: the #ClutterText that emitted the signal
    *
    * The ::cursor-changed signal is emitted whenever the cursor
    * position or size changes.
+   *
+   * Since: 1.16
    */
   text_signals[CURSOR_CHANGED] =
     g_signal_new (I_("cursor-changed"),
@@ -3824,6 +3946,8 @@ clutter_text_class_init (ClutterTextClass *klass)
    * The ::activate signal is emitted each time the actor is 'activated'
    * by the user, normally by pressing the 'Enter' key. The signal is
    * emitted only if #ClutterText:activatable is set to %TRUE.
+   *
+   * Since: 1.0
    */
   text_signals[ACTIVATE] =
     g_signal_new (I_("activate"),
@@ -4012,7 +4136,7 @@ clutter_text_init (ClutterText *self)
  *
  * Return value: the newly created #ClutterText actor
  *
- *
+ * Since: 1.0
  */
 ClutterActor *
 clutter_text_new (void)
@@ -4036,7 +4160,7 @@ clutter_text_new (void)
  *
  * Return value: the newly created #ClutterText actor
  *
- *
+ * Since: 1.0
  */
 ClutterActor *
 clutter_text_new_full (const gchar        *font_name,
@@ -4063,7 +4187,7 @@ clutter_text_new_full (const gchar        *font_name,
  *
  * Return value: the newly created #ClutterText actor
  *
- *
+ * Since: 1.0
  */
 ClutterActor *
 clutter_text_new_with_text (const gchar *font_name,
@@ -4208,7 +4332,7 @@ buffer_disconnect_signals (ClutterText *self)
  *
  * Return value: a new #ClutterText
  *
- *
+ * Since: 1.10
  */
 ClutterActor *
 clutter_text_new_with_buffer (ClutterTextBuffer *buffer)
@@ -4226,7 +4350,7 @@ clutter_text_new_with_buffer (ClutterTextBuffer *buffer)
  *
  * Returns: (transfer none): A #GtkEntryBuffer object.
  *
- *
+ * Since: 1.10
  */
 ClutterTextBuffer*
 clutter_text_get_buffer (ClutterText *self)
@@ -4244,7 +4368,7 @@ clutter_text_get_buffer (ClutterText *self)
  * Set the #ClutterTextBuffer object which holds the text for
  * this widget.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_text_set_buffer (ClutterText       *self,
@@ -4293,7 +4417,7 @@ clutter_text_set_buffer (ClutterText       *self,
  * clutter_actor_grab_key_focus() or clutter_stage_set_key_focus()
  * will receive key events and will update its contents accordingly.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_editable (ClutterText *self,
@@ -4323,7 +4447,7 @@ clutter_text_set_editable (ClutterText *self,
  *
  * Return value: %TRUE if the actor is editable
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_editable (ClutterText *self)
@@ -4343,7 +4467,7 @@ clutter_text_get_editable (ClutterText *self)
  * A selectable #ClutterText will allow selecting its contents using
  * the pointer or the keyboard.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_selectable (ClutterText *self,
@@ -4373,7 +4497,7 @@ clutter_text_set_selectable (ClutterText *self,
  *
  * Return value: %TRUE if the actor is selectable
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_selectable (ClutterText *self)
@@ -4397,7 +4521,7 @@ clutter_text_get_selectable (ClutterText *self)
  * An activatable #ClutterText must also be set as editable using
  * clutter_text_set_editable().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_activatable (ClutterText *self,
@@ -4427,7 +4551,7 @@ clutter_text_set_activatable (ClutterText *self,
  *
  * Return value: %TRUE if the actor is activatable
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_activatable (ClutterText *self)
@@ -4452,7 +4576,7 @@ clutter_text_get_activatable (ClutterText *self)
  * Return value: %TRUE if the ::activate signal has been emitted,
  *   and %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_activate (ClutterText *self)
@@ -4488,7 +4612,7 @@ clutter_text_activate (ClutterText *self)
  * The position of the cursor can be changed programmatically using
  * clutter_text_set_cursor_position().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_cursor_visible (ClutterText *self,
@@ -4504,8 +4628,7 @@ clutter_text_set_cursor_visible (ClutterText *self,
     {
       priv->cursor_visible = cursor_visible;
 
-      clutter_text_dirty_cache (self);
-      clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+      clutter_text_queue_redraw (CLUTTER_ACTOR (self));
 
       g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_VISIBLE]);
     }
@@ -4519,7 +4642,7 @@ clutter_text_set_cursor_visible (ClutterText *self,
  *
  * Return value: %TRUE if the cursor is visible
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_cursor_visible (ClutterText *self)
@@ -4539,7 +4662,7 @@ clutter_text_get_cursor_visible (ClutterText *self)
  * If @color is %NULL, the cursor color will be the same as the
  * text color.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_cursor_color (ClutterText        *self,
@@ -4557,7 +4680,7 @@ clutter_text_set_cursor_color (ClutterText        *self,
  *
  * Retrieves the color of the cursor of a #ClutterText actor.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_get_cursor_color (ClutterText  *self,
@@ -4584,7 +4707,7 @@ clutter_text_get_cursor_color (ClutterText  *self,
  * This function changes the position of the cursor to match
  * @start_pos and the selection bound to match @end_pos.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_selection (ClutterText *self,
@@ -4615,7 +4738,7 @@ clutter_text_set_selection (ClutterText *self,
  *   selected text, or %NULL. Use g_free() to free the returned
  *   string.
  *
- *
+ * Since: 1.0
  */
 gchar *
 clutter_text_get_selection (ClutterText *self)
@@ -4666,7 +4789,7 @@ clutter_text_get_selection (ClutterText *self)
  *
  * If @selection_bound is -1, the selection unset.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_selection_bound (ClutterText *self,
@@ -4702,7 +4825,7 @@ clutter_text_set_selection_bound (ClutterText *self,
  *
  * Return value: the position of the other end of the selection
  *
- *
+ * Since: 1.0
  */
 gint
 clutter_text_get_selection_bound (ClutterText *self)
@@ -4723,7 +4846,7 @@ clutter_text_get_selection_bound (ClutterText *self)
  * cursor color, or if no cursor color is set either then it will be
  * the same as the text color.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_selection_color (ClutterText        *self,
@@ -4742,7 +4865,7 @@ clutter_text_set_selection_color (ClutterText        *self,
  *
  * Retrieves the color of the selection of a #ClutterText actor.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_get_selection_color (ClutterText  *self,
@@ -4768,7 +4891,7 @@ clutter_text_get_selection_color (ClutterText  *self,
  * If @color is %NULL, the selected text color will be the same as the
  * selection color, which then falls back to cursor, and then text color.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_text_set_selected_text_color (ClutterText        *self,
@@ -4787,7 +4910,7 @@ clutter_text_set_selected_text_color (ClutterText        *self,
  *
  * Retrieves the color of selected text of a #ClutterText actor.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_text_get_selected_text_color (ClutterText  *self,
@@ -4814,7 +4937,7 @@ clutter_text_get_selected_text_color (ClutterText  *self,
  * so you can safely call pango_font_description_free() on it after
  * calling this function.
  *
- *
+ * Since: 1.2
  */
 void
 clutter_text_set_font_description (ClutterText          *self,
@@ -4822,8 +4945,7 @@ clutter_text_set_font_description (ClutterText          *self,
 {
   g_return_if_fail (CLUTTER_IS_TEXT (self));
 
-  clutter_text_set_font_description_internal (self, font_desc,
-                                              font_desc == NULL);
+  clutter_text_set_font_description_internal (self, font_desc);
 }
 
 /**
@@ -4835,7 +4957,7 @@ clutter_text_set_font_description (ClutterText          *self,
  * Return value: a #PangoFontDescription. The returned value is owned
  *   by the #ClutterText actor and it should not be modified or freed
  *
- *
+ * Since: 1.2
  */
 PangoFontDescription *
 clutter_text_get_font_description (ClutterText *self)
@@ -4855,7 +4977,7 @@ clutter_text_get_font_description (ClutterText *self)
  *   string is owned by the #ClutterText actor and should not be
  *   modified or freed
  *
- *
+ * Since: 1.0
  */
 const gchar *
 clutter_text_get_font_name (ClutterText *text)
@@ -4882,7 +5004,7 @@ clutter_text_get_font_name (ClutterText *text)
  *   clutter_text_set_font_name (text, "Helvetica 10");
  * ]|
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_font_name (ClutterText *self,
@@ -4930,7 +5052,8 @@ clutter_text_set_font_name (ClutterText *self,
     }
 
   /* this will set the font_name field as well */
-  clutter_text_set_font_description_internal (self, desc, is_default_font);
+  clutter_text_set_font_description_internal (self, desc);
+  priv->is_default_font = is_default_font;
 
   g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_FONT_NAME]);
 
@@ -4964,7 +5087,7 @@ out:
  *   string is owned by the #ClutterText actor and should never be modified
  *   or freed
  *
- *
+ * Since: 1.0
  */
 const gchar *
 clutter_text_get_text (ClutterText *self)
@@ -5016,7 +5139,7 @@ clutter_text_set_use_markup_internal (ClutterText *self,
  * maintain the #ClutterText:use-markup you should use the
  * clutter_text_set_markup() function instead
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_text (ClutterText *self,
@@ -5055,7 +5178,7 @@ clutter_text_set_text (ClutterText *self,
  *   clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
  * ]|
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_markup (ClutterText *self,
@@ -5079,7 +5202,7 @@ clutter_text_set_markup (ClutterText *self,
  * Return value: (transfer none): a #PangoLayout. The returned object is owned by
  *   the #ClutterText actor and should not be modified or freed
  *
- *
+ * Since: 1.0
  */
 PangoLayout *
 clutter_text_get_layout (ClutterText *self)
@@ -5108,7 +5231,7 @@ clutter_text_get_layout (ClutterText *self)
  * opacity of the actor itself on the scenegraph, as returned
  * by clutter_actor_get_paint_opacity().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_color (ClutterText        *self,
@@ -5127,7 +5250,7 @@ clutter_text_set_color (ClutterText        *self,
  *
  * Retrieves the text color as set by clutter_text_set_color().
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_get_color (ClutterText  *self,
@@ -5152,7 +5275,7 @@ clutter_text_get_color (ClutterText  *self,
  * text if there is not enough space to render the entire contents
  * of a #ClutterText actor
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_ellipsize (ClutterText        *self,
@@ -5187,7 +5310,7 @@ clutter_text_set_ellipsize (ClutterText        *self,
  *
  * Return value: #PangoEllipsizeMode
  *
- *
+ * Since: 1.0
  */
 PangoEllipsizeMode
 clutter_text_get_ellipsize (ClutterText *self)
@@ -5206,7 +5329,7 @@ clutter_text_get_ellipsize (ClutterText *self)
  * Return value: %TRUE if the #ClutterText actor should wrap
  *   its contents
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_line_wrap (ClutterText *self)
@@ -5224,7 +5347,7 @@ clutter_text_get_line_wrap (ClutterText *self)
  * Sets whether the contents of a #ClutterText actor should wrap,
  * if they don't fit the size assigned to the actor.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_line_wrap (ClutterText *self,
@@ -5257,7 +5380,7 @@ clutter_text_set_line_wrap (ClutterText *self,
  * function controls how the line wrapping is performed. The default is
  * %PANGO_WRAP_WORD which means wrap on word boundaries.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_line_wrap_mode (ClutterText   *self,
@@ -5291,7 +5414,7 @@ clutter_text_set_line_wrap_mode (ClutterText   *self,
  *
  * Return value: the wrap mode used by the #ClutterText
  *
- *
+ * Since: 1.0
  */
 PangoWrapMode
 clutter_text_get_line_wrap_mode (ClutterText *self)
@@ -5312,7 +5435,7 @@ clutter_text_get_line_wrap_mode (ClutterText *self)
  * The #ClutterText actor will take a reference on the #PangoAttrList
  * passed to this function.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_attributes (ClutterText   *self,
@@ -5363,7 +5486,7 @@ clutter_text_set_attributes (ClutterText   *self,
  * Return value: (transfer none): the attribute list, or %NULL if none was set. The
  *  returned value is owned by the #ClutterText and should not be unreferenced.
  *
- *
+ * Since: 1.0
  */
 PangoAttrList *
 clutter_text_get_attributes (ClutterText *self)
@@ -5385,7 +5508,7 @@ clutter_text_get_attributes (ClutterText *self)
  * To align a #ClutterText actor you should add it to a container
  * that supports alignment, or use the anchor point.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_line_alignment (ClutterText    *self,
@@ -5418,7 +5541,7 @@ clutter_text_set_line_alignment (ClutterText    *self,
  *
  * Return value: a #PangoAlignment
  *
- *
+ * Since: 1.0
  */
 PangoAlignment
 clutter_text_get_line_alignment (ClutterText *self)
@@ -5441,7 +5564,7 @@ clutter_text_get_line_alignment (ClutterText *self)
  *
  * See also #ClutterText:use-markup.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_use_markup (ClutterText *self,
@@ -5472,7 +5595,7 @@ clutter_text_set_use_markup (ClutterText *self,
  *
  * Return value: %TRUE if the contents will be parsed for markup
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_use_markup (ClutterText *self)
@@ -5491,7 +5614,7 @@ clutter_text_get_use_markup (ClutterText *self)
  * on both margins. This setting is ignored if Clutter is compiled
  * against Pango &lt; 1.18.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_justify (ClutterText *self,
@@ -5524,7 +5647,7 @@ clutter_text_set_justify (ClutterText *self,
  *
  * Return value: %TRUE if the text should be justified
  *
- *
+ * Since: 0.6
  */
 gboolean
 clutter_text_get_justify (ClutterText *self)
@@ -5542,7 +5665,7 @@ clutter_text_get_justify (ClutterText *self)
  *
  * Return value: the cursor position, in characters
  *
- *
+ * Since: 1.0
  */
 gint
 clutter_text_get_cursor_position (ClutterText *self)
@@ -5561,7 +5684,7 @@ clutter_text_get_cursor_position (ClutterText *self)
  *
  * The position is expressed in characters, not in bytes.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_cursor_position (ClutterText *self,
@@ -5590,6 +5713,8 @@ clutter_text_set_cursor_position (ClutterText *self,
 
   clutter_text_queue_redraw (CLUTTER_ACTOR (self));
 
+  /* XXX:2.0 - remove */
+  g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_POSITION]);
   g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_POSITION]);
 }
 
@@ -5603,7 +5728,7 @@ clutter_text_set_cursor_position (ClutterText *self,
  * will only be visible if the #ClutterText:cursor-visible property
  * is set to %TRUE.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_cursor_size (ClutterText *self,
@@ -5636,7 +5761,7 @@ clutter_text_set_cursor_size (ClutterText *self,
  *
  * Return value: the size of the cursor, in pixels
  *
- *
+ * Since: 1.0
  */
 guint
 clutter_text_get_cursor_size (ClutterText *self)
@@ -5657,7 +5782,7 @@ clutter_text_get_cursor_size (ClutterText *self)
  * If @wc is 0 the text will be displayed as it is entered in the
  * #ClutterText actor.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_password_char (ClutterText *self,
@@ -5690,7 +5815,7 @@ clutter_text_set_password_char (ClutterText *self,
  * Return value: a Unicode character or 0 if the password
  *   character is not set
  *
- *
+ * Since: 1.0
  */
 gunichar
 clutter_text_get_password_char (ClutterText *self)
@@ -5710,7 +5835,7 @@ clutter_text_get_password_char (ClutterText *self)
  * current contents are longer than the given length, then they will be
  * truncated to fit.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_max_length (ClutterText *self,
@@ -5730,7 +5855,7 @@ clutter_text_set_max_length (ClutterText *self,
  *
  * Return value: the maximum number of characters.
  *
- *
+ * Since: 1.0
  */
 gint
 clutter_text_get_max_length (ClutterText *self)
@@ -5748,7 +5873,7 @@ clutter_text_get_max_length (ClutterText *self)
  * Inserts @wc at the current cursor position of a
  * #ClutterText actor.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_insert_unichar (ClutterText *self,
@@ -5780,7 +5905,7 @@ clutter_text_insert_unichar (ClutterText *self,
  *
  * The position is expressed in characters, not in bytes.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_insert_text (ClutterText *self,
@@ -5806,7 +5931,7 @@ clutter_text_insert_text (ClutterText *self,
  * The starting and ending positions are expressed in characters,
  * not in bytes.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_delete_text (ClutterText *self,
@@ -5829,7 +5954,7 @@ clutter_text_delete_text (ClutterText *self,
  * Somewhat awkwardly, the cursor position is decremented by the same
  * number of characters you've deleted.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_delete_chars (ClutterText *self,
@@ -5862,7 +5987,7 @@ clutter_text_delete_chars (ClutterText *self,
  *   the text actor between the specified positions. Use g_free()
  *   to free the resources when done
  *
- *
+ * Since: 1.0
  */
 gchar *
 clutter_text_get_chars (ClutterText *self,
@@ -5909,7 +6034,7 @@ clutter_text_get_chars (ClutterText *self,
  * line character, the text actor will emit the #ClutterText::activate
  * signal.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_text_set_single_line_mode (ClutterText *self,
@@ -5951,7 +6076,7 @@ clutter_text_set_single_line_mode (ClutterText *self,
  *
  * Return value: %TRUE if the #ClutterText actor is in single line mode
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_text_get_single_line_mode (ClutterText *self)
@@ -5978,7 +6103,7 @@ clutter_text_get_single_line_mode (ClutterText *self)
  *
  * This function should not be used by applications
  *
- *
+ * Since: 1.2
  */
 void
 clutter_text_set_preedit_string (ClutterText   *self,
@@ -6038,7 +6163,7 @@ clutter_text_set_preedit_string (ClutterText   *self,
  * Obtains the coordinates where the #ClutterText will draw the #PangoLayout
  * representing the text.
  *
- *
+ * Since: 1.8
  */
 void
 clutter_text_get_layout_offsets (ClutterText *self,
@@ -6067,6 +6192,8 @@ clutter_text_get_layout_offsets (ClutterText *self,
  *
  * The coordinates of the rectangle's origin are in actor-relative
  * coordinates.
+ *
+ * Since: 1.16
  */
 void
 clutter_text_get_cursor_rect (ClutterText *self,
diff --git a/clutter/clutter-text.h b/clutter/clutter-text.h
index 2cd6db3..fd6e193 100644
--- a/clutter/clutter-text.h
+++ b/clutter/clutter-text.h
@@ -51,7 +51,7 @@ typedef struct _ClutterTextClass   ClutterTextClass;
  *
  * The #ClutterText struct contains only private data.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterText
 {
@@ -65,11 +65,12 @@ struct _ClutterText
  * ClutterTextClass:
  * @text_changed: class handler for the #ClutterText::text-changed signal
  * @activate: class handler for the #ClutterText::activate signal
+ * @cursor_event: class handler for the #ClutterText::cursor-event signal
  * @cursor_changed: class handler for the #ClutterText::cursor-changed signal
  *
  * The #ClutterTextClass struct contains only private data.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterTextClass
 {
@@ -80,6 +81,8 @@ struct _ClutterTextClass
   /* signals, not vfuncs */
   void (* text_changed)   (ClutterText           *self);
   void (* activate)       (ClutterText           *self);
+  void (* cursor_event)   (ClutterText           *self,
+                           const ClutterGeometry *geometry);
   void (* cursor_changed) (ClutterText           *self);
 
   /*< private >*/
@@ -101,11 +104,11 @@ ClutterActor *        clutter_text_new_full             (const gchar          *f
                                                          const ClutterColor   *color);
 ClutterActor *        clutter_text_new_with_text        (const gchar          *font_name,
                                                          const gchar          *text);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterActor *        clutter_text_new_with_buffer      (ClutterTextBuffer    *buffer);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterTextBuffer *   clutter_text_get_buffer           (ClutterText          *self);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                  clutter_text_set_buffer           (ClutterText          *self,
                                                          ClutterTextBuffer    *buffer);
 const gchar *         clutter_text_get_text             (ClutterText          *self);
@@ -213,7 +216,7 @@ void                  clutter_text_get_selected_text_color  (ClutterText
                                                              ClutterColor         *color);
 
 gboolean              clutter_text_activate             (ClutterText          *self);
-
+CLUTTER_AVAILABLE_IN_1_10
 gint                  clutter_text_coords_to_position   (ClutterText          *self,
                                                          gfloat                x,
                                                          gfloat                y);
diff --git a/clutter/clutter-texture.h b/clutter/clutter-texture.h
new file mode 100644
index 0000000..4781b2c
--- /dev/null
+++ b/clutter/clutter-texture.h
@@ -0,0 +1,128 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_TEXTURE_H__
+#define __CLUTTER_TEXTURE_H__
+
+#include <cogl/cogl.h>
+#include <clutter/clutter-actor.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_TEXTURE            (clutter_texture_get_type ())
+#define CLUTTER_TEXTURE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_TEXTURE, 
ClutterTexture))
+#define CLUTTER_TEXTURE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_TEXTURE, 
ClutterTextureClass))
+#define CLUTTER_IS_TEXTURE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_TEXTURE))
+#define CLUTTER_IS_TEXTURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_TEXTURE))
+#define CLUTTER_TEXTURE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_TEXTURE, 
ClutterTextureClass))
+
+/**
+ * ClutterTextureError:
+ * @CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY: OOM condition
+ * @CLUTTER_TEXTURE_ERROR_NO_YUV: YUV operation attempted but no YUV support
+ *   found
+ * @CLUTTER_TEXTURE_ERROR_BAD_FORMAT: The requested format for
+ * clutter_texture_set_from_rgb_data or
+ * clutter_texture_set_from_yuv_data is unsupported.
+ *
+ * Error enumeration for #ClutterTexture
+ *
+ * Since: 0.4
+ */
+typedef enum {
+  CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY,
+  CLUTTER_TEXTURE_ERROR_NO_YUV,
+  CLUTTER_TEXTURE_ERROR_BAD_FORMAT
+} ClutterTextureError;
+
+/**
+ * CLUTTER_TEXTURE_ERROR:
+ *
+ * Error domain for #ClutterTexture errors
+ *
+ * Since: 0.4
+ */
+#define CLUTTER_TEXTURE_ERROR   (clutter_texture_error_quark ())
+GQuark clutter_texture_error_quark (void);
+
+typedef struct _ClutterTexture        ClutterTexture;
+typedef struct _ClutterTextureClass   ClutterTextureClass;
+typedef struct _ClutterTexturePrivate ClutterTexturePrivate;
+
+/**
+ * ClutterTexture:
+ *
+ * The #ClutterTexture structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.1
+ */
+struct _ClutterTexture
+{
+  /*< private >*/
+  ClutterActor         parent;
+
+  ClutterTexturePrivate *priv;
+};
+
+/**
+ * ClutterTextureClass:
+ * @size_change: handler for the #ClutterTexture::size-change signal
+ * @pixbuf_change: handler for the #ClutterTexture::pixbuf-change signal
+ * @load_finished: handler for the #ClutterTexture::load-finished signal
+ *
+ * The #ClutterTextureClass structure contains only private data
+ *
+ * Since: 0.1
+ */
+struct _ClutterTextureClass
+{
+  /*< private >*/
+  ClutterActorClass parent_class;
+
+  /*< public >*/
+  void (* size_change)   (ClutterTexture *texture,
+                          gint            width,
+                          gint            height);
+  void (* pixbuf_change) (ClutterTexture *texture);
+  void (* load_finished) (ClutterTexture *texture,
+                          const GError   *error);
+
+  /*< private >*/
+  /* padding, for future expansion */
+  void (*_clutter_texture1) (void);
+  void (*_clutter_texture2) (void);
+  void (*_clutter_texture3) (void);
+  void (*_clutter_texture4) (void);
+  void (*_clutter_texture5) (void);
+};
+
+GType clutter_texture_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __CLUTTER_TEXTURE_H__ */
diff --git a/clutter/clutter-timeline.c b/clutter/clutter-timeline.c
index 291245c..440b2d2 100644
--- a/clutter/clutter-timeline.c
+++ b/clutter/clutter-timeline.c
@@ -110,6 +110,8 @@
 #include "clutter-private.h"
 #include "clutter-scriptable.h"
 
+#include "deprecated/clutter-timeline.h"
+
 static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (ClutterTimeline, clutter_timeline, G_TYPE_OBJECT,
@@ -181,6 +183,7 @@ enum
 {
   PROP_0,
 
+  PROP_LOOP,
   PROP_DELAY,
   PROP_DURATION,
   PROP_DIRECTION,
@@ -291,6 +294,23 @@ clutter_timeline_add_marker_internal (ClutterTimeline *timeline,
   g_hash_table_insert (priv->markers_by_name, marker->name, marker);
 }
 
+static inline void
+clutter_timeline_set_loop_internal (ClutterTimeline *timeline,
+                                    gboolean         loop)
+{
+  gint old_repeat_count;
+
+  old_repeat_count = timeline->priv->repeat_count;
+
+  if (loop)
+    clutter_timeline_set_repeat_count (timeline, -1);
+  else
+    clutter_timeline_set_repeat_count (timeline, 0);
+
+  if (old_repeat_count != timeline->priv->repeat_count)
+    g_object_notify_by_pspec (G_OBJECT (timeline), obj_props[PROP_LOOP]);
+}
+
 /* Scriptable */
 typedef struct _ParseClosure {
   ClutterTimeline *timeline;
@@ -427,6 +447,10 @@ clutter_timeline_set_property (GObject      *object,
 
   switch (prop_id)
     {
+    case PROP_LOOP:
+      clutter_timeline_set_loop_internal (timeline, g_value_get_boolean (value));
+      break;
+
     case PROP_DELAY:
       clutter_timeline_set_delay (timeline, g_value_get_uint (value));
       break;
@@ -468,6 +492,10 @@ clutter_timeline_get_property (GObject    *object,
 
   switch (prop_id)
     {
+    case PROP_LOOP:
+      g_value_set_boolean (value, priv->repeat_count != 0);
+      break;
+
     case PROP_DELAY:
       g_value_set_uint (value, priv->delay);
       break;
@@ -550,12 +578,31 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
   g_type_class_add_private (klass, sizeof (ClutterTimelinePrivate));
 
   /**
+   * ClutterTimeline:loop:
+   *
+   * Whether the timeline should automatically rewind and restart.
+   *
+   * As a side effect, setting this property to %TRUE will set the
+   * #ClutterTimeline:repeat-count property to -1, while setting this
+   * property to %FALSE will set the #ClutterTimeline:repeat-count
+   * property to 0.
+   *
+   * Deprecated: 1.10: Use the #ClutterTimeline:repeat-count property instead.
+   */
+  obj_props[PROP_LOOP] =
+    g_param_spec_boolean ("loop",
+                          P_("Loop"),
+                          P_("Should the timeline automatically restart"),
+                          FALSE,
+                          CLUTTER_PARAM_READWRITE | G_PARAM_DEPRECATED);
+
+  /**
    * ClutterTimeline:delay:
    *
    * A delay, in milliseconds, that should be observed by the
    * timeline before actually starting.
    *
-   *
+   * Since: 0.4
    */
   obj_props[PROP_DELAY] =
     g_param_spec_uint ("delay",
@@ -571,7 +618,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    * Duration of the timeline in milliseconds, depending on the
    * ClutterTimeline:fps value.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_DURATION] =
     g_param_spec_uint ("duration",
@@ -587,7 +634,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    * The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or
    * %CLUTTER_TIMELINE_BACKWARD.
    *
-   *
+   * Since: 0.6
    */
   obj_props[PROP_DIRECTION] =
     g_param_spec_enum ("direction",
@@ -603,7 +650,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    * If the direction of the timeline should be automatically reversed
    * when reaching the end.
    *
-   *
+   * Since: 1.6
    */
   obj_props[PROP_AUTO_REVERSE] =
     g_param_spec_boolean ("auto-reverse",
@@ -622,7 +669,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    * If the repeat count is set to -1, the timeline will repeat until it is
    * stopped.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_REPEAT_COUNT] =
     g_param_spec_int ("repeat-count",
@@ -637,7 +684,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    *
    * Controls the way a #ClutterTimeline computes the normalized progress.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_PROGRESS_MODE] =
     g_param_spec_enum ("progress-mode",
@@ -754,7 +801,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    * the "foo" and "bar" marker, while the second and third callbacks
    * will be invoked for the "foo" or "bar" markers, respectively.
    *
-   *
+   * Since: 0.8
    */
   timeline_signals[MARKER_REACHED] =
     g_signal_new (I_("marker-reached"),
@@ -783,7 +830,7 @@ clutter_timeline_class_init (ClutterTimelineClass *klass)
    * If the #ClutterTimeline has is marked as infinitely repeating,
    * this signal will never be emitted.
    *
-   *
+   * Since: 1.12
    */
   timeline_signals[STOPPED] =
     g_signal_new (I_("stopped"),
@@ -1220,6 +1267,45 @@ clutter_timeline_stop (ClutterTimeline *timeline)
 }
 
 /**
+ * clutter_timeline_set_loop:
+ * @timeline: a #ClutterTimeline
+ * @loop: %TRUE for enable looping
+ *
+ * Sets whether @timeline should loop.
+ *
+ * This function is equivalent to calling clutter_timeline_set_repeat_count()
+ * with -1 if @loop is %TRUE, and with 0 if @loop is %FALSE.
+ *
+ * Deprecated: 1.10: Use clutter_timeline_set_repeat_count() instead.
+ */
+void
+clutter_timeline_set_loop (ClutterTimeline *timeline,
+                          gboolean         loop)
+{
+  g_return_if_fail (CLUTTER_IS_TIMELINE (timeline));
+
+  clutter_timeline_set_loop_internal (timeline, loop);
+}
+
+/**
+ * clutter_timeline_get_loop:
+ * @timeline: a #ClutterTimeline
+ *
+ * Gets whether @timeline is looping
+ *
+ * Return value: %TRUE if the timeline is looping
+ *
+ * Deprecated: 1.10: Use clutter_timeline_get_repeat_count() instead.
+ */
+gboolean
+clutter_timeline_get_loop (ClutterTimeline *timeline)
+{
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), FALSE);
+
+  return timeline->priv->repeat_count != 0;
+}
+
+/**
  * clutter_timeline_rewind:
  * @timeline: A #ClutterTimeline
  *
@@ -1336,6 +1422,44 @@ clutter_timeline_is_playing (ClutterTimeline *timeline)
 }
 
 /**
+ * clutter_timeline_clone:
+ * @timeline: #ClutterTimeline to duplicate.
+ *
+ * Create a new #ClutterTimeline instance which has property values
+ * matching that of supplied timeline. The cloned timeline will not
+ * be started and will not be positioned to the current position of
+ * the original @timeline: you will have to start it with clutter_timeline_start().
+ *
+ * <note><para>The only cloned properties are:</para>
+ * <itemizedlist>
+ *   <listitem><simpara>#ClutterTimeline:duration</simpara></listitem>
+ *   <listitem><simpara>#ClutterTimeline:loop</simpara></listitem>
+ *   <listitem><simpara>#ClutterTimeline:delay</simpara></listitem>
+ *   <listitem><simpara>#ClutterTimeline:direction</simpara></listitem>
+ * </itemizedlist></note>
+ *
+ * Return value: (transfer full): a new #ClutterTimeline, cloned
+ *   from @timeline
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_timeline_new() or g_object_new()
+ *   instead
+ */
+ClutterTimeline *
+clutter_timeline_clone (ClutterTimeline *timeline)
+{
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), NULL);
+
+  return g_object_new (CLUTTER_TYPE_TIMELINE,
+                       "duration", timeline->priv->duration,
+                       "loop", timeline->priv->repeat_count != 0,
+                       "delay", timeline->priv->delay,
+                       "direction", timeline->priv->direction,
+                       NULL);
+}
+
+/**
  * clutter_timeline_new:
  * @msecs: Duration of the timeline in milliseconds
  *
@@ -1344,7 +1468,7 @@ clutter_timeline_is_playing (ClutterTimeline *timeline)
  * Return value: the newly created #ClutterTimeline instance. Use
  *   g_object_unref() when done using it
  *
- *
+ * Since: 0.6
  */
 ClutterTimeline *
 clutter_timeline_new (guint msecs)
@@ -1362,7 +1486,7 @@ clutter_timeline_new (guint msecs)
  *
  * Return value: the delay in milliseconds.
  *
- *
+ * Since: 0.4
  */
 guint
 clutter_timeline_get_delay (ClutterTimeline *timeline)
@@ -1379,7 +1503,7 @@ clutter_timeline_get_delay (ClutterTimeline *timeline)
  *
  * Sets the delay, in milliseconds, before @timeline should start.
  *
- *
+ * Since: 0.4
  */
 void
 clutter_timeline_set_delay (ClutterTimeline *timeline,
@@ -1407,7 +1531,7 @@ clutter_timeline_set_delay (ClutterTimeline *timeline,
  *
  * Return value: the duration of the timeline, in milliseconds.
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_timeline_get_duration (ClutterTimeline *timeline)
@@ -1429,7 +1553,7 @@ clutter_timeline_get_duration (ClutterTimeline *timeline)
  * Sets the duration of the timeline, in milliseconds. The speed
  * of the timeline depends on the ClutterTimeline:fps setting.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_timeline_set_duration (ClutterTimeline *timeline,
@@ -1462,7 +1586,7 @@ clutter_timeline_set_duration (ClutterTimeline *timeline,
  *
  * Return value: the normalized current position in the timeline.
  *
- *
+ * Since: 0.6
  */
 gdouble
 clutter_timeline_get_progress (ClutterTimeline *timeline)
@@ -1492,7 +1616,7 @@ clutter_timeline_get_progress (ClutterTimeline *timeline)
  *
  * Return value: the direction of the timeline
  *
- *
+ * Since: 0.6
  */
 ClutterTimelineDirection
 clutter_timeline_get_direction (ClutterTimeline *timeline)
@@ -1511,7 +1635,7 @@ clutter_timeline_get_direction (ClutterTimeline *timeline)
  * Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
  * %CLUTTER_TIMELINE_BACKWARD.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_timeline_set_direction (ClutterTimeline          *timeline,
@@ -1548,7 +1672,7 @@ clutter_timeline_set_direction (ClutterTimeline          *timeline,
  * Return value: the amount of time in milliseconds elapsed since the
  * last frame
  *
- *
+ * Since: 0.6
  */
 guint
 clutter_timeline_get_delta (ClutterTimeline *timeline)
@@ -1658,6 +1782,8 @@ _clutter_timeline_do_tick (ClutterTimeline *timeline,
  * clutter_timeline_advance_to_marker().
  *
  * See also: clutter_timeline_add_marker_at_time()
+ *
+ * Since: 1.14
  */
 void
 clutter_timeline_add_marker (ClutterTimeline *timeline,
@@ -1691,6 +1817,8 @@ clutter_timeline_add_marker (ClutterTimeline *timeline,
  * clutter_timeline_advance_to_marker().
  *
  * See also: clutter_timeline_add_marker()
+ *
+ * Since: 0.8
  */
 void
 clutter_timeline_add_marker_at_time (ClutterTimeline *timeline,
@@ -1747,7 +1875,7 @@ collect_markers (const gchar *key,
  *   a newly allocated, %NULL terminated string array containing the names
  *   of the markers. Use g_strfreev() when done.
  *
- *
+ * Since: 0.8
  */
 gchar **
 clutter_timeline_list_markers (ClutterTimeline *timeline,
@@ -1816,7 +1944,7 @@ clutter_timeline_list_markers (ClutterTimeline *timeline,
  * is set, nor it will emit #ClutterTimeline::marker-reached for
  * @marker_name.</para></note>
  *
- *
+ * Since: 0.8
  */
 void
 clutter_timeline_advance_to_marker (ClutterTimeline *timeline,
@@ -1859,7 +1987,7 @@ clutter_timeline_advance_to_marker (ClutterTimeline *timeline,
  *
  * Removes @marker_name, if found, from @timeline.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_timeline_remove_marker (ClutterTimeline *timeline,
@@ -1899,7 +2027,7 @@ clutter_timeline_remove_marker (ClutterTimeline *timeline,
  *
  * Return value: %TRUE if the marker was found
  *
- *
+ * Since: 0.8
  */
 gboolean
 clutter_timeline_has_marker (ClutterTimeline *timeline,
@@ -1957,7 +2085,7 @@ clutter_timeline_has_marker (ClutterTimeline *timeline,
  *   clutter_timeline_set_auto_reverse (timeline);
  * ]|
  *
- *
+ * Since: 1.6
  */
 void
 clutter_timeline_set_auto_reverse (ClutterTimeline *timeline,
@@ -1989,7 +2117,7 @@ clutter_timeline_set_auto_reverse (ClutterTimeline *timeline,
  * Return value: %TRUE if the timeline should automatically reverse, and
  *   %FALSE otherwise
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_timeline_get_auto_reverse (ClutterTimeline *timeline)
@@ -2011,7 +2139,7 @@ clutter_timeline_get_auto_reverse (ClutterTimeline *timeline)
  * If @count is -1, the timeline will always repeat until
  * it's stopped.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_timeline_set_repeat_count (ClutterTimeline *timeline,
@@ -2041,7 +2169,7 @@ clutter_timeline_set_repeat_count (ClutterTimeline *timeline,
  *
  * Return value: the number of repeats
  *
- *
+ * Since: 1.10
  */
 gint
 clutter_timeline_get_repeat_count (ClutterTimeline *timeline)
@@ -2070,7 +2198,7 @@ clutter_timeline_get_repeat_count (ClutterTimeline *timeline)
  * If @func is %NULL, any previously set progress function will be unset, and
  * the #ClutterTimeline:progress-mode property will be set to %CLUTTER_LINEAR.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_timeline_set_progress_func (ClutterTimeline             *timeline,
@@ -2162,7 +2290,7 @@ clutter_timeline_progress_func (ClutterTimeline *timeline,
  * enumeration. The @mode cannot be %CLUTTER_CUSTOM_MODE or bigger than
  * %CLUTTER_ANIMATION_LAST.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_timeline_set_progress_mode (ClutterTimeline      *timeline,
@@ -2205,7 +2333,7 @@ clutter_timeline_set_progress_mode (ClutterTimeline      *timeline,
  *
  * Return value: a #ClutterAnimationMode
  *
- *
+ * Since: 1.10
  */
 ClutterAnimationMode
 clutter_timeline_get_progress_mode (ClutterTimeline *timeline)
@@ -2230,7 +2358,7 @@ clutter_timeline_get_progress_mode (ClutterTimeline *timeline)
  *
  * Return value: the full duration of the #ClutterTimeline
  *
- *
+ * Since: 1.10
  */
 gint64
 clutter_timeline_get_duration_hint (ClutterTimeline *timeline)
@@ -2259,7 +2387,7 @@ clutter_timeline_get_duration_hint (ClutterTimeline *timeline)
  *
  * Return value: the current repeat
  *
- *
+ * Since: 1.10
  */
 gint
 clutter_timeline_get_current_repeat (ClutterTimeline *timeline)
@@ -2279,7 +2407,7 @@ clutter_timeline_get_current_repeat (ClutterTimeline *timeline)
  * Sets the #ClutterTimeline:progress-mode of the @timeline to %CLUTTER_STEPS
  * and provides the parameters of the step function.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_timeline_set_step_progress (ClutterTimeline *timeline,
@@ -2315,7 +2443,7 @@ clutter_timeline_set_step_progress (ClutterTimeline *timeline,
  * Return value: %TRUE if the @timeline is using a step progress
  *   mode, and %FALSE otherwise
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_timeline_get_step_progress (ClutterTimeline *timeline,
@@ -2352,7 +2480,7 @@ clutter_timeline_get_step_progress (ClutterTimeline *timeline,
  * of the two control points must be in the [ 0, 1 ] range, while the
  * Y coordinate of the two control points can exceed this range.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_timeline_set_cubic_bezier_progress (ClutterTimeline    *timeline,
@@ -2389,7 +2517,7 @@ clutter_timeline_set_cubic_bezier_progress (ClutterTimeline    *timeline,
  * Return value: %TRUE if the @timeline is using a cubic bezier progress
  *   more, and %FALSE otherwise
  *
- *
+ * Since: 1.12
  */
 gboolean
 clutter_timeline_get_cubic_bezier_progress (ClutterTimeline *timeline,
diff --git a/clutter/clutter-timeline.h b/clutter/clutter-timeline.h
index 7eec4a0..c31f8df 100644
--- a/clutter/clutter-timeline.h
+++ b/clutter/clutter-timeline.h
@@ -53,7 +53,7 @@ typedef struct _ClutterTimelinePrivate ClutterTimelinePrivate;
  *
  * Return value: the progress, as a floating point value between -1.0 and 2.0.
  *
- *
+ * Since: 1.10
  */
 typedef gdouble (* ClutterTimelineProgressFunc) (ClutterTimeline *timeline,
                                                  gdouble          elapsed,
@@ -66,7 +66,7 @@ typedef gdouble (* ClutterTimelineProgressFunc) (ClutterTimeline *timeline,
  * The #ClutterTimeline structure contains only private data
  * and should be accessed using the provided API
  *
- *
+ * Since: 0.2
  */
 struct _ClutterTimeline
 {
@@ -87,7 +87,7 @@ struct _ClutterTimeline
  *
  * The #ClutterTimelineClass structure contains only private data
  *
- *
+ * Since: 0.2
  */
 struct _ClutterTimelineClass
 {
@@ -131,10 +131,10 @@ void                            clutter_timeline_stop
 void                            clutter_timeline_set_auto_reverse               (ClutterTimeline          
*timeline,
                                                                                  gboolean                  
reverse);
 gboolean                        clutter_timeline_get_auto_reverse               (ClutterTimeline          
*timeline);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_timeline_set_repeat_count               (ClutterTimeline          
*timeline,
                                                                                  gint                      
count);
-
+CLUTTER_AVAILABLE_IN_1_10
 gint                            clutter_timeline_get_repeat_count               (ClutterTimeline          
*timeline);
 void                            clutter_timeline_rewind                         (ClutterTimeline          
*timeline);
 void                            clutter_timeline_skip                           (ClutterTimeline          
*timeline,
@@ -164,36 +164,36 @@ gboolean                        clutter_timeline_has_marker
                                                                                  const gchar              
*marker_name);
 void                            clutter_timeline_advance_to_marker              (ClutterTimeline          
*timeline,
                                                                                  const gchar              
*marker_name);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_timeline_set_progress_func              (ClutterTimeline          
*timeline,
                                                                                  ClutterTimelineProgressFunc 
func,
                                                                                  gpointer                  
data,
                                                                                  GDestroyNotify            
notify);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                            clutter_timeline_set_progress_mode              (ClutterTimeline          
*timeline,
                                                                                  ClutterAnimationMode      
mode);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterAnimationMode            clutter_timeline_get_progress_mode              (ClutterTimeline          
*timeline);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_timeline_set_step_progress              (ClutterTimeline          
*timeline,
                                                                                  gint                      
n_steps,
                                                                                  ClutterStepMode           
step_mode);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                        clutter_timeline_get_step_progress              (ClutterTimeline          
*timeline,
                                                                                  gint                     
*n_steps,
                                                                                  ClutterStepMode          
*step_mode);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                            clutter_timeline_set_cubic_bezier_progress      (ClutterTimeline          
*timeline,
                                                                                  const ClutterPoint       
*c_1,
                                                                                  const ClutterPoint       
*c_2);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                        clutter_timeline_get_cubic_bezier_progress      (ClutterTimeline          
*timeline,
                                                                                  ClutterPoint             
*c_1,
                                                                                  ClutterPoint             
*c_2);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 gint64                          clutter_timeline_get_duration_hint              (ClutterTimeline          
*timeline);
-
+CLUTTER_AVAILABLE_IN_1_10
 gint                            clutter_timeline_get_current_repeat             (ClutterTimeline          
*timeline);
 
 G_END_DECLS
diff --git a/clutter/clutter-transition-group.c b/clutter/clutter-transition-group.c
index cfc5f23..1b8e664 100644
--- a/clutter/clutter-transition-group.c
+++ b/clutter/clutter-transition-group.c
@@ -186,7 +186,7 @@ clutter_transition_group_init (ClutterTransitionGroup *self)
  *   g_object_unref() when done to deallocate the resources it
  *   uses
  *
- *
+ * Since: 1.12
  */
 ClutterTransition *
 clutter_transition_group_new (void)
@@ -204,7 +204,7 @@ clutter_transition_group_new (void)
  * This function acquires a reference on @transition that will be released
  * when calling clutter_transition_group_remove_transition().
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_group_add_transition (ClutterTransitionGroup *group,
@@ -226,7 +226,7 @@ clutter_transition_group_add_transition (ClutterTransitionGroup *group,
  * This function releases the reference acquired on @transition when
  * calling clutter_transition_group_add_transition().
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_group_remove_transition (ClutterTransitionGroup *group,
@@ -246,7 +246,7 @@ clutter_transition_group_remove_transition (ClutterTransitionGroup *group,
  * This function releases the reference acquired when calling
  * clutter_transition_group_add_transition().
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_group_remove_all (ClutterTransitionGroup *group)
diff --git a/clutter/clutter-transition-group.h b/clutter/clutter-transition-group.h
index 6cd3790..efa9ddb 100644
--- a/clutter/clutter-transition-group.h
+++ b/clutter/clutter-transition-group.h
@@ -45,7 +45,7 @@ typedef struct _ClutterTransitionGroupClass             ClutterTransitionGroupCl
  * The <structname>ClutterTransitionGroup</structname> structure contains
  * private data and should only be accessed using the provided API.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterTransitionGroup
 {
@@ -61,7 +61,7 @@ struct _ClutterTransitionGroup
  * The <structname>ClutterTransitionGroupClass</structname> structure
  * contains only private data.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterTransitionGroupClass
 {
@@ -71,19 +71,19 @@ struct _ClutterTransitionGroupClass
   gpointer _padding[8];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_transition_group_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterTransition *     clutter_transition_group_new            (void);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_group_add_transition         (ClutterTransitionGroup *group,
                                                                          ClutterTransition      *transition);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_group_remove_transition      (ClutterTransitionGroup *group,
                                                                          ClutterTransition      *transition);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_group_remove_all             (ClutterTransitionGroup *group);
 
 G_END_DECLS
diff --git a/clutter/clutter-transition.c b/clutter/clutter-transition.c
index 7ee5f58..ec6055b 100644
--- a/clutter/clutter-transition.c
+++ b/clutter/clutter-transition.c
@@ -239,7 +239,7 @@ clutter_transition_class_init (ClutterTransitionClass *klass)
    * The #ClutterInterval used to describe the initial and final states
    * of the transition.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_INTERVAL] =
     g_param_spec_object ("interval",
@@ -254,7 +254,7 @@ clutter_transition_class_init (ClutterTransitionClass *klass)
    *
    * The #ClutterAnimatable instance currently being animated.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_ANIMATABLE] =
     g_param_spec_object ("animatable",
@@ -276,7 +276,7 @@ clutter_transition_class_init (ClutterTransitionClass *klass)
    * and it only detaches the transition if the transition is not
    * repeating.
    *
-   *
+   * Since: 1.10
    */
   obj_props[PROP_REMOVE_ON_COMPLETE] =
     g_param_spec_boolean ("remove-on-complete",
@@ -305,7 +305,7 @@ clutter_transition_init (ClutterTransition *self)
  * The @transition will acquire a reference on the @interval, sinking
  * the floating flag on it if necessary.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_transition_set_interval (ClutterTransition *transition,
@@ -339,7 +339,7 @@ clutter_transition_set_interval (ClutterTransition *transition,
  *   interval is owned by the #ClutterTransition and it should not be freed
  *   directly
  *
- *
+ * Since: 1.10
  */
 ClutterInterval *
 clutter_transition_get_interval (ClutterTransition *transition)
@@ -363,7 +363,7 @@ clutter_transition_get_interval (ClutterTransition *transition)
  * reference will be released, and the #ClutterTransitionClass.detached()
  * virtual function will be called.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_transition_set_animatable (ClutterTransition *transition,
@@ -401,7 +401,7 @@ clutter_transition_set_animatable (ClutterTransition *transition,
  *   animatable is owned by the #ClutterTransition, and it should not be freed
  *   directly.
  *
- *
+ * Since: 1.10
  */
 ClutterAnimatable *
 clutter_transition_get_animatable (ClutterTransition *transition)
@@ -420,7 +420,7 @@ clutter_transition_get_animatable (ClutterTransition *transition)
  * set using clutter_transition_set_animatable() when the
  * #ClutterTimeline::completed signal is emitted.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_transition_set_remove_on_complete (ClutterTransition *transition,
@@ -448,7 +448,7 @@ clutter_transition_set_remove_on_complete (ClutterTransition *transition,
  * Return value: %TRUE if the @transition should be detached when complete,
  *   and %FALSE otherwise
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_transition_get_remove_on_complete (ClutterTransition *transition)
@@ -533,7 +533,7 @@ clutter_transition_set_value (ClutterTransition *transition,
  *
  * Rename to: clutter_transition_set_from
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_set_from_value (ClutterTransition *transition,
@@ -569,7 +569,7 @@ clutter_transition_set_from_value (ClutterTransition *transition,
  *
  * Rename to: clutter_transition_set_to
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_set_to_value (ClutterTransition *transition,
@@ -602,7 +602,7 @@ clutter_transition_set_to_value (ClutterTransition *transition,
  * This is a convenience function for the C API; language bindings
  * should use clutter_transition_set_from_value() instead.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_set_from (ClutterTransition *transition,
@@ -655,7 +655,7 @@ clutter_transition_set_from (ClutterTransition *transition,
  * This is a convenience function for the C API; language bindings
  * should use clutter_transition_set_to_value() instead.
  *
- *
+ * Since: 1.12
  */
 void
 clutter_transition_set_to (ClutterTransition *transition,
diff --git a/clutter/clutter-transition.h b/clutter/clutter-transition.h
index 3a291fd..c52764d 100644
--- a/clutter/clutter-transition.h
+++ b/clutter/clutter-transition.h
@@ -49,7 +49,7 @@ typedef struct _ClutterTransitionClass          ClutterTransitionClass;
  * The <structname>ClutterTransition</structname> structure contains private
  * data and should only be accessed using the provided API.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTransition
 {
@@ -71,7 +71,7 @@ struct _ClutterTransition
  * The <structname>ClutterTransitionClass</structname> structure contains
  * private data.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterTransitionClass
 {
@@ -93,38 +93,38 @@ struct _ClutterTransitionClass
   gpointer _padding[8];
 };
 
-
+CLUTTER_AVAILABLE_IN_1_10
 GType clutter_transition_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_transition_set_interval                 (ClutterTransition *transition,
                                                                          ClutterInterval   *interval);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterInterval *       clutter_transition_get_interval                 (ClutterTransition *transition);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_set_from_value               (ClutterTransition *transition,
                                                                          const GValue      *value);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_set_to_value                 (ClutterTransition *transition,
                                                                          const GValue      *value);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_set_from                     (ClutterTransition *transition,
                                                                          GType              value_type,
                                                                          ...);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_transition_set_to                       (ClutterTransition *transition,
                                                                          GType              value_type,
                                                                          ...);
 
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_transition_set_animatable               (ClutterTransition *transition,
                                                                          ClutterAnimatable *animatable);
-
+CLUTTER_AVAILABLE_IN_1_10
 ClutterAnimatable *     clutter_transition_get_animatable               (ClutterTransition *transition);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                    clutter_transition_set_remove_on_complete       (ClutterTransition *transition,
                                                                          gboolean           remove_complete);
-
+CLUTTER_AVAILABLE_IN_1_10
 gboolean                clutter_transition_get_remove_on_complete       (ClutterTransition *transition);
 
 G_END_DECLS
diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h
index 34b1e08..9a66394 100644
--- a/clutter/clutter-types.h
+++ b/clutter/clutter-types.h
@@ -37,6 +37,7 @@ G_BEGIN_DECLS
 
 #define CLUTTER_TYPE_ACTOR_BOX          (clutter_actor_box_get_type ())
 #define CLUTTER_TYPE_FOG                (clutter_fog_get_type ())
+#define CLUTTER_TYPE_GEOMETRY           (clutter_geometry_get_type ())
 #define CLUTTER_TYPE_KNOT               (clutter_knot_get_type ())
 #define CLUTTER_TYPE_MARGIN             (clutter_margin_get_type ())
 #define CLUTTER_TYPE_MATRIX             (clutter_matrix_get_type ())
@@ -77,6 +78,8 @@ typedef struct _ClutterPathNode                 ClutterPathNode;
 
 typedef struct _ClutterActorBox                 ClutterActorBox;
 typedef struct _ClutterColor                    ClutterColor;
+typedef struct _ClutterGeometry                 ClutterGeometry; /* XXX:2.0 - remove */
+typedef struct _ClutterKnot                     ClutterKnot;
 typedef struct _ClutterMargin                   ClutterMargin;
 typedef struct _ClutterPerspective              ClutterPerspective;
 typedef struct _ClutterPoint                    ClutterPoint;
@@ -84,6 +87,11 @@ typedef struct _ClutterRect                     ClutterRect;
 typedef struct _ClutterSize                     ClutterSize;
 typedef struct _ClutterVertex                   ClutterVertex;
 
+typedef struct _ClutterAlpha                   ClutterAlpha;
+typedef struct _ClutterAnimation                ClutterAnimation;
+typedef struct _ClutterAnimator                ClutterAnimator;
+typedef struct _ClutterState                   ClutterState;
+
 typedef struct _ClutterInputDevice              ClutterInputDevice;
 
 typedef CoglMatrix                              ClutterMatrix;
@@ -96,10 +104,14 @@ typedef union _ClutterEvent                     ClutterEvent;
  * The <structname>ClutterEventSequence</structname> structure is an opaque
  * type used to denote the event sequence of a touch event.
  *
- *
+ * Since: 1.12
  */
 typedef struct _ClutterEventSequence            ClutterEventSequence;
 
+typedef struct _ClutterFog                      ClutterFog; /* deprecated */
+typedef struct _ClutterBehaviour                ClutterBehaviour; /* deprecated */
+typedef struct _ClutterShader                   ClutterShader; /* deprecated */
+
 /**
  * ClutterPaintVolume:
  *
@@ -116,7 +128,7 @@ typedef struct _ClutterEventSequence            ClutterEventSequence;
  * Other internal representation and methods for describing the
  * bounding volume may be added in the future.
  *
- *
+ * Since: 1.4
  */
 typedef struct _ClutterPaintVolume      ClutterPaintVolume;
 
@@ -127,7 +139,7 @@ typedef struct _ClutterPaintVolume      ClutterPaintVolume;
  *
  * A point in 2D space.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterPoint
 {
@@ -146,7 +158,7 @@ struct _ClutterPoint
  *   ClutterPoint p = CLUTTER_POINT_INIT (100, 100);
  * ]|
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_POINT_INIT(x,y)         { (x), (y) }
 
@@ -156,29 +168,29 @@ struct _ClutterPoint
  * A simple macro for initializing a #ClutterPoint to (0, 0) when
  * declaring it.
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_POINT_INIT_ZERO         CLUTTER_POINT_INIT (0.f, 0.f)
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_point_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 const ClutterPoint *    clutter_point_zero      (void);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterPoint *          clutter_point_alloc     (void);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterPoint *          clutter_point_init      (ClutterPoint       *point,
                                                  float               x,
                                                  float               y);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterPoint *          clutter_point_copy      (const ClutterPoint *point);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_point_free      (ClutterPoint       *point);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_point_equals    (const ClutterPoint *a,
                                                  const ClutterPoint *b);
-
+CLUTTER_AVAILABLE_IN_1_12
 float                   clutter_point_distance  (const ClutterPoint *a,
                                                  const ClutterPoint *b,
                                                  float              *x_distance,
@@ -191,7 +203,7 @@ float                   clutter_point_distance  (const ClutterPoint *a,
  *
  * A size, in 2D space.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterSize
 {
@@ -210,7 +222,7 @@ struct _ClutterSize
  *   ClutterSize s = CLUTTER_SIZE_INIT (200, 200);
  * ]|
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_SIZE_INIT(width,height) { (width), (height) }
 
@@ -220,24 +232,24 @@ struct _ClutterSize
  * A simple macro for initializing a #ClutterSize to (0, 0) when
  * declaring it.
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_SIZE_INIT_ZERO          CLUTTER_SIZE_INIT (0.f, 0.f)
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_size_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterSize *   clutter_size_alloc      (void);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterSize *   clutter_size_init       (ClutterSize       *size,
                                          float              width,
                                          float              height);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterSize *   clutter_size_copy       (const ClutterSize *size);
-
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_size_free       (ClutterSize       *size);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean        clutter_size_equals     (const ClutterSize *a,
                                          const ClutterSize *b);
 
@@ -260,7 +272,7 @@ gboolean        clutter_size_equals     (const ClutterSize *a,
  * it is safer to access the contents of a #ClutterRect by using the provided
  * API at all times, instead of directly accessing the structure members.
  *
- *
+ * Since: 1.12
  */
 struct _ClutterRect
 {
@@ -281,7 +293,7 @@ struct _ClutterRect
  *   ClutterRect r = CLUTTER_RECT_INIT (100, 100, 200, 200);
  * ]|
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_RECT_INIT(x,y,width,height)     { { (x), (y) }, { (width), (height) } }
 
@@ -291,67 +303,67 @@ struct _ClutterRect
  * A simple macro for initializing a #ClutterRect to (0, 0, 0, 0) when
  * declaring it.
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_RECT_INIT_ZERO                  CLUTTER_RECT_INIT (0.f, 0.f, 0.f, 0.f)
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_rect_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 const ClutterRect *     clutter_rect_zero               (void);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterRect *           clutter_rect_alloc              (void);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterRect *           clutter_rect_init               (ClutterRect       *rect,
                                                          float              x,
                                                          float              y,
                                                          float              width,
                                                          float              height);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterRect *           clutter_rect_copy               (const ClutterRect *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_rect_free               (ClutterRect       *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_rect_equals             (ClutterRect       *a,
                                                          ClutterRect       *b);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterRect *           clutter_rect_normalize          (ClutterRect       *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_rect_get_center         (ClutterRect       *rect,
                                                          ClutterPoint      *center);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_rect_contains_point     (ClutterRect       *rect,
                                                          ClutterPoint      *point);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_rect_contains_rect      (ClutterRect       *a,
                                                          ClutterRect       *b);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_rect_union              (ClutterRect       *a,
                                                          ClutterRect       *b,
                                                          ClutterRect       *res);
-
+CLUTTER_AVAILABLE_IN_1_12
 gboolean                clutter_rect_intersection       (ClutterRect       *a,
                                                          ClutterRect       *b,
                                                          ClutterRect       *res);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_rect_offset             (ClutterRect       *rect,
                                                          float              d_x,
                                                          float              d_y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_rect_inset              (ClutterRect       *rect,
                                                          float              d_x,
                                                          float              d_y);
-
+CLUTTER_AVAILABLE_IN_1_12
 void                    clutter_rect_clamp_to_pixel     (ClutterRect       *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 float                   clutter_rect_get_x              (ClutterRect       *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 float                   clutter_rect_get_y              (ClutterRect       *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 float                   clutter_rect_get_width          (ClutterRect       *rect);
-
+CLUTTER_AVAILABLE_IN_1_12
 float                   clutter_rect_get_height         (ClutterRect       *rect);
 
 /**
@@ -362,7 +374,7 @@ float                   clutter_rect_get_height         (ClutterRect       *rect
  *
  * A point in 3D space, expressed in pixels
  *
- *
+ * Since: 0.4
  */
 struct _ClutterVertex
 {
@@ -383,7 +395,7 @@ struct _ClutterVertex
  *   ClutterVertex v = CLUTTER_VERTEX_INIT (x, y, z);
  * ]|
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_VERTEX_INIT(x,y,z)      { (x), (y), (z) }
 
@@ -392,7 +404,7 @@ struct _ClutterVertex
  *
  * A simple macro for initializing a #ClutterVertex to (0, 0, 0).
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_VERTEX_INIT_ZERO        CLUTTER_VERTEX_INIT (0.f, 0.f, 0.f)
 
@@ -400,7 +412,7 @@ GType          clutter_vertex_get_type (void) G_GNUC_CONST;
 ClutterVertex *clutter_vertex_new      (gfloat               x,
                                         gfloat               y,
                                         gfloat               z);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterVertex *clutter_vertex_alloc    (void);
 ClutterVertex *clutter_vertex_init     (ClutterVertex       *vertex,
                                         gfloat               x,
@@ -445,7 +457,7 @@ struct _ClutterActorBox
  *   ClutterActorBox box = CLUTTER_ACTOR_BOX_INIT (0, 0, 400, 600);
  * ]|
  *
- *
+ * Since: 1.10
  */
 #define CLUTTER_ACTOR_BOX_INIT(x_1,y_1,x_2,y_2)         { (x_1), (y_1), (x_2), (y_2) }
 
@@ -459,7 +471,7 @@ struct _ClutterActorBox
  *   ClutterActorBox box = CLUTTER_ACTOR_BOX_INIT_ZERO;
  * ]|
  *
- *
+ * Since: 1.12
  */
 #define CLUTTER_ACTOR_BOX_INIT_ZERO                     CLUTTER_ACTOR_BOX_INIT (0.f, 0.f, 0.f, 0.f)
 
@@ -468,7 +480,7 @@ ClutterActorBox *clutter_actor_box_new           (gfloat                 x_1,
                                                   gfloat                 y_1,
                                                   gfloat                 x_2,
                                                   gfloat                 y_2);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterActorBox *clutter_actor_box_alloc         (void);
 ClutterActorBox *clutter_actor_box_init          (ClutterActorBox       *box,
                                                   gfloat                 x_1,
@@ -517,6 +529,61 @@ void             clutter_actor_box_set_size       (ClutterActorBox       *box,
                                                    gfloat                 height);
 
 /**
+ * ClutterGeometry:
+ * @x: X coordinate of the top left corner of an actor
+ * @y: Y coordinate of the top left corner of an actor
+ * @width: width of an actor
+ * @height: height of an actor
+ *
+ * The rectangle containing an actor's bounding box, measured in pixels.
+ *
+ * <warning>You should not use #ClutterGeometry, or operate on its fields
+ * directly; you should use #cairo_rectangle_int_t or #ClutterRect if you
+ * need a rectangle type, depending on the precision required.</warning>
+ *
+ * Deprecated: 1.16
+ */
+struct _ClutterGeometry
+{
+  /*< public >*/
+  gint   x;
+  gint   y;
+  guint  width;
+  guint  height;
+};
+
+GType clutter_geometry_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_16
+void      clutter_geometry_union      (const ClutterGeometry *geometry_a,
+                                       const ClutterGeometry *geometry_b,
+                                       ClutterGeometry       *result);
+CLUTTER_DEPRECATED_IN_1_16
+gboolean  clutter_geometry_intersects (const ClutterGeometry *geometry0,
+                                       const ClutterGeometry *geometry1);
+
+/**
+ * ClutterKnot:
+ * @x: X coordinate of the knot
+ * @y: Y coordinate of the knot
+ *
+ * Point in a path behaviour.
+ *
+ * Since: 0.2
+ */
+struct _ClutterKnot
+{
+  gint x;
+  gint y;
+};
+
+GType        clutter_knot_get_type (void) G_GNUC_CONST;
+ClutterKnot *clutter_knot_copy     (const ClutterKnot *knot);
+void         clutter_knot_free     (ClutterKnot       *knot);
+gboolean     clutter_knot_equal    (const ClutterKnot *knot_a,
+                                    const ClutterKnot *knot_b);
+
+/**
  * ClutterPathNode:
  * @type: the node's type
  * @points: the coordinates of the node
@@ -528,13 +595,13 @@ void             clutter_actor_box_set_size       (ClutterActorBox       *box,
  * pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
  * %CLUTTER_PATH_CLOSE uses none.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterPathNode
 {
   ClutterPathNodeType type;
 
-  ClutterPoint points[3];
+  ClutterKnot points[3];
 };
 
 GType clutter_path_node_get_type (void) G_GNUC_CONST;
@@ -568,7 +635,7 @@ void                clutter_paint_volume_set_depth           (ClutterPaintVolume
 gfloat              clutter_paint_volume_get_depth           (const ClutterPaintVolume *pv);
 void                clutter_paint_volume_union               (ClutterPaintVolume       *pv,
                                                               const ClutterPaintVolume *another_pv);
-
+CLUTTER_AVAILABLE_IN_1_10
 void                clutter_paint_volume_union_box           (ClutterPaintVolume       *pv,
                                                               const ClutterActorBox    *box);
 
@@ -584,7 +651,7 @@ gboolean            clutter_paint_volume_set_from_allocation (ClutterPaintVolume
  *
  * A representation of the components of a margin.
  *
- *
+ * Since: 1.10
  */
 struct _ClutterMargin
 {
@@ -621,7 +688,7 @@ void            clutter_margin_free     (ClutterMargin       *margin_);
  * Return value: %TRUE if the function successfully computed
  *   the value and stored it inside @retval
  *
- *
+ * Since: 1.0
  */
 typedef gboolean (* ClutterProgressFunc) (const GValue *a,
                                           const GValue *b,
@@ -631,14 +698,20 @@ typedef gboolean (* ClutterProgressFunc) (const GValue *a,
 void clutter_interval_register_progress_func (GType               value_type,
                                               ClutterProgressFunc func);
 
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_matrix_get_type (void) G_GNUC_CONST;
 
+CLUTTER_AVAILABLE_IN_1_12
 ClutterMatrix * clutter_matrix_alloc            (void);
+CLUTTER_AVAILABLE_IN_1_12
 ClutterMatrix * clutter_matrix_init_identity    (ClutterMatrix       *matrix);
+CLUTTER_AVAILABLE_IN_1_12
 ClutterMatrix * clutter_matrix_init_from_array  (ClutterMatrix       *matrix,
                                                  const float          values[16]);
+CLUTTER_AVAILABLE_IN_1_12
 ClutterMatrix * clutter_matrix_init_from_matrix (ClutterMatrix       *a,
                                                  const ClutterMatrix *b);
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_matrix_free             (ClutterMatrix       *matrix);
 
 G_END_DECLS
diff --git a/clutter/clutter-units.c b/clutter/clutter-units.c
index 847bb5e..f07f0f6 100644
--- a/clutter/clutter-units.c
+++ b/clutter/clutter-units.c
@@ -148,7 +148,7 @@ units_em_to_pixels (const gchar *font_name,
  *
  * Stores a value in millimiters inside @units
  *
- *
+ * Since: 1.0
  */
 void
 clutter_units_from_mm (ClutterUnits *units,
@@ -174,7 +174,7 @@ clutter_units_from_mm (ClutterUnits *units,
  *
  * Stores a value in centimeters inside @units
  *
- *
+ * Since: 1.2
  */
 void
 clutter_units_from_cm (ClutterUnits *units,
@@ -200,7 +200,7 @@ clutter_units_from_cm (ClutterUnits *units,
  *
  * Stores a value in typographic points inside @units
  *
- *
+ * Since: 1.0
  */
 void
 clutter_units_from_pt (ClutterUnits *units,
@@ -227,7 +227,7 @@ clutter_units_from_pt (ClutterUnits *units,
  * Stores a value in em inside @units, using the default font
  * name as returned by clutter_backend_get_font_name()
  *
- *
+ * Since: 1.0
  */
 void
 clutter_units_from_em (ClutterUnits *units,
@@ -254,7 +254,7 @@ clutter_units_from_em (ClutterUnits *units,
  *
  * Stores a value in em inside @units using @font_name
  *
- *
+ * Since: 1.0
  */
 void
 clutter_units_from_em_for_font (ClutterUnits *units,
@@ -281,7 +281,7 @@ clutter_units_from_em_for_font (ClutterUnits *units,
  *
  * Stores a value in pixels inside @units
  *
- *
+ * Since: 1.0
  */
 void
 clutter_units_from_pixels (ClutterUnits *units,
@@ -308,7 +308,7 @@ clutter_units_from_pixels (ClutterUnits *units,
  *
  * Return value: a unit type
  *
- *
+ * Since: 1.0
  */
 ClutterUnitType
 clutter_units_get_unit_type (const ClutterUnits *units)
@@ -326,7 +326,7 @@ clutter_units_get_unit_type (const ClutterUnits *units)
  *
  * Return value: the value stored inside a #ClutterUnits
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_units_get_unit_value (const ClutterUnits *units)
@@ -346,7 +346,7 @@ clutter_units_get_unit_value (const ClutterUnits *units)
  *   #ClutterUnits structure. Use clutter_units_free() to free
  *   the allocated resources
  *
- *
+ * Since: 1.0
  */
 ClutterUnits *
 clutter_units_copy (const ClutterUnits *units)
@@ -366,7 +366,7 @@ clutter_units_copy (const ClutterUnits *units)
  * You should only call this function on a #ClutterUnits
  * created using clutter_units_copy()
  *
- *
+ * Since: 1.0
  */
 void
 clutter_units_free (ClutterUnits *units)
@@ -383,7 +383,7 @@ clutter_units_free (ClutterUnits *units)
  *
  * Return value: the value in pixels
  *
- *
+ * Since: 1.0
  */
 gfloat
 clutter_units_to_pixels (ClutterUnits *units)
@@ -471,7 +471,7 @@ clutter_units_to_pixels (ClutterUnits *units)
  * Return value: %TRUE if the string was successfully parsed,
  *   and %FALSE otherwise
  *
- *
+ * Since: 1.0
  */
 gboolean
 clutter_units_from_string (ClutterUnits *units,
@@ -602,7 +602,7 @@ clutter_unit_type_name (ClutterUnitType unit_type)
  * Return value: a newly allocated string containing the encoded
  *   #ClutterUnits value. Use g_free() to free the string
  *
- *
+ * Since: 1.0
  */
 gchar *
 clutter_units_to_string (const ClutterUnits *units)
@@ -752,7 +752,7 @@ G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterUnits, clutter_units,
  *
  * Sets @value to @units
  *
- *
+ * Since: 0.8
  */
 void
 clutter_value_set_units (GValue             *value,
@@ -771,7 +771,7 @@ clutter_value_set_units (GValue             *value,
  *
  * Return value: the units inside the passed #GValue
  *
- *
+ * Since: 0.8
  */
 const ClutterUnits *
 clutter_value_get_units (const GValue *value)
@@ -904,7 +904,7 @@ clutter_param_units_get_type (void)
  *
  * Return value: the newly created #GParamSpec
  *
- *
+ * Since: 1.0
  */
 GParamSpec *
 clutter_param_spec_units (const gchar     *name,
diff --git a/clutter/clutter-units.h b/clutter/clutter-units.h
index 00693a7..e50242b 100644
--- a/clutter/clutter-units.h
+++ b/clutter/clutter-units.h
@@ -43,7 +43,7 @@ G_BEGIN_DECLS
  * An opaque structure, to be used to store sizing and positioning
  * values along with their unit.
  *
- *
+ * Since: 1.0
  */
 typedef struct _ClutterUnits    ClutterUnits;
 
@@ -116,7 +116,7 @@ gchar *         clutter_units_to_string        (const ClutterUnits *units);
  *
  * Evaluates to %TRUE if @x holds a #ClutterUnits value
  *
- *
+ * Since: 0.8
  */
 #define CLUTTER_VALUE_HOLDS_UNITS(x)    (G_VALUE_HOLDS ((x), CLUTTER_TYPE_UNITS))
 
@@ -131,7 +131,7 @@ typedef struct _ClutterParamSpecUnits   ClutterParamSpecUnits;
  *
  * #GParamSpec subclass for unit based properties.
  *
- *
+ * Since: 1.0
  */
 struct _ClutterParamSpecUnits
 {
diff --git a/clutter/clutter-util.c b/clutter/clutter-util.c
index 54f974f..20dd2f9 100644
--- a/clutter/clutter-util.c
+++ b/clutter/clutter-util.c
@@ -23,6 +23,13 @@
  *
  */
 
+/**
+ * SECTION:clutter-util
+ * @short_description: Utility functions
+ *
+ * Various miscellaneous utilility functions.
+ */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -36,6 +43,29 @@
 #include "clutter-interval.h"
 #include "clutter-private.h"
 
+#include "deprecated/clutter-util.h"
+
+/**
+ * clutter_util_next_p2:
+ * @a: Value to get the next power
+ *
+ * Calculates the nearest power of two, greater than or equal to @a.
+ *
+ * Return value: The nearest power of two, greater or equal to @a.
+ *
+ * Deprecated: 1.2
+ */
+gint
+clutter_util_next_p2 (gint a)
+{
+  int rval = 1;
+
+  while (rval < a)
+    rval <<= 1;
+
+  return rval;
+}
+
 /*< private >
  * _clutter_gettext:
  * @str: a string to localize
@@ -587,7 +617,7 @@ progress_data_destroy (gpointer data_)
  * To unset a previously set progress function of a #GType, pass %NULL
  * for @func.
  *
- *
+ * Since: 1.0
  */
 void
 clutter_interval_register_progress_func (GType               value_type,
diff --git a/clutter/clutter-version.h.in b/clutter/clutter-version.h.in
index d9b8c89..a4703e1 100644
--- a/clutter/clutter-version.h.in
+++ b/clutter/clutter-version.h.in
@@ -99,6 +99,13 @@ G_BEGIN_DECLS
 #define CLUTTER_MICRO_VERSION   (@CLUTTER_MICRO_VERSION@)
 
 /**
+ * CLUTTER_VERSION:
+ *
+ * The full version of the Clutter library, like 1.2.3
+ */
+#define CLUTTER_VERSION         @CLUTTER_VERSION@
+
+/**
  * CLUTTER_VERSION_S:
  *
  * The full version of the Clutter library, in string form (suited for
@@ -107,23 +114,105 @@ G_BEGIN_DECLS
 #define CLUTTER_VERSION_S       "@CLUTTER_VERSION@"
 
 /**
- * CLUTTER_VERSION:
+ * CLUTTER_VERSION_HEX:
  *
  * Numerically encoded version of the Clutter library, like 0x010203
  */
-#define CLUTTER_VERSION         ((CLUTTER_MAJOR_VERSION << 24) | \
+#define CLUTTER_VERSION_HEX     ((CLUTTER_MAJOR_VERSION << 24) | \
                                  (CLUTTER_MINOR_VERSION << 16) | \
                                  (CLUTTER_MICRO_VERSION << 8))
 
 /* XXX - Every new stable minor release bump should add a macro here */
 
 /**
- * CLUTTER_VERSION_2_0:
+ * CLUTTER_VERSION_1_0:
  *
  * A macro that evaluates to the 1.0 version of Clutter, in a format
  * that can be used by the C pre-processor.
+ *
+ * Since: 1.10
  */
-#define CLUTTER_VERSION_2_0     (G_ENCODE_VERSION (2, 0))
+#define CLUTTER_VERSION_1_0     (G_ENCODE_VERSION (1, 0))
+
+/**
+ * CLUTTER_VERSION_1_2:
+ *
+ * A macro that evaluates to the 1.2 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.10
+ */
+#define CLUTTER_VERSION_1_2     (G_ENCODE_VERSION (1, 2))
+
+/**
+ * CLUTTER_VERSION_1_4:
+ *
+ * A macro that evaluates to the 1.4 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.10
+ */
+#define CLUTTER_VERSION_1_4     (G_ENCODE_VERSION (1, 4))
+
+/**
+ * CLUTTER_VERSION_1_6:
+ *
+ * A macro that evaluates to the 1.6 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.10
+ */
+#define CLUTTER_VERSION_1_6     (G_ENCODE_VERSION (1, 6))
+
+/**
+ * CLUTTER_VERSION_1_8:
+ *
+ * A macro that evaluates to the 1.8 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.10
+ */
+#define CLUTTER_VERSION_1_8     (G_ENCODE_VERSION (1, 8))
+
+/**
+ * CLUTTER_VERSION_1_10:
+ *
+ * A macro that evaluates to the 1.10 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.10
+ */
+#define CLUTTER_VERSION_1_10    (G_ENCODE_VERSION (1, 10))
+
+/**
+ * CLUTTER_VERSION_1_12:
+ *
+ * A macro that evaluates to the 1.12 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.12
+ */
+#define CLUTTER_VERSION_1_12    (G_ENCODE_VERSION (1, 12))
+
+/**
+ * CLUTTER_VERSION_1_14:
+ *
+ * A macro that evaluates to the 1.14 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.14
+ */
+#define CLUTTER_VERSION_1_14    (G_ENCODE_VERSION (1, 14))
+
+/**
+ * CLUTTER_VERSION_1_16:
+ *
+ * A macro that evaluates to the 1.16 version of Clutter, in a format
+ * that can be used by the C pre-processor.
+ *
+ * Since: 1.14
+ */
+#define CLUTTER_VERSION_1_16    (G_ENCODE_VERSION (1, 16))
 
 /* evaluates to the current stable version; for development cycles,
  * this means the next stable target
@@ -155,6 +244,63 @@ G_BEGIN_DECLS
          (CLUTTER_MAJOR_VERSION == (major) && CLUTTER_MINOR_VERSION > (minor)) || \
          (CLUTTER_MAJOR_VERSION == (major) && CLUTTER_MINOR_VERSION == (minor) && CLUTTER_MICRO_VERSION >= 
(micro)))
 
+/* annotation for exported variables
+ *
+ * XXX: this has to be defined here because clutter-macro.h imports this
+ * header file.
+ */
+#ifdef _MSC_VER
+# ifdef CLUTTER_COMPILATION
+#  define CLUTTER_VAR __declspec(dllexport)
+# else
+#  define CLUTTER_VAR extern __declspec(dllimport)
+# endif
+#else
+# define CLUTTER_VAR extern
+#endif
+
+/**
+ * clutter_major_version:
+ *
+ * The major component of the Clutter library version, e.g. 1 if the version
+ * is 1.2.3
+ *
+ * This value can be used for run-time version checks
+ *
+ * For a compile-time check, use %CLUTTER_MAJOR_VERSION
+ *
+ * Since: 1.2
+ */
+CLUTTER_VAR const guint clutter_major_version;
+
+/**
+ * clutter_minor_version:
+ *
+ * The minor component of the Clutter library version, e.g. 2 if the version
+ * is 1.2.3
+ *
+ * This value can be used for run-time version checks
+ *
+ * For a compile-time check, use %CLUTTER_MINOR_VERSION
+ *
+ * Since: 1.2
+ */
+CLUTTER_VAR const guint clutter_minor_version;
+
+/**
+ * clutter_micro_version:
+ *
+ * The micro component of the Clutter library version, e.g. 3 if the version
+ * is 1.2.3
+ *
+ * This value can be used for run-time version checks
+ *
+ * For a compile-time check, use %CLUTTER_MICRO_VERSION
+ *
+ * Since: 1.2
+ */
+CLUTTER_VAR const guint clutter_micro_version;
+
 gboolean clutter_check_version (guint major,
                                 guint minor,
                                 guint micro);
diff --git a/clutter/clutter-zoom-action.c b/clutter/clutter-zoom-action.c
index e810fd0..5901a6e 100644
--- a/clutter/clutter-zoom-action.c
+++ b/clutter/clutter-zoom-action.c
@@ -43,7 +43,7 @@
  * will automatically result in the actor to be scale according to the
  * distance between two touch points.
  *
- *
+ * Since: 1.12
  */
 
 #ifdef HAVE_CONFIG_H
@@ -81,7 +81,6 @@ struct _ClutterZoomActionPrivate
 
   ZoomPoint points[2];
 
-  ClutterPoint initial_focal_point;
   ClutterPoint focal_point;
   ClutterPoint transformed_focal_point;
 
@@ -177,18 +176,6 @@ clutter_zoom_action_gesture_begin (ClutterGestureAction *action,
                            &priv->initial_scale_x,
                            &priv->initial_scale_y);
 
-  priv->initial_focal_point.x = (priv->points[0].start_x + priv->points[1].start_x) / 2;
-  priv->initial_focal_point.y = (priv->points[0].start_y + priv->points[1].start_y) / 2;
-  clutter_actor_transform_stage_point (actor,
-                                       priv->initial_focal_point.x,
-                                       priv->initial_focal_point.y,
-                                       &priv->transformed_focal_point.x,
-                                       &priv->transformed_focal_point.y);
-
-  clutter_actor_set_pivot_point (actor,
-                                 priv->transformed_focal_point.x / clutter_actor_get_width (actor),
-                                 priv->transformed_focal_point.y / clutter_actor_get_height (actor));
-
   return TRUE;
 }
 
@@ -213,6 +200,11 @@ clutter_zoom_action_gesture_progress (ClutterGestureAction *action,
 
   priv->focal_point.x = (priv->points[0].update_x + priv->points[1].update_x) / 2;
   priv->focal_point.y = (priv->points[0].update_y + priv->points[1].update_y) / 2;
+  priv->transformed_focal_point.x = (priv->points[0].transformed_update_x +
+                                     priv->points[1].transformed_update_x) / 2;
+  priv->transformed_focal_point.y = (priv->points[0].transformed_update_y +
+                                     priv->points[1].transformed_update_y) / 2;
+
 
   new_scale = distance / priv->zoom_initial_distance;
 
@@ -243,16 +235,11 @@ clutter_zoom_action_real_zoom (ClutterZoomAction *action,
                                gdouble            factor)
 {
   ClutterZoomActionPrivate *priv = action->priv;
+  ClutterActor *parent = clutter_actor_get_parent (actor);
   gfloat x, y, z;
   gdouble scale_x, scale_y;
   ClutterVertex out, in;
 
-  in.x = priv->transformed_focal_point.x;
-  in.y = priv->transformed_focal_point.y;
-  in.z = 0;
-
-  clutter_actor_apply_transform_to_point (actor, &in, &out);
-
   clutter_actor_get_scale (actor, &scale_x, &scale_y);
 
   switch (priv->zoom_axis)
@@ -273,10 +260,21 @@ clutter_zoom_action_real_zoom (ClutterZoomAction *action,
       break;
     }
 
-  x = priv->initial_x + priv->focal_point.x - priv->initial_focal_point.x;
-  y = priv->initial_y + priv->focal_point.y - priv->initial_focal_point.y;
-  clutter_actor_get_translation (actor, NULL, NULL, &z);
-  clutter_actor_set_translation (actor, x, y, z);
+
+  in.x = priv->transformed_focal_point.x;
+  in.y = priv->transformed_focal_point.y;
+  in.z = 0;
+
+  clutter_actor_apply_relative_transform_to_point (actor,
+                                                   parent,
+                                                   &in, &out);
+
+
+  clutter_actor_get_translation (actor, &x, &y, &z);
+  clutter_actor_set_translation (actor,
+                                 x + priv->focal_point.x - out.x,
+                                 y + priv->focal_point.y - out.y,
+                                 z);
 
   return TRUE;
 }
@@ -349,7 +347,7 @@ clutter_zoom_action_class_init (ClutterZoomActionClass *klass)
    *
    * Constraints the zooming action to the specified axis
    *
-   *
+   * Since: 1.12
    */
   zoom_props[PROP_ZOOM_AXIS] =
     g_param_spec_enum ("zoom-axis",
@@ -382,7 +380,7 @@ clutter_zoom_action_class_init (ClutterZoomActionClass *klass)
    * Return value: %TRUE if the zoom should continue, and %FALSE if
    *   the zoom should be cancelled.
    *
-   *
+   * Since: 1.12
    */
   zoom_signals[ZOOM] =
     g_signal_new (I_("zoom"),
@@ -415,7 +413,7 @@ clutter_zoom_action_init (ClutterZoomAction *self)
  *
  * Return value: the newly created #ClutterZoomAction
  *
- *
+ * Since: 1.12
  */
 ClutterAction *
 clutter_zoom_action_new (void)
@@ -430,7 +428,7 @@ clutter_zoom_action_new (void)
  *
  * Restricts the zooming action to a specific axis
  *
- *
+ * Since: 1.12
  */
 void
 clutter_zoom_action_set_zoom_axis (ClutterZoomAction *action,
@@ -456,7 +454,7 @@ clutter_zoom_action_set_zoom_axis (ClutterZoomAction *action,
  *
  * Return value: the axis constraint
  *
- *
+ * Since: 1.12
  */
 ClutterZoomAxis
 clutter_zoom_action_get_zoom_axis (ClutterZoomAction *action)
@@ -474,7 +472,7 @@ clutter_zoom_action_get_zoom_axis (ClutterZoomAction *action)
  *
  * Retrieves the focal point of the current zoom
  *
- *
+ * Since: 1.12
  */
 void
 clutter_zoom_action_get_focal_point (ClutterZoomAction *action,
@@ -494,7 +492,7 @@ clutter_zoom_action_get_focal_point (ClutterZoomAction *action,
  * Retrieves the focal point relative to the actor's coordinates of
  * the current zoom
  *
- *
+ * Since: 1.12
  */
 void
 clutter_zoom_action_get_transformed_focal_point (ClutterZoomAction *action,
diff --git a/clutter/clutter-zoom-action.h b/clutter/clutter-zoom-action.h
index 391a7b0..3111e12 100644
--- a/clutter/clutter-zoom-action.h
+++ b/clutter/clutter-zoom-action.h
@@ -52,7 +52,7 @@ typedef struct _ClutterZoomActionClass          ClutterZoomActionClass;
  * The <structname>ClutterZoomAction</structname> structure contains only
  * private data and should be accessed using the provided API
  *
- *
+ * Since: 1.12
  */
 struct _ClutterZoomAction
 {
@@ -69,7 +69,7 @@ struct _ClutterZoomAction
  * The <structname>ClutterZoomActionClass</structname> structure contains
  * only private data
  *
- *
+ * Since: 1.12
  */
 struct _ClutterZoomActionClass
 {
@@ -90,22 +90,22 @@ struct _ClutterZoomActionClass
   void (* _clutter_zoom_action5) (void);
 };
 
-
+CLUTTER_AVAILABLE_IN_1_12
 GType clutter_zoom_action_get_type (void) G_GNUC_CONST;
 
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterAction * clutter_zoom_action_new                         (void);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_zoom_action_set_zoom_axis               (ClutterZoomAction *action,
                                                                  ClutterZoomAxis    axis);
-
+CLUTTER_AVAILABLE_IN_1_12
 ClutterZoomAxis clutter_zoom_action_get_zoom_axis               (ClutterZoomAction *action);
 
-
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_zoom_action_get_focal_point             (ClutterZoomAction *action,
                                                                  ClutterPoint      *point);
-
+CLUTTER_AVAILABLE_IN_1_12
 void            clutter_zoom_action_get_transformed_focal_point (ClutterZoomAction *action,
                                                                  ClutterPoint      *point);
 
diff --git a/clutter/clutter.h b/clutter/clutter.h
index 750fc32..5bdd6bc 100644
--- a/clutter/clutter.h
+++ b/clutter/clutter.h
@@ -67,6 +67,7 @@
 #include "clutter-flow-layout.h"
 #include "clutter-gesture-action.h"
 #include "clutter-grid-layout.h"
+#include "clutter-group.h"
 #include "clutter-image.h"
 #include "clutter-input-device.h"
 #include "clutter-interval.h"
@@ -99,6 +100,7 @@
 #include "clutter-stage-manager.h"
 #include "clutter-table-layout.h"
 #include "clutter-tap-action.h"
+#include "clutter-texture.h"
 #include "clutter-text.h"
 #include "clutter-timeline.h"
 #include "clutter-transition-group.h"
diff --git a/clutter/clutter.pc.in b/clutter/clutter.pc.in
index c5abe50..0dccaa7 100644
--- a/clutter/clutter.pc.in
+++ b/clutter/clutter.pc.in
@@ -8,6 +8,13 @@ requires= CLUTTER_REQUIRES@
 requires_private= CLUTTER_REQUIRES_PRIVATE@
 backends= CLUTTER_BACKENDS@
 
+# only kept for backward compatibility
+soname_infix= CLUTTER_SONAME_INFIX@
+winsys= CLUTTER_WINSYS@
+backend= CLUTTER_WINSYS@
+cogl=deprecated
+cogl_driver=deprecated
+
 Name: Clutter
 Description: Clutter Core Library
 Version: @VERSION@
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
index 7db48dd..1ca0b94 100644
--- a/clutter/clutter.symbols
+++ b/clutter/clutter.symbols
@@ -8,10 +8,16 @@ cally_actor_remove_action_by_name
 cally_clone_get_type
 cally_clone_new
 cally_get_cally_initialized
+cally_group_get_type
+cally_group_new
+cally_rectangle_get_type
+cally_rectangle_new
 cally_root_get_type
 cally_root_new
 cally_stage_get_type
 cally_stage_new
+cally_texture_get_type
+cally_texture_new
 cally_text_get_type
 cally_text_new
 cally_util_get_type
@@ -30,6 +36,12 @@ clutter_actor_allocate
 clutter_actor_allocate_align_fill
 clutter_actor_allocate_available_size
 clutter_actor_allocate_preferred_size
+clutter_actor_animate
+clutter_actor_animatev
+clutter_actor_animate_with_alpha
+clutter_actor_animate_with_alphav
+clutter_actor_animate_with_timeline
+clutter_actor_animate_with_timelinev
 clutter_actor_apply_transform_to_point
 clutter_actor_apply_relative_transform_to_point
 clutter_actor_box_alloc
@@ -63,13 +75,18 @@ clutter_actor_create_pango_context
 clutter_actor_create_pango_layout
 clutter_actor_destroy
 clutter_actor_destroy_all_children
+clutter_actor_detach_animation
 clutter_actor_event
 clutter_actor_get_abs_allocation_vertices
 clutter_actor_get_accessible
 clutter_actor_get_action
 clutter_actor_get_actions
 clutter_actor_get_allocation_box
+clutter_actor_get_allocation_geometry
 clutter_actor_get_allocation_vertices
+clutter_actor_get_anchor_point
+clutter_actor_get_anchor_point_gravity
+clutter_actor_get_animation
 clutter_actor_get_background_color
 clutter_actor_get_child_at_index
 clutter_actor_get_child_transform
@@ -84,6 +101,7 @@ clutter_actor_get_content_gravity
 clutter_actor_get_content_repeat
 clutter_actor_get_content_scaling_filters
 clutter_actor_get_default_paint_volume
+clutter_actor_get_depth
 clutter_actor_get_easing_delay
 clutter_actor_get_easing_duration
 clutter_actor_get_easing_mode
@@ -92,6 +110,8 @@ clutter_actor_get_effects
 clutter_actor_get_first_child
 clutter_actor_get_fixed_position_set
 clutter_actor_get_flags
+clutter_actor_get_geometry
+clutter_actor_get_gid
 clutter_actor_get_height
 clutter_actor_get_last_child
 clutter_actor_get_layout_manager
@@ -121,12 +141,17 @@ clutter_actor_get_previous_sibling
 clutter_actor_get_reactive
 clutter_actor_get_request_mode
 clutter_actor_get_rotation_angle
+clutter_actor_get_rotation
 clutter_actor_get_scale
+clutter_actor_get_scale_center
+clutter_actor_get_scale_gravity
 clutter_actor_get_scale_z
+clutter_actor_get_shader
 clutter_actor_get_size
 clutter_actor_get_stage
 clutter_actor_get_text_direction
 clutter_actor_get_transform
+clutter_actor_get_transformation_matrix
 clutter_actor_get_transformed_paint_volume
 clutter_actor_get_transformed_position
 clutter_actor_get_transformed_size
@@ -141,6 +166,7 @@ clutter_actor_get_y_align
 clutter_actor_get_y_expand
 clutter_actor_get_y
 clutter_actor_get_z_position
+clutter_actor_get_z_rotation_gravity
 clutter_actor_grab_key_focus
 clutter_actor_has_actions
 clutter_actor_has_allocation
@@ -151,6 +177,7 @@ clutter_actor_has_key_focus
 clutter_actor_has_overlaps
 clutter_actor_has_pointer
 clutter_actor_hide
+clutter_actor_hide_all
 clutter_actor_insert_child_above
 clutter_actor_insert_child_at_index
 clutter_actor_insert_child_below
@@ -163,6 +190,8 @@ clutter_actor_iter_is_valid
 clutter_actor_iter_next
 clutter_actor_iter_prev
 clutter_actor_iter_remove
+clutter_actor_lower
+clutter_actor_lower_bottom
 clutter_actor_map
 clutter_actor_meta_get_actor
 clutter_actor_meta_get_enabled
@@ -170,13 +199,19 @@ clutter_actor_meta_get_name
 clutter_actor_meta_get_type
 clutter_actor_meta_set_enabled
 clutter_actor_meta_set_name
+clutter_actor_move_anchor_point
+clutter_actor_move_anchor_point_from_gravity
 clutter_actor_move_by
 clutter_actor_needs_expand
 clutter_actor_new
 clutter_actor_paint
+clutter_actor_pop_internal
+clutter_actor_push_internal
 clutter_actor_queue_redraw
 clutter_actor_queue_redraw_with_clip
 clutter_actor_queue_relayout
+clutter_actor_raise
+clutter_actor_raise_top
 clutter_actor_realize
 clutter_actor_remove_action
 clutter_actor_remove_action_by_name
@@ -189,10 +224,13 @@ clutter_actor_remove_clip
 clutter_actor_remove_effect
 clutter_actor_remove_effect_by_name
 clutter_actor_remove_transition
+clutter_actor_reparent
 clutter_actor_replace_child
 clutter_actor_restore_easing_state
 clutter_actor_save_easing_state
 clutter_actor_set_allocation
+clutter_actor_set_anchor_point
+clutter_actor_set_anchor_point_from_gravity
 clutter_actor_set_background_color
 clutter_actor_set_child_above_sibling
 clutter_actor_set_child_at_index
@@ -204,11 +242,13 @@ clutter_actor_set_content
 clutter_actor_set_content_gravity
 clutter_actor_set_content_repeat
 clutter_actor_set_content_scaling_filters
+clutter_actor_set_depth
 clutter_actor_set_easing_delay
 clutter_actor_set_easing_duration
 clutter_actor_set_easing_mode
 clutter_actor_set_fixed_position_set
 clutter_actor_set_flags
+clutter_actor_set_geometry
 clutter_actor_set_height
 clutter_actor_set_layout_manager
 clutter_actor_set_margin_bottom
@@ -219,14 +259,22 @@ clutter_actor_set_margin
 clutter_actor_set_name
 clutter_actor_set_offscreen_redirect
 clutter_actor_set_opacity
+clutter_actor_set_parent
 clutter_actor_set_pivot_point_z
 clutter_actor_set_pivot_point
 clutter_actor_set_position
 clutter_actor_set_reactive
 clutter_actor_set_request_mode
 clutter_actor_set_rotation_angle
+clutter_actor_set_rotation
 clutter_actor_set_scale
+clutter_actor_set_scale_full
+clutter_actor_set_scale_with_gravity
 clutter_actor_set_scale_z
+clutter_actor_set_shader
+clutter_actor_set_shader_param
+clutter_actor_set_shader_param_float
+clutter_actor_set_shader_param_int
 clutter_actor_set_size
 clutter_actor_set_text_direction
 clutter_actor_set_transform
@@ -239,10 +287,13 @@ clutter_actor_set_y_align
 clutter_actor_set_y_expand
 clutter_actor_set_y
 clutter_actor_set_z_position
+clutter_actor_set_z_rotation_from_gravity
 clutter_actor_should_pick_paint
 clutter_actor_show
+clutter_actor_show_all
 clutter_actor_transform_stage_point
 clutter_actor_unmap
+clutter_actor_unparent
 clutter_actor_unrealize
 clutter_actor_unset_flags
 clutter_align_axis_get_type
@@ -255,18 +306,141 @@ clutter_align_constraint_set_align_axis
 clutter_align_constraint_set_factor
 clutter_align_constraint_set_source
 clutter_allocation_flags_get_type
+clutter_alpha_get_alpha
+clutter_alpha_get_mode
+clutter_alpha_get_timeline
+clutter_alpha_get_type
+clutter_alpha_new
+clutter_alpha_new_full
+clutter_alpha_new_with_func
+clutter_alpha_register_closure
+clutter_alpha_register_func
+clutter_alpha_set_closure
+clutter_alpha_set_func
+clutter_alpha_set_mode
+clutter_alpha_set_timeline
+clutter_animatable_animate_property
 clutter_animatable_find_property
 clutter_animatable_get_initial_state
 clutter_animatable_get_type
 clutter_animatable_interpolate_value
 clutter_animatable_set_final_state
+clutter_animation_bind
+clutter_animation_bind_interval
+clutter_animation_completed
+clutter_animation_get_alpha
+clutter_animation_get_duration
+clutter_animation_get_interval
+clutter_animation_get_loop
+clutter_animation_get_mode
+clutter_animation_get_object
+clutter_animation_get_timeline
+clutter_animation_get_type
+clutter_animation_has_property
 clutter_animation_mode_get_type
+clutter_animation_new
+clutter_animation_set_alpha
+clutter_animation_set_duration
+clutter_animation_set_loop
+clutter_animation_set_mode
+clutter_animation_set_object
+clutter_animation_set_timeline
+clutter_animation_unbind_property
+clutter_animation_update
+clutter_animation_update_interval
+clutter_animator_compute_value
+clutter_animator_get_duration
+clutter_animator_get_keys
+clutter_animator_get_timeline
+clutter_animator_get_type
+clutter_animator_key_get_mode
+clutter_animator_key_get_object
+clutter_animator_key_get_property_name
+clutter_animator_key_get_property_type
+clutter_animator_key_get_progress
+clutter_animator_key_get_type
+clutter_animator_key_get_value
+clutter_animator_new
+clutter_animator_property_get_ease_in
+clutter_animator_property_get_interpolation
+clutter_animator_property_set_ease_in
+clutter_animator_property_set_interpolation
+clutter_animator_remove_key
+clutter_animator_set_key
+clutter_animator_set
+clutter_animator_set_duration
+clutter_animator_set_timeline
+clutter_animator_start
 clutter_backend_get_cogl_context
+clutter_backend_get_double_click_distance
+clutter_backend_get_double_click_time
+clutter_backend_get_font_name
 clutter_backend_get_font_options
 clutter_backend_get_resolution
 clutter_backend_get_type
+clutter_backend_set_double_click_distance
+clutter_backend_set_double_click_time
+clutter_backend_set_font_name
 clutter_backend_set_font_options
+clutter_backend_set_resolution
 clutter_base_init
+clutter_behaviour_actors_foreach
+clutter_behaviour_apply
+clutter_behaviour_depth_get_bounds
+clutter_behaviour_depth_get_type
+clutter_behaviour_depth_new
+clutter_behaviour_depth_set_bounds
+clutter_behaviour_ellipse_get_angle_end
+clutter_behaviour_ellipse_get_angle_start
+clutter_behaviour_ellipse_get_angle_tilt
+clutter_behaviour_ellipse_get_center
+clutter_behaviour_ellipse_get_direction
+clutter_behaviour_ellipse_get_height
+clutter_behaviour_ellipse_get_tilt
+clutter_behaviour_ellipse_get_type
+clutter_behaviour_ellipse_get_width
+clutter_behaviour_ellipse_new
+clutter_behaviour_ellipse_set_angle_end
+clutter_behaviour_ellipse_set_angle_start
+clutter_behaviour_ellipse_set_angle_tilt
+clutter_behaviour_ellipse_set_center
+clutter_behaviour_ellipse_set_direction
+clutter_behaviour_ellipse_set_height
+clutter_behaviour_ellipse_set_tilt
+clutter_behaviour_ellipse_set_width
+clutter_behaviour_get_actors
+clutter_behaviour_get_alpha
+clutter_behaviour_get_nth_actor
+clutter_behaviour_get_n_actors
+clutter_behaviour_get_type
+clutter_behaviour_is_applied
+clutter_behaviour_opacity_get_bounds
+clutter_behaviour_opacity_get_type
+clutter_behaviour_opacity_new
+clutter_behaviour_opacity_set_bounds
+clutter_behaviour_path_get_path
+clutter_behaviour_path_get_type
+clutter_behaviour_path_new
+clutter_behaviour_path_new_with_description
+clutter_behaviour_path_new_with_knots
+clutter_behaviour_path_set_path
+clutter_behaviour_remove
+clutter_behaviour_remove_all
+clutter_behaviour_rotate_get_axis
+clutter_behaviour_rotate_get_bounds
+clutter_behaviour_rotate_get_center
+clutter_behaviour_rotate_get_direction
+clutter_behaviour_rotate_get_type
+clutter_behaviour_rotate_new
+clutter_behaviour_rotate_set_axis
+clutter_behaviour_rotate_set_bounds
+clutter_behaviour_rotate_set_center
+clutter_behaviour_rotate_set_direction
+clutter_behaviour_scale_get_bounds
+clutter_behaviour_scale_get_type
+clutter_behaviour_scale_new
+clutter_behaviour_scale_set_bounds
+clutter_behaviour_set_alpha
 clutter_binding_pool_activate
 clutter_binding_pool_block_action
 clutter_binding_pool_find
@@ -289,20 +463,53 @@ clutter_bind_constraint_set_coordinate
 clutter_bind_constraint_set_offset
 clutter_bind_constraint_set_source
 clutter_bind_coordinate_get_type
+clutter_bin_alignment_get_type
+clutter_bin_layer_get_type
+clutter_bin_layout_add
+clutter_bin_layout_get_alignment
 clutter_bin_layout_get_type
 clutter_bin_layout_new
+clutter_bin_layout_set_alignment
 clutter_blur_effect_get_type
 clutter_blur_effect_new
+clutter_box_alignment_get_type
+clutter_box_child_get_type
+clutter_box_get_color
+clutter_box_get_layout_manager
+clutter_box_get_type
+clutter_box_layout_get_alignment
+clutter_box_layout_get_easing_duration
+clutter_box_layout_get_easing_mode
+clutter_box_layout_get_expand
+clutter_box_layout_get_fill
 clutter_box_layout_get_homogeneous
 clutter_box_layout_get_orientation
 clutter_box_layout_get_pack_start
 clutter_box_layout_get_spacing
 clutter_box_layout_get_type
+clutter_box_layout_get_use_animations
+clutter_box_layout_get_vertical
 clutter_box_layout_new
+clutter_box_layout_pack
+clutter_box_layout_set_alignment
+clutter_box_layout_set_expand
+clutter_box_layout_set_fill
+clutter_box_layout_set_easing_duration
+clutter_box_layout_set_easing_mode
 clutter_box_layout_set_homogeneous
 clutter_box_layout_set_orientation
 clutter_box_layout_set_pack_start
 clutter_box_layout_set_spacing
+clutter_box_layout_set_use_animations
+clutter_box_layout_set_vertical
+clutter_box_new
+clutter_box_set_color
+clutter_box_set_layout_manager
+clutter_box_pack
+clutter_box_packv
+clutter_box_pack_after
+clutter_box_pack_at
+clutter_box_pack_before
 clutter_brightness_contrast_effect_get_brightness
 clutter_brightness_contrast_effect_get_contrast
 clutter_brightness_contrast_effect_get_type
@@ -316,11 +523,23 @@ clutter_canvas_new
 clutter_canvas_set_size
 clutter_cairo_clear
 clutter_cairo_set_source_color
+clutter_cairo_texture_clear
+clutter_cairo_texture_create
+clutter_cairo_texture_create_region
+clutter_cairo_texture_get_auto_resize
+clutter_cairo_texture_get_surface_size
+clutter_cairo_texture_get_type
+clutter_cairo_texture_invalidate
+clutter_cairo_texture_invalidate_rectangle
+clutter_cairo_texture_new
+clutter_cairo_texture_set_auto_resize
+clutter_cairo_texture_set_surface_size
 clutter_check_version
 clutter_check_windowing_backend
 clutter_child_meta_get_actor
 clutter_child_meta_get_container
 clutter_child_meta_get_type
+clutter_clear_glyph_cache
 clutter_click_action_get_button
 clutter_click_action_get_coords
 clutter_click_action_get_state
@@ -360,6 +579,9 @@ clutter_color_subtract
 clutter_color_to_hls
 clutter_color_to_pixel
 clutter_color_to_string
+clutter_container_add
+clutter_container_add_actor
+clutter_container_add_valist
 clutter_container_child_get
 clutter_container_child_get_property
 clutter_container_child_notify
@@ -369,8 +591,18 @@ clutter_container_class_find_child_property
 clutter_container_class_list_child_properties
 clutter_container_create_child_meta
 clutter_container_destroy_child_meta
+clutter_container_find_child_by_name
+clutter_container_foreach
+clutter_container_foreach_with_internals
+clutter_container_get_children
 clutter_container_get_child_meta
 clutter_container_get_type
+clutter_container_lower_child
+clutter_container_raise_child
+clutter_container_remove
+clutter_container_remove_actor
+clutter_container_remove_valist
+clutter_container_sort_depth_order
 clutter_content_get_preferred_size
 clutter_content_get_type
 clutter_content_gravity_get_type
@@ -477,7 +709,6 @@ clutter_flow_layout_get_homogeneous
 clutter_flow_layout_get_orientation
 clutter_flow_layout_get_row_height
 clutter_flow_layout_get_row_spacing
-clutter_flow_layout_get_snap_to_grid
 clutter_flow_layout_get_type
 clutter_flow_layout_new
 clutter_flow_layout_set_column_spacing
@@ -486,8 +717,11 @@ clutter_flow_layout_set_homogeneous
 clutter_flow_layout_set_orientation
 clutter_flow_layout_set_row_height
 clutter_flow_layout_set_row_spacing
-clutter_flow_layout_set_snap_to_grid
 clutter_flow_orientation_get_type
+clutter_fog_get_type
+clutter_font_flags_get_type
+clutter_frame_source_add
+clutter_frame_source_add_full
 #ifdef CLUTTER_WINDOWING_GDK
 clutter_gdk_disable_event_retrieval
 clutter_gdk_get_default_display
@@ -497,6 +731,9 @@ clutter_gdk_handle_event
 clutter_gdk_set_display
 clutter_gdk_set_stage_foreign
 #endif
+clutter_geometry_get_type
+clutter_geometry_intersects
+clutter_geometry_union
 clutter_gesture_action_cancel
 clutter_gesture_action_get_device
 clutter_gesture_action_get_last_event
@@ -512,18 +749,35 @@ clutter_gesture_action_get_velocity
 clutter_gesture_action_set_n_touch_points
 clutter_gesture_action_new
 clutter_get_accessibility_enabled
+clutter_get_actor_by_gid
 clutter_get_current_event
 clutter_get_current_event_time
+clutter_get_debug_enabled
 clutter_get_default_backend
+clutter_get_default_frame_rate
 clutter_get_default_text_direction
+clutter_get_font_flags
 clutter_get_font_map
+clutter_get_input_device_for_id
 clutter_get_keyboard_grab
+clutter_get_motion_events_enabled
 clutter_get_option_group
 clutter_get_option_group_without_init
 clutter_get_pointer_grab
 clutter_get_script_id
+clutter_get_show_fps
+clutter_get_timestamp
+#ifdef CLUTTER_WINDOWING_GLX
+clutter_glx_texture_pixmap_get_type
+clutter_glx_texture_pixmap_new
+clutter_glx_texture_pixmap_new_with_pixmap
+clutter_glx_texture_pixmap_new_with_window
+clutter_glx_texture_pixmap_using_extension
+#endif
 clutter_grab_keyboard
 clutter_grab_pointer
+clutter_grab_pointer_for_device
+clutter_gravity_get_type
 clutter_grid_child_get_type
 clutter_grid_layout_get_type
 clutter_grid_layout_new
@@ -544,6 +798,11 @@ clutter_grid_layout_get_column_homogeneous
 clutter_grid_layout_set_row_homogeneous
 clutter_grid_layout_get_row_homogeneous
 clutter_grid_position_get_type
+clutter_group_get_nth_child
+clutter_group_get_n_children
+clutter_group_get_type
+clutter_group_new
+clutter_group_remove_all
 clutter_image_error_get_type
 clutter_image_error_quark
 clutter_image_get_texture
@@ -556,6 +815,7 @@ clutter_init
 clutter_init_error_get_type
 clutter_init_error_quark
 clutter_init_with_args
+clutter_interpolation_get_type
 clutter_interval_clone
 clutter_interval_compute
 clutter_interval_compute_value
@@ -581,6 +841,7 @@ clutter_input_device_get_associated_device
 clutter_input_device_get_axis
 clutter_input_device_get_axis_value
 clutter_input_device_get_coords
+clutter_input_device_get_device_coords
 clutter_input_device_get_device_id
 clutter_input_device_get_device_name
 clutter_input_device_get_device_mode
@@ -617,14 +878,21 @@ clutter_keyframe_transition_set_modes
 clutter_keyframe_transition_set_values
 clutter_keyframe_transition_set
 clutter_keysym_to_unicode
+clutter_knot_copy
+clutter_knot_equal
+clutter_knot_free
+clutter_knot_get_type
 clutter_layout_meta_get_manager
 clutter_layout_meta_get_type
 clutter_layout_manager_allocate
+clutter_layout_manager_begin_animation
 clutter_layout_manager_child_get
 clutter_layout_manager_child_get_property
 clutter_layout_manager_child_set
 clutter_layout_manager_child_set_property
+clutter_layout_manager_end_animation
 clutter_layout_manager_find_child_property
+clutter_layout_manager_get_animation_progress
 clutter_layout_manager_get_child_meta
 clutter_layout_manager_get_preferred_width
 clutter_layout_manager_get_preferred_height
@@ -640,6 +908,7 @@ clutter_long_press_state_get_type
 clutter_main
 clutter_main_level
 clutter_main_quit
+clutter_major_version DATA
 clutter_margin_copy
 clutter_margin_free
 clutter_margin_get_type
@@ -650,6 +919,25 @@ clutter_matrix_get_type
 clutter_matrix_init_identity
 clutter_matrix_init_from_array
 clutter_matrix_init_from_matrix
+clutter_media_get_audio_volume
+clutter_media_get_buffer_fill
+clutter_media_get_can_seek
+clutter_media_get_duration
+clutter_media_get_playing
+clutter_media_get_progress
+clutter_media_get_subtitle_font_name
+clutter_media_get_subtitle_uri
+clutter_media_get_type
+clutter_media_get_uri
+clutter_media_set_audio_volume
+clutter_media_set_filename
+clutter_media_set_playing
+clutter_media_set_progress
+clutter_media_set_subtitle_font_name
+clutter_media_set_subtitle_uri
+clutter_media_set_uri
+clutter_micro_version DATA
+clutter_minor_version DATA
 clutter_model_append
 clutter_model_appendv
 clutter_model_filter_iter
@@ -786,7 +1074,9 @@ clutter_pan_action_set_deceleration
 clutter_pan_action_set_interpolate
 clutter_pan_action_set_pan_axis
 clutter_param_color_get_type
+clutter_param_fixed_get_type
 clutter_param_spec_color
+clutter_param_spec_fixed
 clutter_param_spec_units
 clutter_param_units_get_type
 clutter_perspective_get_type
@@ -827,18 +1117,45 @@ clutter_rect_normalize
 clutter_rect_offset
 clutter_rect_union
 clutter_rect_zero
+clutter_rectangle_get_border_color
+clutter_rectangle_get_border_width
+clutter_rectangle_get_color
+clutter_rectangle_get_type
+clutter_rectangle_new
+clutter_rectangle_new_with_color
+clutter_rectangle_set_border_color
+clutter_rectangle_set_border_width
+clutter_rectangle_set_color
+clutter_redraw
 clutter_repaint_flags_get_type
 clutter_request_mode_get_type
 clutter_rotate_action_get_type
 clutter_rotate_action_new
 clutter_rotate_axis_get_type
+clutter_rotate_direction_get_type
 clutter_scaling_filter_get_type
+clutter_score_append
+clutter_score_append_at_marker
+clutter_score_get_loop
+clutter_score_get_timeline
+clutter_score_get_type
+clutter_score_is_playing
+clutter_score_list_timelines
+clutter_score_new
+clutter_score_pause
+clutter_score_remove
+clutter_score_remove_all
+clutter_score_rewind
+clutter_score_set_loop
+clutter_score_start
+clutter_score_stop
 clutter_scriptable_get_id
 clutter_scriptable_get_type
 clutter_scriptable_parse_custom_node
 clutter_scriptable_set_custom_property
 clutter_scriptable_set_id
 clutter_script_add_search_paths
+clutter_script_add_states
 clutter_script_connect_signals
 clutter_script_connect_signals_full
 clutter_script_ensure_objects
@@ -846,6 +1163,7 @@ clutter_script_error_get_type
 clutter_script_error_quark
 clutter_script_get_object
 clutter_script_get_objects
+clutter_script_get_states
 clutter_script_get_translation_domain
 clutter_script_get_type
 clutter_script_get_type_from_name
@@ -867,6 +1185,10 @@ clutter_scroll_direction_get_type
 clutter_scroll_mode_get_type
 clutter_settings_get_default
 clutter_settings_get_type
+clutter_set_default_frame_rate
+clutter_set_font_flags
+clutter_set_motion_events_enabled
+clutter_shader_compile
 clutter_shader_effect_get_program
 clutter_shader_effect_get_shader
 clutter_shader_effect_get_type
@@ -874,9 +1196,24 @@ clutter_shader_effect_new
 clutter_shader_effect_set_shader_source
 clutter_shader_effect_set_uniform
 clutter_shader_effect_set_uniform_value
+clutter_shader_error_quark
 clutter_shader_float_get_type
+clutter_shader_get_cogl_fragment_shader
+clutter_shader_get_cogl_program
+clutter_shader_get_cogl_vertex_shader
+clutter_shader_get_fragment_source
+clutter_shader_get_is_enabled
+clutter_shader_get_type
+clutter_shader_get_vertex_source
 clutter_shader_int_get_type
+clutter_shader_is_compiled
 clutter_shader_matrix_get_type
+clutter_shader_new
+clutter_shader_release
+clutter_shader_set_fragment_source
+clutter_shader_set_is_enabled
+clutter_shader_set_uniform
+clutter_shader_set_vertex_source
 clutter_shader_type_get_type
 clutter_size_alloc
 clutter_size_copy
@@ -899,24 +1236,29 @@ clutter_stage_ensure_viewport
 clutter_stage_event
 clutter_stage_get_accept_focus
 clutter_stage_get_actor_at_pos
+clutter_stage_get_color
+clutter_stage_get_default
+clutter_stage_get_fog
 clutter_stage_get_fullscreen
 clutter_stage_get_key_focus
 clutter_stage_get_minimum_size
 clutter_stage_get_motion_events_enabled
 clutter_stage_get_no_clear_hint
 clutter_stage_get_perspective
-clutter_stage_get_redraw_clip_bounds
 clutter_stage_get_throttle_motion_events
 clutter_stage_get_title
 clutter_stage_get_type
 clutter_stage_get_user_resizable
 clutter_stage_get_use_alpha
+clutter_stage_get_use_fog
 clutter_stage_hide_cursor
+clutter_stage_is_default
 clutter_stage_manager_get_default
 clutter_stage_manager_get_default_stage
 clutter_stage_manager_get_type
 clutter_stage_manager_list_stages
 clutter_stage_manager_peek_stages
+clutter_stage_manager_set_default_stage
 
 #ifdef HAVE_CLUTTER_EGL
 
@@ -932,8 +1274,11 @@ clutter_egl_get_egl_display
 #endif
 
 clutter_stage_new
+clutter_stage_queue_redraw
 clutter_stage_read_pixels
 clutter_stage_set_accept_focus
+clutter_stage_set_color
+clutter_stage_set_fog
 clutter_stage_set_fullscreen
 clutter_stage_set_key_focus
 clutter_stage_set_minimum_size
@@ -945,28 +1290,103 @@ clutter_stage_set_throttle_motion_events
 clutter_stage_set_title
 clutter_stage_set_user_resizable
 clutter_stage_set_use_alpha
+clutter_stage_set_use_fog
 clutter_stage_skip_sync_delay
 clutter_stage_state_get_type
 clutter_stage_show_cursor
+clutter_state_get_animator
+clutter_state_get_duration
+clutter_state_get_keys
+clutter_stage_get_redraw_clip_bounds
+clutter_state_get_state
+clutter_state_get_states
+clutter_state_get_timeline
+clutter_state_get_type
+clutter_state_key_get_mode
+clutter_state_key_get_object
+clutter_state_key_get_post_delay
+clutter_state_key_get_pre_delay
+clutter_state_key_get_property_name
+clutter_state_key_get_property_type
+clutter_state_key_get_source_state_name
+clutter_state_key_get_target_state_name
+clutter_state_key_get_type
+clutter_state_key_get_value
+clutter_state_new
+clutter_state_remove_key
+clutter_state_set
+clutter_state_set_animator
+clutter_state_set_duration
+clutter_state_set_key
+clutter_state_set_state
+clutter_state_warp_to_state
 clutter_static_color_get_type
 clutter_step_mode_get_type
 clutter_swipe_action_get_type
 clutter_swipe_action_new
 clutter_swipe_direction_get_type
+clutter_table_alignment_get_type
 clutter_table_child_get_type
+clutter_table_layout_get_alignment
 clutter_table_layout_get_column_count
 clutter_table_layout_get_column_spacing
+clutter_table_layout_get_easing_duration
+clutter_table_layout_get_easing_mode
+clutter_table_layout_get_expand
+clutter_table_layout_get_fill
 clutter_table_layout_get_row_count
 clutter_table_layout_get_row_spacing
 clutter_table_layout_get_span
 clutter_table_layout_get_type
+clutter_table_layout_get_use_animations
 clutter_table_layout_new
 clutter_table_layout_pack
+clutter_table_layout_set_alignment
 clutter_table_layout_set_column_spacing
+clutter_table_layout_set_easing_duration
+clutter_table_layout_set_easing_mode
+clutter_table_layout_set_expand
+clutter_table_layout_set_fill
 clutter_table_layout_set_row_spacing
 clutter_table_layout_set_span
+clutter_table_layout_set_use_animations
 clutter_tap_action_get_type
 clutter_tap_action_new
+clutter_texture_get_base_size
+clutter_texture_get_cogl_texture
+clutter_texture_get_cogl_material
+clutter_texture_error_get_type
+clutter_texture_error_quark
+clutter_texture_flags_get_type
+clutter_texture_get_filter_quality
+clutter_texture_get_keep_aspect_ratio
+clutter_texture_get_load_async
+clutter_texture_get_load_data_async
+clutter_texture_get_max_tile_waste
+clutter_texture_get_pick_with_alpha
+clutter_texture_get_pixel_format
+clutter_texture_get_repeat
+clutter_texture_get_sync_size
+clutter_texture_get_type
+clutter_texture_new
+clutter_texture_new_from_actor
+clutter_texture_new_from_file
+clutter_texture_node_get_type
+clutter_texture_node_new
+clutter_texture_quality_get_type
+clutter_texture_set_area_from_rgb_data
+clutter_texture_set_cogl_material
+clutter_texture_set_cogl_texture
+clutter_texture_set_filter_quality
+clutter_texture_set_from_file
+clutter_texture_set_from_rgb_data
+clutter_texture_set_from_yuv_data
+clutter_texture_set_keep_aspect_ratio
+clutter_texture_set_load_async
+clutter_texture_set_load_data_async
+clutter_texture_set_pick_with_alpha
+clutter_texture_set_repeat
+clutter_texture_set_sync_size
 clutter_text_buffer_emit_deleted_text
 clutter_text_buffer_emit_inserted_text
 clutter_text_buffer_get_bytes
@@ -1054,14 +1474,17 @@ clutter_text_set_selection_color
 clutter_text_set_single_line_mode
 clutter_text_set_text
 clutter_text_set_use_markup
-clutter_texture_node_get_type
-clutter_texture_node_new
+clutter_threads_add_frame_source
+clutter_threads_add_frame_source_full
 clutter_threads_add_idle
 clutter_threads_add_idle_full
 clutter_threads_add_repaint_func
 clutter_threads_add_repaint_func_full
 clutter_threads_add_timeout
 clutter_threads_add_timeout_full
+clutter_threads_enter
+clutter_threads_init
+clutter_threads_leave
 clutter_threads_remove_repaint_func
 clutter_threads_set_lock_functions
 clutter_timeline_add_marker
@@ -1069,6 +1492,7 @@ clutter_timeline_add_marker_at_time
 clutter_timeline_advance
 clutter_timeline_advance_to_marker
 clutter_timeline_new
+clutter_timeline_clone
 clutter_timeline_direction_get_type
 clutter_timeline_get_auto_reverse
 clutter_timeline_get_cubic_bezier_progress
@@ -1079,6 +1503,7 @@ clutter_timeline_get_direction
 clutter_timeline_get_duration_hint
 clutter_timeline_get_duration
 clutter_timeline_get_elapsed_time
+clutter_timeline_get_loop
 clutter_timeline_get_progress_mode
 clutter_timeline_get_progress
 clutter_timeline_get_repeat_count
@@ -1095,6 +1520,7 @@ clutter_timeline_set_cubic_bezier_progress
 clutter_timeline_set_delay
 clutter_timeline_set_direction
 clutter_timeline_set_duration
+clutter_timeline_set_loop
 clutter_timeline_set_progress_func
 clutter_timeline_set_progress_mode
 clutter_timeline_set_repeat_count
@@ -1102,6 +1528,9 @@ clutter_timeline_set_step_progress
 clutter_timeline_skip
 clutter_timeline_start
 clutter_timeline_stop
+clutter_timeout_pool_add
+clutter_timeout_pool_new
+clutter_timeout_pool_remove
 clutter_transition_group_add_transition
 clutter_transition_group_get_type
 clutter_transition_group_new
@@ -1120,6 +1549,7 @@ clutter_transition_set_to_value
 clutter_transition_set_to
 clutter_ungrab_keyboard
 clutter_ungrab_pointer
+clutter_ungrab_pointer_for_device
 clutter_unicode_to_keysym
 clutter_units_copy
 clutter_units_free
@@ -1136,14 +1566,17 @@ clutter_units_get_unit_value
 clutter_units_to_pixels
 clutter_units_to_string
 clutter_unit_type_get_type
+clutter_util_next_p2
 clutter_value_dup_paint_node
 clutter_value_get_color
+clutter_value_get_fixed
 clutter_value_get_paint_node
 clutter_value_get_shader_float
 clutter_value_get_shader_int
 clutter_value_get_shader_matrix
 clutter_value_get_units
 clutter_value_set_color
+clutter_value_set_fixed
 clutter_value_set_paint_node
 clutter_value_set_shader_float
 clutter_value_set_shader_int
@@ -1161,9 +1594,6 @@ clutter_vertex_new
 clutter_wayland_input_device_get_wl_seat
 clutter_wayland_stage_get_wl_shell_surface
 clutter_wayland_stage_get_wl_surface
-clutter_wayland_stage_set_wl_surface
-clutter_wayland_set_display
-clutter_wayland_disable_event_retrieval
 #endif
 #ifdef CLUTTER_WINDOWING_WIN32
 clutter_win32_disable_event_retrieval
@@ -1182,8 +1612,10 @@ clutter_x11_filter_return_get_type
 clutter_x11_get_current_event_time
 clutter_x11_get_default_display
 clutter_x11_get_default_screen
+clutter_x11_get_input_devices
 clutter_x11_get_root_window
 clutter_x11_get_stage_from_window
+clutter_x11_get_stage_visual
 clutter_x11_get_stage_window
 clutter_x11_get_use_argb_visual
 clutter_x11_get_visual_info
@@ -1195,6 +1627,15 @@ clutter_x11_remove_filter
 clutter_x11_set_use_argb_visual
 clutter_x11_set_display
 clutter_x11_set_stage_foreign
+clutter_x11_texture_pixmap_get_type
+clutter_x11_texture_pixmap_new
+clutter_x11_texture_pixmap_new_with_pixmap
+clutter_x11_texture_pixmap_new_with_window
+clutter_x11_texture_pixmap_set_automatic
+clutter_x11_texture_pixmap_set_pixmap
+clutter_x11_texture_pixmap_set_window
+clutter_x11_texture_pixmap_sync_window
+clutter_x11_texture_pixmap_update_area
 clutter_x11_trap_x_errors
 clutter_x11_untrap_x_errors
 clutter_x11_xinput_event_types_get_type
diff --git a/clutter/deprecated/clutter-actor-deprecated.c b/clutter/deprecated/clutter-actor-deprecated.c
new file mode 100644
index 0000000..ff3a37c
--- /dev/null
+++ b/clutter/deprecated/clutter-actor-deprecated.c
@@ -0,0 +1,411 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib-object.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-actor.h"
+
+#include "clutter-actor-private.h"
+#include "clutter-private.h"
+#include "clutter-shader.h"
+
+typedef struct _ShaderData ShaderData;
+
+struct _ShaderData
+{
+  ClutterShader *shader;
+
+  /* back pointer to the actor */
+  ClutterActor *actor;
+
+  /* list of values that should be set on the shader
+   * before each paint cycle
+   */
+  GHashTable *value_hash;
+};
+
+static void
+shader_value_free (gpointer data)
+{
+  GValue *var = data;
+  g_value_unset (var);
+  g_slice_free (GValue, var);
+}
+
+static void
+destroy_shader_data (gpointer data)
+{
+  ShaderData *shader_data = data;
+
+  if (shader_data == NULL)
+    return;
+
+  if (shader_data->shader != NULL)
+    {
+      g_object_unref (shader_data->shader);
+      shader_data->shader = NULL;
+    }
+
+  if (shader_data->value_hash != NULL)
+    {
+      g_hash_table_destroy (shader_data->value_hash);
+      shader_data->value_hash = NULL;
+    }
+
+  g_slice_free (ShaderData, shader_data);
+}
+
+/**
+ * clutter_actor_get_shader:
+ * @self: a #ClutterActor
+ *
+ * Queries the currently set #ClutterShader on @self.
+ *
+ * Return value: (transfer none): The currently set #ClutterShader
+ *   or %NULL if no shader is set.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use clutter_actor_get_effect() instead.
+ */
+ClutterShader *
+clutter_actor_get_shader (ClutterActor *self)
+{
+  ShaderData *shader_data;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), NULL);
+
+  shader_data = g_object_get_data (G_OBJECT (self), "-clutter-actor-shader-data");
+  if (shader_data != NULL)
+    return shader_data->shader;
+
+  return NULL;
+}
+
+/**
+ * clutter_actor_set_shader:
+ * @self: a #ClutterActor
+ * @shader: (allow-none): a #ClutterShader or %NULL to unset the shader.
+ *
+ * Sets the #ClutterShader to be used when rendering @self.
+ *
+ * If @shader is %NULL this function will unset any currently set shader
+ * for the actor.
+ *
+ * <note>Any #ClutterEffect applied to @self will take the precedence
+ * over the #ClutterShader set using this function.</note>
+ *
+ * Return value: %TRUE if the shader was successfully applied
+ *   or removed
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect and
+ *   clutter_actor_add_effect() instead.
+ */
+gboolean
+clutter_actor_set_shader (ClutterActor  *self,
+                          ClutterShader *shader)
+{
+  ShaderData *shader_data;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (self), FALSE);
+  g_return_val_if_fail (shader == NULL || CLUTTER_IS_SHADER (shader), FALSE);
+
+  if (shader != NULL)
+    g_object_ref (shader);
+  else
+    {
+      /* if shader passed in is NULL we destroy the shader */
+      g_object_set_data (G_OBJECT (self), "-clutter-actor-shader-data", NULL);
+      return TRUE;
+    }
+
+  shader_data = g_object_get_data (G_OBJECT (self), "-clutter-actor-shader-data");
+  if (shader_data == NULL)
+    {
+      shader_data = g_slice_new (ShaderData);
+      shader_data->actor = self;
+      shader_data->shader = NULL;
+      shader_data->value_hash =
+        g_hash_table_new_full (g_str_hash, g_str_equal,
+                               g_free,
+                               shader_value_free);
+
+      g_object_set_data_full (G_OBJECT (self), "-clutter-actor-shader-data",
+                              shader_data,
+                              destroy_shader_data);
+    }
+
+  if (shader_data->shader != NULL)
+    g_object_unref (shader_data->shader);
+
+  shader_data->shader = shader;
+
+  clutter_actor_queue_redraw (self);
+
+  return TRUE;
+}
+
+static void
+set_each_param (gpointer key,
+                gpointer value,
+                gpointer user_data)
+{
+  ClutterShader *shader = user_data;
+  const gchar *uniform = key;
+  GValue *var = value;
+
+  clutter_shader_set_uniform (shader, uniform, var);
+}
+
+void
+_clutter_actor_shader_pre_paint (ClutterActor *actor,
+                                 gboolean      repeat)
+{
+  ShaderData *shader_data;
+  ClutterShader *shader;
+
+  shader_data = g_object_get_data (G_OBJECT (actor), "-clutter-actor-shader-data");
+  if (shader_data == NULL)
+    return;
+
+  shader = shader_data->shader;
+  if (shader != NULL)
+    {
+      clutter_shader_set_is_enabled (shader, TRUE);
+
+      g_hash_table_foreach (shader_data->value_hash, set_each_param, shader);
+
+      if (!repeat)
+        _clutter_context_push_shader_stack (actor);
+    }
+}
+
+void
+_clutter_actor_shader_post_paint (ClutterActor *actor)
+{
+  ShaderData *shader_data;
+  ClutterShader *shader;
+
+  shader_data = g_object_get_data (G_OBJECT (actor), "-clutter-actor-shader-data");
+  if (G_LIKELY (shader_data == NULL))
+    return;
+
+  shader = shader_data->shader;
+  if (shader != NULL)
+    {
+      ClutterActor *head;
+
+      clutter_shader_set_is_enabled (shader, FALSE);
+
+      /* remove the actor from the shaders stack; if there is another
+       * actor inside it, then call pre-paint again to set its shader
+       * but this time with the second argument being TRUE, indicating
+       * that we are re-applying an existing shader and thus should it
+       * not be prepended to the stack
+       */
+      head = _clutter_context_pop_shader_stack (actor);
+      if (head != NULL)
+        _clutter_actor_shader_pre_paint (head, TRUE);
+    }
+}
+
+static inline void
+clutter_actor_set_shader_param_internal (ClutterActor *self,
+                                         const gchar  *param,
+                                         const GValue *value)
+{
+  ShaderData *shader_data;
+  GValue *var;
+
+  shader_data = g_object_get_data (G_OBJECT (self), "-clutter-actor-shader-data");
+  if (shader_data == NULL)
+    return;
+
+  var = g_slice_new0 (GValue);
+  g_value_init (var, G_VALUE_TYPE (value));
+  g_value_copy (value, var);
+  g_hash_table_insert (shader_data->value_hash, g_strdup (param), var);
+
+  clutter_actor_queue_redraw (self);
+}
+
+/**
+ * clutter_actor_set_shader_param:
+ * @self: a #ClutterActor
+ * @param: the name of the parameter
+ * @value: the value of the parameter
+ *
+ * Sets the value for a named parameter of the shader applied
+ * to @actor.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use clutter_shader_effect_set_uniform_value() instead
+ */
+void
+clutter_actor_set_shader_param (ClutterActor *self,
+                                const gchar  *param,
+                                const GValue *value)
+{
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+  g_return_if_fail (param != NULL);
+  g_return_if_fail (CLUTTER_VALUE_HOLDS_SHADER_FLOAT (value) ||
+                    CLUTTER_VALUE_HOLDS_SHADER_INT (value) ||
+                    CLUTTER_VALUE_HOLDS_SHADER_MATRIX (value) ||
+                    G_VALUE_HOLDS_FLOAT (value) ||
+                    G_VALUE_HOLDS_INT (value));
+
+  clutter_actor_set_shader_param_internal (self, param, value);
+}
+
+/**
+ * clutter_actor_set_shader_param_float:
+ * @self: a #ClutterActor
+ * @param: the name of the parameter
+ * @value: the value of the parameter
+ *
+ * Sets the value for a named float parameter of the shader applied
+ * to @actor.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.8: Use clutter_shader_effect_set_uniform() instead
+ */
+void
+clutter_actor_set_shader_param_float (ClutterActor *self,
+                                      const gchar  *param,
+                                      gfloat        value)
+{
+  GValue var = { 0, };
+
+  g_value_init (&var, G_TYPE_FLOAT);
+  g_value_set_float (&var, value);
+
+  clutter_actor_set_shader_param_internal (self, param, &var);
+
+  g_value_unset (&var);
+}
+
+/**
+ * clutter_actor_set_shader_param_int:
+ * @self: a #ClutterActor
+ * @param: the name of the parameter
+ * @value: the value of the parameter
+ *
+ * Sets the value for a named int parameter of the shader applied to
+ * @actor.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.8: Use clutter_shader_effect_set_uniform() instead
+ */
+void
+clutter_actor_set_shader_param_int (ClutterActor *self,
+                                    const gchar  *param,
+                                    gint          value)
+{
+  GValue var = { 0, };
+
+  g_value_init (&var, G_TYPE_INT);
+  g_value_set_int (&var, value);
+
+  clutter_actor_set_shader_param_internal (self, param, &var);
+
+  g_value_unset (&var);
+}
+
+/**
+ * clutter_actor_set_geometry:
+ * @self: A #ClutterActor
+ * @geometry: A #ClutterGeometry
+ *
+ * Sets the actor's fixed position and forces its minimum and natural
+ * size, in pixels. This means the untransformed actor will have the
+ * given geometry. This is the same as calling clutter_actor_set_position()
+ * and clutter_actor_set_size().
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_position() and
+ *   clutter_actor_set_size() instead.
+ */
+void
+clutter_actor_set_geometry (ClutterActor          *self,
+                           const ClutterGeometry *geometry)
+{
+  g_object_freeze_notify (G_OBJECT (self));
+
+  clutter_actor_set_position (self, geometry->x, geometry->y);
+  clutter_actor_set_size (self, geometry->width, geometry->height);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_actor_get_geometry:
+ * @self: A #ClutterActor
+ * @geometry: (out caller-allocates): A location to store actors #ClutterGeometry
+ *
+ * Gets the size and position of an actor relative to its parent
+ * actor. This is the same as calling clutter_actor_get_position() and
+ * clutter_actor_get_size(). It tries to "do what you mean" and get the
+ * requested size and position if the actor's allocation is invalid.
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_position() and
+ *   clutter_actor_get_size(), or clutter_actor_get_allocation_geometry()
+ *   instead.
+ */
+void
+clutter_actor_get_geometry (ClutterActor    *self,
+                           ClutterGeometry *geometry)
+{
+  gfloat x, y, width, height;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+  g_return_if_fail (geometry != NULL);
+
+  clutter_actor_get_position (self, &x, &y);
+  clutter_actor_get_size (self, &width, &height);
+
+  geometry->x = (int) x;
+  geometry->y = (int) y;
+  geometry->width = (int) width;
+  geometry->height = (int) height;
+}
+
+/**
+ * clutter_actor_get_allocation_geometry:
+ * @self: A #ClutterActor
+ * @geom: (out): allocation geometry in pixels
+ *
+ * Gets the layout box an actor has been assigned.  The allocation can
+ * only be assumed valid inside a paint() method; anywhere else, it
+ * may be out-of-date.
+ *
+ * An allocation does not incorporate the actor's scale or anchor point;
+ * those transformations do not affect layout, only rendering.
+ *
+ * The returned rectangle is in pixels.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12: Use clutter_actor_get_allocation_box() instead.
+ */
+void
+clutter_actor_get_allocation_geometry (ClutterActor    *self,
+                                       ClutterGeometry *geom)
+{
+  ClutterActorBox box;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (self));
+  g_return_if_fail (geom != NULL);
+
+  clutter_actor_get_allocation_box (self, &box);
+
+  geom->x = CLUTTER_NEARBYINT (clutter_actor_box_get_x (&box));
+  geom->y = CLUTTER_NEARBYINT (clutter_actor_box_get_y (&box));
+  geom->width = CLUTTER_NEARBYINT (clutter_actor_box_get_width (&box));
+  geom->height = CLUTTER_NEARBYINT (clutter_actor_box_get_height (&box));
+}
diff --git a/clutter/deprecated/clutter-actor.h b/clutter/deprecated/clutter-actor.h
new file mode 100644
index 0000000..9302e94
--- /dev/null
+++ b/clutter/deprecated/clutter-actor.h
@@ -0,0 +1,161 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006, 2007, 2008 OpenedHand Ltd
+ * Copyright (C) 2009, 2010 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_ACTOR_DEPRECATED_H__
+#define __CLUTTER_ACTOR_DEPRECATED_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_actor_set_geometry                      (ClutterActor          *self,
+                                                                 const ClutterGeometry *geometry);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_allocation_geometry)
+void            clutter_actor_get_geometry                      (ClutterActor          *self,
+                                                                 ClutterGeometry       *geometry);
+CLUTTER_DEPRECATED_IN_1_8
+guint32         clutter_actor_get_gid                           (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_8
+ClutterActor *  clutter_get_actor_by_gid                        (guint32                id_);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_remove_child() and clutter_actor_add_child())
+void            clutter_actor_reparent                          (ClutterActor          *self,
+                                                                 ClutterActor          *new_parent);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_add_child)
+void            clutter_actor_set_parent                        (ClutterActor          *self,
+                                                                 ClutterActor          *parent);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_remove_child)
+void            clutter_actor_unparent                          (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_child_above_sibling)
+void            clutter_actor_raise                             (ClutterActor          *self,
+                                                                 ClutterActor          *below);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_child_below_sibling)
+void            clutter_actor_lower                             (ClutterActor          *self,
+                                                                 ClutterActor          *above);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_child_above_sibling() with NULL sibling)
+void            clutter_actor_raise_top                         (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_child_below_sibling() with NULL sibling)
+void            clutter_actor_lower_bottom                      (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_actor_push_internal                     (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_actor_pop_internal                      (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_actor_show_all                          (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_actor_hide_all                          (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_set_z_position)
+void            clutter_actor_set_depth                         (ClutterActor          *self,
+                                                                 gfloat                 depth);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_get_z_position)
+gfloat          clutter_actor_get_depth                         (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_set_rotation_angle)
+void            clutter_actor_set_rotation                      (ClutterActor          *self,
+                                                                 ClutterRotateAxis      axis,
+                                                                 gdouble                angle,
+                                                                 gfloat                 x,
+                                                                 gfloat                 y,
+                                                                 gfloat                 z);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_set_rotation_angle and clutter_actor_set_pivot_point)
+void            clutter_actor_set_z_rotation_from_gravity       (ClutterActor          *self,
+                                                                 gdouble                angle,
+                                                                 ClutterGravity         gravity);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_get_rotation_angle)
+gdouble         clutter_actor_get_rotation                      (ClutterActor          *self,
+                                                                 ClutterRotateAxis      axis,
+                                                                 gfloat                *x,
+                                                                 gfloat                *y,
+                                                                 gfloat                *z);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterGravity  clutter_actor_get_z_rotation_gravity            (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_set_scale and clutter_actor_set_pivot_point)
+void            clutter_actor_set_scale_full                    (ClutterActor          *self,
+                                                                 gdouble                scale_x,
+                                                                 gdouble                scale_y,
+                                                                 gfloat                 center_x,
+                                                                 gfloat                 center_y);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_set_scale and clutter_actor_set_pivot_point)
+void            clutter_actor_set_scale_with_gravity            (ClutterActor          *self,
+                                                                 gdouble                scale_x,
+                                                                 gdouble                scale_y,
+                                                                 ClutterGravity         gravity);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_get_pivot_point)
+void            clutter_actor_get_scale_center                  (ClutterActor          *self,
+                                                                 gfloat                *center_x,
+                                                                 gfloat                *center_y);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_actor_get_pivot_point)
+ClutterGravity  clutter_actor_get_scale_gravity                 (ClutterActor          *self);
+
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_actor_set_anchor_point                  (ClutterActor          *self,
+                                                                 gfloat                 anchor_x,
+                                                                 gfloat                 anchor_y);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_actor_move_anchor_point                 (ClutterActor          *self,
+                                                                 gfloat                 anchor_x,
+                                                                 gfloat                 anchor_y);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_actor_get_anchor_point                  (ClutterActor          *self,
+                                                                 gfloat                *anchor_x,
+                                                                 gfloat                *anchor_y);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterGravity  clutter_actor_get_anchor_point_gravity          (ClutterActor          *self);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_actor_set_anchor_point_from_gravity     (ClutterActor          *self,
+                                                                 ClutterGravity         gravity);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_actor_move_anchor_point_from_gravity    (ClutterActor          *self,
+                                                                 ClutterGravity         gravity);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_actor_get_transformation_matrix         (ClutterActor          *self,
+                                                                 ClutterMatrix         *matrix);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR (clutter_actor_get_allocation_box)
+void            clutter_actor_get_allocation_geometry           (ClutterActor          *self,
+                                                                 ClutterGeometry       *geom);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_ACTOR_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-alpha.c b/clutter/deprecated/clutter-alpha.c
new file mode 100644
index 0000000..d9548a5
--- /dev/null
+++ b/clutter/deprecated/clutter-alpha.c
@@ -0,0 +1,959 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *             Tomas Frydrych <tf openedhand com>
+ *
+ * Copyright (C) 2006, 2007, 2008 OpenedHand
+ * Copyright (C) 2009, 2010 Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-alpha
+ * @short_description: A class for calculating a value as a function of time
+ *
+ * #ClutterAlpha is a class for calculating an floating point value
+ * dependent only on the position of a #ClutterTimeline.
+ *
+ * <warning>For newly written code, it is recommended to use the
+ * #ClutterTimeline:progress-mode property of #ClutterTimeline, or the
+ * clutter_timeline_set_progress_func() function instead of #ClutterAlpha.
+ * The #ClutterAlpha class will be deprecated in the future, and will not
+ * be available any more in the next major version of Clutter.</warning>
+ *
+ * A #ClutterAlpha binds a #ClutterTimeline to a progress function which
+ * translates the time T into an adimensional factor alpha. The factor can
+ * then be used to drive a #ClutterBehaviour, which will translate the
+ * alpha value into something meaningful for a #ClutterActor.
+ *
+ * You should provide a #ClutterTimeline and bind it to the #ClutterAlpha
+ * instance using clutter_alpha_set_timeline(). You should also set an
+ * "animation mode", either by using the #ClutterAnimationMode values that
+ * Clutter itself provides or by registering custom functions using
+ * clutter_alpha_register_func().
+ *
+ * Instead of a #ClutterAnimationMode you may provide a function returning
+ * the alpha value depending on the progress of the timeline, using
+ * clutter_alpha_set_func() or clutter_alpha_set_closure(). The alpha
+ * 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, stop or resume the #ClutterAlpha from calling the alpha function by
+ * using the appropriate functions of the #ClutterTimeline object.
+ *
+ * #ClutterAlpha is used to "drive" a #ClutterBehaviour instance, and it
+ * is internally used by the #ClutterAnimation API.
+ *
+ * <refsect2 id="ClutterAlpha-script">
+ *   <title>ClutterAlpha custom properties for #ClutterScript</title>
+ *   <para>#ClutterAlpha defines a custom "function" property for
+ *   #ClutterScript which allows to reference a custom alpha function
+ *   available in the source code. Setting the "function" property
+ *   is equivalent to calling clutter_alpha_set_func() with the
+ *   specified function name. No user data or #GDestroyNotify is
+ *   available to be passed.</para>
+ *   <example id="ClutterAlpha-script-example">
+ *     <title>Defining a ClutterAlpha in ClutterScript</title>
+ *     <para>The following JSON fragment defines a #ClutterAlpha
+ *     using a #ClutterTimeline with id "sine-timeline" and an alpha
+ *     function called <function>my_sine_alpha</function>. The defined
+ *     #ClutterAlpha instance can be reused in multiple #ClutterBehaviour
+ *     definitions or for #ClutterAnimation definitions.</para>
+ *     <programlisting><![CDATA[
+ * {
+ *   "id" : "sine-alpha",
+ *   "timeline" : {
+ *     "id" : "sine-timeline",
+ *     "duration" : 500,
+ *     "loop" : true
+ *   },
+ *   "function" : "my_sine_alpha"
+ * }
+ *    ]]></programlisting>
+ *   </example>
+ *   <para>For the way to define the #ClutterAlpha:mode property
+ *   inside a ClutterScript fragment, see <link
+ *   linkend="clutter-AnimationMode-Script">the corresponding section</link>
+ *   in #ClutterAnimation.</para>
+ * </refsect2>
+ *
+ * #ClutterAlpha is available since Clutter 0.2.
+ *
+ * #ClutterAlpha is deprecated since Clutter 1.12; use #ClutterTimeline and the
+ * #ClutterTimeline:progress-mode property.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+
+#include <gmodule.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-alpha.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-easing.h"
+#include "clutter-main.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-scriptable.h"
+#include "clutter-script-private.h"
+
+static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterAlpha,
+                         clutter_alpha,
+                         G_TYPE_INITIALLY_UNOWNED,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_iface_init));
+
+struct _ClutterAlphaPrivate
+{
+  ClutterTimeline *timeline;
+  guint timeline_new_frame_id;
+
+  gdouble alpha;
+
+  GClosure *closure;
+
+  ClutterAlphaFunc func;
+  gpointer user_data;
+  GDestroyNotify notify;
+
+  gulong mode;
+};
+
+enum
+{
+  PROP_0,
+  
+  PROP_TIMELINE,
+  PROP_ALPHA,
+  PROP_MODE,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+static void
+timeline_new_frame_cb (ClutterTimeline *timeline,
+                       guint            msecs,
+                       ClutterAlpha    *alpha)
+{
+  ClutterAlphaPrivate *priv = alpha->priv;
+
+  /* Update alpha value and notify */
+  priv->alpha = clutter_alpha_get_alpha (alpha);
+  g_object_notify_by_pspec (G_OBJECT (alpha), obj_props[PROP_ALPHA]);
+}
+
+static void 
+clutter_alpha_set_property (GObject      *object, 
+                           guint         prop_id,
+                           const GValue *value, 
+                           GParamSpec   *pspec)
+{
+  ClutterAlpha *alpha = CLUTTER_ALPHA (object);
+
+  switch (prop_id) 
+    {
+    case PROP_TIMELINE:
+      clutter_alpha_set_timeline (alpha, g_value_get_object (value));
+      break;
+
+    case PROP_MODE:
+      clutter_alpha_set_mode (alpha, g_value_get_ulong (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void 
+clutter_alpha_get_property (GObject    *object, 
+                           guint       prop_id,
+                           GValue     *value, 
+                           GParamSpec *pspec)
+{
+  ClutterAlphaPrivate *priv = CLUTTER_ALPHA (object)->priv;
+
+  switch (prop_id) 
+    {
+    case PROP_TIMELINE:
+      g_value_set_object (value, priv->timeline);
+      break;
+
+    case PROP_ALPHA:
+      g_value_set_double (value, priv->alpha);
+      break;
+
+    case PROP_MODE:
+      g_value_set_ulong (value, priv->mode);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static void 
+clutter_alpha_finalize (GObject *object)
+{
+  ClutterAlphaPrivate *priv = CLUTTER_ALPHA (object)->priv;
+
+  if (priv->notify != NULL)
+    priv->notify (priv->user_data);
+  else if (priv->closure != NULL)
+    g_closure_unref (priv->closure);
+
+  G_OBJECT_CLASS (clutter_alpha_parent_class)->finalize (object);
+}
+
+static void 
+clutter_alpha_dispose (GObject *object)
+{
+  ClutterAlpha *self = CLUTTER_ALPHA(object);
+
+  clutter_alpha_set_timeline (self, NULL);
+
+  G_OBJECT_CLASS (clutter_alpha_parent_class)->dispose (object);
+}
+
+static ClutterAlphaFunc
+resolve_alpha_func (const gchar *name)
+{
+  static GModule *module = NULL;
+  ClutterAlphaFunc func;
+
+  CLUTTER_NOTE (SCRIPT, "Looking up '%s' alpha function", name);
+
+  if (G_UNLIKELY (module == NULL))
+    module = g_module_open (NULL, 0);
+
+  if (g_module_symbol (module, name, (gpointer) &func))
+    {
+      CLUTTER_NOTE (SCRIPT, "Found '%s' alpha function in the symbols table",
+                    name);
+      return func;
+    }
+
+  return NULL;
+}
+
+static void
+clutter_alpha_set_custom_property (ClutterScriptable *scriptable,
+                                   ClutterScript     *script,
+                                   const gchar       *name,
+                                   const GValue      *value)
+{
+  if (strncmp (name, "function", 8) == 0)
+    {
+      g_assert (G_VALUE_HOLDS (value, G_TYPE_POINTER));
+      if (g_value_get_pointer (value) != NULL)
+        {
+          clutter_alpha_set_func (CLUTTER_ALPHA (scriptable),
+                                  g_value_get_pointer (value),
+                                  NULL, NULL);
+        }
+    }
+  else
+    g_object_set_property (G_OBJECT (scriptable), name, value);
+}
+
+static gboolean
+clutter_alpha_parse_custom_node (ClutterScriptable *scriptable,
+                                 ClutterScript     *script,
+                                 GValue            *value,
+                                 const gchar       *name,
+                                 JsonNode          *node)
+{
+  if (strncmp (name, "function", 8) == 0)
+    {
+      const gchar *func_name = json_node_get_string (node);
+
+      g_value_init (value, G_TYPE_POINTER);
+      g_value_set_pointer (value, resolve_alpha_func (func_name));
+
+      return TRUE;
+    }
+
+  /* we need to do this because we use gulong in place
+   * of ClutterAnimationMode for ClutterAlpha:mode
+   */
+  if (strncmp (name, "mode", 4) == 0)
+    {
+      gulong mode;
+
+      mode = _clutter_script_resolve_animation_mode (node);
+
+      g_value_init (value, G_TYPE_ULONG);
+      g_value_set_ulong (value, mode);
+
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static void
+clutter_scriptable_iface_init (ClutterScriptableIface *iface)
+{
+  iface->parse_custom_node = clutter_alpha_parse_custom_node;
+  iface->set_custom_property = clutter_alpha_set_custom_property;
+}
+
+static void
+clutter_alpha_class_init (ClutterAlphaClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  object_class->set_property = clutter_alpha_set_property;
+  object_class->get_property = clutter_alpha_get_property;
+  object_class->finalize     = clutter_alpha_finalize;
+  object_class->dispose      = clutter_alpha_dispose;
+
+  g_type_class_add_private (klass, sizeof (ClutterAlphaPrivate));
+
+  /**
+   * ClutterAlpha:timeline:
+   *
+   * A #ClutterTimeline instance used to drive the alpha function.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  obj_props[PROP_TIMELINE] =
+    g_param_spec_object ("timeline",
+                               P_("Timeline"),
+                               P_("Timeline used by the alpha"),
+                               CLUTTER_TYPE_TIMELINE,
+                               CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAlpha:alpha:
+   *
+   * The alpha value as computed by the alpha function. The linear
+   * interval is 0.0 to 1.0, but the Alpha allows overshooting by
+   * one unit in each direction, so the valid interval is -1.0 to 2.0.
+   *
+   * Since: 0.2
+   * Deprecated: 1.12
+   */
+  obj_props[PROP_ALPHA] =
+    g_param_spec_double ("alpha",
+                               P_("Alpha value"),
+                               P_("Alpha value as computed by the alpha"),
+                               -1.0, 2.0,
+                               0.0,
+                               CLUTTER_PARAM_READABLE);
+
+  /**
+   * ClutterAlpha:mode:
+   *
+   * The progress function logical id - either a value from the
+   * #ClutterAnimationMode enumeration or a value returned by
+   * clutter_alpha_register_func().
+   *
+   * If %CLUTTER_CUSTOM_MODE is used then the function set using
+   * clutter_alpha_set_closure() or clutter_alpha_set_func()
+   * will be used.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12
+   */
+  obj_props[PROP_MODE] =
+    g_param_spec_ulong ("mode",
+                              P_("Mode"),
+                              P_("Progress mode"),
+                              0, G_MAXULONG,
+                              CLUTTER_CUSTOM_MODE,
+                              G_PARAM_CONSTRUCT | CLUTTER_PARAM_READWRITE);
+
+  g_object_class_install_properties (object_class,
+                                     PROP_LAST,
+                                     obj_props);
+}
+
+static void
+clutter_alpha_init (ClutterAlpha *self)
+{
+  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+                                           CLUTTER_TYPE_ALPHA,
+                                           ClutterAlphaPrivate);
+
+  self->priv->mode = CLUTTER_CUSTOM_MODE;
+  self->priv->alpha = 0.0;
+}
+
+/**
+ * clutter_alpha_get_alpha:
+ * @alpha: A #ClutterAlpha
+ *
+ * Query the current alpha value.
+ *
+ * Return Value: The current alpha value for the alpha
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+gdouble
+clutter_alpha_get_alpha (ClutterAlpha *alpha)
+{
+  ClutterAlphaPrivate *priv;
+  gdouble retval = 0;
+
+  g_return_val_if_fail (CLUTTER_IS_ALPHA (alpha), 0);
+
+  priv = alpha->priv;
+
+  if (G_LIKELY (priv->func))
+    {
+      return priv->func (alpha, priv->user_data);
+    }
+  else if (priv->closure)
+    {
+      GValue params = G_VALUE_INIT;
+      GValue result_value = G_VALUE_INIT;
+
+      g_object_ref (alpha);
+
+      g_value_init (&result_value, G_TYPE_DOUBLE);
+
+      g_value_init (&params, CLUTTER_TYPE_ALPHA);
+      g_value_set_object (&params, alpha);
+
+      g_closure_invoke (priv->closure, &result_value, 1, &params, NULL);
+
+      retval = g_value_get_double (&result_value);
+
+      g_value_unset (&result_value);
+      g_value_unset (&params);
+
+      g_object_unref (alpha);
+    }
+
+  return retval;
+}
+
+/*
+ * clutter_alpha_set_closure_internal:
+ * @alpha: a #ClutterAlpha
+ * @closure: a #GClosure
+ *
+ * Sets the @closure for @alpha. This function does not
+ * set the #ClutterAlpha:mode property and does not emit
+ * the #GObject::notify signal for it.
+ */
+static inline void
+clutter_alpha_set_closure_internal (ClutterAlpha *alpha,
+                                    GClosure     *closure)
+{
+  ClutterAlphaPrivate *priv = alpha->priv;
+
+  if (priv->notify != NULL)
+    priv->notify (priv->user_data);
+  else if (priv->closure != NULL)
+    g_closure_unref (priv->closure);
+
+  priv->func = NULL;
+  priv->user_data = NULL;
+  priv->notify = NULL;
+
+  if (closure == NULL)
+    return;
+
+  /* need to take ownership of the closure before sinking it */
+  priv->closure = g_closure_ref (closure);
+  g_closure_sink (closure);
+
+  /* set the marshaller */
+  if (G_CLOSURE_NEEDS_MARSHAL (closure))
+    {
+      GClosureMarshal marshal = _clutter_marshal_DOUBLE__VOID;
+
+      g_closure_set_marshal (priv->closure, marshal);
+    }
+}
+
+/**
+ * clutter_alpha_set_closure:
+ * @alpha: A #ClutterAlpha
+ * @closure: A #GClosure
+ *
+ * Sets the #GClosure used to compute the alpha value at each
+ * frame of the #ClutterTimeline bound to @alpha.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_alpha_set_closure (ClutterAlpha *alpha,
+                           GClosure     *closure)
+{
+  ClutterAlphaPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ALPHA (alpha));
+  g_return_if_fail (closure != NULL);
+
+  priv = alpha->priv;
+
+  clutter_alpha_set_closure_internal (alpha, closure);
+
+  priv->mode = CLUTTER_CUSTOM_MODE;
+  g_object_notify_by_pspec (G_OBJECT (alpha), obj_props[PROP_MODE]);
+}
+
+/**
+ * clutter_alpha_set_func:
+ * @alpha: A #ClutterAlpha
+ * @func: A #ClutterAlphaFunc
+ * @data: user data to be passed to the alpha function, or %NULL
+ * @destroy: notify function used when disposing the alpha function
+ *
+ * Sets the #ClutterAlphaFunc function used to compute
+ * the alpha value at each frame of the #ClutterTimeline
+ * bound to @alpha.
+ *
+ * This function will not register @func as a global alpha function.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_alpha_set_func (ClutterAlpha    *alpha,
+                       ClutterAlphaFunc func,
+                        gpointer         data,
+                        GDestroyNotify   destroy)
+{
+  ClutterAlphaPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ALPHA (alpha));
+  g_return_if_fail (func != NULL);
+
+  priv = alpha->priv;
+
+  if (priv->notify != NULL)
+    {
+      priv->notify (priv->user_data);
+    }
+  else if (priv->closure != NULL)
+    {
+      g_closure_unref (priv->closure);
+      priv->closure = NULL;
+    }
+
+  priv->func = func;
+  priv->user_data = data;
+  priv->notify = destroy;
+
+  priv->mode = CLUTTER_CUSTOM_MODE;
+
+  g_object_notify_by_pspec (G_OBJECT (alpha), obj_props[PROP_MODE]);
+}
+
+/**
+ * clutter_alpha_set_timeline:
+ * @alpha: A #ClutterAlpha
+ * @timeline: A #ClutterTimeline
+ *
+ * Binds @alpha to @timeline.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_alpha_set_timeline (ClutterAlpha    *alpha,
+                            ClutterTimeline *timeline)
+{
+  ClutterAlphaPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ALPHA (alpha));
+  g_return_if_fail (timeline == NULL || CLUTTER_IS_TIMELINE (timeline));
+  
+  priv = alpha->priv;
+
+  if (priv->timeline == timeline)
+    return;
+
+  if (priv->timeline)
+    {
+      g_signal_handlers_disconnect_by_func (priv->timeline,
+                                            timeline_new_frame_cb,
+                                            alpha);
+
+      g_object_unref (priv->timeline);
+      priv->timeline = NULL;
+    }
+
+  if (timeline)
+    {
+      priv->timeline = g_object_ref (timeline);
+
+      g_signal_connect (priv->timeline, "new-frame",
+                        G_CALLBACK (timeline_new_frame_cb),
+                        alpha);
+    }
+
+  g_object_notify_by_pspec (G_OBJECT (alpha), obj_props[PROP_TIMELINE]);
+}
+
+/**
+ * clutter_alpha_get_timeline:
+ * @alpha: A #ClutterAlpha
+ *
+ * Gets the #ClutterTimeline bound to @alpha.
+ *
+ * Return value: (transfer none): a #ClutterTimeline instance
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+ClutterTimeline *
+clutter_alpha_get_timeline (ClutterAlpha *alpha)
+{
+  g_return_val_if_fail (CLUTTER_IS_ALPHA (alpha), NULL);
+
+  return alpha->priv->timeline;
+}
+
+/**
+ * clutter_alpha_new:
+ * 
+ * Creates a new #ClutterAlpha instance.  You must set a function
+ * to compute the alpha value using clutter_alpha_set_func() and
+ * bind a #ClutterTimeline object to the #ClutterAlpha instance
+ * using clutter_alpha_set_timeline().
+ *
+ * You should use the newly created #ClutterAlpha instance inside
+ * a #ClutterBehaviour object.
+ *
+ * Return value: the newly created empty #ClutterAlpha instance.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+ClutterAlpha *
+clutter_alpha_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_ALPHA, NULL);
+}
+
+/**
+ * clutter_alpha_new_full:
+ * @timeline: #ClutterTimeline timeline
+ * @mode: animation mode
+ *
+ * Creates a new #ClutterAlpha instance and sets the timeline
+ * and animation mode.
+ *
+ * See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().
+ *
+ * Return Value: the newly created #ClutterAlpha
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+ClutterAlpha *
+clutter_alpha_new_full (ClutterTimeline *timeline,
+                        gulong           mode)
+{
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), NULL);
+  g_return_val_if_fail (mode != CLUTTER_ANIMATION_LAST, NULL);
+
+  return g_object_new (CLUTTER_TYPE_ALPHA,
+                       "timeline", timeline,
+                       "mode", mode,
+                       NULL);
+}
+
+/**
+ * clutter_alpha_new_with_func:
+ * @timeline: a #ClutterTimeline
+ * @func: a #ClutterAlphaFunc
+ * @data: data to pass to the function, or %NULL
+ * @destroy: function to call when removing the alpha function, or %NULL
+ *
+ * Creates a new #ClutterAlpha instances and sets the timeline
+ * and the alpha function.
+ *
+ * This function will not register @func as a global alpha function.
+ *
+ * See also clutter_alpha_set_timeline() and clutter_alpha_set_func().
+ *
+ * Return value: the newly created #ClutterAlpha
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+ClutterAlpha *
+clutter_alpha_new_with_func (ClutterTimeline  *timeline,
+                             ClutterAlphaFunc  func,
+                             gpointer          data,
+                             GDestroyNotify    destroy)
+{
+  ClutterAlpha *retval;
+
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), NULL);
+  g_return_val_if_fail (func != NULL, NULL);
+
+  retval = clutter_alpha_new ();
+  clutter_alpha_set_timeline (retval, timeline);
+  clutter_alpha_set_func (retval, func, data, destroy);
+
+  return retval;
+}
+
+/**
+ * clutter_alpha_get_mode:
+ * @alpha: a #ClutterAlpha
+ *
+ * Retrieves the #ClutterAnimationMode used by @alpha.
+ *
+ * Return value: the animation mode
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gulong
+clutter_alpha_get_mode (ClutterAlpha *alpha)
+{
+  g_return_val_if_fail (CLUTTER_IS_ALPHA (alpha), CLUTTER_CUSTOM_MODE);
+
+  return alpha->priv->mode;
+}
+
+typedef struct _AlphaData {
+  guint closure_set : 1;
+
+  ClutterAlphaFunc func;
+  gpointer data;
+
+  GClosure *closure;
+} AlphaData;
+
+static GPtrArray *clutter_alphas = NULL;
+
+static gdouble
+clutter_alpha_easing_func (ClutterAlpha *alpha,
+                           gpointer      data G_GNUC_UNUSED)
+{
+  ClutterAlphaPrivate *priv = alpha->priv;
+  ClutterTimeline *timeline = priv->timeline;
+  gdouble t, d;
+
+  if (G_UNLIKELY (priv->timeline == NULL))
+    return 0.0;
+
+  t = clutter_timeline_get_elapsed_time (timeline);
+  d = clutter_timeline_get_duration (timeline);
+
+  return clutter_easing_for_mode (priv->mode, t, d);
+}
+
+/**
+ * clutter_alpha_set_mode:
+ * @alpha: a #ClutterAlpha
+ * @mode: a #ClutterAnimationMode
+ *
+ * Sets the progress function of @alpha using the symbolic value
+ * of @mode, as taken by the #ClutterAnimationMode enumeration or
+ * using the value returned by clutter_alpha_register_func().
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_alpha_set_mode (ClutterAlpha *alpha,
+                        gulong        mode)
+{
+  ClutterAlphaPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ALPHA (alpha));
+  g_return_if_fail (mode != CLUTTER_ANIMATION_LAST);
+
+  priv = alpha->priv;
+
+  if (mode == CLUTTER_CUSTOM_MODE)
+    {
+      priv->mode = mode;
+    }
+  else if (mode < CLUTTER_ANIMATION_LAST)
+    {
+      if (priv->mode == mode)
+        return;
+
+      /* sanity check to avoid getting an out of sync
+       * enum/function mapping
+       */
+      g_assert (clutter_get_easing_func_for_mode (mode) != NULL);
+
+      clutter_alpha_set_closure_internal (alpha, NULL);
+
+      priv->mode = mode;
+
+      CLUTTER_NOTE (ANIMATION, "New easing mode '%s'[%lu]\n",
+                    clutter_get_easing_name_for_mode (priv->mode),
+                    priv->mode);
+
+      priv->func = clutter_alpha_easing_func;
+      priv->user_data = NULL;
+      priv->notify = NULL;
+    }
+  else if (mode > CLUTTER_ANIMATION_LAST)
+    {
+      AlphaData *alpha_data = NULL;
+      gulong real_index = 0;
+
+      if (priv->mode == mode)
+        return;
+
+      if (G_UNLIKELY (clutter_alphas == NULL))
+        {
+          g_warning ("No alpha functions defined for ClutterAlpha to use. "
+                     "Use clutter_alpha_register_func() to register an "
+                     "alpha function.");
+          return;
+        }
+
+      real_index = mode - CLUTTER_ANIMATION_LAST - 1;
+
+      alpha_data = g_ptr_array_index (clutter_alphas, real_index);
+      if (G_UNLIKELY (alpha_data == NULL))
+        {
+          g_warning ("No alpha function registered for mode %lu.",
+                     mode);
+          return;
+        }
+
+      if (alpha_data->closure_set)
+        clutter_alpha_set_closure (alpha, alpha_data->closure);
+      else
+        {
+          clutter_alpha_set_closure_internal (alpha, NULL);
+
+          priv->func = alpha_data->func;
+          priv->user_data = alpha_data->data;
+          priv->notify = NULL;
+        }
+
+      priv->mode = mode;
+    }
+  else
+    g_assert_not_reached ();
+
+  g_object_notify_by_pspec (G_OBJECT (alpha), obj_props[PROP_MODE]);
+}
+
+static gulong
+register_alpha_internal (AlphaData *alpha_data)
+{
+  if (G_UNLIKELY (clutter_alphas == NULL))
+    clutter_alphas = g_ptr_array_new ();
+
+  g_ptr_array_add (clutter_alphas, alpha_data);
+
+  return clutter_alphas->len + CLUTTER_ANIMATION_LAST;
+}
+
+/**
+ * clutter_alpha_register_func: (skip)
+ * @func: a #ClutterAlphaFunc
+ * @data: user data to pass to @func, or %NULL
+ *
+ * Registers a global alpha function and returns its logical id
+ * to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
+ *
+ * The logical id is always greater than %CLUTTER_ANIMATION_LAST.
+ *
+ * Return value: the logical id of the alpha function
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gulong
+clutter_alpha_register_func (ClutterAlphaFunc func,
+                             gpointer         data)
+{
+  AlphaData *alpha_data;
+
+  g_return_val_if_fail (func != NULL, 0);
+
+  alpha_data = g_slice_new (AlphaData);
+  alpha_data->closure_set = FALSE;
+  alpha_data->func = func;
+  alpha_data->data = data;
+
+  return register_alpha_internal (alpha_data);
+}
+
+/**
+ * clutter_alpha_register_closure:
+ * @closure: a #GClosure
+ *
+ * #GClosure variant of clutter_alpha_register_func().
+ *
+ * Registers a global alpha function and returns its logical id
+ * to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
+ *
+ * The logical id is always greater than %CLUTTER_ANIMATION_LAST.
+ *
+ * Rename to: clutter_alpha_register_func
+ *
+ * Return value: the logical id of the alpha function
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gulong
+clutter_alpha_register_closure (GClosure *closure)
+{
+  AlphaData *alpha_data;
+
+  g_return_val_if_fail (closure != NULL, 0);
+
+  alpha_data = g_slice_new (AlphaData);
+  alpha_data->closure_set = TRUE;
+  alpha_data->closure = closure;
+
+  return register_alpha_internal (alpha_data);
+}
diff --git a/clutter/deprecated/clutter-alpha.h b/clutter/deprecated/clutter-alpha.h
new file mode 100644
index 0000000..347ff4a
--- /dev/null
+++ b/clutter/deprecated/clutter-alpha.h
@@ -0,0 +1,144 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *             Tomas Frydrych <tf openedhand com>
+ *
+ * Copyright (C) 2006, 2007, 2008 OpenedHand
+ * Copyright (C) 2009 Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_ALPHA_H__
+#define __CLUTTER_ALPHA_H__
+
+#include <clutter/clutter-timeline.h>
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_ALPHA              (clutter_alpha_get_type ())
+#define CLUTTER_ALPHA(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_ALPHA, 
ClutterAlpha))
+#define CLUTTER_ALPHA_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_ALPHA, 
ClutterAlphaClass))
+#define CLUTTER_IS_ALPHA(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_ALPHA))
+#define CLUTTER_IS_ALPHA_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_ALPHA))
+#define CLUTTER_ALPHA_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_ALPHA, 
ClutterAlphaClass))
+
+typedef struct _ClutterAlphaClass       ClutterAlphaClass;
+typedef struct _ClutterAlphaPrivate     ClutterAlphaPrivate;
+
+/**
+ * ClutterAlphaFunc:
+ * @alpha: a #ClutterAlpha
+ * @user_data: user data passed to the function
+ *
+ * A function returning a value depending on the position of
+ * the #ClutterTimeline bound to @alpha.
+ *
+ * Return value: a floating point value
+ *
+ * Since: 0.2
+ */
+typedef gdouble (*ClutterAlphaFunc) (ClutterAlpha *alpha,
+                                     gpointer      user_data); 
+
+/**
+ * ClutterAlpha:
+ *
+ * #ClutterAlpha combines a #ClutterTimeline and a function.
+ * The contents of the #ClutterAlpha structure are private and should
+ * only be accessed using the provided API.
+ *
+ * Since: 0.2
+ */
+struct _ClutterAlpha
+{
+  /*< private >*/
+  GInitiallyUnowned parent;
+
+  ClutterAlphaPrivate *priv;
+};
+
+/**
+ * ClutterAlphaClass:
+ *
+ * Base class for #ClutterAlpha
+ *
+ * Since: 0.2
+ */
+struct _ClutterAlphaClass
+{
+  /*< private >*/
+  GInitiallyUnownedClass parent_class;
+  
+  void (*_clutter_alpha_1) (void);
+  void (*_clutter_alpha_2) (void);
+  void (*_clutter_alpha_3) (void);
+  void (*_clutter_alpha_4) (void);
+  void (*_clutter_alpha_5) (void);
+}; 
+
+CLUTTER_DEPRECATED_IN_1_12
+GType clutter_alpha_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAlpha *   clutter_alpha_new              (void);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAlpha *   clutter_alpha_new_full         (ClutterTimeline  *timeline,
+                                                 gulong            mode);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAlpha *   clutter_alpha_new_with_func    (ClutterTimeline  *timeline,
+                                                 ClutterAlphaFunc  func,
+                                                 gpointer          data,
+                                                 GDestroyNotify    destroy);
+
+CLUTTER_DEPRECATED_IN_1_12
+gdouble          clutter_alpha_get_alpha        (ClutterAlpha     *alpha);
+CLUTTER_DEPRECATED_IN_1_12
+void             clutter_alpha_set_func         (ClutterAlpha     *alpha,
+                                                 ClutterAlphaFunc  func,
+                                                 gpointer          data,
+                                                 GDestroyNotify    destroy);
+CLUTTER_DEPRECATED_IN_1_12
+void             clutter_alpha_set_closure      (ClutterAlpha     *alpha,
+                                                 GClosure         *closure);
+CLUTTER_DEPRECATED_IN_1_12
+void             clutter_alpha_set_timeline     (ClutterAlpha     *alpha,
+                                                 ClutterTimeline  *timeline);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline *clutter_alpha_get_timeline     (ClutterAlpha     *alpha);
+CLUTTER_DEPRECATED_IN_1_12
+void             clutter_alpha_set_mode         (ClutterAlpha     *alpha,
+                                                 gulong            mode);
+CLUTTER_DEPRECATED_IN_1_12
+gulong           clutter_alpha_get_mode         (ClutterAlpha     *alpha);
+
+CLUTTER_DEPRECATED_IN_1_12
+gulong           clutter_alpha_register_func    (ClutterAlphaFunc  func,
+                                                 gpointer          data);
+CLUTTER_DEPRECATED_IN_1_12
+gulong           clutter_alpha_register_closure (GClosure         *closure);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_ALPHA_H__ */
diff --git a/clutter/deprecated/clutter-animatable.h b/clutter/deprecated/clutter-animatable.h
new file mode 100644
index 0000000..df40e28
--- /dev/null
+++ b/clutter/deprecated/clutter-animatable.h
@@ -0,0 +1,47 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2009  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *   Emmanuele Bassi <ebassi linux intel com>
+ */
+
+#ifndef __CLUTTER_ANIMATABLE_DEPRECATED_H__
+#define __CLUTTER_ANIMATABLE_DEPRECATED_H__
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#include <clutter/clutter-animatable.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_animatable_interpolate_value)
+gboolean        clutter_animatable_animate_property     (ClutterAnimatable *animatable,
+                                                         ClutterAnimation  *animation,
+                                                         const gchar       *property_name,
+                                                         const GValue      *initial_value,
+                                                         const GValue      *final_value,
+                                                         gdouble            progress,
+                                                         GValue            *value);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_ANIMATABLE_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-animation.c b/clutter/deprecated/clutter-animation.c
new file mode 100644
index 0000000..80f5f6a
--- /dev/null
+++ b/clutter/deprecated/clutter-animation.c
@@ -0,0 +1,2663 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2008  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *   Emmanuele Bassi <ebassi linux intel com>
+ */
+
+/**
+ * SECTION:clutter-animation
+ * @short_description: Simple implicit animations
+ * @See_Also: #ClutterAnimatable, #ClutterInterval, #ClutterAlpha,
+ *   #ClutterTimeline
+ *
+ * #ClutterAnimation is an object providing simple, implicit animations
+ * for #GObject<!-- -->s.
+ *
+ * #ClutterAnimation instances will bind one or more #GObject properties
+ * belonging to a #GObject to a #ClutterInterval, and will then use a
+ * #ClutterAlpha to interpolate the property between the initial and final
+ * values of the interval.
+ *
+ * The duration of the animation is set using clutter_animation_set_duration().
+ * The easing mode of the animation is set using clutter_animation_set_mode().
+ *
+ * If you want to control the animation you should retrieve the
+ * #ClutterTimeline using clutter_animation_get_timeline() and then
+ * use #ClutterTimeline functions like clutter_timeline_start(),
+ * clutter_timeline_pause() or clutter_timeline_stop().
+ *
+ * A #ClutterAnimation will emit the #ClutterAnimation::completed signal
+ * when the #ClutterTimeline used by the animation is completed; unlike
+ * #ClutterTimeline, though, the #ClutterAnimation::completed will not be
+ * emitted if #ClutterAnimation:loop is set to %TRUE - that is, a looping
+ * animation never completes.
+ *
+ * If your animation depends on user control you can force its completion
+ * using clutter_animation_completed().
+ *
+ * If the #GObject instance bound to a #ClutterAnimation implements the
+ * #ClutterAnimatable interface it is possible for that instance to
+ * control the way the initial and final states are interpolated.
+ *
+ * #ClutterAnimation<!-- -->s are distinguished from #ClutterBehaviour<!-- -->s
+ * because the former can only control #GObject properties of a single
+ * #GObject instance, while the latter can control multiple properties
+ * using accessor functions inside the #ClutterBehaviour
+ * <function>alpha_notify</function> virtual function, and can control
+ * multiple #ClutterActor<!-- -->s as well.
+ *
+ * For convenience, it is possible to use the clutter_actor_animate()
+ * function call which will take care of setting up and tearing down
+ * a #ClutterAnimation instance and animate an actor between its current
+ * state and the specified final state.
+ *
+ * <refsect2 id="clutter-AnimationMode-Script">
+ *   <title>Defining ClutterAnimationMode inside ClutterScript</title>
+ *   <para>When defining a #ClutterAnimation inside a ClutterScript
+ *   file or string the #ClutterAnimation:mode can be defined either
+ *   using the #ClutterAnimationMode enumeration values through their
+ *   "nick" (the short string used inside #GEnumValue), their numeric
+ *   id, or using the following strings:</para>
+ *   <variablelist>
+ *     <varlistentry>
+ *       <term>easeInQuad, easeOutQuad, easeInOutQuad</term>
+ *       <listitem><para>Corresponding to the quadratic easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInCubic, easeOutCubic, easeInOutCubic</term>
+ *       <listitem><para>Corresponding to the cubic easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInQuart, easeOutQuart, easeInOutQuart</term>
+ *       <listitem><para>Corresponding to the quartic easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInQuint, easeOutQuint, easeInOutQuint</term>
+ *       <listitem><para>Corresponding to the quintic easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInSine, easeOutSine, easeInOutSine</term>
+ *       <listitem><para>Corresponding to the sine easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInExpo, easeOutExpo, easeInOutExpo</term>
+ *       <listitem><para>Corresponding to the exponential easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInCirc, easeOutCirc, easeInOutCirc</term>
+ *       <listitem><para>Corresponding to the circular easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInElastic, easeOutElastic, easeInOutElastic</term>
+ *       <listitem><para>Corresponding to the overshooting elastic
+ *       easing modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInBack, easeOutBack, easeInOutBack</term>
+ *       <listitem><para>Corresponding to the overshooting cubic
+ *       easing modes</para></listitem>
+ *     </varlistentry>
+ *     <varlistentry>
+ *       <term>easeInBounce, easeOutBounce, easeInOutBounce</term>
+ *       <listitem><para>Corresponding to the bouncing easing
+ *       modes</para></listitem>
+ *     </varlistentry>
+ *   </variablelist>
+ * </refsect2>
+ *
+ * <example id="example-clutter-animation">
+ *   <title>Tweening using clutter_actor_animate()</title>
+ *   <programlisting>
+ * <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; parse="text" 
href="../../../../tests/interactive/test-easing.c">
+ *   <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
+ * </xi:include>
+ *   </programlisting>
+ * </example>
+ *
+ * #ClutterAnimation is available since Clutter 1.0.
+ *
+ * #ClutterAnimation has been deprecated in Clutter 1.12.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib-object.h>
+#include <gobject/gvaluecollector.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-alpha.h"
+#include "clutter-animatable.h"
+#include "clutter-animation.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-interval.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-scriptable.h"
+#include "clutter-script-private.h"
+
+#include "deprecated/clutter-animation.h"
+
+enum
+{
+  PROP_0,
+
+  PROP_OBJECT,
+  PROP_MODE,
+  PROP_DURATION,
+  PROP_LOOP,
+  PROP_TIMELINE,
+  PROP_ALPHA,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+enum
+{
+  STARTED,
+  COMPLETED,
+
+  LAST_SIGNAL
+};
+
+#define CLUTTER_ANIMATION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_ANIMATION, 
ClutterAnimationPrivate))
+
+struct _ClutterAnimationPrivate
+{
+  GObject *object;
+
+  GHashTable *properties;
+
+  ClutterAlpha *alpha;
+  ClutterTimeline *timeline;
+
+  guint timeline_started_id;
+  guint timeline_completed_id;
+  guint timeline_frame_id;
+};
+
+static guint animation_signals[LAST_SIGNAL] = { 0, };
+
+static GQuark quark_object_animation = 0;
+
+static void clutter_scriptable_init (ClutterScriptableIface *iface);
+
+static void                     clutter_animation_set_alpha_internal    (ClutterAnimation *animation,
+                                                                         ClutterAlpha     *alpha);
+static ClutterAlpha *           clutter_animation_get_alpha_internal    (ClutterAnimation *animation);
+static ClutterTimeline *        clutter_animation_get_timeline_internal (ClutterAnimation *animation);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterAnimation, clutter_animation, G_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_init));
+
+static ClutterAlpha *
+clutter_animation_get_alpha_internal (ClutterAnimation *animation)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+
+  if (priv->alpha == NULL)
+    {
+      ClutterAlpha *alpha;
+
+      alpha = clutter_alpha_new ();
+      clutter_alpha_set_mode (alpha, CLUTTER_LINEAR);
+
+      priv->alpha = g_object_ref_sink (alpha);
+
+      g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_ALPHA]);
+    }
+
+  return priv->alpha;
+}
+
+static void
+on_actor_destroy (ClutterActor     *actor,
+                  ClutterAnimation *animation)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+  GObject *obj = G_OBJECT (actor);
+
+  if (obj == priv->object)
+    {
+      g_object_set_qdata (priv->object, quark_object_animation, NULL);
+      g_signal_handlers_disconnect_by_func (priv->object,
+                                            G_CALLBACK (on_actor_destroy),
+                                            animation);
+      g_object_unref (animation);
+    }
+}
+
+static void
+clutter_animation_real_completed (ClutterAnimation *self)
+{
+  ClutterAnimationPrivate *priv = self->priv;
+  ClutterAnimatable *animatable = NULL;
+  ClutterAnimation *animation;
+  ClutterTimeline *timeline;
+  ClutterTimelineDirection direction;
+  gpointer key, value;
+  GHashTableIter iter;
+
+  timeline = clutter_animation_get_timeline (self);
+  direction = clutter_timeline_get_direction (timeline);
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    animatable = CLUTTER_ANIMATABLE (priv->object);
+
+  /* explicitly set the final state of the animation */
+  CLUTTER_NOTE (ANIMATION, "Set final state on object [%p]", priv->object);
+  g_hash_table_iter_init (&iter, priv->properties);
+  while (g_hash_table_iter_next (&iter, &key, &value))
+    {
+      const gchar *p_name = key;
+      ClutterInterval *interval = value;
+      GValue *p_value;
+
+      if (direction == CLUTTER_TIMELINE_FORWARD)
+        p_value = clutter_interval_peek_final_value (interval);
+      else
+        p_value = clutter_interval_peek_initial_value (interval);
+
+      if (animatable != NULL)
+        clutter_animatable_set_final_state (animatable, p_name, p_value);
+      else
+        g_object_set_property (priv->object, p_name, p_value);
+    }
+
+  /* at this point, if this animation was created by clutter_actor_animate()
+   * and friends, the animation will be attached to the object's data; since
+   * we want to allow developers to use g_signal_connect_after("completed")
+   * to concatenate a new animation, we need to remove the animation back
+   * pointer here, and unref() the animation. FIXME - we might want to
+   * provide a clutter_animation_attach()/clutter_animation_detach() pair
+   * to let the user reattach an animation
+   */
+  animation = g_object_get_qdata (priv->object, quark_object_animation);
+  if (animation == self)
+    {
+      CLUTTER_NOTE (ANIMATION, "Unsetting animation for actor [%p]",
+                    priv->object);
+
+      g_object_set_qdata (priv->object, quark_object_animation, NULL);
+      g_signal_handlers_disconnect_by_func (priv->object,
+                                            G_CALLBACK (on_actor_destroy),
+                                            animation);
+
+      CLUTTER_NOTE (ANIMATION, "Releasing the reference Animation [%p]",
+                    animation);
+      g_object_unref (animation);
+    }
+}
+
+static void
+clutter_animation_finalize (GObject *gobject)
+{
+  ClutterAnimationPrivate *priv = CLUTTER_ANIMATION (gobject)->priv;
+
+  CLUTTER_NOTE (ANIMATION,
+                "Destroying properties table for Animation [%p]",
+                gobject);
+  g_hash_table_destroy (priv->properties);
+
+  G_OBJECT_CLASS (clutter_animation_parent_class)->finalize (gobject);
+}
+
+static void
+clutter_animation_dispose (GObject *gobject)
+{
+  ClutterAnimationPrivate *priv = CLUTTER_ANIMATION (gobject)->priv;
+  ClutterTimeline *timeline;
+
+  if (priv->alpha != NULL)
+    timeline = clutter_alpha_get_timeline (priv->alpha);
+  else
+    timeline = priv->timeline;
+
+  if (timeline != NULL && priv->timeline_started_id != 0)
+    g_signal_handler_disconnect (timeline, priv->timeline_started_id);
+
+  if (timeline != NULL && priv->timeline_completed_id != 0)
+    g_signal_handler_disconnect (timeline, priv->timeline_completed_id);
+
+  if (timeline != NULL && priv->timeline_frame_id != 0)
+    g_signal_handler_disconnect (timeline, priv->timeline_frame_id);
+
+  priv->timeline_started_id = 0;
+  priv->timeline_completed_id = 0;
+  priv->timeline_frame_id = 0;
+
+  if (priv->alpha != NULL)
+    {
+      g_object_unref (priv->alpha);
+      priv->alpha = NULL;
+    }
+
+  if (priv->object != NULL)
+    {
+      g_object_unref (priv->object);
+      priv->object = NULL;
+    }
+
+  G_OBJECT_CLASS (clutter_animation_parent_class)->dispose (gobject);
+}
+
+static void
+clutter_animation_set_property (GObject      *gobject,
+                                guint         prop_id,
+                                const GValue *value,
+                                GParamSpec   *pspec)
+{
+  ClutterAnimation *animation = CLUTTER_ANIMATION (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_OBJECT:
+      clutter_animation_set_object (animation, g_value_get_object (value));
+      break;
+
+    case PROP_MODE:
+      clutter_animation_set_mode (animation, g_value_get_ulong (value));
+      break;
+
+    case PROP_DURATION:
+      clutter_animation_set_duration (animation, g_value_get_uint (value));
+      break;
+
+    case PROP_LOOP:
+      clutter_animation_set_loop (animation, g_value_get_boolean (value));
+      break;
+
+    case PROP_TIMELINE:
+      clutter_animation_set_timeline (animation, g_value_get_object (value));
+      break;
+
+    case PROP_ALPHA:
+      clutter_animation_set_alpha_internal (animation, g_value_get_object (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_animation_get_property (GObject    *gobject,
+                                guint       prop_id,
+                                GValue     *value,
+                                GParamSpec *pspec)
+{
+  ClutterAnimation *animation = CLUTTER_ANIMATION (gobject);
+  ClutterAnimationPrivate *priv = animation->priv;
+
+  switch (prop_id)
+    {
+    case PROP_OBJECT:
+      g_value_set_object (value, priv->object);
+      break;
+
+    case PROP_MODE:
+      g_value_set_ulong (value, clutter_animation_get_mode (animation));
+      break;
+
+    case PROP_DURATION:
+      g_value_set_uint (value, clutter_animation_get_duration (animation));
+      break;
+
+    case PROP_LOOP:
+      g_value_set_boolean (value, clutter_animation_get_loop (animation));
+      break;
+
+    case PROP_TIMELINE:
+      g_value_set_object (value, clutter_animation_get_timeline (animation));
+      break;
+
+    case PROP_ALPHA:
+      g_value_set_object (value, clutter_animation_get_alpha_internal (animation));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static gboolean
+clutter_animation_parse_custom_node (ClutterScriptable *scriptable,
+                                     ClutterScript     *script,
+                                     GValue            *value,
+                                     const gchar       *name,
+                                     JsonNode          *node)
+{
+  if (strncmp (name, "mode", 4) == 0)
+    {
+      gulong mode;
+
+      mode = _clutter_script_resolve_animation_mode (node);
+
+      g_value_init (value, G_TYPE_ULONG);
+      g_value_set_ulong (value, mode);
+
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static void
+clutter_scriptable_init (ClutterScriptableIface *iface)
+{
+  iface->parse_custom_node = clutter_animation_parse_custom_node;
+}
+
+static void
+clutter_animation_class_init (ClutterAnimationClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  quark_object_animation =
+    g_quark_from_static_string ("clutter-actor-animation");
+
+  g_type_class_add_private (klass, sizeof (ClutterAnimationPrivate));
+
+  klass->completed = clutter_animation_real_completed;
+
+  gobject_class->set_property = clutter_animation_set_property;
+  gobject_class->get_property = clutter_animation_get_property;
+  gobject_class->dispose = clutter_animation_dispose;
+  gobject_class->finalize = clutter_animation_finalize;
+
+  /**
+   * ClutterAnimation:object:
+   *
+   * The #GObject to which the animation applies.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  obj_props[PROP_OBJECT] =
+    g_param_spec_object ("object",
+                         P_("Object"),
+                         P_("Object to which the animation applies"),
+                         G_TYPE_OBJECT,
+                         CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAnimation:mode:
+   *
+   * The animation mode, either a value from #ClutterAnimationMode
+   * or a value returned by clutter_alpha_register_func(). The
+   * default value is %CLUTTER_LINEAR.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  obj_props[PROP_MODE] =
+    g_param_spec_ulong ("mode",
+                        P_("Mode"),
+                        P_("The mode of the animation"),
+                        0, G_MAXULONG,
+                        CLUTTER_LINEAR,
+                        CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAnimation:duration:
+   *
+   * The duration of the animation, expressed in milliseconds.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  obj_props[PROP_DURATION] =
+    g_param_spec_uint ("duration",
+                       P_("Duration"),
+                       P_("Duration of the animation, in milliseconds"),
+                       0, G_MAXUINT,
+                       0,
+                       CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAnimation:loop:
+   *
+   * Whether the animation should loop.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  obj_props[PROP_LOOP] =
+    g_param_spec_boolean ("loop",
+                          P_("Loop"),
+                          P_("Whether the animation should loop"),
+                          FALSE,
+                          CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAnimation:timeline:
+   *
+   * The #ClutterTimeline used by the animation.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  obj_props[PROP_TIMELINE] =
+    g_param_spec_object ("timeline",
+                         P_("Timeline"),
+                         P_("The timeline used by the animation"),
+                         CLUTTER_TYPE_TIMELINE,
+                         CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAnimation:alpha:
+   *
+   * The #ClutterAlpha used by the animation.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.10: Use the #ClutterAnimation:timeline property and
+   *   the #ClutterTimeline:progress-mode property instead.
+   */
+  obj_props[PROP_ALPHA] =
+    g_param_spec_object ("alpha",
+                         P_("Alpha"),
+                         P_("The alpha used by the animation"),
+                         CLUTTER_TYPE_ALPHA,
+                         CLUTTER_PARAM_READWRITE | G_PARAM_DEPRECATED);
+
+  g_object_class_install_properties (gobject_class,
+                                     PROP_LAST,
+                                     obj_props);
+
+  /**
+   * ClutterAnimation::started:
+   * @animation: the animation that emitted the signal
+   *
+   * The ::started signal is emitted once the animation has been
+   * started
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  animation_signals[STARTED] =
+    g_signal_new (I_("started"),
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (ClutterAnimationClass, started),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+
+  /**
+   * ClutterAnimation::completed:
+   * @animation: the animation that emitted the signal
+   *
+   * The ::completed signal is emitted once the animation has
+   * been completed.
+   *
+   * The @animation instance is guaranteed to be valid for the entire
+   * duration of the signal emission chain.
+   *
+   * Since: 1.0
+   * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+   */
+  animation_signals[COMPLETED] =
+    g_signal_new (I_("completed"),
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (ClutterAnimationClass, completed),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+}
+
+static void
+clutter_animation_init (ClutterAnimation *self)
+{
+  self->priv = CLUTTER_ANIMATION_GET_PRIVATE (self);
+
+  self->priv->properties =
+    g_hash_table_new_full (g_str_hash, g_str_equal,
+                           (GDestroyNotify) g_free,
+                           (GDestroyNotify) g_object_unref);
+}
+
+static inline void
+clutter_animation_bind_property_internal (ClutterAnimation *animation,
+                                          const gchar      *property_name,
+                                          GParamSpec       *pspec,
+                                          ClutterInterval  *interval)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+
+  if (!clutter_interval_validate (interval, pspec))
+    {
+      g_warning ("Cannot bind property '%s': the interval is out "
+                 "of bounds",
+                 property_name);
+      return;
+    }
+
+  g_hash_table_insert (priv->properties,
+                       g_strdup (property_name),
+                       g_object_ref_sink (interval));
+}
+
+static inline void
+clutter_animation_update_property_internal (ClutterAnimation *animation,
+                                            const gchar      *property_name,
+                                            GParamSpec       *pspec,
+                                            ClutterInterval  *interval)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+
+  if (!clutter_interval_validate (interval, pspec))
+    {
+      g_warning ("Cannot bind property '%s': the interval is out "
+                 "of bounds",
+                 property_name);
+      return;
+    }
+
+  g_hash_table_replace (priv->properties,
+                        g_strdup (property_name),
+                        g_object_ref_sink (interval));
+}
+
+static GParamSpec *
+clutter_animation_validate_bind (ClutterAnimation *animation,
+                                 const char       *property_name,
+                                 GType             argtype)
+{
+  ClutterAnimationPrivate *priv;
+  GParamSpec *pspec;
+  GType pspec_type;
+
+  priv = animation->priv;
+
+  if (G_UNLIKELY (!priv->object))
+    {
+      g_warning ("Cannot bind property '%s': the animation has no "
+                 "object set. You need to call clutter_animation_set_object() "
+                 "first to be able to bind a property",
+                 property_name);
+      return NULL;
+    }
+
+  if (G_UNLIKELY (clutter_animation_has_property (animation, property_name)))
+    {
+      g_warning ("Cannot bind property '%s': the animation already has "
+                 "a bound property with the same name",
+                 property_name);
+      return NULL;
+    }
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    {
+      ClutterAnimatable *animatable = CLUTTER_ANIMATABLE (priv->object);
+
+      pspec = clutter_animatable_find_property (animatable, property_name);
+    }
+  else
+    {
+      GObjectClass *klass = G_OBJECT_GET_CLASS (priv->object);
+
+      pspec = g_object_class_find_property (klass, property_name);
+    }
+
+  if (pspec == NULL)
+    {
+      g_warning ("Cannot bind property '%s': objects of type '%s' have "
+                 "no such property",
+                 property_name,
+                 g_type_name (G_OBJECT_TYPE (priv->object)));
+      return NULL;
+    }
+
+  if (!(pspec->flags & G_PARAM_WRITABLE))
+    {
+      g_warning ("Cannot bind property '%s': the property is not writable",
+                 property_name);
+      return NULL;
+    }
+
+  pspec_type = G_PARAM_SPEC_VALUE_TYPE (pspec);
+
+  if (g_value_type_transformable (argtype, pspec_type))
+    return pspec;
+  else
+    {
+      g_warning ("Cannot bind property '%s': the interval value of "
+                 "type '%s' is not compatible with the property value "
+                 "of type '%s'",
+                 property_name,
+                 g_type_name (argtype),
+                 g_type_name (pspec_type));
+      return NULL;
+    }
+}
+
+/**
+ * clutter_animation_bind_interval:
+ * @animation: a #ClutterAnimation
+ * @property_name: the property to control
+ * @interval: (transfer full): a #ClutterInterval
+ *
+ * Binds @interval to the @property_name of the #GObject
+ * attached to @animation. The #ClutterAnimation will take
+ * ownership of the passed #ClutterInterval.  For more information
+ * about animations, see clutter_actor_animate().
+ *
+ * If you need to update the interval instance use
+ * clutter_animation_update_interval() instead.
+ *
+ * Return value: (transfer none): The animation itself.
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+ClutterAnimation *
+clutter_animation_bind_interval (ClutterAnimation *animation,
+                                 const gchar      *property_name,
+                                 ClutterInterval  *interval)
+{
+  GParamSpec *pspec;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+  g_return_val_if_fail (property_name != NULL, NULL);
+  g_return_val_if_fail (CLUTTER_IS_INTERVAL (interval), NULL);
+
+  pspec = clutter_animation_validate_bind (animation, property_name,
+                                           clutter_interval_get_value_type (interval));
+  if (pspec == NULL)
+    return NULL;
+
+  clutter_animation_bind_property_internal (animation, property_name,
+                                            pspec,
+                                            interval);
+
+  return animation;
+}
+
+
+/**
+ * clutter_animation_bind:
+ * @animation: a #ClutterAnimation
+ * @property_name: the property to control
+ * @final: The final value of the property
+ *
+ * Adds a single property with name @property_name to the
+ * animation @animation.  For more information about animations,
+ * see clutter_actor_animate().
+ *
+ * This method returns the animation primarily to make chained
+ * calls convenient in language bindings.
+ *
+ * Return value: (transfer none): The animation itself.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+ClutterAnimation *
+clutter_animation_bind (ClutterAnimation *animation,
+                        const gchar      *property_name,
+                        const GValue     *final)
+{
+  ClutterAnimationPrivate *priv;
+  GParamSpec *pspec;
+  ClutterInterval *interval;
+  GType type;
+  GValue initial = G_VALUE_INIT;
+  GValue real_final = G_VALUE_INIT;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+  g_return_val_if_fail (property_name != NULL, NULL);
+
+  priv = animation->priv;
+
+  type = G_VALUE_TYPE (final);
+  pspec = clutter_animation_validate_bind (animation, property_name, type);
+  if (pspec == NULL)
+    return NULL;
+
+  g_value_init (&real_final, G_PARAM_SPEC_VALUE_TYPE (pspec));
+  if (!g_value_transform (final, &real_final))
+    {
+      g_value_unset (&real_final);
+      g_warning ("Unable to transform the value of type '%s' to a value "
+                 "of '%s' compatible with the property '%s'of the object "
+                 "of type '%s'",
+                 g_type_name (type),
+                 g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)),
+                 property_name,
+                 G_OBJECT_TYPE_NAME (priv->object));
+      return NULL;
+    }
+
+  g_value_init (&initial, G_PARAM_SPEC_VALUE_TYPE (pspec));
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    clutter_animatable_get_initial_state (CLUTTER_ANIMATABLE (priv->object),
+                                          property_name,
+                                          &initial);
+  else
+    g_object_get_property (priv->object, property_name, &initial);
+
+  interval = clutter_interval_new_with_values (G_PARAM_SPEC_VALUE_TYPE (pspec),
+                                               &initial,
+                                               &real_final);
+
+  g_value_unset (&initial);
+  g_value_unset (&real_final);
+
+  clutter_animation_bind_property_internal (animation, property_name,
+                                            pspec,
+                                            interval);
+
+  return animation;
+}
+
+
+/**
+ * clutter_animation_unbind_property:
+ * @animation: a #ClutterAnimation
+ * @property_name: name of the property
+ *
+ * Removes @property_name from the list of animated properties.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_unbind_property (ClutterAnimation *animation,
+                                   const gchar      *property_name)
+{
+  ClutterAnimationPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+  g_return_if_fail (property_name != NULL);
+
+  priv = animation->priv;
+
+  if (!clutter_animation_has_property (animation, property_name))
+    {
+      g_warning ("Cannot unbind property '%s': the animation has "
+                 "no bound property with that name",
+                 property_name);
+      return;
+    }
+
+  g_hash_table_remove (priv->properties, property_name);
+}
+
+/**
+ * clutter_animation_has_property:
+ * @animation: a #ClutterAnimation
+ * @property_name: name of the property
+ *
+ * Checks whether @animation is controlling @property_name.
+ *
+ * Return value: %TRUE if the property is animated by the
+ *   #ClutterAnimation, %FALSE otherwise
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+gboolean
+clutter_animation_has_property (ClutterAnimation *animation,
+                                const gchar      *property_name)
+{
+  ClutterAnimationPrivate *priv;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), FALSE);
+  g_return_val_if_fail (property_name != NULL, FALSE);
+
+  priv = animation->priv;
+
+  return g_hash_table_lookup (priv->properties, property_name) != NULL;
+}
+
+/**
+ * clutter_animation_update_interval:
+ * @animation: a #ClutterAnimation
+ * @property_name: name of the property
+ * @interval: a #ClutterInterval
+ *
+ * Changes the @interval for @property_name. The #ClutterAnimation
+ * will take ownership of the passed #ClutterInterval.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_update_interval (ClutterAnimation *animation,
+                                   const gchar      *property_name,
+                                   ClutterInterval  *interval)
+{
+  ClutterAnimationPrivate *priv;
+  GParamSpec *pspec;
+  GType pspec_type, int_type;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+  g_return_if_fail (property_name != NULL);
+  g_return_if_fail (CLUTTER_IS_INTERVAL (interval));
+
+  priv = animation->priv;
+
+  if (!clutter_animation_has_property (animation, property_name))
+    {
+      g_warning ("Cannot update property '%s': the animation has "
+                 "no bound property with that name",
+                 property_name);
+      return;
+    }
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    {
+      ClutterAnimatable *animatable = CLUTTER_ANIMATABLE (priv->object);
+
+      pspec = clutter_animatable_find_property (animatable, property_name);
+    }
+  else
+    {
+      GObjectClass *klass = G_OBJECT_GET_CLASS (priv->object);
+
+      pspec = g_object_class_find_property (klass, property_name);
+    }
+
+  if (pspec == NULL)
+    {
+      g_warning ("Cannot update property '%s': objects of type '%s' have "
+                 "no such property",
+                 property_name,
+                 g_type_name (G_OBJECT_TYPE (priv->object)));
+      return;
+    }
+
+  pspec_type = G_PARAM_SPEC_VALUE_TYPE (pspec);
+  int_type = clutter_interval_get_value_type (interval);
+
+  if (!g_value_type_compatible (int_type, pspec_type) ||
+      !g_value_type_transformable (int_type, pspec_type))
+    {
+      g_warning ("Cannot update property '%s': the interval value of "
+                 "type '%s' is not compatible with the property value "
+                 "of type '%s'",
+                 property_name,
+                 g_type_name (int_type),
+                 g_type_name (pspec_type));
+      return;
+    }
+
+  clutter_animation_update_property_internal (animation, property_name,
+                                              pspec,
+                                              interval);
+}
+
+/**
+ * clutter_animation_update:
+ * @animation: a #ClutterAnimation
+ * @property_name: name of the property
+ * @final: The final value of the property
+ *
+ * Updates the @final value of the interval for @property_name
+ *
+ * Return value: (transfer none): The animation itself.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+ClutterAnimation *
+clutter_animation_update (ClutterAnimation *animation,
+                          const gchar      *property_name,
+                          const GValue     *final)
+{
+  ClutterInterval *interval;
+  GType int_type;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+  g_return_val_if_fail (property_name != NULL, NULL);
+  g_return_val_if_fail (final != NULL, NULL);
+  g_return_val_if_fail (G_VALUE_TYPE (final) != G_TYPE_INVALID, NULL);
+
+  interval = clutter_animation_get_interval (animation, property_name);
+  if (interval == NULL)
+    {
+      g_warning ("Cannot update property '%s': the animation has "
+                 "no bound property with that name",
+                 property_name);
+      return NULL;
+    }
+
+  int_type = clutter_interval_get_value_type (interval);
+
+  if (!g_value_type_compatible (G_VALUE_TYPE (final), int_type) ||
+      !g_value_type_transformable (G_VALUE_TYPE (final), int_type))
+    {
+      g_warning ("Cannot update property '%s': the interval value of "
+                 "type '%s' is not compatible with the property value "
+                 "of type '%s'",
+                 property_name,
+                 g_type_name (int_type),
+                 g_type_name (G_VALUE_TYPE (final)));
+      return NULL;
+    }
+
+  clutter_interval_set_final_value (interval, final);
+
+  return animation;
+}
+
+/**
+ * clutter_animation_get_interval:
+ * @animation: a #ClutterAnimation
+ * @property_name: name of the property
+ *
+ * Retrieves the #ClutterInterval associated to @property_name
+ * inside @animation.
+ *
+ * Return value: (transfer none): a #ClutterInterval or %NULL if no
+ *   property with the same name was found. The returned interval is
+ *   owned by the #ClutterAnimation and should not be unreferenced
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+ClutterInterval *
+clutter_animation_get_interval (ClutterAnimation *animation,
+                                const gchar      *property_name)
+{
+  ClutterAnimationPrivate *priv;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+  g_return_val_if_fail (property_name != NULL, NULL);
+
+  priv = animation->priv;
+
+  return g_hash_table_lookup (priv->properties, property_name);
+}
+
+static void
+on_timeline_started (ClutterTimeline  *timeline,
+                     ClutterAnimation *animation)
+{
+  g_signal_emit (animation, animation_signals[STARTED], 0);
+}
+
+static void
+on_timeline_completed (ClutterTimeline  *timeline,
+                       ClutterAnimation *animation)
+{
+  CLUTTER_NOTE (ANIMATION, "Timeline [%p] complete", timeline);
+
+  if (!clutter_animation_get_loop (animation))
+    g_signal_emit (animation, animation_signals[COMPLETED], 0);
+}
+
+static void
+on_timeline_frame (ClutterTimeline  *timeline,
+                   gint              elapsed,
+                   ClutterAnimation *animation)
+{
+  ClutterAnimationPrivate *priv;
+  GList *properties, *p;
+  gdouble alpha_value;
+  gboolean is_animatable = FALSE;
+  ClutterAnimatable *animatable = NULL;
+
+  /* make sure the animation survives the notification */
+  g_object_ref (animation);
+
+  priv = animation->priv;
+
+  if (priv->alpha != NULL)
+    alpha_value = clutter_alpha_get_alpha (priv->alpha);
+  else
+    alpha_value = clutter_timeline_get_progress (priv->timeline);
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    {
+      animatable = CLUTTER_ANIMATABLE (priv->object);
+      is_animatable = TRUE;
+    }
+
+  g_object_freeze_notify (priv->object);
+
+  properties = g_hash_table_get_keys (priv->properties);
+  for (p = properties; p != NULL; p = p->next)
+    {
+      const gchar *p_name = p->data;
+      ClutterInterval *interval;
+      GValue value = G_VALUE_INIT;
+      gboolean apply;
+
+      interval = g_hash_table_lookup (priv->properties, p_name);
+      g_assert (CLUTTER_IS_INTERVAL (interval));
+
+      g_value_init (&value, clutter_interval_get_value_type (interval));
+
+      if (is_animatable)
+        {
+          apply = clutter_animatable_interpolate_value (animatable, p_name,
+                                                        interval,
+                                                        alpha_value,
+                                                        &value);
+        }
+      else
+        {
+          apply = clutter_interval_compute_value (interval,
+                                                  alpha_value,
+                                                  &value);
+        }
+
+      if (apply)
+        {
+          if (is_animatable)
+            clutter_animatable_set_final_state (animatable, p_name, &value);
+          else
+            g_object_set_property (priv->object, p_name, &value);
+        }
+
+      g_value_unset (&value);
+    }
+
+  g_list_free (properties);
+
+  g_object_thaw_notify (priv->object);
+
+  g_object_unref (animation);
+}
+
+static ClutterTimeline *
+clutter_animation_get_timeline_internal (ClutterAnimation *animation)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+  ClutterTimeline *timeline;
+
+  if (priv->timeline != NULL)
+    return priv->timeline;
+
+  if (priv->alpha != NULL)
+    {
+      timeline = clutter_alpha_get_timeline (priv->alpha);
+      if (timeline != NULL)
+        return timeline;
+    }
+
+  timeline = g_object_new (CLUTTER_TYPE_TIMELINE, NULL);
+
+  priv->timeline_started_id =
+    g_signal_connect (timeline, "started",
+                      G_CALLBACK (on_timeline_started),
+                      animation);
+
+  priv->timeline_completed_id =
+    g_signal_connect (timeline, "completed",
+                      G_CALLBACK (on_timeline_completed),
+                      animation);
+
+  priv->timeline_frame_id =
+    g_signal_connect (timeline, "new-frame",
+                      G_CALLBACK (on_timeline_frame),
+                      animation);
+
+  if (priv->alpha != NULL)
+    {
+      clutter_alpha_set_timeline (priv->alpha, timeline);
+
+      /* the alpha owns the timeline now */
+      g_object_unref (timeline);
+    }
+
+  priv->timeline = timeline;
+
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_TIMELINE]);
+
+  return priv->timeline;
+}
+
+static void
+clutter_animation_set_alpha_internal (ClutterAnimation *animation,
+                                      ClutterAlpha     *alpha)
+{
+  ClutterAnimationPrivate *priv;
+  ClutterTimeline *timeline;
+
+  priv = animation->priv;
+
+  if (priv->alpha == alpha)
+    return;
+
+  g_object_freeze_notify (G_OBJECT (animation));
+
+  if (priv->alpha != NULL)
+    timeline = clutter_alpha_get_timeline (priv->alpha);
+  else
+    timeline = NULL;
+
+  /* disconnect the old timeline first */
+  if (timeline != NULL && priv->timeline_started_id != 0)
+    {
+      g_signal_handler_disconnect (timeline, priv->timeline_started_id);
+      priv->timeline_started_id = 0;
+    }
+
+  if (timeline != NULL && priv->timeline_completed_id != 0)
+    {
+      g_signal_handler_disconnect (timeline, priv->timeline_completed_id);
+      priv->timeline_completed_id = 0;
+    }
+
+  /* then we need to disconnect the signal handler from the old alpha */
+  if (timeline != NULL && priv->timeline_frame_id != 0)
+    {
+      g_signal_handler_disconnect (timeline, priv->timeline_frame_id);
+      priv->timeline_frame_id = 0;
+    }
+
+  if (priv->alpha != NULL)
+    {
+      /* this will take care of any reference we hold on the timeline */
+      g_object_unref (priv->alpha);
+      priv->alpha = NULL;
+    }
+
+  if (alpha == NULL)
+    goto out;
+
+  priv->alpha = g_object_ref_sink (alpha);
+
+  /* if the alpha has a timeline then we use it, otherwise we create one */
+  timeline = clutter_alpha_get_timeline (priv->alpha);
+  if (timeline != NULL)
+    {
+      priv->timeline_started_id =
+        g_signal_connect (timeline, "started",
+                          G_CALLBACK (on_timeline_started),
+                          animation);
+      priv->timeline_completed_id =
+        g_signal_connect (timeline, "completed",
+                          G_CALLBACK (on_timeline_completed),
+                          animation);
+      priv->timeline_frame_id =
+        g_signal_connect (timeline, "new-frame",
+                          G_CALLBACK (on_timeline_frame),
+                          animation);
+    }
+  else
+    {
+      /* FIXME - add a create_timeline_internal() because this does
+       * not look very good
+       */
+      (void) clutter_animation_get_timeline_internal (animation);
+    }
+
+out:
+  /* emit all relevant notifications */
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_MODE]);
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_DURATION]);
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_LOOP]);
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_ALPHA]);
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_TIMELINE]);
+
+  g_object_thaw_notify (G_OBJECT (animation));
+}
+
+/**
+ * clutter_animation_new:
+ *
+ * Creates a new #ClutterAnimation instance. You should set the
+ * #GObject to be animated using clutter_animation_set_object(),
+ * set the duration with clutter_animation_set_duration() and the
+ * easing mode using clutter_animation_set_mode().
+ *
+ * Use clutter_animation_bind() or clutter_animation_bind_interval()
+ * to define the properties to be animated. The interval and the
+ * animated properties can be updated at runtime.
+ *
+ * The clutter_actor_animate() and relative family of functions provide
+ * an easy way to animate a #ClutterActor and automatically manage the
+ * lifetime of a #ClutterAnimation instance, so you should consider using
+ * those functions instead of manually creating an animation.
+ *
+ * Return value: the newly created #ClutterAnimation. Use g_object_unref()
+ *   to release the associated resources
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+ClutterAnimation *
+clutter_animation_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_ANIMATION, NULL);
+}
+
+/**
+ * clutter_animation_set_object:
+ * @animation: a #ClutterAnimation
+ * @object: a #GObject
+ *
+ * Attaches @animation to @object. The #ClutterAnimation will take a
+ * reference on @object.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_set_object (ClutterAnimation *animation,
+                              GObject          *object)
+{
+  ClutterAnimationPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+  g_return_if_fail (object == NULL || G_IS_OBJECT (object));
+
+  priv = animation->priv;
+
+  if (priv->object != NULL)
+    {
+      g_object_set_qdata (priv->object, quark_object_animation, NULL);
+
+      g_object_unref (priv->object);
+      priv->object = NULL;
+    }
+
+  if (object != NULL)
+    priv->object = g_object_ref (object);
+
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_OBJECT]);
+}
+
+/**
+ * clutter_animation_get_object:
+ * @animation: a #ClutterAnimation
+ *
+ * Retrieves the #GObject attached to @animation.
+ *
+ * Return value: (transfer none): a #GObject
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+GObject *
+clutter_animation_get_object (ClutterAnimation *animation)
+{
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+
+  return animation->priv->object;
+}
+
+/**
+ * clutter_animation_set_mode:
+ * @animation: a #ClutterAnimation
+ * @mode: an animation mode logical id
+ *
+ * Sets the animation @mode of @animation. The animation @mode is
+ * a logical id, either coming from the #ClutterAnimationMode enumeration
+ * or the return value of clutter_alpha_register_func().
+ *
+ * This function will also set #ClutterAnimation:alpha if needed.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_set_mode (ClutterAnimation *animation,
+                            gulong            mode)
+{
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+
+  g_object_freeze_notify (G_OBJECT (animation));
+
+  if (animation->priv->alpha != NULL || mode > CLUTTER_ANIMATION_LAST)
+    {
+      ClutterAlpha *alpha;
+
+      if (animation->priv->alpha == NULL)
+        alpha = clutter_animation_get_alpha_internal (animation);
+      else
+        alpha = animation->priv->alpha;
+
+      clutter_alpha_set_mode (alpha, mode);
+    }
+  else
+    {
+      ClutterTimeline *timeline;
+
+      timeline = clutter_animation_get_timeline_internal (animation);
+
+      clutter_timeline_set_progress_mode (timeline, mode);
+    }
+
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_MODE]);
+
+  g_object_thaw_notify (G_OBJECT (animation));
+}
+
+/**
+ * clutter_animation_get_mode:
+ * @animation: a #ClutterAnimation
+ *
+ * Retrieves the animation mode of @animation, as set by
+ * clutter_animation_set_mode().
+ *
+ * Return value: the mode for the animation
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+gulong
+clutter_animation_get_mode (ClutterAnimation *animation)
+{
+  ClutterTimeline *timeline;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), CLUTTER_LINEAR);
+
+  if (animation->priv->alpha != NULL)
+    return clutter_alpha_get_mode (animation->priv->alpha);
+
+  timeline = clutter_animation_get_timeline_internal (animation);
+
+  return clutter_timeline_get_progress_mode (timeline);
+}
+
+/**
+ * clutter_animation_set_duration:
+ * @animation: a #ClutterAnimation
+ * @msecs: the duration in milliseconds
+ *
+ * Sets the duration of @animation in milliseconds.
+ *
+ * This function will set #ClutterAnimation:alpha and
+ * #ClutterAnimation:timeline if needed.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_set_duration (ClutterAnimation *animation,
+                                guint             msecs)
+{
+  ClutterTimeline *timeline;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+
+  g_object_freeze_notify (G_OBJECT (animation));
+
+  timeline = clutter_animation_get_timeline_internal (animation);
+  clutter_timeline_set_duration (timeline, msecs);
+  clutter_timeline_rewind (timeline);
+
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_DURATION]);
+
+  g_object_thaw_notify (G_OBJECT (animation));
+}
+
+/**
+ * clutter_animation_set_loop:
+ * @animation: a #ClutterAnimation
+ * @loop: %TRUE if the animation should loop
+ *
+ * Sets whether @animation should loop over itself once finished.
+ *
+ * A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
+ * signal when finished.
+ *
+ * This function will set #ClutterAnimation:alpha and
+ * #ClutterAnimation:timeline if needed.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_set_loop (ClutterAnimation *animation,
+                            gboolean          loop)
+{
+  ClutterTimeline *timeline;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+
+  g_object_freeze_notify (G_OBJECT (animation));
+
+  timeline = clutter_animation_get_timeline_internal (animation);
+  clutter_timeline_set_repeat_count (timeline, loop ? -1 : 0);
+
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_LOOP]);
+
+  g_object_thaw_notify (G_OBJECT (animation));
+}
+
+/**
+ * clutter_animation_get_loop:
+ * @animation: a #ClutterAnimation
+ *
+ * Retrieves whether @animation is looping.
+ *
+ * Return value: %TRUE if the animation is looping
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+gboolean
+clutter_animation_get_loop (ClutterAnimation *animation)
+{
+  ClutterTimeline *timeline;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), FALSE);
+
+  timeline = clutter_animation_get_timeline_internal (animation);
+
+  return clutter_timeline_get_repeat_count (timeline) != 0;
+}
+
+/**
+ * clutter_animation_get_duration:
+ * @animation: a #ClutterAnimation
+ *
+ * Retrieves the duration of @animation, in milliseconds.
+ *
+ * Return value: the duration of the animation
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+guint
+clutter_animation_get_duration (ClutterAnimation *animation)
+{
+  ClutterTimeline *timeline;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), 0);
+
+  timeline = clutter_animation_get_timeline_internal (animation);
+
+  return clutter_timeline_get_duration (timeline);
+}
+
+/**
+ * clutter_animation_set_timeline:
+ * @animation: a #ClutterAnimation
+ * @timeline: (allow-none): a #ClutterTimeline, or %NULL to unset the
+ *   current #ClutterTimeline
+ *
+ * Sets the #ClutterTimeline used by @animation.
+ *
+ * This function will take a reference on the passed @timeline.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_set_timeline (ClutterAnimation *animation,
+                                ClutterTimeline  *timeline)
+{
+  ClutterAnimationPrivate *priv;
+  ClutterTimeline *cur_timeline;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+  g_return_if_fail (timeline == NULL || CLUTTER_IS_TIMELINE (timeline));
+
+  priv = animation->priv;
+
+  if (priv->alpha != NULL)
+    cur_timeline = clutter_alpha_get_timeline (priv->alpha);
+  else
+    cur_timeline = priv->timeline;
+
+  if (cur_timeline == timeline)
+    return;
+
+  g_object_freeze_notify (G_OBJECT (animation));
+
+  if (cur_timeline != NULL && priv->timeline_started_id != 0)
+    g_signal_handler_disconnect (cur_timeline, priv->timeline_started_id);
+
+  if (cur_timeline != NULL && priv->timeline_completed_id != 0)
+    g_signal_handler_disconnect (cur_timeline, priv->timeline_completed_id);
+
+  if (cur_timeline != NULL && priv->timeline_frame_id != 0)
+    g_signal_handler_disconnect (cur_timeline, priv->timeline_frame_id);
+
+  priv->timeline_started_id = 0;
+  priv->timeline_completed_id = 0;
+  priv->timeline_frame_id = 0;
+
+  /* Release previously set timeline if any */
+  g_clear_object (&priv->timeline);
+
+  if (priv->alpha != NULL)
+    clutter_alpha_set_timeline (priv->alpha, timeline);
+  else
+    {
+      /* Hold a reference to the timeline if it's not reffed by the priv->alpha */
+      priv->timeline = timeline;
+
+      if (priv->timeline)
+       g_object_ref (priv->timeline);
+    }
+
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_TIMELINE]);
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_DURATION]);
+  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_LOOP]);
+
+  if (timeline != NULL)
+    {
+      priv->timeline_started_id =
+        g_signal_connect (timeline, "started",
+                          G_CALLBACK (on_timeline_started),
+                          animation);
+      priv->timeline_completed_id =
+        g_signal_connect (timeline, "completed",
+                          G_CALLBACK (on_timeline_completed),
+                          animation);
+      priv->timeline_frame_id =
+        g_signal_connect (timeline, "new-frame",
+                          G_CALLBACK (on_timeline_frame),
+                          animation);
+    }
+
+  g_object_thaw_notify (G_OBJECT (animation));
+}
+
+/**
+ * clutter_animation_get_timeline:
+ * @animation: a #ClutterAnimation
+ *
+ * Retrieves the #ClutterTimeline used by @animation
+ *
+ * Return value: (transfer none): the timeline used by the animation
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+ClutterTimeline *
+clutter_animation_get_timeline (ClutterAnimation *animation)
+{
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+
+  return clutter_animation_get_timeline_internal (animation);
+}
+
+/**
+ * clutter_animation_set_alpha:
+ * @animation: a #ClutterAnimation
+ * @alpha: a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha
+ *
+ * Sets @alpha as the #ClutterAlpha used by @animation.
+ *
+ * If @alpha is not %NULL, the #ClutterAnimation will take ownership
+ * of the #ClutterAlpha instance.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_animation_get_timeline() and
+ *   clutter_timeline_set_progress_mode() instead.
+ */
+void
+clutter_animation_set_alpha (ClutterAnimation *animation,
+                             ClutterAlpha     *alpha)
+{
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+  g_return_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha));
+
+  clutter_animation_set_alpha_internal (animation, alpha);
+}
+
+/**
+ * clutter_animation_get_alpha:
+ * @animation: a #ClutterAnimation
+ *
+ * Retrieves the #ClutterAlpha used by @animation.
+ *
+ * Return value: (transfer none): the alpha object used by the animation
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_animation_get_timeline() and
+ *   clutter_timeline_get_progress_mode() instead.
+ */
+ClutterAlpha *
+clutter_animation_get_alpha (ClutterAnimation *animation)
+{
+  g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), NULL);
+
+  return clutter_animation_get_alpha_internal (animation);
+}
+
+/**
+ * clutter_animation_completed:
+ * @animation: a #ClutterAnimation
+ *
+ * Emits the ::completed signal on @animation
+ *
+ * When using this function with a #ClutterAnimation created
+ * by the clutter_actor_animate() family of functions, @animation
+ * will be unreferenced and it will not be valid anymore,
+ * unless g_object_ref() was called before calling this function
+ * or unless a reference was taken inside a handler for the
+ * #ClutterAnimation::completed signal
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterPropertyTransition instead
+ */
+void
+clutter_animation_completed (ClutterAnimation *animation)
+{
+  g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
+
+  g_signal_emit (animation, animation_signals[COMPLETED], 0);
+}
+
+/*
+ * starts the timeline
+ */
+static void
+clutter_animation_start (ClutterAnimation *animation)
+{
+  ClutterTimeline *timeline;
+
+  timeline = clutter_animation_get_timeline_internal (animation);
+
+  if (G_LIKELY (timeline != NULL))
+    clutter_timeline_start (timeline);
+  else
+    {
+      /* sanity check */
+      g_warning (G_STRLOC ": no timeline found, unable to start the animation");
+    }
+}
+
+static void
+clutter_animation_setup_property (ClutterAnimation *animation,
+                                  const gchar      *property_name,
+                                  const GValue     *value,
+                                  GParamSpec       *pspec,
+                                  gboolean          is_fixed)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+  GValue real_value = G_VALUE_INIT;
+
+  if (pspec->flags & G_PARAM_CONSTRUCT_ONLY)
+    {
+      g_warning ("Cannot bind property '%s': the property is "
+                 "construct-only",
+                 property_name);
+      return;
+    }
+
+  if (!(pspec->flags & G_PARAM_WRITABLE))
+    {
+      g_warning ("Cannot bind property '%s': the property is "
+                 "not writable",
+                 property_name);
+      return;
+    }
+
+  /* initialize the real value that will be used to store the
+   * final state of the animation
+   */
+  g_value_init (&real_value, G_PARAM_SPEC_VALUE_TYPE (pspec));
+
+  /* if it's not the same type of the GParamSpec value, try to
+   * convert it using the GValue transformation API, otherwise
+   * just copy it
+   */
+  if (!g_type_is_a (G_VALUE_TYPE (value), G_VALUE_TYPE (&real_value)))
+    {
+      /* are these two types compatible (can be directly copied)? */
+      if (g_value_type_compatible (G_VALUE_TYPE (value),
+                                   G_VALUE_TYPE (&real_value)))
+        {
+          g_value_copy (value, &real_value);
+          goto done;
+        }
+
+      /* are these two type transformable? */
+      if (g_value_type_transformable (G_VALUE_TYPE (value),
+                                      G_VALUE_TYPE (&real_value)))
+        {
+          if (g_value_transform (value, &real_value))
+            goto done;
+        }
+
+      /* if not compatible and not transformable then we can't do much */
+      g_warning ("%s: Unable to convert from %s to %s for "
+                 "the property '%s' of object %s",
+                 G_STRLOC,
+                 g_type_name (G_VALUE_TYPE (value)),
+                 g_type_name (G_VALUE_TYPE (&real_value)),
+                 property_name,
+                 G_OBJECT_TYPE_NAME (priv->object));
+      g_value_unset (&real_value);
+      return;
+    }
+  else
+    g_value_copy (value, &real_value);
+
+done:
+  /* create an interval and bind it to the property, in case
+   * it's not a fixed property, otherwise just set it
+   */
+  if (G_LIKELY (!is_fixed))
+    {
+      ClutterInterval *interval;
+      GValue cur_value = G_VALUE_INIT;
+
+      g_value_init (&cur_value, G_PARAM_SPEC_VALUE_TYPE (pspec));
+
+      if (CLUTTER_IS_ANIMATABLE (priv->object))
+        clutter_animatable_get_initial_state (CLUTTER_ANIMATABLE (priv->object),
+                                              property_name,
+                                              &cur_value);
+      else
+        g_object_get_property (priv->object, property_name, &cur_value);
+
+      interval =
+        clutter_interval_new_with_values (G_PARAM_SPEC_VALUE_TYPE (pspec),
+                                          &cur_value,
+                                          &real_value);
+
+      if (!clutter_animation_has_property (animation, property_name))
+        clutter_animation_bind_property_internal (animation, property_name,
+                                                  pspec,
+                                                  interval);
+      else
+        clutter_animation_update_property_internal (animation, property_name,
+                                                    pspec,
+                                                    interval);
+
+      g_value_unset (&cur_value);
+    }
+  else
+    {
+      if (CLUTTER_IS_ANIMATABLE (priv->object))
+        clutter_animatable_set_final_state (CLUTTER_ANIMATABLE (priv->object),
+                                            property_name,
+                                            &real_value);
+      else
+        g_object_set_property (priv->object, property_name, &real_value);
+    }
+
+  g_value_unset (&real_value);
+}
+
+static void
+clutter_animation_setupv (ClutterAnimation    *animation,
+                          gint                 n_properties,
+                          const gchar * const  properties[],
+                          const GValue        *values)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+  ClutterAnimatable *animatable = NULL;
+  GObjectClass *klass = NULL;
+  gint i;
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    animatable = CLUTTER_ANIMATABLE (priv->object);
+  else
+    klass = G_OBJECT_GET_CLASS (priv->object);
+
+  for (i = 0; i < n_properties; i++)
+    {
+      const gchar *property_name = properties[i];
+      GParamSpec *pspec;
+      gboolean is_fixed = FALSE;
+
+      if (g_str_has_prefix (property_name, "fixed::"))
+        {
+          property_name += 7; /* strlen("fixed::") */
+          is_fixed = TRUE;
+        }
+
+      if (animatable != NULL)
+        pspec = clutter_animatable_find_property (animatable, property_name);
+      else
+        pspec = g_object_class_find_property (klass, property_name);
+
+      if (pspec == NULL)
+        {
+          g_warning ("Cannot bind property '%s': objects of type '%s' do "
+                     "not have this property",
+                     property_name,
+                     g_type_name (G_OBJECT_TYPE (priv->object)));
+          break;
+        }
+
+      clutter_animation_setup_property (animation, property_name,
+                                        &values[i],
+                                        pspec,
+                                        is_fixed);
+    }
+}
+
+static const struct
+{
+  const gchar *name;
+  GConnectFlags flags;
+} signal_prefixes[] =
+  {
+    { "::", 0 },
+    { "-swapped::", G_CONNECT_SWAPPED },
+    { "-after::", G_CONNECT_AFTER },
+    { "-swapped-after::", G_CONNECT_SWAPPED | G_CONNECT_AFTER }
+  };
+
+static gboolean
+clutter_animation_has_signal_prefix (const gchar *property_name,
+                                     GConnectFlags *flags,
+                                     int *offset)
+{
+  int i;
+
+  if (!g_str_has_prefix (property_name, "signal"))
+    return FALSE;
+
+  for (i = 0; i < G_N_ELEMENTS (signal_prefixes); i++)
+    if (g_str_has_prefix (property_name + 6, signal_prefixes[i].name))
+      {
+        *offset = strlen (signal_prefixes[i].name) + 6;
+        *flags = signal_prefixes[i].flags;
+        return TRUE;
+      }
+
+  return FALSE;
+}
+
+static void
+clutter_animation_setup_valist (ClutterAnimation *animation,
+                                const gchar      *first_property_name,
+                                va_list           var_args)
+{
+  ClutterAnimationPrivate *priv = animation->priv;
+  ClutterAnimatable *animatable = NULL;
+  GObjectClass *klass = NULL;
+  const gchar *property_name;
+
+  if (CLUTTER_IS_ANIMATABLE (priv->object))
+    animatable = CLUTTER_ANIMATABLE (priv->object);
+  else
+    klass = G_OBJECT_GET_CLASS (priv->object);
+
+  property_name = first_property_name;
+  while (property_name != NULL)
+    {
+      GParamSpec *pspec;
+      GValue final = G_VALUE_INIT;
+      gchar *error = NULL;
+      gboolean is_fixed = FALSE;
+      GConnectFlags flags;
+      int offset;
+
+      if (clutter_animation_has_signal_prefix (property_name,
+                                               &flags,
+                                               &offset))
+        {
+          const gchar *signal_name = property_name + offset;
+          GCallback callback = va_arg (var_args, GCallback);
+          gpointer  userdata = va_arg (var_args, gpointer);
+
+          g_signal_connect_data (animation, signal_name,
+                                 callback, userdata,
+                                 NULL, flags);
+        }
+      else
+        {
+          if (g_str_has_prefix (property_name, "fixed::"))
+            {
+              property_name += 7; /* strlen("fixed::") */
+              is_fixed = TRUE;
+            }
+
+          if (animatable != NULL)
+            pspec = clutter_animatable_find_property (animatable,
+                                                      property_name);
+          else
+            pspec = g_object_class_find_property (klass, property_name);
+
+          if (pspec == NULL)
+            {
+              g_warning ("Cannot bind property '%s': objects of type '%s' do "
+                         "not have this property",
+                         property_name,
+                         g_type_name (G_OBJECT_TYPE (priv->object)));
+              break;
+            }
+
+          G_VALUE_COLLECT_INIT (&final, G_PARAM_SPEC_VALUE_TYPE (pspec),
+                                var_args, 0,
+                                &error);
+
+          if (error)
+            {
+              g_warning ("%s: %s", G_STRLOC, error);
+              g_free (error);
+              break;
+            }
+
+          clutter_animation_setup_property (animation, property_name,
+                                            &final,
+                                            pspec,
+                                            is_fixed);
+
+
+         g_value_unset (&final);
+        }
+
+      property_name = va_arg (var_args, gchar*);
+    }
+}
+
+static ClutterAnimation *
+animation_create_for_actor (ClutterActor *actor)
+{
+  ClutterAnimation *animation;
+  GObject *object = G_OBJECT (actor);
+
+  animation = g_object_get_qdata (object, quark_object_animation);
+  if (animation == NULL)
+    {
+      animation = clutter_animation_new ();
+      clutter_animation_set_object (animation, object);
+      g_object_set_qdata (object, quark_object_animation, animation);
+
+      /* use the ::destroy signal to get a notification
+       * that the actor went away mid-animation
+       */
+      g_signal_connect (object, "destroy",
+                        G_CALLBACK (on_actor_destroy),
+                        animation);
+
+      CLUTTER_NOTE (ANIMATION,
+                    "Created new Animation [%p] for actor [%p]",
+                    animation,
+                    actor);
+    }
+  else
+    {
+      CLUTTER_NOTE (ANIMATION,
+                    "Reusing Animation [%p] for actor [%p]",
+                    animation,
+                    actor);
+    }
+
+  return animation;
+}
+
+/**
+ * clutter_actor_animate_with_alpha:
+ * @actor: a #ClutterActor
+ * @alpha: a #ClutterAlpha
+ * @first_property_name: the name of a property
+ * @...: a %NULL terminated list of property names and
+ *   property values
+ *
+ * Animates the given list of properties of @actor between the current
+ * value for each property and a new final value. The animation has a
+ * definite behaviour given by the passed @alpha.
+ *
+ * See clutter_actor_animate() for further details.
+ *
+ * This function is useful if you want to use an existing #ClutterAlpha
+ * to animate @actor.
+ *
+ * Return value: (transfer none): a #ClutterAnimation object. The object is owned by the
+ *   #ClutterActor and should not be unreferenced with g_object_unref()
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_actor_animate_with_timeline() instead
+ */
+ClutterAnimation *
+clutter_actor_animate_with_alpha (ClutterActor *actor,
+                                  ClutterAlpha *alpha,
+                                  const gchar  *first_property_name,
+                                  ...)
+{
+  ClutterAnimation *animation;
+  ClutterTimeline *timeline;
+  va_list args;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+  g_return_val_if_fail (CLUTTER_IS_ALPHA (alpha), NULL);
+  g_return_val_if_fail (first_property_name != NULL, NULL);
+
+  timeline = clutter_alpha_get_timeline (alpha);
+  if (timeline == NULL)
+    {
+      g_warning ("The passed ClutterAlpha does not have an "
+                 "associated ClutterTimeline.");
+      return NULL;
+    }
+
+  animation = animation_create_for_actor (actor);
+  clutter_animation_set_alpha_internal (animation, alpha);
+
+  va_start (args, first_property_name);
+  clutter_animation_setup_valist (animation, first_property_name, args);
+  va_end (args);
+
+  clutter_animation_start (animation);
+
+  return animation;
+}
+
+/**
+ * clutter_actor_animate_with_timeline:
+ * @actor: a #ClutterActor
+ * @mode: an animation mode logical id
+ * @timeline: a #ClutterTimeline
+ * @first_property_name: the name of a property
+ * @...: a %NULL terminated list of property names and
+ *   property values
+ *
+ * Animates the given list of properties of @actor between the current
+ * value for each property and a new final value. The animation has a
+ * definite duration given by @timeline and a speed given by the @mode.
+ *
+ * See clutter_actor_animate() for further details.
+ *
+ * This function is useful if you want to use an existing timeline
+ * to animate @actor.
+ *
+ * Return value: (transfer none): a #ClutterAnimation object. The object is
+ *    owned by the #ClutterActor and should not be unreferenced with
+ *    g_object_unref()
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use the implicit transition for animatable properties
+ *   in #ClutterActor instead.
+ */
+ClutterAnimation *
+clutter_actor_animate_with_timeline (ClutterActor    *actor,
+                                     gulong           mode,
+                                     ClutterTimeline *timeline,
+                                     const gchar     *first_property_name,
+                                     ...)
+{
+  ClutterAnimation *animation;
+  va_list args;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), NULL);
+  g_return_val_if_fail (first_property_name != NULL, NULL);
+
+  animation = animation_create_for_actor (actor);
+  clutter_animation_set_mode (animation, mode);
+  clutter_animation_set_timeline (animation, timeline);
+
+  va_start (args, first_property_name);
+  clutter_animation_setup_valist (animation, first_property_name, args);
+  va_end (args);
+
+  clutter_animation_start (animation);
+
+  return animation;
+}
+
+/**
+ * clutter_actor_animate:
+ * @actor: a #ClutterActor
+ * @mode: an animation mode logical id
+ * @duration: duration of the animation, in milliseconds
+ * @first_property_name: the name of a property
+ * @...: a %NULL terminated list of property names and
+ *   property values
+ *
+ * Animates the given list of properties of @actor between the current
+ * value for each property and a new final value. The animation has a
+ * definite duration and a speed given by the @mode.
+ *
+ * For example, this:
+ *
+ * |[
+ *   clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
+ *                          "width", 100.0,
+ *                          "height", 100.0,
+ *                          NULL);
+ * ]|
+ *
+ * will make width and height properties of the #ClutterActor "rectangle"
+ * grow linearly between the current value and 100 pixels, in 250 milliseconds.
+ *
+ * The animation @mode is a logical id, either from the #ClutterAnimationMode
+ * enumeration of from clutter_alpha_register_func().
+ *
+ * All the properties specified will be animated between the current value
+ * and the final value. If a property should be set at the beginning of
+ * the animation but not updated during the animation, it should be prefixed
+ * by the "fixed::" string, for instance:
+ *
+ * |[
+ *   clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
+ *                          "rotation-angle-z", 360.0,
+ *                          "fixed::rotation-center-z", &amp;center,
+ *                          NULL);
+ * ]|
+ *
+ * Will animate the "rotation-angle-z" property between the current value
+ * and 360 degrees, and set the "rotation-center-z" property to the fixed
+ * value of the #ClutterVertex "center".
+ *
+ * This function will implicitly create a #ClutterAnimation object which
+ * will be assigned to the @actor and will be returned to the developer
+ * to control the animation or to know when the animation has been
+ * completed.
+ *
+ * If a name argument starts with "signal::", "signal-after::",
+ * "signal-swapped::" or "signal-swapped-after::" the two following arguments
+ * are used as callback function and data for a signal handler installed on
+ * the #ClutterAnimation object for the specified signal name, for instance:
+ *
+ * |[
+ *
+ *   static void
+ *   on_animation_completed (ClutterAnimation *animation,
+ *                           ClutterActor     *actor)
+ *   {
+ *     clutter_actor_hide (actor);
+ *   }
+ *
+ *   clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
+ *                          "opacity", 0,
+ *                          "signal::completed", on_animation_completed, actor,
+ *                          NULL);
+ * ]|
+ *
+ * or, to automatically destroy an actor at the end of the animation:
+ *
+ * |[
+ *   clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
+ *                          "opacity", 0,
+ *                          "signal-swapped-after::completed",
+ *                            clutter_actor_destroy,
+ *                            actor,
+ *                          NULL);
+ * ]|
+ *
+ * The "signal::" modifier is the equivalent of using g_signal_connect();
+ * the "signal-after::" modifier is the equivalent of using
+ * g_signal_connect_after() or g_signal_connect_data() with the
+ * %G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
+ * of using g_signal_connect_swapped() or g_signal_connect_data() with the
+ * %G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
+ * is the equivalent of using g_signal_connect_data() with both the
+ * %G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
+ * function will not keep track of multiple connections to the same signal,
+ * so it is your responsability to avoid them when calling
+ * clutter_actor_animate() multiple times on the same actor.
+ *
+ * Calling this function on an actor that is already being animated
+ * will cause the current animation to change with the new final values,
+ * the new easing mode and the new duration - that is, this code:
+ *
+ * |[
+ *   clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
+ *                          "width", 100.0,
+ *                          "height", 100.0,
+ *                          NULL);
+ *   clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
+ *                          "x", 100.0,
+ *                          "y", 100.0,
+ *                          "width", 200.0,
+ *                          NULL);
+ * ]|
+ *
+ * is the equivalent of:
+ *
+ * |[
+ *   clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
+ *                          "x", 100.0,
+ *                          "y", 100.0,
+ *                          "width", 200.0,
+ *                          "height", 100.0,
+ *                          NULL);
+ * ]|
+ *
+ * <note>Unless the animation is looping, the #ClutterAnimation created by
+ * clutter_actor_animate() will become invalid as soon as it is
+ * complete.</note>
+ *
+ * Since the created #ClutterAnimation instance attached to @actor
+ * is guaranteed to be valid throughout the #ClutterAnimation::completed
+ * signal emission chain, you will not be able to create a new animation
+ * using clutter_actor_animate() on the same @actor from within the
+ * #ClutterAnimation::completed signal handler unless you use
+ * g_signal_connect_after() to connect the callback function, for instance:
+ *
+ * |[
+ *   static void
+ *   on_animation_completed (ClutterAnimation *animation,
+ *                           ClutterActor     *actor)
+ *   {
+ *     clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
+ *                            "x", 500.0,
+ *                            "y", 500.0,
+ *                            NULL);
+ *   }
+ *
+ *     ...
+ *     animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
+ *                                        "x", 100.0,
+ *                                        "y", 100.0,
+ *                                        NULL);
+ *     g_signal_connect (animation, "completed",
+ *                       G_CALLBACK (on_animation_completed),
+ *                       actor);
+ *     ...
+ * ]|
+ *
+ * Return value: (transfer none): a #ClutterAnimation object. The object is
+ *   owned by the #ClutterActor and should not be unreferenced with
+ *   g_object_unref()
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use the implicit transition for animatable properties
+ *   in #ClutterActor instead.
+ */
+ClutterAnimation *
+clutter_actor_animate (ClutterActor *actor,
+                       gulong        mode,
+                       guint         duration,
+                       const gchar  *first_property_name,
+                       ...)
+{
+  ClutterAnimation *animation;
+  va_list args;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+  g_return_val_if_fail (mode != CLUTTER_CUSTOM_MODE, NULL);
+  g_return_val_if_fail (duration > 0, NULL);
+  g_return_val_if_fail (first_property_name != NULL, NULL);
+
+  animation = animation_create_for_actor (actor);
+  clutter_animation_set_mode (animation, mode);
+  clutter_animation_set_duration (animation, duration);
+
+  va_start (args, first_property_name);
+  clutter_animation_setup_valist (animation, first_property_name, args);
+  va_end (args);
+
+  clutter_animation_start (animation);
+
+  return animation;
+}
+
+/**
+ * clutter_actor_animatev:
+ * @actor: a #ClutterActor
+ * @mode: an animation mode logical id
+ * @duration: duration of the animation, in milliseconds
+ * @n_properties: number of property names and values
+ * @properties: (array length=n_properties) (element-type utf8): a vector
+ *    containing the property names to set
+ * @values: (array length=n_properties): a vector containing the
+ *    property values to set
+ *
+ * Animates the given list of properties of @actor between the current
+ * value for each property and a new final value. The animation has a
+ * definite duration and a speed given by the @mode.
+ *
+ * This is the vector-based variant of clutter_actor_animate(), useful
+ * for language bindings.
+ *
+ * <warning>Unlike clutter_actor_animate(), this function will not
+ * allow you to specify "signal::" names and callbacks.</warning>
+ *
+ * Return value: (transfer none): a #ClutterAnimation object. The object is
+ *   owned by the #ClutterActor and should not be unreferenced with
+ *   g_object_unref()
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use the implicit transition for animatable properties
+ *   in #ClutterActor instead.
+ */
+ClutterAnimation *
+clutter_actor_animatev (ClutterActor        *actor,
+                        gulong               mode,
+                        guint                duration,
+                        gint                 n_properties,
+                        const gchar * const  properties[],
+                        const GValue        *values)
+{
+  ClutterAnimation *animation;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+  g_return_val_if_fail (mode != CLUTTER_CUSTOM_MODE, NULL);
+  g_return_val_if_fail (duration > 0, NULL);
+  g_return_val_if_fail (properties != NULL, NULL);
+  g_return_val_if_fail (values != NULL, NULL);
+
+  animation = animation_create_for_actor (actor);
+  clutter_animation_set_mode (animation, mode);
+  clutter_animation_set_duration (animation, duration);
+  clutter_animation_setupv (animation, n_properties, properties, values);
+  clutter_animation_start (animation);
+
+  return animation;
+}
+
+/**
+ * clutter_actor_animate_with_timelinev:
+ * @actor: a #ClutterActor
+ * @mode: an animation mode logical id
+ * @timeline: a #ClutterTimeline
+ * @n_properties: number of property names and values
+ * @properties: (array length=n_properties) (element-type utf8): a vector
+ *    containing the property names to set
+ * @values: (array length=n_properties): a vector containing the
+ *    property values to set
+ *
+ * Animates the given list of properties of @actor between the current
+ * value for each property and a new final value. The animation has a
+ * definite duration given by @timeline and a speed given by the @mode.
+ *
+ * See clutter_actor_animate() for further details.
+ *
+ * This function is useful if you want to use an existing timeline
+ * to animate @actor.
+ *
+ * This is the vector-based variant of clutter_actor_animate_with_timeline(),
+ * useful for language bindings.
+ *
+ * <warning>Unlike clutter_actor_animate_with_timeline(), this function
+ * will not allow you to specify "signal::" names and callbacks.</warning>
+ *
+ * Return value: (transfer none): a #ClutterAnimation object. The object is
+ *    owned by the #ClutterActor and should not be unreferenced with
+ *    g_object_unref()
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use the implicit transition for animatable properties
+ *   in #ClutterActor instead.
+ */
+ClutterAnimation *
+clutter_actor_animate_with_timelinev (ClutterActor        *actor,
+                                      gulong               mode,
+                                      ClutterTimeline     *timeline,
+                                      gint                 n_properties,
+                                      const gchar * const  properties[],
+                                      const GValue        *values)
+{
+  ClutterAnimation *animation;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), NULL);
+  g_return_val_if_fail (properties != NULL, NULL);
+  g_return_val_if_fail (values != NULL, NULL);
+
+  animation = animation_create_for_actor (actor);
+  clutter_animation_set_mode (animation, mode);
+  clutter_animation_set_timeline (animation, timeline);
+  clutter_animation_setupv (animation, n_properties, properties, values);
+  clutter_animation_start (animation);
+
+  return animation;
+}
+
+/**
+ * clutter_actor_animate_with_alphav:
+ * @actor: a #ClutterActor
+ * @alpha: a #ClutterAlpha
+ * @n_properties: number of property names and values
+ * @properties: (array length=n_properties) (element-type utf8): a vector
+ *    containing the property names to set
+ * @values: (array length=n_properties): a vector containing the
+ *    property values to set
+ *
+ * Animates the given list of properties of @actor between the current
+ * value for each property and a new final value. The animation has a
+ * definite behaviour given by the passed @alpha.
+ *
+ * See clutter_actor_animate() for further details.
+ *
+ * This function is useful if you want to use an existing #ClutterAlpha
+ * to animate @actor.
+ *
+ * This is the vector-based variant of clutter_actor_animate_with_alpha(),
+ * useful for language bindings.
+ *
+ * <warning>Unlike clutter_actor_animate_with_alpha(), this function will
+ * not allow you to specify "signal::" names and callbacks.</warning>
+ *
+ * Return value: (transfer none): a #ClutterAnimation object. The object is owned by the
+ *   #ClutterActor and should not be unreferenced with g_object_unref()
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_actor_animate_with_timelinev() instead
+ */
+ClutterAnimation *
+clutter_actor_animate_with_alphav (ClutterActor        *actor,
+                                   ClutterAlpha        *alpha,
+                                   gint                 n_properties,
+                                   const gchar * const  properties[],
+                                   const GValue        *values)
+{
+  ClutterAnimation *animation;
+  ClutterTimeline *timeline;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+  g_return_val_if_fail (CLUTTER_IS_ALPHA (alpha), NULL);
+  g_return_val_if_fail (properties != NULL, NULL);
+  g_return_val_if_fail (values != NULL, NULL);
+
+  timeline = clutter_alpha_get_timeline (alpha);
+  if (timeline == NULL)
+    {
+      g_warning ("The passed ClutterAlpha does not have an "
+                 "associated ClutterTimeline.");
+      return NULL;
+    }
+
+  animation = animation_create_for_actor (actor);
+  clutter_animation_set_alpha_internal (animation, alpha);
+  clutter_animation_setupv (animation, n_properties, properties, values);
+  clutter_animation_start (animation);
+
+  return animation;
+}
+
+/**
+ * clutter_actor_get_animation:
+ * @actor: a #ClutterActor
+ *
+ * Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
+ * has been called on @actor.
+ *
+ * Return value: (transfer none): a #ClutterAnimation, or %NULL
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use the implicit transition for animatable properties
+ *   in #ClutterActor instead, and clutter_actor_get_transition() to retrieve
+ *   the transition.
+ */
+ClutterAnimation *
+clutter_actor_get_animation (ClutterActor *actor)
+{
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+
+  return g_object_get_qdata (G_OBJECT (actor), quark_object_animation);
+}
+
+/**
+ * clutter_actor_detach_animation:
+ * @actor: a #ClutterActor
+ *
+ * Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
+ * has been called on @actor.
+ *
+ * Once the animation has been detached, it loses a reference. If it was
+ * the only reference then the #ClutterAnimation becomes invalid.
+ *
+ * The #ClutterAnimation::completed signal will not be emitted.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use the implicit transition for animatable properties
+ *   in #ClutterActor instead, and clutter_actor_remove_transition() to
+ *   remove the transition.
+ */
+void
+clutter_actor_detach_animation (ClutterActor *actor)
+{
+  ClutterAnimation *animation;
+  ClutterAnimationPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  animation = g_object_get_qdata (G_OBJECT (actor), quark_object_animation);
+  if (animation == NULL)
+    return;
+
+  priv = animation->priv;
+
+  g_assert (priv->object == G_OBJECT (actor));
+
+  /* we can't call get_timeline_internal() here because it would be
+   * pointless to create a timeline on an animation we want to detach
+   */
+  if (priv->alpha != NULL)
+    {
+      ClutterTimeline *timeline;
+
+      timeline = clutter_alpha_get_timeline (priv->alpha);
+      if (timeline != NULL)
+        clutter_timeline_stop (timeline);
+    }
+
+  /* disconnect the ::destroy handler added by animation_create_for_actor() */
+  g_signal_handlers_disconnect_by_func (actor,
+                                        G_CALLBACK (on_actor_destroy),
+                                        animation);
+
+  clutter_animation_set_object (animation, NULL);
+
+  /* drop the reference on the animation */
+  g_object_unref (animation);
+}
diff --git a/clutter/deprecated/clutter-animation.h b/clutter/deprecated/clutter-animation.h
new file mode 100644
index 0000000..4c6aa8b
--- /dev/null
+++ b/clutter/deprecated/clutter-animation.h
@@ -0,0 +1,206 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2008  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *   Emmanuele Bassi <ebassi linux intel com>
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_ANIMATION_H__
+#define __CLUTTER_ANIMATION_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_ANIMATION                  (clutter_animation_get_type ())
+#define CLUTTER_ANIMATION(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_ANIMATION, 
ClutterAnimation))
+#define CLUTTER_IS_ANIMATION(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_ANIMATION))
+#define CLUTTER_ANIMATION_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_ANIMATION, 
ClutterAnimationClass))
+#define CLUTTER_IS_ANIMATION_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_ANIMATION))
+#define CLUTTER_ANIMATION_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_ANIMATION, 
ClutterAnimationClass))
+
+typedef struct _ClutterAnimationPrivate         ClutterAnimationPrivate;
+typedef struct _ClutterAnimationClass           ClutterAnimationClass;
+
+/**
+ * ClutterAnimation:
+ *
+ * The #ClutterAnimation structure contains only private data and should
+ * be accessed using the provided functions.
+ *
+ * Since: 1.0
+ */
+struct _ClutterAnimation
+{
+  /*< private >*/
+  GObject parent_instance;
+
+  ClutterAnimationPrivate *priv;
+};
+
+/**
+ * ClutterAnimationClass:
+ * @started: class handler for the #ClutterAnimation::started signal
+ * @completed: class handler for the #ClutterAnimation::completed signal
+ *
+ * The #ClutterAnimationClass structure contains only private data and
+ * should be accessed using the provided functions.
+ *
+ * Since: 1.0
+ */
+struct _ClutterAnimationClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /*< public >*/
+  void (* started)   (ClutterAnimation *animation);
+  void (* completed) (ClutterAnimation *animation);
+
+  /*< private >*/
+  /* padding for future expansion */
+  void (*_clutter_reserved1) (void);
+  void (*_clutter_reserved2) (void);
+  void (*_clutter_reserved3) (void);
+  void (*_clutter_reserved4) (void);
+  void (*_clutter_reserved5) (void);
+  void (*_clutter_reserved6) (void);
+  void (*_clutter_reserved7) (void);
+  void (*_clutter_reserved8) (void);
+};
+
+CLUTTER_DEPRECATED_IN_1_12
+GType clutter_animation_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_property_transition_new)
+ClutterAnimation *      clutter_animation_new                   (void);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_transition_set_animatable)
+void                    clutter_animation_set_object            (ClutterAnimation     *animation,
+                                                                 GObject              *object);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_transition_get_animatable)
+GObject *               clutter_animation_get_object            (ClutterAnimation     *animation);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_timeline_set_progress_mode)
+void                    clutter_animation_set_mode              (ClutterAnimation     *animation,
+                                                                 gulong                mode);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_timeline_get_progress_mode)
+gulong                  clutter_animation_get_mode              (ClutterAnimation     *animation);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_timeline_set_duration)
+void                    clutter_animation_set_duration          (ClutterAnimation     *animation,
+                                                                 guint                 msecs);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_timeline_get_duration)
+guint                   clutter_animation_get_duration          (ClutterAnimation     *animation);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_timeline_set_repeat_count)
+void                    clutter_animation_set_loop              (ClutterAnimation     *animation,
+                                                                 gboolean              loop);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_timeline_get_repeat_count)
+gboolean                clutter_animation_get_loop              (ClutterAnimation     *animation);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_animation_set_timeline          (ClutterAnimation     *animation,
+                                                                 ClutterTimeline      *timeline);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline *       clutter_animation_get_timeline          (ClutterAnimation     *animation);
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_animation_set_timeline)
+void                    clutter_animation_set_alpha             (ClutterAnimation     *animation,
+                                                                 ClutterAlpha         *alpha);
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_animation_get_timeline)
+ClutterAlpha *          clutter_animation_get_alpha             (ClutterAnimation     *animation);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_animation_bind                  (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name,
+                                                                 const GValue         *final);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_transition_set_interval)
+ClutterAnimation *      clutter_animation_bind_interval         (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name,
+                                                                 ClutterInterval      *interval);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_animation_has_property          (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_animation_update                (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name,
+                                                                 const GValue         *final);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_animation_update_interval       (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name,
+                                                                 ClutterInterval      *interval);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_animation_unbind_property       (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterInterval     *   clutter_animation_get_interval          (ClutterAnimation     *animation,
+                                                                 const gchar          *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_animation_completed             (ClutterAnimation     *animation);
+
+/*
+ * ClutterActor API
+ */
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_actor_animate                   (ClutterActor         *actor,
+                                                                 gulong                mode,
+                                                                 guint                 duration,
+                                                                 const gchar          *first_property_name,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_actor_animate_with_timeline     (ClutterActor         *actor,
+                                                                 gulong                mode,
+                                                                 ClutterTimeline      *timeline,
+                                                                 const gchar          *first_property_name,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_actor_animatev                  (ClutterActor         *actor,
+                                                                 gulong                mode,
+                                                                 guint                 duration,
+                                                                 gint                  n_properties,
+                                                                 const gchar * const   properties[],
+                                                                 const GValue         *values);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_actor_animate_with_timelinev    (ClutterActor         *actor,
+                                                                 gulong                mode,
+                                                                 ClutterTimeline      *timeline,
+                                                                 gint                  n_properties,
+                                                                 const gchar * const   properties[],
+                                                                 const GValue         *values);
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_animate_with_timeline)
+ClutterAnimation *      clutter_actor_animate_with_alpha        (ClutterActor         *actor,
+                                                                 ClutterAlpha         *alpha,
+                                                                 const gchar          *first_property_name,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_animate_with_timelinev)
+ClutterAnimation *      clutter_actor_animate_with_alphav       (ClutterActor         *actor,
+                                                                 ClutterAlpha         *alpha,
+                                                                 gint                  n_properties,
+                                                                 const gchar * const   properties[],
+                                                                 const GValue         *values);
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimation *      clutter_actor_get_animation             (ClutterActor         *actor);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_actor_detach_animation          (ClutterActor         *actor);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_ANIMATION_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-animator.c b/clutter/deprecated/clutter-animator.c
new file mode 100644
index 0000000..89e4925
--- /dev/null
+++ b/clutter/deprecated/clutter-animator.c
@@ -0,0 +1,2176 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2010 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *   Øyvind Kolås <pippin linux intel com>
+ */
+
+/**
+ * SECTION:clutter-animator
+ * @short_description: Multi-actor tweener
+ * @See_Also: #ClutterAnimatable, #ClutterInterval, #ClutterAlpha,
+ *   #ClutterTimeline
+ *
+ * #ClutterAnimator is an object providing declarative animations for
+ * #GObject properties belonging to one or more #GObject<!-- -->s to
+ * #ClutterIntervals.
+ *
+ * #ClutterAnimator is used to build and describe complex animations
+ * in terms of "key frames". #ClutterAnimator is meant to be used
+ * through the #ClutterScript definition format, but it comes with a
+ * convenience C API.
+ *
+ * <refsect2 id="ClutterAnimator-key-frames">
+ *   <title>Key Frames</title>
+ *   <para>Every animation handled by a #ClutterAnimator can be
+ *   described in terms of "key frames". For each #GObject property
+ *   there can be multiple key frames, each one defined by the end
+ *   value for the property to be computed starting from the current
+ *   value to a specific point in time, using a given easing
+ *   mode.</para>
+ *   <para>The point in time is defined using a value representing
+ *   the progress in the normalized interval of [ 0, 1 ]. This maps
+ *   the value returned by clutter_timeline_get_duration().</para>
+ *   <figure id="easing-modes">
+ *     <title>Key Frames</title>
+ *     <graphic fileref="animator-key-frames.png" format="PNG"/>
+ *   </figure>
+ *   <para>In the image above the duration of the animation is
+ *   represented by the blue line. Each key frame is the white dot,
+ *   along with its progress. The red line represents the computed
+ *   function of time given the easing mode.</para>
+ * </refsect2>
+ *
+ * <refsect2 id="ClutterAnimator-script">
+ *   <title>ClutterAnimator description for #ClutterScript</title>
+ *   <para>#ClutterAnimator defines a custom "properties" property
+ *   which allows describing the key frames for objects.</para>
+ *   <para>The "properties" property has the following syntax:</para>
+ *   <informalexample>
+ *     <programlisting><![CDATA[
+ *  {
+ *    "properties" : [
+ *      {
+ *        "object" : &lt;id of an object&gt;,
+ *        "name" : &lt;name of the property&gt;,
+ *        "ease-in" : &lt;boolean&gt;,
+ *        "interpolation" : &lt;#ClutterInterpolation value&gt;,
+ *        "keys" : [
+ *          [ &lt;progress&gt;, &lt;easing mode&gt;, &lt;final value&gt; ]
+ *        ]
+ *    ]
+ *  }
+ *     ]]></programlisting>
+ *   </informalexample>
+ *   <example id="ClutterAnimator-script-example">
+ *     <title>ClutterAnimator definition</title>
+ *     <para>The following JSON fragment defines a #ClutterAnimator
+ *     with the duration of 1 second and operating on the x and y
+ *     properties of a #ClutterActor named "rect-01", with two frames
+ *     for each property. The first frame will linearly move the actor
+ *     from its current position to the 100, 100 position in 20 percent
+ *     of the duration of the animation; the second will using a cubic
+ *     easing to move the actor to the 200, 200 coordinates.</para>
+ *     <programlisting><![CDATA[
+ *  {
+ *    "type" : "ClutterAnimator",
+ *    "duration" : 1000,
+ *    "properties" : [
+ *      {
+ *        "object" : "rect-01",
+ *        "name" : "x",
+ *        "ease-in" : true,
+ *        "keys" : [
+ *          [ 0.2, "linear",       100.0 ],
+ *          [ 1.0, "easeOutCubic", 200.0 ]
+ *        ]
+ *      },
+ *      {
+ *        "object" : "rect-01",
+ *        "name" : "y",
+ *        "ease-in" : true,
+ *        "keys" : [
+ *          [ 0.2, "linear",       100.0 ],
+ *          [ 1.0, "easeOutCubic", 200.0 ]
+ *        ]
+ *      }
+ *    ]
+ *  }
+ *     ]]></programlisting>
+ *   </example>
+ * </refsect2>
+ *
+ * #ClutterAnimator is available since Clutter 1.2
+ *
+ * #ClutterAnimator has been deprecated in Clutter 1.12
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+#include <math.h>
+
+#include <gobject/gvaluecollector.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-animator.h"
+
+#include "clutter-alpha.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-interval.h"
+#include "clutter-private.h"
+#include "clutter-script-private.h"
+#include "clutter-scriptable.h"
+
+#define CLUTTER_ANIMATOR_GET_PRIVATE(obj)       (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_ANIMATOR, 
ClutterAnimatorPrivate))
+
+/* progress values varying by less than this are considered equal */
+#define PROGRESS_EPSILON  0.00001
+
+struct _ClutterAnimatorPrivate
+{
+  ClutterTimeline  *timeline;
+  ClutterTimeline  *slave_timeline;
+
+  GList            *score;
+
+  GHashTable       *properties;
+};
+
+struct _ClutterAnimatorKey
+{
+  GObject             *object;
+  const gchar         *property_name;
+  guint                mode;
+
+  GValue               value;
+
+  /* normalized progress, between 0.0 and 1.0 */
+  gdouble              progress;
+
+  /* back-pointer to the animator which owns the key */
+  ClutterAnimator     *animator;
+
+  /* interpolation mode */
+  ClutterInterpolation interpolation;
+
+  /* ease from the current object state into the animation when it starts */
+  guint                ease_in : 1;
+
+  /* This key is already being destroyed and shouldn't
+   * trigger additional weak unrefs
+   */
+  guint                is_inert : 1;
+
+  gint                 ref_count;
+};
+
+enum
+{
+  PROP_0,
+
+  PROP_DURATION,
+  PROP_TIMELINE,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+static void clutter_scriptable_init (ClutterScriptableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterAnimator,
+                         clutter_animator,
+                         G_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_init));
+/**
+ * clutter_animator_new:
+ *
+ * Creates a new #ClutterAnimator instance
+ *
+ * Return value: a new #ClutterAnimator.
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+ClutterAnimator *
+clutter_animator_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_ANIMATOR, NULL);
+}
+
+/***/
+
+typedef struct _PropObjectKey {
+  GObject      *object;
+  const gchar  *property_name;
+  guint         mode;
+  gdouble       progress;
+} PropObjectKey;
+
+/* Iterator that walks the keys of a property*/
+typedef struct _PropertyIter {
+  PropObjectKey       *key;
+  ClutterInterval     *interval;
+  ClutterAlpha        *alpha;
+
+  GList               *current;
+
+  gdouble              start;    /* the progress of current */
+  gdouble              end;      /* until which progress it is valid */
+  ClutterInterpolation interpolation;
+
+  guint                ease_in : 1;
+} PropertyIter;
+
+static PropObjectKey *
+prop_actor_key_new (GObject     *object,
+                    const gchar *property_name)
+{
+  PropObjectKey *key = g_slice_new0 (PropObjectKey);
+
+  key->object = object;
+  key->property_name = g_intern_string (property_name);
+
+  return key;
+}
+
+static void
+prop_actor_key_free (gpointer key)
+{
+  if (key != NULL)
+    g_slice_free (PropObjectKey, key);
+}
+
+static void
+property_iter_free (gpointer key)
+{
+  if (key != NULL)
+    {
+      PropertyIter *property_iter = key;
+
+      g_object_unref (property_iter->interval);
+      g_object_unref (property_iter->alpha);
+
+      g_slice_free (PropertyIter, property_iter);
+    }
+}
+
+static PropertyIter *
+property_iter_new (ClutterAnimator *animator,
+                   PropObjectKey   *key,
+                   GType            type)
+{
+  ClutterAnimatorPrivate *priv = animator->priv;
+  PropertyIter *property_iter = g_slice_new (PropertyIter);
+  ClutterInterval *interval = g_object_new (CLUTTER_TYPE_INTERVAL,
+                                            "value-type", type,
+                                            NULL);
+
+  /* we own this interval */
+  g_object_ref_sink (interval);
+
+  property_iter->interval = interval;
+  property_iter->key = key;
+  property_iter->alpha = clutter_alpha_new ();
+  clutter_alpha_set_timeline (property_iter->alpha, priv->slave_timeline);
+
+  /* as well as the alpha */
+  g_object_ref_sink (property_iter->alpha);
+
+  return property_iter;
+}
+
+static guint
+prop_actor_hash (gconstpointer value)
+{
+  const PropObjectKey *info = value;
+
+  return GPOINTER_TO_INT (info->property_name)
+       ^ GPOINTER_TO_INT (info->object);
+}
+
+static gboolean
+prop_actor_equal (gconstpointer a, gconstpointer b)
+{
+  const PropObjectKey *infoa = a;
+  const PropObjectKey *infob = b;
+
+  /* property name strings are interned so we can just compare pointers */
+  if (infoa->object == infob->object &&
+      (infoa->property_name == infob->property_name))
+    return TRUE;
+
+  return FALSE;
+}
+
+static gint
+sort_actor_prop_progress_func (gconstpointer a,
+                               gconstpointer b)
+{
+  const ClutterAnimatorKey *pa = a;
+  const ClutterAnimatorKey *pb = b;
+
+  if (pa->object == pb->object)
+    {
+      gint pdiff = pb->property_name - pa->property_name;
+
+      if (pdiff)
+        return pdiff;
+
+      if (fabs (pa->progress - pb->progress) < PROGRESS_EPSILON)
+        return 0;
+
+      if (pa->progress > pb->progress)
+        return 1;
+
+      return -1;
+    }
+
+  return pa->object - pb->object;
+}
+
+static gint
+sort_actor_prop_func (gconstpointer a,
+                      gconstpointer b)
+{
+  const ClutterAnimatorKey *pa = a;
+  const ClutterAnimatorKey *pb = b;
+
+  if (pa->object == pb->object)
+    return pa->property_name - pb->property_name;
+
+  return pa->object - pb->object;
+}
+
+static void
+clutter_animator_remove_key_internal (ClutterAnimator *animator,
+                                      GObject         *object,
+                                      const gchar     *property_name,
+                                      gdouble          progress,
+                                      gboolean         is_inert);
+
+static void
+object_disappeared (gpointer  data,
+                    GObject  *where_the_object_was)
+{
+  clutter_animator_remove_key_internal (data, where_the_object_was, NULL, -1.0,
+                                        TRUE);
+}
+
+static ClutterAnimatorKey *
+clutter_animator_key_new (ClutterAnimator *animator,
+                          GObject         *object,
+                          const gchar     *property_name,
+                          gdouble          progress,
+                          guint            mode)
+{
+  ClutterAnimatorKey *animator_key;
+
+  animator_key = g_slice_new (ClutterAnimatorKey);
+
+  animator_key->ref_count = 1;
+  animator_key->animator = animator;
+  animator_key->object = object;
+  animator_key->mode = mode;
+  memset (&(animator_key->value), 0, sizeof (GValue));
+  animator_key->progress = progress;
+  animator_key->property_name = g_intern_string (property_name);
+  animator_key->interpolation = CLUTTER_INTERPOLATION_LINEAR;
+  animator_key->ease_in = FALSE;
+  animator_key->is_inert = FALSE;
+
+  /* keep a weak reference on the animator, so that we can release the
+   * back-pointer when needed
+   */
+  g_object_weak_ref (object, object_disappeared,
+                     animator_key->animator);
+
+  return animator_key;
+}
+
+static gpointer
+clutter_animator_key_copy (gpointer boxed)
+{
+  ClutterAnimatorKey *key = boxed;
+
+  if (key != NULL)
+    key->ref_count += 1;
+
+  return key;
+}
+
+static void
+clutter_animator_key_free (gpointer boxed)
+{
+  ClutterAnimatorKey *key = boxed;
+
+  if (key == NULL)
+    return;
+
+  key->ref_count -= 1;
+
+  if (key->ref_count > 0)
+    return;
+
+  if (!key->is_inert)
+    g_object_weak_unref (key->object, object_disappeared, key->animator);
+
+  g_slice_free (ClutterAnimatorKey, key);
+}
+
+static void
+clutter_animator_dispose (GObject *object)
+{
+  ClutterAnimator *animator = CLUTTER_ANIMATOR (object);
+  ClutterAnimatorPrivate *priv = animator->priv;
+
+  clutter_animator_set_timeline (animator, NULL);
+  g_object_unref (priv->slave_timeline);
+
+  G_OBJECT_CLASS (clutter_animator_parent_class)->dispose (object);
+}
+
+static void
+clutter_animator_finalize (GObject *object)
+{
+  ClutterAnimator *animator = CLUTTER_ANIMATOR (object);
+  ClutterAnimatorPrivate *priv = animator->priv;
+
+  g_list_foreach (priv->score, (GFunc) clutter_animator_key_free, NULL);
+  g_list_free (priv->score);
+  priv->score = NULL;
+
+  g_hash_table_destroy (priv->properties);
+
+  G_OBJECT_CLASS (clutter_animator_parent_class)->finalize (object);
+}
+
+/* XXX: this is copied and slightly modified from glib,
+ * there is only one way to do this. */
+static GList *
+list_find_custom_reverse (GList         *list,
+                          gconstpointer  data,
+                          GCompareFunc   func)
+{
+  while (list)
+    {
+      if (! func (list->data, data))
+        return list;
+
+      list = list->prev;
+    }
+
+  return NULL;
+}
+
+/* Ensures that the interval provided by the animator is correct
+ * for the requested progress value.
+ */
+static void
+animation_animator_ensure_animator (ClutterAnimator *animator,
+                                    PropertyIter    *property_iter,
+                                    PropObjectKey   *key,
+                                    gdouble          progress)
+{
+
+  if (progress > property_iter->end)
+    {
+      while (progress > property_iter->end)
+        {
+          ClutterAnimatorKey *initial_key, *next_key;
+          GList *initial, *next;
+
+          initial = g_list_find_custom (property_iter->current->next,
+                                        key,
+                                        sort_actor_prop_func);
+
+          if (initial)
+            {
+              initial_key = initial->data;
+
+              clutter_interval_set_initial_value (property_iter->interval,
+                                                  &initial_key->value);
+              property_iter->current = initial;
+              property_iter->start = initial_key->progress;
+
+              next = g_list_find_custom (initial->next,
+                                         key,
+                                         sort_actor_prop_func);
+              if (next)
+                {
+                  next_key = next->data;
+
+                  property_iter->end = next_key->progress;
+                }
+              else
+                {
+                  next_key = initial_key;
+
+                  property_iter->end = property_iter->start;
+                }
+
+              clutter_interval_set_final_value (property_iter->interval,
+                                                &next_key->value);
+
+              if ((clutter_alpha_get_mode (property_iter->alpha) != next_key->mode))
+                clutter_alpha_set_mode (property_iter->alpha, next_key->mode);
+            }
+          else /* no relevant interval */
+            {
+              ClutterAnimatorKey *current_key = property_iter->current->data;
+              clutter_interval_set_initial_value (property_iter->interval,
+                                                  &current_key->value);
+              clutter_interval_set_final_value (property_iter->interval,
+                                                &current_key->value);
+              break;
+            }
+        }
+    }
+  else if (progress < property_iter->start)
+    {
+      while (progress < property_iter->start)
+        {
+          ClutterAnimatorKey *initial_key, *next_key;
+          GList *initial;
+          GList *old = property_iter->current;
+
+          initial = list_find_custom_reverse (property_iter->current->prev,
+                                              key,
+                                              sort_actor_prop_func);
+
+          if (initial)
+            {
+              initial_key = initial->data;
+
+              clutter_interval_set_initial_value (property_iter->interval,
+                                                  &initial_key->value);
+              property_iter->current = initial;
+              property_iter->end = property_iter->start;
+              property_iter->start = initial_key->progress;
+
+              if (old)
+                {
+                  next_key = old->data;
+
+                  property_iter->end = next_key->progress;
+                }
+              else
+                {
+                  next_key = initial_key;
+
+                  property_iter->end = 1.0;
+                }
+
+              clutter_interval_set_final_value (property_iter->interval,
+                                                &next_key->value);
+              if ((clutter_alpha_get_mode (property_iter->alpha) != next_key->mode))
+                clutter_alpha_set_mode (property_iter->alpha, next_key->mode);
+            }
+          else
+            break;
+        }
+    }
+}
+
+/* XXX - this might be useful as an internal function exposed somewhere */
+static gdouble
+cubic_interpolation (const gdouble dx,
+                     const gdouble prev,
+                     const gdouble j,
+                     const gdouble next,
+                     const gdouble nextnext)
+{
+  return (((( - prev + 3 * j - 3 * next + nextnext ) * dx +
+            ( 2 * prev - 5 * j + 4 * next - nextnext ) ) * dx +
+            ( - prev + next ) ) * dx + (j + j) ) / 2.0;
+}
+
+/* try to get a floating point key value from a key for a property,
+ * failing use the closest key in that direction or the starting point.
+ */
+static gfloat
+list_try_get_rel (GList *list,
+                  gint   count)
+{
+  ClutterAnimatorKey *key;
+  GList *iter = list;
+  GList *best = list;
+
+  if (count > 0)
+    {
+      while (count -- && iter != NULL)
+        {
+          iter = g_list_find_custom (iter->next, list->data,
+                                     sort_actor_prop_func);
+          if (iter != NULL)
+            best = iter;
+        }
+    }
+  else
+    {
+      while (count ++ < 0 && iter != NULL)
+        {
+          iter = list_find_custom_reverse (iter->prev, list->data,
+                                           sort_actor_prop_func);
+          if (iter != NULL)
+            best = iter;
+        }
+    }
+
+  if (best != NULL && best->data != NULL)
+    {
+      key = best->data;
+
+      return g_value_get_float (&(key->value));
+    }
+
+  return 0;
+}
+
+static void
+animation_animator_new_frame (ClutterTimeline  *timeline,
+                              gint              msecs,
+                              ClutterAnimator  *animator)
+{
+  gdouble progress;
+  GHashTableIter iter;
+  gpointer key, value;
+
+  progress  = 1.0 * msecs / clutter_timeline_get_duration (timeline);
+
+  /* for each property that is managed figure out the GValue to set,
+   * avoid creating new ClutterInterval's for each interval crossed
+   */
+  g_hash_table_iter_init (&iter, animator->priv->properties);
+
+  key = value = NULL;
+  while (g_hash_table_iter_next (&iter, &key, &value))
+    {
+      PropObjectKey      *prop_actor_key = key;
+      PropertyIter       *property_iter   = value;
+      ClutterAnimatorKey *start_key;
+      gdouble             sub_progress;
+
+      animation_animator_ensure_animator (animator, property_iter,
+                                          key,
+                                          progress);
+      start_key = property_iter->current->data;
+
+      if (property_iter->end == property_iter->start)
+        sub_progress = 0.0; /* we're past the final value */
+      else
+        sub_progress = (progress - property_iter->start)
+                     / (property_iter->end - property_iter->start);
+
+      /* only change values if we active (delayed start) */
+      if (sub_progress >= 0.0 && sub_progress <= 1.0)
+        {
+          GValue tmp_value = G_VALUE_INIT;
+          GType int_type;
+
+          g_value_init (&tmp_value, G_VALUE_TYPE (&start_key->value));
+
+          clutter_timeline_advance (animator->priv->slave_timeline,
+                                    sub_progress * 10000);
+
+          sub_progress = clutter_alpha_get_alpha (property_iter->alpha);
+          int_type = clutter_interval_get_value_type (property_iter->interval);
+
+          if (property_iter->interpolation == CLUTTER_INTERPOLATION_CUBIC &&
+              int_type == G_TYPE_FLOAT)
+            {
+              gdouble prev, current, next, nextnext;
+              gdouble res;
+
+              if ((property_iter->ease_in == FALSE ||
+                  (property_iter->ease_in &&
+                   list_find_custom_reverse (property_iter->current->prev,
+                                             property_iter->current->data,
+                                             sort_actor_prop_func))))
+                {
+                  current = g_value_get_float (&start_key->value);
+                  prev = list_try_get_rel (property_iter->current, -1);
+                }
+              else
+                {
+                  /* interpolated and easing in */
+                  clutter_interval_get_initial_value (property_iter->interval,
+                                                      &tmp_value);
+                  prev = current = g_value_get_float (&tmp_value);
+                }
+
+               next = list_try_get_rel (property_iter->current, 1);
+               nextnext = list_try_get_rel (property_iter->current, 2);
+               res = cubic_interpolation (sub_progress, prev, current, next,
+                                          nextnext);
+
+               g_value_set_float (&tmp_value, res);
+            }
+          else
+            clutter_interval_compute_value (property_iter->interval,
+                                            sub_progress,
+                                            &tmp_value);
+
+          g_object_set_property (prop_actor_key->object,
+                                 prop_actor_key->property_name,
+                                 &tmp_value);
+
+          g_value_unset (&tmp_value);
+        }
+    }
+}
+
+static void
+animation_animator_started (ClutterTimeline *timeline,
+                            ClutterAnimator *animator)
+{
+  GList *k;
+
+  /* Ensure that animators exist for all involved properties */
+  for (k = animator->priv->score; k != NULL; k = k->next)
+    {
+      ClutterAnimatorKey *key = k->data;
+      PropertyIter       *property_iter;
+      PropObjectKey      *prop_actor_key;
+
+      prop_actor_key = prop_actor_key_new (key->object, key->property_name);
+      property_iter = g_hash_table_lookup (animator->priv->properties,
+                                          prop_actor_key);
+      if (property_iter)
+        {
+          prop_actor_key_free (prop_actor_key);
+        }
+      else
+        {
+          GObjectClass *klass = G_OBJECT_GET_CLASS (key->object);
+          GParamSpec *pspec;
+
+          pspec = g_object_class_find_property (klass, key->property_name);
+
+          property_iter = property_iter_new (animator, prop_actor_key,
+                                           G_PARAM_SPEC_VALUE_TYPE (pspec));
+          g_hash_table_insert (animator->priv->properties,
+                               prop_actor_key,
+                               property_iter);
+        }
+    }
+
+  /* initialize animator with initial list pointers */
+  {
+    GHashTableIter iter;
+    gpointer key, value;
+
+    g_hash_table_iter_init (&iter, animator->priv->properties);
+    while (g_hash_table_iter_next (&iter, &key, &value))
+      {
+        PropertyIter *property_iter = value;
+        ClutterAnimatorKey *initial_key, *next_key;
+        GList *initial;
+        GList *next;
+
+        initial = g_list_find_custom (animator->priv->score,
+                                      key,
+                                      sort_actor_prop_func);
+        g_assert (initial != NULL);
+        initial_key = initial->data;
+        clutter_interval_set_initial_value (property_iter->interval,
+                                            &initial_key->value);
+
+        property_iter->current       = initial;
+        property_iter->start         = initial_key->progress;
+        property_iter->ease_in       = initial_key->ease_in;
+        property_iter->interpolation = initial_key->interpolation;
+
+        if (property_iter->ease_in)
+          {
+            GValue tmp_value = G_VALUE_INIT;
+            GType int_type;
+
+            int_type = clutter_interval_get_value_type (property_iter->interval);
+            g_value_init (&tmp_value, int_type);
+
+            g_object_get_property (initial_key->object,
+                                   initial_key->property_name,
+                                   &tmp_value);
+
+            clutter_interval_set_initial_value (property_iter->interval,
+                                                &tmp_value);
+
+            g_value_unset (&tmp_value);
+          }
+
+        next = g_list_find_custom (initial->next, key, sort_actor_prop_func);
+        if (next)
+          {
+            next_key = next->data;
+            property_iter->end = next_key->progress;
+          }
+        else
+          {
+            next_key = initial_key;
+            property_iter->end = 1.0;
+          }
+
+        clutter_interval_set_final_value (property_iter->interval,
+                                          &next_key->value);
+        if ((clutter_alpha_get_mode (property_iter->alpha) != next_key->mode))
+          clutter_alpha_set_mode (property_iter->alpha, next_key->mode);
+      }
+  }
+}
+
+/**
+ * clutter_animator_compute_value:
+ * @animator: a #ClutterAnimator
+ * @object: a #GObject
+ * @property_name: the name of the property on object to check
+ * @progress: a value between 0.0 and 1.0
+ * @value: an initialized value to store the computed result
+ *
+ * Compute the value for a managed property at a given progress.
+ *
+ * If the property is an ease-in property, the current value of the property
+ * on the object will be used as the starting point for computation.
+ *
+ * Return value: %TRUE if the computation yields has a value, otherwise (when
+ *   an error occurs or the progress is before any of the keys) %FALSE is
+ *   returned and the #GValue is left untouched
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+gboolean
+clutter_animator_compute_value (ClutterAnimator *animator,
+                                GObject         *object,
+                                const gchar     *property_name,
+                                gdouble          progress,
+                                GValue          *value)
+{
+  ClutterAnimatorPrivate *priv;
+  ClutterAnimatorKey   key;
+  ClutterAnimatorKey  *previous;
+  ClutterAnimatorKey  *next = NULL;
+  GParamSpec          *pspec;
+  GList               *initial_l;
+  GList               *previous_l;
+  GList               *next_l;
+  gboolean             ease_in;
+  ClutterInterpolation interpolation;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), FALSE);
+  g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
+  g_return_val_if_fail (property_name, FALSE);
+  g_return_val_if_fail (value, FALSE);
+
+  priv = animator->priv;
+
+  ease_in = clutter_animator_property_get_ease_in (animator, object,
+                                                   property_name);
+  interpolation = clutter_animator_property_get_interpolation (animator,
+                                                   object, property_name);
+
+  property_name = g_intern_string (property_name);
+
+  pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (object),
+                                        property_name);
+
+  key.object        = object;
+  key.property_name = property_name;
+
+  initial_l = g_list_find_custom (animator->priv->score, &key,
+                                  sort_actor_prop_func);
+  if (initial_l == NULL)
+    return FALSE;
+
+  /* first find the interval we belong in, that is the first interval
+   * existing between keys
+   */
+
+  for (previous_l = initial_l, next_l = previous_l->next ;
+       previous_l->next ;
+       previous_l = previous_l->next, next_l = previous_l->next)
+    {
+       previous = previous_l->data;
+       if (next_l)
+         {
+           next = next_l->data;
+           if (next->object != object ||
+               next->property_name != property_name)
+             {
+               next_l = NULL;
+               next = NULL;
+             }
+         }
+       else
+         next = NULL;
+
+       if (progress < previous->progress)
+         {
+            /* we are before the defined values */
+
+            /* value has not been set */
+            return FALSE;
+         }
+
+       if (!next && previous->progress <= progress)
+         {
+            /* we only had one key for this object/property */
+            /* and we are past it, that is our value */
+            g_value_copy (&previous->value, value);
+            return TRUE;
+         }
+
+       if (next && next->progress >= progress)
+         {
+            ClutterInterval *interval;
+            ClutterAlpha    *alpha;
+
+            gdouble sub_progress = (progress - previous->progress)
+                                 / (next->progress - previous->progress);
+            /* this should be our interval */
+            interval = g_object_new (CLUTTER_TYPE_INTERVAL,
+                                     "value-type", pspec->value_type,
+                                     NULL);
+
+            if (ease_in && previous_l == initial_l)
+              {
+                GValue tmp_value = {0, };
+                g_value_init (&tmp_value, pspec->value_type);
+                g_object_get_property (object, property_name, &tmp_value);
+                clutter_interval_set_initial_value (interval, &tmp_value);
+                g_value_unset (&tmp_value);
+              }
+            else
+              clutter_interval_set_initial_value (interval, &previous->value);
+
+            clutter_interval_set_final_value (interval, &next->value);
+
+            alpha = clutter_alpha_new ();
+            clutter_alpha_set_timeline (alpha, priv->slave_timeline);
+            clutter_alpha_set_mode (alpha, next->mode);
+
+            clutter_timeline_advance (priv->slave_timeline,
+                                      sub_progress * 10000);
+            sub_progress = clutter_alpha_get_alpha (alpha);
+
+            if (interpolation == CLUTTER_INTERPOLATION_CUBIC &&
+                pspec->value_type == G_TYPE_FLOAT)
+              {
+                gdouble prev, current, nextv, nextnext;
+                gdouble res;
+
+                if ((ease_in == FALSE ||
+                    (ease_in &&
+                     list_find_custom_reverse (previous_l->prev,
+                                               previous_l->data,
+                                               sort_actor_prop_func))))
+                  {
+                    current = g_value_get_float (&previous->value);
+                    prev = list_try_get_rel (previous_l, -1);
+                  }
+                else
+                  {
+                    /* interpolated and easing in */
+                    GValue tmp_value = {0, };
+                    g_value_init (&tmp_value, pspec->value_type);
+                    clutter_interval_get_initial_value (interval,
+                                                        &tmp_value);
+                    prev = current = g_value_get_float (&tmp_value);
+                    g_value_unset (&tmp_value);
+                  }
+
+                 nextv = list_try_get_rel (previous_l, 1);
+                 nextnext = list_try_get_rel (previous_l, 2);
+                 res = cubic_interpolation (sub_progress, prev, current, nextv,
+                                            nextnext);
+                 g_value_set_float (value, res);
+              }
+            else
+              clutter_interval_compute_value (interval,
+                                              sub_progress,
+                                              value);
+
+            g_object_ref_sink (interval);
+            g_object_unref (interval);
+            g_object_ref_sink (alpha);
+            g_object_unref (alpha);
+
+            return TRUE;
+         }
+
+    }
+
+  if (!next)
+    return FALSE;
+
+  /* We're at, or past the end, use the last value */
+  g_value_copy (&next->value, value);
+
+  return TRUE;
+}
+
+
+/**
+ * clutter_animator_set_timeline:
+ * @animator: a #ClutterAnimator
+ * @timeline: a #ClutterTimeline
+ *
+ * Sets an external timeline that will be used for driving the animation
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+void
+clutter_animator_set_timeline (ClutterAnimator *animator,
+                               ClutterTimeline *timeline)
+{
+  ClutterAnimatorPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATOR (animator));
+
+  priv = animator->priv;
+
+  if (priv->timeline != NULL)
+    {
+      g_signal_handlers_disconnect_by_func (priv->timeline,
+                                            animation_animator_new_frame,
+                                            animator);
+      g_signal_handlers_disconnect_by_func (priv->timeline,
+                                            animation_animator_started,
+                                            animator);
+      g_object_unref (priv->timeline);
+    }
+
+  priv->timeline = timeline;
+  if (timeline != NULL)
+    {
+      g_object_ref (priv->timeline);
+
+      g_signal_connect (priv->timeline, "new-frame",
+                        G_CALLBACK (animation_animator_new_frame),
+                        animator);
+      g_signal_connect (priv->timeline, "started",
+                        G_CALLBACK (animation_animator_started),
+                        animator);
+    }
+}
+
+/**
+ * clutter_animator_get_timeline:
+ * @animator: a #ClutterAnimator
+ *
+ * Get the timeline hooked up for driving the #ClutterAnimator
+ *
+ * Return value: (transfer none): the #ClutterTimeline that drives the animator
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+ClutterTimeline *
+clutter_animator_get_timeline (ClutterAnimator *animator)
+{
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), NULL);
+  return animator->priv->timeline;
+}
+
+/**
+ * clutter_animator_start:
+ * @animator: a #ClutterAnimator
+ *
+ * Start the ClutterAnimator, this is a thin wrapper that rewinds
+ * and starts the animators current timeline.
+ *
+ * Return value: (transfer none): the #ClutterTimeline that drives
+ *   the animator. The returned timeline is owned by the #ClutterAnimator
+ *   and it should not be unreferenced
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+ClutterTimeline *
+clutter_animator_start (ClutterAnimator *animator)
+{
+  ClutterAnimatorPrivate *priv;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), NULL);
+
+  priv = animator->priv;
+
+  clutter_timeline_rewind (priv->timeline);
+  clutter_timeline_start (priv->timeline);
+
+  return priv->timeline;
+}
+
+/**
+ * clutter_animator_set_duration:
+ * @animator: a #ClutterAnimator
+ * @duration: milliseconds a run of the animator should last.
+ *
+ * Runs the timeline of the #ClutterAnimator with a duration in msecs
+ * as specified.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+void
+clutter_animator_set_duration (ClutterAnimator *animator,
+                               guint            duration)
+{
+  g_return_if_fail (CLUTTER_IS_ANIMATOR (animator));
+
+  clutter_timeline_set_duration (animator->priv->timeline, duration);
+}
+
+/**
+ * clutter_animator_get_duration:
+ * @animator: a #ClutterAnimator
+ *
+ * Retrieves the current duration of an animator
+ *
+ * Return value: the duration of the animation, in milliseconds
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+guint
+clutter_animator_get_duration  (ClutterAnimator *animator)
+{
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), 0);
+
+  return clutter_timeline_get_duration (animator->priv->timeline);
+}
+
+/**
+ * clutter_animator_set:
+ * @animator: a #ClutterAnimator
+ * @first_object: a #GObject
+ * @first_property_name: the property to specify a key for
+ * @first_mode: the id of the alpha function to use
+ * @first_progress: at which stage of the animation this value applies; the
+ *   range is a normalized floating point value between 0 and 1
+ * @...: the value first_property_name should have for first_object
+ *   at first_progress, followed by more (object, property_name, mode,
+ *   progress, value) tuples, followed by %NULL
+ *
+ * Adds multiple keys to a #ClutterAnimator, specifying the value a given
+ * property should have at a given progress of the animation. The mode
+ * specified is the mode used when going to this key from the previous key of
+ * the @property_name
+ *
+ * If a given (object, property, progress) tuple already exist the mode and
+ * value will be replaced with the new values.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+void
+clutter_animator_set (ClutterAnimator *animator,
+                      gpointer         first_object,
+                      const gchar     *first_property_name,
+                      guint            first_mode,
+                      gdouble          first_progress,
+                      ...)
+{
+  GObject      *object;
+  const gchar  *property_name;
+  guint         mode;
+  gdouble       progress;
+  va_list       args;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATOR (animator));
+
+  object = first_object;
+  property_name = first_property_name;
+
+  g_return_if_fail (object);
+  g_return_if_fail (property_name);
+
+  mode = first_mode;
+  progress = first_progress;
+
+  va_start (args, first_progress);
+
+  while (object != NULL)
+    {
+      GParamSpec *pspec;
+      GObjectClass *klass;
+      GValue value = G_VALUE_INIT;
+      gchar *error = NULL;
+
+      klass = G_OBJECT_GET_CLASS (object);
+      pspec = g_object_class_find_property (klass, property_name);
+
+      if (!pspec)
+        {
+          g_warning ("Cannot bind property '%s': object of type '%s' "
+                     "do not have this property",
+                     property_name, G_OBJECT_TYPE_NAME (object));
+          break;
+        }
+
+      G_VALUE_COLLECT_INIT (&value, G_PARAM_SPEC_VALUE_TYPE (pspec),
+                            args, 0,
+                            &error);
+
+      if (error)
+        {
+          g_warning ("%s: %s", G_STRLOC, error);
+          g_free (error);
+          break;
+        }
+
+      clutter_animator_set_key (animator,
+                                object,
+                                property_name,
+                                mode,
+                                progress,
+                                &value);
+
+      object= va_arg (args, GObject *);
+      if (object)
+        {
+          property_name = va_arg (args, gchar*);
+          if (!property_name)
+           {
+             g_warning ("%s: expected a property name", G_STRLOC);
+             break;
+           }
+          mode = va_arg (args, guint);
+          progress = va_arg (args, gdouble);
+        }
+    }
+
+  va_end (args);
+}
+
+static inline void
+clutter_animator_set_key_internal (ClutterAnimator    *animator,
+                                   ClutterAnimatorKey *key)
+{
+  ClutterAnimatorPrivate *priv = animator->priv;
+  GList                  *old_item;
+  GList                  *initial_item;
+  ClutterAnimatorKey     *initial_key = NULL;
+
+  if ((initial_item = g_list_find_custom (animator->priv->score, key,
+                                          sort_actor_prop_func)))
+    initial_key = initial_item->data;
+
+  /* The first key for a property specifies ease-in and interpolation,
+   * if we are replacing; or becoming a new first key we should
+   * inherit the old flags.
+   */
+  if (initial_key &&
+      initial_key->progress >= key->progress)
+    {
+      key->interpolation = initial_key->interpolation;
+      key->ease_in = initial_key->ease_in;
+    }
+
+  old_item = g_list_find_custom (priv->score, key,
+                                 sort_actor_prop_progress_func);
+
+  /* replace the key if we already have a similar one */
+  if (old_item != NULL)
+    {
+      ClutterAnimatorKey *old_key = old_item->data;
+
+      clutter_animator_key_free (old_key);
+
+      priv->score = g_list_remove (priv->score, old_key);
+    }
+
+  priv->score = g_list_insert_sorted (priv->score, key,
+                                      sort_actor_prop_progress_func);
+
+  /* if the animator is already running reinitialize internal iterators */
+  if (clutter_timeline_is_playing (priv->timeline))
+    animation_animator_started (priv->timeline, animator);
+}
+
+/**
+ * clutter_animator_set_key:
+ * @animator: a #ClutterAnimator
+ * @object: a #GObject
+ * @property_name: the property to specify a key for
+ * @mode: the id of the alpha function to use
+ * @progress: the normalized range at which stage of the animation this
+ *   value applies
+ * @value: the value property_name should have at progress.
+ *
+ * Sets a single key in the #ClutterAnimator for the @property_name of
+ * @object at @progress.
+ *
+ * See also: clutter_animator_set()
+ *
+ * Return value: (transfer none): The animator instance
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+ClutterAnimator *
+clutter_animator_set_key (ClutterAnimator *animator,
+                          GObject         *object,
+                          const gchar     *property_name,
+                          guint            mode,
+                          gdouble          progress,
+                          const GValue    *value)
+{
+  ClutterAnimatorKey *animator_key;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), NULL);
+  g_return_val_if_fail (G_IS_OBJECT (object), NULL);
+  g_return_val_if_fail (property_name, NULL);
+  g_return_val_if_fail (value, NULL);
+
+  property_name = g_intern_string (property_name);
+
+  animator_key = clutter_animator_key_new (animator,
+                                           object, property_name,
+                                           progress,
+                                           mode);
+
+  g_value_init (&animator_key->value, G_VALUE_TYPE (value));
+  g_value_copy (value, &animator_key->value);
+
+  clutter_animator_set_key_internal (animator, animator_key);
+
+  return animator;
+}
+
+/**
+ * clutter_animator_get_keys:
+ * @animator: a #ClutterAnimator instance
+ * @object: (allow-none): a #GObject to search for, or %NULL for all objects
+ * @property_name: (allow-none): a specific property name to query for,
+ *   or %NULL for all properties
+ * @progress: a specific progress to search for, or a negative value for all
+ *   progresses
+ *
+ * Returns a list of pointers to opaque structures with accessor functions
+ * that describe the keys added to an animator.
+ *
+ * Return value: (transfer container) (element-type Clutter.AnimatorKey): a
+ *   list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned
+ *   by the #ClutterAnimator, but you should free the returned list when done,
+ *   using g_list_free()
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+GList *
+clutter_animator_get_keys (ClutterAnimator *animator,
+                           GObject         *object,
+                           const gchar     *property_name,
+                           gdouble          progress)
+{
+  GList *keys = NULL;
+  GList *k;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), NULL);
+  g_return_val_if_fail (object == NULL || G_IS_OBJECT (object), NULL);
+
+  property_name = g_intern_string (property_name);
+
+  for (k = animator->priv->score; k; k = k->next)
+    {
+      ClutterAnimatorKey *key = k->data;
+
+      if ((object == NULL || (object == key->object)) &&
+          (property_name == NULL || (property_name == key->property_name)) &&
+          (progress < 0  || fabs (progress - key->progress) < PROGRESS_EPSILON))
+        {
+          keys = g_list_prepend (keys, key);
+        }
+    }
+
+  return g_list_reverse (keys);
+}
+
+static void
+clutter_animator_remove_key_internal (ClutterAnimator *animator,
+                                      GObject         *object,
+                                      const gchar     *property_name,
+                                      gdouble          progress,
+                                      gboolean         is_inert)
+{
+  ClutterAnimatorPrivate *priv;
+  GList *k;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATOR (animator));
+  g_return_if_fail (object == NULL || G_IS_OBJECT (object));
+
+  property_name = g_intern_string (property_name);
+
+  priv = animator->priv;
+
+again:
+  for (k = priv->score; k != NULL; k = k->next)
+    {
+      ClutterAnimatorKey *key = k->data;
+
+      if ((object == NULL        || (object == key->object)) &&
+          (property_name == NULL || ((property_name == key->property_name))) &&
+          (progress < 0  || fabs (progress - key->progress) < PROGRESS_EPSILON)
+         )
+        {
+          ClutterAnimatorKey *prev_key = NULL;
+          key->is_inert = is_inert;
+
+
+          /* FIXME: non performant since we reiterate the list many times */
+
+          prev_key = k->prev ? k->prev->data : NULL;
+
+          if (!prev_key || prev_key->object   != key->object ||
+                           prev_key->property_name != key->property_name)
+            { /* We are removing the first key for a property ... */
+              ClutterAnimatorKey *next_key = k->next ? k->next->data : NULL;
+              if (next_key && next_key->object == key->object &&
+                              next_key->property_name == key->property_name)
+                {
+                  /* ... and there is a key of our own type following us,
+                   * copy interpolation/ease_in flags to the new first key
+                   */
+                  next_key->interpolation = key->interpolation;
+                  next_key->ease_in = key->ease_in;
+                }
+            }
+
+          clutter_animator_key_free (key);
+          priv->score = g_list_remove (priv->score, key);
+          goto again;
+        }
+    }
+
+  /* clear off cached state for all properties, this is regenerated in a
+   * correct state by animation_animator_started
+   */
+  g_hash_table_remove_all (priv->properties);
+
+  /* if the animator is already running reinitialize internal iterators */
+  if (priv->timeline != NULL && clutter_timeline_is_playing (priv->timeline))
+    animation_animator_started (priv->timeline, animator);
+}
+
+/**
+ * clutter_animator_remove_key:
+ * @animator: a #ClutterAnimator
+ * @object: (allow-none): a #GObject to search for, or %NULL for all
+ * @property_name: (allow-none): a specific property name to query for,
+ *   or %NULL for all
+ * @progress: a specific progress to search for or a negative value
+ *   for all
+ *
+ * Removes all keys matching the conditions specificed in the arguments.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+void
+clutter_animator_remove_key (ClutterAnimator *animator,
+                             GObject         *object,
+                             const gchar     *property_name,
+                             gdouble          progress)
+{
+  clutter_animator_remove_key_internal (animator, object, property_name, 
+                                        progress, FALSE);
+}
+
+
+
+
+typedef struct _ParseClosure {
+  ClutterAnimator *animator;
+  ClutterScript *script;
+
+  GValue *value;
+
+  gboolean result;
+} ParseClosure;
+
+static ClutterInterpolation
+resolve_interpolation (JsonNode *node)
+{
+  if ((JSON_NODE_TYPE (node) != JSON_NODE_VALUE))
+    return CLUTTER_INTERPOLATION_LINEAR;
+
+  if (json_node_get_value_type (node) == G_TYPE_INT64)
+    {
+      return json_node_get_int (node);
+    }
+  else if (json_node_get_value_type (node) == G_TYPE_STRING)
+    {
+      const gchar *str = json_node_get_string (node);
+      gboolean res;
+      gint enum_value;
+
+      res = _clutter_script_enum_from_string (CLUTTER_TYPE_INTERPOLATION,
+                                              str,
+                                              &enum_value);
+      if (res)
+        return enum_value;
+    }
+
+  return CLUTTER_INTERPOLATION_LINEAR;
+}
+
+static void
+parse_animator_property (JsonArray *array,
+                         guint      index_,
+                         JsonNode  *element,
+                         gpointer   data)
+{
+  ParseClosure *clos = data;
+  JsonObject *object;
+  JsonArray *keys;
+  GObject *gobject;
+  const gchar *id_, *pname;
+  GObjectClass *klass;
+  GParamSpec *pspec;
+  GSList *valid_keys = NULL;
+  GList *array_keys, *k;
+  ClutterInterpolation interpolation = CLUTTER_INTERPOLATION_LINEAR;
+  gboolean ease_in = FALSE;
+
+  if (JSON_NODE_TYPE (element) != JSON_NODE_OBJECT)
+    {
+      g_warning ("The 'properties' member of a ClutterAnimator description "
+                 "should be an array of objects, but the element %d of the "
+                 "array is of type '%s'. The element will be ignored.",
+                 index_,
+                 json_node_type_name (element));
+      return;
+    }
+
+  object = json_node_get_object (element);
+
+  if (!json_object_has_member (object, "object") ||
+      !json_object_has_member (object, "name") ||
+      !json_object_has_member (object, "keys"))
+    {
+      g_warning ("The property description at index %d is missing one of "
+                 "the mandatory fields: object, name and keys",
+                 index_);
+      return;
+    }
+
+  id_ = json_object_get_string_member (object, "object");
+  gobject = clutter_script_get_object (clos->script, id_);
+  if (gobject == NULL)
+    {
+      g_warning ("No object with id '%s' has been defined.", id_);
+      return;
+    }
+
+  pname = json_object_get_string_member (object, "name");
+  klass = G_OBJECT_GET_CLASS (gobject);
+  pspec = g_object_class_find_property (klass, pname);
+  if (pspec == NULL)
+    {
+      g_warning ("The object of type '%s' and name '%s' has no "
+                 "property named '%s'",
+                 G_OBJECT_TYPE_NAME (gobject),
+                 id_,
+                 pname);
+      return;
+    }
+
+  if (json_object_has_member (object, "ease-in"))
+    ease_in = json_object_get_boolean_member (object, "ease-in");
+
+  if (json_object_has_member (object, "interpolation"))
+    {
+      JsonNode *node = json_object_get_member (object, "interpolation");
+
+      interpolation = resolve_interpolation (node);
+    }
+
+  keys = json_object_get_array_member (object, "keys");
+  if (keys == NULL)
+    {
+      g_warning ("The property description at index %d has an invalid "
+                 "key field of type '%s' when an array was expected.",
+                 index_,
+                 json_node_type_name (json_object_get_member (object, "keys")));
+      return;
+    }
+
+  if (G_IS_VALUE (clos->value))
+    valid_keys = g_slist_reverse (g_value_get_pointer (clos->value));
+  else
+    g_value_init (clos->value, G_TYPE_POINTER);
+
+  array_keys = json_array_get_elements (keys);
+  for (k = array_keys; k != NULL; k = k->next)
+    {
+      JsonNode *node = k->data;
+      JsonArray *key = json_node_get_array (node);
+      ClutterAnimatorKey *animator_key;
+      gdouble progress;
+      gulong mode;
+      gboolean res;
+
+      progress = json_array_get_double_element (key, 0);
+      mode = _clutter_script_resolve_animation_mode (json_array_get_element (key, 1));
+
+      animator_key = clutter_animator_key_new (clos->animator,
+                                               gobject,
+                                               pname,
+                                               progress,
+                                               mode);
+
+      res = _clutter_script_parse_node (clos->script,
+                                        &(animator_key->value),
+                                        pname,
+                                        json_array_get_element (key, 2),
+                                        pspec);
+      if (!res)
+        {
+          g_warning ("Unable to parse the key value for the "
+                     "property '%s' (progress: %.2f) at index %d",
+                     pname,
+                     progress,
+                     index_);
+          continue;
+        }
+
+      animator_key->ease_in = ease_in;
+      animator_key->interpolation = interpolation;
+
+      valid_keys = g_slist_prepend (valid_keys, animator_key);
+    }
+
+  g_list_free (array_keys);
+
+  g_value_set_pointer (clos->value, g_slist_reverse (valid_keys));
+
+  clos->result = TRUE;
+}
+
+static gboolean
+clutter_animator_parse_custom_node (ClutterScriptable *scriptable,
+                                    ClutterScript     *script,
+                                    GValue            *value,
+                                    const gchar       *name,
+                                    JsonNode          *node)
+{
+  ParseClosure parse_closure;
+
+  if (strcmp (name, "properties") != 0)
+    return FALSE;
+
+  if (JSON_NODE_TYPE (node) != JSON_NODE_ARRAY)
+    return FALSE;
+
+  parse_closure.animator = CLUTTER_ANIMATOR (scriptable);
+  parse_closure.script = script;
+  parse_closure.value = value;
+  parse_closure.result = FALSE;
+
+  json_array_foreach_element (json_node_get_array (node),
+                              parse_animator_property,
+                              &parse_closure);
+
+  /* we return TRUE if we had at least one key parsed */
+
+  return parse_closure.result;
+}
+
+static void
+clutter_animator_set_custom_property (ClutterScriptable *scriptable,
+                                      ClutterScript     *script,
+                                      const gchar       *name,
+                                      const GValue      *value)
+{
+  if (strcmp (name, "properties") == 0)
+    {
+      ClutterAnimator *animator = CLUTTER_ANIMATOR (scriptable);
+      GSList *keys = g_value_get_pointer (value);
+      GSList *k;
+
+      for (k = keys; k != NULL; k = k->next)
+        clutter_animator_set_key_internal (animator, k->data);
+
+      g_slist_free (keys);
+    }
+  else
+    g_object_set_property (G_OBJECT (scriptable), name, value);
+}
+
+static void
+clutter_scriptable_init (ClutterScriptableIface *iface)
+{
+  iface->parse_custom_node = clutter_animator_parse_custom_node;
+  iface->set_custom_property = clutter_animator_set_custom_property;
+}
+
+static void
+clutter_animator_set_property (GObject      *gobject,
+                               guint         prop_id,
+                               const GValue *value,
+                               GParamSpec   *pspec)
+{
+  ClutterAnimator *self = CLUTTER_ANIMATOR (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_DURATION:
+      clutter_animator_set_duration (self, g_value_get_uint (value));
+      break;
+
+    case PROP_TIMELINE:
+      clutter_animator_set_timeline (self, g_value_get_object (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_animator_get_property (GObject    *gobject,
+                               guint       prop_id,
+                               GValue     *value,
+                               GParamSpec *pspec)
+{
+  ClutterAnimatorPrivate *priv = CLUTTER_ANIMATOR (gobject)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_DURATION:
+      g_value_set_uint (value, clutter_timeline_get_duration (priv->timeline));
+      break;
+
+    case PROP_TIMELINE:
+      g_value_set_object (value, priv->timeline);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_animator_class_init (ClutterAnimatorClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  g_type_class_add_private (klass, sizeof (ClutterAnimatorPrivate));
+
+  gobject_class->set_property = clutter_animator_set_property;
+  gobject_class->get_property = clutter_animator_get_property;
+  gobject_class->dispose = clutter_animator_dispose;
+  gobject_class->finalize = clutter_animator_finalize;
+
+  /**
+   * ClutterAnimator:duration:
+   *
+   * The duration of the #ClutterTimeline used by the #ClutterAnimator
+   * to drive the animation
+   *
+   * Since: 1.2
+   * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+   */
+  obj_props[PROP_DURATION] =
+    g_param_spec_uint ("duration",
+                       P_("Duration"),
+                       P_("The duration of the animation"),
+                       0, G_MAXUINT,
+                       2000,
+                       CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterAnimator:timeline:
+   *
+   * The #ClutterTimeline used by the #ClutterAnimator to drive the
+   * animation
+   *
+   * Since: 1.2
+   * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+   */
+  obj_props[PROP_TIMELINE] =
+    g_param_spec_object ("timeline",
+                         P_("Timeline"),
+                         P_("The timeline of the animation"),
+                         CLUTTER_TYPE_TIMELINE,
+                         CLUTTER_PARAM_READWRITE);
+
+  g_object_class_install_properties (gobject_class,
+                                     PROP_LAST,
+                                     obj_props);
+}
+
+static void
+clutter_animator_init (ClutterAnimator *animator)
+{
+  ClutterAnimatorPrivate *priv;
+  ClutterTimeline *timeline;
+
+  animator->priv = priv = CLUTTER_ANIMATOR_GET_PRIVATE (animator);
+
+  priv->properties = g_hash_table_new_full (prop_actor_hash,
+                                            prop_actor_equal,
+                                            prop_actor_key_free,
+                                            property_iter_free);
+
+  timeline = clutter_timeline_new (2000);
+  clutter_animator_set_timeline (animator, timeline);
+  g_object_unref (timeline);
+
+  priv->slave_timeline = clutter_timeline_new (10000);
+}
+
+
+/**
+ * clutter_animator_property_get_ease_in:
+ * @animator: a #ClutterAnimatorKey
+ * @object: a #GObject
+ * @property_name: the name of a property on object
+ *
+ * Checks if a property value is to be eased into the animation.
+ *
+ * Return value: %TRUE if the property is eased in
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+gboolean
+clutter_animator_property_get_ease_in (ClutterAnimator *animator,
+                                       GObject         *object,
+                                       const gchar     *property_name)
+{
+  ClutterAnimatorKey  key, *initial_key;
+  GList              *initial;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator), FALSE);
+  g_return_val_if_fail (G_IS_OBJECT (object), FALSE);
+  g_return_val_if_fail (property_name, FALSE);
+
+  key.object        = object;
+  key.property_name = g_intern_string (property_name);
+  initial = g_list_find_custom (animator->priv->score, &key,
+                                sort_actor_prop_func);
+  if (initial != NULL)
+    {
+      initial_key = initial->data;
+
+      return initial_key->ease_in;
+    }
+
+  return FALSE;
+}
+
+/**
+ * clutter_animator_property_set_ease_in:
+ * @animator: a #ClutterAnimatorKey
+ * @object: a #GObject
+ * @property_name: the name of a property on object
+ * @ease_in: we are going to be easing in this property
+ *
+ * Sets whether a property value is to be eased into the animation.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+void
+clutter_animator_property_set_ease_in (ClutterAnimator *animator,
+                                       GObject         *object,
+                                       const gchar     *property_name,
+                                       gboolean         ease_in)
+{
+  ClutterAnimatorKey  key, *initial_key;
+  GList              *initial;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATOR (animator));
+  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (property_name);
+
+  key.object        = object;
+  key.property_name = g_intern_string (property_name);
+  initial = g_list_find_custom (animator->priv->score, &key,
+                                sort_actor_prop_func);
+  if (initial)
+    {
+      initial_key = initial->data;
+      initial_key->ease_in = ease_in;
+    }
+  else
+    g_warning ("The animator has no object of type '%s' with a "
+               "property named '%s'",
+               G_OBJECT_TYPE_NAME (object),
+               property_name);
+}
+
+
+/**
+ * clutter_animator_property_get_interpolation:
+ * @animator: a #ClutterAnimatorKey
+ * @object: a #GObject
+ * @property_name: the name of a property on object
+ *
+ * Get the interpolation used by animator for a property on a particular
+ * object.
+ *
+ * Returns: a ClutterInterpolation value.
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+ClutterInterpolation
+clutter_animator_property_get_interpolation (ClutterAnimator *animator,
+                                             GObject         *object,
+                                             const gchar     *property_name)
+{
+  GList              *initial;
+  ClutterAnimatorKey  key, *initial_key;
+
+  g_return_val_if_fail (CLUTTER_IS_ANIMATOR (animator),
+                        CLUTTER_INTERPOLATION_LINEAR);
+  g_return_val_if_fail (G_IS_OBJECT (object),
+                        CLUTTER_INTERPOLATION_LINEAR);
+  g_return_val_if_fail (property_name,
+                        CLUTTER_INTERPOLATION_LINEAR);
+
+  key.object        = object;
+  key.property_name = g_intern_string (property_name);
+  initial = g_list_find_custom (animator->priv->score, &key,
+                                sort_actor_prop_func);
+  if (initial)
+    {
+      initial_key = initial->data;
+
+      return initial_key->interpolation;
+    }
+
+  return CLUTTER_INTERPOLATION_LINEAR;
+}
+
+/**
+ * clutter_animator_property_set_interpolation:
+ * @animator: a #ClutterAnimatorKey
+ * @object: a #GObject
+ * @property_name: the name of a property on object
+ * @interpolation: the #ClutterInterpolation to use
+ *
+ * Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
+ * the values to linearly change between the values, and
+ * %CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
+ * the values.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+void
+clutter_animator_property_set_interpolation (ClutterAnimator     *animator,
+                                             GObject             *object,
+                                             const gchar         *property_name,
+                                             ClutterInterpolation interpolation)
+{
+  GList              *initial;
+  ClutterAnimatorKey  key, *initial_key;
+
+  g_return_if_fail (CLUTTER_IS_ANIMATOR (animator));
+  g_return_if_fail (G_IS_OBJECT (object));
+  g_return_if_fail (property_name);
+
+  key.object        = object;
+  key.property_name = g_intern_string (property_name);
+  initial = g_list_find_custom (animator->priv->score, &key,
+                                sort_actor_prop_func);
+  if (initial)
+    {
+      initial_key = initial->data;
+      initial_key->interpolation = interpolation;
+    }
+}
+
+G_DEFINE_BOXED_TYPE (ClutterAnimatorKey, clutter_animator_key,
+                     clutter_animator_key_copy,
+                     clutter_animator_key_free);
+
+/**
+ * clutter_animator_key_get_object:
+ * @key: a #ClutterAnimatorKey
+ *
+ * Retrieves the object a key applies to.
+ *
+ * Return value: (transfer none): the object an animator_key exist for.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+GObject *
+clutter_animator_key_get_object (const ClutterAnimatorKey *key)
+{
+  g_return_val_if_fail (key != NULL, NULL);
+
+  return key->object;
+}
+
+/**
+ * clutter_animator_key_get_property_name:
+ * @key: a #ClutterAnimatorKey
+ *
+ * Retrieves the name of the property a key applies to.
+ *
+ * Return value: the name of the property an animator_key exist for.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+const gchar *
+clutter_animator_key_get_property_name (const ClutterAnimatorKey *key)
+{
+  g_return_val_if_fail (key != NULL, NULL);
+
+  return key->property_name;
+}
+
+/**
+ * clutter_animator_key_get_property_type:
+ * @key: a #ClutterAnimatorKey
+ *
+ * Retrieves the #GType of the property a key applies to
+ *
+ * You can use this type to initialize the #GValue to pass to
+ * clutter_animator_key_get_value()
+ *
+ * Return value: the #GType of the property
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+GType
+clutter_animator_key_get_property_type (const ClutterAnimatorKey *key)
+{
+  g_return_val_if_fail (key != NULL, G_TYPE_INVALID);
+
+  return G_VALUE_TYPE (&key->value);
+}
+
+/**
+ * clutter_animator_key_get_mode:
+ * @key: a #ClutterAnimatorKey
+ *
+ * Retrieves the mode of a #ClutterAnimator key, for the first key of a
+ * property for an object this represents the whether the animation is
+ * open ended and or curved for the remainding keys for the property it
+ * represents the easing mode.
+ *
+ * Return value: the mode of a #ClutterAnimatorKey
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+gulong
+clutter_animator_key_get_mode (const ClutterAnimatorKey *key)
+{
+  g_return_val_if_fail (key != NULL, 0);
+
+  return key->mode;
+}
+
+/**
+ * clutter_animator_key_get_progress:
+ * @key: a #ClutterAnimatorKey
+ *
+ * Retrieves the progress of an clutter_animator_key
+ *
+ * Return value: the progress defined for a #ClutterAnimator key.
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+gdouble
+clutter_animator_key_get_progress (const ClutterAnimatorKey *key)
+{
+  g_return_val_if_fail (key != NULL, 0.0);
+
+  return key->progress;
+}
+
+/**
+ * clutter_animator_key_get_value:
+ * @key: a #ClutterAnimatorKey
+ * @value: a #GValue initialized with the correct type for the animator key
+ *
+ * Retrieves a copy of the value for a #ClutterAnimatorKey.
+ *
+ * The passed in #GValue needs to be already initialized for the value
+ * type of the key or to a type that allow transformation from the value
+ * type of the key.
+ *
+ * Use g_value_unset() when done.
+ *
+ * Return value: %TRUE if the passed #GValue was successfully set, and
+ *   %FALSE otherwise
+ *
+ * Since: 1.2
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition instead
+ */
+gboolean
+clutter_animator_key_get_value (const ClutterAnimatorKey *key,
+                                GValue                   *value)
+{
+  g_return_val_if_fail (key != NULL, FALSE);
+  g_return_val_if_fail (value != NULL, FALSE);
+  g_return_val_if_fail (G_VALUE_TYPE (value) != G_TYPE_INVALID, FALSE);
+
+  if (!g_type_is_a (G_VALUE_TYPE (&key->value), G_VALUE_TYPE (value)))
+    {
+      if (g_value_type_compatible (G_VALUE_TYPE (&key->value),
+                                   G_VALUE_TYPE (value)))
+        {
+          g_value_copy (&key->value, value);
+          return TRUE;
+        }
+
+      if (g_value_type_transformable (G_VALUE_TYPE (&key->value),
+                                      G_VALUE_TYPE (value)))
+        {
+          if (g_value_transform (&key->value, value))
+            return TRUE;
+        }
+
+      g_warning ("%s: Unable to convert from %s to %s for the "
+                 "property '%s' of object %s in the animator key",
+                 G_STRLOC,
+                 g_type_name (G_VALUE_TYPE (&key->value)),
+                 g_type_name (G_VALUE_TYPE (value)),
+                 key->property_name,
+                 G_OBJECT_TYPE_NAME (key->object));
+
+      return FALSE;
+    }
+  else
+    g_value_copy (&key->value, value);
+
+  return TRUE;
+}
diff --git a/clutter/deprecated/clutter-animator.h b/clutter/deprecated/clutter-animator.h
new file mode 100644
index 0000000..54be75b
--- /dev/null
+++ b/clutter/deprecated/clutter-animator.h
@@ -0,0 +1,186 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2010 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *   Øyvind Kolås <pippin linux intel com>
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_ANIMATOR_H__
+#define __CLUTTER_ANIMATOR_H__
+
+#include <clutter/clutter-types.h>
+#include <clutter/clutter-timeline.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_ANIMATOR                   (clutter_animator_get_type ())
+#define CLUTTER_TYPE_ANIMATOR_KEY               (clutter_animator_key_get_type ())
+
+#define CLUTTER_ANIMATOR(obj)                   (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_ANIMATOR, 
ClutterAnimator))
+#define CLUTTER_ANIMATOR_CLASS(klass)           (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_ANIMATOR, 
ClutterAnimatorClass))
+#define CLUTTER_IS_ANIMATOR(obj)                (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_ANIMATOR))
+#define CLUTTER_IS_ANIMATOR_CLASS(klass)        (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_ANIMATOR))
+#define CLUTTER_ANIMATOR_GET_CLASS(obj)         (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_ANIMATOR, 
ClutterAnimatorClass))
+
+/* ClutterAnimator is typedef in clutter-types.h */
+
+typedef struct _ClutterAnimatorClass   ClutterAnimatorClass;
+typedef struct _ClutterAnimatorPrivate ClutterAnimatorPrivate;
+
+/**
+ * ClutterAnimatorKey:
+ *
+ * A key frame inside a #ClutterAnimator
+ *
+ * Since: 1.2
+ */
+typedef struct _ClutterAnimatorKey     ClutterAnimatorKey;
+
+/**
+ * ClutterAnimator:
+ *
+ * The #ClutterAnimator structure contains only private data and
+ * should be accessed using the provided API
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+struct _ClutterAnimator
+{
+  /*< private >*/
+  GObject parent_instance;
+
+  ClutterAnimatorPrivate *priv;
+};
+
+/**
+ * ClutterAnimatorClass:
+ *
+ * The #ClutterAnimatorClass structure contains only private data
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+struct _ClutterAnimatorClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /* padding for future expansion */
+  gpointer _padding_dummy[16];
+};
+
+CLUTTER_DEPRECATED_IN_1_12
+GType                clutter_animator_get_type                   (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimator *    clutter_animator_new                        (void);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimator *    clutter_animator_set_key                    (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name,
+                                                                  guint                 mode,
+                                                                  gdouble               progress,
+                                                                  const GValue         *value);
+CLUTTER_DEPRECATED_IN_1_12
+void                 clutter_animator_set                        (ClutterAnimator      *animator,
+                                                                  gpointer              first_object,
+                                                                  const gchar          *first_property_name,
+                                                                  guint                 first_mode,
+                                                                  gdouble               first_progress,
+                                                                  ...) G_GNUC_NULL_TERMINATED;
+CLUTTER_DEPRECATED_IN_1_12
+GList              * clutter_animator_get_keys                   (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name,
+                                                                  gdouble               progress);
+
+CLUTTER_DEPRECATED_IN_1_12
+void                 clutter_animator_remove_key                 (ClutterAnimator      *animator,
+                                                                  GObject              *object, 
+                                                                  const gchar          *property_name,
+                                                                  gdouble               progress);
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline *    clutter_animator_start                      (ClutterAnimator      *animator);
+
+CLUTTER_DEPRECATED_IN_1_12
+gboolean             clutter_animator_compute_value              (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name,
+                                                                  gdouble               progress,
+                                                                  GValue               *value);
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline *    clutter_animator_get_timeline               (ClutterAnimator      *animator);
+CLUTTER_DEPRECATED_IN_1_12
+void                 clutter_animator_set_timeline               (ClutterAnimator      *animator,
+                                                                  ClutterTimeline      *timeline);
+CLUTTER_DEPRECATED_IN_1_12
+guint                clutter_animator_get_duration               (ClutterAnimator      *animator);
+CLUTTER_DEPRECATED_IN_1_12
+void                 clutter_animator_set_duration               (ClutterAnimator      *animator,
+                                                                  guint                 duration);
+
+CLUTTER_DEPRECATED_IN_1_12
+gboolean             clutter_animator_property_get_ease_in       (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+void                 clutter_animator_property_set_ease_in       (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name,
+                                                                  gboolean              ease_in);
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterInterpolation clutter_animator_property_get_interpolation (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+void                 clutter_animator_property_set_interpolation (ClutterAnimator      *animator,
+                                                                  GObject              *object,
+                                                                  const gchar          *property_name,
+                                                                  ClutterInterpolation  interpolation);
+
+CLUTTER_DEPRECATED_IN_1_12
+GType           clutter_animator_key_get_type           (void) G_GNUC_CONST;
+CLUTTER_DEPRECATED_IN_1_12
+GObject *       clutter_animator_key_get_object         (const ClutterAnimatorKey *key);
+CLUTTER_DEPRECATED_IN_1_12
+const gchar *   clutter_animator_key_get_property_name  (const ClutterAnimatorKey *key);
+CLUTTER_DEPRECATED_IN_1_12
+GType           clutter_animator_key_get_property_type  (const ClutterAnimatorKey *key);
+CLUTTER_DEPRECATED_IN_1_12
+gulong          clutter_animator_key_get_mode           (const ClutterAnimatorKey *key);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble         clutter_animator_key_get_progress       (const ClutterAnimatorKey *key);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean        clutter_animator_key_get_value          (const ClutterAnimatorKey *key,
+                                                         GValue                   *value);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_ANIMATOR_H__ */
diff --git a/clutter/deprecated/clutter-backend.h b/clutter/deprecated/clutter-backend.h
new file mode 100644
index 0000000..3fe0274
--- /dev/null
+++ b/clutter/deprecated/clutter-backend.h
@@ -0,0 +1,64 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006, 2007, 2008 OpenedHand Ltd
+ * Copyright (C) 2009, 2010 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BACKEND_DEPRECATED_H__
+#define __CLUTTER_BACKEND_DEPRECATED_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:font_dpi)
+void            clutter_backend_set_resolution                  (ClutterBackend *backend,
+                                                                 gdouble         dpi);
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:double_click_time)
+void            clutter_backend_set_double_click_time           (ClutterBackend *backend,
+                                                                 guint           msec);
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:double_click_time)
+guint           clutter_backend_get_double_click_time           (ClutterBackend *backend);
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:double_click_distance)
+void            clutter_backend_set_double_click_distance       (ClutterBackend *backend,
+                                                                 guint           distance);
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:double_click_distance)
+guint           clutter_backend_get_double_click_distance       (ClutterBackend *backend);
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:font_name)
+void            clutter_backend_set_font_name                   (ClutterBackend *backend,
+                                                                 const gchar    *font_name);
+
+CLUTTER_DEPRECATED_IN_1_4_FOR(ClutterSettings:font_name)
+const gchar *   clutter_backend_get_font_name                   (ClutterBackend *backend);
+
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BACKEND_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-behaviour-depth.c b/clutter/deprecated/clutter-behaviour-depth.c
new file mode 100644
index 0000000..49a4afc
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-depth.c
@@ -0,0 +1,309 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "deprecated/clutter-actor.h"
+#include "clutter-alpha.h"
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-depth.h"
+#include "clutter-enum-types.h"
+#include "clutter-main.h"
+#include "clutter-debug.h"
+#include "clutter-private.h"
+
+/**
+ * SECTION:clutter-behaviour-depth
+ * @Title: ClutterBehaviourDepth
+ * @short_description: A behaviour controlling the Z position
+ * @Deprecated: 1.6: Use clutter_actor_animate() instead
+ *
+ * #ClutterBehaviourDepth is a simple #ClutterBehaviour controlling the
+ * depth of a set of actors between a start and end depth.
+ *
+ * #ClutterBehaviourDepth is available since Clutter 0.4.
+ *
+ * Deprecated: 1.6: Use the #ClutterActor:depth property and
+ *   clutter_actor_animate(), or #ClutterAnimator, or #ClutterState
+ *   instead.
+ */
+
+G_DEFINE_TYPE (ClutterBehaviourDepth,
+               clutter_behaviour_depth,
+               CLUTTER_TYPE_BEHAVIOUR);
+
+struct _ClutterBehaviourDepthPrivate
+{
+  gint depth_start;
+  gint depth_end;
+};
+
+enum
+{
+  PROP_0,
+
+  PROP_DEPTH_START,
+  PROP_DEPTH_END
+};
+
+static void
+alpha_notify_foreach (ClutterBehaviour *behaviour,
+                      ClutterActor     *actor,
+                      gpointer          user_data)
+{
+  clutter_actor_set_depth (actor, GPOINTER_TO_INT (user_data));
+}
+
+static void
+clutter_behaviour_depth_alpha_notify (ClutterBehaviour *behaviour,
+                                      gdouble           alpha_value)
+{
+  ClutterBehaviourDepthPrivate *priv;
+  gint depth;
+
+  priv = CLUTTER_BEHAVIOUR_DEPTH (behaviour)->priv;
+
+  /* Need to create factor as to avoid borking signedness */
+  depth = (alpha_value * (priv->depth_end - priv->depth_start))
+        + priv->depth_start;
+
+  CLUTTER_NOTE (ANIMATION, "alpha: %.4f, depth: %d", alpha_value, depth);
+
+  clutter_behaviour_actors_foreach (behaviour,
+                                    alpha_notify_foreach,
+                                    GINT_TO_POINTER (depth));
+}
+
+static void
+clutter_behaviour_depth_applied (ClutterBehaviour *behaviour,
+                                 ClutterActor     *actor)
+{
+  ClutterBehaviourDepth *depth = CLUTTER_BEHAVIOUR_DEPTH (behaviour);
+
+  clutter_actor_set_depth (actor, depth->priv->depth_start);
+}
+
+static void
+clutter_behaviour_depth_set_property (GObject      *gobject,
+                                      guint         prop_id,
+                                      const GValue *value,
+                                      GParamSpec   *pspec)
+{
+  ClutterBehaviourDepth *depth = CLUTTER_BEHAVIOUR_DEPTH (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_DEPTH_START:
+      depth->priv->depth_start = g_value_get_int (value);
+      break;
+    case PROP_DEPTH_END:
+      depth->priv->depth_end = g_value_get_int (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_depth_get_property (GObject    *gobject,
+                                      guint       prop_id,
+                                      GValue     *value,
+                                      GParamSpec *pspec)
+{
+  ClutterBehaviourDepth *depth = CLUTTER_BEHAVIOUR_DEPTH (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_DEPTH_START:
+      g_value_set_int (value, depth->priv->depth_start);
+      break;
+    case PROP_DEPTH_END:
+      g_value_set_int (value, depth->priv->depth_end);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_depth_class_init (ClutterBehaviourDepthClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterBehaviourClass *behaviour_class = CLUTTER_BEHAVIOUR_CLASS (klass);
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourDepthPrivate));
+
+  gobject_class->set_property = clutter_behaviour_depth_set_property;
+  gobject_class->get_property = clutter_behaviour_depth_get_property;
+
+  behaviour_class->alpha_notify = clutter_behaviour_depth_alpha_notify;
+  behaviour_class->applied = clutter_behaviour_depth_applied;
+
+  /**
+   * ClutterBehaviourDepth:depth-start:
+   *
+   * Start depth level to apply to the actors.
+   *
+   * Since: 0.4
+   *
+   * Deprecated: 1.6
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_DEPTH_START,
+                                   g_param_spec_int ("depth-start",
+                                                     P_("Start Depth"),
+                                                     P_("Initial depth to apply"),
+                                                     G_MININT, G_MAXINT, 0,
+                                                     CLUTTER_PARAM_READWRITE));
+  /**
+   * ClutterBehaviourDepth:depth-end:
+   *
+   * End depth level to apply to the actors.
+   *
+   * Since: 0.4
+   *
+   * Deprecated: 1.6
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_DEPTH_END,
+                                   g_param_spec_int ("depth-end",
+                                                     P_("End Depth"),
+                                                     P_("Final depth to apply"),
+                                                     G_MININT, G_MAXINT, 0,
+                                                     CLUTTER_PARAM_READWRITE));
+}
+
+static void
+clutter_behaviour_depth_init (ClutterBehaviourDepth *depth)
+{
+  depth->priv = G_TYPE_INSTANCE_GET_PRIVATE (depth,
+                                             CLUTTER_TYPE_BEHAVIOUR_DEPTH,
+                                             ClutterBehaviourDepthPrivate);
+}
+
+/**
+ * clutter_behaviour_depth_new:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @depth_start: initial value of the depth
+ * @depth_end: final value of the depth
+ *
+ * Creates a new #ClutterBehaviourDepth which can be used to control
+ * the ClutterActor:depth property of a set of #ClutterActor<!-- -->s.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: (transfer full): the newly created behaviour
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+ClutterBehaviour *
+clutter_behaviour_depth_new (ClutterAlpha *alpha,
+                             gint          depth_start,
+                             gint          depth_end)
+{
+  g_return_val_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha), NULL);
+
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_DEPTH,
+                       "alpha", alpha,
+                       "depth-start", depth_start,
+                       "depth-end", depth_end,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_depth_set_bounds:
+ * @behaviour: a #ClutterBehaviourDepth
+ * @depth_start: initial value of the depth
+ * @depth_end: final value of the depth
+ *
+ * Sets the boundaries of the @behaviour.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_depth_set_bounds (ClutterBehaviourDepth *behaviour,
+                                    gint                   depth_start,
+                                    gint                   depth_end)
+{
+  ClutterBehaviourDepthPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_DEPTH (behaviour));
+
+  priv = behaviour->priv;
+
+  g_object_freeze_notify (G_OBJECT (behaviour));
+
+  if (priv->depth_start != depth_start)
+    {
+      priv->depth_start = depth_start;
+      g_object_notify (G_OBJECT (behaviour), "depth-start");
+    }
+
+  if (priv->depth_end != depth_end)
+    {
+      priv->depth_end = depth_end;
+      g_object_notify (G_OBJECT (behaviour), "depth-end");
+    }
+
+  g_object_thaw_notify (G_OBJECT (behaviour));
+}
+
+/**
+ * clutter_behaviour_depth_get_bounds:
+ * @behaviour: a #ClutterBehaviourDepth
+ * @depth_start: (out): return location for the initial depth value, or %NULL
+ * @depth_end: (out): return location for the final depth value, or %NULL
+ *
+ * Gets the boundaries of the @behaviour
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_depth_get_bounds (ClutterBehaviourDepth *behaviour,
+                                    gint                  *depth_start,
+                                    gint                  *depth_end)
+{
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_DEPTH (behaviour));
+
+  if (depth_start)
+    *depth_start = behaviour->priv->depth_start;
+
+  if (depth_end)
+    *depth_end = behaviour->priv->depth_end;
+}
diff --git a/clutter/deprecated/clutter-behaviour-depth.h b/clutter/deprecated/clutter-behaviour-depth.h
new file mode 100644
index 0000000..b3b8ae1
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-depth.h
@@ -0,0 +1,101 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_DEPTH__
+#define __CLUTTER_BEHAVIOUR_DEPTH__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR_DEPTH            (clutter_behaviour_depth_get_type ())
+#define CLUTTER_BEHAVIOUR_DEPTH(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
CLUTTER_TYPE_BEHAVIOUR_DEPTH, ClutterBehaviourDepth))
+#define CLUTTER_IS_BEHAVIOUR_DEPTH(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
CLUTTER_TYPE_BEHAVIOUR_DEPTH))
+#define CLUTTER_BEHAVIOUR_DEPTH_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
CLUTTER_TYPE_BEHAVIOUR_DEPTH, ClutterBehaviourDepthClass))
+#define CLUTTER_IS_BEHAVIOUR_DEPTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
CLUTTER_TYPE_BEHAVIOUR_DEPTH))
+#define CLUTTER_BEHAVIOUR_DEPTH_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), 
CLUTTER_TYPE_BEHAVIOUR_DEPTH, ClutterBehaviourDepthClass))
+
+typedef struct _ClutterBehaviourDepth           ClutterBehaviourDepth;
+typedef struct _ClutterBehaviourDepthPrivate    ClutterBehaviourDepthPrivate;
+typedef struct _ClutterBehaviourDepthClass      ClutterBehaviourDepthClass;
+
+/**
+ * ClutterBehaviourDepth:
+ *
+ * The #ClutterBehaviourDepth structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6: Use clutter_actor_animate() with #ClutterActor:depth
+ *   instead.
+ */
+struct _ClutterBehaviourDepth
+{
+  /*< private >*/
+  ClutterBehaviour parent_instance;
+
+  ClutterBehaviourDepthPrivate *priv;
+};
+
+/**
+ * ClutterBehaviourDepthClass:
+ *
+ * The #ClutterBehaviourDepthClass structure contains only private data
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourDepthClass
+{
+  /*< private >*/
+  ClutterBehaviourClass parent_class;
+};
+
+CLUTTER_DEPRECATED_IN_1_6
+GType             clutter_behaviour_depth_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate and ClutterActor:depth)
+ClutterBehaviour *clutter_behaviour_depth_new      (ClutterAlpha *alpha,
+                                                    gint          depth_start,
+                                                    gint          depth_end);
+
+CLUTTER_DEPRECATED_IN_1_6
+void clutter_behaviour_depth_set_bounds (ClutterBehaviourDepth *behaviour,
+                                         gint                   depth_start,
+                                         gint                   depth_end);
+CLUTTER_DEPRECATED_IN_1_6
+void clutter_behaviour_depth_get_bounds (ClutterBehaviourDepth *behaviour,
+                                         gint                  *depth_start,
+                                         gint                  *depth_end);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_DEPTH__ */
diff --git a/clutter/deprecated/clutter-behaviour-ellipse.c b/clutter/deprecated/clutter-behaviour-ellipse.c
new file mode 100644
index 0000000..103a4ae
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-ellipse.c
@@ -0,0 +1,1068 @@
+
+/* -*- mode:C; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Tomas Frydrych <tf openedhand com>
+ *
+ * Copyright (C) 2007 OpenedHand Ltd
+ * Copyright (C) 2009 Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-behaviour-ellipse
+ * @Title: ClutterBehaviourEllipse
+ * @short_description: A behaviour interpolating position along an ellipse
+ * @Deprecated: 1.6: Use clutter_actor_animate() instead
+ *
+ * #ClutterBehaviourEllipse interpolates actors along a path defined by
+ *  an ellipse.
+ *
+ * <note><para>When applying an ellipse behaviour to an actor, the
+ * behaviour will update the actor's position and depth and set them
+ * to what is dictated by the ellipses initial position.</para></note>
+ *
+ * Deprecated: 1.6: Use clutter_actor_animate(), #ClutterPath and a
+ *   #ClutterPathConstraint instead.
+ *
+ * Since: 0.4
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+#include <stdlib.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-actor.h"
+
+#include "clutter-alpha.h"
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-ellipse.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-private.h"
+
+G_DEFINE_TYPE (ClutterBehaviourEllipse,
+               clutter_behaviour_ellipse,
+              CLUTTER_TYPE_BEHAVIOUR);
+
+#define CLUTTER_BEHAVIOUR_ELLIPSE_GET_PRIVATE(obj)    \
+              (G_TYPE_INSTANCE_GET_PRIVATE ((obj),    \
+               CLUTTER_TYPE_BEHAVIOUR_ELLIPSE,        \
+               ClutterBehaviourEllipsePrivate))
+
+enum
+{
+  PROP_0,
+
+  PROP_CENTER,
+  PROP_WIDTH,
+  PROP_HEIGHT,
+  PROP_ANGLE_START,
+  PROP_ANGLE_END,
+  PROP_ANGLE_TILT_X,
+  PROP_ANGLE_TILT_Y,
+  PROP_ANGLE_TILT_Z,
+  PROP_DIRECTION,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+struct _ClutterBehaviourEllipsePrivate
+{
+  ClutterKnot  center;
+
+  /* a = width / 2 */
+  gint a;
+
+  /* b = height / 2 */
+  gint b;
+
+  gdouble angle_start;
+  gdouble angle_end;
+
+  gdouble angle_tilt_x;
+  gdouble angle_tilt_y;
+  gdouble angle_tilt_z;
+
+  ClutterRotateDirection direction;
+};
+
+typedef struct _knot3d
+{
+  gint x;
+  gint y;
+  gint z;
+} knot3d;
+
+static void
+clutter_behaviour_ellipse_advance (ClutterBehaviourEllipse *e,
+                                   float                    angle,
+                                   knot3d                  *knot)
+{
+  ClutterBehaviourEllipsePrivate *priv = e->priv;
+  gint x, y, z;
+
+  x = priv->a * cosf (angle * (G_PI / 180.0));
+  y = priv->b * sinf (angle * (G_PI / 180.0));
+  z = 0;
+
+  if (priv->angle_tilt_z)
+    {
+      /*
+       * x2 = r * cos (angle + tilt_z)
+       * y2 = r * sin (angle + tilt_z)
+       *
+       * These can be trasformed to the formulas below using properties of
+       * sin (a + b) and cos (a + b)
+       *
+       */
+      gfloat x2, y2;
+
+      x2 = x * cosf (priv->angle_tilt_z * (G_PI / 180.0))
+         - y * sinf (priv->angle_tilt_z * (G_PI / 180.0));
+
+      y2 = y * cosf (priv->angle_tilt_z * (G_PI / 180.0))
+         + x * sinf (priv->angle_tilt_z * (G_PI / 180.0));
+
+      x =  (x2);
+      y =  (y2);
+    }
+
+  if (priv->angle_tilt_x)
+    {
+      gfloat z2, y2;
+
+      z2 = - y * sinf (priv->angle_tilt_x * (G_PI / 180.0));
+      y2 =   y * cosf (priv->angle_tilt_x * (G_PI / 180.0));
+
+      z = z2;
+      y = y2;
+    }
+
+  if (priv->angle_tilt_y)
+    {
+      gfloat x2, z2;
+
+      x2 = x * cosf (priv->angle_tilt_y * (G_PI / 180.0))
+         - z * sinf (priv->angle_tilt_y * (G_PI / 180.0));
+
+      z2 = z * cosf (priv->angle_tilt_y * (G_PI / 180.0))
+         + x * sinf (priv->angle_tilt_y * (G_PI / 180.0));
+
+      x = x2;
+      z = z2;
+    }
+
+  knot->x = x;
+  knot->y = y;
+  knot->z = z;
+
+  CLUTTER_NOTE (ANIMATION, "advancing to angle %.2f [%d, %d] (a: %d, b: %d)",
+                angle,
+                knot->x, knot->y,
+                priv->a, priv->b);
+}
+
+
+static void
+actor_apply_knot_foreach (ClutterBehaviour *behave,
+                          ClutterActor     *actor,
+                          gpointer          data)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+  knot3d *knot = data;
+
+  priv = ((ClutterBehaviourEllipse *) behave)->priv;
+
+  clutter_actor_set_position (actor, knot->x, knot->y);
+
+  if (priv->angle_tilt_x != 0 || priv->angle_tilt_y != 0)
+    clutter_actor_set_depth (actor, knot->z);
+}
+
+static inline float
+clamp_angle (float a)
+{
+  gint rounds;
+
+  rounds = a / 360;
+  if (a < 0)
+    rounds--;
+
+  return a - 360 * rounds;
+}
+
+static void
+clutter_behaviour_ellipse_alpha_notify (ClutterBehaviour *behave,
+                                        gdouble           alpha)
+{
+  ClutterBehaviourEllipse *self = CLUTTER_BEHAVIOUR_ELLIPSE (behave);
+  ClutterBehaviourEllipsePrivate *priv = self->priv;
+  gfloat start, end;
+  gfloat angle = 0;
+  knot3d knot;
+
+  /* we do everything in single precision because it's easier, even
+   * though all the parameters are stored in double precision for
+   * consistency with the equivalent ClutterActor API
+   */
+  start = priv->angle_start;
+  end   = priv->angle_end;
+
+  if (priv->direction == CLUTTER_ROTATE_CW && start >= end)
+    end += 360;
+  else if (priv->direction == CLUTTER_ROTATE_CCW && start <= end)
+    end -= 360;
+
+  angle = (end - start) * alpha + start;
+
+  clutter_behaviour_ellipse_advance (self, angle, &knot);
+
+  knot.x += priv->center.x;
+  knot.y += priv->center.y;
+
+  clutter_behaviour_actors_foreach (behave, actor_apply_knot_foreach, &knot);
+}
+
+static void
+clutter_behaviour_ellipse_set_property (GObject      *gobject,
+                                        guint         prop_id,
+                                        const GValue *value,
+                                        GParamSpec   *pspec)
+{
+  ClutterBehaviourEllipse *el = CLUTTER_BEHAVIOUR_ELLIPSE (gobject);
+  ClutterBehaviourEllipsePrivate *priv = el->priv;
+
+  switch (prop_id)
+    {
+    case PROP_ANGLE_START:
+      priv->angle_start = g_value_get_double (value);
+      break;
+
+    case PROP_ANGLE_END:
+      priv->angle_end = g_value_get_double (value);
+      break;
+
+    case PROP_ANGLE_TILT_X:
+      priv->angle_tilt_x = g_value_get_double (value);
+      break;
+
+    case PROP_ANGLE_TILT_Y:
+      priv->angle_tilt_y = g_value_get_double (value);
+      break;
+
+    case PROP_ANGLE_TILT_Z:
+      priv->angle_tilt_z = g_value_get_double (value);
+      break;
+
+    case PROP_WIDTH:
+      clutter_behaviour_ellipse_set_width (el, g_value_get_int (value));
+      break;
+
+    case PROP_HEIGHT:
+      clutter_behaviour_ellipse_set_height (el, g_value_get_int (value));
+      break;
+
+    case PROP_CENTER:
+      {
+        ClutterKnot *knot = g_value_get_boxed (value);
+        if (knot)
+          clutter_behaviour_ellipse_set_center (el, knot->x, knot->y);
+      }
+      break;
+
+    case PROP_DIRECTION:
+      priv->direction = g_value_get_enum (value);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_ellipse_get_property (GObject    *gobject,
+                                        guint       prop_id,
+                                        GValue     *value,
+                                        GParamSpec *pspec)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  priv = CLUTTER_BEHAVIOUR_ELLIPSE (gobject)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_ANGLE_START:
+      g_value_set_double (value, priv->angle_start);
+      break;
+
+    case PROP_ANGLE_END:
+      g_value_set_double (value, priv->angle_end);
+      break;
+
+    case PROP_ANGLE_TILT_X:
+      g_value_set_double (value, priv->angle_tilt_x);
+      break;
+
+    case PROP_ANGLE_TILT_Y:
+      g_value_set_double (value, priv->angle_tilt_y);
+      break;
+
+    case PROP_ANGLE_TILT_Z:
+      g_value_set_double (value, priv->angle_tilt_z);
+      break;
+
+    case PROP_WIDTH:
+      g_value_set_int (value, (priv->a * 2));
+      break;
+
+    case PROP_HEIGHT:
+      g_value_set_int (value, (priv->b * 2));
+      break;
+
+    case PROP_CENTER:
+      g_value_set_boxed (value, &priv->center);
+      break;
+
+    case PROP_DIRECTION:
+      g_value_set_enum (value, priv->direction);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_ellipse_applied (ClutterBehaviour *behave,
+                                   ClutterActor     *actor)
+{
+  ClutterBehaviourEllipse *e = CLUTTER_BEHAVIOUR_ELLIPSE (behave);
+  ClutterBehaviourEllipsePrivate *priv = e->priv;
+  knot3d knot = { 0, };
+
+  clutter_behaviour_ellipse_advance (e, priv->angle_start, &knot);
+
+  clutter_actor_set_position (actor, knot.x, knot.y);
+
+  /* the depth should be changed only if there is a tilt on
+   * any of the X or the Y axis
+   */
+  if (priv->angle_tilt_x != 0 || priv->angle_tilt_y != 0)
+    clutter_actor_set_depth (actor, knot.z);
+}
+
+static void
+clutter_behaviour_ellipse_class_init (ClutterBehaviourEllipseClass *klass)
+{
+  GObjectClass          *object_class = G_OBJECT_CLASS (klass);
+  ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass);
+  GParamSpec            *pspec        = NULL;
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourEllipsePrivate));
+
+  object_class->set_property = clutter_behaviour_ellipse_set_property;
+  object_class->get_property = clutter_behaviour_ellipse_get_property;
+
+  behave_class->alpha_notify = clutter_behaviour_ellipse_alpha_notify;
+  behave_class->applied = clutter_behaviour_ellipse_applied;
+
+  /**
+   * ClutterBehaviourEllipse:angle-start:
+   *
+   * The initial angle from where the rotation should start.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-start",
+                               P_("Start Angle"),
+                               P_("Initial angle"),
+                               0.0, 360.0,
+                               0.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_START] = pspec;
+  g_object_class_install_property (object_class, PROP_ANGLE_START, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:angle-end:
+   *
+   * The final angle to where the rotation should end.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-end",
+                               P_("End Angle"),
+                               P_("Final angle"),
+                               0.0, 360.0,
+                               0.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_END] = pspec;
+  g_object_class_install_property (object_class, PROP_ANGLE_END, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:angle-tilt-x:
+   *
+   * The tilt angle for the rotation around center in X axis
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-tilt-x",
+                               P_("Angle x tilt"),
+                               P_("Tilt of the ellipse around x axis"),
+                               0.0, 360.0,
+                               360.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_TILT_X] = pspec;
+  g_object_class_install_property (object_class, PROP_ANGLE_TILT_X, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:angle-tilt-y:
+   *
+   * The tilt angle for the rotation around center in Y axis
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-tilt-y",
+                               P_("Angle y tilt"),
+                               P_("Tilt of the ellipse around y axis"),
+                               0.0, 360.0,
+                               360.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_TILT_Y] = pspec;
+  g_object_class_install_property (object_class, PROP_ANGLE_TILT_Y, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:angle-tilt-z:
+   *
+   * The tilt angle for the rotation on the Z axis
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-tilt-z",
+                               P_("Angle z tilt"),
+                               P_("Tilt of the ellipse around z axis"),
+                               0.0, 360.0,
+                               360.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_TILT_Z] = pspec;
+  g_object_class_install_property (object_class, PROP_ANGLE_TILT_Z, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:width:
+   *
+   * Width of the ellipse, in pixels
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_int ("width",
+                            P_("Width"),
+                            P_("Width of the ellipse"),
+                            0, G_MAXINT,
+                            100,
+                            CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_WIDTH] = pspec;
+  g_object_class_install_property (object_class, PROP_WIDTH, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:height:
+   *
+   * Height of the ellipse, in pixels
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_int ("height",
+                            P_("Height"),
+                            P_("Height of ellipse"),
+                            0, G_MAXINT,
+                            50,
+                            CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_HEIGHT] = pspec;
+  g_object_class_install_property (object_class, PROP_HEIGHT, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:center:
+   *
+   * The center of the ellipse.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_boxed ("center",
+                              P_("Center"),
+                              P_("Center of ellipse"),
+                              CLUTTER_TYPE_KNOT,
+                              CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_CENTER] = pspec;
+  g_object_class_install_property (object_class, PROP_CENTER, pspec);
+
+  /**
+   * ClutterBehaviourEllipse:direction:
+   *
+   * The direction of the rotation.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_enum ("direction",
+                             P_("Direction"),
+                             P_("Direction of rotation"),
+                             CLUTTER_TYPE_ROTATE_DIRECTION,
+                             CLUTTER_ROTATE_CW,
+                             CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_DIRECTION] = pspec;
+  g_object_class_install_property (object_class, PROP_DIRECTION, pspec);
+}
+
+static void
+clutter_behaviour_ellipse_init (ClutterBehaviourEllipse * self)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  self->priv = priv = CLUTTER_BEHAVIOUR_ELLIPSE_GET_PRIVATE (self);
+
+  priv->direction = CLUTTER_ROTATE_CW;
+
+  priv->angle_start = 0;
+  priv->angle_end   = 0;
+
+  priv->a = 50;
+  priv->b = 25;
+
+  priv->angle_tilt_x = 360;
+  priv->angle_tilt_y = 360;
+  priv->angle_tilt_z = 360;
+}
+
+/**
+ * clutter_behaviour_ellipse_new:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @x: x coordinace of the center
+ * @y: y coordiance of the center
+ * @width: width of the ellipse
+ * @height: height of the ellipse
+ * @direction: #ClutterRotateDirection of rotation
+ * @start: angle in degrees at which movement starts, between 0 and 360
+ * @end: angle in degrees at which movement ends, between 0 and 360
+ *
+ * Creates a behaviour that drives actors along an elliptical path with
+ * given center, width and height; the movement starts at @start
+ * degrees (with 0 corresponding to 12 o'clock) and ends at @end
+ * degrees. Angles greated than 360 degrees get clamped to the canonical
+ * interval <0, 360); if @start is equal to @end, the behaviour will
+ * rotate by exacly 360 degrees.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: the newly created #ClutterBehaviourEllipse
+ *
+ * Since: 0.4
+ */
+ClutterBehaviour *
+clutter_behaviour_ellipse_new (ClutterAlpha           *alpha,
+                               gint                    x,
+                               gint                    y,
+                               gint                    width,
+                               gint                    height,
+                               ClutterRotateDirection  direction,
+                               gdouble                 start,
+                               gdouble                 end)
+{
+  ClutterKnot center;
+
+  g_return_val_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha), NULL);
+
+  center.x = x;
+  center.y = y;
+
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_ELLIPSE,
+                       "alpha", alpha,
+                       "center", &center,
+                       "width", width,
+                       "height", height,
+                       "direction", direction,
+                       "angle-start", start,
+                       "angle-end", end,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_ellipse_set_center:
+ * @self: a #ClutterBehaviourEllipse
+ * @x: x coordinace of centre
+ * @y: y coordinace of centre
+ *
+ * Sets the center of the elliptical path to the point represented by knot.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_center (ClutterBehaviourEllipse *self,
+                                      gint                     x,
+                                      gint                     y)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  if (priv->center.x != x || priv->center.y != y)
+    {
+      priv->center.x = x;
+      priv->center.y = y;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CENTER]);
+    }
+}
+
+/**
+ * clutter_behaviour_ellipse_get_center:
+ * @self: a #ClutterBehaviourEllipse
+ * @x: (out): return location for the X coordinate of the center, or %NULL
+ * @y: (out): return location for the Y coordinate of the center, or %NULL
+ *
+ * Gets the center of the elliptical path path.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_get_center (ClutterBehaviourEllipse  *self,
+                                      gint                     *x,
+                                      gint                     *y)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  if (x)
+    *x = priv->center.x;
+
+  if (y)
+    *y = priv->center.y;
+}
+
+
+/**
+ * clutter_behaviour_ellipse_set_width:
+ * @self: a #ClutterBehaviourEllipse
+ * @width: width of the ellipse
+ *
+ * Sets the width of the elliptical path.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_width (ClutterBehaviourEllipse *self,
+                                     gint                     width)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  if (priv->a != width / 2)
+    {
+      priv->a = width / 2;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_WIDTH]);
+    }
+}
+
+/**
+ * clutter_behaviour_ellipse_get_width:
+ * @self: a #ClutterBehaviourEllipse
+ *
+ * Gets the width of the elliptical path.
+ *
+ * Return value: the width of the path
+ *
+ * Since: 0.4
+ */
+gint
+clutter_behaviour_ellipse_get_width (ClutterBehaviourEllipse *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self), 0);
+
+  return self->priv->a * 2;
+}
+
+/**
+ * clutter_behaviour_ellipse_set_height:
+ * @self: a #ClutterBehaviourEllipse
+ * @height: height of the ellipse
+ *
+ * Sets the height of the elliptical path.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_height (ClutterBehaviourEllipse *self,
+                                      gint                     height)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  if (priv->b != height / 2)
+    {
+      priv->b = height / 2;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_HEIGHT]);
+    }
+}
+
+/**
+ * clutter_behaviour_ellipse_get_height:
+ * @self: a #ClutterBehaviourEllipse
+ *
+ * Gets the height of the elliptical path.
+ *
+ * Return value: the height of the path
+ *
+ * Since: 0.4
+ */
+gint
+clutter_behaviour_ellipse_get_height (ClutterBehaviourEllipse *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self), 0);
+
+  return self->priv->b * 2;
+}
+
+/**
+ * clutter_behaviour_ellipse_set_angle_start:
+ * @self: a #ClutterBehaviourEllipse
+ * @angle_start: angle at which movement starts in degrees, between 0 and 360.
+ *
+ * Sets the angle at which movement starts; angles >= 360 degress get clamped
+ * to the canonical interval <0, 360).
+ *
+ * Since: 0.6
+ */
+void
+clutter_behaviour_ellipse_set_angle_start (ClutterBehaviourEllipse *self,
+                                           gdouble                  angle_start)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+  gdouble new_angle;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  new_angle = clamp_angle (angle_start);
+
+  priv = self->priv;
+
+  if (priv->angle_start != new_angle)
+    {
+      priv->angle_start = new_angle;
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_START]);
+    }
+}
+
+/**
+ * clutter_behaviour_ellipse_get_angle_start:
+ * @self: a #ClutterBehaviourEllipse
+ *
+ * Gets the angle at which movements starts.
+ *
+ * Return value: angle in degrees
+ *
+ * Since: 0.6
+ */
+gdouble
+clutter_behaviour_ellipse_get_angle_start (ClutterBehaviourEllipse *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self), 0.0);
+
+  return self->priv->angle_start;
+}
+
+/**
+ * clutter_behaviour_ellipse_set_angle_end:
+ * @self: a #ClutterBehaviourEllipse
+ * @angle_end: angle at which movement ends in degrees, between 0 and 360.
+ *
+ * Sets the angle at which movement ends; angles >= 360 degress get clamped
+ * to the canonical interval <0, 360).
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_angle_end (ClutterBehaviourEllipse *self,
+                                         gdouble                  angle_end)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+  gdouble new_angle;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  new_angle = clamp_angle (angle_end);
+
+  priv = self->priv;
+
+  if (priv->angle_end != new_angle)
+    {
+      priv->angle_end = new_angle;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_END]);
+    }
+}
+
+/**
+ * clutter_behaviour_ellipse_get_angle_end:
+ * @self: a #ClutterBehaviourEllipse
+ *
+ * Gets the at which movements ends.
+ *
+ * Return value: angle in degrees
+ *
+ * Since: 0.4
+ */
+gdouble
+clutter_behaviour_ellipse_get_angle_end (ClutterBehaviourEllipse *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self), 0.0);
+
+  return self->priv->angle_end;
+}
+
+/**
+ * clutter_behaviour_ellipse_set_angle_tilt:
+ * @self: a #ClutterBehaviourEllipse
+ * @axis: a #ClutterRotateAxis
+ * @angle_tilt: tilt of the elipse around the center in the given axis in
+ * degrees.
+ *
+ * Sets the angle at which the ellipse should be tilted around it's center.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_angle_tilt (ClutterBehaviourEllipse *self,
+                                          ClutterRotateAxis        axis,
+                                          gdouble                  angle_tilt)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  switch (axis)
+    {
+    case CLUTTER_X_AXIS:
+      if (priv->angle_tilt_x != angle_tilt)
+        {
+          priv->angle_tilt_x = angle_tilt;
+
+          g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_TILT_X]);
+        }
+      break;
+
+    case CLUTTER_Y_AXIS:
+      if (priv->angle_tilt_y != angle_tilt)
+        {
+          priv->angle_tilt_y = angle_tilt;
+
+          g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_TILT_Y]);
+        }
+      break;
+
+    case CLUTTER_Z_AXIS:
+      if (priv->angle_tilt_z != angle_tilt)
+        {
+          priv->angle_tilt_z = angle_tilt;
+
+          g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_TILT_Z]);
+        }
+      break;
+    }
+}
+
+/**
+ * clutter_behaviour_ellipse_get_angle_tilt:
+ * @self: a #ClutterBehaviourEllipse
+ * @axis: a #ClutterRotateAxis
+ *
+ * Gets the tilt of the ellipse around the center in the given axis.
+ *
+ * Return value: angle in degrees.
+ *
+ * Since: 0.4
+ */
+gdouble
+clutter_behaviour_ellipse_get_angle_tilt (ClutterBehaviourEllipse *self,
+                                          ClutterRotateAxis        axis)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self), 0.0);
+
+  switch (axis)
+    {
+    case CLUTTER_X_AXIS:
+      return self->priv->angle_tilt_x;
+
+    case CLUTTER_Y_AXIS:
+      return self->priv->angle_tilt_y;
+
+    case CLUTTER_Z_AXIS:
+      return self->priv->angle_tilt_z;
+    }
+
+  return 0.0;
+}
+
+/**
+ * clutter_behaviour_ellipse_set_tilt:
+ * @self: a #ClutterBehaviourEllipse
+ * @angle_tilt_x: tilt of the elipse around the center in X axis in degrees.
+ * @angle_tilt_y: tilt of the elipse around the center in Y axis in degrees.
+ * @angle_tilt_z: tilt of the elipse around the center in Z axis in degrees.
+ *
+ * Sets the angles at which the ellipse should be tilted around it's center.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_tilt (ClutterBehaviourEllipse *self,
+                                    gdouble                  angle_tilt_x,
+                                    gdouble                  angle_tilt_y,
+                                    gdouble                  angle_tilt_z)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  if (priv->angle_tilt_x != angle_tilt_x)
+    {
+      priv->angle_tilt_x = angle_tilt_x;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_TILT_X]);
+    }
+
+  if (priv->angle_tilt_y != angle_tilt_y)
+    {
+      priv->angle_tilt_y = angle_tilt_y;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_TILT_Y]);
+    }
+
+  if (priv->angle_tilt_z != angle_tilt_z)
+    {
+      priv->angle_tilt_z = angle_tilt_z;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ANGLE_TILT_Z]);
+    }
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_behaviour_ellipse_get_tilt:
+ * @self: a #ClutterBehaviourEllipse
+ * @angle_tilt_x: (out): return location for tilt angle on the X axis, or %NULL.
+ * @angle_tilt_y: (out): return location for tilt angle on the Y axis, or %NULL.
+ * @angle_tilt_z: (out): return location for tilt angle on the Z axis, or %NULL.
+ *
+ * Gets the tilt of the ellipse around the center in Y axis.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_get_tilt (ClutterBehaviourEllipse *self,
+                                    gdouble                 *angle_tilt_x,
+                                    gdouble                 *angle_tilt_y,
+                                    gdouble                 *angle_tilt_z)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  if (angle_tilt_x)
+    *angle_tilt_x = priv->angle_tilt_x;
+
+  if (angle_tilt_y)
+    *angle_tilt_y = priv->angle_tilt_y;
+
+  if (angle_tilt_z)
+    *angle_tilt_z = priv->angle_tilt_z;
+}
+
+/**
+ * clutter_behaviour_ellipse_get_direction:
+ * @self: a #ClutterBehaviourEllipse
+ *
+ * Retrieves the #ClutterRotateDirection used by the ellipse behaviour.
+ *
+ * Return value: the rotation direction
+ *
+ * Since: 0.4
+ */
+ClutterRotateDirection
+clutter_behaviour_ellipse_get_direction (ClutterBehaviourEllipse *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self),
+                        CLUTTER_ROTATE_CW);
+
+  return self->priv->direction;
+}
+
+/**
+ * clutter_behaviour_ellipse_set_direction:
+ * @self: a #ClutterBehaviourEllipse
+ * @direction: the rotation direction
+ *
+ * Sets the rotation direction used by the ellipse behaviour.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_ellipse_set_direction (ClutterBehaviourEllipse *self,
+                                         ClutterRotateDirection  direction)
+{
+  ClutterBehaviourEllipsePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ELLIPSE (self));
+
+  priv = self->priv;
+
+  if (priv->direction != direction)
+    {
+      priv->direction = direction;
+
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_DIRECTION]);
+    }
+}
diff --git a/clutter/deprecated/clutter-behaviour-ellipse.h b/clutter/deprecated/clutter-behaviour-ellipse.h
new file mode 100644
index 0000000..bd9983f
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-ellipse.h
@@ -0,0 +1,159 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Tomas Frydrych  <tf openedhand com>
+ *
+ * Copyright (C) 2007 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_ELLIPSE_H__
+#define __CLUTTER_BEHAVIOUR_ELLIPSE_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR_ELLIPSE (clutter_behaviour_ellipse_get_type ())
+
+#define CLUTTER_BEHAVIOUR_ELLIPSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_ELLIPSE, ClutterBehaviourEllipse))
+
+#define CLUTTER_BEHAVIOUR_ELLIPSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR_ELLIPSE, ClutterBehaviourEllipseClass))
+
+#define CLUTTER_IS_BEHAVIOUR_ELLIPSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_ELLIPSE))
+
+#define CLUTTER_IS_BEHAVIOUR_ELLIPSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR_ELLIPSE))
+
+#define CLUTTER_BEHAVIOUR_ELLIPSE_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_ELLIPSE, ClutterBehaviourEllipseClass))
+
+typedef struct _ClutterBehaviourEllipse        ClutterBehaviourEllipse;
+typedef struct _ClutterBehaviourEllipsePrivate ClutterBehaviourEllipsePrivate;
+typedef struct _ClutterBehaviourEllipseClass   ClutterBehaviourEllipseClass;
+
+/**
+ * ClutterBehaviourEllipse:
+ *
+ * The #ClutterBehaviourEllipse struct contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourEllipse
+{
+  /*< private >*/
+  ClutterBehaviour parent_instance;
+  ClutterBehaviourEllipsePrivate *priv;
+};
+
+/**
+ * ClutterBehaviourEllipseClass:
+ *
+ * The #ClutterBehaviourEllipseClass struct contains only private data
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourEllipseClass
+{
+  /*< private >*/
+  ClutterBehaviourClass   parent_class;
+};
+
+CLUTTER_DEPRECATED_IN_1_8
+GType clutter_behaviour_ellipse_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_actor_animate)
+ClutterBehaviour *     clutter_behaviour_ellipse_new             (ClutterAlpha            *alpha,
+                                                                 gint                     x,
+                                                                 gint                     y,
+                                                                 gint                     width,
+                                                                 gint                     height,
+                                                                 ClutterRotateDirection   direction,
+                                                                 gdouble                  start,
+                                                                 gdouble                  end);
+
+CLUTTER_DEPRECATED_IN_1_8
+void                   clutter_behaviour_ellipse_set_center      (ClutterBehaviourEllipse *self,
+                                                                 gint                     x,
+                                                                 gint                     y);
+CLUTTER_DEPRECATED_IN_1_8
+void                   clutter_behaviour_ellipse_get_center      (ClutterBehaviourEllipse *self,
+                                                                 gint                    *x,
+                                                                 gint                    *y);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_width       (ClutterBehaviourEllipse *self,
+                                                                 gint                     width);
+CLUTTER_DEPRECATED_IN_1_6
+gint                   clutter_behaviour_ellipse_get_width       (ClutterBehaviourEllipse *self);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_height      (ClutterBehaviourEllipse *self,
+                                                                 gint                     height);
+CLUTTER_DEPRECATED_IN_1_6
+gint                   clutter_behaviour_ellipse_get_height      (ClutterBehaviourEllipse *self);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_angle_start (ClutterBehaviourEllipse *self,
+                                                                 gdouble                  angle_start);
+CLUTTER_DEPRECATED_IN_1_6
+gdouble                clutter_behaviour_ellipse_get_angle_start (ClutterBehaviourEllipse *self);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_angle_end   (ClutterBehaviourEllipse *self,
+                                                                 gdouble                  angle_end);
+CLUTTER_DEPRECATED_IN_1_6
+gdouble                clutter_behaviour_ellipse_get_angle_end   (ClutterBehaviourEllipse *self);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_angle_tilt  (ClutterBehaviourEllipse *self,
+                                                                 ClutterRotateAxis        axis,
+                                                                 gdouble                  angle_tilt);
+CLUTTER_DEPRECATED_IN_1_6
+gdouble                clutter_behaviour_ellipse_get_angle_tilt  (ClutterBehaviourEllipse *self,
+                                                                 ClutterRotateAxis        axis);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_tilt        (ClutterBehaviourEllipse *self,
+                                                                 gdouble                  angle_tilt_x,
+                                                                 gdouble                  angle_tilt_y,
+                                                                 gdouble                  angle_tilt_z);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_get_tilt        (ClutterBehaviourEllipse *self,
+                                                                 gdouble                 *angle_tilt_x,
+                                                                 gdouble                 *angle_tilt_y,
+                                                                 gdouble                 *angle_tilt_z);
+CLUTTER_DEPRECATED_IN_1_6
+ClutterRotateDirection clutter_behaviour_ellipse_get_direction   (ClutterBehaviourEllipse *self);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_ellipse_set_direction   (ClutterBehaviourEllipse *self,
+                                                                 ClutterRotateDirection   direction);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_ELLIPSE_H__ */
diff --git a/clutter/deprecated/clutter-behaviour-opacity.c b/clutter/deprecated/clutter-behaviour-opacity.c
new file mode 100644
index 0000000..b685be0
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-opacity.c
@@ -0,0 +1,322 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-behaviour-opacity
+ * @Title: ClutterBehaviourOpacity
+ * @short_description: A behaviour controlling opacity
+ * @Deprecated: 1.6: Use clutter_actor_animate() instead.
+ *
+ * #ClutterBehaviourOpacity controls the opacity of a set of actors.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6: Use the #ClutterActor:opacity property and
+ *   clutter_actor_animate(), or #ClutterAnimator, or #ClutterState
+ *   instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-alpha.h"
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-opacity.h"
+#include "clutter-private.h"
+#include "clutter-debug.h"
+
+G_DEFINE_TYPE (ClutterBehaviourOpacity,
+               clutter_behaviour_opacity,
+              CLUTTER_TYPE_BEHAVIOUR);
+
+struct _ClutterBehaviourOpacityPrivate
+{
+  guint8 opacity_start;
+  guint8 opacity_end;
+};
+
+#define CLUTTER_BEHAVIOUR_OPACITY_GET_PRIVATE(obj)    \
+              (G_TYPE_INSTANCE_GET_PRIVATE ((obj),    \
+               CLUTTER_TYPE_BEHAVIOUR_OPACITY,        \
+               ClutterBehaviourOpacityPrivate))
+
+enum
+{
+  PROP_0,
+
+  PROP_OPACITY_START,
+  PROP_OPACITY_END,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+static void
+alpha_notify_foreach (ClutterBehaviour *behaviour,
+                     ClutterActor     *actor,
+                     gpointer          data)
+{
+  clutter_actor_set_opacity (actor, GPOINTER_TO_UINT(data));
+}
+
+static void
+clutter_behaviour_alpha_notify (ClutterBehaviour *behave,
+                                gdouble           alpha_value)
+{
+  ClutterBehaviourOpacityPrivate *priv;
+  guint8 opacity;
+
+  priv = CLUTTER_BEHAVIOUR_OPACITY (behave)->priv;
+
+  opacity = alpha_value
+            * (priv->opacity_end - priv->opacity_start)
+            + priv->opacity_start;
+
+  CLUTTER_NOTE (ANIMATION, "alpha: %.4f, opacity: %u",
+                alpha_value,
+                opacity);
+
+  clutter_behaviour_actors_foreach (behave,
+                                   alpha_notify_foreach,
+                                   GUINT_TO_POINTER ((guint) opacity));
+}
+
+static void
+clutter_behaviour_opacity_set_property (GObject      *gobject,
+                                        guint         prop_id,
+                                        const GValue *value,
+                                        GParamSpec   *pspec)
+{
+  ClutterBehaviourOpacity *self = CLUTTER_BEHAVIOUR_OPACITY (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_OPACITY_START:
+      clutter_behaviour_opacity_set_bounds (self,
+                                            g_value_get_uint (value),
+                                            self->priv->opacity_end);
+      break;
+
+    case PROP_OPACITY_END:
+      clutter_behaviour_opacity_set_bounds (self,
+                                            self->priv->opacity_start,
+                                            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 *self = CLUTTER_BEHAVIOUR_OPACITY (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_OPACITY_START:
+      g_value_set_uint (value, self->priv->opacity_start);
+      break;
+
+    case PROP_OPACITY_END:
+      g_value_set_uint (value, self->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)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass);
+  GParamSpec *pspec;
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourOpacityPrivate));
+
+  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
+   *
+   * Deprecated: 1.6
+   */
+  pspec = g_param_spec_uint ("opacity-start",
+                             P_("Opacity Start"),
+                             P_("Initial opacity level"),
+                             0, 255,
+                             0,
+                             CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_OPACITY_START] = pspec;
+  g_object_class_install_property (gobject_class, PROP_OPACITY_START, pspec);
+
+  /**
+   * ClutterBehaviourOpacity:opacity-end:
+   *
+   * Final opacity level of the behaviour.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.6
+   */
+  pspec = g_param_spec_uint ("opacity-end",
+                             P_("Opacity End"),
+                             P_("Final opacity level"),
+                             0, 255,
+                             0,
+                             CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_OPACITY_END] = pspec;
+  g_object_class_install_property (gobject_class, PROP_OPACITY_END, pspec);
+
+  behave_class->alpha_notify = clutter_behaviour_alpha_notify;
+}
+
+static void
+clutter_behaviour_opacity_init (ClutterBehaviourOpacity *self)
+{
+  self->priv = CLUTTER_BEHAVIOUR_OPACITY_GET_PRIVATE (self);
+
+  self->priv->opacity_start = 0;
+  self->priv->opacity_end = 0;
+}
+
+/**
+ * clutter_behaviour_opacity_new:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @opacity_start: minimum level of opacity
+ * @opacity_end: maximum level of opacity
+ *
+ * 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.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: the newly created #ClutterBehaviourOpacity
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+ClutterBehaviour *
+clutter_behaviour_opacity_new (ClutterAlpha *alpha,
+                              guint8        opacity_start,
+                              guint8        opacity_end)
+{
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_OPACITY,
+                       "alpha", alpha,
+                       "opacity-start", opacity_start,
+                       "opacity-end", opacity_end,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_opacity_set_bounds:
+ * @behaviour: a #ClutterBehaviourOpacity
+ * @opacity_start: minimum level of opacity
+ * @opacity_end: maximum level of opacity
+ *
+ * Sets the initial and final levels of the opacity applied by @behaviour
+ * on each actor it controls.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_opacity_set_bounds (ClutterBehaviourOpacity *behaviour,
+                                      guint8                   opacity_start,
+                                      guint8                   opacity_end)
+{
+  ClutterBehaviourOpacityPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_OPACITY (behaviour));
+
+  priv = behaviour->priv;
+
+  g_object_freeze_notify (G_OBJECT (behaviour));
+
+  if (priv->opacity_start != opacity_start)
+    {
+      priv->opacity_start = opacity_start;
+
+      g_object_notify_by_pspec (G_OBJECT (behaviour), obj_props[PROP_OPACITY_START]);
+    }
+
+  if (priv->opacity_end != opacity_end)
+    {
+      priv->opacity_end = opacity_end;
+
+      g_object_notify_by_pspec (G_OBJECT (behaviour), obj_props[PROP_OPACITY_END]);
+    }
+
+  g_object_thaw_notify (G_OBJECT (behaviour));
+}
+
+/**
+ * clutter_behaviour_opacity_get_bounds:
+ * @behaviour: a #ClutterBehaviourOpacity
+ * @opacity_start: (out): return location for the minimum level of opacity, or %NULL
+ * @opacity_end: (out): return location for the maximum level of opacity, or %NULL
+ *
+ * Gets the initial and final levels of the opacity applied by @behaviour
+ * on each actor it controls.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_opacity_get_bounds (ClutterBehaviourOpacity *behaviour,
+                                      guint8                  *opacity_start,
+                                      guint8                  *opacity_end)
+{
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_OPACITY (behaviour));
+
+  if (opacity_start)
+    *opacity_start = behaviour->priv->opacity_start;
+
+  if (opacity_end)
+    *opacity_end = behaviour->priv->opacity_end;
+}
diff --git a/clutter/deprecated/clutter-behaviour-opacity.h b/clutter/deprecated/clutter-behaviour-opacity.h
new file mode 100644
index 0000000..a8beef1
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-opacity.h
@@ -0,0 +1,115 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_OPACITY_H__
+#define __CLUTTER_BEHAVIOUR_OPACITY_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR_OPACITY (clutter_behaviour_opacity_get_type ())
+
+#define CLUTTER_BEHAVIOUR_OPACITY(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_OPACITY, ClutterBehaviourOpacity))
+
+#define CLUTTER_BEHAVIOUR_OPACITY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR_OPACITY, ClutterBehaviourOpacityClass))
+
+#define CLUTTER_IS_BEHAVIOUR_OPACITY(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_OPACITY))
+
+#define CLUTTER_IS_BEHAVIOUR_OPACITY_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR_OPACITY))
+
+#define CLUTTER_BEHAVIOUR_OPACITY_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_OPACITY, ClutterBehaviourOpacityClass))
+
+typedef struct _ClutterBehaviourOpacity        ClutterBehaviourOpacity;
+typedef struct _ClutterBehaviourOpacityPrivate ClutterBehaviourOpacityPrivate;
+typedef struct _ClutterBehaviourOpacityClass   ClutterBehaviourOpacityClass;
+
+/**
+ * ClutterBehaviourOpacity:
+ *
+ * The #ClutterBehaviourOpacity structure contains only private data and
+ * should be accessed using the provided API
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6: Use clutter_actor_animate() and #ClutterActor:opacity
+ *   instead.
+ */
+struct _ClutterBehaviourOpacity
+{
+  /*< private >*/
+  ClutterBehaviour             parent;
+  ClutterBehaviourOpacityPrivate *priv;
+};
+
+/**
+ * ClutterBehaviourOpacityClass:
+ *
+ * The #ClutterBehaviourOpacityClass structure contains only private data
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourOpacityClass
+{
+  /*< private >*/
+  ClutterBehaviourClass   parent_class;
+};
+
+CLUTTER_DEPRECATED_IN_1_6
+GType clutter_behaviour_opacity_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate and ClutterActor:opacity)
+ClutterBehaviour *clutter_behaviour_opacity_new (ClutterAlpha *alpha,
+                                                 guint8        opacity_start,
+                                                 guint8        opacity_end);
+
+CLUTTER_DEPRECATED_IN_1_6
+void clutter_behaviour_opacity_set_bounds (ClutterBehaviourOpacity *behaviour,
+                                           guint8                   opacity_start,
+                                           guint8                   opacity_end);
+CLUTTER_DEPRECATED_IN_1_6
+void clutter_behaviour_opacity_get_bounds (ClutterBehaviourOpacity *behaviour,
+                                           guint8                  *opacity_start,
+                                           guint8                  *opacity_end);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_OPACITY_H__ */
diff --git a/clutter/deprecated/clutter-behaviour-path.c b/clutter/deprecated/clutter-behaviour-path.c
new file mode 100644
index 0000000..9702a39
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-path.c
@@ -0,0 +1,477 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By:
+ *      Matthew Allum  <mallum openedhand com>
+ *      Neil Roberts  <neil linux intel com>
+ *
+ * Copyright (C) 2006, 2007, 2008 OpenedHand Ltd
+ * Copyright (C) 2009, 2010 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-behaviour-path
+ * @Title: ClutterBehaviourPath
+ * @short_description: A behaviour for moving actors along a #ClutterPath
+ * @Deprecated: 1.6: Use #ClutterPathConstraint and clutter_actor_animate()
+ *   with the #ClutterPathConstraint:offset property instead.
+ *
+ * #ClutterBehaviourPath interpolates actors along a defined path.
+ *
+ * A path is described by a #ClutterPath object. The path can contain
+ * straight line parts and bezier curves. If the path contains
+ * %CLUTTER_PATH_MOVE_TO parts then the actors will jump to those
+ * coordinates. This can be used make disjoint paths.
+ *
+ * When creating a path behaviour in a #ClutterScript, you can specify
+ * the path property directly as a string. For example:
+ *
+ * |[
+ * {
+ *   "id"     : "spline-path",
+ *   "type"   : "ClutterBehaviourPath",
+ *   "path"   : "M 50 50 L 100 100",
+ *   "alpha"  : {
+ *      "timeline" : "main-timeline",
+ *      "function" : "ramp
+ *    }
+ * }
+ * ]|
+ *
+ * <note>If the alpha function is a periodic function, i.e. it returns to
+ * 0.0 after reaching 1.0, then the actors will walk the path back to the
+ * starting #ClutterKnot.</note>
+ *
+ * #ClutterBehaviourPath is available since Clutter 0.2
+ *
+ * Deprecated: 1.6: Use #ClutterPath and #ClutterPathConstraint with
+ *   clutter_actor_animate() instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-alpha.h"
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-path.h"
+#include "clutter-bezier.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-main.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-script-private.h"
+#include "clutter-scriptable.h"
+
+#include <math.h>
+
+static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterBehaviourPath,
+                         clutter_behaviour_path,
+                         CLUTTER_TYPE_BEHAVIOUR,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_iface_init));
+
+struct _ClutterBehaviourPathPrivate
+{
+  ClutterPath *path;
+  guint        last_knot_passed;
+};
+
+#define CLUTTER_BEHAVIOUR_PATH_GET_PRIVATE(obj)    \
+              (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
+               CLUTTER_TYPE_BEHAVIOUR_PATH,        \
+               ClutterBehaviourPathPrivate))
+
+enum
+{
+  KNOT_REACHED,
+
+  LAST_SIGNAL
+};
+
+static guint path_signals[LAST_SIGNAL] = { 0, };
+
+enum
+{
+  PROP_0,
+
+  PROP_PATH,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+static void
+actor_apply_knot_foreach (ClutterBehaviour *behaviour,
+                          ClutterActor     *actor,
+                          gpointer          data)
+{
+  ClutterKnot *knot = data;
+
+  CLUTTER_NOTE (ANIMATION, "Setting actor to %ix%i", knot->x, knot->y);
+
+  clutter_actor_set_position (actor, knot->x, knot->y);
+}
+
+static void
+clutter_behaviour_path_alpha_notify (ClutterBehaviour *behave,
+                                     gdouble           alpha_value)
+{
+  ClutterBehaviourPath *pathb = CLUTTER_BEHAVIOUR_PATH (behave);
+  ClutterBehaviourPathPrivate *priv = pathb->priv;
+  ClutterKnot position;
+  guint knot_num;
+
+  if (priv->path)
+    knot_num = clutter_path_get_position (priv->path, alpha_value, &position);
+  else
+    {
+      memset (&position, 0, sizeof (position));
+      knot_num = 0;
+    }
+
+  clutter_behaviour_actors_foreach (behave,
+                                    actor_apply_knot_foreach,
+                                    &position);
+
+  if (knot_num != priv->last_knot_passed)
+    {
+      g_signal_emit (behave, path_signals[KNOT_REACHED], 0, knot_num);
+      priv->last_knot_passed = knot_num;
+    }
+}
+
+static void
+clutter_behaviour_path_get_property (GObject      *gobject,
+                                     guint         prop_id,
+                                     GValue       *value,
+                                     GParamSpec   *pspec)
+{
+  ClutterBehaviourPath *pathb = CLUTTER_BEHAVIOUR_PATH (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_PATH:
+      g_value_set_object (value, clutter_behaviour_path_get_path (pathb));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+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_PATH:
+      clutter_behaviour_path_set_path (pathb, g_value_get_object (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_path_dispose (GObject *gobject)
+{
+  ClutterBehaviourPath *pathb = CLUTTER_BEHAVIOUR_PATH (gobject);
+
+  clutter_behaviour_path_set_path (pathb, NULL);
+
+  G_OBJECT_CLASS (clutter_behaviour_path_parent_class)->dispose (gobject);
+}
+
+static void
+clutter_behaviour_path_class_init (ClutterBehaviourPathClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass);
+  GParamSpec *pspec;
+
+  gobject_class->get_property = clutter_behaviour_path_get_property;
+  gobject_class->set_property = clutter_behaviour_path_set_property;
+  gobject_class->dispose = clutter_behaviour_path_dispose;
+
+  pspec = g_param_spec_object ("path",
+                               P_("Path"),
+                               P_("The ClutterPath object representing the path "
+                                  "to animate along"),
+                               CLUTTER_TYPE_PATH,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_PATH] = pspec;
+  g_object_class_install_property (gobject_class, PROP_PATH, pspec);
+
+  /**
+   * ClutterBehaviourPath::knot-reached:
+   * @pathb: the object which received the signal
+   * @knot_num: the index of the #ClutterKnot reached
+   *
+   * This signal is emitted each time a node defined inside the path
+   * is reached.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.6
+   */
+  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__UINT,
+                  G_TYPE_NONE, 1,
+                  G_TYPE_UINT);
+
+  behave_class->alpha_notify = clutter_behaviour_path_alpha_notify;
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourPathPrivate));
+}
+
+static ClutterScriptableIface *parent_scriptable_iface = NULL;
+
+static gboolean
+clutter_behaviour_path_parse_custom_node (ClutterScriptable *scriptable,
+                                          ClutterScript     *script,
+                                          GValue            *value,
+                                          const gchar       *name,
+                                          JsonNode          *node)
+{
+  if (strcmp ("path", name) == 0)
+    {
+      ClutterPath *path;
+      GValue node_value = { 0 };
+
+      path = g_object_ref_sink (clutter_path_new ());
+
+      json_node_get_value (node, &node_value);
+
+      if (!G_VALUE_HOLDS (&node_value, G_TYPE_STRING)
+          || !clutter_path_set_description (path,
+                                            g_value_get_string (&node_value)))
+        g_warning ("Invalid path description");
+
+      g_value_unset (&node_value);
+
+      g_value_init (value, G_TYPE_OBJECT);
+      g_value_take_object (value, path);
+
+      return TRUE;
+    }
+  /* chain up */
+  else if (parent_scriptable_iface->parse_custom_node)
+    return parent_scriptable_iface->parse_custom_node (scriptable, script,
+                                                       value, name, node);
+  else
+    return FALSE;
+}
+
+static void
+clutter_scriptable_iface_init (ClutterScriptableIface *iface)
+{
+  parent_scriptable_iface = g_type_interface_peek_parent (iface);
+
+  if (!parent_scriptable_iface)
+    parent_scriptable_iface
+      = g_type_default_interface_peek (CLUTTER_TYPE_SCRIPTABLE);
+
+  iface->parse_custom_node = clutter_behaviour_path_parse_custom_node;
+}
+
+static void
+clutter_behaviour_path_init (ClutterBehaviourPath *self)
+{
+  ClutterBehaviourPathPrivate *priv;
+
+  self->priv = priv = CLUTTER_BEHAVIOUR_PATH_GET_PRIVATE (self);
+
+  priv->path = NULL;
+  priv->last_knot_passed = G_MAXUINT;
+}
+
+/**
+ * clutter_behaviour_path_new:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @path: a #ClutterPath or %NULL for an empty path
+ *
+ * Creates a new path behaviour. You can use this behaviour to drive
+ * actors along the nodes of a path, described by @path.
+ *
+ * This will claim the floating reference on the #ClutterPath so you
+ * do not need to unref if it.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: (transfer full): a #ClutterBehaviour
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+ClutterBehaviour *
+clutter_behaviour_path_new (ClutterAlpha *alpha,
+                            ClutterPath  *path)
+{
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_PATH,
+                       "alpha", alpha,
+                       "path", path,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_path_new_with_description:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @desc: a string description of the path
+ *
+ * Creates a new path behaviour using the path described by @desc. See
+ * clutter_path_add_string() for a description of the format.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: (transfer full): a #ClutterBehaviour
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.6
+ */
+ClutterBehaviour *
+clutter_behaviour_path_new_with_description (ClutterAlpha *alpha,
+                                             const gchar  *desc)
+{
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_PATH,
+                       "alpha", alpha,
+                       "path", clutter_path_new_with_description (desc),
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_path_new_with_knots:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @knots: (array length=n_knots): an array of #ClutterKnot<!-- -->s
+ * @n_knots: number of entries in @knots
+ *
+ * Creates a new path behaviour that will make the actors visit all of
+ * the given knots in order with straight lines in between.
+ *
+ * A path will be created where the first knot is used in a
+ * %CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
+ * %CLUTTER_PATH_LINE_TO<!-- -->s.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: (transfer full): a #ClutterBehaviour
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.6
+ */
+ClutterBehaviour *
+clutter_behaviour_path_new_with_knots (ClutterAlpha      *alpha,
+                                       const ClutterKnot *knots,
+                                       guint              n_knots)
+{
+  ClutterPath *path = clutter_path_new ();
+  guint i;
+
+  if (n_knots > 0)
+    {
+      clutter_path_add_move_to (path, knots[0].x, knots[0].y);
+
+      for (i = 1; i < n_knots; i++)
+        clutter_path_add_line_to (path, knots[i].x, knots[i].y);
+    }
+
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_PATH,
+                       "alpha", alpha,
+                       "path", path,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_path_set_path:
+ * @pathb: the path behaviour
+ * @path: the new path to follow
+ *
+ * Change the path that the actors will follow. This will take the
+ * floating reference on the #ClutterPath so you do not need to unref
+ * it.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_path_set_path (ClutterBehaviourPath *pathb,
+                                 ClutterPath          *path)
+{
+  ClutterBehaviourPathPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_PATH (pathb));
+
+  priv = pathb->priv;
+
+  if (path)
+    g_object_ref_sink (path);
+
+  if (priv->path)
+    g_object_unref (priv->path);
+
+  priv->path = path;
+
+  g_object_notify_by_pspec (G_OBJECT (pathb), obj_props[PROP_PATH]);
+}
+
+/**
+ * clutter_behaviour_path_get_path:
+ * @pathb: a #ClutterBehaviourPath instance
+ *
+ * Get the current path of the behaviour
+ *
+ * Return value: (transfer none): the path
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.6
+ */
+ClutterPath *
+clutter_behaviour_path_get_path (ClutterBehaviourPath *pathb)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_PATH (pathb), NULL);
+
+  return pathb->priv->path;
+}
diff --git a/clutter/deprecated/clutter-behaviour-path.h b/clutter/deprecated/clutter-behaviour-path.h
new file mode 100644
index 0000000..f78ebcb
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-path.h
@@ -0,0 +1,135 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_PATH_H__
+#define __CLUTTER_BEHAVIOUR_PATH_H__
+
+#include <clutter/clutter-types.h>
+#include <clutter/clutter-path.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR_PATH (clutter_behaviour_path_get_type ())
+
+#define CLUTTER_BEHAVIOUR_PATH(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPath))
+
+#define CLUTTER_BEHAVIOUR_PATH_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPathClass))
+
+#define CLUTTER_IS_BEHAVIOUR_PATH(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_PATH))
+
+#define CLUTTER_IS_BEHAVIOUR_PATH_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR_PATH))
+
+#define CLUTTER_BEHAVIOUR_PATH_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR_PATH, ClutterBehaviourPathClass))
+
+typedef struct _ClutterBehaviourPath        ClutterBehaviourPath;
+typedef struct _ClutterBehaviourPathPrivate ClutterBehaviourPathPrivate;
+typedef struct _ClutterBehaviourPathClass   ClutterBehaviourPathClass;
+
+/**
+ * ClutterBehaviourPath:
+ *
+ * The #ClutterBehaviourPath structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6: Use #ClutterPathConstraint and clutter_actor_animate()
+ *   instead.
+ */
+struct _ClutterBehaviourPath
+{
+  /*< private >*/
+  ClutterBehaviour             parent;
+  ClutterBehaviourPathPrivate *priv;
+};
+
+/**
+ * ClutterBehaviourPathClass:
+ * @knot_reached: signal class handler for the
+ *   ClutterBehaviourPath::knot_reached signal
+ *
+ * The #ClutterBehaviourPathClass struct contains only private data
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourPathClass
+{
+  /*< private >*/
+  ClutterBehaviourClass   parent_class;
+
+  /*< public >*/
+  void (*knot_reached) (ClutterBehaviourPath *pathb,
+                        guint                 knot_num);
+
+  /*< private >*/
+  void (*_clutter_path_1) (void);
+  void (*_clutter_path_2) (void);
+  void (*_clutter_path_3) (void);
+  void (*_clutter_path_4) (void);
+};
+
+CLUTTER_DEPRECATED_IN_1_6
+GType clutter_behaviour_path_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
+ClutterBehaviour *clutter_behaviour_path_new          (ClutterAlpha         *alpha,
+                                                       ClutterPath          *path);
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
+ClutterBehaviour *clutter_behaviour_path_new_with_description
+                                                      (ClutterAlpha         *alpha,
+                                                       const gchar          *desc);
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
+ClutterBehaviour *clutter_behaviour_path_new_with_knots
+                                                      (ClutterAlpha         *alpha,
+                                                       const ClutterKnot    *knots,
+                                                       guint                 n_knots);
+
+CLUTTER_DEPRECATED_IN_1_6
+void              clutter_behaviour_path_set_path     (ClutterBehaviourPath *pathb,
+                                                       ClutterPath          *path);
+CLUTTER_DEPRECATED_IN_1_6
+ClutterPath *     clutter_behaviour_path_get_path     (ClutterBehaviourPath *pathb);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_PATH_H__ */
diff --git a/clutter/deprecated/clutter-behaviour-rotate.c b/clutter/deprecated/clutter-behaviour-rotate.c
new file mode 100644
index 0000000..9ba0f42
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-rotate.c
@@ -0,0 +1,697 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2007 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-behaviour-rotate
+ * @short_description: A behaviour controlling rotation
+ *
+ * A #ClutterBehaviourRotate rotate actors between a starting and ending
+ * angle on a given axis.
+ *
+ * The #ClutterBehaviourRotate is available since version 0.4.
+ *
+ * Deprecated: 1.6: Use the #ClutterActor rotation properties and
+ *   clutter_actor_animate(), or #ClutterAnimator, or #ClutterState
+ *   instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-actor.h"
+
+#include "clutter-alpha.h"
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-rotate.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-main.h"
+#include "clutter-private.h"
+
+G_DEFINE_TYPE (ClutterBehaviourRotate,
+               clutter_behaviour_rotate,
+               CLUTTER_TYPE_BEHAVIOUR);
+
+struct _ClutterBehaviourRotatePrivate
+{
+  gdouble angle_start;
+  gdouble angle_end;
+
+  ClutterRotateAxis axis;
+  ClutterRotateDirection direction;
+
+  gint center_x;
+  gint center_y;
+  gint center_z;
+};
+
+#define CLUTTER_BEHAVIOUR_ROTATE_GET_PRIVATE(obj) \
+        (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
+         CLUTTER_TYPE_BEHAVIOUR_ROTATE, \
+         ClutterBehaviourRotatePrivate))
+
+enum
+{
+  PROP_0,
+
+  PROP_ANGLE_START,
+  PROP_ANGLE_END,
+  PROP_AXIS,
+  PROP_DIRECTION,
+  PROP_CENTER_X,
+  PROP_CENTER_Y,
+  PROP_CENTER_Z,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+typedef struct {
+  gdouble angle;
+} RotateFrameClosure;
+
+static void
+alpha_notify_foreach (ClutterBehaviour *behaviour,
+                     ClutterActor     *actor,
+                     gpointer          data)
+{
+  RotateFrameClosure *closure = data;
+  ClutterBehaviourRotate *rotate_behaviour;
+  ClutterBehaviourRotatePrivate *priv;
+
+  rotate_behaviour = CLUTTER_BEHAVIOUR_ROTATE (behaviour);
+  priv = rotate_behaviour->priv;
+
+  clutter_actor_set_rotation (actor, priv->axis,
+                              closure->angle,
+                              priv->center_x,
+                              priv->center_y,
+                              priv->center_z);
+}
+
+static inline float
+clamp_angle (float a)
+{
+  float a1, a2;
+  gint rounds;
+
+  rounds = a / 360.0;
+  a1 = rounds * 360.0;
+  a2 = a - a1;
+
+  return a2;
+}
+
+static void
+clutter_behaviour_rotate_alpha_notify (ClutterBehaviour *behaviour,
+                                       gdouble           alpha_value)
+{
+  ClutterBehaviourRotate *rotate_behaviour;
+  ClutterBehaviourRotatePrivate *priv;
+  RotateFrameClosure closure;
+  gdouble start, end;
+
+  rotate_behaviour = CLUTTER_BEHAVIOUR_ROTATE (behaviour);
+  priv = rotate_behaviour->priv;
+
+  closure.angle = 0;
+  start         = priv->angle_start;
+  end           = priv->angle_end;
+
+  if (priv->direction == CLUTTER_ROTATE_CW && start >= end)
+    end += 360.0;
+  else if (priv->direction == CLUTTER_ROTATE_CCW && start <= end)
+    end -= 360.0;
+
+  closure.angle = (end - start) * alpha_value + start;
+
+  clutter_behaviour_actors_foreach (behaviour,
+                                   alpha_notify_foreach,
+                                   &closure);
+}
+
+static void
+clutter_behaviour_rotate_set_property (GObject      *gobject,
+                                       guint         prop_id,
+                                       const GValue *value,
+                                       GParamSpec   *pspec)
+{
+  ClutterBehaviourRotate *rotate;
+  ClutterBehaviourRotatePrivate *priv;
+
+  rotate = CLUTTER_BEHAVIOUR_ROTATE (gobject);
+  priv = rotate->priv;
+
+  switch (prop_id)
+    {
+    case PROP_ANGLE_START:
+      priv->angle_start = g_value_get_double (value);
+      break;
+
+    case PROP_ANGLE_END:
+      priv->angle_end = g_value_get_double (value);
+      break;
+
+    case PROP_AXIS:
+      priv->axis = g_value_get_enum (value);
+      break;
+
+    case PROP_DIRECTION:
+      priv->direction = g_value_get_enum (value);
+      break;
+
+    case PROP_CENTER_X:
+      clutter_behaviour_rotate_set_center (rotate,
+                                          g_value_get_int (value),
+                                          priv->center_y,
+                                          priv->center_z);
+      break;
+
+    case PROP_CENTER_Y:
+      clutter_behaviour_rotate_set_center (rotate,
+                                          priv->center_x,
+                                          g_value_get_int (value),
+                                          priv->center_z);
+      break;
+
+    case PROP_CENTER_Z:
+      clutter_behaviour_rotate_set_center (rotate,
+                                          priv->center_x,
+                                          priv->center_y,
+                                          g_value_get_int (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_rotate_get_property (GObject    *gobject,
+                                       guint       prop_id,
+                                       GValue     *value,
+                                       GParamSpec *pspec)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  priv = CLUTTER_BEHAVIOUR_ROTATE (gobject)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_ANGLE_START:
+      g_value_set_double (value, priv->angle_start);
+      break;
+
+    case PROP_ANGLE_END:
+      g_value_set_double (value, priv->angle_end);
+      break;
+
+    case PROP_AXIS:
+      g_value_set_enum (value, priv->axis);
+      break;
+
+    case PROP_DIRECTION:
+      g_value_set_enum (value, priv->direction);
+      break;
+
+    case PROP_CENTER_X:
+      g_value_set_int (value, priv->center_x);
+      break;
+
+    case PROP_CENTER_Y:
+      g_value_set_int (value, priv->center_y);
+      break;
+
+    case PROP_CENTER_Z:
+      g_value_set_int (value, priv->center_z);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_rotate_class_init (ClutterBehaviourRotateClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterBehaviourClass *behaviour_class = CLUTTER_BEHAVIOUR_CLASS (klass);
+  GParamSpec *pspec = NULL;
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourRotatePrivate));
+
+  gobject_class->set_property = clutter_behaviour_rotate_set_property;
+  gobject_class->get_property = clutter_behaviour_rotate_get_property;
+
+  behaviour_class->alpha_notify = clutter_behaviour_rotate_alpha_notify;
+
+  /**
+   * ClutterBehaviourRotate:angle-start:
+   *
+   * The initial angle from whence the rotation should start.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-start",
+                               P_("Angle Begin"),
+                               P_("Initial angle"),
+                               0.0, 360.0,
+                               0.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_START] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_ANGLE_START,
+                                   pspec);
+
+  /**
+   * ClutterBehaviourRotate:angle-end:
+   *
+   * The final angle to where the rotation should end.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_double ("angle-end",
+                               P_("Angle End"),
+                               P_("Final angle"),
+                               0.0, 360.0,
+                               0.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ANGLE_END] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_ANGLE_END,
+                                   pspec);
+
+  /**
+   * ClutterBehaviourRotate:axis:
+   *
+   * The axis of rotation.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_enum ("axis",
+                             P_("Axis"),
+                             P_("Axis of rotation"),
+                             CLUTTER_TYPE_ROTATE_AXIS,
+                             CLUTTER_Z_AXIS,
+                             CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_AXIS] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_AXIS,
+                                   pspec);
+
+  /**
+   * ClutterBehaviourRotate:direction:
+   *
+   * The direction of the rotation.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_enum ("direction",
+                             P_("Direction"),
+                             P_("Direction of rotation"),
+                             CLUTTER_TYPE_ROTATE_DIRECTION,
+                             CLUTTER_ROTATE_CW,
+                             CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_DIRECTION] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_DIRECTION,
+                                   pspec);
+
+  /**
+   * ClutterBehaviourRotate:center-x:
+   *
+   * The x center of rotation.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_int ("center-x",
+                            P_("Center X"),
+                            P_("X coordinate of the center of rotation"),
+                            -G_MAXINT, G_MAXINT,
+                            0,
+                            CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_CENTER_X] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_CENTER_X,
+                                   pspec);
+
+  /**
+   * ClutterBehaviourRotate:center-y:
+   *
+   * The y center of rotation.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_int ("center-y",
+                            P_("Center Y"),
+                            P_("Y coordinate of the center of rotation"),
+                            -G_MAXINT, G_MAXINT,
+                            0,
+                            CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_CENTER_Y] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_CENTER_Y,
+                                   pspec);
+
+  /**
+   * ClutterBehaviourRotate:center-z:
+   *
+   * The z center of rotation.
+   *
+   * Since: 0.4
+   */
+  pspec = g_param_spec_int ("center-z",
+                            P_("Center Z"),
+                            P_("Z coordinate of the center of rotation"),
+                            -G_MAXINT, G_MAXINT,
+                            0,
+                            CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_CENTER_Z] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_CENTER_Z,
+                                   pspec);
+}
+
+static void
+clutter_behaviour_rotate_init (ClutterBehaviourRotate *rotate)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  rotate->priv = priv = CLUTTER_BEHAVIOUR_ROTATE_GET_PRIVATE (rotate);
+
+  priv->angle_start = priv->angle_end = 0;
+
+  priv->axis = CLUTTER_Z_AXIS;
+
+  priv->direction = CLUTTER_ROTATE_CW;
+
+  priv->center_x = priv->center_y = priv->center_z = 0;
+}
+
+/**
+ * clutter_behaviour_rotate_new:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @axis: the rotation axis
+ * @direction: the rotation direction
+ * @angle_start: the starting angle in degrees, between 0 and 360.
+ * @angle_end: the final angle in degrees, between 0 and 360.
+ *
+ * Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
+ * bound to it on @axis, following @direction, between @angle_start and
+ * @angle_end. Angles >= 360 degrees will be clamped to the canonical interval
+ * <0, 360), if angle_start == angle_end, the behaviour will carry out a
+ * single rotation of 360 degrees.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: the newly created #ClutterBehaviourRotate.
+ *
+ * Since: 0.4
+ */
+ClutterBehaviour *
+clutter_behaviour_rotate_new (ClutterAlpha           *alpha,
+                              ClutterRotateAxis       axis,
+                              ClutterRotateDirection  direction,
+                              gdouble                 angle_start,
+                              gdouble                 angle_end)
+{
+  g_return_val_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha), NULL);
+
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_ROTATE,
+                       "alpha", alpha,
+                       "axis", axis,
+                       "direction", direction,
+                       "angle-start", angle_start,
+                       "angle-end", angle_end,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_rotate_get_axis:
+ * @rotate: a #ClutterBehaviourRotate
+ *
+ * Retrieves the #ClutterRotateAxis used by the rotate behaviour.
+ *
+ * Return value: the rotation axis
+ *
+ * Since: 0.4
+ */
+ClutterRotateAxis
+clutter_behaviour_rotate_get_axis (ClutterBehaviourRotate *rotate)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate), CLUTTER_Z_AXIS);
+
+  return rotate->priv->axis;
+}
+
+/**
+ * clutter_behaviour_rotate_set_axis:
+ * @rotate: a #ClutterBehaviourRotate
+ * @axis: a #ClutterRotateAxis
+ *
+ * Sets the axis used by the rotate behaviour.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_rotate_set_axis (ClutterBehaviourRotate *rotate,
+                                   ClutterRotateAxis       axis)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate));
+
+  priv = rotate->priv;
+
+  if (priv->axis != axis)
+    {
+      priv->axis = axis;
+
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_AXIS]);
+    }
+}
+
+/**
+ * clutter_behaviour_rotate_get_direction:
+ * @rotate: a #ClutterBehaviourRotate
+ *
+ * Retrieves the #ClutterRotateDirection used by the rotate behaviour.
+ *
+ * Return value: the rotation direction
+ *
+ * Since: 0.4
+ */
+ClutterRotateDirection
+clutter_behaviour_rotate_get_direction (ClutterBehaviourRotate *rotate)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate),
+                        CLUTTER_ROTATE_CW);
+
+  return rotate->priv->direction;
+}
+
+/**
+ * clutter_behaviour_rotate_set_direction:
+ * @rotate: a #ClutterBehaviourRotate
+ * @direction: the rotation direction
+ *
+ * Sets the rotation direction used by the rotate behaviour.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_rotate_set_direction (ClutterBehaviourRotate *rotate,
+                                        ClutterRotateDirection  direction)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate));
+
+  priv = rotate->priv;
+
+  if (priv->direction != direction)
+    {
+      priv->direction = direction;
+
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_DIRECTION]);
+    }
+}
+
+/**
+ * clutter_behaviour_rotate_get_bounds:
+ * @rotate: a #ClutterBehaviourRotate
+ * @angle_start: (out): return value for the initial angle
+ * @angle_end: (out): return value for the final angle
+ *
+ * Retrieves the rotation boundaries of the rotate behaviour.
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_rotate_get_bounds (ClutterBehaviourRotate *rotate,
+                                     gdouble                *angle_start,
+                                     gdouble                *angle_end)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate));
+
+  priv = rotate->priv;
+
+  if (angle_start)
+    *angle_start = priv->angle_start;
+
+  if (angle_end)
+    *angle_end = priv->angle_end;
+}
+
+/**
+ * clutter_behaviour_rotate_set_bounds:
+ * @rotate: a #ClutterBehaviourRotate
+ * @angle_start: initial angle in degrees, between 0 and 360.
+ * @angle_end: final angle in degrees, between 0 and 360.
+ *
+ * Sets the initial and final angles of a rotation behaviour; angles >= 360
+ * degrees get clamped to the canonical interval <0, 360).
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_rotate_set_bounds (ClutterBehaviourRotate *rotate,
+                                     gdouble                 angle_start,
+                                     gdouble                 angle_end)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate));
+
+  priv = rotate->priv;
+
+  g_object_freeze_notify (G_OBJECT (rotate));
+
+  if (priv->angle_start != angle_start)
+    {
+      priv->angle_start = clamp_angle (angle_start);
+
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_ANGLE_START]);
+    }
+
+  if (priv->angle_end != angle_end)
+    {
+      priv->angle_end = clamp_angle (angle_end);
+
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_ANGLE_END]);
+    }
+
+  g_object_thaw_notify (G_OBJECT (rotate));
+}
+
+/**
+ * clutter_behaviour_rotate_set_center:
+ * @rotate: a #ClutterBehaviourRotate
+ * @x: X axis center of rotation
+ * @y: Y axis center of rotation
+ * @z: Z axis center of rotation
+ *
+ * Sets the center of rotation. The coordinates are relative to the plane
+ * normal to the rotation axis set with clutter_behaviour_rotate_set_axis().
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_rotate_set_center (ClutterBehaviourRotate *rotate,
+                                    gint                    x,
+                                    gint                    y,
+                                    gint                    z)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate));
+
+  priv = rotate->priv;
+
+  g_object_freeze_notify (G_OBJECT (rotate));
+
+  if (priv->center_x != x)
+    {
+      priv->center_x = x;
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_CENTER_X]);
+    }
+
+  if (priv->center_y != y)
+    {
+      priv->center_y = y;
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_CENTER_Y]);
+    }
+
+  if (priv->center_z != z)
+    {
+      priv->center_z = z;
+      g_object_notify_by_pspec (G_OBJECT (rotate), obj_props[PROP_CENTER_Z]);
+    }
+
+  g_object_thaw_notify (G_OBJECT (rotate));
+}
+
+/**
+ * clutter_behaviour_rotate_get_center:
+ * @rotate: a #ClutterBehaviourRotate
+ * @x: (out): return location for the X center of rotation
+ * @y: (out): return location for the Y center of rotation
+ * @z: (out): return location for the Z center of rotation
+ *
+ * Retrieves the center of rotation set using
+ * clutter_behaviour_rotate_set_center().
+ *
+ * Since: 0.4
+ */
+void
+clutter_behaviour_rotate_get_center (ClutterBehaviourRotate *rotate,
+                                    gint                   *x,
+                                    gint                   *y,
+                                    gint                   *z)
+{
+  ClutterBehaviourRotatePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_ROTATE (rotate));
+
+  priv = rotate->priv;
+
+  if (x)
+    *x = priv->center_x;
+
+  if (y)
+    *y = priv->center_y;
+
+  if (z)
+    *z = priv->center_z;
+}
diff --git a/clutter/deprecated/clutter-behaviour-rotate.h b/clutter/deprecated/clutter-behaviour-rotate.h
new file mode 100644
index 0000000..55f58b3
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-rotate.h
@@ -0,0 +1,119 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2007 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_ROTATE_H__
+#define __CLUTTER_BEHAVIOUR_ROTATE_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR_ROTATE            (clutter_behaviour_rotate_get_type ())
+#define CLUTTER_BEHAVIOUR_ROTATE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
CLUTTER_TYPE_BEHAVIOUR_ROTATE, ClutterBehaviourRotate))
+#define CLUTTER_IS_BEHAVIOUR_ROTATE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
CLUTTER_TYPE_BEHAVIOUR_ROTATE))
+#define CLUTTER_BEHAVIOUR_ROTATE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
CLUTTER_TYPE_BEHAVIOUR_ROTATE, ClutterBehaviourRotateClass))
+#define CLUTTER_IS_BEHAVIOUR_ROTATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
CLUTTER_TYPE_BEHAVIOUR_ROTATE))
+#define CLUTTER_BEHAVIOUR_ROTATE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((klass), 
CLUTTER_TYPE_BEHAVIOUR_ROTATE, ClutterBehaviourRotateClass))
+
+typedef struct _ClutterBehaviourRotate          ClutterBehaviourRotate;
+typedef struct _ClutterBehaviourRotatePrivate   ClutterBehaviourRotatePrivate;
+typedef struct _ClutterBehaviourRotateClass     ClutterBehaviourRotateClass;
+
+/**
+ * ClutterBehaviourRotate:
+ *
+ * The #ClutterBehaviourRotate struct contains only private data and
+ * should be accessed using the provided API
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6: Use clutter_actor_animate() instead.
+ */
+struct _ClutterBehaviourRotate
+{
+  /*< private >*/
+  ClutterBehaviour parent_instance;
+
+  ClutterBehaviourRotatePrivate *priv;
+};
+
+/**
+ * ClutterBehaviourRotateClass:
+ *
+ * The #ClutterBehaviourRotateClass struct contains only private data
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourRotateClass
+{
+  /*< private >*/
+  ClutterBehaviourClass parent_class;
+};
+
+CLUTTER_DEPRECATED_IN_1_6
+GType clutter_behaviour_rotate_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate)
+ClutterBehaviour *     clutter_behaviour_rotate_new           (ClutterAlpha           *alpha,
+                                                               ClutterRotateAxis       axis,
+                                                               ClutterRotateDirection  direction,
+                                                               gdouble                 angle_start,
+                                                               gdouble                 angle_end);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_rotate_get_center    (ClutterBehaviourRotate *rotate,
+                                                              gint                   *x,
+                                                              gint                   *y,
+                                                              gint                   *z);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_rotate_set_center    (ClutterBehaviourRotate *rotate,
+                                                              gint                    x,
+                                                              gint                    y,
+                                                              gint                    z);
+CLUTTER_DEPRECATED_IN_1_6
+ClutterRotateAxis      clutter_behaviour_rotate_get_axis      (ClutterBehaviourRotate *rotate);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_rotate_set_axis      (ClutterBehaviourRotate *rotate,
+                                                               ClutterRotateAxis       axis);
+CLUTTER_DEPRECATED_IN_1_6
+ClutterRotateDirection clutter_behaviour_rotate_get_direction (ClutterBehaviourRotate *rotate);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_rotate_set_direction (ClutterBehaviourRotate *rotate,
+                                                               ClutterRotateDirection  direction);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_rotate_get_bounds    (ClutterBehaviourRotate *rotate,
+                                                               gdouble                *angle_start,
+                                                               gdouble                *angle_end);
+CLUTTER_DEPRECATED_IN_1_6
+void                   clutter_behaviour_rotate_set_bounds    (ClutterBehaviourRotate *rotate,
+                                                               gdouble                 angle_start,
+                                                               gdouble                 angle_end);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_ROTATE_H__ */
diff --git a/clutter/deprecated/clutter-behaviour-scale.c b/clutter/deprecated/clutter-behaviour-scale.c
new file mode 100644
index 0000000..2f78eee
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-scale.c
@@ -0,0 +1,443 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-behaviour-scale
+ * @Title: ClutterBehaviourScale
+ * @short_description: A behaviour controlling scale
+ * @Deprecated: 1.6: Use clutter_actor_animate() with #ClutterActor:scale-x
+ *   and #ClutterActor:scale-y instead.
+ *
+ * A #ClutterBehaviourScale interpolates actors size between two values.
+ *
+ * Deprecated: 1.6: Use the #ClutterActor:scale-x and #ClutterActor:scale-y
+ *   properties, and clutter_actor_animate(), or #ClutterAnimator or
+ *   #ClutterState instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-actor.h"
+
+#include "clutter-alpha.h"
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-scale.h"
+#include "clutter-debug.h"
+#include "clutter-main.h"
+#include "clutter-private.h"
+
+G_DEFINE_TYPE (ClutterBehaviourScale,
+               clutter_behaviour_scale,
+              CLUTTER_TYPE_BEHAVIOUR);
+
+struct _ClutterBehaviourScalePrivate
+{
+  gdouble x_scale_start;
+  gdouble y_scale_start;
+
+  gdouble x_scale_end;
+  gdouble y_scale_end;
+};
+
+#define CLUTTER_BEHAVIOUR_SCALE_GET_PRIVATE(obj)        (G_TYPE_INSTANCE_GET_PRIVATE ((obj), 
CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScalePrivate))
+
+enum
+{
+  PROP_0,
+
+  PROP_X_SCALE_START,
+  PROP_Y_SCALE_START,
+  PROP_X_SCALE_END,
+  PROP_Y_SCALE_END,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+typedef struct {
+  gdouble scale_x;
+  gdouble scale_y;
+} ScaleFrameClosure;
+
+static void
+scale_frame_foreach (ClutterBehaviour *behaviour,
+                     ClutterActor     *actor,
+                    gpointer          data)
+{
+  ScaleFrameClosure *closure = data;
+
+  clutter_actor_set_scale (actor, closure->scale_x, closure->scale_y);
+}
+
+static void
+clutter_behaviour_scale_alpha_notify (ClutterBehaviour *behave,
+                                      gdouble           alpha_value)
+{
+  ClutterBehaviourScalePrivate *priv;
+  ScaleFrameClosure closure = { 0, };
+
+  priv = CLUTTER_BEHAVIOUR_SCALE (behave)->priv;
+
+  /* Fix the start/end values, avoids potential rounding errors on large
+   * values.
+  */
+  if (alpha_value == 1.0)
+    {
+      closure.scale_x = priv->x_scale_end;
+      closure.scale_y = priv->y_scale_end;
+    }
+  else if (alpha_value == 0)
+    {
+      closure.scale_x = priv->x_scale_start;
+      closure.scale_y = priv->y_scale_start;
+    }
+  else
+    {
+      closure.scale_x = (priv->x_scale_end - priv->x_scale_start)
+                      * alpha_value
+                      + priv->x_scale_start;
+
+      closure.scale_y = (priv->y_scale_end - priv->y_scale_start)
+                      * alpha_value
+                      + priv->y_scale_start;
+    }
+
+  clutter_behaviour_actors_foreach (behave,
+                                    scale_frame_foreach,
+                                    &closure);
+}
+
+static void
+clutter_behaviour_scale_set_property (GObject      *gobject,
+                                      guint         prop_id,
+                                      const GValue *value,
+                                      GParamSpec   *pspec)
+{
+  ClutterBehaviourScalePrivate *priv;
+
+  priv = CLUTTER_BEHAVIOUR_SCALE (gobject)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_X_SCALE_START:
+      priv->x_scale_start = g_value_get_double (value);
+      break;
+
+    case PROP_X_SCALE_END:
+      priv->x_scale_end = g_value_get_double (value);
+      break;
+
+    case PROP_Y_SCALE_START:
+      priv->y_scale_start = g_value_get_double (value);
+      break;
+
+    case PROP_Y_SCALE_END:
+      priv->y_scale_end = g_value_get_double (value);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_scale_get_property (GObject    *gobject,
+                                      guint       prop_id,
+                                      GValue     *value,
+                                      GParamSpec *pspec)
+{
+  ClutterBehaviourScalePrivate *priv;
+
+  priv = CLUTTER_BEHAVIOUR_SCALE (gobject)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_X_SCALE_START:
+      g_value_set_double (value, priv->x_scale_start);
+      break;
+
+    case PROP_X_SCALE_END:
+      g_value_set_double (value, priv->x_scale_end);
+      break;
+
+    case PROP_Y_SCALE_START:
+      g_value_set_double (value, priv->y_scale_start);
+      break;
+
+    case PROP_Y_SCALE_END:
+      g_value_set_double (value, priv->y_scale_end);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_behaviour_scale_class_init (ClutterBehaviourScaleClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass);
+  GParamSpec *pspec = NULL;
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourScalePrivate));
+
+  gobject_class->set_property = clutter_behaviour_scale_set_property;
+  gobject_class->get_property = clutter_behaviour_scale_get_property;
+
+  /**
+   * ClutterBehaviourScale:x-scale-start:
+   *
+   * The initial scaling factor on the X axis for the actors.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.6
+   */
+  pspec = g_param_spec_double ("x-scale-start",
+                               P_("X Start Scale"),
+                               P_("Initial scale on the X axis"),
+                               0.0, G_MAXDOUBLE,
+                               1.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_X_SCALE_START] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_X_SCALE_START,
+                                   pspec);
+  /**
+   * ClutterBehaviourScale:x-scale-end:
+   *
+   * The final scaling factor on the X axis for the actors.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.6
+   */
+  pspec = g_param_spec_double ("x-scale-end",
+                               P_("X End Scale"),
+                               P_("Final scale on the X axis"),
+                               0.0, G_MAXDOUBLE,
+                               1.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_X_SCALE_END] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_X_SCALE_END,
+                                   pspec);
+  /**
+   * ClutterBehaviourScale:y-scale-start:
+   *
+   * The initial scaling factor on the Y axis for the actors.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.6
+   */
+  pspec = g_param_spec_double ("y-scale-start",
+                               P_("Y Start Scale"),
+                               P_("Initial scale on the Y axis"),
+                               0.0, G_MAXDOUBLE,
+                               1.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_Y_SCALE_START] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_Y_SCALE_START,
+                                   pspec);
+  /**
+   * ClutterBehaviourScale:y-scale-end:
+   *
+   * The final scaling factor on the Y axis for the actors.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.6
+   */
+  pspec = g_param_spec_double ("y-scale-end",
+                               P_("Y End Scale"),
+                               P_("Final scale on the Y axis"),
+                               0.0, G_MAXDOUBLE,
+                               1.0,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_Y_SCALE_END] = pspec;
+  g_object_class_install_property (gobject_class,
+                                   PROP_Y_SCALE_END,
+                                   pspec);
+
+  behave_class->alpha_notify = clutter_behaviour_scale_alpha_notify;
+}
+
+static void
+clutter_behaviour_scale_init (ClutterBehaviourScale *self)
+{
+  ClutterBehaviourScalePrivate *priv;
+
+  self->priv = priv = CLUTTER_BEHAVIOUR_SCALE_GET_PRIVATE (self);
+
+  priv->x_scale_start = priv->x_scale_end = 1.0;
+  priv->y_scale_start = priv->y_scale_end = 1.0;
+}
+
+/**
+ * clutter_behaviour_scale_new:
+ * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL
+ * @x_scale_start: initial scale factor on the X axis
+ * @y_scale_start: initial scale factor on the Y axis
+ * @x_scale_end: final scale factor on the X axis
+ * @y_scale_end: final scale factor on the Y axis
+ *
+ * Creates a new  #ClutterBehaviourScale instance.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance. In the case when @alpha is %NULL,
+ * it can be set later with clutter_behaviour_set_alpha().
+ *
+ * Return value: (transfer full): the newly created #ClutterBehaviourScale
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+ClutterBehaviour *
+clutter_behaviour_scale_new (ClutterAlpha   *alpha,
+                            gdouble         x_scale_start,
+                            gdouble         y_scale_start,
+                            gdouble         x_scale_end,
+                            gdouble         y_scale_end)
+{
+  g_return_val_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha), NULL);
+
+  return g_object_new (CLUTTER_TYPE_BEHAVIOUR_SCALE,
+                       "alpha", alpha,
+                       "x-scale-start", x_scale_start,
+                       "y-scale-start", y_scale_start,
+                       "x-scale-end", x_scale_end,
+                       "y-scale-end", y_scale_end,
+                       NULL);
+}
+
+/**
+ * clutter_behaviour_scale_set_bounds:
+ * @scale: a #ClutterBehaviourScale
+ * @x_scale_start: initial scale factor on the X axis
+ * @y_scale_start: initial scale factor on the Y axis
+ * @x_scale_end: final scale factor on the X axis
+ * @y_scale_end: final scale factor on the Y axis
+ *
+ * Sets the bounds used by scale behaviour.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_scale_set_bounds (ClutterBehaviourScale *scale,
+                                    gdouble                x_scale_start,
+                                    gdouble                y_scale_start,
+                                    gdouble                x_scale_end,
+                                    gdouble                y_scale_end)
+{
+  ClutterBehaviourScalePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_SCALE (scale));
+
+  priv = scale->priv;
+
+  g_object_freeze_notify (G_OBJECT (scale));
+
+  if (priv->x_scale_start != x_scale_start)
+    {
+      priv->x_scale_start = x_scale_start;
+      g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_X_SCALE_START]);
+    }
+
+  if (priv->y_scale_start != y_scale_start)
+    {
+      priv->y_scale_start = y_scale_start;
+      g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_Y_SCALE_START]);
+    }
+
+  if (priv->x_scale_end != x_scale_end)
+    {
+      priv->x_scale_end = x_scale_end;
+      g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_X_SCALE_END]);
+    }
+
+  if (priv->y_scale_end != y_scale_end)
+    {
+      priv->y_scale_end = y_scale_end;
+      g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_Y_SCALE_END]);
+    }
+
+  g_object_thaw_notify (G_OBJECT (scale));
+}
+
+/**
+ * clutter_behaviour_scale_get_bounds:
+ * @scale: a #ClutterBehaviourScale
+ * @x_scale_start: (out): return location for the initial scale factor on the X
+ *   axis, or %NULL
+ * @y_scale_start: (out): return location for the initial scale factor on the Y
+ *   axis, or %NULL
+ * @x_scale_end: (out): return location for the final scale factor on the X axis,
+ *   or %NULL
+ * @y_scale_end: (out): return location for the final scale factor on the Y axis,
+ *   or %NULL
+ *
+ * Retrieves the bounds used by scale behaviour.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_scale_get_bounds (ClutterBehaviourScale *scale,
+                                    gdouble               *x_scale_start,
+                                    gdouble               *y_scale_start,
+                                    gdouble               *x_scale_end,
+                                    gdouble               *y_scale_end)
+{
+  ClutterBehaviourScalePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR_SCALE (scale));
+
+  priv = scale->priv;
+
+  if (x_scale_start)
+    *x_scale_start = priv->x_scale_start;
+
+  if (x_scale_end)
+    *x_scale_end = priv->x_scale_end;
+
+  if (y_scale_start)
+    *y_scale_start = priv->y_scale_start;
+
+  if (y_scale_end)
+    *y_scale_end = priv->y_scale_end;
+}
diff --git a/clutter/deprecated/clutter-behaviour-scale.h b/clutter/deprecated/clutter-behaviour-scale.h
new file mode 100644
index 0000000..e3f7797
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour-scale.h
@@ -0,0 +1,107 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_SCALE_H__
+#define __CLUTTER_BEHAVIOUR_SCALE_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR_SCALE            (clutter_behaviour_scale_get_type ())
+#define CLUTTER_BEHAVIOUR_SCALE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScale))
+#define CLUTTER_BEHAVIOUR_SCALE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScaleClass))
+#define CLUTTER_IS_BEHAVIOUR_SCALE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
CLUTTER_TYPE_BEHAVIOUR_SCALE))
+#define CLUTTER_IS_BEHAVIOUR_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
CLUTTER_TYPE_BEHAVIOUR_SCALE))
+#define CLUTTER_BEHAVIOUR_SCALE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), 
CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScaleClass))
+
+typedef struct _ClutterBehaviourScale           ClutterBehaviourScale;
+typedef struct _ClutterBehaviourScalePrivate    ClutterBehaviourScalePrivate;
+typedef struct _ClutterBehaviourScaleClass      ClutterBehaviourScaleClass;
+
+/**
+ * ClutterBehaviourScale:
+ *
+ * The #ClutterBehaviourScale struct contains only private data and
+ * should be accessed using the provided API
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6: Use clutter_actor_animate() with #ClutterActor:scale-x
+ *   and #ClutterActor:scale-y instead.
+ */
+struct _ClutterBehaviourScale
+{
+  /*< private >*/
+  ClutterBehaviour parent_instance;
+
+  ClutterBehaviourScalePrivate *priv;
+};
+
+/**
+ * ClutterBehaviourScaleClass:
+ *
+ * The #ClutterBehaviourScaleClass struct contains only private data
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourScaleClass
+{
+  /*< private >*/
+  ClutterBehaviourClass parent_class;
+};
+
+CLUTTER_DEPRECATED_IN_1_6
+GType clutter_behaviour_scale_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_6_FOR(clutter_actor_animate with ClutterActor:scale-x and ClutterActor:scale-y)
+ClutterBehaviour *clutter_behaviour_scale_new        (ClutterAlpha          *alpha,
+                                                      gdouble                x_scale_start,
+                                                      gdouble                y_scale_start,
+                                                      gdouble                x_scale_end,
+                                                      gdouble                y_scale_end);
+
+CLUTTER_DEPRECATED_IN_1_6
+void              clutter_behaviour_scale_set_bounds (ClutterBehaviourScale *scale,
+                                                      gdouble                x_scale_start,
+                                                      gdouble                y_scale_start,
+                                                      gdouble                x_scale_end,
+                                                      gdouble                y_scale_end);
+CLUTTER_DEPRECATED_IN_1_6
+void              clutter_behaviour_scale_get_bounds (ClutterBehaviourScale *scale,
+                                                      gdouble               *x_scale_start,
+                                                      gdouble               *y_scale_start,
+                                                      gdouble               *x_scale_end,
+                                                      gdouble               *y_scale_end);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_SCALE_H__ */
diff --git a/clutter/deprecated/clutter-behaviour.c b/clutter/deprecated/clutter-behaviour.c
new file mode 100644
index 0000000..08a11f4
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour.c
@@ -0,0 +1,669 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-behaviour
+ * @Title: ClutterBehaviour
+ * @short_description: Class for providing behaviours to actors
+ * @Deprecated: 1.6: Use clutter_actor_animate(), #ClutterAnimator or
+ *   #ClutterState instead
+ *
+ * #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.
+ *
+ * To visualize the effects of different alpha functions on a
+ * #ClutterBehaviour implementation it is possible to take the
+ * #ClutterBehaviourPath as an example:
+ *
+ * <figure id="behaviour-path-alpha">
+ *   <title>Effects of alpha functions on a path</title>
+ *   <graphic fileref="path-alpha-func.png" format="PNG"/>
+ * </figure>
+ *
+ * The actors position between the path's end points directly correlates
+ * to the #ClutterAlpha's current alpha value driving the behaviour. With
+ * the #ClutterAlpha's function set to a linear ramp the actor
+ * will follow the path at a constant velocity, but when changing to
+ * a sine wave the actor initially accelerates before quickly
+ * decelerating.
+ *
+ * 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.
+ *
+ * #ClutterBehaviour is available since Clutter 0.2.
+ *
+ * #ClutterBehaviour and its sub-classes have been deprecated since Clutter
+ * 1.6. You should see <link linkend="migrating-ClutterBehaviour">the
+ * migration guide</link> for more information on migrating code from using
+ * the #ClutterBehaviour API to the animation framework API.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "clutter-behaviour.h"
+#include "clutter-alpha.h"
+
+#include "clutter-debug.h"
+#include "clutter-main.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-scriptable.h"
+#include "clutter-script-private.h"
+
+static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
+
+G_DEFINE_ABSTRACT_TYPE_WITH_CODE (ClutterBehaviour,
+                                  clutter_behaviour,
+                                  G_TYPE_OBJECT,
+                                  G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                         clutter_scriptable_iface_init));
+
+struct _ClutterBehaviourPrivate
+{
+  ClutterAlpha *alpha;
+
+  guint notify_id;
+  GSList *actors;
+};
+
+enum
+{
+  PROP_0,
+  PROP_ALPHA,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+enum {
+  APPLIED,
+  REMOVED,
+  LAST_SIGNAL
+};
+
+static guint behave_signals[LAST_SIGNAL] = { 0 };
+
+#define CLUTTER_BEHAVIOUR_GET_PRIVATE(obj)         \
+              (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
+               CLUTTER_TYPE_BEHAVIOUR,             \
+               ClutterBehaviourPrivate))
+
+static gboolean
+clutter_behaviour_parse_custom_node (ClutterScriptable *scriptable,
+                                     ClutterScript     *script,
+                                     GValue            *value,
+                                     const gchar       *name,
+                                     JsonNode          *node)
+{
+  if (strncmp (name, "alpha", 5) == 0)
+    {
+      GObject *alpha;
+
+      alpha = _clutter_script_parse_alpha (script, node);
+      if (alpha != NULL)
+        {
+          g_value_init (value, CLUTTER_TYPE_ALPHA);
+          g_value_set_object (value, alpha);
+
+          return TRUE;
+        }
+    }
+
+  return FALSE;
+}
+
+static void
+clutter_scriptable_iface_init (ClutterScriptableIface *iface)
+{
+  iface->parse_custom_node = clutter_behaviour_parse_custom_node;
+}
+
+static void
+clutter_behaviour_dispose (GObject *gobject)
+{
+  ClutterBehaviour *self = CLUTTER_BEHAVIOUR (gobject);
+
+  clutter_behaviour_set_alpha (self, NULL);
+  clutter_behaviour_remove_all (self);
+
+  G_OBJECT_CLASS (clutter_behaviour_parent_class)->dispose (gobject);
+}
+
+static void
+clutter_behaviour_set_property (GObject      *object, 
+                               guint         prop_id,
+                               const GValue *value, 
+                               GParamSpec   *pspec)
+{
+  ClutterBehaviour *behaviour = CLUTTER_BEHAVIOUR (object);
+
+  switch (prop_id) 
+    {
+    case PROP_ALPHA:
+      clutter_behaviour_set_alpha (behaviour, g_value_get_object (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+clutter_behaviour_get_property (GObject    *object, 
+                               guint       prop_id,
+                               GValue     *value, 
+                               GParamSpec *pspec)
+{
+  ClutterBehaviour        *behaviour = CLUTTER_BEHAVIOUR (object);
+  ClutterBehaviourPrivate *priv = behaviour->priv;
+
+  switch (prop_id) 
+    {
+    case PROP_ALPHA:
+      g_value_set_object (value, priv->alpha);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    } 
+}
+
+static void
+clutter_behaviour_alpha_notify_unimplemented (ClutterBehaviour *behaviour,
+                                              gdouble           alpha_value)
+{
+  g_warning ("ClutterBehaviourClass::alpha_notify not implemented for '%s'",
+             g_type_name (G_TYPE_FROM_INSTANCE (behaviour)));
+}
+
+static void
+clutter_behaviour_class_init (ClutterBehaviourClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  object_class->dispose      = clutter_behaviour_dispose;
+  object_class->set_property = clutter_behaviour_set_property;
+  object_class->get_property = clutter_behaviour_get_property;
+
+  /**
+   * ClutterBehaviour:alpha:
+   *
+   * The #ClutterAlpha object used to drive this behaviour. A #ClutterAlpha
+   * object binds a #ClutterTimeline and a function which computes a value
+   * (the "alpha") depending on the time. Each time the alpha value changes
+   * the alpha-notify virtual function is called.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.6
+   */
+  obj_props[PROP_ALPHA] =
+    g_param_spec_object ("alpha",
+                         P_("Alpha"),
+                         P_("Alpha Object to drive the behaviour"),
+                         CLUTTER_TYPE_ALPHA,
+                         CLUTTER_PARAM_READWRITE);
+
+  g_object_class_install_properties (object_class,
+                                     PROP_LAST,
+                                     obj_props);
+
+  klass->alpha_notify = clutter_behaviour_alpha_notify_unimplemented;
+
+  /**
+   * ClutterBehaviour::applied:
+   * @behaviour: the #ClutterBehaviour that received the signal
+   * @actor: the actor the behaviour was applied to.
+   *
+   * The ::apply signal is emitted each time the behaviour is applied
+   * to an actor.
+   *
+   * Since: 0.4
+   *
+   * Deprecated: 1.6
+   */
+  behave_signals[APPLIED] =
+    g_signal_new ("applied",
+                 G_OBJECT_CLASS_TYPE (object_class),
+                 G_SIGNAL_RUN_FIRST,
+                 G_STRUCT_OFFSET (ClutterBehaviourClass, applied),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__OBJECT,
+                 G_TYPE_NONE, 1,
+                 CLUTTER_TYPE_ACTOR);
+  /**
+   * ClutterBehaviour::removed:
+   * @behaviour: the #ClutterBehaviour that received the signal
+   * @actor: the removed actor
+   *
+   * The ::removed signal is emitted each time a behaviour is not applied
+   * to an actor anymore.
+   *
+   * Since: 0.4
+   *
+   * Deprecated: 1.6
+   */
+  behave_signals[REMOVED] =
+    g_signal_new ("removed",
+                 G_OBJECT_CLASS_TYPE (object_class),
+                 G_SIGNAL_RUN_FIRST,
+                 G_STRUCT_OFFSET (ClutterBehaviourClass, removed),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__OBJECT,
+                 G_TYPE_NONE, 1,
+                 CLUTTER_TYPE_ACTOR);
+
+  g_type_class_add_private (klass, sizeof (ClutterBehaviourPrivate));
+}
+
+static void
+clutter_behaviour_init (ClutterBehaviour *self)
+{
+  self->priv = CLUTTER_BEHAVIOUR_GET_PRIVATE (self);
+}
+
+static void
+remove_actor_on_destroy (ClutterActor     *actor,
+                         ClutterBehaviour *behaviour)
+{
+  clutter_behaviour_remove (behaviour, actor);
+}
+
+/**
+ * clutter_behaviour_apply:
+ * @behave: a #ClutterBehaviour
+ * @actor: a #ClutterActor
+ *
+ * Applies @behave to @actor.  This function adds a reference on
+ * the actor.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_apply (ClutterBehaviour *behave,
+                         ClutterActor     *actor)
+{
+  ClutterBehaviourPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR (behave));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = behave->priv;
+
+  if (g_slist_find (priv->actors, actor))
+    {
+      g_warning ("The behaviour of type %s already applies "
+                 "to the actor of type %s",
+                 g_type_name (G_OBJECT_TYPE (behave)),
+                 g_type_name (G_OBJECT_TYPE (actor)));
+      return;
+    }
+
+  priv->actors = g_slist_append (priv->actors, g_object_ref (actor));
+  g_signal_connect (actor, "destroy",
+                    G_CALLBACK (remove_actor_on_destroy),
+                    behave);
+
+  g_signal_emit (behave, behave_signals[APPLIED], 0, actor);
+}
+
+/**
+ * clutter_behaviour_is_applied:
+ * @behave: a #ClutterBehaviour
+ * @actor: a #ClutterActor
+ *
+ * Check if @behave applied to  @actor.
+ *
+ * Return value: TRUE if actor has behaviour. FALSE otherwise.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+gboolean
+clutter_behaviour_is_applied (ClutterBehaviour *behave,
+                             ClutterActor     *actor)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR (behave), FALSE);
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), FALSE);
+
+  return (g_slist_find (behave->priv->actors, actor) != NULL);
+}
+
+/**
+ * clutter_behaviour_remove:
+ * @behave: a #ClutterBehaviour
+ * @actor: a #ClutterActor
+ *
+ * Removes @actor from the list of #ClutterActor<!-- -->s to which
+ * @behave applies.  This function removes a reference on the actor.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_remove (ClutterBehaviour *behave,
+                          ClutterActor     *actor)
+{
+  ClutterBehaviourPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR (behave));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  priv = behave->priv;
+
+  if (!g_slist_find (priv->actors, actor))
+    {
+      g_warning ("The behaviour of type %s is not applied "
+                 "to the actor of type %s",
+                 g_type_name (G_OBJECT_TYPE (behave)),
+                 g_type_name (G_OBJECT_TYPE (actor)));
+      return;
+    }
+
+  g_signal_handlers_disconnect_by_func (actor,
+                                        G_CALLBACK (remove_actor_on_destroy),
+                                        behave);
+
+  priv->actors = g_slist_remove (priv->actors, actor);
+  
+  g_signal_emit (behave, behave_signals[REMOVED], 0, actor);
+
+  g_object_unref (actor);
+}
+
+/**
+ * clutter_behaviour_get_n_actors:
+ * @behave: a #ClutterBehaviour
+ *
+ * Gets the number of actors this behaviour is applied too.
+ *
+ * Return value: The number of applied actors 
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+gint
+clutter_behaviour_get_n_actors (ClutterBehaviour *behave)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR (behave), 0);
+
+  return g_slist_length (behave->priv->actors);
+}
+
+/**
+ * clutter_behaviour_get_nth_actor:
+ * @behave: a #ClutterBehaviour
+ * @index_: the index of an actor this behaviour is applied too. 
+ *
+ * Gets an actor the behaviour was applied to referenced by index num.
+ *
+ * Return value: (transfer none): A Clutter actor or NULL if @index_ is invalid.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+ClutterActor *
+clutter_behaviour_get_nth_actor (ClutterBehaviour *behave,
+                                gint              index_)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR (behave), NULL);
+
+  return g_slist_nth_data (behave->priv->actors, index_);
+}
+
+
+/**
+ * clutter_behaviour_actors_foreach:
+ * @behave: a #ClutterBehaviour
+ * @func: (scope call): a function called for each actor
+ * @data: optional data to be passed to the function, or %NULL
+ *
+ * Calls @func for every actor driven by @behave.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_actors_foreach (ClutterBehaviour            *behave,
+                                 ClutterBehaviourForeachFunc  func,
+                                 gpointer                     data)
+{
+  GSList *l;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR (behave));
+  g_return_if_fail (func != NULL);
+
+  for (l = behave->priv->actors; l != NULL; l = l->next)
+    {
+      ClutterActor *actor = l->data;
+
+      g_assert (CLUTTER_IS_ACTOR (actor));
+
+      func (behave, actor, data);
+    }
+}
+
+/**
+ * clutter_behaviour_get_alpha:
+ * @behave: a #ClutterBehaviour
+ *
+ * Retrieves the #ClutterAlpha object bound to @behave.
+ *
+ * Return value: (transfer none): a #ClutterAlpha object, or %NULL if no alpha
+ *   object has been bound to this behaviour.
+ * 
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+ClutterAlpha *
+clutter_behaviour_get_alpha (ClutterBehaviour *behave)
+{
+  g_return_val_if_fail (CLUTTER_IS_BEHAVIOUR (behave), NULL);
+
+  return behave->priv->alpha;
+}
+
+static void
+notify_cb (GObject          *object,
+           GParamSpec       *param_spec,
+           ClutterBehaviour *behave)
+{
+  ClutterBehaviourClass *klass;
+
+  klass = CLUTTER_BEHAVIOUR_GET_CLASS (behave);
+
+  CLUTTER_NOTE (ANIMATION, "notify::alpha");
+
+  /* no actors, we can stop right here */
+  if (behave->priv->actors == NULL)
+    return;
+
+  if (klass->alpha_notify != NULL)
+    {
+      gdouble alpha_value = clutter_alpha_get_alpha (behave->priv->alpha);
+
+      CLUTTER_NOTE (ANIMATION, "calling %s::alpha_notify (%p, %.4f)",
+                    g_type_name (G_TYPE_FROM_CLASS (klass)),
+                    behave, alpha_value);
+
+      klass->alpha_notify (behave, alpha_value);
+    }
+}
+
+/**
+ * clutter_behaviour_set_alpha:
+ * @behave: a #ClutterBehaviour
+ * @alpha: a #ClutterAlpha or %NULL to unset a previously set alpha
+ *
+ * Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
+ * is what makes a behaviour work: for each tick of the timeline
+ * used by #ClutterAlpha a new value of the alpha parameter is
+ * computed by the alpha function; the value should be used by
+ * the #ClutterBehaviour to update one or more properties of the
+ * actors to which the behaviour applies.
+ *
+ * If @alpha is not %NULL, the #ClutterBehaviour will take ownership
+ * of the #ClutterAlpha instance.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_set_alpha (ClutterBehaviour *behave,
+                            ClutterAlpha     *alpha)
+{
+  ClutterBehaviourPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR (behave));
+  g_return_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha));
+
+  priv = behave->priv;
+
+  if (priv->alpha == alpha)
+    return;
+
+  if (priv->notify_id)
+    {
+      CLUTTER_NOTE (ANIMATION, "removing previous notify-id (%d)",
+                    priv->notify_id);
+
+      g_signal_handler_disconnect (priv->alpha, priv->notify_id);
+      priv->notify_id = 0;
+    }
+
+  if (priv->alpha != NULL)
+    {
+      CLUTTER_NOTE (ANIMATION, "removing previous alpha object");
+
+      g_object_unref (priv->alpha);
+      priv->alpha = NULL;
+    }
+
+  if (alpha != NULL)
+    {
+      priv->alpha = g_object_ref_sink (alpha);
+
+      priv->notify_id = g_signal_connect (priv->alpha, "notify::alpha",
+                                          G_CALLBACK(notify_cb),
+                                          behave);
+      
+      CLUTTER_NOTE (ANIMATION, "setting new alpha object (%p, notify:%d)",
+                    priv->alpha, priv->notify_id);
+    }
+
+  g_object_notify_by_pspec (G_OBJECT (behave), obj_props[PROP_ALPHA]);
+}
+
+/**
+ * clutter_behaviour_get_actors:
+ * @behave: a #ClutterBehaviour
+ *
+ * Retrieves all the actors to which @behave applies. It is not recommended
+ * for derived classes to use this in there alpha notify method but use 
+ * #clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
+ *
+ * Return value: (transfer container) (element-type Clutter.Actor): a list of
+ *   actors. You should free the returned list with g_slist_free() when
+ *   finished using it.
+ * 
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+GSList *
+clutter_behaviour_get_actors (ClutterBehaviour *behave)
+{
+  ClutterBehaviourPrivate *priv;
+  GSList *retval, *l;
+
+  g_return_val_if_fail (CLUTTER_BEHAVIOUR (behave), NULL);
+
+  priv = behave->priv;
+  retval = NULL;
+  for (l = priv->actors; l != NULL; l = l->next)
+    retval = g_slist_prepend (retval, l->data);
+
+  return g_slist_reverse (retval);
+}
+
+/**
+ * clutter_behaviour_remove_all:
+ * @behave: a #ClutterBehaviour
+ *
+ * Removes every actor from the list that @behave holds.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_behaviour_remove_all (ClutterBehaviour *behave)
+{
+  ClutterBehaviourPrivate *priv;
+  GSList *l;
+
+  g_return_if_fail (CLUTTER_IS_BEHAVIOUR (behave));
+
+  priv = behave->priv;
+  for (l = priv->actors; l != NULL; l = l->next)
+    {
+      ClutterActor *actor = l->data;
+
+      g_signal_emit (behave, behave_signals[REMOVED], 0, actor);
+      g_signal_handlers_disconnect_by_func (actor,
+                                            G_CALLBACK (remove_actor_on_destroy),
+                                            behave);
+      g_object_unref (actor);
+    }
+
+  g_slist_free (priv->actors);
+  priv->actors = NULL;
+}
diff --git a/clutter/deprecated/clutter-behaviour.h b/clutter/deprecated/clutter-behaviour.h
new file mode 100644
index 0000000..295d1cf
--- /dev/null
+++ b/clutter/deprecated/clutter-behaviour.h
@@ -0,0 +1,170 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Jorn Baayen  <jorn openedhand com>
+ *             Emmanuele Bassi  <ebassi openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BEHAVIOUR_H__
+#define __CLUTTER_BEHAVIOUR_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BEHAVIOUR clutter_behaviour_get_type()
+
+#define CLUTTER_BEHAVIOUR(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR, ClutterBehaviour))
+
+#define CLUTTER_BEHAVIOUR_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR, ClutterBehaviourClass))
+
+#define CLUTTER_IS_BEHAVIOUR(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR))
+
+#define CLUTTER_IS_BEHAVIOUR_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+  CLUTTER_TYPE_BEHAVIOUR))
+
+#define CLUTTER_BEHAVIOUR_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+  CLUTTER_TYPE_BEHAVIOUR, ClutterBehaviourClass))
+
+typedef struct _ClutterBehaviourPrivate ClutterBehaviourPrivate;
+typedef struct _ClutterBehaviourClass   ClutterBehaviourClass;
+
+/**
+ * ClutterBehaviourForeachFunc:
+ * @behaviour: the #ClutterBehaviour
+ * @actor: an actor driven by @behaviour
+ * @data: (closure): optional data passed to the function
+ *
+ * This function is passed to clutter_behaviour_actors_foreach() and
+ * will be called for each actor driven by @behaviour.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+typedef void (*ClutterBehaviourForeachFunc) (ClutterBehaviour *behaviour,
+                                             ClutterActor     *actor,
+                                             gpointer          data);
+
+/**
+ * ClutterBehaviour:
+ *
+ * #ClutterBehaviour-struct contains only private data and should
+ * be accessed with the functions below.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviour
+{
+  /*< private >*/
+  GObject parent;
+  ClutterBehaviourPrivate *priv;
+};
+
+/**
+ * ClutterBehaviourClass:
+ * @alpha_notify: virtual function, called each time the #ClutterAlpha
+ *   computes a new alpha value; the actors to which the behaviour applies
+ *   should be changed in this function. Every subclass of #ClutterBehaviour
+ *   must implement this virtual function
+ * @applied: signal class handler for the ClutterBehaviour::applied signal
+ * @removed: signal class handler for the ClutterBehaviour::removed signal
+ *
+ * Base class for behaviours.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.6
+ */
+struct _ClutterBehaviourClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /*< public >*/
+  /* vfunc, not signal */
+  void (*alpha_notify) (ClutterBehaviour *behave,
+                        gdouble           alpha_value);
+
+  /* signals */
+  void (*applied)  (ClutterBehaviour *behave,
+                   ClutterActor     *actor);
+  void (*removed)  (ClutterBehaviour *behave,
+                   ClutterActor     *actor);
+
+  /*< private >*/
+  /* padding, for future expansion */
+  void (*_clutter_behaviour1) (void);
+  void (*_clutter_behaviour2) (void);
+  void (*_clutter_behaviour3) (void);
+  void (*_clutter_behaviour4) (void);
+  void (*_clutter_behaviour5) (void);
+  void (*_clutter_behaviour6) (void);
+};
+
+CLUTTER_DEPRECATED_IN_1_6
+GType clutter_behaviour_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_6
+void          clutter_behaviour_apply          (ClutterBehaviour            *behave,
+                                                ClutterActor                *actor);
+CLUTTER_DEPRECATED_IN_1_6
+void          clutter_behaviour_remove         (ClutterBehaviour            *behave,
+                                                ClutterActor                *actor);
+CLUTTER_DEPRECATED_IN_1_6
+void          clutter_behaviour_remove_all     (ClutterBehaviour            *behave);
+CLUTTER_DEPRECATED_IN_1_6
+void          clutter_behaviour_actors_foreach (ClutterBehaviour            *behave,
+                                                ClutterBehaviourForeachFunc  func,
+                                                gpointer                     data);
+CLUTTER_DEPRECATED_IN_1_6
+gint          clutter_behaviour_get_n_actors   (ClutterBehaviour            *behave);
+CLUTTER_DEPRECATED_IN_1_6
+ClutterActor *clutter_behaviour_get_nth_actor  (ClutterBehaviour            *behave,
+                                               gint                         index_);
+CLUTTER_DEPRECATED_IN_1_6
+GSList *      clutter_behaviour_get_actors     (ClutterBehaviour            *behave);
+CLUTTER_DEPRECATED_IN_1_6
+ClutterAlpha *clutter_behaviour_get_alpha      (ClutterBehaviour            *behave);
+CLUTTER_DEPRECATED_IN_1_6
+void          clutter_behaviour_set_alpha      (ClutterBehaviour            *behave,
+                                                ClutterAlpha                *alpha);
+CLUTTER_DEPRECATED_IN_1_6
+gboolean      clutter_behaviour_is_applied     (ClutterBehaviour            *behave,
+                                               ClutterActor                *actor);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BEHAVIOUR_H__ */
diff --git a/clutter/deprecated/clutter-bin-layout.h b/clutter/deprecated/clutter-bin-layout.h
new file mode 100644
index 0000000..2d56d1f
--- /dev/null
+++ b/clutter/deprecated/clutter-bin-layout.h
@@ -0,0 +1,56 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2009  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *   Emmanuele Bassi <ebassi linux intel com>
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BIN_LAYOUT_DEPRECATED_H__
+#define __CLUTTER_BIN_LAYOUT_DEPRECATED_H__
+
+#include <clutter/clutter-bin-layout.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_bin_layout_set_alignment        (ClutterBinLayout    *self,
+                                                         ClutterActor        *child,
+                                                         ClutterBinAlignment  x_align,
+                                                         ClutterBinAlignment  y_align);
+
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_bin_layout_get_alignment        (ClutterBinLayout    *self,
+                                                         ClutterActor        *child,
+                                                         ClutterBinAlignment *x_align,
+                                                         ClutterBinAlignment *y_align);
+
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_bin_layout_add                  (ClutterBinLayout    *self,
+                                                         ClutterActor        *child,
+                                                         ClutterBinAlignment  x_align,
+                                                         ClutterBinAlignment  y_align);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BIN_LAYOUT_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-box.c b/clutter/deprecated/clutter-box.c
new file mode 100644
index 0000000..51412c6
--- /dev/null
+++ b/clutter/deprecated/clutter-box.c
@@ -0,0 +1,737 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2009,2010  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *      Emmanuele Bassi <ebassi linux intel com>
+ */
+
+/**
+ * SECTION:clutter-box
+ * @short_description: A Generic layout container
+ *
+ * #ClutterBox is a #ClutterActor sub-class implementing the #ClutterContainer
+ * interface. A Box delegates the whole size requisition and size allocation to
+ * a #ClutterLayoutManager instance.
+ *
+ * <example id="example-clutter-box">
+ *   <title>Using ClutterBox</title>
+ *   <para>The following code shows how to create a #ClutterBox with
+ *   a #ClutterLayoutManager sub-class, and how to add children to
+ *   it via clutter_box_pack().</para>
+ *   <programlisting>
+ *  ClutterActor *box;
+ *  ClutterLayoutManager *layout;
+ *
+ *  /&ast; Create the layout manager first &ast;/
+ *  layout = clutter_box_layout_new ();
+ *  clutter_box_layout_set_homogeneous (CLUTTER_BOX_LAYOUT (layout), TRUE);
+ *  clutter_box_layout_set_spacing (CLUTTER_BOX_LAYOUT (layout), 12);
+ *
+ *  /&ast; Then create the ClutterBox actor. The Box will take
+ *   &ast; ownership of the ClutterLayoutManager instance by sinking
+ *   &ast; its floating reference
+ *   &ast;/
+ *  box = clutter_box_new (layout);
+ *
+ *  /&ast; Now add children to the Box using the variadic arguments
+ *   &ast; function clutter_box_pack() to set layout properties
+ *   &ast;/
+ *  clutter_box_pack (CLUTTER_BOX (box), actor,
+ *                    "x-align", CLUTTER_BOX_ALIGNMENT_CENTER,
+ *                    "y-align", CLUTTER_BOX_ALIGNMENT_END,
+ *                    "expand", TRUE,
+ *                    NULL);
+ *   </programlisting>
+ * </example>
+ *
+ * #ClutterBox<!-- -->'s clutter_box_pack() wraps the generic
+ * clutter_container_add_actor() function, but it also allows setting
+ * layout properties while adding the new child to the box.
+ *
+ * #ClutterBox is available since Clutter 1.2
+ *
+ * Deprecated: 1.10: Use #ClutterActor instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib-object.h>
+#include <gobject/gvaluecollector.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-container.h"
+
+#include "clutter-box.h"
+
+#include "clutter-actor-private.h"
+#include "clutter-color.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+
+#define CLUTTER_BOX_GET_PRIVATE(obj)    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_BOX, 
ClutterBoxPrivate))
+
+struct _ClutterBoxPrivate
+{
+  ClutterLayoutManager *manager;
+
+  guint changed_id;
+};
+
+enum
+{
+  PROP_0,
+
+  PROP_COLOR,
+  PROP_COLOR_SET,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST] = { NULL, };
+
+static const ClutterColor default_box_color = { 255, 255, 255, 255 };
+
+G_DEFINE_TYPE (ClutterBox, clutter_box, CLUTTER_TYPE_ACTOR);
+
+static inline void
+clutter_box_set_color_internal (ClutterBox         *box,
+                                const ClutterColor *color)
+{
+  clutter_actor_set_background_color (CLUTTER_ACTOR (box), color);
+
+  g_object_notify_by_pspec (G_OBJECT (box), obj_props[PROP_COLOR_SET]);
+  g_object_notify_by_pspec (G_OBJECT (box), obj_props[PROP_COLOR]);
+}
+
+static gboolean
+clutter_box_real_get_paint_volume (ClutterActor       *actor,
+                                   ClutterPaintVolume *volume)
+{
+  gboolean retval = FALSE;
+  ClutterActorIter iter;
+  ClutterActor *child;
+
+  /* if we have a background color, and an allocation, then we need to
+   * set it as the base of our paint volume
+   */
+  retval = clutter_paint_volume_set_from_allocation (volume, actor);
+
+  /* bail out early if we don't have any child */
+  if (clutter_actor_get_n_children (actor) == 0)
+    return retval;
+
+  retval = TRUE;
+
+  /* otherwise, union the paint volumes of our children, in case
+   * any one of them decides to paint outside the parent's allocation
+   */
+  clutter_actor_iter_init (&iter, actor);
+  while (clutter_actor_iter_next (&iter, &child))
+    {
+      const ClutterPaintVolume *child_volume;
+
+      /* This gets the paint volume of the child transformed into the
+       * group's coordinate space... */
+      child_volume = clutter_actor_get_transformed_paint_volume (child, actor);
+      if (!child_volume)
+        return FALSE;
+
+      clutter_paint_volume_union (volume, child_volume);
+    }
+
+  return retval;
+}
+
+static void
+clutter_box_set_property (GObject      *gobject,
+                          guint         prop_id,
+                          const GValue *value,
+                          GParamSpec   *pspec)
+{
+  ClutterBox *self = CLUTTER_BOX (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_COLOR:
+      clutter_box_set_color_internal (self, clutter_value_get_color (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_box_get_property (GObject    *gobject,
+                          guint       prop_id,
+                          GValue     *value,
+                          GParamSpec *pspec)
+{
+  switch (prop_id)
+    {
+    case PROP_COLOR:
+      {
+        ClutterColor color;
+
+        clutter_actor_get_background_color (CLUTTER_ACTOR (gobject),
+                                            &color);
+        clutter_value_set_color (value, &color);
+      }
+      break;
+
+    case PROP_COLOR_SET:
+      {
+        gboolean color_set;
+
+        g_object_get (gobject, "background-color-set", &color_set, NULL);
+        g_value_set_boolean (value, color_set);
+      }
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_box_real_destroy (ClutterActor *actor)
+{
+  ClutterActor *iter;
+
+  iter = clutter_actor_get_first_child (actor);
+  while (iter != NULL)
+    {
+      ClutterActor *next = clutter_actor_get_next_sibling (iter);
+
+      clutter_actor_destroy (iter);
+
+      iter = next;
+    }
+}
+
+static void
+clutter_box_class_init (ClutterBoxClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
+
+  g_type_class_add_private (klass, sizeof (ClutterBoxPrivate));
+
+  actor_class->destroy = clutter_box_real_destroy;
+  actor_class->get_paint_volume = clutter_box_real_get_paint_volume;
+
+  gobject_class->set_property = clutter_box_set_property;
+  gobject_class->get_property = clutter_box_get_property;
+
+  /**
+   * ClutterBox:color:
+   *
+   * The color to be used to paint the background of the
+   * #ClutterBox. Setting this property will set the
+   * #ClutterBox:color-set property as a side effect
+   *
+   * Since: 1.2
+   */
+  obj_props[PROP_COLOR] =
+    clutter_param_spec_color ("color",
+                              P_("Color"),
+                              P_("The background color of the box"),
+                              &default_box_color,
+                              CLUTTER_PARAM_READWRITE);
+
+  /**
+   * ClutterBox:color-set:
+   *
+   * Whether the #ClutterBox:color property has been set
+   *
+   * Since: 1.2
+   */
+  obj_props[PROP_COLOR_SET] =
+    g_param_spec_boolean ("color-set",
+                          P_("Color Set"),
+                          P_("Whether the background color is set"),
+                          FALSE,
+                          CLUTTER_PARAM_READWRITE);
+
+  g_object_class_install_properties (gobject_class, PROP_LAST, obj_props);
+}
+
+static void
+clutter_box_init (ClutterBox *self)
+{
+  self->priv = CLUTTER_BOX_GET_PRIVATE (self);
+}
+
+/**
+ * clutter_box_new:
+ * @manager: a #ClutterLayoutManager
+ *
+ * Creates a new #ClutterBox. The children of the box will be layed
+ * out by the passed @manager
+ *
+ * Return value: the newly created #ClutterBox actor
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_new() instead.
+ */
+ClutterActor *
+clutter_box_new (ClutterLayoutManager *manager)
+{
+  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), NULL);
+
+  return g_object_new (CLUTTER_TYPE_BOX,
+                       "layout-manager", manager,
+                       NULL);
+}
+
+/**
+ * clutter_box_set_layout_manager:
+ * @box: a #ClutterBox
+ * @manager: a #ClutterLayoutManager
+ *
+ * Sets the #ClutterLayoutManager for @box
+ *
+ * A #ClutterLayoutManager is a delegate object that controls the
+ * layout of the children of @box
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_layout_manager() instead.
+ */
+void
+clutter_box_set_layout_manager (ClutterBox           *box,
+                                ClutterLayoutManager *manager)
+{
+  clutter_actor_set_layout_manager (CLUTTER_ACTOR (box), manager);
+}
+
+/**
+ * clutter_box_get_layout_manager:
+ * @box: a #ClutterBox
+ *
+ * Retrieves the #ClutterLayoutManager instance used by @box
+ *
+ * Return value: (transfer none): a #ClutterLayoutManager. The returned
+ *   #ClutterLayoutManager is owned by the #ClutterBox and it should not
+ *   be unreferenced
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_layout_manager() instead.
+ */
+ClutterLayoutManager *
+clutter_box_get_layout_manager (ClutterBox *box)
+{
+  return clutter_actor_get_layout_manager (CLUTTER_ACTOR (box));
+}
+
+/**
+ * clutter_box_packv:
+ * @box: a #ClutterBox
+ * @actor: a #ClutterActor
+ * @n_properties: the number of properties to set
+ * @properties: (array length=n_properties) (element-type utf8): a vector
+ *   containing the property names to set
+ * @values: (array length=n_properties): a vector containing the property
+ *   values to set
+ *
+ * Vector-based variant of clutter_box_pack(), intended for language
+ * bindings to use
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_box_packv (ClutterBox          *box,
+                   ClutterActor        *actor,
+                   guint                n_properties,
+                   const gchar * const  properties[],
+                   const GValue        *values)
+{
+  ClutterLayoutManager *manager;
+  ClutterContainer *container;
+  ClutterLayoutMeta *meta;
+  GObjectClass *klass;
+  gint i;
+
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  container = CLUTTER_CONTAINER (box);
+  clutter_container_add_actor (container, actor);
+
+  manager = clutter_actor_get_layout_manager (CLUTTER_ACTOR (box));
+  if (manager == NULL)
+    return;
+
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                container,
+                                                actor);
+
+  if (meta == NULL)
+    return;
+
+  klass = G_OBJECT_GET_CLASS (meta);
+
+  for (i = 0; i < n_properties; i++)
+    {
+      const gchar *pname = properties[i];
+      GParamSpec *pspec;
+
+      pspec = g_object_class_find_property (klass, pname);
+      if (pspec == NULL)
+        {
+          g_warning ("%s: the layout property '%s' for managers "
+                     "of type '%s' (meta type '%s') does not exist",
+                     G_STRLOC,
+                     pname,
+                     G_OBJECT_TYPE_NAME (manager),
+                     G_OBJECT_TYPE_NAME (meta));
+          break;
+        }
+
+      if (!(pspec->flags & G_PARAM_WRITABLE))
+        {
+          g_warning ("%s: the layout property '%s' for managers "
+                     "of type '%s' (meta type '%s') is not writable",
+                     G_STRLOC,
+                     pspec->name,
+                     G_OBJECT_TYPE_NAME (manager),
+                     G_OBJECT_TYPE_NAME (meta));
+          break;
+        }
+
+      clutter_layout_manager_child_set_property (manager,
+                                                 container, actor,
+                                                 pname, &values[i]);
+    }
+}
+
+static inline void
+clutter_box_set_property_valist (ClutterBox   *box,
+                                 ClutterActor *actor,
+                                 const gchar  *first_property,
+                                 va_list       var_args)
+{
+  ClutterContainer *container = CLUTTER_CONTAINER (box);
+  ClutterLayoutManager *manager;
+  ClutterLayoutMeta *meta;
+  GObjectClass *klass;
+  const gchar *pname;
+
+  manager = clutter_actor_get_layout_manager (CLUTTER_ACTOR (box));
+  if (manager == NULL)
+    return;
+
+  meta = clutter_layout_manager_get_child_meta (manager,
+                                                container,
+                                                actor);
+
+  if (meta == NULL)
+    return;
+
+  klass = G_OBJECT_GET_CLASS (meta);
+
+  pname = first_property;
+  while (pname)
+    {
+      GValue value = { 0, };
+      GParamSpec *pspec;
+      gchar *error;
+
+      pspec = g_object_class_find_property (klass, pname);
+      if (pspec == NULL)
+        {
+          g_warning ("%s: the layout property '%s' for managers "
+                     "of type '%s' (meta type '%s') does not exist",
+                     G_STRLOC,
+                     pname,
+                     G_OBJECT_TYPE_NAME (manager),
+                     G_OBJECT_TYPE_NAME (meta));
+          break;
+        }
+
+      if (!(pspec->flags & G_PARAM_WRITABLE))
+        {
+          g_warning ("%s: the layout property '%s' for managers "
+                     "of type '%s' (meta type '%s') is not writable",
+                     G_STRLOC,
+                     pspec->name,
+                     G_OBJECT_TYPE_NAME (manager),
+                     G_OBJECT_TYPE_NAME (meta));
+          break;
+        }
+
+      G_VALUE_COLLECT_INIT (&value, G_PARAM_SPEC_VALUE_TYPE (pspec),
+                            var_args, 0,
+                            &error);
+
+      if (error)
+        {
+          g_warning ("%s: %s", G_STRLOC, error);
+          g_free (error);
+          break;
+        }
+
+      clutter_layout_manager_child_set_property (manager,
+                                                 container, actor,
+                                                 pspec->name, &value);
+
+      g_value_unset (&value);
+
+      pname = va_arg (var_args, gchar*);
+    }
+}
+
+/**
+ * clutter_box_pack:
+ * @box: a #ClutterBox
+ * @actor: a #ClutterActor
+ * @first_property: the name of the first property to set, or %NULL
+ * @...: a list of property name and value pairs, terminated by %NULL
+ *
+ * Adds @actor to @box and sets layout properties at the same time,
+ * if the #ClutterLayoutManager used by @box has them
+ *
+ * This function is a wrapper around clutter_container_add_actor()
+ * and clutter_layout_manager_child_set()
+ *
+ * Language bindings should use the vector-based clutter_box_packv()
+ * variant instead
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_add_child() instead.
+ */
+void
+clutter_box_pack (ClutterBox   *box,
+                  ClutterActor *actor,
+                  const gchar  *first_property,
+                  ...)
+{
+  va_list var_args;
+
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  clutter_container_add_actor (CLUTTER_CONTAINER (box), actor);
+
+  if (first_property == NULL || *first_property == '\0')
+    return;
+
+  va_start (var_args, first_property);
+  clutter_box_set_property_valist (box, actor, first_property, var_args);
+  va_end (var_args);
+}
+
+/**
+ * clutter_box_pack_after:
+ * @box: a #ClutterBox
+ * @actor: a #ClutterActor
+ * @sibling: (allow-none): a #ClutterActor or %NULL
+ * @first_property: the name of the first property to set, or %NULL
+ * @...: a list of property name and value pairs, terminated by %NULL
+ *
+ * Adds @actor to @box, placing it after @sibling, and sets layout
+ * properties at the same time, if the #ClutterLayoutManager used by
+ * @box supports them
+ *
+ * If @sibling is %NULL then @actor is placed at the end of the
+ * list of children, to be allocated and painted after every other child
+ *
+ * This function is a wrapper around clutter_container_add_actor(),
+ * clutter_container_raise_child() and clutter_layout_manager_child_set()
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_insert_child_above() instead.
+ */
+void
+clutter_box_pack_after (ClutterBox   *box,
+                        ClutterActor *actor,
+                        ClutterActor *sibling,
+                        const gchar  *first_property,
+                        ...)
+{
+  va_list var_args;
+
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+  g_return_if_fail (sibling == NULL || CLUTTER_IS_ACTOR (sibling));
+
+  clutter_container_add_actor (CLUTTER_CONTAINER (box), actor);
+  clutter_container_raise_child (CLUTTER_CONTAINER (box), actor, sibling);
+
+  if (first_property == NULL || *first_property == '\0')
+    return;
+
+  va_start (var_args, first_property);
+  clutter_box_set_property_valist (box, actor, first_property, var_args);
+  va_end (var_args);
+}
+
+/**
+ * clutter_box_pack_before:
+ * @box: a #ClutterBox
+ * @actor: a #ClutterActor
+ * @sibling: (allow-none): a #ClutterActor or %NULL
+ * @first_property: the name of the first property to set, or %NULL
+ * @...: a list of property name and value pairs, terminated by %NULL
+ *
+ * Adds @actor to @box, placing it before @sibling, and sets layout
+ * properties at the same time, if the #ClutterLayoutManager used by
+ * @box supports them
+ *
+ * If @sibling is %NULL then @actor is placed at the beginning of the
+ * list of children, to be allocated and painted below every other child
+ *
+ * This function is a wrapper around clutter_container_add_actor(),
+ * clutter_container_lower_child() and clutter_layout_manager_child_set()
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_insert_child_below() instead.
+ */
+void
+clutter_box_pack_before (ClutterBox   *box,
+                         ClutterActor *actor,
+                         ClutterActor *sibling,
+                         const gchar  *first_property,
+                         ...)
+{
+  va_list var_args;
+
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+  g_return_if_fail (sibling == NULL || CLUTTER_IS_ACTOR (sibling));
+
+  clutter_container_add_actor (CLUTTER_CONTAINER (box), actor);
+  clutter_container_lower_child (CLUTTER_CONTAINER (box), actor, sibling);
+
+  if (first_property == NULL || *first_property == '\0')
+    return;
+
+  va_start (var_args, first_property);
+  clutter_box_set_property_valist (box, actor, first_property, var_args);
+  va_end (var_args);
+}
+
+/**
+ * clutter_box_pack_at:
+ * @box: a #ClutterBox
+ * @actor: a #ClutterActor
+ * @position: the position to insert the @actor at
+ * @first_property: the name of the first property to set, or %NULL
+ * @...: a list of property name and value pairs, terminated by %NULL
+ *
+ * Adds @actor to @box, placing it at @position, and sets layout
+ * properties at the same time, if the #ClutterLayoutManager used by
+ * @box supports them
+ *
+ * If @position is a negative number, or is larger than the number of
+ * children of @box, the new child is added at the end of the list of
+ * children
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_insert_child_at_index() instead.
+ */
+void
+clutter_box_pack_at (ClutterBox   *box,
+                     ClutterActor *actor,
+                     gint          position,
+                     const gchar  *first_property,
+                     ...)
+{
+  va_list var_args;
+
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+  g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+  clutter_actor_insert_child_at_index (CLUTTER_ACTOR (box),
+                                       actor,
+                                       position);
+
+  /* we need to explicitly call this, because we're not going through
+   * the default code paths provided by clutter_container_add()
+   */
+  clutter_container_create_child_meta (CLUTTER_CONTAINER (box), actor);
+
+  g_signal_emit_by_name (box, "actor-added", actor);
+
+  if (first_property == NULL || *first_property == '\0')
+    return;
+
+  va_start (var_args, first_property);
+  clutter_box_set_property_valist (box, actor, first_property, var_args);
+  va_end (var_args);
+}
+
+/**
+ * clutter_box_set_color:
+ * @box: a #ClutterBox
+ * @color: (allow-none): the background color, or %NULL to unset
+ *
+ * Sets (or unsets) the background color for @box
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_set_background_color() instead.
+ */
+void
+clutter_box_set_color (ClutterBox         *box,
+                       const ClutterColor *color)
+{
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+
+  clutter_box_set_color_internal (box, color);
+}
+
+/**
+ * clutter_box_get_color:
+ * @box: a #ClutterBox
+ * @color: (out caller-allocates): return location for a #ClutterColor
+ *
+ * Retrieves the background color of @box
+ *
+ * If the #ClutterBox:color-set property is set to %FALSE the
+ * returned #ClutterColor is undefined
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_background_color() instead.
+ */
+void
+clutter_box_get_color (ClutterBox   *box,
+                       ClutterColor *color)
+{
+  g_return_if_fail (CLUTTER_IS_BOX (box));
+  g_return_if_fail (color != NULL);
+
+  clutter_actor_get_background_color (CLUTTER_ACTOR (box), color);
+}
diff --git a/clutter/deprecated/clutter-box.h b/clutter/deprecated/clutter-box.h
new file mode 100644
index 0000000..0293aac
--- /dev/null
+++ b/clutter/deprecated/clutter-box.h
@@ -0,0 +1,143 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2009,2010  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ *      Emmanuele Bassi <ebassi linux intel com>
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_BOX_H__
+#define __CLUTTER_BOX_H__
+
+#include <clutter/clutter-actor.h>
+#include <clutter/clutter-container.h>
+#include <clutter/clutter-layout-manager.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_BOX                (clutter_box_get_type ())
+#define CLUTTER_BOX(obj)                (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BOX, ClutterBox))
+#define CLUTTER_IS_BOX(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BOX))
+#define CLUTTER_BOX_CLASS(klass)        (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_BOX, 
ClutterBoxClass))
+#define CLUTTER_IS_BOX_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_BOX))
+#define CLUTTER_BOX_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BOX, 
ClutterBoxClass))
+
+typedef struct _ClutterBox              ClutterBox;
+typedef struct _ClutterBoxPrivate       ClutterBoxPrivate;
+typedef struct _ClutterBoxClass         ClutterBoxClass;
+
+/**
+ * ClutterBox:
+ *
+ * The #ClutterBox structure contains only private data and should
+ * be accessed using the provided API
+ *
+ * Since: 1.2
+ */
+struct _ClutterBox
+{
+  /*< private >*/
+  ClutterActor parent_instance;
+
+  ClutterBoxPrivate *priv;
+};
+
+/**
+ * ClutterBoxClass:
+ *
+ * The #ClutterBoxClass structure contains only private data
+ *
+ * Since: 1.2
+ */
+struct _ClutterBoxClass
+{
+  /*< private >*/
+  ClutterActorClass parent_class;
+
+  /* padding, for future expansion */
+  void (*clutter_padding_1) (void);
+  void (*clutter_padding_2) (void);
+  void (*clutter_padding_3) (void);
+  void (*clutter_padding_4) (void);
+  void (*clutter_padding_5) (void);
+  void (*clutter_padding_6) (void);
+};
+
+CLUTTER_DEPRECATED_IN_1_10
+GType clutter_box_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_new)
+ClutterActor *        clutter_box_new                (ClutterLayoutManager *manager);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_layout_manager)
+void                  clutter_box_set_layout_manager (ClutterBox           *box,
+                                                      ClutterLayoutManager *manager);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_layout_manager)
+ClutterLayoutManager *clutter_box_get_layout_manager (ClutterBox           *box);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_background_color)
+void                  clutter_box_set_color          (ClutterBox           *box,
+                                                      const ClutterColor   *color);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_background_color)
+void                  clutter_box_get_color          (ClutterBox           *box,
+                                                      ClutterColor         *color);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_add_child)
+void                  clutter_box_pack               (ClutterBox           *box,
+                                                      ClutterActor         *actor,
+                                                      const gchar          *first_property,
+                                                      ...);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_add_child)
+void                  clutter_box_packv              (ClutterBox           *box,
+                                                      ClutterActor         *actor,
+                                                      guint                 n_properties,
+                                                      const gchar * const   properties[],
+                                                      const GValue         *values);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_insert_child_above)
+void                  clutter_box_pack_after         (ClutterBox           *box,
+                                                      ClutterActor         *actor,
+                                                      ClutterActor         *sibling,
+                                                      const gchar          *first_property,
+                                                      ...);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_insert_child_below)
+void                  clutter_box_pack_before        (ClutterBox           *box,
+                                                      ClutterActor         *actor,
+                                                      ClutterActor         *sibling,
+                                                      const gchar          *first_property,
+                                                      ...);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_insert_child_at_index)
+void                  clutter_box_pack_at            (ClutterBox           *box,
+                                                      ClutterActor         *actor,
+                                                      gint                  position,
+                                                      const gchar          *first_property,
+                                                      ...);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_BOX_H__ */
diff --git a/clutter/deprecated/clutter-cairo-texture.c b/clutter/deprecated/clutter-cairo-texture.c
new file mode 100644
index 0000000..d08b6ea
--- /dev/null
+++ b/clutter/deprecated/clutter-cairo-texture.c
@@ -0,0 +1,1177 @@
+/*
+ * Clutter
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By: Emmanuele Bassi <ebassi linux intel com>
+ *              Matthew Allum <mallum o-hand com>
+ *              Chris Lord <chris o-hand com>
+ *              Iain Holmes <iain o-hand com>
+ *              Neil Roberts <neil linux intel com>
+ *
+ * Copyright (C) 2008, 2009, 2010, 2011  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-cairo-texture
+ * @short_description: Texture with Cairo integration
+ *
+ * #ClutterCairoTexture is a #ClutterTexture that displays the contents
+ * of a Cairo context. The #ClutterCairoTexture actor will create a
+ * Cairo image surface which will then be uploaded to a GL texture when
+ * needed.
+ *
+ * <note><para>Since #ClutterCairoTexture uses a Cairo image surface
+ * internally all the drawing operations will be performed in
+ * software and not using hardware acceleration. This can lead to
+ * performance degradation if the contents of the texture change
+ * frequently.</para></note>
+ *
+ * In order to use a #ClutterCairoTexture you should connect to the
+ * #ClutterCairoTexture::draw signal; the signal is emitted each time
+ * the #ClutterCairoTexture has been told to invalidate its contents,
+ * by using clutter_cairo_texture_invalidate_rectangle() or its
+ * sister function, clutter_cairo_texture_invalidate().
+ *
+ * Each callback to the #ClutterCairoTexture::draw signal will receive
+ * a #cairo_t context which can be used for drawing; the Cairo context
+ * is owned by the #ClutterCairoTexture and should not be destroyed
+ * explicitly.
+ *
+ * <example id="cairo-texture-example">
+ *   <title>A simple ClutterCairoTexture canvas</title>
+ *   <programlisting>
+ * <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; parse="text" 
href="../../../../tests/interactive/test-cairo-clock.c">
+ *   <xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback>
+ * </xi:include>
+ *   </programlisting>
+ * </example>
+ *
+ * #ClutterCairoTexture is available since Clutter 1.0.
+ *
+ * #ClutterCairoTexture is deprecated since Clutter 1.12.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <math.h>
+
+#include <cairo-gobject.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-texture.h"
+#include "deprecated/clutter-cairo-texture.h"
+
+#include "clutter-cairo-texture.h"
+
+#include "clutter-actor-private.h"
+#include "clutter-cairo.h"
+#include "clutter-color.h"
+#include "clutter-debug.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+
+G_DEFINE_TYPE (ClutterCairoTexture,
+               clutter_cairo_texture,
+               CLUTTER_TYPE_TEXTURE);
+
+enum
+{
+  PROP_0,
+
+  PROP_SURFACE_WIDTH,
+  PROP_SURFACE_HEIGHT,
+  PROP_AUTO_RESIZE,
+
+  PROP_LAST
+};
+
+enum
+{
+  CREATE_SURFACE,
+  DRAW,
+
+  LAST_SIGNAL
+};
+
+static GParamSpec *obj_props[PROP_LAST] = { NULL, };
+
+static guint cairo_signals[LAST_SIGNAL] = { 0, };
+
+#ifdef CLUTTER_ENABLE_DEBUG
+#define clutter_warn_if_paint_fail(obj)                 G_STMT_START {  \
+  if (CLUTTER_ACTOR_IN_PAINT (obj)) {                                   \
+    g_warning ("%s should not be called during the paint sequence "     \
+               "of a ClutterCairoTexture as it will likely cause "      \
+               "performance issues.", G_STRFUNC);                       \
+  }                                                     } G_STMT_END
+#else
+#define clutter_warn_if_paint_fail(obj)         /* void */
+#endif /* CLUTTER_ENABLE_DEBUG */
+
+#define CLUTTER_CAIRO_TEXTURE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), 
CLUTTER_TYPE_CAIRO_TEXTURE, ClutterCairoTexturePrivate))
+
+struct _ClutterCairoTexturePrivate
+{
+  cairo_surface_t *cr_surface;
+
+  guint surface_width;
+  guint surface_height;
+
+  cairo_t *cr_context;
+
+  guint auto_resize : 1;
+};
+
+typedef struct {
+  ClutterCairoTexture *texture;
+
+  cairo_rectangle_int_t rect;
+
+  guint is_clipped : 1;
+} DrawContext;
+
+static const cairo_user_data_key_t clutter_cairo_texture_context_key;
+
+static DrawContext *
+draw_context_create (ClutterCairoTexture *texture)
+{
+  DrawContext *context = g_slice_new0 (DrawContext);
+
+  context->texture = g_object_ref (texture);
+
+  return context;
+}
+
+static void
+draw_context_destroy (gpointer data)
+{
+  if (G_LIKELY (data != NULL))
+    {
+      DrawContext *context = data;
+
+      g_object_unref (context->texture);
+
+      g_slice_free (DrawContext, data);
+    }
+}
+
+static void
+clutter_cairo_texture_set_property (GObject      *object,
+                                    guint         prop_id,
+                                    const GValue *value,
+                                    GParamSpec   *pspec)
+{
+  ClutterCairoTexturePrivate *priv;
+
+  priv = CLUTTER_CAIRO_TEXTURE (object)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_SURFACE_WIDTH:
+      /* we perform the resize on notify to coalesce separate
+       * surface-width/surface-height property set
+       */
+      priv->surface_width = g_value_get_uint (value);
+      break;
+
+    case PROP_SURFACE_HEIGHT:
+      priv->surface_height = g_value_get_uint (value);
+      break;
+
+    case PROP_AUTO_RESIZE:
+      clutter_cairo_texture_set_auto_resize (CLUTTER_CAIRO_TEXTURE (object),
+                                             g_value_get_boolean (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+clutter_cairo_texture_get_property (GObject    *object,
+                                    guint       prop_id,
+                                    GValue     *value,
+                                    GParamSpec *pspec)
+{
+  ClutterCairoTexturePrivate *priv;
+
+  priv = CLUTTER_CAIRO_TEXTURE (object)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_SURFACE_WIDTH:
+      g_value_set_uint (value, priv->surface_width);
+      break;
+
+    case PROP_SURFACE_HEIGHT:
+      g_value_set_uint (value, priv->surface_height);
+      break;
+
+    case PROP_AUTO_RESIZE:
+      g_value_set_boolean (value, priv->auto_resize);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_cairo_texture_finalize (GObject *object)
+{
+  ClutterCairoTexturePrivate *priv = CLUTTER_CAIRO_TEXTURE (object)->priv;
+
+  if (priv->cr_surface != NULL)
+    {
+      cairo_surface_t *surface = priv->cr_surface;
+
+      priv->cr_surface = NULL;
+
+      cairo_surface_finish (surface);
+      cairo_surface_destroy (surface);
+    }
+
+  G_OBJECT_CLASS (clutter_cairo_texture_parent_class)->finalize (object);
+}
+
+static cairo_surface_t *
+get_surface (ClutterCairoTexture *self)
+{
+  ClutterCairoTexturePrivate *priv = self->priv;
+
+  if (priv->cr_surface == NULL)
+    {
+      g_signal_emit (self, cairo_signals[CREATE_SURFACE], 0,
+                     priv->surface_width,
+                     priv->surface_height,
+                     &priv->cr_surface);
+    }
+
+  return priv->cr_surface;
+}
+
+static void
+clutter_cairo_texture_context_destroy (void *data)
+{
+  DrawContext *ctxt = data;
+  ClutterCairoTexture *cairo = ctxt->texture;
+  ClutterCairoTexturePrivate *priv = cairo->priv;
+  guint8 *cairo_data;
+  gint cairo_width, cairo_height, cairo_stride;
+  gint surface_width, surface_height;
+  CoglHandle cogl_texture;
+
+  if (priv->cr_surface == NULL)
+    {
+      /* the surface went away before we could use it */
+      draw_context_destroy (ctxt);
+      return;
+    }
+
+  /* for any other surface type, we presume that there exists a native
+   * communication between Cairo and GL that is triggered by cairo_destroy().
+   *
+   * for instance, cairo-drm will flush the outstanding modifications to the
+   * surface upon context destruction and so the texture is automatically
+   * updated.
+   */
+  if (cairo_surface_get_type (priv->cr_surface) != CAIRO_SURFACE_TYPE_IMAGE)
+    goto out;
+
+  surface_width  = cairo_image_surface_get_width (priv->cr_surface);
+  surface_height = cairo_image_surface_get_height (priv->cr_surface);
+
+  cairo_width  = MIN (ctxt->rect.width, surface_width);
+  cairo_height = MIN (ctxt->rect.height, surface_height);
+
+  cogl_texture = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (cairo));
+  if (cairo_width == 0 ||
+      cairo_height == 0 ||
+      cogl_texture == COGL_INVALID_HANDLE)
+    {
+      draw_context_destroy (ctxt);
+      return;
+    }
+
+  cairo_stride = cairo_image_surface_get_stride (priv->cr_surface);
+  cairo_data = cairo_image_surface_get_data (priv->cr_surface);
+  cairo_data += cairo_stride * ctxt->rect.y;
+  cairo_data += 4 * ctxt->rect.x;
+
+  cogl_texture_set_region (cogl_texture,
+                           0, 0,
+                           ctxt->rect.x, ctxt->rect.y,
+                           cairo_width, cairo_height,
+                           cairo_width, cairo_height,
+                           CLUTTER_CAIRO_FORMAT_ARGB32,
+                           cairo_stride,
+                           cairo_data);
+
+out:
+  draw_context_destroy (ctxt);
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (cairo));
+}
+
+static inline void
+clutter_cairo_texture_emit_draw (ClutterCairoTexture        *self,
+                                 DrawContext *ctxt)
+{
+  gboolean result;
+  cairo_t *cr;
+
+  /* 0x0 surfaces don't need a ::draw */
+  if (self->priv->surface_width == 0 ||
+      self->priv->surface_height == 0)
+    return;
+
+  /* if the size is !0 then we must have a surface */
+  g_assert (self->priv->cr_surface != NULL);
+
+  cr = cairo_create (self->priv->cr_surface);
+
+  if (ctxt->is_clipped)
+    {
+      cairo_rectangle (cr,
+                       ctxt->rect.x,
+                       ctxt->rect.y,
+                       ctxt->rect.width,
+                       ctxt->rect.height);
+      cairo_clip (cr);
+    }
+
+  /* store the cairo_t as a guard */
+  self->priv->cr_context = cr;
+
+  g_signal_emit (self, cairo_signals[DRAW], 0, cr, &result);
+
+  self->priv->cr_context = NULL;
+
+  clutter_cairo_texture_context_destroy (ctxt);
+
+  cairo_destroy (cr);
+}
+
+static inline void
+clutter_cairo_texture_surface_resize_internal (ClutterCairoTexture *cairo)
+{
+  ClutterCairoTexturePrivate *priv = cairo->priv;
+
+  if (priv->cr_surface != NULL)
+    {
+      cairo_surface_t *surface = priv->cr_surface;
+
+      /* if the surface is an image one, and the size is already the
+       * same, then we don't need to do anything
+       */
+      if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_IMAGE)
+        {
+          gint surface_width = cairo_image_surface_get_width (surface);
+          gint surface_height = cairo_image_surface_get_height (surface);
+
+          if (priv->surface_width == surface_width &&
+              priv->surface_height == surface_height)
+            return;
+        }
+
+      cairo_surface_finish (surface);
+      cairo_surface_destroy (surface);
+      priv->cr_surface = NULL;
+    }
+
+  if (priv->surface_width == 0 ||
+      priv->surface_height == 0)
+    return;
+
+  g_signal_emit (cairo, cairo_signals[CREATE_SURFACE], 0,
+                 priv->surface_width,
+                 priv->surface_height,
+                 &priv->cr_surface);
+}
+
+static void
+clutter_cairo_texture_notify (GObject    *object,
+                              GParamSpec *pspec)
+{
+  /* When the surface width or height changes then resize the cairo
+     surface. This is done here instead of directly in set_property so
+     that if both the width and height properties are set using a
+     single call to g_object_set then the surface will only be resized
+     once because the notifications will be frozen in between */
+
+  if (obj_props[PROP_SURFACE_WIDTH]->name == pspec->name ||
+      obj_props[PROP_SURFACE_HEIGHT]->name == pspec->name)
+    {
+      ClutterCairoTexture *cairo = CLUTTER_CAIRO_TEXTURE (object);
+
+      clutter_cairo_texture_surface_resize_internal (cairo);
+    }
+
+  if (G_OBJECT_CLASS (clutter_cairo_texture_parent_class)->notify)
+    G_OBJECT_CLASS (clutter_cairo_texture_parent_class)->notify (object, pspec);
+}
+
+static void
+clutter_cairo_texture_get_preferred_width (ClutterActor *actor,
+                                           gfloat        for_height,
+                                           gfloat       *min_width,
+                                           gfloat       *natural_width)
+{
+  ClutterCairoTexturePrivate *priv = CLUTTER_CAIRO_TEXTURE (actor)->priv;
+
+  if (min_width)
+    *min_width = 0;
+
+  if (natural_width)
+    *natural_width = (gfloat) priv->surface_width;
+}
+
+static void
+clutter_cairo_texture_get_preferred_height (ClutterActor *actor,
+                                            gfloat        for_width,
+                                            gfloat       *min_height,
+                                            gfloat       *natural_height)
+{
+  ClutterCairoTexturePrivate *priv = CLUTTER_CAIRO_TEXTURE (actor)->priv;
+
+  if (min_height)
+    *min_height = 0;
+
+  if (natural_height)
+    *natural_height = (gfloat) priv->surface_height;
+}
+
+static void
+clutter_cairo_texture_allocate (ClutterActor           *self,
+                                const ClutterActorBox  *allocation,
+                                ClutterAllocationFlags  flags)
+{
+  ClutterCairoTexturePrivate *priv = CLUTTER_CAIRO_TEXTURE (self)->priv;
+  ClutterActorClass *parent_class;
+
+  parent_class = CLUTTER_ACTOR_CLASS (clutter_cairo_texture_parent_class);
+  parent_class->allocate (self, allocation, flags);
+
+  if (priv->auto_resize)
+    {
+      ClutterCairoTexture *texture = CLUTTER_CAIRO_TEXTURE (self);
+      gfloat width, height;
+
+      clutter_actor_box_get_size (allocation, &width, &height);
+
+      priv->surface_width = ceilf (width);
+      priv->surface_height = ceilf (height);
+
+      clutter_cairo_texture_surface_resize_internal (texture);
+      clutter_cairo_texture_invalidate (texture);
+    }
+}
+
+static gboolean
+clutter_cairo_texture_get_paint_volume (ClutterActor       *self,
+                                        ClutterPaintVolume *volume)
+{
+  return _clutter_actor_set_default_paint_volume (self,
+                                                  CLUTTER_TYPE_CAIRO_TEXTURE,
+                                                  volume);
+}
+
+static cairo_surface_t *
+clutter_cairo_texture_create_surface (ClutterCairoTexture *self,
+                                      guint                width,
+                                      guint                height)
+{
+  cairo_surface_t *surface;
+  guint cairo_stride;
+  guint8 *cairo_data;
+  CoglHandle cogl_texture;
+
+  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+                                        width,
+                                        height);
+
+  cairo_stride = cairo_image_surface_get_stride (surface);
+  cairo_data = cairo_image_surface_get_data (surface);
+
+  /* create a backing Cogl texture */
+  cogl_texture = cogl_texture_new_from_data (width, height,
+                                             COGL_TEXTURE_NONE,
+                                             CLUTTER_CAIRO_FORMAT_ARGB32,
+                                             COGL_PIXEL_FORMAT_ANY,
+                                             cairo_stride,
+                                             cairo_data);
+  clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (self), cogl_texture);
+  cogl_handle_unref (cogl_texture);
+
+  return surface;
+}
+
+static gboolean
+create_surface_accum (GSignalInvocationHint *ihint,
+                      GValue                *return_accu,
+                      const GValue          *handler_return,
+                      gpointer               data)
+{
+  g_value_copy (handler_return, return_accu);
+
+  /* stop on the first non-NULL return value */
+  return g_value_get_boxed (handler_return) == NULL;
+}
+
+static void
+clutter_cairo_texture_draw_marshaller (GClosure     *closure,
+                                       GValue       *return_value,
+                                       guint         n_param_values,
+                                       const GValue *param_values,
+                                       gpointer      invocation_hint,
+                                       gpointer      marshal_data)
+{
+  cairo_t *cr = g_value_get_boxed (&param_values[1]);
+
+  cairo_save (cr);
+
+  _clutter_marshal_BOOLEAN__BOXED (closure,
+                                   return_value,
+                                   n_param_values,
+                                   param_values,
+                                   invocation_hint,
+                                   marshal_data);
+
+  cairo_restore (cr);
+}
+
+static void
+clutter_cairo_texture_class_init (ClutterCairoTextureClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
+
+  gobject_class->finalize     = clutter_cairo_texture_finalize;
+  gobject_class->set_property = clutter_cairo_texture_set_property;
+  gobject_class->get_property = clutter_cairo_texture_get_property;
+  gobject_class->notify       = clutter_cairo_texture_notify;
+
+  actor_class->get_paint_volume =
+    clutter_cairo_texture_get_paint_volume;
+  actor_class->get_preferred_width =
+    clutter_cairo_texture_get_preferred_width;
+  actor_class->get_preferred_height =
+    clutter_cairo_texture_get_preferred_height;
+  actor_class->allocate =
+    clutter_cairo_texture_allocate;
+
+  klass->create_surface = clutter_cairo_texture_create_surface;
+
+  g_type_class_add_private (gobject_class, sizeof (ClutterCairoTexturePrivate));
+
+  /**
+   * ClutterCairoTexture:surface-width:
+   *
+   * The width of the Cairo surface used by the #ClutterCairoTexture
+   * actor, in pixels.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  obj_props[PROP_SURFACE_WIDTH] =
+    g_param_spec_uint ("surface-width",
+                       P_("Surface Width"),
+                       P_("The width of the Cairo surface"),
+                       0, G_MAXUINT,
+                       0,
+                       CLUTTER_PARAM_READWRITE |
+                       G_PARAM_DEPRECATED);
+  /**
+   * ClutterCairoTexture:surface-height:
+   *
+   * The height of the Cairo surface used by the #ClutterCairoTexture
+   * actor, in pixels.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  obj_props[PROP_SURFACE_HEIGHT] =
+    g_param_spec_uint ("surface-height",
+                       P_("Surface Height"),
+                       P_("The height of the Cairo surface"),
+                       0, G_MAXUINT,
+                       0,
+                       CLUTTER_PARAM_READWRITE |
+                       G_PARAM_DEPRECATED);
+
+  /**
+   * ClutterCairoTexture:auto-resize:
+   *
+   * Controls whether the #ClutterCairoTexture should automatically
+   * resize the Cairo surface whenever the actor's allocation changes.
+   * If :auto-resize is set to %TRUE the surface contents will also
+   * be invalidated automatically.
+   *
+   * Since: 1.8
+   *
+   * Deprecated: 1.12
+   */
+  obj_props[PROP_AUTO_RESIZE] =
+    g_param_spec_boolean ("auto-resize",
+                          P_("Auto Resize"),
+                          P_("Whether the surface should match the allocation"),
+                          FALSE,
+                          CLUTTER_PARAM_READWRITE |
+                          G_PARAM_DEPRECATED);
+
+  g_object_class_install_properties (gobject_class, PROP_LAST, obj_props);
+
+  /**
+   * ClutterCairoTexture::create-surface:
+   * @texture: the #ClutterCairoTexture that emitted the signal
+   * @width: the width of the surface to create
+   * @height: the height of the surface to create
+   *
+   * The ::create-surface signal is emitted when a #ClutterCairoTexture
+   * news its surface (re)created, which happens either when the Cairo
+   * context is created with clutter_cairo_texture_create() or
+   * clutter_cairo_texture_create_region(), or when the surface is resized
+   * through clutter_cairo_texture_set_surface_size().
+   *
+   * The first signal handler that returns a non-%NULL, valid surface will
+   * stop any further signal emission, and the returned surface will be
+   * the one used.
+   *
+   * Return value: the newly created #cairo_surface_t for the texture
+   *
+   * Since: 1.6
+   *
+   * Deprecated: 1.12
+   */
+  cairo_signals[CREATE_SURFACE] =
+    g_signal_new (I_("create-surface"),
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE,
+                  G_STRUCT_OFFSET (ClutterCairoTextureClass, create_surface),
+                  create_surface_accum, NULL,
+                  _clutter_marshal_BOXED__UINT_UINT,
+                  CAIRO_GOBJECT_TYPE_SURFACE, 2,
+                  G_TYPE_UINT,
+                  G_TYPE_UINT);
+
+  /**
+   * ClutterCairoTexture::draw:
+   * @texture: the #ClutterCairoTexture that emitted the signal
+   * @cr: the Cairo context to use to draw
+   *
+   * The ::draw signal is emitted each time a #ClutterCairoTexture has
+   * been invalidated.
+   *
+   * The passed Cairo context passed will be clipped to the invalidated
+   * area.
+   *
+   * It is safe to connect multiple callbacks to this signals; the state
+   * of the Cairo context passed to each callback is automatically saved
+   * and restored, so it's not necessary to call cairo_save() and
+   * cairo_restore().
+   *
+   * Return value: %TRUE if the signal emission should stop, and %FALSE
+   *   to continue
+   *
+   * Since: 1.8
+   *
+   * Deprecated: 1.12
+   */
+  cairo_signals[DRAW] =
+    g_signal_new (I_("draw"),
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE,
+                  G_STRUCT_OFFSET (ClutterCairoTextureClass, draw),
+                  _clutter_boolean_handled_accumulator, NULL,
+                  clutter_cairo_texture_draw_marshaller,
+                  G_TYPE_BOOLEAN, 1,
+                  CAIRO_GOBJECT_TYPE_CONTEXT);
+}
+
+static void
+clutter_cairo_texture_init (ClutterCairoTexture *self)
+{
+  self->priv = CLUTTER_CAIRO_TEXTURE_GET_PRIVATE (self);
+
+  /* FIXME - we are hardcoding the format; it would be good to have
+   * a :surface-format construct-only property for creating
+   * textures with a different format and have the cairo surface
+   * match that format
+   *
+   * priv->format = CAIRO_FORMAT_ARGB32;
+   */
+
+  /* the Cairo surface is responsible for driving the size of
+   * the texture; if we let sync_size to its default of TRUE,
+   * the Texture will try to queue a relayout every time we
+   * change the size of the Cairo surface - which is not what
+   * we want
+   */
+  clutter_texture_set_sync_size (CLUTTER_TEXTURE (self), FALSE);
+}
+
+/**
+ * clutter_cairo_texture_new:
+ * @width: the width of the surface
+ * @height: the height of the surface
+ *
+ * Creates a new #ClutterCairoTexture actor, with a surface of @width by
+ * @height pixels.
+ *
+ * Return value: the newly created #ClutterCairoTexture actor
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+ClutterActor*
+clutter_cairo_texture_new (guint width,
+                           guint height)
+{
+  return g_object_new (CLUTTER_TYPE_CAIRO_TEXTURE,
+                       "surface-width", width,
+                       "surface-height", height,
+                       NULL);
+}
+
+static void
+intersect_rectangles (cairo_rectangle_int_t *a,
+                     cairo_rectangle_int_t *b,
+                     cairo_rectangle_int_t *inter)
+{
+  gint dest_x, dest_y;
+  gint dest_width, dest_height;
+
+  dest_x = MAX (a->x, b->x);
+  dest_y = MAX (a->y, b->y);
+  dest_width = MIN (a->x + a->width, b->x + b->width) - dest_x;
+  dest_height = MIN (a->y + a->height, b->y + b->height) - dest_y;
+
+  if (dest_width > 0 && dest_height > 0)
+    {
+      inter->x = dest_x;
+      inter->y = dest_y;
+      inter->width = dest_width;
+      inter->height = dest_height;
+    }
+  else
+    {
+      inter->x = 0;
+      inter->y = 0;
+      inter->width = 0;
+      inter->height = 0;
+    }
+}
+
+static cairo_t *
+clutter_cairo_texture_create_region_internal (ClutterCairoTexture *self,
+                                              gint                 x_offset,
+                                              gint                 y_offset,
+                                              gint                 width,
+                                              gint                 height)
+{
+  ClutterCairoTexturePrivate *priv = self->priv;
+  cairo_rectangle_int_t region, area, inter;
+  cairo_surface_t *surface;
+  DrawContext *ctxt;
+  cairo_t *cr;
+
+  if (width < 0)
+    width = priv->surface_width;
+
+  if (height < 0)
+    height = priv->surface_height;
+
+  if (width == 0 || height == 0)
+    {
+      g_warning ("Unable to create a context for an image surface of "
+                 "width %d and height %d. Set the surface size to be "
+                 "at least 1 pixel by 1 pixel.",
+                 width, height);
+      return NULL;
+    }
+
+  surface = get_surface (self);
+
+  ctxt = draw_context_create (self);
+
+  region.x = x_offset;
+  region.y = y_offset;
+  region.width = width;
+  region.height = height;
+
+  area.x = 0;
+  area.y = 0;
+  area.width = priv->surface_width;
+  area.height = priv->surface_height;
+
+  /* Limit the region to the visible rectangle */
+  intersect_rectangles (&area, &region, &inter);
+
+  ctxt->rect = inter;
+
+  cr = cairo_create (surface);
+  cairo_set_user_data (cr, &clutter_cairo_texture_context_key,
+                      ctxt,
+                       clutter_cairo_texture_context_destroy);
+
+  return cr;
+}
+
+/**
+ * clutter_cairo_texture_create_region:
+ * @self: a #ClutterCairoTexture
+ * @x_offset: offset of the region on the X axis
+ * @y_offset: offset of the region on the Y axis
+ * @width: width of the region, or -1 for the full surface width
+ * @height: height of the region, or -1 for the full surface height
+ *
+ * Creates a new Cairo context that will updat the region defined
+ * by @x_offset, @y_offset, @width and @height.
+ *
+ * <warning><para>Do not call this function within the paint virtual
+ * function or from a callback to the #ClutterActor::paint
+ * signal.</para></warning>
+ *
+ * Return value: a newly created Cairo context. Use cairo_destroy()
+ *   to upload the contents of the context when done drawing
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use the #ClutterCairoTexture::draw signal and
+ *   clutter_cairo_texture_invalidate_rectangle() to obtain a
+ *   clipped Cairo context for 2D drawing.
+ */
+cairo_t *
+clutter_cairo_texture_create_region (ClutterCairoTexture *self,
+                                     gint                 x_offset,
+                                     gint                 y_offset,
+                                     gint                 width,
+                                     gint                 height)
+{
+  g_return_val_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self), NULL);
+
+  clutter_warn_if_paint_fail (self);
+
+  return clutter_cairo_texture_create_region_internal (self,
+                                                       x_offset, y_offset,
+                                                       width, height);
+}
+
+/**
+ * clutter_cairo_texture_invalidate_rectangle:
+ * @self: a #ClutterCairoTexture
+ * @rect: (allow-none): a rectangle with the area to invalida,
+ *   or %NULL to perform an unbounded invalidation
+ *
+ * Invalidates a rectangular region of a #ClutterCairoTexture.
+ *
+ * The invalidation will cause the #ClutterCairoTexture::draw signal
+ * to be emitted.
+ *
+ * See also: clutter_cairo_texture_invalidate()
+ *
+ * Since: 1.8
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+void
+clutter_cairo_texture_invalidate_rectangle (ClutterCairoTexture   *self,
+                                            cairo_rectangle_int_t *rect)
+{
+  DrawContext *ctxt = NULL;
+
+  g_return_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self));
+
+  if (self->priv->cr_context != NULL)
+    {
+      g_warning ("It is not possible to invalidate a Cairo texture"
+                 "while drawing into it.");
+      return;
+    }
+
+  ctxt = draw_context_create (self);
+
+  if (rect != NULL)
+    {
+      cairo_rectangle_int_t area, inter;
+
+      area.x = 0;
+      area.y = 0;
+      area.width = self->priv->surface_width;
+      area.height = self->priv->surface_height;
+
+      /* Limit the region to the visible rectangle */
+      intersect_rectangles (&area, rect, &inter);
+
+      ctxt->is_clipped = TRUE;
+      ctxt->rect = inter;
+    }
+  else
+    {
+      ctxt->is_clipped = FALSE;
+      ctxt->rect.x = ctxt->rect.y = 0;
+      ctxt->rect.width = self->priv->surface_width;
+      ctxt->rect.height = self->priv->surface_height;
+    }
+
+  /* XXX - it might be good to move the emission inside the paint cycle
+   * using a repaint function, to avoid blocking inside this function
+   */
+  clutter_cairo_texture_emit_draw (self, ctxt);
+}
+
+/**
+ * clutter_cairo_texture_invalidate:
+ * @self: a #ClutterCairoTexture
+ *
+ * Invalidates the whole surface of a #ClutterCairoTexture.
+ *
+ * This function will cause the #ClutterCairoTexture::draw signal
+ * to be emitted.
+ *
+ * See also: clutter_cairo_texture_invalidate_rectangle()
+ *
+ * Since: 1.8
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+void
+clutter_cairo_texture_invalidate (ClutterCairoTexture *self)
+{
+  g_return_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self));
+
+  clutter_cairo_texture_invalidate_rectangle (self, NULL);
+}
+
+/**
+ * clutter_cairo_texture_create:
+ * @self: a #ClutterCairoTexture
+ *
+ * Creates a new Cairo context for the @cairo texture. It is
+ * similar to using clutter_cairo_texture_create_region() with @x_offset
+ * and @y_offset of 0, @width equal to the @cairo texture surface width
+ * and @height equal to the @cairo texture surface height.
+ *
+ * <warning><para>Do not call this function within the paint virtual
+ * function or from a callback to the #ClutterActor::paint
+ * signal.</para></warning>
+ *
+ * Return value: a newly created Cairo context. Use cairo_destroy()
+ *   to upload the contents of the context when done drawing
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use the #ClutterCairoTexture::draw signal and
+ *   the clutter_cairo_texture_invalidate() function to obtain a
+ *   Cairo context for 2D drawing.
+ */
+cairo_t *
+clutter_cairo_texture_create (ClutterCairoTexture *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self), NULL);
+
+  clutter_warn_if_paint_fail (self);
+
+  return clutter_cairo_texture_create_region_internal (self, 0, 0, -1, -1);
+}
+
+/**
+ * clutter_cairo_texture_set_surface_size:
+ * @self: a #ClutterCairoTexture
+ * @width: the new width of the surface
+ * @height: the new height of the surface
+ *
+ * Resizes the Cairo surface used by @self to @width and @height.
+ *
+ * This function will not invalidate the contents of the Cairo
+ * texture: you will have to explicitly call either
+ * clutter_cairo_texture_invalidate_rectangle() or
+ * clutter_cairo_texture_invalidate().
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+void
+clutter_cairo_texture_set_surface_size (ClutterCairoTexture *self,
+                                        guint                width,
+                                        guint                height)
+{
+  ClutterCairoTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self));
+
+  priv = self->priv;
+
+  if (width == priv->surface_width &&
+      height == priv->surface_height)
+    return;
+
+  g_object_freeze_notify (G_OBJECT (self));
+
+  if (priv->surface_width != width)
+    {
+      priv->surface_width = width;
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_SURFACE_WIDTH]);
+    }
+
+  if (priv->surface_height != height)
+    {
+      priv->surface_height = height;
+      g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_SURFACE_HEIGHT]);
+    }
+
+  clutter_cairo_texture_surface_resize_internal (self);
+
+  g_object_thaw_notify (G_OBJECT (self));
+}
+
+/**
+ * clutter_cairo_texture_get_surface_size:
+ * @self: a #ClutterCairoTexture
+ * @width: (out): return location for the surface width, or %NULL
+ * @height: (out): return location for the surface height, or %NULL
+ *
+ * Retrieves the surface width and height for @self.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+void
+clutter_cairo_texture_get_surface_size (ClutterCairoTexture *self,
+                                        guint               *width,
+                                        guint               *height)
+{
+  g_return_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self));
+
+  if (width)
+    *width = self->priv->surface_width;
+
+  if (height)
+    *height = self->priv->surface_height;
+}
+
+/**
+ * clutter_cairo_texture_clear:
+ * @self: a #ClutterCairoTexture
+ *
+ * Clears @self's internal drawing surface, so that the next upload
+ * will replace the previous contents of the #ClutterCairoTexture
+ * rather than adding to it.
+ *
+ * Calling this function from within a #ClutterCairoTexture::draw
+ * signal handler will clear the invalidated area.
+ *
+ * Since: 1.0
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+void
+clutter_cairo_texture_clear (ClutterCairoTexture *self)
+{
+  ClutterCairoTexturePrivate *priv;
+  cairo_t *cr;
+
+  g_return_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self));
+
+  priv = self->priv;
+
+  /* if we got called outside of a ::draw signal handler
+   * then we clear the whole surface by creating a temporary
+   * cairo_t; otherwise, we clear the current cairo_t, which
+   * will take into account the clip region.
+   */
+  if (priv->cr_context == NULL)
+    {
+      cairo_surface_t *surface;
+
+      surface = get_surface (self);
+
+      cr = cairo_create (surface);
+    }
+  else
+    cr = priv->cr_context;
+
+  cairo_save (cr);
+
+  cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
+  cairo_paint (cr);
+
+  cairo_restore (cr);
+
+  if (priv->cr_context == NULL)
+    cairo_destroy (cr);
+}
+
+/**
+ * clutter_cairo_texture_set_auto_resize:
+ * @self: a #ClutterCairoTexture
+ * @value: %TRUE if the #ClutterCairoTexture should bind the surface
+ *   size to the allocation
+ *
+ * Sets whether the #ClutterCairoTexture should ensure that the
+ * backing Cairo surface used matches the allocation assigned to
+ * the actor. If the allocation changes, the contents of the
+ * #ClutterCairoTexture will also be invalidated automatically.
+ *
+ * Since: 1.8
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+void
+clutter_cairo_texture_set_auto_resize (ClutterCairoTexture *self,
+                                       gboolean             value)
+{
+  ClutterCairoTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self));
+
+  value = !!value;
+
+  priv = self->priv;
+
+  if (priv->auto_resize == value)
+    return;
+
+  priv->auto_resize = value;
+
+  clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+
+  g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_AUTO_RESIZE]);
+}
+
+/**
+ * clutter_cairo_texture_get_auto_resize:
+ * @self: a #ClutterCairoTexture
+ *
+ * Retrieves the value set using clutter_cairo_texture_set_auto_resize().
+ *
+ * Return value: %TRUE if the #ClutterCairoTexture should track the
+ *   allocation, and %FALSE otherwise
+ *
+ * Since: 1.8
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+gboolean
+clutter_cairo_texture_get_auto_resize (ClutterCairoTexture *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_CAIRO_TEXTURE (self), FALSE);
+
+  return self->priv->auto_resize;
+}
diff --git a/clutter/deprecated/clutter-cairo-texture.h b/clutter/deprecated/clutter-cairo-texture.h
new file mode 100644
index 0000000..63b6158
--- /dev/null
+++ b/clutter/deprecated/clutter-cairo-texture.h
@@ -0,0 +1,139 @@
+/*
+ * Clutter
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By: Emmanuele Bassi <ebassi linux intel com>
+ *              Matthew Allum <mallum o-hand com>
+ *              Chris Lord <chris o-hand com>
+ *              Iain Holmes <iain o-hand com>
+ *              Neil Roberts <neil linux intel com>
+ *
+ * Copyright (C) 2008, 2009, 2010  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_CAIRO_TEXTURE_H__
+#define __CLUTTER_CAIRO_TEXTURE_H__
+
+#include <clutter/clutter-texture.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_CAIRO_TEXTURE              (clutter_cairo_texture_get_type ())
+#define CLUTTER_CAIRO_TEXTURE(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
CLUTTER_TYPE_CAIRO_TEXTURE, ClutterCairoTexture))
+#define CLUTTER_CAIRO_TEXTURE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), 
CLUTTER_TYPE_CAIRO_TEXTURE, ClutterCairoTextureClass))
+#define CLUTTER_IS_CAIRO_TEXTURE(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
CLUTTER_TYPE_CAIRO_TEXTURE))
+#define CLUTTER_IS_CAIRO_TEXTURE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), 
CLUTTER_TYPE_CAIRO_TEXTURE))
+#define CLUTTER_CAIRO_TEXTURE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), 
CLUTTER_TYPE_CAIRO_TEXTURE, ClutterCairoTextureClass))
+
+typedef struct _ClutterCairoTexture             ClutterCairoTexture;
+typedef struct _ClutterCairoTextureClass        ClutterCairoTextureClass;
+typedef struct _ClutterCairoTexturePrivate      ClutterCairoTexturePrivate;
+
+/**
+ * ClutterCairoTexture:
+ *
+ * The #ClutterCairoTexture struct contains only private data.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+struct _ClutterCairoTexture
+{
+  /*< private >*/
+  ClutterTexture parent_instance;
+
+  ClutterCairoTexturePrivate *priv;
+};
+
+/**
+ * ClutterCairoTextureClass:
+ * @create_surface: class handler for the #ClutterCairoTexture::create-surface
+ *   signal
+ * @draw: class handler for the #ClutterCairoTexture::draw signal
+ *
+ * The #ClutterCairoTextureClass struct contains only private data.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12: Use #ClutterCanvas instead
+ */
+struct _ClutterCairoTextureClass
+{
+  /*< private >*/
+  ClutterTextureClass parent_class;
+
+  /*< public >*/
+  cairo_surface_t *(* create_surface) (ClutterCairoTexture *texture,
+                                       guint                width,
+                                       guint                height);
+
+  gboolean         (* draw)           (ClutterCairoTexture *texture,
+                                       cairo_t             *cr);
+
+  /*< private >*/
+  void (*_clutter_cairo_3) (void);
+  void (*_clutter_cairo_4) (void);
+};
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_canvas_get_type)
+GType clutter_cairo_texture_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_canvas_new)
+ClutterActor *  clutter_cairo_texture_new                       (guint                  width,
+                                                                 guint                  height);
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_canvas_set_size)
+void            clutter_cairo_texture_set_surface_size          (ClutterCairoTexture   *self,
+                                                                 guint                  width,
+                                                                 guint                  height);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_canvas_get_size)
+void            clutter_cairo_texture_get_surface_size          (ClutterCairoTexture   *self,
+                                                                 guint                 *width,
+                                                                 guint                 *height);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_cairo_texture_set_auto_resize           (ClutterCairoTexture   *self,
+                                                                 gboolean               value);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean        clutter_cairo_texture_get_auto_resize           (ClutterCairoTexture   *self);
+
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_cairo_texture_clear                     (ClutterCairoTexture   *self);
+
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_cairo_texture_invalidate_rectangle      (ClutterCairoTexture   *self,
+                                                                 cairo_rectangle_int_t *rect);
+CLUTTER_DEPRECATED_IN_1_12
+void            clutter_cairo_texture_invalidate                (ClutterCairoTexture   *self);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_cairo_texture_invalidate_rectangle)
+cairo_t *       clutter_cairo_texture_create_region             (ClutterCairoTexture   *self,
+                                                                 gint                   x_offset,
+                                                                 gint                   y_offset,
+                                                                 gint                   width,
+                                                                 gint                   height);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_cairo_texture_invalidate)
+cairo_t *       clutter_cairo_texture_create                    (ClutterCairoTexture   *self);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_CAIRO_TEXTURE_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-container.h b/clutter/deprecated/clutter-container.h
new file mode 100644
index 0000000..38e7898
--- /dev/null
+++ b/clutter/deprecated/clutter-container.h
@@ -0,0 +1,93 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2011 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * ClutterContainer: Generic actor container interface.
+ *
+ * Author: Emmanuele Bassi <ebassi linux intel com>
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_CONTAINER_DEPRECATED_H__
+#define __CLUTTER_CONTAINER_DEPRECATED_H__
+
+#include <clutter/clutter-container.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_add_child)
+void            clutter_container_add                           (ClutterContainer *container,
+                                                                 ClutterActor     *first_actor,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_add_child)
+void            clutter_container_add_actor                     (ClutterContainer *container,
+                                                                 ClutterActor     *actor);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_add_child)
+void            clutter_container_add_valist                    (ClutterContainer *container,
+                                                                 ClutterActor     *first_actor,
+                                                                 va_list           var_args);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_remove_child)
+void            clutter_container_remove                        (ClutterContainer *container,
+                                                                 ClutterActor     *first_actor,
+                                                                 ...) G_GNUC_NULL_TERMINATED;
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_remove_child)
+void            clutter_container_remove_actor                  (ClutterContainer *container,
+                                                                 ClutterActor     *actor);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_remove_child)
+void            clutter_container_remove_valist                 (ClutterContainer *container,
+                                                                 ClutterActor     *first_actor,
+                                                                 va_list           var_args);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_children)
+GList *         clutter_container_get_children                  (ClutterContainer *container);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_container_foreach                       (ClutterContainer *container,
+                                                                 ClutterCallback   callback,
+                                                                 gpointer          user_data);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_container_foreach_with_internals        (ClutterContainer *container,
+                                                                 ClutterCallback   callback,
+                                                                 gpointer          user_data);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_child_above_sibling)
+void            clutter_container_raise_child                   (ClutterContainer *container,
+                                                                 ClutterActor     *actor,
+                                                                 ClutterActor     *sibling);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_child_below_sibling)
+void            clutter_container_lower_child                   (ClutterContainer *container,
+                                                                 ClutterActor     *actor,
+                                                                 ClutterActor     *sibling);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_container_sort_depth_order              (ClutterContainer *container);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_CONTAINER_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-fixed.c b/clutter/deprecated/clutter-fixed.c
new file mode 100644
index 0000000..cb68d16
--- /dev/null
+++ b/clutter/deprecated/clutter-fixed.c
@@ -0,0 +1,205 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Tomas Frydrych  <tf openedhand com>
+ *
+ * Copyright (C) 2006, 2007 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+#define G_IMPLEMENT_INLINES
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+/* This file depends on the cogl-fixed api which isn't exposed when
+ * COGL_ENABLE_EXPERIMENTAL_2_0_API is defined...
+ */
+#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
+#include <cogl/cogl.h>
+
+#include <glib-object.h>
+
+#include "clutter-fixed.h"
+#include "clutter-private.h"
+
+/**
+ * clutter_value_set_fixed: (skip)
+ * @value: a #GValue initialized to %COGL_TYPE_FIXED
+ * @fixed_: the fixed point value to set
+ *
+ * Sets @value to @fixed_.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use g_value_set_int() instead.
+ */
+void
+clutter_value_set_fixed (GValue    *value,
+                         CoglFixed  fixed_)
+{
+  g_return_if_fail (CLUTTER_VALUE_HOLDS_FIXED (value));
+
+  value->data[0].v_int = fixed_;
+}
+
+/**
+ * clutter_value_get_fixed: (skip)
+ * @value: a #GValue initialized to %COGL_TYPE_FIXED
+ *
+ * Gets the fixed point value stored inside @value.
+ *
+ * Return value: the value inside the passed #GValue
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use g_value_get_int() instead.
+ */
+CoglFixed
+clutter_value_get_fixed (const GValue *value)
+{
+  g_return_val_if_fail (CLUTTER_VALUE_HOLDS_FIXED (value), 0);
+
+  return value->data[0].v_int;
+}
+
+static void
+param_fixed_init (GParamSpec *pspec)
+{
+  ClutterParamSpecFixed *fspec = CLUTTER_PARAM_SPEC_FIXED (pspec);
+
+  fspec->minimum = COGL_FIXED_MIN;
+  fspec->maximum = COGL_FIXED_MAX;
+  fspec->default_value = 0;
+}
+
+static void
+param_fixed_set_default (GParamSpec *pspec,
+                         GValue     *value)
+{
+  value->data[0].v_int = CLUTTER_PARAM_SPEC_FIXED (pspec)->default_value;
+}
+
+static gboolean
+param_fixed_validate (GParamSpec *pspec,
+                      GValue     *value)
+{
+  ClutterParamSpecFixed *fspec = CLUTTER_PARAM_SPEC_FIXED (pspec);
+  gint oval = value->data[0].v_int;
+  gint min, max, val;
+
+  g_assert (CLUTTER_IS_PARAM_SPEC_FIXED (pspec));
+
+  /* we compare the integer part of the value because the minimum
+   * and maximum values cover just that part of the representation
+   */
+  min = fspec->minimum;
+  max = fspec->maximum;
+  val =  (value->data[0].v_int);
+
+  val = CLAMP (val, min, max);
+  if (val != oval)
+    {
+      value->data[0].v_int = val;
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static gint
+param_fixed_values_cmp (GParamSpec   *pspec,
+                        const GValue *value1,
+                        const GValue *value2)
+{
+  if (value1->data[0].v_int < value2->data[0].v_int)
+    return -1;
+  else
+    return value1->data[0].v_int > value2->data[0].v_int;
+}
+
+GType
+clutter_param_fixed_get_type (void)
+{
+  static GType pspec_type = 0;
+
+  if (G_UNLIKELY (pspec_type == 0))
+    {
+      const GParamSpecTypeInfo pspec_info = {
+        sizeof (ClutterParamSpecFixed),
+        16,
+        param_fixed_init,
+        COGL_TYPE_FIXED,
+        NULL,
+        param_fixed_set_default,
+        param_fixed_validate,
+        param_fixed_values_cmp,
+      };
+
+      pspec_type = g_param_type_register_static (I_("ClutterParamSpecFixed"),
+                                                 &pspec_info);
+    }
+
+  return pspec_type;
+}
+
+/**
+ * clutter_param_spec_fixed: (skip)
+ * @name: name of the property
+ * @nick: short name
+ * @blurb: description (can be translatable)
+ * @minimum: lower boundary
+ * @maximum: higher boundary
+ * @default_value: default value
+ * @flags: flags for the param spec
+ *
+ * Creates a #GParamSpec for properties using #CoglFixed values
+ *
+ * Return value: (transfer full): the newly created #GParamSpec
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use #GParamSpecInt instead.
+ */
+GParamSpec *
+clutter_param_spec_fixed (const gchar *name,
+                          const gchar *nick,
+                          const gchar *blurb,
+                          CoglFixed    minimum,
+                          CoglFixed    maximum,
+                          CoglFixed    default_value,
+                          GParamFlags  flags)
+{
+  ClutterParamSpecFixed *fspec;
+
+  g_return_val_if_fail (default_value >= minimum && default_value <= maximum,
+                        NULL);
+
+  fspec = g_param_spec_internal (CLUTTER_TYPE_PARAM_FIXED,
+                                 name, nick, blurb,
+                                 flags);
+  fspec->minimum = minimum;
+  fspec->maximum = maximum;
+  fspec->default_value = default_value;
+
+  return G_PARAM_SPEC (fspec);
+}
diff --git a/clutter/deprecated/clutter-fixed.h b/clutter/deprecated/clutter-fixed.h
new file mode 100644
index 0000000..c756ef4
--- /dev/null
+++ b/clutter/deprecated/clutter-fixed.h
@@ -0,0 +1,97 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Tomas Frydrych <tf openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_FIXED_H__
+#define __CLUTTER_FIXED_H__
+
+#include <cogl/cogl.h>
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_PARAM_FIXED           (clutter_param_fixed_get_type ())
+#define CLUTTER_PARAM_SPEC_FIXED(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), CLUTTER_TYPE_PARAM_FIXED, 
ClutterParamSpecFixed))
+#define CLUTTER_IS_PARAM_SPEC_FIXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), CLUTTER_TYPE_PARAM_FIXED))
+
+/**
+ * CLUTTER_VALUE_HOLDS_FIXED:
+ * @x: a #GValue
+ *
+ * Evaluates to %TRUE if @x holds a #CoglFixed   .
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.10: Use %G_VALUE_HOLDS_INT instead
+ */
+#define CLUTTER_VALUE_HOLDS_FIXED(x)    (G_VALUE_HOLDS ((x), COGL_TYPE_FIXED))
+
+typedef struct _ClutterParamSpecFixed   ClutterParamSpecFixed;
+
+/**
+ * ClutterParamSpecFixed: (skip)
+ * @minimum: lower boundary
+ * @maximum: higher boundary
+ * @default_value: default value
+ *
+ * #GParamSpec subclass for fixed point based properties
+ *
+ * Since: 0.8
+ *
+ * Deprecated: Use #GParamSpecInt instead
+ */
+struct _ClutterParamSpecFixed
+{
+  /*< private >*/
+  GParamSpec parent_instance;
+
+  /*< public >*/
+  CoglFixed minimum;
+  CoglFixed maximum;
+  CoglFixed default_value;
+};
+
+GType        clutter_param_fixed_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(g_value_set_int)
+void         clutter_value_set_fixed      (GValue       *value,
+                                           CoglFixed     fixed_);
+CLUTTER_DEPRECATED_IN_1_10_FOR(g_value_get_int)
+CoglFixed    clutter_value_get_fixed      (const GValue *value);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(g_param_spec_int)
+GParamSpec * clutter_param_spec_fixed     (const gchar  *name,
+                                           const gchar  *nick,
+                                           const gchar  *blurb,
+                                           CoglFixed     minimum,
+                                           CoglFixed     maximum,
+                                           CoglFixed     default_value,
+                                           GParamFlags   flags);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_FIXED_H__ */
diff --git a/clutter/deprecated/clutter-frame-source.c b/clutter/deprecated/clutter-frame-source.c
new file mode 100644
index 0000000..cd2fb06
--- /dev/null
+++ b/clutter/deprecated/clutter-frame-source.c
@@ -0,0 +1,267 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Neil Roberts  <neil linux intel com>
+ *
+ * Copyright (C) 2008 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-main.h"
+#include "clutter-private.h"
+
+#include "deprecated/clutter-frame-source.h"
+#include "deprecated/clutter-timeout-interval.h"
+
+typedef struct _ClutterFrameSource ClutterFrameSource;
+
+struct _ClutterFrameSource
+{
+  GSource source;
+
+  ClutterTimeoutInterval timeout;
+};
+
+static gboolean clutter_frame_source_prepare  (GSource     *source,
+                                               gint        *timeout);
+static gboolean clutter_frame_source_check    (GSource     *source);
+static gboolean clutter_frame_source_dispatch (GSource     *source,
+                                               GSourceFunc  callback,
+                                               gpointer     user_data);
+
+static GSourceFuncs clutter_frame_source_funcs =
+{
+  clutter_frame_source_prepare,
+  clutter_frame_source_check,
+  clutter_frame_source_dispatch,
+  NULL
+};
+
+/**
+ * clutter_frame_source_add_full:
+ * @priority: the priority of the frame source. Typically this will be in the
+ *   range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
+ * @fps: the number of times per second to call the function
+ * @func: function to call
+ * @data: data to pass to the function
+ * @notify: function to call when the timeout source is removed
+ *
+ * Sets a function to be called at regular intervals with the given
+ * priority.  The function is called repeatedly until it returns
+ * %FALSE, at which point the timeout is automatically destroyed and
+ * the function will not be called again.  The @notify function is
+ * called when the timeout is destroyed.  The first call to the
+ * function will be at the end of the first @interval.
+ *
+ * This function is similar to g_timeout_add_full() except that it
+ * will try to compensate for delays. For example, if @func takes half
+ * the interval time to execute then the function will be called again
+ * half the interval time after it finished. In contrast
+ * g_timeout_add_full() would not fire until a full interval after the
+ * function completes so the delay between calls would be 1.0 / @fps *
+ * 1.5. This function does not however try to invoke the function
+ * multiple times to catch up missing frames if @func takes more than
+ * @interval ms to execute.
+ *
+ * Rename to: clutter_frame_source_add
+ *
+ * Return value: the ID (greater than 0) of the event source.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.6
+ */
+guint
+clutter_frame_source_add_full (gint           priority,
+                              guint          fps,
+                              GSourceFunc    func,
+                              gpointer       data,
+                              GDestroyNotify notify)
+{
+  guint ret;
+  GSource *source = g_source_new (&clutter_frame_source_funcs,
+                                 sizeof (ClutterFrameSource));
+  ClutterFrameSource *frame_source = (ClutterFrameSource *) source;
+
+  _clutter_timeout_interval_init (&frame_source->timeout, fps);
+
+  if (priority != G_PRIORITY_DEFAULT)
+    g_source_set_priority (source, priority);
+
+  g_source_set_name (source, "Clutter frame timeout");
+  g_source_set_callback (source, func, data, notify);
+
+  ret = g_source_attach (source, NULL);
+
+  g_source_unref (source);
+
+  return ret;
+}
+
+/**
+ * clutter_frame_source_add: (skip)
+ * @fps: the number of times per second to call the function
+ * @func: function to call
+ * @data: data to pass to the function
+ *
+ * Simple wrapper around clutter_frame_source_add_full().
+ *
+ * Return value: the ID (greater than 0) of the event source.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.6
+ */
+guint
+clutter_frame_source_add (guint          fps,
+                         GSourceFunc    func,
+                         gpointer       data)
+{
+  return clutter_frame_source_add_full (G_PRIORITY_DEFAULT,
+                                       fps, func, data, NULL);
+}
+
+static gboolean
+clutter_frame_source_prepare (GSource *source,
+                              gint    *delay)
+{
+  ClutterFrameSource *frame_source = (ClutterFrameSource *) source;
+  gint64 current_time;
+
+#if GLIB_CHECK_VERSION (2, 27, 3)
+  current_time = g_source_get_time (source) / 1000;
+#else
+  {
+    GTimeVal source_time;
+    g_source_get_current_time (source, &source_time);
+    current_time = source_time.tv_sec * 1000 + source_time.tv_usec / 1000;
+  }
+#endif
+
+  return _clutter_timeout_interval_prepare (current_time,
+                                            &frame_source->timeout,
+                                            delay);
+}
+
+static gboolean
+clutter_frame_source_check (GSource *source)
+{
+  return clutter_frame_source_prepare (source, NULL);
+}
+
+static gboolean
+clutter_frame_source_dispatch (GSource     *source,
+                              GSourceFunc  callback,
+                              gpointer     user_data)
+{
+  ClutterFrameSource *frame_source = (ClutterFrameSource *) source;
+
+  return _clutter_timeout_interval_dispatch (&frame_source->timeout,
+                                             callback, user_data);
+}
+
+/**
+ * clutter_threads_add_frame_source_full:
+ * @priority: the priority of the frame source. Typically this will be in the
+ *   range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
+ * @fps: the number of times per second to call the function
+ * @func: function to call
+ * @data: data to pass to the function
+ * @notify: function to call when the timeout source is removed
+ *
+ * Sets a function to be called at regular intervals holding the Clutter
+ * threads lock, with the given priority. The function is called repeatedly
+ * until it returns %FALSE, at which point the timeout is automatically
+ * removed and the function will not be called again. The @notify function
+ * is called when the timeout is removed.
+ *
+ * This function is similar to clutter_threads_add_timeout_full()
+ * except that it will try to compensate for delays. For example, if
+ * @func takes half the interval time to execute then the function
+ * will be called again half the interval time after it finished. In
+ * contrast clutter_threads_add_timeout_full() would not fire until a
+ * full interval after the function completes so the delay between
+ * calls would be @interval * 1.5. This function does not however try
+ * to invoke the function multiple times to catch up missing frames if
+ * @func takes more than @interval ms to execute.
+ *
+ * See also clutter_threads_add_idle_full().
+ *
+ * Rename to: clutter_threads_add_frame_source
+ *
+ * Return value: the ID (greater than 0) of the event source.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.6
+ */
+guint
+clutter_threads_add_frame_source_full (gint           priority,
+                                       guint          fps,
+                                       GSourceFunc    func,
+                                       gpointer       data,
+                                       GDestroyNotify notify)
+{
+  ClutterThreadsDispatch *dispatch;
+
+  g_return_val_if_fail (func != NULL, 0);
+
+  dispatch = g_slice_new (ClutterThreadsDispatch);
+  dispatch->func = func;
+  dispatch->data = data;
+  dispatch->notify = notify;
+
+  return clutter_frame_source_add_full (priority,
+                                        fps,
+                                        _clutter_threads_dispatch, dispatch,
+                                        _clutter_threads_dispatch_free);
+}
+
+/**
+ * clutter_threads_add_frame_source: (skip)
+ * @fps: the number of times per second to call the function
+ * @func: function to call
+ * @data: data to pass to the function
+ *
+ * Simple wrapper around clutter_threads_add_frame_source_full().
+ *
+ * Return value: the ID (greater than 0) of the event source.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.6
+ */
+guint
+clutter_threads_add_frame_source (guint       fps,
+                                  GSourceFunc func,
+                                  gpointer    data)
+{
+  g_return_val_if_fail (func != NULL, 0);
+
+  return clutter_threads_add_frame_source_full (G_PRIORITY_DEFAULT,
+                                                fps,
+                                                func, data,
+                                                NULL);
+}
diff --git a/clutter/deprecated/clutter-frame-source.h b/clutter/deprecated/clutter-frame-source.h
new file mode 100644
index 0000000..f451341
--- /dev/null
+++ b/clutter/deprecated/clutter-frame-source.h
@@ -0,0 +1,49 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2008 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_FRAME_SOURCE_H__
+#define __CLUTTER_FRAME_SOURCE_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_6
+guint clutter_frame_source_add (guint          fps,
+                               GSourceFunc    func,
+                               gpointer       data);
+
+CLUTTER_DEPRECATED_IN_1_6
+guint clutter_frame_source_add_full (gint           priority,
+                                    guint          fps,
+                                    GSourceFunc    func,
+                                    gpointer       data,
+                                    GDestroyNotify notify);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_FRAME_SOURCE_H__ */
diff --git a/clutter/deprecated/clutter-group.c b/clutter/deprecated/clutter-group.c
new file mode 100644
index 0000000..365b0dc
--- /dev/null
+++ b/clutter/deprecated/clutter-group.c
@@ -0,0 +1,564 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-group
+ * @short_description: A fixed layout container
+ *
+ * A #ClutterGroup is an Actor which contains multiple child actors positioned
+ * relative to the #ClutterGroup position. Other operations such as scaling,
+ * rotating and clipping of the group will apply to the child actors.
+ *
+ * A #ClutterGroup's size is defined by the size and position of its children;
+ * it will be the smallest non-negative size that covers the right and bottom
+ * edges of all of its children.
+ *
+ * Setting the size on a Group using #ClutterActor methods like
+ * clutter_actor_set_size() will override the natural size of the Group,
+ * however this will not affect the size of the children and they may still
+ * be painted outside of the allocation of the group. One way to constrain
+ * the visible area of a #ClutterGroup to a specified allocation is to
+ * explicitly set the size of the #ClutterGroup and then use the
+ * #ClutterActor:clip-to-allocation property.
+ *
+ * Deprecated: 1.10: Use #ClutterActor instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdarg.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "clutter-group.h"
+
+#include "clutter-actor.h"
+#include "clutter-actor-private.h"
+#include "clutter-container.h"
+#include "clutter-fixed-layout.h"
+#include "clutter-main.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+
+#include "cogl/cogl.h"
+
+#define CLUTTER_GROUP_GET_PRIVATE(obj)  (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_GROUP, 
ClutterGroupPrivate))
+
+struct _ClutterGroupPrivate
+{
+  GList *children;
+
+  ClutterLayoutManager *layout;
+};
+
+static void clutter_container_iface_init (ClutterContainerIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterGroup, clutter_group, CLUTTER_TYPE_ACTOR,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_CONTAINER,
+                                                clutter_container_iface_init));
+
+static gint
+sort_by_depth (gconstpointer a,
+               gconstpointer b)
+{
+  gfloat depth_a = clutter_actor_get_depth (CLUTTER_ACTOR(a));
+  gfloat depth_b = clutter_actor_get_depth (CLUTTER_ACTOR(b));
+
+  if (depth_a < depth_b)
+    return -1;
+
+  if (depth_a > depth_b)
+    return 1;
+
+  return 0;
+}
+
+static void
+clutter_group_real_add (ClutterContainer *container,
+                        ClutterActor     *actor)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  g_object_ref (actor);
+
+  priv->children = g_list_append (priv->children, actor);
+  clutter_actor_set_parent (actor, CLUTTER_ACTOR (container));
+
+  clutter_actor_queue_relayout (CLUTTER_ACTOR (container));
+
+  g_signal_emit_by_name (container, "actor-added", actor);
+
+  clutter_container_sort_depth_order (container);
+
+  g_object_unref (actor);
+}
+
+static void
+clutter_group_real_actor_added (ClutterContainer *container,
+                                ClutterActor     *actor)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  /* XXX - children added using clutter_actor_add_child() will
+   * cause actor-added to be emitted without going through the
+   * add() virtual function.
+   *
+   * if we get an actor-added for a child that is not in our
+   * list of children already, then we go in compatibility
+   * mode.
+   */
+  if (g_list_find (priv->children, actor) != NULL)
+    return;
+
+  priv->children = g_list_append (priv->children, actor);
+  clutter_container_sort_depth_order (container);
+}
+
+static void
+clutter_group_real_remove (ClutterContainer *container,
+                           ClutterActor     *actor)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  g_object_ref (actor);
+
+  priv->children = g_list_remove (priv->children, actor);
+  clutter_actor_unparent (actor);
+
+  clutter_actor_queue_relayout (CLUTTER_ACTOR (container));
+
+  g_signal_emit_by_name (container, "actor-removed", actor);
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (container));
+
+  g_object_unref (actor);
+}
+
+static void
+clutter_group_real_actor_removed (ClutterContainer *container,
+                                  ClutterActor     *actor)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  /* XXX - same compatibility mode of the ::actor-added implementation */
+  if (g_list_find (priv->children, actor) == NULL)
+    return;
+
+  priv->children = g_list_remove (priv->children, actor);
+}
+
+static void
+clutter_group_real_foreach (ClutterContainer *container,
+                            ClutterCallback   callback,
+                            gpointer          user_data)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  /* Using g_list_foreach instead of iterating the list manually
+     because it has better protection against the current node being
+     removed. This will happen for example if someone calls
+     clutter_container_foreach(container, clutter_actor_destroy) */
+  g_list_foreach (priv->children, (GFunc) callback, user_data);
+}
+
+static void
+clutter_group_real_raise (ClutterContainer *container,
+                          ClutterActor     *actor,
+                          ClutterActor     *sibling)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  priv->children = g_list_remove (priv->children, actor);
+
+  /* Raise at the top */
+  if (!sibling)
+    {
+      GList *last_item;
+
+      last_item = g_list_last (priv->children);
+
+      if (last_item)
+       sibling = last_item->data;
+
+      priv->children = g_list_append (priv->children, actor);
+    }
+  else
+    {
+      gint index_ = g_list_index (priv->children, sibling) + 1;
+
+      priv->children = g_list_insert (priv->children, actor, index_);
+    }
+
+  /* set Z ordering a value below, this will then call sort
+   * as values are equal ordering shouldn't change but Z
+   * values will be correct.
+   *
+   * FIXME: get rid of this crap; this is so utterly broken and wrong on
+   * so many levels it's not even funny. sadly, we get to keep this until
+   * we can break API and remove Group for good.
+   */
+  if (sibling &&
+      clutter_actor_get_depth (sibling) != clutter_actor_get_depth (actor))
+    {
+      clutter_actor_set_depth (actor, clutter_actor_get_depth (sibling));
+    }
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (container));
+}
+
+static void
+clutter_group_real_lower (ClutterContainer *container,
+                          ClutterActor     *actor,
+                          ClutterActor     *sibling)
+{
+  ClutterGroup *self = CLUTTER_GROUP (container);
+  ClutterGroupPrivate *priv = self->priv;
+
+  priv->children = g_list_remove (priv->children, actor);
+
+  /* Push to bottom */
+  if (!sibling)
+    {
+      GList *last_item;
+
+      last_item = g_list_first (priv->children);
+
+      if (last_item)
+       sibling = last_item->data;
+
+      priv->children = g_list_prepend (priv->children, actor);
+    }
+  else
+    {
+      gint index_ = g_list_index (priv->children, sibling);
+
+      priv->children = g_list_insert (priv->children, actor, index_);
+    }
+
+  /* See comment in group_raise for this */
+  if (sibling &&
+      clutter_actor_get_depth (sibling) != clutter_actor_get_depth (actor))
+    {
+      clutter_actor_set_depth (actor, clutter_actor_get_depth (sibling));
+    }
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (container));
+}
+
+static void
+clutter_group_real_sort_depth_order (ClutterContainer *container)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (container)->priv;
+
+  priv->children = g_list_sort (priv->children, sort_by_depth);
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (container));
+}
+
+static void
+clutter_container_iface_init (ClutterContainerIface *iface)
+{
+  iface->add = clutter_group_real_add;
+  iface->actor_added = clutter_group_real_actor_added;
+  iface->remove = clutter_group_real_remove;
+  iface->actor_removed = clutter_group_real_actor_removed;
+  iface->foreach = clutter_group_real_foreach;
+  iface->raise = clutter_group_real_raise;
+  iface->lower = clutter_group_real_lower;
+  iface->sort_depth_order = clutter_group_real_sort_depth_order;
+}
+
+static void
+clutter_group_real_paint (ClutterActor *actor)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (actor)->priv;
+
+  CLUTTER_NOTE (PAINT, "ClutterGroup paint enter '%s'",
+                _clutter_actor_get_debug_name (actor));
+
+  g_list_foreach (priv->children, (GFunc) clutter_actor_paint, NULL);
+
+  CLUTTER_NOTE (PAINT, "ClutterGroup paint leave '%s'",
+                _clutter_actor_get_debug_name (actor));
+}
+
+static void
+clutter_group_real_pick (ClutterActor       *actor,
+                         const ClutterColor *pick)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (actor)->priv;
+
+  /* Chain up so we get a bounding box pained (if we are reactive) */
+  CLUTTER_ACTOR_CLASS (clutter_group_parent_class)->pick (actor, pick);
+
+  g_list_foreach (priv->children, (GFunc) clutter_actor_paint, NULL);
+}
+
+static void
+clutter_group_real_get_preferred_width (ClutterActor *actor,
+                                        gfloat        for_height,
+                                        gfloat       *min_width,
+                                        gfloat       *natural_width)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (actor)->priv;
+
+  clutter_layout_manager_get_preferred_width (priv->layout,
+                                              CLUTTER_CONTAINER (actor),
+                                              for_height,
+                                              min_width, natural_width);
+}
+
+static void
+clutter_group_real_get_preferred_height (ClutterActor *actor,
+                                         gfloat        for_width,
+                                         gfloat       *min_height,
+                                         gfloat       *natural_height)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (actor)->priv;
+
+  clutter_layout_manager_get_preferred_height (priv->layout,
+                                               CLUTTER_CONTAINER (actor),
+                                               for_width,
+                                               min_height, natural_height);
+}
+
+static void
+clutter_group_real_allocate (ClutterActor           *actor,
+                             const ClutterActorBox  *allocation,
+                             ClutterAllocationFlags  flags)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (actor)->priv;
+  ClutterActorClass *klass;
+
+  klass = CLUTTER_ACTOR_CLASS (clutter_group_parent_class);
+  klass->allocate (actor, allocation, flags);
+
+  if (priv->children == NULL)
+    return;
+
+  clutter_layout_manager_allocate (priv->layout,
+                                   CLUTTER_CONTAINER (actor),
+                                   allocation, flags);
+}
+
+static void
+clutter_group_dispose (GObject *object)
+{
+  ClutterGroup *self = CLUTTER_GROUP (object);
+  ClutterGroupPrivate *priv = self->priv;
+
+  /* Note: we are careful to consider that destroying children could
+   * have the side-effect of destroying other children so
+   * priv->children may be modified during clutter_actor_destroy. */
+  while (priv->children != NULL)
+    {
+      ClutterActor *child = priv->children->data;
+      priv->children = g_list_delete_link (priv->children, priv->children);
+      clutter_actor_destroy (child);
+    }
+
+  if (priv->layout)
+    {
+      clutter_layout_manager_set_container (priv->layout, NULL);
+      g_object_unref (priv->layout);
+      priv->layout = NULL;
+    }
+
+  G_OBJECT_CLASS (clutter_group_parent_class)->dispose (object);
+}
+
+static void
+clutter_group_real_show_all (ClutterActor *actor)
+{
+  clutter_container_foreach (CLUTTER_CONTAINER (actor),
+                             CLUTTER_CALLBACK (clutter_actor_show),
+                             NULL);
+  clutter_actor_show (actor);
+}
+
+static void
+clutter_group_real_hide_all (ClutterActor *actor)
+{
+  clutter_actor_hide (actor);
+  clutter_container_foreach (CLUTTER_CONTAINER (actor),
+                             CLUTTER_CALLBACK (clutter_actor_hide),
+                             NULL);
+}
+
+static gboolean
+clutter_group_real_get_paint_volume (ClutterActor       *actor,
+                                     ClutterPaintVolume *volume)
+{
+  ClutterGroupPrivate *priv = CLUTTER_GROUP (actor)->priv;
+  GList *l;
+
+  if (priv->children == NULL)
+    return TRUE;
+
+  for (l = priv->children; l != NULL; l = l->next)
+    {
+      ClutterActor *child = l->data;
+      const ClutterPaintVolume *child_volume;
+
+      /* This gets the paint volume of the child transformed into the
+       * group's coordinate space... */
+      child_volume = clutter_actor_get_transformed_paint_volume (child, actor);
+      if (!child_volume)
+        return FALSE;
+
+      clutter_paint_volume_union (volume, child_volume);
+    }
+
+  return TRUE;
+}
+
+static void
+clutter_group_class_init (ClutterGroupClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
+
+  g_type_class_add_private (klass, sizeof (ClutterGroupPrivate));
+
+  actor_class->get_preferred_width = clutter_group_real_get_preferred_width;
+  actor_class->get_preferred_height = clutter_group_real_get_preferred_height;
+  actor_class->allocate = clutter_group_real_allocate;
+  actor_class->paint = clutter_group_real_paint;
+  actor_class->pick = clutter_group_real_pick;
+  actor_class->show_all = clutter_group_real_show_all;
+  actor_class->hide_all = clutter_group_real_hide_all;
+  actor_class->get_paint_volume = clutter_group_real_get_paint_volume;
+
+  gobject_class->dispose = clutter_group_dispose;
+}
+
+static void
+clutter_group_init (ClutterGroup *self)
+{
+  ClutterActor *actor = CLUTTER_ACTOR (self);
+
+  self->priv = CLUTTER_GROUP_GET_PRIVATE (self);
+
+  /* turn on some optimization
+   *
+   * XXX - these so-called "optimizations" are insane and should have never
+   * been used. they introduce some weird behaviour that breaks invariants
+   * and has to be explicitly worked around.
+   *
+   * this flag was set by the ClutterFixedLayout, but since that layout
+   * manager is now the default for ClutterActor, we set the flag explicitly
+   * here, to avoid breaking perfectly working actors overriding the
+   * allocate() virtual function.
+   *
+   * also, we keep this flag here so that it can die once we get rid of
+   * ClutterGroup.
+   */
+  clutter_actor_set_flags (actor, CLUTTER_ACTOR_NO_LAYOUT);
+
+  self->priv->layout = clutter_fixed_layout_new ();
+  g_object_ref_sink (self->priv->layout);
+
+  clutter_actor_set_layout_manager (actor, self->priv->layout);
+}
+
+/**
+ * clutter_group_new:
+ *
+ * Create a new  #ClutterGroup.
+ *
+ * Return value: the newly created #ClutterGroup actor
+ *
+ * Deprecated: 1.10: Use clutter_actor_new() instead.
+ */
+ClutterActor *
+clutter_group_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_GROUP, NULL);
+}
+
+/**
+ * clutter_group_remove_all:
+ * @self: A #ClutterGroup
+ *
+ * Removes all children actors from the #ClutterGroup.
+ *
+ * Deprecated: 1.10: Use clutter_actor_remove_all_children() instead.
+ */
+void
+clutter_group_remove_all (ClutterGroup *self)
+{
+  g_return_if_fail (CLUTTER_IS_GROUP (self));
+
+  clutter_actor_remove_all_children (CLUTTER_ACTOR (self));
+}
+
+/**
+ * clutter_group_get_n_children:
+ * @self: A #ClutterGroup
+ *
+ * Gets the number of actors held in the group.
+ *
+ * Return value: The number of child actors held in the group.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_n_children() instead.
+ */
+gint
+clutter_group_get_n_children (ClutterGroup *self)
+{
+  g_return_val_if_fail (CLUTTER_IS_GROUP (self), 0);
+
+  return clutter_actor_get_n_children (CLUTTER_ACTOR (self));
+}
+
+/**
+ * clutter_group_get_nth_child:
+ * @self: A #ClutterGroup
+ * @index_: the position of the requested actor.
+ *
+ * Gets a groups child held at @index_ in stack.
+ *
+ * Return value: (transfer none): A Clutter actor, or %NULL if
+ *   @index_ is invalid.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.10: Use clutter_actor_get_child_at_index() instead.
+ */
+ClutterActor *
+clutter_group_get_nth_child (ClutterGroup *self,
+                            gint          index_)
+{
+  ClutterActor *actor;
+
+  g_return_val_if_fail (CLUTTER_IS_GROUP (self), NULL);
+
+  actor = CLUTTER_ACTOR (self);
+  g_return_val_if_fail (index_ <= clutter_actor_get_n_children (actor), NULL);
+
+  return clutter_actor_get_child_at_index (actor, index_);
+}
diff --git a/clutter/deprecated/clutter-group.h b/clutter/deprecated/clutter-group.h
new file mode 100644
index 0000000..5bc378f
--- /dev/null
+++ b/clutter/deprecated/clutter-group.h
@@ -0,0 +1,62 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2011 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_GROUP_DEPRECATED_H__
+#define __CLUTTER_GROUP_DEPRECATED_H__
+
+#include <clutter/clutter-types.h>
+#include <clutter/clutter-group.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_new)
+ClutterActor *  clutter_group_new               (void);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_child_at_index)
+ClutterActor *  clutter_group_get_nth_child     (ClutterGroup *self,
+                                                 gint          index_);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_n_children)
+gint            clutter_group_get_n_children    (ClutterGroup *self);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_remove_all_children)
+void            clutter_group_remove_all        (ClutterGroup *self);
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+
+/* for Mr. Mallum only */
+#define clutter_group_add(group,actor)                  G_STMT_START {  \
+  ClutterActor *_actor = (ClutterActor *) (actor);                      \
+  if (CLUTTER_IS_GROUP ((group)) && CLUTTER_IS_ACTOR ((_actor)))        \
+    {                                                                   \
+      ClutterContainer *_container = (ClutterContainer *) (group);      \
+      clutter_container_add_actor (_container, _actor);                 \
+    }                                                   } G_STMT_END
+
+#endif /* CLUTTER_DISABLE_DEPRECATED */
+
+G_END_DECLS
+
+#endif /* __CLUTTER_GROUP_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-input-device-deprecated.c 
b/clutter/deprecated/clutter-input-device-deprecated.c
new file mode 100644
index 0000000..1a65ecc
--- /dev/null
+++ b/clutter/deprecated/clutter-input-device-deprecated.c
@@ -0,0 +1,38 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib-object.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-device-manager-private.h"
+#include "deprecated/clutter-input-device.h"
+
+/**
+ * clutter_input_device_get_device_coords:
+ * @device: a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE
+ * @x: (out): return location for the X coordinate
+ * @y: (out): return location for the Y coordinate
+ *
+ * Retrieves the latest coordinates of the pointer of @device
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12: Use clutter_input_device_get_coords() instead.
+ */
+void
+clutter_input_device_get_device_coords (ClutterInputDevice *device,
+                                        gint               *x,
+                                        gint               *y)
+{
+  ClutterPoint point;
+
+  clutter_input_device_get_coords (device, NULL, &point);
+
+  if (x)
+    *x = point.x;
+
+  if (y)
+    *y = point.y;
+}
diff --git a/clutter/deprecated/clutter-input-device.h b/clutter/deprecated/clutter-input-device.h
new file mode 100644
index 0000000..692459d
--- /dev/null
+++ b/clutter/deprecated/clutter-input-device.h
@@ -0,0 +1,41 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright © 2009, 2010, 2011  Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Emmanuele Bassi <ebassi linux intel com>
+ */
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_INPUT_DEVICE_DEPRECATED_H__
+#define __CLUTTER_INPUT_DEVICE_DEPRECATED_H__
+
+#include <clutter/clutter-input-device.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_input_device_get_coords)
+void clutter_input_device_get_device_coords  (ClutterInputDevice  *device,
+                                              gint                *x,
+                                              gint                *y);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_INPUT_DEVICE_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-keysyms.h b/clutter/deprecated/clutter-keysyms.h
new file mode 100644
index 0000000..ad99ee2
--- /dev/null
+++ b/clutter/deprecated/clutter-keysyms.h
@@ -0,0 +1,2306 @@
+/* Clutter
+ *
+ * Copyright (C) 2006, 2007, 2008  OpenedHand Ltd
+ * Copyright (C) 2009, 2010  Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses>.
+ */
+
+/*
+ * Compatibility version of clutter-keysyms.h.
+ *
+ * Since Clutter 1.4, the key symbol defines have been changed to have
+ * a KEY_ prefix. This is a compatibility header that is included when
+ * deprecated symbols are enabled. Consider porting to the new names
+ * instead.
+ */
+
+#ifndef __CLUTTER_KEYSYMS_DEPRECATED_H__
+#define __CLUTTER_KEYSYMS_DEPRECATED_H__
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+
+#define CLUTTER_VoidSymbol 0xffffff
+#define CLUTTER_BackSpace 0xff08
+#define CLUTTER_Tab 0xff09
+#define CLUTTER_Linefeed 0xff0a
+#define CLUTTER_Clear 0xff0b
+#define CLUTTER_Return 0xff0d
+#define CLUTTER_Pause 0xff13
+#define CLUTTER_Scroll_Lock 0xff14
+#define CLUTTER_Sys_Req 0xff15
+#define CLUTTER_Escape 0xff1b
+#define CLUTTER_Delete 0xffff
+#define CLUTTER_Multi_key 0xff20
+#define CLUTTER_Codeinput 0xff37
+#define CLUTTER_SingleCandidate 0xff3c
+#define CLUTTER_MultipleCandidate 0xff3d
+#define CLUTTER_PreviousCandidate 0xff3e
+#define CLUTTER_Kanji 0xff21
+#define CLUTTER_Muhenkan 0xff22
+#define CLUTTER_Henkan_Mode 0xff23
+#define CLUTTER_Henkan 0xff23
+#define CLUTTER_Romaji 0xff24
+#define CLUTTER_Hiragana 0xff25
+#define CLUTTER_Katakana 0xff26
+#define CLUTTER_Hiragana_Katakana 0xff27
+#define CLUTTER_Zenkaku 0xff28
+#define CLUTTER_Hankaku 0xff29
+#define CLUTTER_Zenkaku_Hankaku 0xff2a
+#define CLUTTER_Touroku 0xff2b
+#define CLUTTER_Massyo 0xff2c
+#define CLUTTER_Kana_Lock 0xff2d
+#define CLUTTER_Kana_Shift 0xff2e
+#define CLUTTER_Eisu_Shift 0xff2f
+#define CLUTTER_Eisu_toggle 0xff30
+#define CLUTTER_Kanji_Bangou 0xff37
+#define CLUTTER_Zen_Koho 0xff3d
+#define CLUTTER_Mae_Koho 0xff3e
+#define CLUTTER_Home 0xff50
+#define CLUTTER_Left 0xff51
+#define CLUTTER_Up 0xff52
+#define CLUTTER_Right 0xff53
+#define CLUTTER_Down 0xff54
+#define CLUTTER_Prior 0xff55
+#define CLUTTER_Page_Up 0xff55
+#define CLUTTER_Next 0xff56
+#define CLUTTER_Page_Down 0xff56
+#define CLUTTER_End 0xff57
+#define CLUTTER_Begin 0xff58
+#define CLUTTER_Select 0xff60
+#define CLUTTER_Print 0xff61
+#define CLUTTER_Execute 0xff62
+#define CLUTTER_Insert 0xff63
+#define CLUTTER_Undo 0xff65
+#define CLUTTER_Redo 0xff66
+#define CLUTTER_Menu 0xff67
+#define CLUTTER_Find 0xff68
+#define CLUTTER_Cancel 0xff69
+#define CLUTTER_Help 0xff6a
+#define CLUTTER_Break 0xff6b
+#define CLUTTER_Mode_switch 0xff7e
+#define CLUTTER_script_switch 0xff7e
+#define CLUTTER_Num_Lock 0xff7f
+#define CLUTTER_KP_Space 0xff80
+#define CLUTTER_KP_Tab 0xff89
+#define CLUTTER_KP_Enter 0xff8d
+#define CLUTTER_KP_F1 0xff91
+#define CLUTTER_KP_F2 0xff92
+#define CLUTTER_KP_F3 0xff93
+#define CLUTTER_KP_F4 0xff94
+#define CLUTTER_KP_Home 0xff95
+#define CLUTTER_KP_Left 0xff96
+#define CLUTTER_KP_Up 0xff97
+#define CLUTTER_KP_Right 0xff98
+#define CLUTTER_KP_Down 0xff99
+#define CLUTTER_KP_Prior 0xff9a
+#define CLUTTER_KP_Page_Up 0xff9a
+#define CLUTTER_KP_Next 0xff9b
+#define CLUTTER_KP_Page_Down 0xff9b
+#define CLUTTER_KP_End 0xff9c
+#define CLUTTER_KP_Begin 0xff9d
+#define CLUTTER_KP_Insert 0xff9e
+#define CLUTTER_KP_Delete 0xff9f
+#define CLUTTER_KP_Equal 0xffbd
+#define CLUTTER_KP_Multiply 0xffaa
+#define CLUTTER_KP_Add 0xffab
+#define CLUTTER_KP_Separator 0xffac
+#define CLUTTER_KP_Subtract 0xffad
+#define CLUTTER_KP_Decimal 0xffae
+#define CLUTTER_KP_Divide 0xffaf
+#define CLUTTER_KP_0 0xffb0
+#define CLUTTER_KP_1 0xffb1
+#define CLUTTER_KP_2 0xffb2
+#define CLUTTER_KP_3 0xffb3
+#define CLUTTER_KP_4 0xffb4
+#define CLUTTER_KP_5 0xffb5
+#define CLUTTER_KP_6 0xffb6
+#define CLUTTER_KP_7 0xffb7
+#define CLUTTER_KP_8 0xffb8
+#define CLUTTER_KP_9 0xffb9
+#define CLUTTER_F1 0xffbe
+#define CLUTTER_F2 0xffbf
+#define CLUTTER_F3 0xffc0
+#define CLUTTER_F4 0xffc1
+#define CLUTTER_F5 0xffc2
+#define CLUTTER_F6 0xffc3
+#define CLUTTER_F7 0xffc4
+#define CLUTTER_F8 0xffc5
+#define CLUTTER_F9 0xffc6
+#define CLUTTER_F10 0xffc7
+#define CLUTTER_F11 0xffc8
+#define CLUTTER_L1 0xffc8
+#define CLUTTER_F12 0xffc9
+#define CLUTTER_L2 0xffc9
+#define CLUTTER_F13 0xffca
+#define CLUTTER_L3 0xffca
+#define CLUTTER_F14 0xffcb
+#define CLUTTER_L4 0xffcb
+#define CLUTTER_F15 0xffcc
+#define CLUTTER_L5 0xffcc
+#define CLUTTER_F16 0xffcd
+#define CLUTTER_L6 0xffcd
+#define CLUTTER_F17 0xffce
+#define CLUTTER_L7 0xffce
+#define CLUTTER_F18 0xffcf
+#define CLUTTER_L8 0xffcf
+#define CLUTTER_F19 0xffd0
+#define CLUTTER_L9 0xffd0
+#define CLUTTER_F20 0xffd1
+#define CLUTTER_L10 0xffd1
+#define CLUTTER_F21 0xffd2
+#define CLUTTER_R1 0xffd2
+#define CLUTTER_F22 0xffd3
+#define CLUTTER_R2 0xffd3
+#define CLUTTER_F23 0xffd4
+#define CLUTTER_R3 0xffd4
+#define CLUTTER_F24 0xffd5
+#define CLUTTER_R4 0xffd5
+#define CLUTTER_F25 0xffd6
+#define CLUTTER_R5 0xffd6
+#define CLUTTER_F26 0xffd7
+#define CLUTTER_R6 0xffd7
+#define CLUTTER_F27 0xffd8
+#define CLUTTER_R7 0xffd8
+#define CLUTTER_F28 0xffd9
+#define CLUTTER_R8 0xffd9
+#define CLUTTER_F29 0xffda
+#define CLUTTER_R9 0xffda
+#define CLUTTER_F30 0xffdb
+#define CLUTTER_R10 0xffdb
+#define CLUTTER_F31 0xffdc
+#define CLUTTER_R11 0xffdc
+#define CLUTTER_F32 0xffdd
+#define CLUTTER_R12 0xffdd
+#define CLUTTER_F33 0xffde
+#define CLUTTER_R13 0xffde
+#define CLUTTER_F34 0xffdf
+#define CLUTTER_R14 0xffdf
+#define CLUTTER_F35 0xffe0
+#define CLUTTER_R15 0xffe0
+#define CLUTTER_Shift_L 0xffe1
+#define CLUTTER_Shift_R 0xffe2
+#define CLUTTER_Control_L 0xffe3
+#define CLUTTER_Control_R 0xffe4
+#define CLUTTER_Caps_Lock 0xffe5
+#define CLUTTER_Shift_Lock 0xffe6
+#define CLUTTER_Meta_L 0xffe7
+#define CLUTTER_Meta_R 0xffe8
+#define CLUTTER_Alt_L 0xffe9
+#define CLUTTER_Alt_R 0xffea
+#define CLUTTER_Super_L 0xffeb
+#define CLUTTER_Super_R 0xffec
+#define CLUTTER_Hyper_L 0xffed
+#define CLUTTER_Hyper_R 0xffee
+#define CLUTTER_ISO_Lock 0xfe01
+#define CLUTTER_ISO_Level2_Latch 0xfe02
+#define CLUTTER_ISO_Level3_Shift 0xfe03
+#define CLUTTER_ISO_Level3_Latch 0xfe04
+#define CLUTTER_ISO_Level3_Lock 0xfe05
+#define CLUTTER_ISO_Level5_Shift 0xfe11
+#define CLUTTER_ISO_Level5_Latch 0xfe12
+#define CLUTTER_ISO_Level5_Lock 0xfe13
+#define CLUTTER_ISO_Group_Shift 0xff7e
+#define CLUTTER_ISO_Group_Latch 0xfe06
+#define CLUTTER_ISO_Group_Lock 0xfe07
+#define CLUTTER_ISO_Next_Group 0xfe08
+#define CLUTTER_ISO_Next_Group_Lock 0xfe09
+#define CLUTTER_ISO_Prev_Group 0xfe0a
+#define CLUTTER_ISO_Prev_Group_Lock 0xfe0b
+#define CLUTTER_ISO_First_Group 0xfe0c
+#define CLUTTER_ISO_First_Group_Lock 0xfe0d
+#define CLUTTER_ISO_Last_Group 0xfe0e
+#define CLUTTER_ISO_Last_Group_Lock 0xfe0f
+#define CLUTTER_ISO_Left_Tab 0xfe20
+#define CLUTTER_ISO_Move_Line_Up 0xfe21
+#define CLUTTER_ISO_Move_Line_Down 0xfe22
+#define CLUTTER_ISO_Partial_Line_Up 0xfe23
+#define CLUTTER_ISO_Partial_Line_Down 0xfe24
+#define CLUTTER_ISO_Partial_Space_Left 0xfe25
+#define CLUTTER_ISO_Partial_Space_Right 0xfe26
+#define CLUTTER_ISO_Set_Margin_Left 0xfe27
+#define CLUTTER_ISO_Set_Margin_Right 0xfe28
+#define CLUTTER_ISO_Release_Margin_Left 0xfe29
+#define CLUTTER_ISO_Release_Margin_Right 0xfe2a
+#define CLUTTER_ISO_Release_Both_Margins 0xfe2b
+#define CLUTTER_ISO_Fast_Cursor_Left 0xfe2c
+#define CLUTTER_ISO_Fast_Cursor_Right 0xfe2d
+#define CLUTTER_ISO_Fast_Cursor_Up 0xfe2e
+#define CLUTTER_ISO_Fast_Cursor_Down 0xfe2f
+#define CLUTTER_ISO_Continuous_Underline 0xfe30
+#define CLUTTER_ISO_Discontinuous_Underline 0xfe31
+#define CLUTTER_ISO_Emphasize 0xfe32
+#define CLUTTER_ISO_Center_Object 0xfe33
+#define CLUTTER_ISO_Enter 0xfe34
+#define CLUTTER_dead_grave 0xfe50
+#define CLUTTER_dead_acute 0xfe51
+#define CLUTTER_dead_circumflex 0xfe52
+#define CLUTTER_dead_tilde 0xfe53
+#define CLUTTER_dead_perispomeni 0xfe53
+#define CLUTTER_dead_macron 0xfe54
+#define CLUTTER_dead_breve 0xfe55
+#define CLUTTER_dead_abovedot 0xfe56
+#define CLUTTER_dead_diaeresis 0xfe57
+#define CLUTTER_dead_abovering 0xfe58
+#define CLUTTER_dead_doubleacute 0xfe59
+#define CLUTTER_dead_caron 0xfe5a
+#define CLUTTER_dead_cedilla 0xfe5b
+#define CLUTTER_dead_ogonek 0xfe5c
+#define CLUTTER_dead_iota 0xfe5d
+#define CLUTTER_dead_voiced_sound 0xfe5e
+#define CLUTTER_dead_semivoiced_sound 0xfe5f
+#define CLUTTER_dead_belowdot 0xfe60
+#define CLUTTER_dead_hook 0xfe61
+#define CLUTTER_dead_horn 0xfe62
+#define CLUTTER_dead_stroke 0xfe63
+#define CLUTTER_dead_abovecomma 0xfe64
+#define CLUTTER_dead_psili 0xfe64
+#define CLUTTER_dead_abovereversedcomma 0xfe65
+#define CLUTTER_dead_dasia 0xfe65
+#define CLUTTER_dead_doublegrave 0xfe66
+#define CLUTTER_dead_belowring 0xfe67
+#define CLUTTER_dead_belowmacron 0xfe68
+#define CLUTTER_dead_belowcircumflex 0xfe69
+#define CLUTTER_dead_belowtilde 0xfe6a
+#define CLUTTER_dead_belowbreve 0xfe6b
+#define CLUTTER_dead_belowdiaeresis 0xfe6c
+#define CLUTTER_dead_invertedbreve 0xfe6d
+#define CLUTTER_dead_belowcomma 0xfe6e
+#define CLUTTER_dead_currency 0xfe6f
+#define CLUTTER_dead_a 0xfe80
+#define CLUTTER_dead_A 0xfe81
+#define CLUTTER_dead_e 0xfe82
+#define CLUTTER_dead_E 0xfe83
+#define CLUTTER_dead_i 0xfe84
+#define CLUTTER_dead_I 0xfe85
+#define CLUTTER_dead_o 0xfe86
+#define CLUTTER_dead_O 0xfe87
+#define CLUTTER_dead_u 0xfe88
+#define CLUTTER_dead_U 0xfe89
+#define CLUTTER_dead_small_schwa 0xfe8a
+#define CLUTTER_dead_capital_schwa 0xfe8b
+#define CLUTTER_dead_greek 0xfe8c
+#define CLUTTER_First_Virtual_Screen 0xfed0
+#define CLUTTER_Prev_Virtual_Screen 0xfed1
+#define CLUTTER_Next_Virtual_Screen 0xfed2
+#define CLUTTER_Last_Virtual_Screen 0xfed4
+#define CLUTTER_Terminate_Server 0xfed5
+#define CLUTTER_AccessX_Enable 0xfe70
+#define CLUTTER_AccessX_Feedback_Enable 0xfe71
+#define CLUTTER_RepeatKeys_Enable 0xfe72
+#define CLUTTER_SlowKeys_Enable 0xfe73
+#define CLUTTER_BounceKeys_Enable 0xfe74
+#define CLUTTER_StickyKeys_Enable 0xfe75
+#define CLUTTER_MouseKeys_Enable 0xfe76
+#define CLUTTER_MouseKeys_Accel_Enable 0xfe77
+#define CLUTTER_Overlay1_Enable 0xfe78
+#define CLUTTER_Overlay2_Enable 0xfe79
+#define CLUTTER_AudibleBell_Enable 0xfe7a
+#define CLUTTER_Pointer_Left 0xfee0
+#define CLUTTER_Pointer_Right 0xfee1
+#define CLUTTER_Pointer_Up 0xfee2
+#define CLUTTER_Pointer_Down 0xfee3
+#define CLUTTER_Pointer_UpLeft 0xfee4
+#define CLUTTER_Pointer_UpRight 0xfee5
+#define CLUTTER_Pointer_DownLeft 0xfee6
+#define CLUTTER_Pointer_DownRight 0xfee7
+#define CLUTTER_Pointer_Button_Dflt 0xfee8
+#define CLUTTER_Pointer_Button1 0xfee9
+#define CLUTTER_Pointer_Button2 0xfeea
+#define CLUTTER_Pointer_Button3 0xfeeb
+#define CLUTTER_Pointer_Button4 0xfeec
+#define CLUTTER_Pointer_Button5 0xfeed
+#define CLUTTER_Pointer_DblClick_Dflt 0xfeee
+#define CLUTTER_Pointer_DblClick1 0xfeef
+#define CLUTTER_Pointer_DblClick2 0xfef0
+#define CLUTTER_Pointer_DblClick3 0xfef1
+#define CLUTTER_Pointer_DblClick4 0xfef2
+#define CLUTTER_Pointer_DblClick5 0xfef3
+#define CLUTTER_Pointer_Drag_Dflt 0xfef4
+#define CLUTTER_Pointer_Drag1 0xfef5
+#define CLUTTER_Pointer_Drag2 0xfef6
+#define CLUTTER_Pointer_Drag3 0xfef7
+#define CLUTTER_Pointer_Drag4 0xfef8
+#define CLUTTER_Pointer_Drag5 0xfefd
+#define CLUTTER_Pointer_EnableKeys 0xfef9
+#define CLUTTER_Pointer_Accelerate 0xfefa
+#define CLUTTER_Pointer_DfltBtnNext 0xfefb
+#define CLUTTER_Pointer_DfltBtnPrev 0xfefc
+#define CLUTTER_ch 0xfea0
+#define CLUTTER_Ch 0xfea1
+#define CLUTTER_CH 0xfea2
+#define CLUTTER_c_h 0xfea3
+#define CLUTTER_C_h 0xfea4
+#define CLUTTER_C_H 0xfea5
+#define CLUTTER_3270_Duplicate 0xfd01
+#define CLUTTER_3270_FieldMark 0xfd02
+#define CLUTTER_3270_Right2 0xfd03
+#define CLUTTER_3270_Left2 0xfd04
+#define CLUTTER_3270_BackTab 0xfd05
+#define CLUTTER_3270_EraseEOF 0xfd06
+#define CLUTTER_3270_EraseInput 0xfd07
+#define CLUTTER_3270_Reset 0xfd08
+#define CLUTTER_3270_Quit 0xfd09
+#define CLUTTER_3270_PA1 0xfd0a
+#define CLUTTER_3270_PA2 0xfd0b
+#define CLUTTER_3270_PA3 0xfd0c
+#define CLUTTER_3270_Test 0xfd0d
+#define CLUTTER_3270_Attn 0xfd0e
+#define CLUTTER_3270_CursorBlink 0xfd0f
+#define CLUTTER_3270_AltCursor 0xfd10
+#define CLUTTER_3270_KeyClick 0xfd11
+#define CLUTTER_3270_Jump 0xfd12
+#define CLUTTER_3270_Ident 0xfd13
+#define CLUTTER_3270_Rule 0xfd14
+#define CLUTTER_3270_Copy 0xfd15
+#define CLUTTER_3270_Play 0xfd16
+#define CLUTTER_3270_Setup 0xfd17
+#define CLUTTER_3270_Record 0xfd18
+#define CLUTTER_3270_ChangeScreen 0xfd19
+#define CLUTTER_3270_DeleteWord 0xfd1a
+#define CLUTTER_3270_ExSelect 0xfd1b
+#define CLUTTER_3270_CursorSelect 0xfd1c
+#define CLUTTER_3270_PrintScreen 0xfd1d
+#define CLUTTER_3270_Enter 0xfd1e
+#define CLUTTER_space 0x020
+#define CLUTTER_exclam 0x021
+#define CLUTTER_quotedbl 0x022
+#define CLUTTER_numbersign 0x023
+#define CLUTTER_dollar 0x024
+#define CLUTTER_percent 0x025
+#define CLUTTER_ampersand 0x026
+#define CLUTTER_apostrophe 0x027
+#define CLUTTER_quoteright 0x027
+#define CLUTTER_parenleft 0x028
+#define CLUTTER_parenright 0x029
+#define CLUTTER_asterisk 0x02a
+#define CLUTTER_plus 0x02b
+#define CLUTTER_comma 0x02c
+#define CLUTTER_minus 0x02d
+#define CLUTTER_period 0x02e
+#define CLUTTER_slash 0x02f
+#define CLUTTER_0 0x030
+#define CLUTTER_1 0x031
+#define CLUTTER_2 0x032
+#define CLUTTER_3 0x033
+#define CLUTTER_4 0x034
+#define CLUTTER_5 0x035
+#define CLUTTER_6 0x036
+#define CLUTTER_7 0x037
+#define CLUTTER_8 0x038
+#define CLUTTER_9 0x039
+#define CLUTTER_colon 0x03a
+#define CLUTTER_semicolon 0x03b
+#define CLUTTER_less 0x03c
+#define CLUTTER_equal 0x03d
+#define CLUTTER_greater 0x03e
+#define CLUTTER_question 0x03f
+#define CLUTTER_at 0x040
+#define CLUTTER_A 0x041
+#define CLUTTER_B 0x042
+#define CLUTTER_C 0x043
+#define CLUTTER_D 0x044
+#define CLUTTER_E 0x045
+#define CLUTTER_F 0x046
+#define CLUTTER_G 0x047
+#define CLUTTER_H 0x048
+#define CLUTTER_I 0x049
+#define CLUTTER_J 0x04a
+#define CLUTTER_K 0x04b
+#define CLUTTER_L 0x04c
+#define CLUTTER_M 0x04d
+#define CLUTTER_N 0x04e
+#define CLUTTER_O 0x04f
+#define CLUTTER_P 0x050
+#define CLUTTER_Q 0x051
+#define CLUTTER_R 0x052
+#define CLUTTER_S 0x053
+#define CLUTTER_T 0x054
+#define CLUTTER_U 0x055
+#define CLUTTER_V 0x056
+#define CLUTTER_W 0x057
+#define CLUTTER_X 0x058
+#define CLUTTER_Y 0x059
+#define CLUTTER_Z 0x05a
+#define CLUTTER_bracketleft 0x05b
+#define CLUTTER_backslash 0x05c
+#define CLUTTER_bracketright 0x05d
+#define CLUTTER_asciicircum 0x05e
+#define CLUTTER_underscore 0x05f
+#define CLUTTER_grave 0x060
+#define CLUTTER_quoteleft 0x060
+#define CLUTTER_a 0x061
+#define CLUTTER_b 0x062
+#define CLUTTER_c 0x063
+#define CLUTTER_d 0x064
+#define CLUTTER_e 0x065
+#define CLUTTER_f 0x066
+#define CLUTTER_g 0x067
+#define CLUTTER_h 0x068
+#define CLUTTER_i 0x069
+#define CLUTTER_j 0x06a
+#define CLUTTER_k 0x06b
+#define CLUTTER_l 0x06c
+#define CLUTTER_m 0x06d
+#define CLUTTER_n 0x06e
+#define CLUTTER_o 0x06f
+#define CLUTTER_p 0x070
+#define CLUTTER_q 0x071
+#define CLUTTER_r 0x072
+#define CLUTTER_s 0x073
+#define CLUTTER_t 0x074
+#define CLUTTER_u 0x075
+#define CLUTTER_v 0x076
+#define CLUTTER_w 0x077
+#define CLUTTER_x 0x078
+#define CLUTTER_y 0x079
+#define CLUTTER_z 0x07a
+#define CLUTTER_braceleft 0x07b
+#define CLUTTER_bar 0x07c
+#define CLUTTER_braceright 0x07d
+#define CLUTTER_asciitilde 0x07e
+#define CLUTTER_nobreakspace 0x0a0
+#define CLUTTER_exclamdown 0x0a1
+#define CLUTTER_cent 0x0a2
+#define CLUTTER_sterling 0x0a3
+#define CLUTTER_currency 0x0a4
+#define CLUTTER_yen 0x0a5
+#define CLUTTER_brokenbar 0x0a6
+#define CLUTTER_section 0x0a7
+#define CLUTTER_diaeresis 0x0a8
+#define CLUTTER_copyright 0x0a9
+#define CLUTTER_ordfeminine 0x0aa
+#define CLUTTER_guillemotleft 0x0ab
+#define CLUTTER_notsign 0x0ac
+#define CLUTTER_hyphen 0x0ad
+#define CLUTTER_registered 0x0ae
+#define CLUTTER_macron 0x0af
+#define CLUTTER_degree 0x0b0
+#define CLUTTER_plusminus 0x0b1
+#define CLUTTER_twosuperior 0x0b2
+#define CLUTTER_threesuperior 0x0b3
+#define CLUTTER_acute 0x0b4
+#define CLUTTER_mu 0x0b5
+#define CLUTTER_paragraph 0x0b6
+#define CLUTTER_periodcentered 0x0b7
+#define CLUTTER_cedilla 0x0b8
+#define CLUTTER_onesuperior 0x0b9
+#define CLUTTER_masculine 0x0ba
+#define CLUTTER_guillemotright 0x0bb
+#define CLUTTER_onequarter 0x0bc
+#define CLUTTER_onehalf 0x0bd
+#define CLUTTER_threequarters 0x0be
+#define CLUTTER_questiondown 0x0bf
+#define CLUTTER_Agrave 0x0c0
+#define CLUTTER_Aacute 0x0c1
+#define CLUTTER_Acircumflex 0x0c2
+#define CLUTTER_Atilde 0x0c3
+#define CLUTTER_Adiaeresis 0x0c4
+#define CLUTTER_Aring 0x0c5
+#define CLUTTER_AE 0x0c6
+#define CLUTTER_Ccedilla 0x0c7
+#define CLUTTER_Egrave 0x0c8
+#define CLUTTER_Eacute 0x0c9
+#define CLUTTER_Ecircumflex 0x0ca
+#define CLUTTER_Ediaeresis 0x0cb
+#define CLUTTER_Igrave 0x0cc
+#define CLUTTER_Iacute 0x0cd
+#define CLUTTER_Icircumflex 0x0ce
+#define CLUTTER_Idiaeresis 0x0cf
+#define CLUTTER_ETH 0x0d0
+#define CLUTTER_Eth 0x0d0
+#define CLUTTER_Ntilde 0x0d1
+#define CLUTTER_Ograve 0x0d2
+#define CLUTTER_Oacute 0x0d3
+#define CLUTTER_Ocircumflex 0x0d4
+#define CLUTTER_Otilde 0x0d5
+#define CLUTTER_Odiaeresis 0x0d6
+#define CLUTTER_multiply 0x0d7
+#define CLUTTER_Oslash 0x0d8
+#define CLUTTER_Ooblique 0x0d8
+#define CLUTTER_Ugrave 0x0d9
+#define CLUTTER_Uacute 0x0da
+#define CLUTTER_Ucircumflex 0x0db
+#define CLUTTER_Udiaeresis 0x0dc
+#define CLUTTER_Yacute 0x0dd
+#define CLUTTER_THORN 0x0de
+#define CLUTTER_Thorn 0x0de
+#define CLUTTER_ssharp 0x0df
+#define CLUTTER_agrave 0x0e0
+#define CLUTTER_aacute 0x0e1
+#define CLUTTER_acircumflex 0x0e2
+#define CLUTTER_atilde 0x0e3
+#define CLUTTER_adiaeresis 0x0e4
+#define CLUTTER_aring 0x0e5
+#define CLUTTER_ae 0x0e6
+#define CLUTTER_ccedilla 0x0e7
+#define CLUTTER_egrave 0x0e8
+#define CLUTTER_eacute 0x0e9
+#define CLUTTER_ecircumflex 0x0ea
+#define CLUTTER_ediaeresis 0x0eb
+#define CLUTTER_igrave 0x0ec
+#define CLUTTER_iacute 0x0ed
+#define CLUTTER_icircumflex 0x0ee
+#define CLUTTER_idiaeresis 0x0ef
+#define CLUTTER_eth 0x0f0
+#define CLUTTER_ntilde 0x0f1
+#define CLUTTER_ograve 0x0f2
+#define CLUTTER_oacute 0x0f3
+#define CLUTTER_ocircumflex 0x0f4
+#define CLUTTER_otilde 0x0f5
+#define CLUTTER_odiaeresis 0x0f6
+#define CLUTTER_division 0x0f7
+#define CLUTTER_oslash 0x0f8
+#define CLUTTER_ooblique 0x0f8
+#define CLUTTER_ugrave 0x0f9
+#define CLUTTER_uacute 0x0fa
+#define CLUTTER_ucircumflex 0x0fb
+#define CLUTTER_udiaeresis 0x0fc
+#define CLUTTER_yacute 0x0fd
+#define CLUTTER_thorn 0x0fe
+#define CLUTTER_ydiaeresis 0x0ff
+#define CLUTTER_Aogonek 0x1a1
+#define CLUTTER_breve 0x1a2
+#define CLUTTER_Lstroke 0x1a3
+#define CLUTTER_Lcaron 0x1a5
+#define CLUTTER_Sacute 0x1a6
+#define CLUTTER_Scaron 0x1a9
+#define CLUTTER_Scedilla 0x1aa
+#define CLUTTER_Tcaron 0x1ab
+#define CLUTTER_Zacute 0x1ac
+#define CLUTTER_Zcaron 0x1ae
+#define CLUTTER_Zabovedot 0x1af
+#define CLUTTER_aogonek 0x1b1
+#define CLUTTER_ogonek 0x1b2
+#define CLUTTER_lstroke 0x1b3
+#define CLUTTER_lcaron 0x1b5
+#define CLUTTER_sacute 0x1b6
+#define CLUTTER_caron 0x1b7
+#define CLUTTER_scaron 0x1b9
+#define CLUTTER_scedilla 0x1ba
+#define CLUTTER_tcaron 0x1bb
+#define CLUTTER_zacute 0x1bc
+#define CLUTTER_doubleacute 0x1bd
+#define CLUTTER_zcaron 0x1be
+#define CLUTTER_zabovedot 0x1bf
+#define CLUTTER_Racute 0x1c0
+#define CLUTTER_Abreve 0x1c3
+#define CLUTTER_Lacute 0x1c5
+#define CLUTTER_Cacute 0x1c6
+#define CLUTTER_Ccaron 0x1c8
+#define CLUTTER_Eogonek 0x1ca
+#define CLUTTER_Ecaron 0x1cc
+#define CLUTTER_Dcaron 0x1cf
+#define CLUTTER_Dstroke 0x1d0
+#define CLUTTER_Nacute 0x1d1
+#define CLUTTER_Ncaron 0x1d2
+#define CLUTTER_Odoubleacute 0x1d5
+#define CLUTTER_Rcaron 0x1d8
+#define CLUTTER_Uring 0x1d9
+#define CLUTTER_Udoubleacute 0x1db
+#define CLUTTER_Tcedilla 0x1de
+#define CLUTTER_racute 0x1e0
+#define CLUTTER_abreve 0x1e3
+#define CLUTTER_lacute 0x1e5
+#define CLUTTER_cacute 0x1e6
+#define CLUTTER_ccaron 0x1e8
+#define CLUTTER_eogonek 0x1ea
+#define CLUTTER_ecaron 0x1ec
+#define CLUTTER_dcaron 0x1ef
+#define CLUTTER_dstroke 0x1f0
+#define CLUTTER_nacute 0x1f1
+#define CLUTTER_ncaron 0x1f2
+#define CLUTTER_odoubleacute 0x1f5
+#define CLUTTER_rcaron 0x1f8
+#define CLUTTER_uring 0x1f9
+#define CLUTTER_udoubleacute 0x1fb
+#define CLUTTER_tcedilla 0x1fe
+#define CLUTTER_abovedot 0x1ff
+#define CLUTTER_Hstroke 0x2a1
+#define CLUTTER_Hcircumflex 0x2a6
+#define CLUTTER_Iabovedot 0x2a9
+#define CLUTTER_Gbreve 0x2ab
+#define CLUTTER_Jcircumflex 0x2ac
+#define CLUTTER_hstroke 0x2b1
+#define CLUTTER_hcircumflex 0x2b6
+#define CLUTTER_idotless 0x2b9
+#define CLUTTER_gbreve 0x2bb
+#define CLUTTER_jcircumflex 0x2bc
+#define CLUTTER_Cabovedot 0x2c5
+#define CLUTTER_Ccircumflex 0x2c6
+#define CLUTTER_Gabovedot 0x2d5
+#define CLUTTER_Gcircumflex 0x2d8
+#define CLUTTER_Ubreve 0x2dd
+#define CLUTTER_Scircumflex 0x2de
+#define CLUTTER_cabovedot 0x2e5
+#define CLUTTER_ccircumflex 0x2e6
+#define CLUTTER_gabovedot 0x2f5
+#define CLUTTER_gcircumflex 0x2f8
+#define CLUTTER_ubreve 0x2fd
+#define CLUTTER_scircumflex 0x2fe
+#define CLUTTER_kra 0x3a2
+#define CLUTTER_kappa 0x3a2
+#define CLUTTER_Rcedilla 0x3a3
+#define CLUTTER_Itilde 0x3a5
+#define CLUTTER_Lcedilla 0x3a6
+#define CLUTTER_Emacron 0x3aa
+#define CLUTTER_Gcedilla 0x3ab
+#define CLUTTER_Tslash 0x3ac
+#define CLUTTER_rcedilla 0x3b3
+#define CLUTTER_itilde 0x3b5
+#define CLUTTER_lcedilla 0x3b6
+#define CLUTTER_emacron 0x3ba
+#define CLUTTER_gcedilla 0x3bb
+#define CLUTTER_tslash 0x3bc
+#define CLUTTER_ENG 0x3bd
+#define CLUTTER_eng 0x3bf
+#define CLUTTER_Amacron 0x3c0
+#define CLUTTER_Iogonek 0x3c7
+#define CLUTTER_Eabovedot 0x3cc
+#define CLUTTER_Imacron 0x3cf
+#define CLUTTER_Ncedilla 0x3d1
+#define CLUTTER_Omacron 0x3d2
+#define CLUTTER_Kcedilla 0x3d3
+#define CLUTTER_Uogonek 0x3d9
+#define CLUTTER_Utilde 0x3dd
+#define CLUTTER_Umacron 0x3de
+#define CLUTTER_amacron 0x3e0
+#define CLUTTER_iogonek 0x3e7
+#define CLUTTER_eabovedot 0x3ec
+#define CLUTTER_imacron 0x3ef
+#define CLUTTER_ncedilla 0x3f1
+#define CLUTTER_omacron 0x3f2
+#define CLUTTER_kcedilla 0x3f3
+#define CLUTTER_uogonek 0x3f9
+#define CLUTTER_utilde 0x3fd
+#define CLUTTER_umacron 0x3fe
+#define CLUTTER_Wcircumflex 0x1000174
+#define CLUTTER_wcircumflex 0x1000175
+#define CLUTTER_Ycircumflex 0x1000176
+#define CLUTTER_ycircumflex 0x1000177
+#define CLUTTER_Babovedot 0x1001e02
+#define CLUTTER_babovedot 0x1001e03
+#define CLUTTER_Dabovedot 0x1001e0a
+#define CLUTTER_dabovedot 0x1001e0b
+#define CLUTTER_Fabovedot 0x1001e1e
+#define CLUTTER_fabovedot 0x1001e1f
+#define CLUTTER_Mabovedot 0x1001e40
+#define CLUTTER_mabovedot 0x1001e41
+#define CLUTTER_Pabovedot 0x1001e56
+#define CLUTTER_pabovedot 0x1001e57
+#define CLUTTER_Sabovedot 0x1001e60
+#define CLUTTER_sabovedot 0x1001e61
+#define CLUTTER_Tabovedot 0x1001e6a
+#define CLUTTER_tabovedot 0x1001e6b
+#define CLUTTER_Wgrave 0x1001e80
+#define CLUTTER_wgrave 0x1001e81
+#define CLUTTER_Wacute 0x1001e82
+#define CLUTTER_wacute 0x1001e83
+#define CLUTTER_Wdiaeresis 0x1001e84
+#define CLUTTER_wdiaeresis 0x1001e85
+#define CLUTTER_Ygrave 0x1001ef2
+#define CLUTTER_ygrave 0x1001ef3
+#define CLUTTER_OE 0x13bc
+#define CLUTTER_oe 0x13bd
+#define CLUTTER_Ydiaeresis 0x13be
+#define CLUTTER_overline 0x47e
+#define CLUTTER_kana_fullstop 0x4a1
+#define CLUTTER_kana_openingbracket 0x4a2
+#define CLUTTER_kana_closingbracket 0x4a3
+#define CLUTTER_kana_comma 0x4a4
+#define CLUTTER_kana_conjunctive 0x4a5
+#define CLUTTER_kana_middledot 0x4a5
+#define CLUTTER_kana_WO 0x4a6
+#define CLUTTER_kana_a 0x4a7
+#define CLUTTER_kana_i 0x4a8
+#define CLUTTER_kana_u 0x4a9
+#define CLUTTER_kana_e 0x4aa
+#define CLUTTER_kana_o 0x4ab
+#define CLUTTER_kana_ya 0x4ac
+#define CLUTTER_kana_yu 0x4ad
+#define CLUTTER_kana_yo 0x4ae
+#define CLUTTER_kana_tsu 0x4af
+#define CLUTTER_kana_tu 0x4af
+#define CLUTTER_prolongedsound 0x4b0
+#define CLUTTER_kana_A 0x4b1
+#define CLUTTER_kana_I 0x4b2
+#define CLUTTER_kana_U 0x4b3
+#define CLUTTER_kana_E 0x4b4
+#define CLUTTER_kana_O 0x4b5
+#define CLUTTER_kana_KA 0x4b6
+#define CLUTTER_kana_KI 0x4b7
+#define CLUTTER_kana_KU 0x4b8
+#define CLUTTER_kana_KE 0x4b9
+#define CLUTTER_kana_KO 0x4ba
+#define CLUTTER_kana_SA 0x4bb
+#define CLUTTER_kana_SHI 0x4bc
+#define CLUTTER_kana_SU 0x4bd
+#define CLUTTER_kana_SE 0x4be
+#define CLUTTER_kana_SO 0x4bf
+#define CLUTTER_kana_TA 0x4c0
+#define CLUTTER_kana_CHI 0x4c1
+#define CLUTTER_kana_TI 0x4c1
+#define CLUTTER_kana_TSU 0x4c2
+#define CLUTTER_kana_TU 0x4c2
+#define CLUTTER_kana_TE 0x4c3
+#define CLUTTER_kana_TO 0x4c4
+#define CLUTTER_kana_NA 0x4c5
+#define CLUTTER_kana_NI 0x4c6
+#define CLUTTER_kana_NU 0x4c7
+#define CLUTTER_kana_NE 0x4c8
+#define CLUTTER_kana_NO 0x4c9
+#define CLUTTER_kana_HA 0x4ca
+#define CLUTTER_kana_HI 0x4cb
+#define CLUTTER_kana_FU 0x4cc
+#define CLUTTER_kana_HU 0x4cc
+#define CLUTTER_kana_HE 0x4cd
+#define CLUTTER_kana_HO 0x4ce
+#define CLUTTER_kana_MA 0x4cf
+#define CLUTTER_kana_MI 0x4d0
+#define CLUTTER_kana_MU 0x4d1
+#define CLUTTER_kana_ME 0x4d2
+#define CLUTTER_kana_MO 0x4d3
+#define CLUTTER_kana_YA 0x4d4
+#define CLUTTER_kana_YU 0x4d5
+#define CLUTTER_kana_YO 0x4d6
+#define CLUTTER_kana_RA 0x4d7
+#define CLUTTER_kana_RI 0x4d8
+#define CLUTTER_kana_RU 0x4d9
+#define CLUTTER_kana_RE 0x4da
+#define CLUTTER_kana_RO 0x4db
+#define CLUTTER_kana_WA 0x4dc
+#define CLUTTER_kana_N 0x4dd
+#define CLUTTER_voicedsound 0x4de
+#define CLUTTER_semivoicedsound 0x4df
+#define CLUTTER_kana_switch 0xff7e
+#define CLUTTER_Farsi_0 0x10006f0
+#define CLUTTER_Farsi_1 0x10006f1
+#define CLUTTER_Farsi_2 0x10006f2
+#define CLUTTER_Farsi_3 0x10006f3
+#define CLUTTER_Farsi_4 0x10006f4
+#define CLUTTER_Farsi_5 0x10006f5
+#define CLUTTER_Farsi_6 0x10006f6
+#define CLUTTER_Farsi_7 0x10006f7
+#define CLUTTER_Farsi_8 0x10006f8
+#define CLUTTER_Farsi_9 0x10006f9
+#define CLUTTER_Arabic_percent 0x100066a
+#define CLUTTER_Arabic_superscript_alef 0x1000670
+#define CLUTTER_Arabic_tteh 0x1000679
+#define CLUTTER_Arabic_peh 0x100067e
+#define CLUTTER_Arabic_tcheh 0x1000686
+#define CLUTTER_Arabic_ddal 0x1000688
+#define CLUTTER_Arabic_rreh 0x1000691
+#define CLUTTER_Arabic_comma 0x5ac
+#define CLUTTER_Arabic_fullstop 0x10006d4
+#define CLUTTER_Arabic_0 0x1000660
+#define CLUTTER_Arabic_1 0x1000661
+#define CLUTTER_Arabic_2 0x1000662
+#define CLUTTER_Arabic_3 0x1000663
+#define CLUTTER_Arabic_4 0x1000664
+#define CLUTTER_Arabic_5 0x1000665
+#define CLUTTER_Arabic_6 0x1000666
+#define CLUTTER_Arabic_7 0x1000667
+#define CLUTTER_Arabic_8 0x1000668
+#define CLUTTER_Arabic_9 0x1000669
+#define CLUTTER_Arabic_semicolon 0x5bb
+#define CLUTTER_Arabic_question_mark 0x5bf
+#define CLUTTER_Arabic_hamza 0x5c1
+#define CLUTTER_Arabic_maddaonalef 0x5c2
+#define CLUTTER_Arabic_hamzaonalef 0x5c3
+#define CLUTTER_Arabic_hamzaonwaw 0x5c4
+#define CLUTTER_Arabic_hamzaunderalef 0x5c5
+#define CLUTTER_Arabic_hamzaonyeh 0x5c6
+#define CLUTTER_Arabic_alef 0x5c7
+#define CLUTTER_Arabic_beh 0x5c8
+#define CLUTTER_Arabic_tehmarbuta 0x5c9
+#define CLUTTER_Arabic_teh 0x5ca
+#define CLUTTER_Arabic_theh 0x5cb
+#define CLUTTER_Arabic_jeem 0x5cc
+#define CLUTTER_Arabic_hah 0x5cd
+#define CLUTTER_Arabic_khah 0x5ce
+#define CLUTTER_Arabic_dal 0x5cf
+#define CLUTTER_Arabic_thal 0x5d0
+#define CLUTTER_Arabic_ra 0x5d1
+#define CLUTTER_Arabic_zain 0x5d2
+#define CLUTTER_Arabic_seen 0x5d3
+#define CLUTTER_Arabic_sheen 0x5d4
+#define CLUTTER_Arabic_sad 0x5d5
+#define CLUTTER_Arabic_dad 0x5d6
+#define CLUTTER_Arabic_tah 0x5d7
+#define CLUTTER_Arabic_zah 0x5d8
+#define CLUTTER_Arabic_ain 0x5d9
+#define CLUTTER_Arabic_ghain 0x5da
+#define CLUTTER_Arabic_tatweel 0x5e0
+#define CLUTTER_Arabic_feh 0x5e1
+#define CLUTTER_Arabic_qaf 0x5e2
+#define CLUTTER_Arabic_kaf 0x5e3
+#define CLUTTER_Arabic_lam 0x5e4
+#define CLUTTER_Arabic_meem 0x5e5
+#define CLUTTER_Arabic_noon 0x5e6
+#define CLUTTER_Arabic_ha 0x5e7
+#define CLUTTER_Arabic_heh 0x5e7
+#define CLUTTER_Arabic_waw 0x5e8
+#define CLUTTER_Arabic_alefmaksura 0x5e9
+#define CLUTTER_Arabic_yeh 0x5ea
+#define CLUTTER_Arabic_fathatan 0x5eb
+#define CLUTTER_Arabic_dammatan 0x5ec
+#define CLUTTER_Arabic_kasratan 0x5ed
+#define CLUTTER_Arabic_fatha 0x5ee
+#define CLUTTER_Arabic_damma 0x5ef
+#define CLUTTER_Arabic_kasra 0x5f0
+#define CLUTTER_Arabic_shadda 0x5f1
+#define CLUTTER_Arabic_sukun 0x5f2
+#define CLUTTER_Arabic_madda_above 0x1000653
+#define CLUTTER_Arabic_hamza_above 0x1000654
+#define CLUTTER_Arabic_hamza_below 0x1000655
+#define CLUTTER_Arabic_jeh 0x1000698
+#define CLUTTER_Arabic_veh 0x10006a4
+#define CLUTTER_Arabic_keheh 0x10006a9
+#define CLUTTER_Arabic_gaf 0x10006af
+#define CLUTTER_Arabic_noon_ghunna 0x10006ba
+#define CLUTTER_Arabic_heh_doachashmee 0x10006be
+#define CLUTTER_Farsi_yeh 0x10006cc
+#define CLUTTER_Arabic_farsi_yeh 0x10006cc
+#define CLUTTER_Arabic_yeh_baree 0x10006d2
+#define CLUTTER_Arabic_heh_goal 0x10006c1
+#define CLUTTER_Arabic_switch 0xff7e
+#define CLUTTER_Cyrillic_GHE_bar 0x1000492
+#define CLUTTER_Cyrillic_ghe_bar 0x1000493
+#define CLUTTER_Cyrillic_ZHE_descender 0x1000496
+#define CLUTTER_Cyrillic_zhe_descender 0x1000497
+#define CLUTTER_Cyrillic_KA_descender 0x100049a
+#define CLUTTER_Cyrillic_ka_descender 0x100049b
+#define CLUTTER_Cyrillic_KA_vertstroke 0x100049c
+#define CLUTTER_Cyrillic_ka_vertstroke 0x100049d
+#define CLUTTER_Cyrillic_EN_descender 0x10004a2
+#define CLUTTER_Cyrillic_en_descender 0x10004a3
+#define CLUTTER_Cyrillic_U_straight 0x10004ae
+#define CLUTTER_Cyrillic_u_straight 0x10004af
+#define CLUTTER_Cyrillic_U_straight_bar 0x10004b0
+#define CLUTTER_Cyrillic_u_straight_bar 0x10004b1
+#define CLUTTER_Cyrillic_HA_descender 0x10004b2
+#define CLUTTER_Cyrillic_ha_descender 0x10004b3
+#define CLUTTER_Cyrillic_CHE_descender 0x10004b6
+#define CLUTTER_Cyrillic_che_descender 0x10004b7
+#define CLUTTER_Cyrillic_CHE_vertstroke 0x10004b8
+#define CLUTTER_Cyrillic_che_vertstroke 0x10004b9
+#define CLUTTER_Cyrillic_SHHA 0x10004ba
+#define CLUTTER_Cyrillic_shha 0x10004bb
+#define CLUTTER_Cyrillic_SCHWA 0x10004d8
+#define CLUTTER_Cyrillic_schwa 0x10004d9
+#define CLUTTER_Cyrillic_I_macron 0x10004e2
+#define CLUTTER_Cyrillic_i_macron 0x10004e3
+#define CLUTTER_Cyrillic_O_bar 0x10004e8
+#define CLUTTER_Cyrillic_o_bar 0x10004e9
+#define CLUTTER_Cyrillic_U_macron 0x10004ee
+#define CLUTTER_Cyrillic_u_macron 0x10004ef
+#define CLUTTER_Serbian_dje 0x6a1
+#define CLUTTER_Macedonia_gje 0x6a2
+#define CLUTTER_Cyrillic_io 0x6a3
+#define CLUTTER_Ukrainian_ie 0x6a4
+#define CLUTTER_Ukranian_je 0x6a4
+#define CLUTTER_Macedonia_dse 0x6a5
+#define CLUTTER_Ukrainian_i 0x6a6
+#define CLUTTER_Ukranian_i 0x6a6
+#define CLUTTER_Ukrainian_yi 0x6a7
+#define CLUTTER_Ukranian_yi 0x6a7
+#define CLUTTER_Cyrillic_je 0x6a8
+#define CLUTTER_Serbian_je 0x6a8
+#define CLUTTER_Cyrillic_lje 0x6a9
+#define CLUTTER_Serbian_lje 0x6a9
+#define CLUTTER_Cyrillic_nje 0x6aa
+#define CLUTTER_Serbian_nje 0x6aa
+#define CLUTTER_Serbian_tshe 0x6ab
+#define CLUTTER_Macedonia_kje 0x6ac
+#define CLUTTER_Ukrainian_ghe_with_upturn 0x6ad
+#define CLUTTER_Byelorussian_shortu 0x6ae
+#define CLUTTER_Cyrillic_dzhe 0x6af
+#define CLUTTER_Serbian_dze 0x6af
+#define CLUTTER_numerosign 0x6b0
+#define CLUTTER_Serbian_DJE 0x6b1
+#define CLUTTER_Macedonia_GJE 0x6b2
+#define CLUTTER_Cyrillic_IO 0x6b3
+#define CLUTTER_Ukrainian_IE 0x6b4
+#define CLUTTER_Ukranian_JE 0x6b4
+#define CLUTTER_Macedonia_DSE 0x6b5
+#define CLUTTER_Ukrainian_I 0x6b6
+#define CLUTTER_Ukranian_I 0x6b6
+#define CLUTTER_Ukrainian_YI 0x6b7
+#define CLUTTER_Ukranian_YI 0x6b7
+#define CLUTTER_Cyrillic_JE 0x6b8
+#define CLUTTER_Serbian_JE 0x6b8
+#define CLUTTER_Cyrillic_LJE 0x6b9
+#define CLUTTER_Serbian_LJE 0x6b9
+#define CLUTTER_Cyrillic_NJE 0x6ba
+#define CLUTTER_Serbian_NJE 0x6ba
+#define CLUTTER_Serbian_TSHE 0x6bb
+#define CLUTTER_Macedonia_KJE 0x6bc
+#define CLUTTER_Ukrainian_GHE_WITH_UPTURN 0x6bd
+#define CLUTTER_Byelorussian_SHORTU 0x6be
+#define CLUTTER_Cyrillic_DZHE 0x6bf
+#define CLUTTER_Serbian_DZE 0x6bf
+#define CLUTTER_Cyrillic_yu 0x6c0
+#define CLUTTER_Cyrillic_a 0x6c1
+#define CLUTTER_Cyrillic_be 0x6c2
+#define CLUTTER_Cyrillic_tse 0x6c3
+#define CLUTTER_Cyrillic_de 0x6c4
+#define CLUTTER_Cyrillic_ie 0x6c5
+#define CLUTTER_Cyrillic_ef 0x6c6
+#define CLUTTER_Cyrillic_ghe 0x6c7
+#define CLUTTER_Cyrillic_ha 0x6c8
+#define CLUTTER_Cyrillic_i 0x6c9
+#define CLUTTER_Cyrillic_shorti 0x6ca
+#define CLUTTER_Cyrillic_ka 0x6cb
+#define CLUTTER_Cyrillic_el 0x6cc
+#define CLUTTER_Cyrillic_em 0x6cd
+#define CLUTTER_Cyrillic_en 0x6ce
+#define CLUTTER_Cyrillic_o 0x6cf
+#define CLUTTER_Cyrillic_pe 0x6d0
+#define CLUTTER_Cyrillic_ya 0x6d1
+#define CLUTTER_Cyrillic_er 0x6d2
+#define CLUTTER_Cyrillic_es 0x6d3
+#define CLUTTER_Cyrillic_te 0x6d4
+#define CLUTTER_Cyrillic_u 0x6d5
+#define CLUTTER_Cyrillic_zhe 0x6d6
+#define CLUTTER_Cyrillic_ve 0x6d7
+#define CLUTTER_Cyrillic_softsign 0x6d8
+#define CLUTTER_Cyrillic_yeru 0x6d9
+#define CLUTTER_Cyrillic_ze 0x6da
+#define CLUTTER_Cyrillic_sha 0x6db
+#define CLUTTER_Cyrillic_e 0x6dc
+#define CLUTTER_Cyrillic_shcha 0x6dd
+#define CLUTTER_Cyrillic_che 0x6de
+#define CLUTTER_Cyrillic_hardsign 0x6df
+#define CLUTTER_Cyrillic_YU 0x6e0
+#define CLUTTER_Cyrillic_A 0x6e1
+#define CLUTTER_Cyrillic_BE 0x6e2
+#define CLUTTER_Cyrillic_TSE 0x6e3
+#define CLUTTER_Cyrillic_DE 0x6e4
+#define CLUTTER_Cyrillic_IE 0x6e5
+#define CLUTTER_Cyrillic_EF 0x6e6
+#define CLUTTER_Cyrillic_GHE 0x6e7
+#define CLUTTER_Cyrillic_HA 0x6e8
+#define CLUTTER_Cyrillic_I 0x6e9
+#define CLUTTER_Cyrillic_SHORTI 0x6ea
+#define CLUTTER_Cyrillic_KA 0x6eb
+#define CLUTTER_Cyrillic_EL 0x6ec
+#define CLUTTER_Cyrillic_EM 0x6ed
+#define CLUTTER_Cyrillic_EN 0x6ee
+#define CLUTTER_Cyrillic_O 0x6ef
+#define CLUTTER_Cyrillic_PE 0x6f0
+#define CLUTTER_Cyrillic_YA 0x6f1
+#define CLUTTER_Cyrillic_ER 0x6f2
+#define CLUTTER_Cyrillic_ES 0x6f3
+#define CLUTTER_Cyrillic_TE 0x6f4
+#define CLUTTER_Cyrillic_U 0x6f5
+#define CLUTTER_Cyrillic_ZHE 0x6f6
+#define CLUTTER_Cyrillic_VE 0x6f7
+#define CLUTTER_Cyrillic_SOFTSIGN 0x6f8
+#define CLUTTER_Cyrillic_YERU 0x6f9
+#define CLUTTER_Cyrillic_ZE 0x6fa
+#define CLUTTER_Cyrillic_SHA 0x6fb
+#define CLUTTER_Cyrillic_E 0x6fc
+#define CLUTTER_Cyrillic_SHCHA 0x6fd
+#define CLUTTER_Cyrillic_CHE 0x6fe
+#define CLUTTER_Cyrillic_HARDSIGN 0x6ff
+#define CLUTTER_Greek_ALPHAaccent 0x7a1
+#define CLUTTER_Greek_EPSILONaccent 0x7a2
+#define CLUTTER_Greek_ETAaccent 0x7a3
+#define CLUTTER_Greek_IOTAaccent 0x7a4
+#define CLUTTER_Greek_IOTAdieresis 0x7a5
+#define CLUTTER_Greek_IOTAdiaeresis 0x7a5
+#define CLUTTER_Greek_OMICRONaccent 0x7a7
+#define CLUTTER_Greek_UPSILONaccent 0x7a8
+#define CLUTTER_Greek_UPSILONdieresis 0x7a9
+#define CLUTTER_Greek_OMEGAaccent 0x7ab
+#define CLUTTER_Greek_accentdieresis 0x7ae
+#define CLUTTER_Greek_horizbar 0x7af
+#define CLUTTER_Greek_alphaaccent 0x7b1
+#define CLUTTER_Greek_epsilonaccent 0x7b2
+#define CLUTTER_Greek_etaaccent 0x7b3
+#define CLUTTER_Greek_iotaaccent 0x7b4
+#define CLUTTER_Greek_iotadieresis 0x7b5
+#define CLUTTER_Greek_iotaaccentdieresis 0x7b6
+#define CLUTTER_Greek_omicronaccent 0x7b7
+#define CLUTTER_Greek_upsilonaccent 0x7b8
+#define CLUTTER_Greek_upsilondieresis 0x7b9
+#define CLUTTER_Greek_upsilonaccentdieresis 0x7ba
+#define CLUTTER_Greek_omegaaccent 0x7bb
+#define CLUTTER_Greek_ALPHA 0x7c1
+#define CLUTTER_Greek_BETA 0x7c2
+#define CLUTTER_Greek_GAMMA 0x7c3
+#define CLUTTER_Greek_DELTA 0x7c4
+#define CLUTTER_Greek_EPSILON 0x7c5
+#define CLUTTER_Greek_ZETA 0x7c6
+#define CLUTTER_Greek_ETA 0x7c7
+#define CLUTTER_Greek_THETA 0x7c8
+#define CLUTTER_Greek_IOTA 0x7c9
+#define CLUTTER_Greek_KAPPA 0x7ca
+#define CLUTTER_Greek_LAMDA 0x7cb
+#define CLUTTER_Greek_LAMBDA 0x7cb
+#define CLUTTER_Greek_MU 0x7cc
+#define CLUTTER_Greek_NU 0x7cd
+#define CLUTTER_Greek_XI 0x7ce
+#define CLUTTER_Greek_OMICRON 0x7cf
+#define CLUTTER_Greek_PI 0x7d0
+#define CLUTTER_Greek_RHO 0x7d1
+#define CLUTTER_Greek_SIGMA 0x7d2
+#define CLUTTER_Greek_TAU 0x7d4
+#define CLUTTER_Greek_UPSILON 0x7d5
+#define CLUTTER_Greek_PHI 0x7d6
+#define CLUTTER_Greek_CHI 0x7d7
+#define CLUTTER_Greek_PSI 0x7d8
+#define CLUTTER_Greek_OMEGA 0x7d9
+#define CLUTTER_Greek_alpha 0x7e1
+#define CLUTTER_Greek_beta 0x7e2
+#define CLUTTER_Greek_gamma 0x7e3
+#define CLUTTER_Greek_delta 0x7e4
+#define CLUTTER_Greek_epsilon 0x7e5
+#define CLUTTER_Greek_zeta 0x7e6
+#define CLUTTER_Greek_eta 0x7e7
+#define CLUTTER_Greek_theta 0x7e8
+#define CLUTTER_Greek_iota 0x7e9
+#define CLUTTER_Greek_kappa 0x7ea
+#define CLUTTER_Greek_lamda 0x7eb
+#define CLUTTER_Greek_lambda 0x7eb
+#define CLUTTER_Greek_mu 0x7ec
+#define CLUTTER_Greek_nu 0x7ed
+#define CLUTTER_Greek_xi 0x7ee
+#define CLUTTER_Greek_omicron 0x7ef
+#define CLUTTER_Greek_pi 0x7f0
+#define CLUTTER_Greek_rho 0x7f1
+#define CLUTTER_Greek_sigma 0x7f2
+#define CLUTTER_Greek_finalsmallsigma 0x7f3
+#define CLUTTER_Greek_tau 0x7f4
+#define CLUTTER_Greek_upsilon 0x7f5
+#define CLUTTER_Greek_phi 0x7f6
+#define CLUTTER_Greek_chi 0x7f7
+#define CLUTTER_Greek_psi 0x7f8
+#define CLUTTER_Greek_omega 0x7f9
+#define CLUTTER_Greek_switch 0xff7e
+#define CLUTTER_leftradical 0x8a1
+#define CLUTTER_topleftradical 0x8a2
+#define CLUTTER_horizconnector 0x8a3
+#define CLUTTER_topintegral 0x8a4
+#define CLUTTER_botintegral 0x8a5
+#define CLUTTER_vertconnector 0x8a6
+#define CLUTTER_topleftsqbracket 0x8a7
+#define CLUTTER_botleftsqbracket 0x8a8
+#define CLUTTER_toprightsqbracket 0x8a9
+#define CLUTTER_botrightsqbracket 0x8aa
+#define CLUTTER_topleftparens 0x8ab
+#define CLUTTER_botleftparens 0x8ac
+#define CLUTTER_toprightparens 0x8ad
+#define CLUTTER_botrightparens 0x8ae
+#define CLUTTER_leftmiddlecurlybrace 0x8af
+#define CLUTTER_rightmiddlecurlybrace 0x8b0
+#define CLUTTER_topleftsummation 0x8b1
+#define CLUTTER_botleftsummation 0x8b2
+#define CLUTTER_topvertsummationconnector 0x8b3
+#define CLUTTER_botvertsummationconnector 0x8b4
+#define CLUTTER_toprightsummation 0x8b5
+#define CLUTTER_botrightsummation 0x8b6
+#define CLUTTER_rightmiddlesummation 0x8b7
+#define CLUTTER_lessthanequal 0x8bc
+#define CLUTTER_notequal 0x8bd
+#define CLUTTER_greaterthanequal 0x8be
+#define CLUTTER_integral 0x8bf
+#define CLUTTER_therefore 0x8c0
+#define CLUTTER_variation 0x8c1
+#define CLUTTER_infinity 0x8c2
+#define CLUTTER_nabla 0x8c5
+#define CLUTTER_approximate 0x8c8
+#define CLUTTER_similarequal 0x8c9
+#define CLUTTER_ifonlyif 0x8cd
+#define CLUTTER_implies 0x8ce
+#define CLUTTER_identical 0x8cf
+#define CLUTTER_radical 0x8d6
+#define CLUTTER_includedin 0x8da
+#define CLUTTER_includes 0x8db
+#define CLUTTER_intersection 0x8dc
+#define CLUTTER_union 0x8dd
+#define CLUTTER_logicaland 0x8de
+#define CLUTTER_logicalor 0x8df
+#define CLUTTER_partialderivative 0x8ef
+#define CLUTTER_function 0x8f6
+#define CLUTTER_leftarrow 0x8fb
+#define CLUTTER_uparrow 0x8fc
+#define CLUTTER_rightarrow 0x8fd
+#define CLUTTER_downarrow 0x8fe
+#define CLUTTER_blank 0x9df
+#define CLUTTER_soliddiamond 0x9e0
+#define CLUTTER_checkerboard 0x9e1
+#define CLUTTER_ht 0x9e2
+#define CLUTTER_ff 0x9e3
+#define CLUTTER_cr 0x9e4
+#define CLUTTER_lf 0x9e5
+#define CLUTTER_nl 0x9e8
+#define CLUTTER_vt 0x9e9
+#define CLUTTER_lowrightcorner 0x9ea
+#define CLUTTER_uprightcorner 0x9eb
+#define CLUTTER_upleftcorner 0x9ec
+#define CLUTTER_lowleftcorner 0x9ed
+#define CLUTTER_crossinglines 0x9ee
+#define CLUTTER_horizlinescan1 0x9ef
+#define CLUTTER_horizlinescan3 0x9f0
+#define CLUTTER_horizlinescan5 0x9f1
+#define CLUTTER_horizlinescan7 0x9f2
+#define CLUTTER_horizlinescan9 0x9f3
+#define CLUTTER_leftt 0x9f4
+#define CLUTTER_rightt 0x9f5
+#define CLUTTER_bott 0x9f6
+#define CLUTTER_topt 0x9f7
+#define CLUTTER_vertbar 0x9f8
+#define CLUTTER_emspace 0xaa1
+#define CLUTTER_enspace 0xaa2
+#define CLUTTER_em3space 0xaa3
+#define CLUTTER_em4space 0xaa4
+#define CLUTTER_digitspace 0xaa5
+#define CLUTTER_punctspace 0xaa6
+#define CLUTTER_thinspace 0xaa7
+#define CLUTTER_hairspace 0xaa8
+#define CLUTTER_emdash 0xaa9
+#define CLUTTER_endash 0xaaa
+#define CLUTTER_signifblank 0xaac
+#define CLUTTER_ellipsis 0xaae
+#define CLUTTER_doubbaselinedot 0xaaf
+#define CLUTTER_onethird 0xab0
+#define CLUTTER_twothirds 0xab1
+#define CLUTTER_onefifth 0xab2
+#define CLUTTER_twofifths 0xab3
+#define CLUTTER_threefifths 0xab4
+#define CLUTTER_fourfifths 0xab5
+#define CLUTTER_onesixth 0xab6
+#define CLUTTER_fivesixths 0xab7
+#define CLUTTER_careof 0xab8
+#define CLUTTER_figdash 0xabb
+#define CLUTTER_leftanglebracket 0xabc
+#define CLUTTER_decimalpoint 0xabd
+#define CLUTTER_rightanglebracket 0xabe
+#define CLUTTER_marker 0xabf
+#define CLUTTER_oneeighth 0xac3
+#define CLUTTER_threeeighths 0xac4
+#define CLUTTER_fiveeighths 0xac5
+#define CLUTTER_seveneighths 0xac6
+#define CLUTTER_trademark 0xac9
+#define CLUTTER_signaturemark 0xaca
+#define CLUTTER_trademarkincircle 0xacb
+#define CLUTTER_leftopentriangle 0xacc
+#define CLUTTER_rightopentriangle 0xacd
+#define CLUTTER_emopencircle 0xace
+#define CLUTTER_emopenrectangle 0xacf
+#define CLUTTER_leftsinglequotemark 0xad0
+#define CLUTTER_rightsinglequotemark 0xad1
+#define CLUTTER_leftdoublequotemark 0xad2
+#define CLUTTER_rightdoublequotemark 0xad3
+#define CLUTTER_prescription 0xad4
+#define CLUTTER_permille 0xad5
+#define CLUTTER_minutes 0xad6
+#define CLUTTER_seconds 0xad7
+#define CLUTTER_latincross 0xad9
+#define CLUTTER_hexagram 0xada
+#define CLUTTER_filledrectbullet 0xadb
+#define CLUTTER_filledlefttribullet 0xadc
+#define CLUTTER_filledrighttribullet 0xadd
+#define CLUTTER_emfilledcircle 0xade
+#define CLUTTER_emfilledrect 0xadf
+#define CLUTTER_enopencircbullet 0xae0
+#define CLUTTER_enopensquarebullet 0xae1
+#define CLUTTER_openrectbullet 0xae2
+#define CLUTTER_opentribulletup 0xae3
+#define CLUTTER_opentribulletdown 0xae4
+#define CLUTTER_openstar 0xae5
+#define CLUTTER_enfilledcircbullet 0xae6
+#define CLUTTER_enfilledsqbullet 0xae7
+#define CLUTTER_filledtribulletup 0xae8
+#define CLUTTER_filledtribulletdown 0xae9
+#define CLUTTER_leftpointer 0xaea
+#define CLUTTER_rightpointer 0xaeb
+#define CLUTTER_club 0xaec
+#define CLUTTER_diamond 0xaed
+#define CLUTTER_heart 0xaee
+#define CLUTTER_maltesecross 0xaf0
+#define CLUTTER_dagger 0xaf1
+#define CLUTTER_doubledagger 0xaf2
+#define CLUTTER_checkmark 0xaf3
+#define CLUTTER_ballotcross 0xaf4
+#define CLUTTER_musicalsharp 0xaf5
+#define CLUTTER_musicalflat 0xaf6
+#define CLUTTER_malesymbol 0xaf7
+#define CLUTTER_femalesymbol 0xaf8
+#define CLUTTER_telephone 0xaf9
+#define CLUTTER_telephonerecorder 0xafa
+#define CLUTTER_phonographcopyright 0xafb
+#define CLUTTER_caret 0xafc
+#define CLUTTER_singlelowquotemark 0xafd
+#define CLUTTER_doublelowquotemark 0xafe
+#define CLUTTER_cursor 0xaff
+#define CLUTTER_leftcaret 0xba3
+#define CLUTTER_rightcaret 0xba6
+#define CLUTTER_downcaret 0xba8
+#define CLUTTER_upcaret 0xba9
+#define CLUTTER_overbar 0xbc0
+#define CLUTTER_downtack 0xbc2
+#define CLUTTER_upshoe 0xbc3
+#define CLUTTER_downstile 0xbc4
+#define CLUTTER_underbar 0xbc6
+#define CLUTTER_jot 0xbca
+#define CLUTTER_quad 0xbcc
+#define CLUTTER_uptack 0xbce
+#define CLUTTER_circle 0xbcf
+#define CLUTTER_upstile 0xbd3
+#define CLUTTER_downshoe 0xbd6
+#define CLUTTER_rightshoe 0xbd8
+#define CLUTTER_leftshoe 0xbda
+#define CLUTTER_lefttack 0xbdc
+#define CLUTTER_righttack 0xbfc
+#define CLUTTER_hebrew_doublelowline 0xcdf
+#define CLUTTER_hebrew_aleph 0xce0
+#define CLUTTER_hebrew_bet 0xce1
+#define CLUTTER_hebrew_beth 0xce1
+#define CLUTTER_hebrew_gimel 0xce2
+#define CLUTTER_hebrew_gimmel 0xce2
+#define CLUTTER_hebrew_dalet 0xce3
+#define CLUTTER_hebrew_daleth 0xce3
+#define CLUTTER_hebrew_he 0xce4
+#define CLUTTER_hebrew_waw 0xce5
+#define CLUTTER_hebrew_zain 0xce6
+#define CLUTTER_hebrew_zayin 0xce6
+#define CLUTTER_hebrew_chet 0xce7
+#define CLUTTER_hebrew_het 0xce7
+#define CLUTTER_hebrew_tet 0xce8
+#define CLUTTER_hebrew_teth 0xce8
+#define CLUTTER_hebrew_yod 0xce9
+#define CLUTTER_hebrew_finalkaph 0xcea
+#define CLUTTER_hebrew_kaph 0xceb
+#define CLUTTER_hebrew_lamed 0xcec
+#define CLUTTER_hebrew_finalmem 0xced
+#define CLUTTER_hebrew_mem 0xcee
+#define CLUTTER_hebrew_finalnun 0xcef
+#define CLUTTER_hebrew_nun 0xcf0
+#define CLUTTER_hebrew_samech 0xcf1
+#define CLUTTER_hebrew_samekh 0xcf1
+#define CLUTTER_hebrew_ayin 0xcf2
+#define CLUTTER_hebrew_finalpe 0xcf3
+#define CLUTTER_hebrew_pe 0xcf4
+#define CLUTTER_hebrew_finalzade 0xcf5
+#define CLUTTER_hebrew_finalzadi 0xcf5
+#define CLUTTER_hebrew_zade 0xcf6
+#define CLUTTER_hebrew_zadi 0xcf6
+#define CLUTTER_hebrew_qoph 0xcf7
+#define CLUTTER_hebrew_kuf 0xcf7
+#define CLUTTER_hebrew_resh 0xcf8
+#define CLUTTER_hebrew_shin 0xcf9
+#define CLUTTER_hebrew_taw 0xcfa
+#define CLUTTER_hebrew_taf 0xcfa
+#define CLUTTER_Hebrew_switch 0xff7e
+#define CLUTTER_Thai_kokai 0xda1
+#define CLUTTER_Thai_khokhai 0xda2
+#define CLUTTER_Thai_khokhuat 0xda3
+#define CLUTTER_Thai_khokhwai 0xda4
+#define CLUTTER_Thai_khokhon 0xda5
+#define CLUTTER_Thai_khorakhang 0xda6
+#define CLUTTER_Thai_ngongu 0xda7
+#define CLUTTER_Thai_chochan 0xda8
+#define CLUTTER_Thai_choching 0xda9
+#define CLUTTER_Thai_chochang 0xdaa
+#define CLUTTER_Thai_soso 0xdab
+#define CLUTTER_Thai_chochoe 0xdac
+#define CLUTTER_Thai_yoying 0xdad
+#define CLUTTER_Thai_dochada 0xdae
+#define CLUTTER_Thai_topatak 0xdaf
+#define CLUTTER_Thai_thothan 0xdb0
+#define CLUTTER_Thai_thonangmontho 0xdb1
+#define CLUTTER_Thai_thophuthao 0xdb2
+#define CLUTTER_Thai_nonen 0xdb3
+#define CLUTTER_Thai_dodek 0xdb4
+#define CLUTTER_Thai_totao 0xdb5
+#define CLUTTER_Thai_thothung 0xdb6
+#define CLUTTER_Thai_thothahan 0xdb7
+#define CLUTTER_Thai_thothong 0xdb8
+#define CLUTTER_Thai_nonu 0xdb9
+#define CLUTTER_Thai_bobaimai 0xdba
+#define CLUTTER_Thai_popla 0xdbb
+#define CLUTTER_Thai_phophung 0xdbc
+#define CLUTTER_Thai_fofa 0xdbd
+#define CLUTTER_Thai_phophan 0xdbe
+#define CLUTTER_Thai_fofan 0xdbf
+#define CLUTTER_Thai_phosamphao 0xdc0
+#define CLUTTER_Thai_moma 0xdc1
+#define CLUTTER_Thai_yoyak 0xdc2
+#define CLUTTER_Thai_rorua 0xdc3
+#define CLUTTER_Thai_ru 0xdc4
+#define CLUTTER_Thai_loling 0xdc5
+#define CLUTTER_Thai_lu 0xdc6
+#define CLUTTER_Thai_wowaen 0xdc7
+#define CLUTTER_Thai_sosala 0xdc8
+#define CLUTTER_Thai_sorusi 0xdc9
+#define CLUTTER_Thai_sosua 0xdca
+#define CLUTTER_Thai_hohip 0xdcb
+#define CLUTTER_Thai_lochula 0xdcc
+#define CLUTTER_Thai_oang 0xdcd
+#define CLUTTER_Thai_honokhuk 0xdce
+#define CLUTTER_Thai_paiyannoi 0xdcf
+#define CLUTTER_Thai_saraa 0xdd0
+#define CLUTTER_Thai_maihanakat 0xdd1
+#define CLUTTER_Thai_saraaa 0xdd2
+#define CLUTTER_Thai_saraam 0xdd3
+#define CLUTTER_Thai_sarai 0xdd4
+#define CLUTTER_Thai_saraii 0xdd5
+#define CLUTTER_Thai_saraue 0xdd6
+#define CLUTTER_Thai_sarauee 0xdd7
+#define CLUTTER_Thai_sarau 0xdd8
+#define CLUTTER_Thai_sarauu 0xdd9
+#define CLUTTER_Thai_phinthu 0xdda
+#define CLUTTER_Thai_maihanakat_maitho 0xdde
+#define CLUTTER_Thai_baht 0xddf
+#define CLUTTER_Thai_sarae 0xde0
+#define CLUTTER_Thai_saraae 0xde1
+#define CLUTTER_Thai_sarao 0xde2
+#define CLUTTER_Thai_saraaimaimuan 0xde3
+#define CLUTTER_Thai_saraaimaimalai 0xde4
+#define CLUTTER_Thai_lakkhangyao 0xde5
+#define CLUTTER_Thai_maiyamok 0xde6
+#define CLUTTER_Thai_maitaikhu 0xde7
+#define CLUTTER_Thai_maiek 0xde8
+#define CLUTTER_Thai_maitho 0xde9
+#define CLUTTER_Thai_maitri 0xdea
+#define CLUTTER_Thai_maichattawa 0xdeb
+#define CLUTTER_Thai_thanthakhat 0xdec
+#define CLUTTER_Thai_nikhahit 0xded
+#define CLUTTER_Thai_leksun 0xdf0
+#define CLUTTER_Thai_leknung 0xdf1
+#define CLUTTER_Thai_leksong 0xdf2
+#define CLUTTER_Thai_leksam 0xdf3
+#define CLUTTER_Thai_leksi 0xdf4
+#define CLUTTER_Thai_lekha 0xdf5
+#define CLUTTER_Thai_lekhok 0xdf6
+#define CLUTTER_Thai_lekchet 0xdf7
+#define CLUTTER_Thai_lekpaet 0xdf8
+#define CLUTTER_Thai_lekkao 0xdf9
+#define CLUTTER_Hangul 0xff31
+#define CLUTTER_Hangul_Start 0xff32
+#define CLUTTER_Hangul_End 0xff33
+#define CLUTTER_Hangul_Hanja 0xff34
+#define CLUTTER_Hangul_Jamo 0xff35
+#define CLUTTER_Hangul_Romaja 0xff36
+#define CLUTTER_Hangul_Codeinput 0xff37
+#define CLUTTER_Hangul_Jeonja 0xff38
+#define CLUTTER_Hangul_Banja 0xff39
+#define CLUTTER_Hangul_PreHanja 0xff3a
+#define CLUTTER_Hangul_PostHanja 0xff3b
+#define CLUTTER_Hangul_SingleCandidate 0xff3c
+#define CLUTTER_Hangul_MultipleCandidate 0xff3d
+#define CLUTTER_Hangul_PreviousCandidate 0xff3e
+#define CLUTTER_Hangul_Special 0xff3f
+#define CLUTTER_Hangul_switch 0xff7e
+#define CLUTTER_Hangul_Kiyeog 0xea1
+#define CLUTTER_Hangul_SsangKiyeog 0xea2
+#define CLUTTER_Hangul_KiyeogSios 0xea3
+#define CLUTTER_Hangul_Nieun 0xea4
+#define CLUTTER_Hangul_NieunJieuj 0xea5
+#define CLUTTER_Hangul_NieunHieuh 0xea6
+#define CLUTTER_Hangul_Dikeud 0xea7
+#define CLUTTER_Hangul_SsangDikeud 0xea8
+#define CLUTTER_Hangul_Rieul 0xea9
+#define CLUTTER_Hangul_RieulKiyeog 0xeaa
+#define CLUTTER_Hangul_RieulMieum 0xeab
+#define CLUTTER_Hangul_RieulPieub 0xeac
+#define CLUTTER_Hangul_RieulSios 0xead
+#define CLUTTER_Hangul_RieulTieut 0xeae
+#define CLUTTER_Hangul_RieulPhieuf 0xeaf
+#define CLUTTER_Hangul_RieulHieuh 0xeb0
+#define CLUTTER_Hangul_Mieum 0xeb1
+#define CLUTTER_Hangul_Pieub 0xeb2
+#define CLUTTER_Hangul_SsangPieub 0xeb3
+#define CLUTTER_Hangul_PieubSios 0xeb4
+#define CLUTTER_Hangul_Sios 0xeb5
+#define CLUTTER_Hangul_SsangSios 0xeb6
+#define CLUTTER_Hangul_Ieung 0xeb7
+#define CLUTTER_Hangul_Jieuj 0xeb8
+#define CLUTTER_Hangul_SsangJieuj 0xeb9
+#define CLUTTER_Hangul_Cieuc 0xeba
+#define CLUTTER_Hangul_Khieuq 0xebb
+#define CLUTTER_Hangul_Tieut 0xebc
+#define CLUTTER_Hangul_Phieuf 0xebd
+#define CLUTTER_Hangul_Hieuh 0xebe
+#define CLUTTER_Hangul_A 0xebf
+#define CLUTTER_Hangul_AE 0xec0
+#define CLUTTER_Hangul_YA 0xec1
+#define CLUTTER_Hangul_YAE 0xec2
+#define CLUTTER_Hangul_EO 0xec3
+#define CLUTTER_Hangul_E 0xec4
+#define CLUTTER_Hangul_YEO 0xec5
+#define CLUTTER_Hangul_YE 0xec6
+#define CLUTTER_Hangul_O 0xec7
+#define CLUTTER_Hangul_WA 0xec8
+#define CLUTTER_Hangul_WAE 0xec9
+#define CLUTTER_Hangul_OE 0xeca
+#define CLUTTER_Hangul_YO 0xecb
+#define CLUTTER_Hangul_U 0xecc
+#define CLUTTER_Hangul_WEO 0xecd
+#define CLUTTER_Hangul_WE 0xece
+#define CLUTTER_Hangul_WI 0xecf
+#define CLUTTER_Hangul_YU 0xed0
+#define CLUTTER_Hangul_EU 0xed1
+#define CLUTTER_Hangul_YI 0xed2
+#define CLUTTER_Hangul_I 0xed3
+#define CLUTTER_Hangul_J_Kiyeog 0xed4
+#define CLUTTER_Hangul_J_SsangKiyeog 0xed5
+#define CLUTTER_Hangul_J_KiyeogSios 0xed6
+#define CLUTTER_Hangul_J_Nieun 0xed7
+#define CLUTTER_Hangul_J_NieunJieuj 0xed8
+#define CLUTTER_Hangul_J_NieunHieuh 0xed9
+#define CLUTTER_Hangul_J_Dikeud 0xeda
+#define CLUTTER_Hangul_J_Rieul 0xedb
+#define CLUTTER_Hangul_J_RieulKiyeog 0xedc
+#define CLUTTER_Hangul_J_RieulMieum 0xedd
+#define CLUTTER_Hangul_J_RieulPieub 0xede
+#define CLUTTER_Hangul_J_RieulSios 0xedf
+#define CLUTTER_Hangul_J_RieulTieut 0xee0
+#define CLUTTER_Hangul_J_RieulPhieuf 0xee1
+#define CLUTTER_Hangul_J_RieulHieuh 0xee2
+#define CLUTTER_Hangul_J_Mieum 0xee3
+#define CLUTTER_Hangul_J_Pieub 0xee4
+#define CLUTTER_Hangul_J_PieubSios 0xee5
+#define CLUTTER_Hangul_J_Sios 0xee6
+#define CLUTTER_Hangul_J_SsangSios 0xee7
+#define CLUTTER_Hangul_J_Ieung 0xee8
+#define CLUTTER_Hangul_J_Jieuj 0xee9
+#define CLUTTER_Hangul_J_Cieuc 0xeea
+#define CLUTTER_Hangul_J_Khieuq 0xeeb
+#define CLUTTER_Hangul_J_Tieut 0xeec
+#define CLUTTER_Hangul_J_Phieuf 0xeed
+#define CLUTTER_Hangul_J_Hieuh 0xeee
+#define CLUTTER_Hangul_RieulYeorinHieuh 0xeef
+#define CLUTTER_Hangul_SunkyeongeumMieum 0xef0
+#define CLUTTER_Hangul_SunkyeongeumPieub 0xef1
+#define CLUTTER_Hangul_PanSios 0xef2
+#define CLUTTER_Hangul_KkogjiDalrinIeung 0xef3
+#define CLUTTER_Hangul_SunkyeongeumPhieuf 0xef4
+#define CLUTTER_Hangul_YeorinHieuh 0xef5
+#define CLUTTER_Hangul_AraeA 0xef6
+#define CLUTTER_Hangul_AraeAE 0xef7
+#define CLUTTER_Hangul_J_PanSios 0xef8
+#define CLUTTER_Hangul_J_KkogjiDalrinIeung 0xef9
+#define CLUTTER_Hangul_J_YeorinHieuh 0xefa
+#define CLUTTER_Korean_Won 0xeff
+#define CLUTTER_Armenian_ligature_ew 0x1000587
+#define CLUTTER_Armenian_full_stop 0x1000589
+#define CLUTTER_Armenian_verjaket 0x1000589
+#define CLUTTER_Armenian_separation_mark 0x100055d
+#define CLUTTER_Armenian_but 0x100055d
+#define CLUTTER_Armenian_hyphen 0x100058a
+#define CLUTTER_Armenian_yentamna 0x100058a
+#define CLUTTER_Armenian_exclam 0x100055c
+#define CLUTTER_Armenian_amanak 0x100055c
+#define CLUTTER_Armenian_accent 0x100055b
+#define CLUTTER_Armenian_shesht 0x100055b
+#define CLUTTER_Armenian_question 0x100055e
+#define CLUTTER_Armenian_paruyk 0x100055e
+#define CLUTTER_Armenian_AYB 0x1000531
+#define CLUTTER_Armenian_ayb 0x1000561
+#define CLUTTER_Armenian_BEN 0x1000532
+#define CLUTTER_Armenian_ben 0x1000562
+#define CLUTTER_Armenian_GIM 0x1000533
+#define CLUTTER_Armenian_gim 0x1000563
+#define CLUTTER_Armenian_DA 0x1000534
+#define CLUTTER_Armenian_da 0x1000564
+#define CLUTTER_Armenian_YECH 0x1000535
+#define CLUTTER_Armenian_yech 0x1000565
+#define CLUTTER_Armenian_ZA 0x1000536
+#define CLUTTER_Armenian_za 0x1000566
+#define CLUTTER_Armenian_E 0x1000537
+#define CLUTTER_Armenian_e 0x1000567
+#define CLUTTER_Armenian_AT 0x1000538
+#define CLUTTER_Armenian_at 0x1000568
+#define CLUTTER_Armenian_TO 0x1000539
+#define CLUTTER_Armenian_to 0x1000569
+#define CLUTTER_Armenian_ZHE 0x100053a
+#define CLUTTER_Armenian_zhe 0x100056a
+#define CLUTTER_Armenian_INI 0x100053b
+#define CLUTTER_Armenian_ini 0x100056b
+#define CLUTTER_Armenian_LYUN 0x100053c
+#define CLUTTER_Armenian_lyun 0x100056c
+#define CLUTTER_Armenian_KHE 0x100053d
+#define CLUTTER_Armenian_khe 0x100056d
+#define CLUTTER_Armenian_TSA 0x100053e
+#define CLUTTER_Armenian_tsa 0x100056e
+#define CLUTTER_Armenian_KEN 0x100053f
+#define CLUTTER_Armenian_ken 0x100056f
+#define CLUTTER_Armenian_HO 0x1000540
+#define CLUTTER_Armenian_ho 0x1000570
+#define CLUTTER_Armenian_DZA 0x1000541
+#define CLUTTER_Armenian_dza 0x1000571
+#define CLUTTER_Armenian_GHAT 0x1000542
+#define CLUTTER_Armenian_ghat 0x1000572
+#define CLUTTER_Armenian_TCHE 0x1000543
+#define CLUTTER_Armenian_tche 0x1000573
+#define CLUTTER_Armenian_MEN 0x1000544
+#define CLUTTER_Armenian_men 0x1000574
+#define CLUTTER_Armenian_HI 0x1000545
+#define CLUTTER_Armenian_hi 0x1000575
+#define CLUTTER_Armenian_NU 0x1000546
+#define CLUTTER_Armenian_nu 0x1000576
+#define CLUTTER_Armenian_SHA 0x1000547
+#define CLUTTER_Armenian_sha 0x1000577
+#define CLUTTER_Armenian_VO 0x1000548
+#define CLUTTER_Armenian_vo 0x1000578
+#define CLUTTER_Armenian_CHA 0x1000549
+#define CLUTTER_Armenian_cha 0x1000579
+#define CLUTTER_Armenian_PE 0x100054a
+#define CLUTTER_Armenian_pe 0x100057a
+#define CLUTTER_Armenian_JE 0x100054b
+#define CLUTTER_Armenian_je 0x100057b
+#define CLUTTER_Armenian_RA 0x100054c
+#define CLUTTER_Armenian_ra 0x100057c
+#define CLUTTER_Armenian_SE 0x100054d
+#define CLUTTER_Armenian_se 0x100057d
+#define CLUTTER_Armenian_VEV 0x100054e
+#define CLUTTER_Armenian_vev 0x100057e
+#define CLUTTER_Armenian_TYUN 0x100054f
+#define CLUTTER_Armenian_tyun 0x100057f
+#define CLUTTER_Armenian_RE 0x1000550
+#define CLUTTER_Armenian_re 0x1000580
+#define CLUTTER_Armenian_TSO 0x1000551
+#define CLUTTER_Armenian_tso 0x1000581
+#define CLUTTER_Armenian_VYUN 0x1000552
+#define CLUTTER_Armenian_vyun 0x1000582
+#define CLUTTER_Armenian_PYUR 0x1000553
+#define CLUTTER_Armenian_pyur 0x1000583
+#define CLUTTER_Armenian_KE 0x1000554
+#define CLUTTER_Armenian_ke 0x1000584
+#define CLUTTER_Armenian_O 0x1000555
+#define CLUTTER_Armenian_o 0x1000585
+#define CLUTTER_Armenian_FE 0x1000556
+#define CLUTTER_Armenian_fe 0x1000586
+#define CLUTTER_Armenian_apostrophe 0x100055a
+#define CLUTTER_Georgian_an 0x10010d0
+#define CLUTTER_Georgian_ban 0x10010d1
+#define CLUTTER_Georgian_gan 0x10010d2
+#define CLUTTER_Georgian_don 0x10010d3
+#define CLUTTER_Georgian_en 0x10010d4
+#define CLUTTER_Georgian_vin 0x10010d5
+#define CLUTTER_Georgian_zen 0x10010d6
+#define CLUTTER_Georgian_tan 0x10010d7
+#define CLUTTER_Georgian_in 0x10010d8
+#define CLUTTER_Georgian_kan 0x10010d9
+#define CLUTTER_Georgian_las 0x10010da
+#define CLUTTER_Georgian_man 0x10010db
+#define CLUTTER_Georgian_nar 0x10010dc
+#define CLUTTER_Georgian_on 0x10010dd
+#define CLUTTER_Georgian_par 0x10010de
+#define CLUTTER_Georgian_zhar 0x10010df
+#define CLUTTER_Georgian_rae 0x10010e0
+#define CLUTTER_Georgian_san 0x10010e1
+#define CLUTTER_Georgian_tar 0x10010e2
+#define CLUTTER_Georgian_un 0x10010e3
+#define CLUTTER_Georgian_phar 0x10010e4
+#define CLUTTER_Georgian_khar 0x10010e5
+#define CLUTTER_Georgian_ghan 0x10010e6
+#define CLUTTER_Georgian_qar 0x10010e7
+#define CLUTTER_Georgian_shin 0x10010e8
+#define CLUTTER_Georgian_chin 0x10010e9
+#define CLUTTER_Georgian_can 0x10010ea
+#define CLUTTER_Georgian_jil 0x10010eb
+#define CLUTTER_Georgian_cil 0x10010ec
+#define CLUTTER_Georgian_char 0x10010ed
+#define CLUTTER_Georgian_xan 0x10010ee
+#define CLUTTER_Georgian_jhan 0x10010ef
+#define CLUTTER_Georgian_hae 0x10010f0
+#define CLUTTER_Georgian_he 0x10010f1
+#define CLUTTER_Georgian_hie 0x10010f2
+#define CLUTTER_Georgian_we 0x10010f3
+#define CLUTTER_Georgian_har 0x10010f4
+#define CLUTTER_Georgian_hoe 0x10010f5
+#define CLUTTER_Georgian_fi 0x10010f6
+#define CLUTTER_Xabovedot 0x1001e8a
+#define CLUTTER_Ibreve 0x100012c
+#define CLUTTER_Zstroke 0x10001b5
+#define CLUTTER_Gcaron 0x10001e6
+#define CLUTTER_Ocaron 0x10001d1
+#define CLUTTER_Obarred 0x100019f
+#define CLUTTER_xabovedot 0x1001e8b
+#define CLUTTER_ibreve 0x100012d
+#define CLUTTER_zstroke 0x10001b6
+#define CLUTTER_gcaron 0x10001e7
+#define CLUTTER_ocaron 0x10001d2
+#define CLUTTER_obarred 0x1000275
+#define CLUTTER_SCHWA 0x100018f
+#define CLUTTER_schwa 0x1000259
+#define CLUTTER_EZH 0x10001b7
+#define CLUTTER_ezh 0x1000292
+#define CLUTTER_Lbelowdot 0x1001e36
+#define CLUTTER_lbelowdot 0x1001e37
+#define CLUTTER_Abelowdot 0x1001ea0
+#define CLUTTER_abelowdot 0x1001ea1
+#define CLUTTER_Ahook 0x1001ea2
+#define CLUTTER_ahook 0x1001ea3
+#define CLUTTER_Acircumflexacute 0x1001ea4
+#define CLUTTER_acircumflexacute 0x1001ea5
+#define CLUTTER_Acircumflexgrave 0x1001ea6
+#define CLUTTER_acircumflexgrave 0x1001ea7
+#define CLUTTER_Acircumflexhook 0x1001ea8
+#define CLUTTER_acircumflexhook 0x1001ea9
+#define CLUTTER_Acircumflextilde 0x1001eaa
+#define CLUTTER_acircumflextilde 0x1001eab
+#define CLUTTER_Acircumflexbelowdot 0x1001eac
+#define CLUTTER_acircumflexbelowdot 0x1001ead
+#define CLUTTER_Abreveacute 0x1001eae
+#define CLUTTER_abreveacute 0x1001eaf
+#define CLUTTER_Abrevegrave 0x1001eb0
+#define CLUTTER_abrevegrave 0x1001eb1
+#define CLUTTER_Abrevehook 0x1001eb2
+#define CLUTTER_abrevehook 0x1001eb3
+#define CLUTTER_Abrevetilde 0x1001eb4
+#define CLUTTER_abrevetilde 0x1001eb5
+#define CLUTTER_Abrevebelowdot 0x1001eb6
+#define CLUTTER_abrevebelowdot 0x1001eb7
+#define CLUTTER_Ebelowdot 0x1001eb8
+#define CLUTTER_ebelowdot 0x1001eb9
+#define CLUTTER_Ehook 0x1001eba
+#define CLUTTER_ehook 0x1001ebb
+#define CLUTTER_Etilde 0x1001ebc
+#define CLUTTER_etilde 0x1001ebd
+#define CLUTTER_Ecircumflexacute 0x1001ebe
+#define CLUTTER_ecircumflexacute 0x1001ebf
+#define CLUTTER_Ecircumflexgrave 0x1001ec0
+#define CLUTTER_ecircumflexgrave 0x1001ec1
+#define CLUTTER_Ecircumflexhook 0x1001ec2
+#define CLUTTER_ecircumflexhook 0x1001ec3
+#define CLUTTER_Ecircumflextilde 0x1001ec4
+#define CLUTTER_ecircumflextilde 0x1001ec5
+#define CLUTTER_Ecircumflexbelowdot 0x1001ec6
+#define CLUTTER_ecircumflexbelowdot 0x1001ec7
+#define CLUTTER_Ihook 0x1001ec8
+#define CLUTTER_ihook 0x1001ec9
+#define CLUTTER_Ibelowdot 0x1001eca
+#define CLUTTER_ibelowdot 0x1001ecb
+#define CLUTTER_Obelowdot 0x1001ecc
+#define CLUTTER_obelowdot 0x1001ecd
+#define CLUTTER_Ohook 0x1001ece
+#define CLUTTER_ohook 0x1001ecf
+#define CLUTTER_Ocircumflexacute 0x1001ed0
+#define CLUTTER_ocircumflexacute 0x1001ed1
+#define CLUTTER_Ocircumflexgrave 0x1001ed2
+#define CLUTTER_ocircumflexgrave 0x1001ed3
+#define CLUTTER_Ocircumflexhook 0x1001ed4
+#define CLUTTER_ocircumflexhook 0x1001ed5
+#define CLUTTER_Ocircumflextilde 0x1001ed6
+#define CLUTTER_ocircumflextilde 0x1001ed7
+#define CLUTTER_Ocircumflexbelowdot 0x1001ed8
+#define CLUTTER_ocircumflexbelowdot 0x1001ed9
+#define CLUTTER_Ohornacute 0x1001eda
+#define CLUTTER_ohornacute 0x1001edb
+#define CLUTTER_Ohorngrave 0x1001edc
+#define CLUTTER_ohorngrave 0x1001edd
+#define CLUTTER_Ohornhook 0x1001ede
+#define CLUTTER_ohornhook 0x1001edf
+#define CLUTTER_Ohorntilde 0x1001ee0
+#define CLUTTER_ohorntilde 0x1001ee1
+#define CLUTTER_Ohornbelowdot 0x1001ee2
+#define CLUTTER_ohornbelowdot 0x1001ee3
+#define CLUTTER_Ubelowdot 0x1001ee4
+#define CLUTTER_ubelowdot 0x1001ee5
+#define CLUTTER_Uhook 0x1001ee6
+#define CLUTTER_uhook 0x1001ee7
+#define CLUTTER_Uhornacute 0x1001ee8
+#define CLUTTER_uhornacute 0x1001ee9
+#define CLUTTER_Uhorngrave 0x1001eea
+#define CLUTTER_uhorngrave 0x1001eeb
+#define CLUTTER_Uhornhook 0x1001eec
+#define CLUTTER_uhornhook 0x1001eed
+#define CLUTTER_Uhorntilde 0x1001eee
+#define CLUTTER_uhorntilde 0x1001eef
+#define CLUTTER_Uhornbelowdot 0x1001ef0
+#define CLUTTER_uhornbelowdot 0x1001ef1
+#define CLUTTER_Ybelowdot 0x1001ef4
+#define CLUTTER_ybelowdot 0x1001ef5
+#define CLUTTER_Yhook 0x1001ef6
+#define CLUTTER_yhook 0x1001ef7
+#define CLUTTER_Ytilde 0x1001ef8
+#define CLUTTER_ytilde 0x1001ef9
+#define CLUTTER_Ohorn 0x10001a0
+#define CLUTTER_ohorn 0x10001a1
+#define CLUTTER_Uhorn 0x10001af
+#define CLUTTER_uhorn 0x10001b0
+#define CLUTTER_EcuSign 0x10020a0
+#define CLUTTER_ColonSign 0x10020a1
+#define CLUTTER_CruzeiroSign 0x10020a2
+#define CLUTTER_FFrancSign 0x10020a3
+#define CLUTTER_LiraSign 0x10020a4
+#define CLUTTER_MillSign 0x10020a5
+#define CLUTTER_NairaSign 0x10020a6
+#define CLUTTER_PesetaSign 0x10020a7
+#define CLUTTER_RupeeSign 0x10020a8
+#define CLUTTER_WonSign 0x10020a9
+#define CLUTTER_NewSheqelSign 0x10020aa
+#define CLUTTER_DongSign 0x10020ab
+#define CLUTTER_EuroSign 0x20ac
+#define CLUTTER_zerosuperior 0x1002070
+#define CLUTTER_foursuperior 0x1002074
+#define CLUTTER_fivesuperior 0x1002075
+#define CLUTTER_sixsuperior 0x1002076
+#define CLUTTER_sevensuperior 0x1002077
+#define CLUTTER_eightsuperior 0x1002078
+#define CLUTTER_ninesuperior 0x1002079
+#define CLUTTER_zerosubscript 0x1002080
+#define CLUTTER_onesubscript 0x1002081
+#define CLUTTER_twosubscript 0x1002082
+#define CLUTTER_threesubscript 0x1002083
+#define CLUTTER_foursubscript 0x1002084
+#define CLUTTER_fivesubscript 0x1002085
+#define CLUTTER_sixsubscript 0x1002086
+#define CLUTTER_sevensubscript 0x1002087
+#define CLUTTER_eightsubscript 0x1002088
+#define CLUTTER_ninesubscript 0x1002089
+#define CLUTTER_partdifferential 0x1002202
+#define CLUTTER_emptyset 0x1002205
+#define CLUTTER_elementof 0x1002208
+#define CLUTTER_notelementof 0x1002209
+#define CLUTTER_containsas 0x100220b
+#define CLUTTER_squareroot 0x100221a
+#define CLUTTER_cuberoot 0x100221b
+#define CLUTTER_fourthroot 0x100221c
+#define CLUTTER_dintegral 0x100222c
+#define CLUTTER_tintegral 0x100222d
+#define CLUTTER_because 0x1002235
+#define CLUTTER_approxeq 0x1002248
+#define CLUTTER_notapproxeq 0x1002247
+#define CLUTTER_notidentical 0x1002262
+#define CLUTTER_stricteq 0x1002263
+#define CLUTTER_braille_dot_1 0xfff1
+#define CLUTTER_braille_dot_2 0xfff2
+#define CLUTTER_braille_dot_3 0xfff3
+#define CLUTTER_braille_dot_4 0xfff4
+#define CLUTTER_braille_dot_5 0xfff5
+#define CLUTTER_braille_dot_6 0xfff6
+#define CLUTTER_braille_dot_7 0xfff7
+#define CLUTTER_braille_dot_8 0xfff8
+#define CLUTTER_braille_dot_9 0xfff9
+#define CLUTTER_braille_dot_10 0xfffa
+#define CLUTTER_braille_blank 0x1002800
+#define CLUTTER_braille_dots_1 0x1002801
+#define CLUTTER_braille_dots_2 0x1002802
+#define CLUTTER_braille_dots_12 0x1002803
+#define CLUTTER_braille_dots_3 0x1002804
+#define CLUTTER_braille_dots_13 0x1002805
+#define CLUTTER_braille_dots_23 0x1002806
+#define CLUTTER_braille_dots_123 0x1002807
+#define CLUTTER_braille_dots_4 0x1002808
+#define CLUTTER_braille_dots_14 0x1002809
+#define CLUTTER_braille_dots_24 0x100280a
+#define CLUTTER_braille_dots_124 0x100280b
+#define CLUTTER_braille_dots_34 0x100280c
+#define CLUTTER_braille_dots_134 0x100280d
+#define CLUTTER_braille_dots_234 0x100280e
+#define CLUTTER_braille_dots_1234 0x100280f
+#define CLUTTER_braille_dots_5 0x1002810
+#define CLUTTER_braille_dots_15 0x1002811
+#define CLUTTER_braille_dots_25 0x1002812
+#define CLUTTER_braille_dots_125 0x1002813
+#define CLUTTER_braille_dots_35 0x1002814
+#define CLUTTER_braille_dots_135 0x1002815
+#define CLUTTER_braille_dots_235 0x1002816
+#define CLUTTER_braille_dots_1235 0x1002817
+#define CLUTTER_braille_dots_45 0x1002818
+#define CLUTTER_braille_dots_145 0x1002819
+#define CLUTTER_braille_dots_245 0x100281a
+#define CLUTTER_braille_dots_1245 0x100281b
+#define CLUTTER_braille_dots_345 0x100281c
+#define CLUTTER_braille_dots_1345 0x100281d
+#define CLUTTER_braille_dots_2345 0x100281e
+#define CLUTTER_braille_dots_12345 0x100281f
+#define CLUTTER_braille_dots_6 0x1002820
+#define CLUTTER_braille_dots_16 0x1002821
+#define CLUTTER_braille_dots_26 0x1002822
+#define CLUTTER_braille_dots_126 0x1002823
+#define CLUTTER_braille_dots_36 0x1002824
+#define CLUTTER_braille_dots_136 0x1002825
+#define CLUTTER_braille_dots_236 0x1002826
+#define CLUTTER_braille_dots_1236 0x1002827
+#define CLUTTER_braille_dots_46 0x1002828
+#define CLUTTER_braille_dots_146 0x1002829
+#define CLUTTER_braille_dots_246 0x100282a
+#define CLUTTER_braille_dots_1246 0x100282b
+#define CLUTTER_braille_dots_346 0x100282c
+#define CLUTTER_braille_dots_1346 0x100282d
+#define CLUTTER_braille_dots_2346 0x100282e
+#define CLUTTER_braille_dots_12346 0x100282f
+#define CLUTTER_braille_dots_56 0x1002830
+#define CLUTTER_braille_dots_156 0x1002831
+#define CLUTTER_braille_dots_256 0x1002832
+#define CLUTTER_braille_dots_1256 0x1002833
+#define CLUTTER_braille_dots_356 0x1002834
+#define CLUTTER_braille_dots_1356 0x1002835
+#define CLUTTER_braille_dots_2356 0x1002836
+#define CLUTTER_braille_dots_12356 0x1002837
+#define CLUTTER_braille_dots_456 0x1002838
+#define CLUTTER_braille_dots_1456 0x1002839
+#define CLUTTER_braille_dots_2456 0x100283a
+#define CLUTTER_braille_dots_12456 0x100283b
+#define CLUTTER_braille_dots_3456 0x100283c
+#define CLUTTER_braille_dots_13456 0x100283d
+#define CLUTTER_braille_dots_23456 0x100283e
+#define CLUTTER_braille_dots_123456 0x100283f
+#define CLUTTER_braille_dots_7 0x1002840
+#define CLUTTER_braille_dots_17 0x1002841
+#define CLUTTER_braille_dots_27 0x1002842
+#define CLUTTER_braille_dots_127 0x1002843
+#define CLUTTER_braille_dots_37 0x1002844
+#define CLUTTER_braille_dots_137 0x1002845
+#define CLUTTER_braille_dots_237 0x1002846
+#define CLUTTER_braille_dots_1237 0x1002847
+#define CLUTTER_braille_dots_47 0x1002848
+#define CLUTTER_braille_dots_147 0x1002849
+#define CLUTTER_braille_dots_247 0x100284a
+#define CLUTTER_braille_dots_1247 0x100284b
+#define CLUTTER_braille_dots_347 0x100284c
+#define CLUTTER_braille_dots_1347 0x100284d
+#define CLUTTER_braille_dots_2347 0x100284e
+#define CLUTTER_braille_dots_12347 0x100284f
+#define CLUTTER_braille_dots_57 0x1002850
+#define CLUTTER_braille_dots_157 0x1002851
+#define CLUTTER_braille_dots_257 0x1002852
+#define CLUTTER_braille_dots_1257 0x1002853
+#define CLUTTER_braille_dots_357 0x1002854
+#define CLUTTER_braille_dots_1357 0x1002855
+#define CLUTTER_braille_dots_2357 0x1002856
+#define CLUTTER_braille_dots_12357 0x1002857
+#define CLUTTER_braille_dots_457 0x1002858
+#define CLUTTER_braille_dots_1457 0x1002859
+#define CLUTTER_braille_dots_2457 0x100285a
+#define CLUTTER_braille_dots_12457 0x100285b
+#define CLUTTER_braille_dots_3457 0x100285c
+#define CLUTTER_braille_dots_13457 0x100285d
+#define CLUTTER_braille_dots_23457 0x100285e
+#define CLUTTER_braille_dots_123457 0x100285f
+#define CLUTTER_braille_dots_67 0x1002860
+#define CLUTTER_braille_dots_167 0x1002861
+#define CLUTTER_braille_dots_267 0x1002862
+#define CLUTTER_braille_dots_1267 0x1002863
+#define CLUTTER_braille_dots_367 0x1002864
+#define CLUTTER_braille_dots_1367 0x1002865
+#define CLUTTER_braille_dots_2367 0x1002866
+#define CLUTTER_braille_dots_12367 0x1002867
+#define CLUTTER_braille_dots_467 0x1002868
+#define CLUTTER_braille_dots_1467 0x1002869
+#define CLUTTER_braille_dots_2467 0x100286a
+#define CLUTTER_braille_dots_12467 0x100286b
+#define CLUTTER_braille_dots_3467 0x100286c
+#define CLUTTER_braille_dots_13467 0x100286d
+#define CLUTTER_braille_dots_23467 0x100286e
+#define CLUTTER_braille_dots_123467 0x100286f
+#define CLUTTER_braille_dots_567 0x1002870
+#define CLUTTER_braille_dots_1567 0x1002871
+#define CLUTTER_braille_dots_2567 0x1002872
+#define CLUTTER_braille_dots_12567 0x1002873
+#define CLUTTER_braille_dots_3567 0x1002874
+#define CLUTTER_braille_dots_13567 0x1002875
+#define CLUTTER_braille_dots_23567 0x1002876
+#define CLUTTER_braille_dots_123567 0x1002877
+#define CLUTTER_braille_dots_4567 0x1002878
+#define CLUTTER_braille_dots_14567 0x1002879
+#define CLUTTER_braille_dots_24567 0x100287a
+#define CLUTTER_braille_dots_124567 0x100287b
+#define CLUTTER_braille_dots_34567 0x100287c
+#define CLUTTER_braille_dots_134567 0x100287d
+#define CLUTTER_braille_dots_234567 0x100287e
+#define CLUTTER_braille_dots_1234567 0x100287f
+#define CLUTTER_braille_dots_8 0x1002880
+#define CLUTTER_braille_dots_18 0x1002881
+#define CLUTTER_braille_dots_28 0x1002882
+#define CLUTTER_braille_dots_128 0x1002883
+#define CLUTTER_braille_dots_38 0x1002884
+#define CLUTTER_braille_dots_138 0x1002885
+#define CLUTTER_braille_dots_238 0x1002886
+#define CLUTTER_braille_dots_1238 0x1002887
+#define CLUTTER_braille_dots_48 0x1002888
+#define CLUTTER_braille_dots_148 0x1002889
+#define CLUTTER_braille_dots_248 0x100288a
+#define CLUTTER_braille_dots_1248 0x100288b
+#define CLUTTER_braille_dots_348 0x100288c
+#define CLUTTER_braille_dots_1348 0x100288d
+#define CLUTTER_braille_dots_2348 0x100288e
+#define CLUTTER_braille_dots_12348 0x100288f
+#define CLUTTER_braille_dots_58 0x1002890
+#define CLUTTER_braille_dots_158 0x1002891
+#define CLUTTER_braille_dots_258 0x1002892
+#define CLUTTER_braille_dots_1258 0x1002893
+#define CLUTTER_braille_dots_358 0x1002894
+#define CLUTTER_braille_dots_1358 0x1002895
+#define CLUTTER_braille_dots_2358 0x1002896
+#define CLUTTER_braille_dots_12358 0x1002897
+#define CLUTTER_braille_dots_458 0x1002898
+#define CLUTTER_braille_dots_1458 0x1002899
+#define CLUTTER_braille_dots_2458 0x100289a
+#define CLUTTER_braille_dots_12458 0x100289b
+#define CLUTTER_braille_dots_3458 0x100289c
+#define CLUTTER_braille_dots_13458 0x100289d
+#define CLUTTER_braille_dots_23458 0x100289e
+#define CLUTTER_braille_dots_123458 0x100289f
+#define CLUTTER_braille_dots_68 0x10028a0
+#define CLUTTER_braille_dots_168 0x10028a1
+#define CLUTTER_braille_dots_268 0x10028a2
+#define CLUTTER_braille_dots_1268 0x10028a3
+#define CLUTTER_braille_dots_368 0x10028a4
+#define CLUTTER_braille_dots_1368 0x10028a5
+#define CLUTTER_braille_dots_2368 0x10028a6
+#define CLUTTER_braille_dots_12368 0x10028a7
+#define CLUTTER_braille_dots_468 0x10028a8
+#define CLUTTER_braille_dots_1468 0x10028a9
+#define CLUTTER_braille_dots_2468 0x10028aa
+#define CLUTTER_braille_dots_12468 0x10028ab
+#define CLUTTER_braille_dots_3468 0x10028ac
+#define CLUTTER_braille_dots_13468 0x10028ad
+#define CLUTTER_braille_dots_23468 0x10028ae
+#define CLUTTER_braille_dots_123468 0x10028af
+#define CLUTTER_braille_dots_568 0x10028b0
+#define CLUTTER_braille_dots_1568 0x10028b1
+#define CLUTTER_braille_dots_2568 0x10028b2
+#define CLUTTER_braille_dots_12568 0x10028b3
+#define CLUTTER_braille_dots_3568 0x10028b4
+#define CLUTTER_braille_dots_13568 0x10028b5
+#define CLUTTER_braille_dots_23568 0x10028b6
+#define CLUTTER_braille_dots_123568 0x10028b7
+#define CLUTTER_braille_dots_4568 0x10028b8
+#define CLUTTER_braille_dots_14568 0x10028b9
+#define CLUTTER_braille_dots_24568 0x10028ba
+#define CLUTTER_braille_dots_124568 0x10028bb
+#define CLUTTER_braille_dots_34568 0x10028bc
+#define CLUTTER_braille_dots_134568 0x10028bd
+#define CLUTTER_braille_dots_234568 0x10028be
+#define CLUTTER_braille_dots_1234568 0x10028bf
+#define CLUTTER_braille_dots_78 0x10028c0
+#define CLUTTER_braille_dots_178 0x10028c1
+#define CLUTTER_braille_dots_278 0x10028c2
+#define CLUTTER_braille_dots_1278 0x10028c3
+#define CLUTTER_braille_dots_378 0x10028c4
+#define CLUTTER_braille_dots_1378 0x10028c5
+#define CLUTTER_braille_dots_2378 0x10028c6
+#define CLUTTER_braille_dots_12378 0x10028c7
+#define CLUTTER_braille_dots_478 0x10028c8
+#define CLUTTER_braille_dots_1478 0x10028c9
+#define CLUTTER_braille_dots_2478 0x10028ca
+#define CLUTTER_braille_dots_12478 0x10028cb
+#define CLUTTER_braille_dots_3478 0x10028cc
+#define CLUTTER_braille_dots_13478 0x10028cd
+#define CLUTTER_braille_dots_23478 0x10028ce
+#define CLUTTER_braille_dots_123478 0x10028cf
+#define CLUTTER_braille_dots_578 0x10028d0
+#define CLUTTER_braille_dots_1578 0x10028d1
+#define CLUTTER_braille_dots_2578 0x10028d2
+#define CLUTTER_braille_dots_12578 0x10028d3
+#define CLUTTER_braille_dots_3578 0x10028d4
+#define CLUTTER_braille_dots_13578 0x10028d5
+#define CLUTTER_braille_dots_23578 0x10028d6
+#define CLUTTER_braille_dots_123578 0x10028d7
+#define CLUTTER_braille_dots_4578 0x10028d8
+#define CLUTTER_braille_dots_14578 0x10028d9
+#define CLUTTER_braille_dots_24578 0x10028da
+#define CLUTTER_braille_dots_124578 0x10028db
+#define CLUTTER_braille_dots_34578 0x10028dc
+#define CLUTTER_braille_dots_134578 0x10028dd
+#define CLUTTER_braille_dots_234578 0x10028de
+#define CLUTTER_braille_dots_1234578 0x10028df
+#define CLUTTER_braille_dots_678 0x10028e0
+#define CLUTTER_braille_dots_1678 0x10028e1
+#define CLUTTER_braille_dots_2678 0x10028e2
+#define CLUTTER_braille_dots_12678 0x10028e3
+#define CLUTTER_braille_dots_3678 0x10028e4
+#define CLUTTER_braille_dots_13678 0x10028e5
+#define CLUTTER_braille_dots_23678 0x10028e6
+#define CLUTTER_braille_dots_123678 0x10028e7
+#define CLUTTER_braille_dots_4678 0x10028e8
+#define CLUTTER_braille_dots_14678 0x10028e9
+#define CLUTTER_braille_dots_24678 0x10028ea
+#define CLUTTER_braille_dots_124678 0x10028eb
+#define CLUTTER_braille_dots_34678 0x10028ec
+#define CLUTTER_braille_dots_134678 0x10028ed
+#define CLUTTER_braille_dots_234678 0x10028ee
+#define CLUTTER_braille_dots_1234678 0x10028ef
+#define CLUTTER_braille_dots_5678 0x10028f0
+#define CLUTTER_braille_dots_15678 0x10028f1
+#define CLUTTER_braille_dots_25678 0x10028f2
+#define CLUTTER_braille_dots_125678 0x10028f3
+#define CLUTTER_braille_dots_35678 0x10028f4
+#define CLUTTER_braille_dots_135678 0x10028f5
+#define CLUTTER_braille_dots_235678 0x10028f6
+#define CLUTTER_braille_dots_1235678 0x10028f7
+#define CLUTTER_braille_dots_45678 0x10028f8
+#define CLUTTER_braille_dots_145678 0x10028f9
+#define CLUTTER_braille_dots_245678 0x10028fa
+#define CLUTTER_braille_dots_1245678 0x10028fb
+#define CLUTTER_braille_dots_345678 0x10028fc
+#define CLUTTER_braille_dots_1345678 0x10028fd
+#define CLUTTER_braille_dots_2345678 0x10028fe
+#define CLUTTER_braille_dots_12345678 0x10028ff
+#define CLUTTER_Sinh_ng 0x1000d82
+#define CLUTTER_Sinh_h2 0x1000d83
+#define CLUTTER_Sinh_a 0x1000d85
+#define CLUTTER_Sinh_aa 0x1000d86
+#define CLUTTER_Sinh_ae 0x1000d87
+#define CLUTTER_Sinh_aee 0x1000d88
+#define CLUTTER_Sinh_i 0x1000d89
+#define CLUTTER_Sinh_ii 0x1000d8a
+#define CLUTTER_Sinh_u 0x1000d8b
+#define CLUTTER_Sinh_uu 0x1000d8c
+#define CLUTTER_Sinh_ri 0x1000d8d
+#define CLUTTER_Sinh_rii 0x1000d8e
+#define CLUTTER_Sinh_lu 0x1000d8f
+#define CLUTTER_Sinh_luu 0x1000d90
+#define CLUTTER_Sinh_e 0x1000d91
+#define CLUTTER_Sinh_ee 0x1000d92
+#define CLUTTER_Sinh_ai 0x1000d93
+#define CLUTTER_Sinh_o 0x1000d94
+#define CLUTTER_Sinh_oo 0x1000d95
+#define CLUTTER_Sinh_au 0x1000d96
+#define CLUTTER_Sinh_ka 0x1000d9a
+#define CLUTTER_Sinh_kha 0x1000d9b
+#define CLUTTER_Sinh_ga 0x1000d9c
+#define CLUTTER_Sinh_gha 0x1000d9d
+#define CLUTTER_Sinh_ng2 0x1000d9e
+#define CLUTTER_Sinh_nga 0x1000d9f
+#define CLUTTER_Sinh_ca 0x1000da0
+#define CLUTTER_Sinh_cha 0x1000da1
+#define CLUTTER_Sinh_ja 0x1000da2
+#define CLUTTER_Sinh_jha 0x1000da3
+#define CLUTTER_Sinh_nya 0x1000da4
+#define CLUTTER_Sinh_jnya 0x1000da5
+#define CLUTTER_Sinh_nja 0x1000da6
+#define CLUTTER_Sinh_tta 0x1000da7
+#define CLUTTER_Sinh_ttha 0x1000da8
+#define CLUTTER_Sinh_dda 0x1000da9
+#define CLUTTER_Sinh_ddha 0x1000daa
+#define CLUTTER_Sinh_nna 0x1000dab
+#define CLUTTER_Sinh_ndda 0x1000dac
+#define CLUTTER_Sinh_tha 0x1000dad
+#define CLUTTER_Sinh_thha 0x1000dae
+#define CLUTTER_Sinh_dha 0x1000daf
+#define CLUTTER_Sinh_dhha 0x1000db0
+#define CLUTTER_Sinh_na 0x1000db1
+#define CLUTTER_Sinh_ndha 0x1000db3
+#define CLUTTER_Sinh_pa 0x1000db4
+#define CLUTTER_Sinh_pha 0x1000db5
+#define CLUTTER_Sinh_ba 0x1000db6
+#define CLUTTER_Sinh_bha 0x1000db7
+#define CLUTTER_Sinh_ma 0x1000db8
+#define CLUTTER_Sinh_mba 0x1000db9
+#define CLUTTER_Sinh_ya 0x1000dba
+#define CLUTTER_Sinh_ra 0x1000dbb
+#define CLUTTER_Sinh_la 0x1000dbd
+#define CLUTTER_Sinh_va 0x1000dc0
+#define CLUTTER_Sinh_sha 0x1000dc1
+#define CLUTTER_Sinh_ssha 0x1000dc2
+#define CLUTTER_Sinh_sa 0x1000dc3
+#define CLUTTER_Sinh_ha 0x1000dc4
+#define CLUTTER_Sinh_lla 0x1000dc5
+#define CLUTTER_Sinh_fa 0x1000dc6
+#define CLUTTER_Sinh_al 0x1000dca
+#define CLUTTER_Sinh_aa2 0x1000dcf
+#define CLUTTER_Sinh_ae2 0x1000dd0
+#define CLUTTER_Sinh_aee2 0x1000dd1
+#define CLUTTER_Sinh_i2 0x1000dd2
+#define CLUTTER_Sinh_ii2 0x1000dd3
+#define CLUTTER_Sinh_u2 0x1000dd4
+#define CLUTTER_Sinh_uu2 0x1000dd6
+#define CLUTTER_Sinh_ru2 0x1000dd8
+#define CLUTTER_Sinh_e2 0x1000dd9
+#define CLUTTER_Sinh_ee2 0x1000dda
+#define CLUTTER_Sinh_ai2 0x1000ddb
+#define CLUTTER_Sinh_o2 0x1000ddc
+#define CLUTTER_Sinh_oo2 0x1000ddd
+#define CLUTTER_Sinh_au2 0x1000dde
+#define CLUTTER_Sinh_lu2 0x1000ddf
+#define CLUTTER_Sinh_ruu2 0x1000df2
+#define CLUTTER_Sinh_luu2 0x1000df3
+#define CLUTTER_Sinh_kunddaliya 0x1000df4
+#define CLUTTER_ModeLock 0x1008ff01
+#define CLUTTER_MonBrightnessUp 0x1008ff02
+#define CLUTTER_MonBrightnessDown 0x1008ff03
+#define CLUTTER_KbdLightOnOff 0x1008ff04
+#define CLUTTER_KbdBrightnessUp 0x1008ff05
+#define CLUTTER_KbdBrightnessDown 0x1008ff06
+#define CLUTTER_Standby 0x1008ff10
+#define CLUTTER_AudioLowerVolume 0x1008ff11
+#define CLUTTER_AudioMute 0x1008ff12
+#define CLUTTER_AudioRaiseVolume 0x1008ff13
+#define CLUTTER_AudioPlay 0x1008ff14
+#define CLUTTER_AudioStop 0x1008ff15
+#define CLUTTER_AudioPrev 0x1008ff16
+#define CLUTTER_AudioNext 0x1008ff17
+#define CLUTTER_HomePage 0x1008ff18
+#define CLUTTER_Mail 0x1008ff19
+#define CLUTTER_Start 0x1008ff1a
+#define CLUTTER_Search 0x1008ff1b
+#define CLUTTER_AudioRecord 0x1008ff1c
+#define CLUTTER_Calculator 0x1008ff1d
+#define CLUTTER_Memo 0x1008ff1e
+#define CLUTTER_ToDoList 0x1008ff1f
+#define CLUTTER_Calendar 0x1008ff20
+#define CLUTTER_PowerDown 0x1008ff21
+#define CLUTTER_ContrastAdjust 0x1008ff22
+#define CLUTTER_RockerUp 0x1008ff23
+#define CLUTTER_RockerDown 0x1008ff24
+#define CLUTTER_RockerEnter 0x1008ff25
+#define CLUTTER_Back 0x1008ff26
+#define CLUTTER_Forward 0x1008ff27
+#define CLUTTER_Stop 0x1008ff28
+#define CLUTTER_Refresh 0x1008ff29
+#define CLUTTER_PowerOff 0x1008ff2a
+#define CLUTTER_WakeUp 0x1008ff2b
+#define CLUTTER_Eject 0x1008ff2c
+#define CLUTTER_ScreenSaver 0x1008ff2d
+#define CLUTTER_WWW 0x1008ff2e
+#define CLUTTER_Sleep 0x1008ff2f
+#define CLUTTER_Favorites 0x1008ff30
+#define CLUTTER_AudioPause 0x1008ff31
+#define CLUTTER_AudioMedia 0x1008ff32
+#define CLUTTER_MyComputer 0x1008ff33
+#define CLUTTER_VendorHome 0x1008ff34
+#define CLUTTER_LightBulb 0x1008ff35
+#define CLUTTER_Shop 0x1008ff36
+#define CLUTTER_History 0x1008ff37
+#define CLUTTER_OpenURL 0x1008ff38
+#define CLUTTER_AddFavorite 0x1008ff39
+#define CLUTTER_HotLinks 0x1008ff3a
+#define CLUTTER_BrightnessAdjust 0x1008ff3b
+#define CLUTTER_Finance 0x1008ff3c
+#define CLUTTER_Community 0x1008ff3d
+#define CLUTTER_AudioRewind 0x1008ff3e
+#define CLUTTER_BackForward 0x1008ff3f
+#define CLUTTER_Launch0 0x1008ff40
+#define CLUTTER_Launch1 0x1008ff41
+#define CLUTTER_Launch2 0x1008ff42
+#define CLUTTER_Launch3 0x1008ff43
+#define CLUTTER_Launch4 0x1008ff44
+#define CLUTTER_Launch5 0x1008ff45
+#define CLUTTER_Launch6 0x1008ff46
+#define CLUTTER_Launch7 0x1008ff47
+#define CLUTTER_Launch8 0x1008ff48
+#define CLUTTER_Launch9 0x1008ff49
+#define CLUTTER_LaunchA 0x1008ff4a
+#define CLUTTER_LaunchB 0x1008ff4b
+#define CLUTTER_LaunchC 0x1008ff4c
+#define CLUTTER_LaunchD 0x1008ff4d
+#define CLUTTER_LaunchE 0x1008ff4e
+#define CLUTTER_LaunchF 0x1008ff4f
+#define CLUTTER_ApplicationLeft 0x1008ff50
+#define CLUTTER_ApplicationRight 0x1008ff51
+#define CLUTTER_Book 0x1008ff52
+#define CLUTTER_CD 0x1008ff53
+#define CLUTTER_WindowClear 0x1008ff55
+#define CLUTTER_Close 0x1008ff56
+#define CLUTTER_Copy 0x1008ff57
+#define CLUTTER_Cut 0x1008ff58
+#define CLUTTER_Display 0x1008ff59
+#define CLUTTER_DOS 0x1008ff5a
+#define CLUTTER_Documents 0x1008ff5b
+#define CLUTTER_Excel 0x1008ff5c
+#define CLUTTER_Explorer 0x1008ff5d
+#define CLUTTER_Game 0x1008ff5e
+#define CLUTTER_Go 0x1008ff5f
+#define CLUTTER_iTouch 0x1008ff60
+#define CLUTTER_LogOff 0x1008ff61
+#define CLUTTER_Market 0x1008ff62
+#define CLUTTER_Meeting 0x1008ff63
+#define CLUTTER_MenuKB 0x1008ff65
+#define CLUTTER_MenuPB 0x1008ff66
+#define CLUTTER_MySites 0x1008ff67
+#define CLUTTER_New 0x1008ff68
+#define CLUTTER_News 0x1008ff69
+#define CLUTTER_OfficeHome 0x1008ff6a
+#define CLUTTER_Open 0x1008ff6b
+#define CLUTTER_Option 0x1008ff6c
+#define CLUTTER_Paste 0x1008ff6d
+#define CLUTTER_Phone 0x1008ff6e
+#define CLUTTER_Reply 0x1008ff72
+#define CLUTTER_Reload 0x1008ff73
+#define CLUTTER_RotateWindows 0x1008ff74
+#define CLUTTER_RotationPB 0x1008ff75
+#define CLUTTER_RotationKB 0x1008ff76
+#define CLUTTER_Save 0x1008ff77
+#define CLUTTER_ScrollUp 0x1008ff78
+#define CLUTTER_ScrollDown 0x1008ff79
+#define CLUTTER_ScrollClick 0x1008ff7a
+#define CLUTTER_Send 0x1008ff7b
+#define CLUTTER_Spell 0x1008ff7c
+#define CLUTTER_SplitScreen 0x1008ff7d
+#define CLUTTER_Support 0x1008ff7e
+#define CLUTTER_TaskPane 0x1008ff7f
+#define CLUTTER_Terminal 0x1008ff80
+#define CLUTTER_Tools 0x1008ff81
+#define CLUTTER_Travel 0x1008ff82
+#define CLUTTER_UserPB 0x1008ff84
+#define CLUTTER_User1KB 0x1008ff85
+#define CLUTTER_User2KB 0x1008ff86
+#define CLUTTER_Video 0x1008ff87
+#define CLUTTER_WheelButton 0x1008ff88
+#define CLUTTER_Word 0x1008ff89
+#define CLUTTER_Xfer 0x1008ff8a
+#define CLUTTER_ZoomIn 0x1008ff8b
+#define CLUTTER_ZoomOut 0x1008ff8c
+#define CLUTTER_Away 0x1008ff8d
+#define CLUTTER_Messenger 0x1008ff8e
+#define CLUTTER_WebCam 0x1008ff8f
+#define CLUTTER_MailForward 0x1008ff90
+#define CLUTTER_Pictures 0x1008ff91
+#define CLUTTER_Music 0x1008ff92
+#define CLUTTER_Battery 0x1008ff93
+#define CLUTTER_Bluetooth 0x1008ff94
+#define CLUTTER_WLAN 0x1008ff95
+#define CLUTTER_UWB 0x1008ff96
+#define CLUTTER_AudioForward 0x1008ff97
+#define CLUTTER_AudioRepeat 0x1008ff98
+#define CLUTTER_AudioRandomPlay 0x1008ff99
+#define CLUTTER_Subtitle 0x1008ff9a
+#define CLUTTER_AudioCycleTrack 0x1008ff9b
+#define CLUTTER_CycleAngle 0x1008ff9c
+#define CLUTTER_FrameBack 0x1008ff9d
+#define CLUTTER_FrameForward 0x1008ff9e
+#define CLUTTER_Time 0x1008ff9f
+#define CLUTTER_SelectButton 0x1008ffa0
+#define CLUTTER_View 0x1008ffa1
+#define CLUTTER_TopMenu 0x1008ffa2
+#define CLUTTER_Red 0x1008ffa3
+#define CLUTTER_Green 0x1008ffa4
+#define CLUTTER_Yellow 0x1008ffa5
+#define CLUTTER_Blue 0x1008ffa6
+#define CLUTTER_Suspend 0x1008ffa7
+#define CLUTTER_Hibernate 0x1008ffa8
+#define CLUTTER_TouchpadToggle 0x1008ffa9
+#define CLUTTER_TouchpadOn 0x1008ffb0
+#define CLUTTER_TouchpadOff 0x1008ffb1
+#define CLUTTER_Switch_VT_1 0x1008fe01
+#define CLUTTER_Switch_VT_2 0x1008fe02
+#define CLUTTER_Switch_VT_3 0x1008fe03
+#define CLUTTER_Switch_VT_4 0x1008fe04
+#define CLUTTER_Switch_VT_5 0x1008fe05
+#define CLUTTER_Switch_VT_6 0x1008fe06
+#define CLUTTER_Switch_VT_7 0x1008fe07
+#define CLUTTER_Switch_VT_8 0x1008fe08
+#define CLUTTER_Switch_VT_9 0x1008fe09
+#define CLUTTER_Switch_VT_10 0x1008fe0a
+#define CLUTTER_Switch_VT_11 0x1008fe0b
+#define CLUTTER_Switch_VT_12 0x1008fe0c
+#define CLUTTER_Ungrab 0x1008fe20
+#define CLUTTER_ClearGrab 0x1008fe21
+#define CLUTTER_Next_VMode 0x1008fe22
+#define CLUTTER_Prev_VMode 0x1008fe23
+#define CLUTTER_LogWindowTree 0x1008fe24
+#define CLUTTER_LogGrabInfo 0x1008fe25
+
+#endif /* CLUTTER_DISABLE_DEPRECATED */
+
+#endif /* __CLUTTER_KEYSYMS_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-layout-manager-deprecated.c 
b/clutter/deprecated/clutter-layout-manager-deprecated.c
new file mode 100644
index 0000000..20ce964
--- /dev/null
+++ b/clutter/deprecated/clutter-layout-manager-deprecated.c
@@ -0,0 +1,89 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "clutter-layout-manager.h"
+
+/**
+ * clutter_layout_manager_begin_animation:
+ * @manager: a #ClutterLayoutManager
+ * @duration: the duration of the animation, in milliseconds
+ * @mode: the easing mode of the animation
+ *
+ * Begins an animation of @duration milliseconds, using the provided
+ * easing @mode
+ *
+ * The easing mode can be specified either as a #ClutterAnimationMode
+ * or as a logical id returned by clutter_alpha_register_func()
+ *
+ * The result of this function depends on the @manager implementation
+ *
+ * Return value: (transfer none): The #ClutterAlpha created by the
+ *   layout manager; the returned instance is owned by the layout
+ *   manager and should not be unreferenced
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+ClutterAlpha *
+clutter_layout_manager_begin_animation (ClutterLayoutManager *manager,
+                                        guint                 duration,
+                                        gulong                mode)
+{
+  ClutterLayoutManagerClass *klass;
+
+  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), NULL);
+
+  klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
+
+  return klass->begin_animation (manager, duration, mode);
+}
+
+/**
+ * clutter_layout_manager_end_animation:
+ * @manager: a #ClutterLayoutManager
+ *
+ * Ends an animation started by clutter_layout_manager_begin_animation()
+ *
+ * The result of this call depends on the @manager implementation
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_layout_manager_end_animation (ClutterLayoutManager *manager)
+{
+  g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
+
+  CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager)->end_animation (manager);
+}
+
+/**
+ * clutter_layout_manager_get_animation_progress:
+ * @manager: a #ClutterLayoutManager
+ *
+ * Retrieves the progress of the animation, if one has been started by
+ * clutter_layout_manager_begin_animation()
+ *
+ * The returned value has the same semantics of the #ClutterAlpha:alpha
+ * value
+ *
+ * Return value: the progress of the animation
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+gdouble
+clutter_layout_manager_get_animation_progress (ClutterLayoutManager *manager)
+{
+  ClutterLayoutManagerClass *klass;
+
+  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), 1.0);
+
+  klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
+
+  return klass->get_animation_progress (manager);
+}
diff --git a/clutter/deprecated/clutter-main.h b/clutter/deprecated/clutter-main.h
new file mode 100644
index 0000000..257ac5a
--- /dev/null
+++ b/clutter/deprecated/clutter-main.h
@@ -0,0 +1,96 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2011 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_MAIN_DEPRECATED_H__
+#define __CLUTTER_MAIN_DEPRECATED_H__
+
+#include <clutter/clutter-types.h>
+#include <clutter/clutter-input-device.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_10
+void                    clutter_threads_init                    (void);
+
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_threads_enter                   (void);
+
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_threads_leave                   (void);
+
+CLUTTER_DEPRECATED_IN_1_6
+guint                   clutter_threads_add_frame_source        (guint             fps,
+                                                                 GSourceFunc       func,
+                                                                 gpointer          data);
+CLUTTER_DEPRECATED_IN_1_6
+guint                   clutter_threads_add_frame_source_full   (gint              priority,
+                                                                 guint             fps,
+                                                                 GSourceFunc       func,
+                                                                 gpointer          data,
+                                                                 GDestroyNotify    notify);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_stage_set_motion_events_enabled)
+void                    clutter_set_motion_events_enabled       (gboolean          enable);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_stage_get_motion_events_enabled)
+gboolean                clutter_get_motion_events_enabled       (void);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_stage_ensure_redraw)
+void                    clutter_redraw                          (ClutterStage     *stage);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(cogl_pango_font_map_clear_glyph_cache)
+void                    clutter_clear_glyph_cache               (void);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_backend_set_font_options)
+void                    clutter_set_font_flags                  (ClutterFontFlags  flags);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_backend_get_font_options)
+ClutterFontFlags        clutter_get_font_flags                  (void);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_device_manager_get_device)
+ClutterInputDevice *    clutter_get_input_device_for_id         (gint id_);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_input_device_grab)
+void                    clutter_grab_pointer_for_device         (ClutterActor     *actor,
+                                                                 gint              id_);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_input_device_ungrab)
+void                    clutter_ungrab_pointer_for_device       (gint              id_);
+
+CLUTTER_DEPRECATED_IN_1_10
+void                    clutter_set_default_frame_rate          (guint             frames_per_sec);
+
+CLUTTER_DEPRECATED_IN_1_10
+gulong                  clutter_get_timestamp                   (void);
+
+CLUTTER_DEPRECATED_IN_1_10
+gboolean                clutter_get_debug_enabled               (void);
+
+CLUTTER_DEPRECATED_IN_1_10
+gboolean                clutter_get_show_fps                    (void);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_MAIN_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-media.c b/clutter/deprecated/clutter-media.c
new file mode 100644
index 0000000..bfa43d8
--- /dev/null
+++ b/clutter/deprecated/clutter-media.c
@@ -0,0 +1,665 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By: Matthew Allum  <mallum openedhand com>
+ *              Emmanuele Bassi <ebassi linux intel com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ * Copyright (C) 2009 Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-media
+ * @short_description: An interface for controlling playback of media data
+ *
+ * #ClutterMedia is an interface for controlling playback of media sources.
+ *
+ * Clutter core does not provide an implementation of this interface, but
+ * other integration libraries like Clutter-GStreamer implement it to offer
+ * a uniform API for applications.
+ *
+ * #ClutterMedia is available since Clutter 0.2
+ *
+ * #ClutterMedia is deprecated since Clutter 1.12
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-marshal.h"
+#include "clutter-media.h"
+#include "clutter-main.h"
+#include "clutter-private.h"   /* for DBG */
+
+enum
+{
+  EOS_SIGNAL,
+  ERROR_SIGNAL, /* can't be called 'ERROR' otherwise it clashes with wingdi.h */
+
+  LAST_SIGNAL
+};
+
+static guint media_signals[LAST_SIGNAL] = { 0, };
+
+typedef ClutterMediaIface       ClutterMediaInterface;
+
+G_DEFINE_INTERFACE (ClutterMedia, clutter_media, G_TYPE_OBJECT);
+
+static void
+clutter_media_default_init (ClutterMediaInterface *iface)
+{
+  GParamSpec *pspec = NULL;
+
+  /**
+   * ClutterMedia:uri:
+   *
+   * The location of a media file, expressed as a valid URI.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_string ("uri",
+                               P_("URI"),
+                               P_("URI of a media file"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE |
+                               G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:playing:
+   *
+   * Whether the #ClutterMedia actor is playing.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_boolean ("playing",
+                                P_("Playing"),
+                                P_("Whether the actor is playing"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE |
+                                G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:progress:
+   *
+   * The current progress of the playback, as a normalized
+   * value between 0.0 and 1.0.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_double ("progress",
+                               P_("Progress"),
+                               P_("Current progress of the playback"),
+                               0.0, 1.0, 0.0,
+                               CLUTTER_PARAM_READWRITE |
+                               G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:subtitle-uri:
+   *
+   * The location of a subtitle file, expressed as a valid URI.
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_string ("subtitle-uri",
+                               P_("Subtitle URI"),
+                               P_("URI of a subtitle file"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE |
+                               G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:subtitle-font-name:
+   *
+   * The font used to display subtitles. The font description has to
+   * follow the same grammar as the one recognized by
+   * pango_font_description_from_string().
+   *
+   * Since: 1.2
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_string ("subtitle-font-name",
+                               P_("Subtitle Font Name"),
+                               P_("The font used to display subtitles"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE |
+                               G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:audio-volume:
+   *
+   * The volume of the audio, as a normalized value between
+   * 0.0 and 1.0.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_double ("audio-volume",
+                               P_("Audio Volume"),
+                               P_("The volume of the audio"),
+                               0.0, 1.0, 0.5,
+                               CLUTTER_PARAM_READWRITE |
+                               G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:can-seek:
+   *
+   * Whether the current stream is seekable.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_boolean ("can-seek",
+                                P_("Can Seek"),
+                                P_("Whether the current stream is seekable"),
+                                FALSE,
+                                CLUTTER_PARAM_READABLE |
+                                G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:buffer-fill:
+   *
+   * The fill level of the buffer for the current stream,
+   * as a value between 0.0 and 1.0.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_double ("buffer-fill",
+                               P_("Buffer Fill"),
+                               P_("The fill level of the buffer"),
+                               0.0, 1.0, 0.0,
+                               CLUTTER_PARAM_READABLE |
+                               G_PARAM_DEPRECATED);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia:duration:
+   *
+   * The duration of the current stream, in seconds
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_double ("duration",
+                               P_("Duration"),
+                               P_("The duration of the stream, in seconds"),
+                               0, G_MAXDOUBLE, 0,
+                               CLUTTER_PARAM_READABLE);
+  g_object_interface_install_property (iface, pspec);
+
+  /**
+   * ClutterMedia::eos:
+   * @media: the #ClutterMedia instance that received the signal
+   *
+   * The ::eos signal is emitted each time the media stream ends.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  media_signals[EOS_SIGNAL] =
+    g_signal_new (I_("eos"),
+                  CLUTTER_TYPE_MEDIA,
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (ClutterMediaIface, eos),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+  /**
+   * ClutterMedia::error:
+   * @media: the #ClutterMedia instance that received the signal
+   * @error: the #GError
+   *
+   * The ::error signal is emitted each time an error occurred.
+   *
+   * Since: 0.2
+   *
+   * Deprecated: 1.12
+   */
+  media_signals[ERROR_SIGNAL] =
+    g_signal_new (I_("error"),
+                  CLUTTER_TYPE_MEDIA,
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (ClutterMediaIface, error),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__BOXED,
+                  G_TYPE_NONE, 1,
+                  G_TYPE_ERROR);
+}
+
+
+/**
+ * clutter_media_set_uri:
+ * @media: a #ClutterMedia
+ * @uri: the URI of the media stream
+ *
+ * Sets the URI of @media to @uri.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_uri (ClutterMedia *media,
+                      const gchar  *uri)
+{
+  g_return_if_fail (CLUTTER_IS_MEDIA(media));
+
+  g_object_set (G_OBJECT (media), "uri", uri, NULL);
+}
+
+/**
+ * clutter_media_get_uri:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the URI from @media.
+ *
+ * Return value: the URI of the media stream. Use g_free()
+ *   to free the returned string
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+gchar *
+clutter_media_get_uri (ClutterMedia *media)
+{
+  gchar *retval = NULL;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA(media), NULL);
+
+  g_object_get (G_OBJECT (media), "uri", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_set_playing:
+ * @media: a #ClutterMedia
+ * @playing: %TRUE to start playing
+ *
+ * Starts or stops playing of @media. 
+ 
+ * The implementation might be asynchronous, so the way to know whether
+ * the actual playing state of the @media is to use the #GObject::notify
+ * signal on the #ClutterMedia:playing property and then retrieve the
+ * current state with clutter_media_get_playing(). ClutterGstVideoTexture
+ * in clutter-gst is an example of such an asynchronous implementation.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_playing (ClutterMedia *media,
+                          gboolean      playing)
+{
+  g_return_if_fail (CLUTTER_IS_MEDIA(media));
+
+  g_object_set (G_OBJECT (media), "playing", playing, NULL);
+}
+
+/**
+ * clutter_media_get_playing:
+ * @media: A #ClutterMedia object
+ *
+ * Retrieves the playing status of @media.
+ *
+ * Return value: %TRUE if playing, %FALSE if stopped.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_media_get_playing (ClutterMedia *media)
+{
+  gboolean is_playing = FALSE;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA (media), FALSE);
+
+  g_object_get (G_OBJECT (media), "playing", &is_playing, NULL);
+
+  return is_playing;
+}
+
+/**
+ * clutter_media_set_progress:
+ * @media: a #ClutterMedia
+ * @progress: the progress of the playback, between 0.0 and 1.0
+ *
+ * Sets the playback progress of @media. The @progress is
+ * a normalized value between 0.0 (begin) and 1.0 (end).
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_progress (ClutterMedia *media,
+                           gdouble       progress)
+{
+  g_return_if_fail (CLUTTER_IS_MEDIA (media));
+
+  g_object_set (G_OBJECT (media), "progress", progress, NULL);
+}
+
+/**
+ * clutter_media_get_progress:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the playback progress of @media.
+ *
+ * Return value: the playback progress, between 0.0 and 1.0
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gdouble
+clutter_media_get_progress (ClutterMedia *media)
+{
+  gdouble retval = 0.0;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA (media), 0);
+
+  g_object_get (G_OBJECT (media), "progress", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_set_subtitle_uri:
+ * @media: a #ClutterMedia
+ * @uri: the URI of a subtitle file
+ *
+ * Sets the location of a subtitle file to display while playing @media.
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_subtitle_uri (ClutterMedia *media,
+                                 const char   *uri)
+{
+  g_return_if_fail (CLUTTER_IS_MEDIA (media));
+
+  g_object_set (G_OBJECT (media), "subtitle-uri", uri, NULL);
+}
+
+/**
+ * clutter_media_get_subtitle_uri:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the URI of the subtitle file in use.
+ *
+ * Return value: the URI of the subtitle file. Use g_free()
+ *   to free the returned string
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+gchar *
+clutter_media_get_subtitle_uri (ClutterMedia *media)
+{
+  gchar *retval = NULL;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA(media), NULL);
+
+  g_object_get (G_OBJECT (media), "subtitle-uri", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_set_subtitle_font_name:
+ * @media: a #ClutterMedia
+ * @font_name: a font name, or %NULL to set the default font name
+ *
+ * Sets the font used by the subtitle renderer. The @font_name string must be
+ * either %NULL, which means that the default font name of the underlying
+ * implementation will be used; or must follow the grammar recognized by
+ * pango_font_description_from_string() like:
+ *
+ * |[
+ *   clutter_media_set_subtitle_font_name (media, "Sans 24pt");
+ * ]|
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_subtitle_font_name (ClutterMedia *media,
+                                      const char   *font_name)
+{
+  g_return_if_fail (CLUTTER_IS_MEDIA (media));
+
+  g_object_set (G_OBJECT (media), "subtitle-font-name", font_name, NULL);
+}
+
+/**
+ * clutter_media_get_subtitle_font_name:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the font name currently used.
+ *
+ * Return value: a string containing the font name. Use g_free()
+ *   to free the returned string
+ *
+ * Since: 1.2
+ *
+ * Deprecated: 1.12
+ */
+gchar *
+clutter_media_get_subtitle_font_name (ClutterMedia *media)
+{
+  gchar *retval = NULL;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA(media), NULL);
+
+  g_object_get (G_OBJECT (media), "subtitle-font-name", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_set_audio_volume:
+ * @media: a #ClutterMedia
+ * @volume: the volume as a double between 0.0 and 1.0
+ *
+ * Sets the playback volume of @media to @volume.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_audio_volume (ClutterMedia *media,
+                               gdouble       volume)
+{
+  g_return_if_fail (CLUTTER_IS_MEDIA(media));
+
+  g_object_set (G_OBJECT (media), "audio-volume", volume, NULL);
+}
+
+/**
+ * clutter_media_get_audio_volume:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the playback volume of @media.
+ *
+ * Return value: The playback volume between 0.0 and 1.0
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gdouble
+clutter_media_get_audio_volume (ClutterMedia *media)
+{
+  gdouble retval = 0.0;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA (media), 0.0);
+
+  g_object_get (G_OBJECT (media), "audio-volume", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_get_can_seek:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves whether @media is seekable or not.
+ *
+ * Return value: %TRUE if @media can seek, %FALSE otherwise.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_media_get_can_seek (ClutterMedia *media)
+{
+  gboolean retval = FALSE;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA (media), FALSE);
+
+  g_object_get (G_OBJECT (media), "can-seek", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_get_buffer_fill:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the amount of the stream that is buffered.
+ *
+ * Return value: the fill level, between 0.0 and 1.0
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gdouble
+clutter_media_get_buffer_fill (ClutterMedia *media)
+{
+  gdouble retval = 0.0;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA (media), 0);
+
+  g_object_get (G_OBJECT (media), "buffer-fill", &retval, NULL);
+
+  return retval;
+}
+
+/**
+ * clutter_media_get_duration:
+ * @media: a #ClutterMedia
+ *
+ * Retrieves the duration of the media stream that @media represents.
+ *
+ * Return value: the duration of the media stream, in seconds
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+gdouble
+clutter_media_get_duration (ClutterMedia *media)
+{
+  gdouble retval = 0;
+
+  g_return_val_if_fail (CLUTTER_IS_MEDIA(media), 0);
+
+  g_object_get (G_OBJECT (media), "duration", &retval, NULL);
+
+  return retval;
+}
+
+/* helper funcs */
+
+/**
+ * clutter_media_set_filename:
+ * @media: a #ClutterMedia
+ * @filename: A filename
+ *
+ * Sets the source of @media using a file path.
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_media_set_filename (ClutterMedia *media,
+                            const gchar  *filename)
+{
+  gchar *uri;
+  GError *uri_error = NULL;
+
+  if (!g_path_is_absolute (filename))
+    {
+      gchar *abs_path;
+
+      abs_path = g_build_filename (g_get_current_dir (), filename, NULL);
+      uri = g_filename_to_uri (abs_path, NULL, &uri_error);
+      g_free (abs_path);
+    }
+  else
+    uri = g_filename_to_uri (filename, NULL, &uri_error);
+
+  if (uri_error)
+    {
+      g_signal_emit (media, media_signals[ERROR_SIGNAL], 0, uri_error);
+      g_error_free (uri_error);
+      return;
+    }
+
+  clutter_media_set_uri (media, uri);
+
+  g_free (uri);
+}
diff --git a/clutter/deprecated/clutter-media.h b/clutter/deprecated/clutter-media.h
new file mode 100644
index 0000000..ad1068a
--- /dev/null
+++ b/clutter/deprecated/clutter-media.h
@@ -0,0 +1,121 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By: Matthew Allum  <mallum openedhand com>
+ *              Emmanuele Bassi <ebassi linux intel com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ * Copyright (C) 2009 Intel Corp.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_MEDIA_H__
+#define __CLUTTER_MEDIA_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_MEDIA                      (clutter_media_get_type ())
+#define CLUTTER_MEDIA(obj)                      (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_MEDIA, 
ClutterMedia))
+#define CLUTTER_IS_MEDIA(obj)                   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_MEDIA))
+#define CLUTTER_MEDIA_GET_INTERFACE(obj)        (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CLUTTER_TYPE_MEDIA, 
ClutterMediaIface))
+
+typedef struct _ClutterMedia            ClutterMedia; /* dummy typedef */
+typedef struct _ClutterMediaIface       ClutterMediaIface;
+
+/**
+ * ClutterMedia:
+ *
+ * #ClutterMedia is an opaque structure whose members cannot be directly
+ * accessed
+ *
+ * Since: 0.2
+ */
+
+/**
+ * ClutterMediaIface:
+ * @eos: handler for the #ClutterMedia::eos signal
+ * @error: handler for the #ClutterMedia::error signal
+ *
+ * Interface vtable for #ClutterMedia implementations
+ *
+ * Since: 0.2
+ */
+struct _ClutterMediaIface
+{
+  /*< private >*/
+  GTypeInterface base_iface;
+
+  /*< public >*/
+  /* signals */
+  void (* eos)   (ClutterMedia *media);
+  void (* error) (ClutterMedia *media,
+                 const GError *error);
+};
+
+CLUTTER_DEPRECATED_IN_1_12
+GType    clutter_media_get_type               (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_uri                (ClutterMedia *media,
+                                               const gchar  *uri);
+CLUTTER_DEPRECATED_IN_1_12
+gchar *  clutter_media_get_uri                (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_filename           (ClutterMedia *media,
+                                               const gchar  *filename);
+
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_playing            (ClutterMedia *media,
+                                               gboolean      playing);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean clutter_media_get_playing            (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_progress           (ClutterMedia *media,
+                                               gdouble       progress);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble  clutter_media_get_progress           (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_subtitle_uri       (ClutterMedia *media,
+                                               const gchar  *uri);
+CLUTTER_DEPRECATED_IN_1_12
+gchar *  clutter_media_get_subtitle_uri       (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_subtitle_font_name (ClutterMedia *media,
+                                               const char   *font_name);
+CLUTTER_DEPRECATED_IN_1_12
+gchar *  clutter_media_get_subtitle_font_name (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+void     clutter_media_set_audio_volume       (ClutterMedia *media,
+                                               gdouble       volume);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble  clutter_media_get_audio_volume       (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean clutter_media_get_can_seek           (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble  clutter_media_get_buffer_fill        (ClutterMedia *media);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble  clutter_media_get_duration           (ClutterMedia *media);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_MEDIA_H__ */
diff --git a/clutter/deprecated/clutter-rectangle.c b/clutter/deprecated/clutter-rectangle.c
new file mode 100644
index 0000000..b6236af
--- /dev/null
+++ b/clutter/deprecated/clutter-rectangle.c
@@ -0,0 +1,559 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+/**
+ * SECTION:clutter-rectangle
+ * @short_description: An actor that displays a simple rectangle.
+ *
+ * #ClutterRectangle is a #ClutterActor which draws a simple filled rectangle.
+ *
+ * Deprecated: 1.10: Use #ClutterActor instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-rectangle.h"
+#include "deprecated/clutter-actor.h"
+
+#include "clutter-actor-private.h"
+#include "clutter-color.h"
+#include "clutter-debug.h"
+#include "clutter-main.h"
+#include "clutter-private.h"
+
+#include "cogl/cogl.h"
+
+G_DEFINE_TYPE (ClutterRectangle, clutter_rectangle, CLUTTER_TYPE_ACTOR);
+
+enum
+{
+  PROP_0,
+
+  PROP_COLOR,
+  PROP_BORDER_COLOR,
+  PROP_BORDER_WIDTH,
+  PROP_HAS_BORDER
+
+  /* FIXME: Add gradient, rounded corner props etc */
+};
+
+#define CLUTTER_RECTANGLE_GET_PRIVATE(obj) \
+(G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_RECTANGLE, ClutterRectanglePrivate))
+
+struct _ClutterRectanglePrivate
+{
+  ClutterColor color;
+  ClutterColor border_color;
+
+  guint border_width;
+
+  guint has_border : 1;
+};
+
+static const ClutterColor default_color        = { 255, 255, 255, 255 };
+static const ClutterColor default_border_color = {   0,   0,   0, 255 };
+
+static void
+clutter_rectangle_paint (ClutterActor *self)
+{
+  ClutterRectanglePrivate *priv = CLUTTER_RECTANGLE (self)->priv;
+  ClutterGeometry geom;
+  guint8 tmp_alpha;
+
+  CLUTTER_NOTE (PAINT,
+                "painting rect '%s'",
+               clutter_actor_get_name (self) ? clutter_actor_get_name (self)
+                                              : "unknown");
+  clutter_actor_get_allocation_geometry (self, &geom);
+
+  /* parent paint call will have translated us into position so
+   * paint from 0, 0
+   */
+  if (priv->has_border)
+    {
+      /* compute the composited opacity of the actor taking into
+       * account the opacity of the color set by the user
+       */
+      tmp_alpha = clutter_actor_get_paint_opacity (self)
+                * priv->border_color.alpha
+                / 255;
+
+      /* paint the border */
+      cogl_set_source_color4ub (priv->border_color.red,
+                                priv->border_color.green,
+                                priv->border_color.blue,
+                                tmp_alpha);
+
+      /* this sucks, but it's the only way to make a border */
+      cogl_rectangle (priv->border_width, 0,
+                      geom.width,
+                      priv->border_width);
+
+      cogl_rectangle (geom.width - priv->border_width,
+                      priv->border_width,
+                      geom.width,
+                      geom.height);
+
+      cogl_rectangle (0, geom.height - priv->border_width,
+                      geom.width - priv->border_width,
+                      geom.height);
+
+      cogl_rectangle (0, 0,
+                      priv->border_width,
+                      geom.height - priv->border_width);
+
+      tmp_alpha = clutter_actor_get_paint_opacity (self)
+                * priv->color.alpha
+                / 255;
+
+      /* now paint the rectangle */
+      cogl_set_source_color4ub (priv->color.red,
+                                priv->color.green,
+                                priv->color.blue,
+                                tmp_alpha);
+
+      cogl_rectangle (priv->border_width, priv->border_width,
+                      geom.width - priv->border_width,
+                      geom.height - priv->border_width);
+    }
+  else
+    {
+      /* compute the composited opacity of the actor taking into
+       * account the opacity of the color set by the user
+       */
+      tmp_alpha = clutter_actor_get_paint_opacity (self)
+                * priv->color.alpha
+                / 255;
+
+      cogl_set_source_color4ub (priv->color.red,
+                                priv->color.green,
+                                priv->color.blue,
+                                tmp_alpha);
+
+      cogl_rectangle (0, 0, geom.width, geom.height);
+    }
+}
+
+static gboolean
+clutter_rectangle_get_paint_volume (ClutterActor       *self,
+                                    ClutterPaintVolume *volume)
+{
+  return _clutter_actor_set_default_paint_volume (self,
+                                                  CLUTTER_TYPE_RECTANGLE,
+                                                  volume);
+}
+
+static gboolean
+clutter_rectangle_has_overlaps (ClutterActor *self)
+{
+  /* Rectangles never need an offscreen redirect because there are
+     never any overlapping primitives */
+  return FALSE;
+}
+
+static void
+clutter_rectangle_set_property (GObject      *object,
+                               guint         prop_id,
+                               const GValue *value,
+                               GParamSpec   *pspec)
+{
+  ClutterRectangle *rectangle = CLUTTER_RECTANGLE(object);
+
+  switch (prop_id)
+    {
+    case PROP_COLOR:
+      clutter_rectangle_set_color (rectangle, clutter_value_get_color (value));
+      break;
+    case PROP_BORDER_COLOR:
+      clutter_rectangle_set_border_color (rectangle,
+                                          clutter_value_get_color (value));
+      break;
+    case PROP_BORDER_WIDTH:
+      clutter_rectangle_set_border_width (rectangle,
+                                          g_value_get_uint (value));
+      break;
+    case PROP_HAS_BORDER:
+      rectangle->priv->has_border = g_value_get_boolean (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+clutter_rectangle_get_property (GObject    *object,
+                               guint       prop_id,
+                               GValue     *value,
+                               GParamSpec *pspec)
+{
+  ClutterRectanglePrivate *priv = CLUTTER_RECTANGLE(object)->priv;
+
+  switch (prop_id)
+    {
+    case PROP_COLOR:
+      clutter_value_set_color (value, &priv->color);
+      break;
+    case PROP_BORDER_COLOR:
+      clutter_value_set_color (value, &priv->border_color);
+      break;
+    case PROP_BORDER_WIDTH:
+      g_value_set_uint (value, priv->border_width);
+      break;
+    case PROP_HAS_BORDER:
+      g_value_set_boolean (value, priv->has_border);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+
+static void
+clutter_rectangle_finalize (GObject *object)
+{
+  G_OBJECT_CLASS (clutter_rectangle_parent_class)->finalize (object);
+}
+
+static void
+clutter_rectangle_dispose (GObject *object)
+{
+  G_OBJECT_CLASS (clutter_rectangle_parent_class)->dispose (object);
+}
+
+
+static void
+clutter_rectangle_class_init (ClutterRectangleClass *klass)
+{
+  GObjectClass      *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
+  GParamSpec        *pspec;
+
+  actor_class->paint            = clutter_rectangle_paint;
+  actor_class->get_paint_volume = clutter_rectangle_get_paint_volume;
+  actor_class->has_overlaps     = clutter_rectangle_has_overlaps;
+
+  gobject_class->finalize     = clutter_rectangle_finalize;
+  gobject_class->dispose      = clutter_rectangle_dispose;
+  gobject_class->set_property = clutter_rectangle_set_property;
+  gobject_class->get_property = clutter_rectangle_get_property;
+
+  /**
+   * ClutterRectangle:color:
+   *
+   * The color of the rectangle.
+   */
+  pspec = clutter_param_spec_color ("color",
+                                    P_("Color"),
+                                    P_("The color of the rectangle"),
+                                    &default_color,
+                                    CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_COLOR, pspec);
+
+  /**
+   * ClutterRectangle:border-color:
+   *
+   * The color of the border of the rectangle.
+   *
+   * Since: 0.2
+   */
+  pspec = clutter_param_spec_color ("border-color",
+                                    P_("Border Color"),
+                                    P_("The color of the border of the rectangle"),
+                                    &default_border_color,
+                                    CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_BORDER_COLOR, pspec);
+
+  /**
+   * ClutterRectangle:border-width:
+   *
+   * The width of the border of the rectangle, in pixels.
+   *
+   * Since: 0.2
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_BORDER_WIDTH,
+                                   g_param_spec_uint ("border-width",
+                                                      P_("Border Width"),
+                                                      P_("The width of the border of the rectangle"),
+                                                      0, G_MAXUINT,
+                                                      0,
+                                                      CLUTTER_PARAM_READWRITE));
+  /**
+   * ClutterRectangle:has-border:
+   *
+   * Whether the #ClutterRectangle should be displayed with a border.
+   *
+   * Since: 0.2
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_HAS_BORDER,
+                                   g_param_spec_boolean ("has-border",
+                                                         P_("Has Border"),
+                                                         P_("Whether the rectangle should have a border"),
+                                                         FALSE,
+                                                         CLUTTER_PARAM_READWRITE));
+
+  g_type_class_add_private (gobject_class, sizeof (ClutterRectanglePrivate));
+}
+
+static void
+clutter_rectangle_init (ClutterRectangle *self)
+{
+  ClutterRectanglePrivate *priv;
+
+  self->priv = priv = CLUTTER_RECTANGLE_GET_PRIVATE (self);
+
+  priv->color = default_color;
+  priv->border_color = default_border_color;
+
+  priv->border_width = 0;
+
+  priv->has_border = FALSE;
+}
+
+/**
+ * clutter_rectangle_new:
+ *
+ * Creates a new #ClutterActor with a rectangular shape.
+ *
+ * Return value: a new #ClutterActor
+ */
+ClutterActor*
+clutter_rectangle_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_RECTANGLE, NULL);
+}
+
+/**
+ * clutter_rectangle_new_with_color:
+ * @color: a #ClutterColor
+ *
+ * Creates a new #ClutterActor with a rectangular shape
+ * and of the given @color.
+ *
+ * Return value: a new #ClutterActor
+ */
+ClutterActor *
+clutter_rectangle_new_with_color (const ClutterColor *color)
+{
+  return g_object_new (CLUTTER_TYPE_RECTANGLE,
+                      "color", color,
+                      NULL);
+}
+
+/**
+ * clutter_rectangle_get_color:
+ * @rectangle: a #ClutterRectangle
+ * @color: (out caller-allocates): return location for a #ClutterColor
+ *
+ * Retrieves the color of @rectangle.
+ */
+void
+clutter_rectangle_get_color (ClutterRectangle *rectangle,
+                            ClutterColor     *color)
+{
+  ClutterRectanglePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_RECTANGLE (rectangle));
+  g_return_if_fail (color != NULL);
+
+  priv = rectangle->priv;
+
+  color->red = priv->color.red;
+  color->green = priv->color.green;
+  color->blue = priv->color.blue;
+  color->alpha = priv->color.alpha;
+}
+
+/**
+ * clutter_rectangle_set_color:
+ * @rectangle: a #ClutterRectangle
+ * @color: a #ClutterColor
+ *
+ * Sets the color of @rectangle.
+ */
+void
+clutter_rectangle_set_color (ClutterRectangle   *rectangle,
+                            const ClutterColor *color)
+{
+  ClutterRectanglePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_RECTANGLE (rectangle));
+  g_return_if_fail (color != NULL);
+
+  g_object_ref (rectangle);
+
+  priv = rectangle->priv;
+
+  priv->color.red = color->red;
+  priv->color.green = color->green;
+  priv->color.blue = color->blue;
+  priv->color.alpha = color->alpha;
+
+#if 0
+  /* FIXME - appears to be causing border to always get drawn */
+  if (clutter_color_equal (&priv->color, &priv->border_color))
+    priv->has_border = FALSE;
+  else
+    priv->has_border = TRUE;
+#endif
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (rectangle));
+
+  g_object_notify (G_OBJECT (rectangle), "color");
+  g_object_notify (G_OBJECT (rectangle), "has-border");
+  g_object_unref (rectangle);
+}
+
+/**
+ * clutter_rectangle_get_border_width:
+ * @rectangle: a #ClutterRectangle
+ *
+ * Gets the width (in pixels) of the border used by @rectangle
+ *
+ * Return value: the border's width
+ *
+ * Since: 0.2
+ */
+guint
+clutter_rectangle_get_border_width (ClutterRectangle *rectangle)
+{
+  g_return_val_if_fail (CLUTTER_IS_RECTANGLE (rectangle), 0);
+
+  return rectangle->priv->border_width;
+}
+
+/**
+ * clutter_rectangle_set_border_width:
+ * @rectangle: a #ClutterRectangle
+ * @width: the width of the border
+ *
+ * Sets the width (in pixel) of the border used by @rectangle.
+ * A @width of 0 will unset the border.
+ *
+ * Since: 0.2
+ */
+void
+clutter_rectangle_set_border_width (ClutterRectangle *rectangle,
+                                    guint             width)
+{
+  ClutterRectanglePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_RECTANGLE (rectangle));
+  priv = rectangle->priv;
+
+  if (priv->border_width != width)
+    {
+      g_object_ref (rectangle);
+
+      priv->border_width = width;
+
+      if (priv->border_width != 0)
+        priv->has_border = TRUE;
+      else
+        priv->has_border = FALSE;
+
+      clutter_actor_queue_redraw (CLUTTER_ACTOR (rectangle));
+
+      g_object_notify (G_OBJECT (rectangle), "border-width");
+      g_object_notify (G_OBJECT (rectangle), "has-border");
+      g_object_unref (rectangle);
+    }
+}
+
+/**
+ * clutter_rectangle_get_border_color:
+ * @rectangle: a #ClutterRectangle
+ * @color: (out caller-allocates): return location for a #ClutterColor
+ *
+ * Gets the color of the border used by @rectangle and places
+ * it into @color.
+ *
+ * Since: 0.2
+ */
+void
+clutter_rectangle_get_border_color (ClutterRectangle *rectangle,
+                                    ClutterColor     *color)
+{
+  ClutterRectanglePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_RECTANGLE (rectangle));
+  g_return_if_fail (color != NULL);
+
+  priv = rectangle->priv;
+
+  color->red = priv->border_color.red;
+  color->green = priv->border_color.green;
+  color->blue = priv->border_color.blue;
+  color->alpha = priv->border_color.alpha;
+}
+
+/**
+ * clutter_rectangle_set_border_color:
+ * @rectangle: a #ClutterRectangle
+ * @color: the color of the border
+ *
+ * Sets the color of the border used by @rectangle using @color
+ */
+void
+clutter_rectangle_set_border_color (ClutterRectangle   *rectangle,
+                                    const ClutterColor *color)
+{
+  ClutterRectanglePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_RECTANGLE (rectangle));
+  g_return_if_fail (color != NULL);
+
+  priv = rectangle->priv;
+
+  if (priv->border_color.red != color->red ||
+      priv->border_color.green != color->green ||
+      priv->border_color.blue != color->blue ||
+      priv->border_color.alpha != color->alpha)
+    {
+      g_object_ref (rectangle);
+
+      priv->border_color.red = color->red;
+      priv->border_color.green = color->green;
+      priv->border_color.blue = color->blue;
+      priv->border_color.alpha = color->alpha;
+
+      if (clutter_color_equal (&priv->color, &priv->border_color))
+        priv->has_border = FALSE;
+      else
+        priv->has_border = TRUE;
+
+      clutter_actor_queue_redraw (CLUTTER_ACTOR (rectangle));
+
+      g_object_notify (G_OBJECT (rectangle), "border-color");
+      g_object_notify (G_OBJECT (rectangle), "has-border");
+      g_object_unref (rectangle);
+    }
+}
diff --git a/clutter/deprecated/clutter-rectangle.h b/clutter/deprecated/clutter-rectangle.h
new file mode 100644
index 0000000..9bae785
--- /dev/null
+++ b/clutter/deprecated/clutter-rectangle.h
@@ -0,0 +1,117 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_RECTANGLE_H__
+#define __CLUTTER_RECTANGLE_H__
+
+#include <glib-object.h>
+#include <clutter/clutter-actor.h>
+#include <clutter/clutter-color.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_RECTANGLE                  (clutter_rectangle_get_type())
+#define CLUTTER_RECTANGLE(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_RECTANGLE, 
ClutterRectangle))
+#define CLUTTER_RECTANGLE_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_RECTANGLE, 
ClutterRectangleClass))
+#define CLUTTER_IS_RECTANGLE(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_RECTANGLE))
+#define CLUTTER_IS_RECTANGLE_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_RECTANGLE))
+#define CLUTTER_RECTANGLE_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_RECTANGLE, 
ClutterRectangleClass))
+
+typedef struct _ClutterRectangle        ClutterRectangle;
+typedef struct _ClutterRectangleClass   ClutterRectangleClass;
+typedef struct _ClutterRectanglePrivate ClutterRectanglePrivate;
+
+/**
+ * ClutterRectangle:
+ *
+ * The #ClutterRectangle structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.1
+ */
+struct _ClutterRectangle
+{
+  /*< private >*/
+  ClutterActor           parent;
+
+  ClutterRectanglePrivate *priv;
+}; 
+
+/**
+ * ClutterRectangleClass:
+ *
+ * The #ClutterRectangleClass structure contains only private data
+ *
+ * Since: 0.1
+ */
+struct _ClutterRectangleClass 
+{
+  /*< private >*/
+  ClutterActorClass parent_class;
+
+  /* padding for future expansion */
+  void (*_clutter_rectangle1) (void);
+  void (*_clutter_rectangle2) (void);
+  void (*_clutter_rectangle3) (void);
+  void (*_clutter_rectangle4) (void);
+};
+
+CLUTTER_DEPRECATED_IN_1_10
+GType clutter_rectangle_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_new)
+ClutterActor *clutter_rectangle_new              (void);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_new)
+ClutterActor *clutter_rectangle_new_with_color   (const ClutterColor *color);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_background_color)
+void          clutter_rectangle_get_color        (ClutterRectangle   *rectangle,
+                                                  ClutterColor       *color);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_background_color)
+void          clutter_rectangle_set_color        (ClutterRectangle   *rectangle,
+                                                 const ClutterColor *color);
+
+CLUTTER_DEPRECATED_IN_1_10
+guint         clutter_rectangle_get_border_width (ClutterRectangle   *rectangle);
+
+CLUTTER_DEPRECATED_IN_1_10
+void          clutter_rectangle_set_border_width (ClutterRectangle   *rectangle,
+                                                  guint               width);
+
+CLUTTER_DEPRECATED_IN_1_10
+void          clutter_rectangle_get_border_color (ClutterRectangle   *rectangle,
+                                                  ClutterColor       *color);
+
+CLUTTER_DEPRECATED_IN_1_10
+void          clutter_rectangle_set_border_color (ClutterRectangle   *rectangle,
+                                                  const ClutterColor *color);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_RECTANGLE_H__ */
diff --git a/clutter/deprecated/clutter-score.c b/clutter/deprecated/clutter-score.c
new file mode 100644
index 0000000..2991d65
--- /dev/null
+++ b/clutter/deprecated/clutter-score.c
@@ -0,0 +1,1168 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2007 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+/**
+ * SECTION:clutter-score
+ * @short_description: Controller for multiple timelines
+ *
+ * #ClutterScore is a base class for sequencing multiple timelines in order.
+ * Using #ClutterScore it is possible to start multiple timelines at the
+ * same time or launch multiple timelines when a particular timeline has
+ * emitted the ClutterTimeline::completed signal.
+ *
+ * Each time a #ClutterTimeline is started and completed, a signal will be
+ * emitted.
+ *
+ * For example, this code will start two #ClutterTimeline<!-- -->s after
+ * a third timeline terminates:
+ *
+ * |[
+ *   ClutterTimeline *timeline_1, *timeline_2, *timeline_3;
+ *   ClutterScore *score;
+ *
+ *   timeline_1 = clutter_timeline_new_for_duration (1000);
+ *   timeline_2 = clutter_timeline_new_for_duration (500);
+ *   timeline_3 = clutter_timeline_new_for_duration (500);
+ *
+ *   score = clutter_score_new ();
+ *
+ *   clutter_score_append (score, NULL,       timeline_1);
+ *   clutter_score_append (score, timeline_1, timeline_2);
+ *   clutter_score_append (score, timeline_1, timeline_3);
+ *
+ *   clutter_score_start (score);
+ * ]|
+ *
+ * A #ClutterScore takes a reference on the timelines it manages,
+ * so timelines can be safely unreferenced after being appended.
+ *
+ * New timelines can be appended to the #ClutterScore using
+ * clutter_score_append() and removed using clutter_score_remove().
+ *
+ * Timelines can also be appended to a specific marker on the
+ * parent timeline, using clutter_score_append_at_marker().
+ *
+ * The score can be cleared using clutter_score_remove_all().
+ *
+ * The list of timelines can be retrieved using
+ * clutter_score_list_timelines().
+ *
+ * The score state is controlled using clutter_score_start(),
+ * clutter_score_pause(), clutter_score_stop() and clutter_score_rewind().
+ * The state can be queried using clutter_score_is_playing().
+ *
+ * #ClutterScore is available since Clutter 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterAnimator or #ClutterState to create
+ *   complex animations involving multiple timelines.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-score.h"
+#include "clutter-main.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-debug.h"
+
+typedef struct _ClutterScoreEntry       ClutterScoreEntry;
+
+struct _ClutterScoreEntry
+{
+  /* the entry unique id */
+  gulong id;
+
+  ClutterTimeline *timeline;
+  ClutterTimeline *parent;
+
+  /* the optional marker on the parent */
+  gchar *marker;
+
+  /* signal handlers id */
+  gulong complete_id;
+  gulong marker_id;
+
+  ClutterScore *score;
+
+  /* pointer back to the tree structure */
+  GNode *node;
+};
+
+#define CLUTTER_SCORE_GET_PRIVATE(obj)  (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_SCORE, 
ClutterScorePrivate))
+
+struct _ClutterScorePrivate
+{
+  GNode      *root;
+
+  GHashTable *running_timelines;
+
+  gulong      last_id;
+
+  guint       is_paused : 1;
+  guint       loop      : 1;
+};
+
+enum
+{
+  PROP_0,
+
+  PROP_LOOP
+};
+
+enum
+{
+  TIMELINE_STARTED,
+  TIMELINE_COMPLETED,
+
+  STARTED,
+  PAUSED,
+  COMPLETED,
+
+  LAST_SIGNAL
+};
+
+static inline void clutter_score_clear (ClutterScore *score);
+
+G_DEFINE_TYPE (ClutterScore, clutter_score, G_TYPE_OBJECT);
+
+static int score_signals[LAST_SIGNAL] = { 0 }; 
+
+/* Object */
+
+static void
+clutter_score_set_property (GObject      *gobject,
+                           guint         prop_id,
+                           const GValue *value,
+                           GParamSpec   *pspec)
+{
+  ClutterScorePrivate *priv = CLUTTER_SCORE_GET_PRIVATE (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_LOOP:
+      priv->loop = g_value_get_boolean (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+clutter_score_get_property (GObject    *gobject,
+                           guint       prop_id,
+                           GValue     *value,
+                           GParamSpec *pspec)
+{
+  ClutterScorePrivate *priv = CLUTTER_SCORE_GET_PRIVATE (gobject);
+
+  switch (prop_id)
+    {
+    case PROP_LOOP:
+      g_value_set_boolean (value, priv->loop);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_score_finalize (GObject *object)
+{
+  ClutterScore *score = CLUTTER_SCORE (object);
+
+  clutter_score_stop (score);
+  clutter_score_clear (score);
+
+  G_OBJECT_CLASS (clutter_score_parent_class)->finalize (object);
+}
+
+static void
+clutter_score_class_init (ClutterScoreClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  gobject_class->set_property = clutter_score_set_property;
+  gobject_class->get_property = clutter_score_get_property;
+  gobject_class->finalize     = clutter_score_finalize;
+
+  g_type_class_add_private (klass, sizeof (ClutterScorePrivate));
+
+  /**
+   * ClutterScore:loop:
+   *
+   * Whether the #ClutterScore should restart once finished.
+   *
+   * Since: 0.6
+   * Deprecated: 1.8
+   */
+  g_object_class_install_property (gobject_class,
+                                   PROP_LOOP,
+                                   g_param_spec_boolean ("loop",
+                                                         "Loop",
+                                                         "Whether the score should restart once finished",
+                                                         FALSE,
+                                                         CLUTTER_PARAM_READWRITE));
+
+  /**
+   * ClutterScore::timeline-started:
+   * @score: the score which received the signal
+   * @timeline: the current timeline
+   *
+   * The ::timeline-started signal is emitted each time a new timeline
+   * inside a #ClutterScore starts playing.
+   *
+   * Since: 0.6
+   * Deprecated: 1.8
+   */
+  score_signals[TIMELINE_STARTED] =
+    g_signal_new ("timeline-started",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterScoreClass, timeline_started),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__OBJECT,
+                 G_TYPE_NONE,
+                 1, CLUTTER_TYPE_TIMELINE);
+  /**
+   * ClutterScore::timeline-completed:
+   * @score: the score which received the signal
+   * @timeline: the completed timeline
+   *
+   * The ::timeline-completed signal is emitted each time a timeline
+   * inside a #ClutterScore terminates.
+   *
+   * Since: 0.6
+   * Deprecated: 1.8
+   */
+  score_signals[TIMELINE_COMPLETED] =
+   g_signal_new ("timeline-completed",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterScoreClass, timeline_completed),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__OBJECT,
+                 G_TYPE_NONE, 1,
+                 CLUTTER_TYPE_TIMELINE);
+  /**
+   * ClutterScore::completed:
+   * @score: the score which received the signal
+   *
+   * The ::completed signal is emitted each time a #ClutterScore terminates.
+   *
+   * Since: 0.6
+   * Deprecated: 1.8
+   */
+  score_signals[COMPLETED] =
+    g_signal_new ("completed",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterScoreClass, completed),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__VOID,
+                 G_TYPE_NONE, 0);
+  /**
+   * ClutterScore::started:
+   * @score: the score which received the signal
+   *
+   * The ::started signal is emitted each time a #ClutterScore starts playing.
+   *
+   * Since: 0.6
+   * Deprecated: 1.8
+   */
+  score_signals[STARTED] =
+    g_signal_new ("started",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterScoreClass, started),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__VOID,
+                 G_TYPE_NONE, 0);
+  /**
+   * ClutterScore::paused:
+   * @score: the score which received the signal
+   *
+   * The ::paused signal is emitted each time a #ClutterScore
+   * is paused.
+   *
+   * Since: 0.6
+   * Deprecated: 1.8
+   */
+  score_signals[PAUSED] =
+    g_signal_new ("paused",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterScoreClass, paused),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__VOID,
+                 G_TYPE_NONE, 0);
+}
+
+static void
+clutter_score_init (ClutterScore *self)
+{
+  ClutterScorePrivate *priv;
+
+  self->priv = priv = CLUTTER_SCORE_GET_PRIVATE (self);
+
+  /* sentinel */
+  priv->root = g_node_new (NULL);
+
+  priv->running_timelines = NULL;
+
+  priv->is_paused = FALSE;
+  priv->loop = FALSE;
+
+  priv->last_id = 1;
+}
+
+/**
+ * clutter_score_new:
+ *
+ * Creates a new #ClutterScore. A #ClutterScore is an object that can
+ * hold multiple #ClutterTimeline<!-- -->s in a sequential order.
+ *
+ * Return value: the newly created #ClutterScore. Use g_object_unref()
+ *   when done.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+ClutterScore *
+clutter_score_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_SCORE,  NULL);
+}
+
+/**
+ * clutter_score_set_loop:
+ * @score: a #ClutterScore
+ * @loop: %TRUE for enable looping
+ *
+ * Sets whether @score should loop. A looping #ClutterScore will start
+ * from its initial state after the ::complete signal has been fired.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_set_loop (ClutterScore *score,
+                          gboolean         loop)
+{
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+
+  if (score->priv->loop != loop)
+    {
+      score->priv->loop = loop;
+
+      g_object_notify (G_OBJECT (score), "loop");
+    }
+}
+
+/**
+ * clutter_score_get_loop:
+ * @score: a #ClutterScore
+ *
+ * Gets whether @score is looping
+ *
+ * Return value: %TRUE if the score is looping
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+gboolean
+clutter_score_get_loop (ClutterScore *score)
+{
+  g_return_val_if_fail (CLUTTER_IS_SCORE (score), FALSE);
+
+  return score->priv->loop;
+}
+
+/**
+ * clutter_score_is_playing:
+ * @score: A #ClutterScore
+ *
+ * Query state of a #ClutterScore instance.
+ *
+ * Return Value: %TRUE if score is currently playing
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+gboolean
+clutter_score_is_playing (ClutterScore *score)
+{
+  g_return_val_if_fail (CLUTTER_IS_SCORE (score), FALSE);
+
+  if (score->priv->is_paused)
+    return FALSE;
+
+  return score->priv->running_timelines
+    && g_hash_table_size (score->priv->running_timelines) != 0;
+}
+
+/* destroy_entry:
+ * @node: a #GNode
+ *
+ * Frees the #ClutterScoreEntry attached to @node.
+ */
+static gboolean
+destroy_entry (GNode                  *node,
+               G_GNUC_UNUSED gpointer  data)
+{
+  ClutterScoreEntry *entry = node->data;
+
+  if (G_LIKELY (entry != NULL))
+    {
+      if (entry->marker_id)
+        {
+          g_signal_handler_disconnect (entry->parent, entry->marker_id);
+          entry->marker_id = 0;
+        }
+
+      if (entry->complete_id)
+        {
+          g_signal_handler_disconnect (entry->timeline, entry->complete_id);
+          entry->complete_id = 0;
+        }
+
+      g_object_unref (entry->timeline);
+      g_free (entry->marker);
+      g_slice_free (ClutterScoreEntry, entry);
+
+      node->data = NULL;
+    }
+
+  /* continue */
+  return FALSE;
+}
+
+typedef enum {
+  FIND_BY_TIMELINE,
+  FIND_BY_ID,
+  REMOVE_BY_ID,
+  LIST_TIMELINES
+} TraverseAction;
+
+typedef struct {
+  TraverseAction action;
+
+  ClutterScore *score;
+
+  /* parameters */
+  union {
+    ClutterTimeline *timeline;
+    gulong id;
+    ClutterScoreEntry *entry;
+  } d;
+
+  gpointer result;
+} TraverseClosure;
+
+/* multi-purpose traversal function for the N-ary tree used by the score */
+static gboolean
+traverse_children (GNode    *node,
+                   gpointer  data)
+{
+  TraverseClosure *closure = data;
+  ClutterScoreEntry *entry = node->data;
+  gboolean retval = FALSE;
+
+  /* root */
+  if (!entry)
+    return TRUE;
+
+  switch (closure->action)
+    {
+    case FIND_BY_TIMELINE:
+      if (closure->d.timeline == entry->timeline)
+        {
+          closure->result = node;
+          retval = TRUE;
+        }
+      break;
+
+    case FIND_BY_ID:
+      if (closure->d.id == entry->id)
+        {
+          closure->result = node;
+          retval = TRUE;
+        }
+      break;
+
+    case REMOVE_BY_ID:
+      if (closure->d.id == entry->id)
+        {
+          /* Destroy all the child entries of this node */
+          g_node_traverse (node,
+                           G_POST_ORDER,
+                           G_TRAVERSE_ALL,
+                           -1,
+                           destroy_entry, NULL);
+
+          /* Keep track of this node so that it will be destroyed
+             further up */
+          closure->result = node;
+
+          retval = TRUE;
+        }
+      break;
+
+    case LIST_TIMELINES:
+      closure->result = g_slist_prepend (closure->result, entry->timeline);
+      retval = FALSE;
+      break;
+    }
+
+  return retval;
+}
+
+static GNode *
+find_entry_by_timeline (ClutterScore    *score,
+                        ClutterTimeline *timeline)
+{
+  ClutterScorePrivate *priv = score->priv;
+  TraverseClosure closure;
+
+  closure.action = FIND_BY_TIMELINE;
+  closure.score = score;
+  closure.d.timeline = timeline;
+  closure.result = NULL;
+
+  g_node_traverse (priv->root,
+                   G_POST_ORDER,
+                   G_TRAVERSE_ALL,
+                   -1,
+                   traverse_children, &closure);
+
+  if (closure.result)
+    return closure.result;
+
+  return NULL;
+}
+
+static GNode *
+find_entry_by_id (ClutterScore *score,
+                  gulong        id_)
+{
+  ClutterScorePrivate *priv = score->priv;
+  TraverseClosure closure;
+
+  closure.action = FIND_BY_ID;
+  closure.score = score;
+  closure.d.id = id_;
+  closure.result = NULL;
+
+  g_node_traverse (priv->root,
+                   G_POST_ORDER,
+                   G_TRAVERSE_ALL,
+                   -1,
+                   traverse_children, &closure);
+
+  if (closure.result)
+    return closure.result;
+
+  return NULL;
+}
+
+/* forward declaration */
+static void start_entry (ClutterScoreEntry *entry);
+
+static void
+start_children_entries (GNode    *node,
+                        gpointer  data)
+{
+  ClutterScoreEntry *entry = node->data;
+
+  /* If data is NULL, start all entries that have no marker, otherwise
+     only start entries that have the same marker */
+  if (data == NULL
+      ? entry->marker == NULL
+      : (entry->marker && !strcmp (data, entry->marker)))
+    start_entry (entry);
+}
+
+static void
+on_timeline_marker (ClutterTimeline   *timeline,
+                    const gchar       *marker_name,
+                    gint               frame_num,
+                    ClutterScoreEntry *entry)
+{
+  GNode *parent;
+  CLUTTER_NOTE (SCHEDULER, "timeline [%p] marker ('%s') reached",
+               entry->timeline,
+                entry->marker);
+
+  parent = find_entry_by_timeline (entry->score, timeline);
+  if (!parent)
+    return;
+
+  /* start every child */
+  if (parent->children)
+    {
+      g_node_children_foreach (parent,
+                               G_TRAVERSE_ALL,
+                               start_children_entries,
+                               (gpointer) marker_name);
+    }
+}
+
+static void
+on_timeline_completed (ClutterTimeline   *timeline,
+                       ClutterScoreEntry *entry)
+{
+  ClutterScorePrivate *priv = entry->score->priv;
+
+  g_hash_table_remove (priv->running_timelines,
+                       GUINT_TO_POINTER (entry->id));
+
+  g_signal_handler_disconnect (timeline, entry->complete_id);
+  entry->complete_id = 0;
+
+  CLUTTER_NOTE (SCHEDULER, "timeline [%p] ('%lu') completed", 
+               entry->timeline,
+                entry->id);
+
+  g_signal_emit (entry->score, score_signals[TIMELINE_COMPLETED], 0,
+                 entry->timeline);
+
+  /* start every child */
+  if (entry->node->children)
+    {
+      g_node_children_foreach (entry->node,
+                               G_TRAVERSE_ALL,
+                               start_children_entries,
+                               NULL);
+    }
+
+  /* score has finished - fire 'completed' signal */
+  if (g_hash_table_size (priv->running_timelines) == 0)
+    {
+      CLUTTER_NOTE (SCHEDULER, "looks like we finished");
+      
+      g_signal_emit (entry->score, score_signals[COMPLETED], 0);
+
+      clutter_score_stop (entry->score);
+      
+      if (priv->loop)
+        clutter_score_start (entry->score);
+    }
+}
+
+static void
+start_entry (ClutterScoreEntry *entry)
+{
+  ClutterScorePrivate *priv = entry->score->priv;
+
+  /* timelines attached to a marker might already be playing when we
+   * end up here from the ::completed handler, so we need to perform
+   * this check to avoid restarting those timelines
+   */
+  if (clutter_timeline_is_playing (entry->timeline))
+    return;
+
+  entry->complete_id = g_signal_connect (entry->timeline,
+                                         "completed",
+                                         G_CALLBACK (on_timeline_completed),
+                                         entry);
+
+  CLUTTER_NOTE (SCHEDULER, "timeline [%p] ('%lu') started",
+                entry->timeline,
+                entry->id);
+
+  if (G_UNLIKELY (priv->running_timelines == NULL))
+    priv->running_timelines = g_hash_table_new (NULL, NULL);
+
+  g_hash_table_insert (priv->running_timelines,
+                       GUINT_TO_POINTER (entry->id),
+                       entry);
+
+  clutter_timeline_start (entry->timeline);
+
+  g_signal_emit (entry->score, score_signals[TIMELINE_STARTED], 0,
+                 entry->timeline);
+}
+
+enum
+{
+  ACTION_START,
+  ACTION_PAUSE,
+  ACTION_STOP
+};
+
+static void
+foreach_running_timeline (gpointer key,
+                          gpointer value,
+                          gpointer user_data)
+{
+  ClutterScoreEntry *entry = value;
+  gint action = GPOINTER_TO_INT (user_data);
+
+  switch (action)
+    {
+    case ACTION_START:
+      clutter_timeline_start (entry->timeline);
+      break;
+
+    case ACTION_PAUSE:
+      clutter_timeline_pause (entry->timeline);
+      break;
+
+    case ACTION_STOP:
+      if (entry->complete_id)
+       {
+         g_signal_handler_disconnect (entry->timeline, entry->complete_id);
+         entry->complete_id = 0;
+       }
+      clutter_timeline_stop (entry->timeline);
+      break;
+    }
+}
+
+/**
+ * clutter_score_start:
+ * @score: A #ClutterScore
+ *
+ * Starts the score.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_start (ClutterScore *score)
+{
+  ClutterScorePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+
+  priv = score->priv;
+
+  if (priv->is_paused)
+    {
+      g_hash_table_foreach (priv->running_timelines,
+                           foreach_running_timeline,
+                           GINT_TO_POINTER (ACTION_START));
+      priv->is_paused = FALSE;
+    }
+  else
+    {
+      g_signal_emit (score, score_signals[STARTED], 0);
+      g_node_children_foreach (priv->root,
+                               G_TRAVERSE_ALL,
+                               start_children_entries,
+                               NULL);
+    }
+}
+
+/**
+ * clutter_score_stop:
+ * @score: A #ClutterScore
+ *
+ * Stops and rewinds a playing #ClutterScore instance.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_stop (ClutterScore *score)
+{
+  ClutterScorePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+
+  priv = score->priv;
+
+  if (priv->running_timelines)
+    {
+      g_hash_table_foreach (priv->running_timelines,
+                            foreach_running_timeline,
+                            GINT_TO_POINTER (ACTION_STOP));
+      g_hash_table_destroy (priv->running_timelines);
+      priv->running_timelines = NULL;
+    }
+}
+
+/**
+ * clutter_score_pause:
+ * @score: a #ClutterScore
+ *
+ * Pauses a playing score @score.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_pause (ClutterScore *score)
+{
+  ClutterScorePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+
+  priv = score->priv;
+
+  if (!clutter_score_is_playing (score)) 
+    return;
+
+  g_hash_table_foreach (priv->running_timelines,
+                       foreach_running_timeline,
+                       GINT_TO_POINTER (ACTION_PAUSE));
+
+  priv->is_paused = TRUE;
+
+  g_signal_emit (score, score_signals[PAUSED], 0);
+}
+
+/**
+ * clutter_score_rewind:
+ * @score: A #ClutterScore
+ *
+ * Rewinds a #ClutterScore to its initial state.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_rewind (ClutterScore *score)
+{
+  gboolean was_playing;
+
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+
+  was_playing = clutter_score_is_playing (score);
+
+  clutter_score_stop (score);
+
+  if (was_playing)
+    clutter_score_start (score);
+}
+
+static inline void
+clutter_score_clear (ClutterScore *score)
+{
+  ClutterScorePrivate *priv = score->priv;
+
+  g_node_traverse (priv->root,
+                   G_POST_ORDER,
+                   G_TRAVERSE_ALL,
+                   -1,
+                   destroy_entry, NULL);
+  g_node_destroy (priv->root);
+}
+
+/**
+ * clutter_score_append:
+ * @score: a #ClutterScore
+ * @parent: (allow-none): a #ClutterTimeline in the score, or %NULL
+ * @timeline: a #ClutterTimeline
+ *
+ * Appends a timeline to another one existing in the score; the newly
+ * appended timeline will be started when @parent is complete.
+ *
+ * If @parent is %NULL, the new #ClutterTimeline will be started when
+ * clutter_score_start() is called.
+ *
+ * #ClutterScore will take a reference on @timeline.
+ *
+ * Return value: the id of the #ClutterTimeline inside the score, or
+ *   0 on failure. The returned id can be used with clutter_score_remove()
+ *   or clutter_score_get_timeline().
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+gulong
+clutter_score_append (ClutterScore    *score,
+                     ClutterTimeline *parent,
+                     ClutterTimeline *timeline)
+{
+  ClutterScorePrivate *priv;
+  ClutterScoreEntry *entry;
+
+  g_return_val_if_fail (CLUTTER_IS_SCORE (score), 0);
+  g_return_val_if_fail (parent == NULL || CLUTTER_IS_TIMELINE (parent), 0);
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), 0);
+
+  priv = score->priv;
+
+  if (!parent)
+    {
+      entry = g_slice_new (ClutterScoreEntry);
+      entry->timeline = g_object_ref (timeline);
+      entry->parent = NULL;
+      entry->id = priv->last_id;
+      entry->marker = NULL;
+      entry->marker_id = 0;
+      entry->complete_id = 0;
+      entry->score = score;
+
+      entry->node = g_node_append_data (priv->root, entry);
+    }
+  else
+    {
+      GNode *node;
+
+      node = find_entry_by_timeline (score, parent);
+      if (G_UNLIKELY (!node))
+        {
+          g_warning ("Unable to find the parent timeline inside the score.");
+          return 0;
+        }
+
+      entry = g_slice_new (ClutterScoreEntry);
+      entry->timeline = g_object_ref (timeline);
+      entry->parent = parent;
+      entry->id = priv->last_id;
+      entry->marker = NULL;
+      entry->marker_id = 0;
+      entry->complete_id = 0;
+      entry->score = score;
+
+      entry->node = g_node_append_data (node, entry);
+    }
+
+  priv->last_id += 1;
+
+  return entry->id;
+}
+
+/**
+ * clutter_score_append_at_marker:
+ * @score: a #ClutterScore
+ * @parent: the parent #ClutterTimeline
+ * @marker_name: the name of the marker to use
+ * @timeline: the #ClutterTimeline to append
+ *
+ * Appends @timeline at the given @marker_name on the @parent
+ * #ClutterTimeline.
+ *
+ * If you want to append @timeline at the end of @parent, use
+ * clutter_score_append().
+ *
+ * The #ClutterScore will take a reference on @timeline.
+ *
+ * Return value: the id of the #ClutterTimeline inside the score, or
+ *   0 on failure. The returned id can be used with clutter_score_remove()
+ *   or clutter_score_get_timeline().
+ *
+ * Since: 0.8
+ * Deprecated: 1.8
+ */
+gulong
+clutter_score_append_at_marker (ClutterScore    *score,
+                                ClutterTimeline *parent,
+                                const gchar     *marker_name,
+                                ClutterTimeline *timeline)
+{
+  ClutterScorePrivate *priv;
+  GNode *node;
+  ClutterScoreEntry *entry;
+  gchar *marker_reached_signal;
+
+  g_return_val_if_fail (CLUTTER_IS_SCORE (score), 0);
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (parent), 0);
+  g_return_val_if_fail (marker_name != NULL, 0);
+  g_return_val_if_fail (CLUTTER_IS_TIMELINE (timeline), 0);
+
+  if (!clutter_timeline_has_marker (parent, marker_name))
+    {
+      g_warning ("The parent timeline has no marker '%s'", marker_name);
+      return 0;
+    }
+
+  priv = score->priv;
+
+  node = find_entry_by_timeline (score, parent);
+  if (G_UNLIKELY (!node))
+    {
+      g_warning ("Unable to find the parent timeline inside the score.");
+      return 0;
+    }
+
+  entry = g_slice_new (ClutterScoreEntry);
+  entry->timeline = g_object_ref (timeline);
+  entry->parent = parent;
+  entry->marker = g_strdup (marker_name);
+  entry->id = priv->last_id;
+  entry->score = score;
+  entry->complete_id = 0;
+
+  marker_reached_signal = g_strdup_printf ("marker-reached::%s", marker_name);
+  entry->marker_id = g_signal_connect (entry->parent,
+                                       marker_reached_signal,
+                                       G_CALLBACK (on_timeline_marker),
+                                       entry);
+
+  entry->node = g_node_append_data (node, entry);
+
+  g_free (marker_reached_signal);
+
+  priv->last_id += 1;
+
+  return entry->id;
+}
+
+/**
+ * clutter_score_remove:
+ * @score: a #ClutterScore
+ * @id_: the id of the timeline to remove
+ *
+ * Removes the #ClutterTimeline with the given id inside @score. If
+ * the timeline has other timelines attached to it, those are removed
+ * as well.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_remove (ClutterScore *score,
+                      gulong        id_)
+{
+  ClutterScorePrivate *priv;
+  TraverseClosure closure;
+
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+  g_return_if_fail (id_ > 0);
+
+  priv = score->priv;
+
+  closure.action = REMOVE_BY_ID;
+  closure.score = score;
+  closure.d.id = id_;
+  closure.result = NULL;
+
+  g_node_traverse (priv->root,
+                   G_POST_ORDER,
+                   G_TRAVERSE_ALL,
+                   -1,
+                   traverse_children, &closure);
+
+  if (closure.result)
+    g_node_destroy (closure.result);
+}
+
+/**
+ * clutter_score_remove_all:
+ * @score: a #ClutterScore
+ *
+ * Removes all the timelines inside @score.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+void
+clutter_score_remove_all (ClutterScore *score)
+{
+  ClutterScorePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_SCORE (score));
+
+  priv = score->priv;
+
+  /* this will take care of the running timelines */
+  clutter_score_stop (score);
+
+  /* destroy all the contents of the tree */
+  clutter_score_clear (score);
+
+  /* recreate the sentinel */
+  priv->root = g_node_new (NULL);
+}
+
+/**
+ * clutter_score_get_timeline:
+ * @score: a #ClutterScore
+ * @id_: the id of the timeline
+ *
+ * Retrieves the #ClutterTimeline for @id_ inside @score.
+ *
+ * Return value: (transfer none): the requested timeline, or %NULL. This
+ *   function does not increase the reference count on the returned
+ *   #ClutterTimeline
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+ClutterTimeline *
+clutter_score_get_timeline (ClutterScore *score,
+                            gulong        id_)
+{
+  GNode *node;
+  ClutterScoreEntry *entry;
+
+  g_return_val_if_fail (CLUTTER_IS_SCORE (score), NULL);
+  g_return_val_if_fail (id_ > 0, NULL);
+
+  node = find_entry_by_id (score, id_);
+  if (G_UNLIKELY (!node))
+    return NULL;
+
+  entry = node->data;
+
+  return entry->timeline;
+}
+
+/**
+ * clutter_score_list_timelines:
+ * @score: a #ClutterScore
+ *
+ * Retrieves a list of all the #ClutterTimelines managed by @score.
+ *
+ * Return value: (transfer container) (element-type Clutter.Timeline): a
+ *   #GSList containing all the timelines in the score. This function does
+ *   not increase the reference count of the returned timelines. Use
+ *   g_slist_free() on the returned list to deallocate its resources.
+ *
+ * Since: 0.6
+ * Deprecated: 1.8
+ */
+GSList *
+clutter_score_list_timelines (ClutterScore *score)
+{
+  ClutterScorePrivate *priv;
+  TraverseClosure closure;
+  GSList *retval;
+
+  g_return_val_if_fail (CLUTTER_IS_SCORE (score), NULL);
+
+  priv = score->priv;
+
+  closure.action = LIST_TIMELINES;
+  closure.result = NULL;
+
+  g_node_traverse (priv->root,
+                   G_POST_ORDER,
+                   G_TRAVERSE_ALL,
+                   -1,
+                   traverse_children, &closure);
+
+  retval = closure.result;
+
+  return retval;
+}
diff --git a/clutter/deprecated/clutter-score.h b/clutter/deprecated/clutter-score.h
new file mode 100644
index 0000000..301dabd
--- /dev/null
+++ b/clutter/deprecated/clutter-score.h
@@ -0,0 +1,144 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_SCORE_H__
+#define __CLUTTER_SCORE_H__
+
+#include <clutter/clutter-timeline.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_SCORE              (clutter_score_get_type ())
+
+#define CLUTTER_SCORE(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_SCORE, 
ClutterScore))
+#define CLUTTER_SCORE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_SCORE, 
ClutterScoreClass))
+#define CLUTTER_IS_SCORE(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_SCORE))
+#define CLUTTER_IS_SCORE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_SCORE))
+#define CLUTTER_SCORE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_SCORE, 
ClutterScoreClass))
+
+typedef struct _ClutterScore        ClutterScore;
+typedef struct _ClutterScorePrivate ClutterScorePrivate;
+typedef struct _ClutterScoreClass   ClutterScoreClass; 
+
+/**
+ * ClutterScore:
+ *
+ * The #ClutterScore structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.6
+ */
+struct _ClutterScore
+{
+  /*< private >*/
+  GObject                 parent;
+  ClutterScorePrivate    *priv;
+};
+
+/**
+ * ClutterScoreClass:
+ * @timeline_started: handler for the #ClutterScore::timeline-started signal
+ * @timeline_completed: handler for the #ClutterScore::timeline-completed
+ *   signal
+ * @started: handler for the #ClutterScore::started signal
+ * @completed: handler for the #ClutterScore::completed signal
+ * @paused: handler for the #ClutterScore::paused signal
+ *
+ * The #ClutterScoreClass structure contains only private data
+ *
+ * Since: 0.6
+ */
+struct _ClutterScoreClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /*< public >*/
+  void (* timeline_started)   (ClutterScore    *score,
+                               ClutterTimeline *timeline);
+  void (* timeline_completed) (ClutterScore    *score,
+                               ClutterTimeline *timeline);
+
+  void (* started)            (ClutterScore    *score);
+  void (* completed)          (ClutterScore    *score);
+  void (* paused)             (ClutterScore    *score);
+
+  /*< private >*/
+  /* padding for future expansion */
+  void (*_clutter_score_1) (void);
+  void (*_clutter_score_2) (void);
+  void (*_clutter_score_3) (void);
+  void (*_clutter_score_4) (void);
+  void (*_clutter_score_5) (void);
+}; 
+
+CLUTTER_DEPRECATED_IN_1_8
+GType clutter_score_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_8
+ClutterScore *   clutter_score_new            (void);
+
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_set_loop         (ClutterScore    *score,
+                                                 gboolean         loop);
+CLUTTER_DEPRECATED_IN_1_8
+gboolean         clutter_score_get_loop         (ClutterScore    *score);
+
+CLUTTER_DEPRECATED_IN_1_8
+gulong           clutter_score_append           (ClutterScore    *score,
+                                                 ClutterTimeline *parent,
+                                                 ClutterTimeline *timeline);
+CLUTTER_DEPRECATED_IN_1_8
+gulong           clutter_score_append_at_marker (ClutterScore    *score,
+                                                 ClutterTimeline *parent,
+                                                 const gchar     *marker_name,
+                                                 ClutterTimeline *timeline);
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_remove           (ClutterScore    *score,
+                                                 gulong           id_);
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_remove_all       (ClutterScore    *score);
+CLUTTER_DEPRECATED_IN_1_8
+ClutterTimeline *clutter_score_get_timeline     (ClutterScore    *score,
+                                                 gulong           id_);
+CLUTTER_DEPRECATED_IN_1_8
+GSList *         clutter_score_list_timelines   (ClutterScore    *score);
+
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_start            (ClutterScore    *score);
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_stop             (ClutterScore    *score);
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_pause            (ClutterScore    *score);
+CLUTTER_DEPRECATED_IN_1_8
+void             clutter_score_rewind           (ClutterScore    *score);
+CLUTTER_DEPRECATED_IN_1_8
+gboolean         clutter_score_is_playing       (ClutterScore    *score);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_SCORE_H__ */
diff --git a/clutter/deprecated/clutter-shader.c b/clutter/deprecated/clutter-shader.c
new file mode 100644
index 0000000..3e728ca
--- /dev/null
+++ b/clutter/deprecated/clutter-shader.c
@@ -0,0 +1,942 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By: Matthew Allum   <mallum openedhand com>
+ *              Øyvind Kolås    <pippin o-hand com>
+ *              Emmanuele Bassi <ebassi linux intel com>
+ *
+ * Copyright (C) 2007, 2008 OpenedHand
+ * Copyright (C) 2009 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+/**
+ * SECTION:clutter-shader
+ * @short_description: Programmable pipeline abstraction
+ *
+ * #ClutterShader is an object providing an abstraction over the
+ * OpenGL programmable pipeline. By using #ClutterShader<!-- -->s is
+ * possible to override the drawing pipeline by using small programs
+ * also known as "shaders".
+ *
+ * #ClutterShader is available since Clutter 0.6.
+ *
+ * #ClutterShader is deprecated since Clutter 1.8; use #ClutterShaderEffect
+ * in newly written code.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include <glib.h>
+#include <glib/gi18n-lib.h>
+
+/* This file depends on the cogl 1.x api which isn't exposed when
+ * COGL_ENABLE_EXPERIMENTAL_2_0_API is defined...
+ */
+#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
+#include <cogl/cogl.h>
+
+#include "clutter-shader.h"
+
+#include "clutter-debug.h"
+#include "clutter-private.h"
+
+/* global list of shaders */
+static GList *clutter_shaders_list = NULL;
+
+#define CLUTTER_SHADER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_SHADER, 
ClutterShaderPrivate))
+
+struct _ClutterShaderPrivate
+{
+  guint       compiled         : 1; /* Shader is bound to the GL context */
+  guint       is_enabled       : 1;
+  guint       vertex_is_glsl   : 1;
+  guint       fragment_is_glsl : 1;
+
+  gchar      *vertex_source;        /* GLSL source for vertex shader */
+  gchar      *fragment_source;      /* GLSL source for fragment shader */
+
+  CoglHandle  program;
+
+  CoglHandle  vertex_shader;
+  CoglHandle  fragment_shader;
+};
+
+enum
+{
+  PROP_0,
+
+  PROP_VERTEX_SOURCE,
+  PROP_FRAGMENT_SOURCE,
+  PROP_COMPILED,
+  PROP_ENABLED,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+G_DEFINE_TYPE (ClutterShader, clutter_shader, G_TYPE_OBJECT);
+
+static inline void
+clutter_shader_release_internal (ClutterShader *shader)
+{
+  ClutterShaderPrivate *priv = shader->priv;
+
+  if (!priv->compiled)
+    return;
+
+  g_assert (priv->program != COGL_INVALID_HANDLE);
+
+  if (priv->vertex_is_glsl && priv->vertex_shader != COGL_INVALID_HANDLE)
+    cogl_handle_unref (priv->vertex_shader);
+
+  if (priv->fragment_is_glsl && priv->fragment_shader != COGL_INVALID_HANDLE)
+    cogl_handle_unref (priv->fragment_shader);
+
+  if (priv->program != COGL_INVALID_HANDLE)
+    cogl_handle_unref (priv->program);
+
+  priv->vertex_shader = COGL_INVALID_HANDLE;
+  priv->fragment_shader = COGL_INVALID_HANDLE;
+  priv->program = COGL_INVALID_HANDLE;
+  priv->compiled = FALSE;
+}
+
+static void
+clutter_shader_finalize (GObject *object)
+{
+  ClutterShader        *shader;
+  ClutterShaderPrivate *priv;
+
+  shader = CLUTTER_SHADER (object);
+  priv   = shader->priv;
+
+  clutter_shaders_list = g_list_remove (clutter_shaders_list, object);
+
+  g_free (priv->fragment_source);
+  g_free (priv->vertex_source);
+
+  G_OBJECT_CLASS (clutter_shader_parent_class)->finalize (object);
+}
+
+static void
+clutter_shader_dispose (GObject *object)
+{
+  ClutterShader *shader = CLUTTER_SHADER (object);
+
+  clutter_shader_release_internal (shader);
+
+  G_OBJECT_CLASS (clutter_shader_parent_class)->finalize (object);
+}
+
+static void
+clutter_shader_set_property (GObject      *object,
+                             guint         prop_id,
+                             const GValue *value,
+                             GParamSpec   *pspec)
+{
+  ClutterShader *shader = CLUTTER_SHADER(object);
+
+  switch (prop_id)
+    {
+    case PROP_VERTEX_SOURCE:
+      clutter_shader_set_vertex_source (shader,
+                                       g_value_get_string (value), -1);
+      break;
+    case PROP_FRAGMENT_SOURCE:
+      clutter_shader_set_fragment_source (shader,
+                                         g_value_get_string (value), -1);
+      break;
+    case PROP_ENABLED:
+      clutter_shader_set_is_enabled (shader, g_value_get_boolean (value));
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_shader_get_property (GObject    *object,
+                             guint       prop_id,
+                             GValue     *value,
+                             GParamSpec *pspec)
+{
+  ClutterShader        *shader;
+  ClutterShaderPrivate *priv;
+
+  shader = CLUTTER_SHADER(object);
+  priv = shader->priv;
+
+  switch (prop_id)
+    {
+    case PROP_VERTEX_SOURCE:
+      g_value_set_string (value, priv->vertex_source);
+      break;
+    case PROP_FRAGMENT_SOURCE:
+      g_value_set_string (value, priv->fragment_source);
+      break;
+    case PROP_COMPILED:
+      g_value_set_boolean (value, priv->compiled);
+      break;
+    case PROP_ENABLED:
+      g_value_set_boolean (value, priv->is_enabled);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static GObject *
+clutter_shader_constructor (GType                  type,
+                            guint                  n_params,
+                            GObjectConstructParam *params)
+{
+  GObjectClass *parent_class;
+  GObject *object;
+
+  parent_class = G_OBJECT_CLASS (clutter_shader_parent_class);
+  object = parent_class->constructor (type, n_params, params);
+
+  /* add this instance to the global list of shaders */
+  clutter_shaders_list = g_list_prepend (clutter_shaders_list, object);
+
+  return object;
+}
+
+static void
+clutter_shader_class_init (ClutterShaderClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  GParamSpec *pspec = NULL;
+
+  object_class->finalize      = clutter_shader_finalize;
+  object_class->dispose       = clutter_shader_dispose;
+  object_class->set_property  = clutter_shader_set_property;
+  object_class->get_property  = clutter_shader_get_property;
+  object_class->constructor   = clutter_shader_constructor;
+
+  g_type_class_add_private (klass, sizeof (ClutterShaderPrivate));
+
+  /**
+   * ClutterShader:vertex-source:
+   *
+   * GLSL source code for the vertex shader part of the shader
+   * program, if any
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+   */
+  pspec = g_param_spec_string ("vertex-source",
+                               P_("Vertex Source"),
+                               P_("Source of vertex shader"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_VERTEX_SOURCE] = pspec;
+  g_object_class_install_property (object_class, PROP_VERTEX_SOURCE, pspec);
+
+  /**
+   * ClutterShader:fragment-source:
+   *
+   * GLSL source code for the fragment shader part of the shader program.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+   */
+  pspec = g_param_spec_string ("fragment-source",
+                               P_("Fragment Source"),
+                               P_("Source of fragment shader"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_FRAGMENT_SOURCE] = pspec;
+  g_object_class_install_property (object_class, PROP_FRAGMENT_SOURCE, pspec);
+
+  /**
+   * ClutterShader:compiled:
+   *
+   * Whether the shader is compiled and linked, ready for use
+   * in the GL context.
+   *
+   * Since: 0.8
+   *
+   * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+   */
+  pspec = g_param_spec_boolean ("compiled",
+                                P_("Compiled"),
+                                P_("Whether the shader is compiled and linked"),
+                                FALSE,
+                                CLUTTER_PARAM_READABLE);
+  obj_props[PROP_COMPILED] = pspec;
+  g_object_class_install_property (object_class, PROP_COMPILED, pspec);
+
+  /**
+   * ClutterShader:enabled:
+   *
+   * Whether the shader is currently used in the GL rendering pipeline.
+   *
+   * Since: 0.6
+   *
+   * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+   */
+  pspec = g_param_spec_boolean ("enabled",
+                                P_("Enabled"),
+                                P_("Whether the shader is enabled"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_ENABLED] = pspec;
+  g_object_class_install_property (object_class, PROP_ENABLED, pspec);
+}
+
+static void
+clutter_shader_init (ClutterShader *self)
+{
+  ClutterShaderPrivate *priv;
+
+  priv = self->priv = CLUTTER_SHADER_GET_PRIVATE (self);
+
+  priv->compiled = FALSE;
+
+  priv->vertex_source = NULL;
+  priv->fragment_source = NULL;
+
+  priv->program = COGL_INVALID_HANDLE;
+  priv->vertex_shader = COGL_INVALID_HANDLE;
+  priv->fragment_shader = COGL_INVALID_HANDLE;
+}
+
+/**
+ * clutter_shader_new:
+ *
+ * Create a new #ClutterShader instance.
+ *
+ * Return value: a new #ClutterShader.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+ClutterShader *
+clutter_shader_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_SHADER, NULL);
+}
+
+static inline void
+clutter_shader_set_source (ClutterShader     *shader,
+                           ClutterShaderType  shader_type,
+                           const gchar       *data,
+                           gssize             length)
+{
+  ClutterShaderPrivate *priv = shader->priv;
+  gboolean is_glsl = FALSE;
+
+  if (length < 0)
+    length = strlen (data);
+
+  g_object_freeze_notify (G_OBJECT (shader));
+
+  /* release shader if bound when changing the source, the shader will
+   * automatically be rebound on the next use.
+   */
+  if (clutter_shader_is_compiled (shader))
+    clutter_shader_release (shader);
+
+  is_glsl = !g_str_has_prefix (data, "!!ARBfp");
+
+  CLUTTER_NOTE (SHADER,
+                "setting %s shader (GLSL:%s, len:%" G_GSSIZE_FORMAT ")",
+                shader_type == CLUTTER_VERTEX_SHADER ? "vertex" : "fragment",
+                is_glsl ? "yes" : "no",
+                length);
+
+  switch (shader_type)
+    {
+    case CLUTTER_FRAGMENT_SHADER:
+      g_free (priv->fragment_source);
+
+      priv->fragment_source = g_strndup (data, length);
+      priv->fragment_is_glsl = is_glsl;
+      g_object_notify_by_pspec (G_OBJECT (shader), obj_props[PROP_FRAGMENT_SOURCE]);
+      break;
+
+    case CLUTTER_VERTEX_SHADER:
+      g_free (priv->vertex_source);
+
+      priv->vertex_source = g_strndup (data, length);
+      priv->vertex_is_glsl = is_glsl;
+      g_object_notify_by_pspec (G_OBJECT (shader), obj_props[PROP_VERTEX_SOURCE]);
+      break;
+    }
+
+  g_object_thaw_notify (G_OBJECT (shader));
+}
+
+/**
+ * clutter_shader_set_fragment_source:
+ * @shader: a #ClutterShader
+ * @data: GLSL source code.
+ * @length: length of source buffer (currently ignored)
+ *
+ * Sets the GLSL source code to be used by a #ClutterShader for the fragment
+ * program.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+void
+clutter_shader_set_fragment_source (ClutterShader      *shader,
+                                    const gchar        *data,
+                                    gssize              length)
+{
+  g_return_if_fail (CLUTTER_IS_SHADER (shader));
+  g_return_if_fail (data != NULL);
+
+  clutter_shader_set_source (shader, CLUTTER_FRAGMENT_SHADER, data, length);
+}
+
+/**
+ * clutter_shader_set_vertex_source:
+ * @shader: a #ClutterShader
+ * @data: GLSL source code.
+ * @length: length of source buffer (currently ignored)
+ *
+ * Sets the GLSL source code to be used by a #ClutterShader for the vertex
+ * program.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+void
+clutter_shader_set_vertex_source (ClutterShader      *shader,
+                                  const gchar        *data,
+                                  gssize              length)
+{
+  g_return_if_fail (CLUTTER_IS_SHADER (shader));
+  g_return_if_fail (data != NULL);
+
+  clutter_shader_set_source (shader, CLUTTER_VERTEX_SHADER, data, length);
+}
+
+static const gchar *
+clutter_shader_get_source (ClutterShader     *shader,
+                           ClutterShaderType  shader_type)
+{
+  switch (shader_type)
+    {
+    case CLUTTER_FRAGMENT_SHADER:
+      return shader->priv->fragment_source;
+
+    case CLUTTER_VERTEX_SHADER:
+      return shader->priv->vertex_source;
+    }
+
+  return NULL;
+}
+
+static CoglHandle
+clutter_shader_get_cogl_shader (ClutterShader     *shader,
+                                ClutterShaderType  shader_type)
+{
+  switch (shader_type)
+    {
+    case CLUTTER_FRAGMENT_SHADER:
+      return shader->priv->fragment_shader;
+
+    case CLUTTER_VERTEX_SHADER:
+      return shader->priv->vertex_shader;
+    }
+
+  return COGL_INVALID_HANDLE;
+}
+
+static gboolean
+clutter_shader_glsl_bind (ClutterShader      *self,
+                          ClutterShaderType   shader_type,
+                          GError            **error)
+{
+  ClutterShaderPrivate *priv = self->priv;
+  CoglHandle shader = COGL_INVALID_HANDLE;
+
+  switch (shader_type)
+    {
+    case CLUTTER_VERTEX_SHADER:
+      shader = cogl_create_shader (COGL_SHADER_TYPE_VERTEX);
+      cogl_shader_source (shader, priv->vertex_source);
+
+      priv->vertex_shader = shader;
+      break;
+
+    case CLUTTER_FRAGMENT_SHADER:
+      shader = cogl_create_shader (COGL_SHADER_TYPE_FRAGMENT);
+      cogl_shader_source (shader, priv->fragment_source);
+
+      priv->fragment_shader = shader;
+      break;
+    }
+
+  g_assert (shader != COGL_INVALID_HANDLE);
+
+  cogl_shader_compile (shader);
+  if (!cogl_shader_is_compiled (shader))
+    {
+      gchar *log_buf;
+
+      log_buf = cogl_shader_get_info_log (shader);
+
+      /* translators: the first %s is the type of the shader, either
+       * Vertex shader or Fragment shader; the second %s is the actual
+       * error as reported by COGL
+       */
+      g_set_error (error, CLUTTER_SHADER_ERROR,
+                   CLUTTER_SHADER_ERROR_COMPILE,
+                   _("%s compilation failed: %s"),
+                   shader_type == CLUTTER_VERTEX_SHADER ? _("Vertex shader")
+                                                        : _("Fragment shader"),
+                   log_buf);
+
+      g_free (log_buf);
+
+      return FALSE;
+    }
+
+  cogl_program_attach_shader (priv->program, shader);
+
+  return TRUE;
+}
+
+static gboolean
+bind_glsl_shader (ClutterShader  *self,
+                  GError        **error)
+{
+  ClutterShaderPrivate *priv = self->priv;
+  GError *bind_error = NULL;
+  gboolean res;
+
+  priv->program = cogl_create_program ();
+
+  if (priv->vertex_is_glsl && priv->vertex_source != COGL_INVALID_HANDLE)
+    {
+      res = clutter_shader_glsl_bind (self,
+                                      CLUTTER_VERTEX_SHADER,
+                                      &bind_error);
+
+      if (!res)
+        {
+          g_propagate_error (error, bind_error);
+          return FALSE;
+        }
+    }
+
+  if (priv->fragment_is_glsl && priv->fragment_source != COGL_INVALID_HANDLE)
+    {
+      res = clutter_shader_glsl_bind (self,
+                                      CLUTTER_FRAGMENT_SHADER,
+                                      &bind_error);
+
+      if (!res)
+        {
+          g_propagate_error (error, bind_error);
+          return FALSE;
+        }
+    }
+
+  cogl_program_link (priv->program);
+
+  return TRUE;
+}
+
+/**
+ * clutter_shader_compile:
+ * @shader: a #ClutterShader
+ * @error: return location for a #GError, or %NULL
+ *
+ * Compiles and links GLSL sources set for vertex and fragment shaders for
+ * a #ClutterShader. If the compilation fails and a #GError return location is
+ * provided the error will contain the errors from the compiler, if any.
+ *
+ * Return value: returns TRUE if the shader was succesfully compiled.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+gboolean
+clutter_shader_compile (ClutterShader  *shader,
+                        GError        **error)
+{
+  ClutterShaderPrivate *priv;
+
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), FALSE);
+
+  priv = shader->priv;
+
+  if (priv->compiled)
+    return priv->compiled;
+
+  if ((priv->vertex_source != COGL_INVALID_HANDLE && !priv->vertex_is_glsl) ||
+      (priv->fragment_source != COGL_INVALID_HANDLE && !priv->fragment_is_glsl))
+    {
+      /* XXX: Could remove this check, since we only advertise support for GLSL
+       * shaders anyways. */
+      g_set_error (error, CLUTTER_SHADER_ERROR,
+                   CLUTTER_SHADER_ERROR_NO_ASM,
+                   "ASM shaders not supported");
+      priv->compiled = FALSE;
+      return priv->compiled;
+    }
+
+  if (!clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL))
+    {
+      g_set_error (error, CLUTTER_SHADER_ERROR,
+                   CLUTTER_SHADER_ERROR_NO_GLSL,
+                   "GLSL shaders not supported");
+      priv->compiled = FALSE;
+      return priv->compiled;
+    }
+
+  priv->compiled = bind_glsl_shader (shader, error);
+  g_object_notify_by_pspec (G_OBJECT (shader), obj_props[PROP_COMPILED]);
+
+  return priv->compiled;
+}
+
+/**
+ * clutter_shader_release:
+ * @shader: a #ClutterShader
+ *
+ * Frees up any GL context resources held by the shader.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+void
+clutter_shader_release (ClutterShader *shader)
+{
+  g_return_if_fail (CLUTTER_IS_SHADER (shader));
+
+  clutter_shader_release_internal (shader);
+
+  g_object_notify_by_pspec (G_OBJECT (shader), obj_props[PROP_COMPILED]);
+}
+
+/**
+ * clutter_shader_is_compiled:
+ * @shader: a #ClutterShader
+ *
+ * Checks whether @shader is is currently compiled, linked and bound
+ * to the GL context.
+ *
+ * Return value: %TRUE if the shader is compiled, linked and ready for use.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+gboolean
+clutter_shader_is_compiled (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), FALSE);
+
+  return shader->priv->compiled;
+}
+
+/**
+ * clutter_shader_set_is_enabled:
+ * @shader: a #ClutterShader
+ * @enabled: The new state of the shader.
+ *
+ * Enables a shader. This function will attempt to compile and link
+ * the shader, if it isn't already.
+ *
+ * When @enabled is %FALSE the default state of the GL pipeline will be
+ * used instead.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+void
+clutter_shader_set_is_enabled (ClutterShader *shader,
+                               gboolean       enabled)
+{
+  ClutterShaderPrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_SHADER (shader));
+
+  priv = shader->priv;
+
+  if (priv->is_enabled != enabled)
+    {
+      GError *error = NULL;
+      gboolean res;
+
+      res = clutter_shader_compile (shader, &error);
+      if (!res)
+        {
+          g_warning ("Unable to bind the shader: %s",
+                     error ? error->message : "unknown error");
+          if (error)
+            g_error_free (error);
+
+          return;
+        }
+
+      priv->is_enabled = enabled;
+
+      if (priv->is_enabled)
+        cogl_program_use (priv->program);
+      else
+        cogl_program_use (COGL_INVALID_HANDLE);
+
+      g_object_notify_by_pspec (G_OBJECT (shader), obj_props[PROP_ENABLED]);
+    }
+}
+
+/**
+ * clutter_shader_get_is_enabled:
+ * @shader: a #ClutterShader
+ *
+ * Checks whether @shader is enabled.
+ *
+ * Return value: %TRUE if the shader is enabled.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+gboolean
+clutter_shader_get_is_enabled (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), FALSE);
+
+  return shader->priv->is_enabled;
+}
+
+/**
+ * clutter_shader_set_uniform:
+ * @shader: a #ClutterShader.
+ * @name: name of uniform in GLSL shader program to set.
+ * @value: a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix
+ *         #GValue.
+ *
+ * Sets a user configurable variable in the GLSL shader programs attached to
+ * a #ClutterShader.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+void
+clutter_shader_set_uniform (ClutterShader *shader,
+                            const gchar   *name,
+                            const GValue  *value)
+{
+  ClutterShaderPrivate *priv;
+  int                   location = 0;
+  gsize                 size;
+
+  g_return_if_fail (CLUTTER_IS_SHADER (shader));
+  g_return_if_fail (name != NULL);
+  g_return_if_fail (value != NULL);
+  g_return_if_fail (CLUTTER_VALUE_HOLDS_SHADER_FLOAT (value) ||
+                    CLUTTER_VALUE_HOLDS_SHADER_INT (value) ||
+                    CLUTTER_VALUE_HOLDS_SHADER_MATRIX (value) ||
+                    G_VALUE_HOLDS_FLOAT (value) ||
+                    G_VALUE_HOLDS_INT (value));
+
+  priv = shader->priv;
+  g_return_if_fail (priv->program != COGL_INVALID_HANDLE);
+
+  location = cogl_program_get_uniform_location (priv->program, name);
+
+  if (CLUTTER_VALUE_HOLDS_SHADER_FLOAT (value))
+    {
+      const float *floats;
+
+      floats = clutter_value_get_shader_float (value, &size);
+      cogl_program_set_uniform_float (priv->program,
+                                      location, size, 1, floats);
+    }
+  else if (CLUTTER_VALUE_HOLDS_SHADER_INT (value))
+    {
+      const int *ints;
+
+      ints = clutter_value_get_shader_int (value, &size);
+      cogl_program_set_uniform_int (priv->program,
+                                    location, size, 1, ints);
+    }
+  else if (CLUTTER_VALUE_HOLDS_SHADER_MATRIX (value))
+    {
+      const float *matrix;
+
+      matrix = clutter_value_get_shader_matrix (value, &size);
+      cogl_program_set_uniform_matrix (priv->program,
+                                       location, size, 1, FALSE, matrix);
+    }
+  else if (G_VALUE_HOLDS_FLOAT (value))
+    {
+      float float_val = g_value_get_float (value);
+
+      cogl_program_set_uniform_float (priv->program,
+                                      location, 1, 1, &float_val);
+    }
+  else if (G_VALUE_HOLDS_INT (value))
+    {
+      int int_val = g_value_get_int (value);
+
+      cogl_program_set_uniform_int (priv->program,
+                                    location, 1, 1, &int_val);
+    }
+  else
+    g_assert_not_reached ();
+}
+
+/**
+ * clutter_shader_get_fragment_source:
+ * @shader: a #ClutterShader
+ *
+ * Query the current GLSL fragment source set on @shader.
+ *
+ * Return value: the source of the fragment shader for this
+ * ClutterShader object or %NULL. The returned string is owned by the
+ * shader object and should never be modified or freed
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+const gchar *
+clutter_shader_get_fragment_source (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), NULL);
+
+  return clutter_shader_get_source (shader, CLUTTER_FRAGMENT_SHADER);
+}
+
+/**
+ * clutter_shader_get_vertex_source:
+ * @shader: a #ClutterShader
+ *
+ * Query the current GLSL vertex source set on @shader.
+ *
+ * Return value: the source of the vertex shader for this
+ * ClutterShader object or %NULL. The returned string is owned by the
+ * shader object and should never be modified or freed
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+const gchar *
+clutter_shader_get_vertex_source (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), NULL);
+
+  return clutter_shader_get_source (shader, CLUTTER_VERTEX_SHADER);
+}
+
+/**
+ * clutter_shader_get_cogl_program:
+ * @shader: a #ClutterShader
+ *
+ * Retrieves the underlying #CoglHandle for the shader program.
+ *
+ * Return value: (transfer none): A #CoglHandle for the shader program,
+ *   or %NULL. The handle is owned by the #ClutterShader and it should
+ *   not be unreferenced
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+CoglHandle
+clutter_shader_get_cogl_program (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), NULL);
+
+  return shader->priv->program;
+}
+
+/**
+ * clutter_shader_get_cogl_fragment_shader:
+ * @shader: a #ClutterShader
+ *
+ * Retrieves the underlying #CoglHandle for the fragment shader.
+ *
+ * Return value: (transfer none): A #CoglHandle for the fragment
+ *   shader, or %NULL. The handle is owned by the #ClutterShader
+ *   and it should not be unreferenced
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+CoglHandle
+clutter_shader_get_cogl_fragment_shader (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), NULL);
+
+  return clutter_shader_get_cogl_shader (shader, CLUTTER_FRAGMENT_SHADER);
+}
+
+/**
+ * clutter_shader_get_cogl_vertex_shader:
+ * @shader: a #ClutterShader
+ *
+ * Retrieves the underlying #CoglHandle for the vertex shader.
+ *
+ * Return value: (transfer none): A #CoglHandle for the vertex
+ *   shader, or %NULL. The handle is owned by the #ClutterShader
+ *   and it should not be unreferenced
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead.
+ */
+CoglHandle
+clutter_shader_get_cogl_vertex_shader (ClutterShader *shader)
+{
+  g_return_val_if_fail (CLUTTER_IS_SHADER (shader), NULL);
+
+  return clutter_shader_get_cogl_shader (shader, CLUTTER_VERTEX_SHADER);
+}
+
+GQuark
+clutter_shader_error_quark (void)
+{
+  return g_quark_from_static_string ("clutter-shader-error");
+}
diff --git a/clutter/deprecated/clutter-shader.h b/clutter/deprecated/clutter-shader.h
new file mode 100644
index 0000000..a04b8dd
--- /dev/null
+++ b/clutter/deprecated/clutter-shader.h
@@ -0,0 +1,182 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *             Øyvind Kolås   <pippin o-hand com>
+ *
+ * Copyright (C) 2007 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_SHADER_H__
+#define __CLUTTER_SHADER_H__
+
+#include <clutter/clutter-types.h>
+#include <clutter/clutter-shader-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_SHADER         (clutter_shader_get_type ())
+#define CLUTTER_SHADER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), CLUTTER_TYPE_SHADER, ClutterShader))
+#define CLUTTER_SHADER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), CLUTTER_TYPE_SHADER, ClutterShaderClass))
+#define CLUTTER_IS_SHADER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), CLUTTER_TYPE_SHADER))
+#define CLUTTER_IS_SHADER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), CLUTTER_TYPE_SHADER))
+#define CLUTTER_SHADER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CLUTTER_TYPE_SHADER, 
ClutterShaderClass))
+
+/**
+ * CLUTTER_SHADER_ERROR:
+ *
+ * Error domain for #ClutterShader errors
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8
+ */
+#define CLUTTER_SHADER_ERROR        (clutter_shader_error_quark ())
+
+/**
+ * ClutterShaderError:
+ * @CLUTTER_SHADER_ERROR_NO_ASM: No ASM shaders support
+ * @CLUTTER_SHADER_ERROR_NO_GLSL: No GLSL shaders support
+ * @CLUTTER_SHADER_ERROR_COMPILE: Compilation error
+ *
+ * #ClutterShader error enumeration
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8
+ */
+typedef enum {
+  CLUTTER_SHADER_ERROR_NO_ASM,
+  CLUTTER_SHADER_ERROR_NO_GLSL,
+  CLUTTER_SHADER_ERROR_COMPILE
+} ClutterShaderError;
+
+typedef struct _ClutterShaderPrivate ClutterShaderPrivate;
+typedef struct _ClutterShaderClass   ClutterShaderClass;
+
+/**
+ * ClutterShader:
+ *
+ * The #ClutterShader structure contains only private data
+ * and should be accessed using the provided API
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffect instead
+ */
+struct _ClutterShader
+{
+  /*< private >*/
+  GObject               parent;
+  ClutterShaderPrivate *priv;
+};
+
+/**
+ * ClutterShaderClass:
+ *
+ * The #ClutterShaderClass structure contains only private data
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use #ClutterShaderEffectClass instead
+ */
+struct _ClutterShaderClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+};
+
+CLUTTER_DEPRECATED_IN_1_8
+GQuark clutter_shader_error_quark (void);
+
+CLUTTER_DEPRECATED_IN_1_8
+GType clutter_shader_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+ClutterShader *       clutter_shader_new                      (void);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+void                  clutter_shader_set_is_enabled           (ClutterShader      *shader,
+                                                               gboolean            enabled);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+gboolean              clutter_shader_get_is_enabled           (ClutterShader      *shader);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+gboolean              clutter_shader_compile                  (ClutterShader      *shader,
+                                                               GError            **error);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+void                  clutter_shader_release                  (ClutterShader      *shader);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+gboolean              clutter_shader_is_compiled              (ClutterShader      *shader);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+void                  clutter_shader_set_vertex_source        (ClutterShader      *shader,
+                                                               const gchar        *data,
+                                                               gssize              length);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+void                  clutter_shader_set_fragment_source      (ClutterShader      *shader,
+                                                               const gchar        *data,
+                                                               gssize              length);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+const gchar *         clutter_shader_get_vertex_source        (ClutterShader      *shader);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+const gchar *         clutter_shader_get_fragment_source      (ClutterShader      *shader);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+void                  clutter_shader_set_uniform              (ClutterShader      *shader,
+                                                               const gchar        *name,
+                                                               const GValue       *value);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+CoglHandle            clutter_shader_get_cogl_program         (ClutterShader      *shader);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+CoglHandle            clutter_shader_get_cogl_fragment_shader (ClutterShader      *shader);
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterShaderEffect)
+CoglHandle            clutter_shader_get_cogl_vertex_shader   (ClutterShader      *shader);
+
+/* ClutterActor methods */
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_actor_add_effect)
+gboolean              clutter_actor_set_shader                (ClutterActor       *self,
+                                                               ClutterShader      *shader);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_actor_get_effect)
+ClutterShader *       clutter_actor_get_shader                (ClutterActor       *self);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_shader_effect_set_uniform_value)
+void                  clutter_actor_set_shader_param          (ClutterActor       *self,
+                                                               const gchar        *param,
+                                                               const GValue       *value);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_shader_effect_set_uniform)
+void                  clutter_actor_set_shader_param_int      (ClutterActor       *self,
+                                                               const gchar        *param,
+                                                               gint                value);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(clutter_shader_effect_set_uniform)
+void                  clutter_actor_set_shader_param_float    (ClutterActor       *self,
+                                                               const gchar        *param,
+                                                               gfloat              value);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_SHADER_H__ */
diff --git a/clutter/deprecated/clutter-stage-manager.h b/clutter/deprecated/clutter-stage-manager.h
new file mode 100644
index 0000000..df19298
--- /dev/null
+++ b/clutter/deprecated/clutter-stage-manager.h
@@ -0,0 +1,42 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2008 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Emmanuele Bassi <ebassi linux intel com>
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_STAGE_MANAGER_DEPRECATED_H__
+#define __CLUTTER_STAGE_MANAGER_DEPRECATED_H__
+
+#include <clutter/clutter-stage-manager.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_2
+void    clutter_stage_manager_set_default_stage (ClutterStageManager *stage_manager,
+                                                 ClutterStage        *stage);
+
+G_END_DECLS
+
+#endif /*__CLUTTER_STAGE_MANAGER_DEPRECATED_H__ */
+
diff --git a/clutter/deprecated/clutter-stage.h b/clutter/deprecated/clutter-stage.h
new file mode 100644
index 0000000..e56e299
--- /dev/null
+++ b/clutter/deprecated/clutter-stage.h
@@ -0,0 +1,102 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2011 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_STAGE_DEPRECATED_H__
+#define __CLUTTER_STAGE_DEPRECATED_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#ifndef CLUTTER_DISABLE_DEPRECATED
+
+/**
+ * CLUTTER_STAGE_WIDTH:
+ *
+ * Macro that evaluates to the width of the default stage
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.2: Use clutter_actor_get_width() instead
+ */
+#define CLUTTER_STAGE_WIDTH()           (clutter_actor_get_width (clutter_stage_get_default ()))
+
+/**
+ * CLUTTER_STAGE_HEIGHT:
+ *
+ * Macro that evaluates to the height of the default stage
+ *
+ * Since: 0.2
+ *
+ * Deprecated: 1.2: use clutter_actor_get_height() instead
+ */
+#define CLUTTER_STAGE_HEIGHT()          (clutter_actor_get_height (clutter_stage_get_default ()))
+
+/* Commodity macro, for mallum only */
+#define clutter_stage_add(stage,actor)                  G_STMT_START {  \
+  if (CLUTTER_IS_STAGE ((stage)) && CLUTTER_IS_ACTOR ((actor)))         \
+    {                                                                   \
+      ClutterContainer *_container = (ClutterContainer *) (stage);      \
+      ClutterActor *_actor = (ClutterActor *) (actor);                  \
+      clutter_container_add_actor (_container, _actor);                 \
+    }                                                   } G_STMT_END
+
+#endif /* CLUTTER_DISABLE_DEPRECATED */
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_stage_new)
+ClutterActor *  clutter_stage_get_default       (void);
+
+CLUTTER_DEPRECATED_IN_1_10
+gboolean        clutter_stage_is_default        (ClutterStage       *stage);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_queue_redraw)
+void            clutter_stage_queue_redraw      (ClutterStage       *stage);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_stage_set_use_fog       (ClutterStage       *stage,
+                                                 gboolean            fog);
+
+CLUTTER_DEPRECATED_IN_1_10
+gboolean        clutter_stage_get_use_fog       (ClutterStage       *stage);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_stage_set_fog           (ClutterStage       *stage,
+                                                 ClutterFog         *fog);
+
+CLUTTER_DEPRECATED_IN_1_10
+void            clutter_stage_get_fog           (ClutterStage       *stage,
+                                                 ClutterFog         *fog);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_set_background_color)
+void            clutter_stage_set_color         (ClutterStage       *stage,
+                                                 const ClutterColor *color);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_actor_get_background_color)
+void            clutter_stage_get_color         (ClutterStage       *stage,
+                                                 ClutterColor       *color);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_STAGE_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-state.c b/clutter/deprecated/clutter-state.c
new file mode 100644
index 0000000..8df11a1
--- /dev/null
+++ b/clutter/deprecated/clutter-state.c
@@ -0,0 +1,2315 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Øyvind Kolås <pippin linux intel com>
+ *
+ * Copyright (C) 2009 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * SECTION:clutter-state
+ * @short_description: State machine with animated transitions
+ *
+ * #ClutterState is an object controlling the tweening of properties on
+ * multiple actors between a set of named states. #ClutterStateKey<!-- -->s
+ * define how the properties are animated. If the source_state_name for a key
+ * is NULL it is used for transition to the target state unless a specific key
+ * exists for transitioning from the current state to the requested state.
+ *
+ * <example id="ClutterState-example">
+ *   <title>A ClutterState example</title>
+ *   <para>The following example defines a "base" and a "hover" state in a
+ *   #ClutterState instance.</para>
+ *   <programlisting>
+ * ClutterState *state = clutter_state_new ();
+ * ClutterColor color = { 0, };
+ *
+ * /&ast; transition from any state to the "base" state &ast;/
+ * clutter_color_from_string (&color, "rgb(255, 0, 0)");
+ * clutter_state_set (state, NULL, "base",
+ *                    actor, "color", CLUTTER_LINEAR, &color,
+ *                    actor, "scale-x", CLUTTER_EASE_IN_BOUNCE, 1.0,
+ *                    actor, "scale-y", CLUTTER_EASE_IN_BOUNCE, 1.0,
+ *                    NULL);
+ *
+ * /&ast; transition from the "base" state to the "hover" state &ast;/
+ * clutter_color_from_string (&color, "rgb(0, 0, 255)");
+ * clutter_state_set (state, "base", "hover",
+ *                    actor, "color", CLUTTER_LINEAR, &color,
+ *                    actor, "scale-x", CLUTTER_EASE_OUT_BOUNCE, 1.7,
+ *                    actor, "scale-y", CLUTTER_EASE_OUT_BOUNCE, 1.7,
+ *                    NULL);
+ *
+ * /&ast; the default duration of any transition &ast;/
+ * clutter_state_set_duration (state, NULL, NULL, 500);
+ *
+ * /&ast; set "base" as the initial state &ast;/
+ * clutter_state_warp_to_state (state, "base");
+ *   </programlisting>
+ *   <para>The actor then uses the #ClutterState to animate through the
+ *   two states using callbacks for the #ClutterActor::enter-event and
+ *   #ClutterActor::leave-event signals.</para>
+ *   <programlisting>
+ * static gboolean
+ * on_enter (ClutterActor *actor,
+ *           ClutterEvent *event,
+ *           ClutterState *state)
+ * {
+ *   clutter_state_set_state (state, "hover");
+ *
+ *   return TRUE;
+ * }
+ *
+ * static gboolean
+ * on_leave (ClutterActor *actor,
+ *           ClutterEvent *event,
+ *           ClutterState *state)
+ * {
+ *   clutter_state_set_state (state, "base");
+ *
+ *   return TRUE;
+ * }
+ *   </programlisting>
+ * </example>
+ *
+ * <refsect2 id="ClutterState-script">
+ *   <title>ClutterState description for #ClutterScript</title>
+ *   <para>#ClutterState defines a custom <emphasis>transitions</emphasis>
+ *   property which allows describing the states.</para>
+ *   <para>The <emphasis>transitions</emphasis> property has the following
+ *   syntax:</para>
+ *   <informalexample>
+ *     <programlisting>
+ * {
+ *   "transitions" : [
+ *     {
+ *       "source" : "&lt;source-state&gt;",
+ *       "target" : "&lt;target-state&gt;",
+ *       "duration" : &lt;milliseconds&gt;,
+ *       "keys" : [
+ *         [
+ *           "&lt;object-id&gt;",
+ *           "&lt;property-name&gt;",
+ *           "&lt;easing-mode&gt;",
+ *           "&lt;final-value&gt;",
+ *         ],
+ *         [
+ *           "&lt;object-id&gt;",
+ *           "&lt;property-name&gt;",
+ *           "&lt;easing-mode&gt;",
+ *           "&lt;final-value&gt;",
+ *           &lt;pre-delay&gt;,
+ *           &lt;post-delay&gt;
+ *         ],
+ *         ...
+ *       ]
+ *     },
+ *     {
+ *       "source" : "&lt;source-state&gt;",
+ *       "target" : "&lt;target-state&gt;",
+ *       "duration" : &lt;milliseconds&gt;,
+ *       "animator" : "&lt;animator-definition&gt;"
+ *     },
+ *     ...
+ *   ]
+ * }
+ *     </programlisting>
+ *   </informalexample>
+ *   <para>Each element of the <emphasis>transitions</emphasis> array follows
+ *   the same rules as clutter_state_set_key().</para>
+ *   <para>The <emphasis>source</emphasis> and <emphasis>target</emphasis>
+ *   values control the source and target state of the transition. The
+ *   <emphasis>key</emphasis> and <emphasis>animator</emphasis> are mutually
+ *   exclusive. The <emphasis>pre-delay</emphasis> and
+ *   <emphasis>post-delay</emphasis> values are optional.</para>
+ *   <example id="ClutterState-script-example">
+ *     <title>ClutterState definition</title>
+ *     <para>The example below is a translation into a #ClutterScript
+ *     definition of the code in the <ulink linkend="ClutterState-example">example
+ *     above</ulink>.</para>
+ *     <programlisting>
+ * {
+ *   "id" : "button-state",
+ *   "type" : "ClutterState",
+ *   "duration" : 500,
+ *   "transitions" : [
+ *     {
+ *       "source" : "*",
+ *       "target" : "base",
+ *       "keys" : [
+ *         [ "button", "color", "linear", "rgb(255, 0, 0)" ],
+ *         [ "button", "scale-x", "easeInBounce", 1.0 ],
+ *         [ "button", "scale-y", "easeInBounce", 1.0 ]
+ *       ]
+ *     },
+ *     {
+ *       "source" : "base",
+ *       "target" : "hover",
+ *       "keys" : [
+ *         [ "button", "color", "linear", "rgb(0, 0, 255)" ],
+ *         [ "button", "scale-x", "easeOutBounce", 1.7 ],
+ *         [ "button", "scale-y", "easeOutBounce", 1.7 ]
+ *       ]
+ *     }
+ *   ]
+ * }
+ *     </programlisting>
+ *   </example>
+ * </refsect2>
+ *
+ * #ClutterState is available since Clutter 1.4.
+ *
+ * #ClutterState has been deprecated in Clutter 1.12.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gobject/gvaluecollector.h>
+#include <string.h>
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-state.h"
+
+#include "clutter-alpha.h"
+#include "clutter-animatable.h"
+#include "clutter-animator.h"
+#include "clutter-enum-types.h"
+#include "clutter-interval.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-scriptable.h"
+#include "clutter-script-private.h"
+
+typedef struct StateAnimator {
+  const gchar     *source_state_name; /* interned string identifying entry */
+  ClutterAnimator *animator;          /* pointer to animator itself */
+} StateAnimator;
+
+typedef struct State
+{ 
+  const gchar  *name;          /* interned string for this state name */
+  GHashTable   *durations;     /* durations for transitions from various state
+                                  names */
+  GList        *keys;          /* list of all keys pertaining to transitions
+                                  from other states to this one */
+  GArray       *animators;     /* list of animators for transitioning from
+                                * specific source states */
+  ClutterState *clutter_state; /* the ClutterState object this state belongs to
+                                */
+} State;
+
+struct _ClutterStatePrivate
+{
+  GHashTable      *states;            /* contains state objects */
+  guint            duration;          /* global fallback duration */
+  ClutterTimeline *timeline;          /* The timeline used for doing the
+                                         progress */
+  ClutterTimeline *slave_timeline;    /* a slave timeline used to compute
+                                         alphas */
+  const gchar     *source_state_name; /* current source state */
+  State           *source_state;      /* current source_state */
+  const gchar     *target_state_name; /* current target state */
+  State           *target_state;      /* target state name */
+  ClutterAnimator *current_animator;  /* !NULL if the current transition is
+                                         overriden by an animator */
+};
+
+#define SLAVE_TIMELINE_LENGTH 10000
+
+/*
+ * ClutterStateKey:
+ *
+ * An opaque data structure with accessor functions.
+ *
+ */
+typedef struct _ClutterStateKey
+{ 
+  GObject         *object;       /* an Gobject */
+  const gchar     *property_name;/* the name of a property */
+  gulong           mode;         /* alpha to use */
+  GValue           value;        /* target value */
+  gdouble          pre_delay;    /* fraction of duration to delay before
+                                    starting */
+  gdouble          pre_pre_delay;/* fraction of duration to add to
+                                    pre_delay. This is used to set keys
+                                    during transitions. */
+  gdouble          post_delay;   /* fraction of duration to be done in */
+
+  State           *source_state; /* source state */
+  State           *target_state; /* target state */
+
+  ClutterAlpha    *alpha;        /* The alpha this key uses for interpolation */
+  ClutterInterval *interval;     /* The interval this key uses for
+                                    interpolation */
+
+  guint            is_animatable : 1;
+  guint            is_inert : 1; /* set if the key is being destroyed due to
+                                    weak reference */
+  gint             ref_count;    /* reference count for boxed life time */
+} _ClutterStateKey;
+
+enum
+{
+  PROP_0,
+  PROP_DURATION,
+  PROP_STATE,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+enum
+{
+  COMPLETED,
+  LAST_SIGNAL
+};
+
+static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
+
+static guint state_signals[LAST_SIGNAL] = {0, };
+
+#define CLUTTER_STATE_GET_PRIVATE(obj)            \
+              (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
+               CLUTTER_TYPE_STATE,                \
+               ClutterStatePrivate))
+
+G_DEFINE_TYPE_WITH_CODE (ClutterState, clutter_state, G_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_iface_init));
+
+/**
+ * clutter_state_new:
+ *
+ * Creates a new #ClutterState
+ *
+ * Return value: the newly create #ClutterState instance
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+ClutterState *
+clutter_state_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_STATE, NULL);
+}
+
+static gint
+sort_props_func (gconstpointer a,
+                 gconstpointer b)
+{
+  const ClutterStateKey *pa = a;
+  const ClutterStateKey *pb = b;
+
+  if (pa->object == pb->object)
+    {
+      gint propnamediff = pa->property_name-pb->property_name;
+      if (propnamediff == 0)
+        return pb->source_state - pa->source_state;
+
+      return propnamediff;
+    }
+
+  return pa->object - pb->object;
+}
+
+static State * clutter_state_fetch_state (ClutterState *state,
+                                          const gchar  *state_name,
+                                          gboolean      force_creation);
+static void object_disappeared (gpointer data,
+                                GObject *where_the_object_was);
+
+static ClutterStateKey *
+clutter_state_key_new (State       *state,
+                       GObject     *object,
+                       const gchar *property_name,
+                       GParamSpec  *pspec,
+                       guint        mode)
+{
+  ClutterStatePrivate *priv = state->clutter_state->priv;
+  ClutterStateKey *state_key;
+  GValue value = G_VALUE_INIT;
+
+  state_key = g_slice_new0 (ClutterStateKey);
+
+  state_key->target_state = state;
+  state_key->object = object;
+  state_key->property_name = g_intern_string (property_name);
+  state_key->mode = mode;
+  state_key->is_animatable = CLUTTER_IS_ANIMATABLE (object);
+
+  state_key->alpha = clutter_alpha_new ();
+  g_object_ref_sink (state_key->alpha);
+  clutter_alpha_set_mode (state_key->alpha, mode);
+  clutter_alpha_set_timeline (state_key->alpha, priv->slave_timeline);
+
+  state_key->interval =
+    g_object_new (CLUTTER_TYPE_INTERVAL,
+                  "value-type", G_PARAM_SPEC_VALUE_TYPE (pspec),
+                  NULL);
+  g_object_ref_sink (state_key->interval);
+
+  g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
+  clutter_interval_set_initial_value (state_key->interval, &value);
+  clutter_interval_set_final_value (state_key->interval, &value);
+  g_value_unset (&value);
+
+  g_object_weak_ref (object, object_disappeared,
+                     state_key->target_state->clutter_state);
+
+  return state_key;
+}
+
+static void
+clutter_state_key_free (gpointer clutter_state_key)
+{
+  ClutterStateKey *key = clutter_state_key;
+
+  if (key == NULL)
+    return;
+
+  key->ref_count -= 1;
+
+  if (key->ref_count > 0)
+    return;
+
+  if (!key->is_inert)
+    {
+      g_object_weak_unref (key->object,
+                           object_disappeared,
+                           key->target_state->clutter_state);
+    }
+
+  g_value_unset (&key->value);
+
+  g_object_unref (key->alpha);
+  g_object_unref (key->interval);
+
+  g_slice_free (ClutterStateKey, key);
+}
+
+
+static inline void
+clutter_state_remove_key_internal (ClutterState *this,
+                                   const gchar  *source_state_name,
+                                   const gchar  *target_state_name,
+                                   GObject      *object,
+                                   const gchar  *property_name,
+                                   gboolean      is_inert)
+{
+  GList *s, *state_list;
+  State *source_state = NULL;
+
+  source_state_name = g_intern_string (source_state_name);
+  target_state_name = g_intern_string (target_state_name);
+  property_name = g_intern_string (property_name);
+
+  if (source_state_name)
+    source_state = clutter_state_fetch_state (this, source_state_name, FALSE);
+
+again_from_start:
+
+  if (target_state_name != NULL)
+    state_list = g_list_append (NULL, (gpointer) target_state_name);
+  else
+    state_list = clutter_state_get_states (this);
+
+  for (s = state_list; s != NULL; s = s->next)
+    {
+      State *target_state;
+      target_state = clutter_state_fetch_state (this, s->data, FALSE);
+      /* Go through each TargetState */
+      if (target_state)
+        {
+          GList *k = target_state->keys;
+
+         /* Note the safe while() loop, because we modify the list inline */
+          while (k != NULL)
+            {
+              ClutterStateKey *key = k->data;
+
+             k = k->next;
+
+              /* Check if each key matches query */
+              if (   (object == NULL        || (object == key->object))
+                  && (source_state == NULL  || (source_state == key->source_state))
+                  && (property_name == NULL || ((property_name == key->property_name))))
+                {
+                  /* Remove matching key */
+                  target_state->keys = g_list_remove (target_state->keys, key);
+                  key->is_inert = is_inert;
+                  clutter_state_key_free (key);
+
+                  /* no more keys with transitions to this target_state*/
+                  if (target_state->keys == NULL)
+                    {
+                      /* If this state is the current state, unset the state */
+                      if (target_state == this->priv->target_state)
+                        clutter_state_set_state (this, NULL);
+
+                      /* remove any keys that exist that uses this state as a source */
+                     clutter_state_remove_key_internal (this, s->data, NULL, NULL, NULL, is_inert);
+
+                      g_hash_table_remove (this->priv->states, s->data);
+                      goto again_from_start; /* we have just freed State *target_state, so
+                                                need to restart removal */
+                    }
+                }
+            }
+        }
+    }
+
+  g_list_free (state_list);
+}
+
+static void
+object_disappeared (gpointer data,
+                    GObject *where_the_object_was)
+{
+  clutter_state_remove_key_internal (data, NULL, NULL,
+                                     (gpointer) where_the_object_was,
+                                     NULL,
+                                     TRUE);
+}
+
+
+static void
+state_free (gpointer data)
+{
+  State *state = data;
+
+  for (; state->keys;
+       state->keys = g_list_remove (state->keys, state->keys->data))
+    clutter_state_key_free (state->keys->data);
+
+  g_array_free (state->animators, TRUE);
+  g_hash_table_destroy (state->durations);
+  g_free (state);
+}
+
+static State *
+state_new (ClutterState *clutter_state,
+           const gchar  *name)
+{
+  State *state;
+
+  state = g_new0 (State, 1);
+  state->clutter_state = clutter_state;
+  state->name = name;
+  state->animators = g_array_new (TRUE, TRUE, sizeof (StateAnimator));
+  state->durations = g_hash_table_new (g_direct_hash, g_direct_equal);
+
+  return state;
+}
+
+static void 
+clutter_state_finalize (GObject *object)
+{
+  ClutterStatePrivate *priv = CLUTTER_STATE (object)->priv;
+
+  g_hash_table_destroy (priv->states);
+
+  g_object_unref (priv->timeline);
+  g_object_unref (priv->slave_timeline);
+
+  G_OBJECT_CLASS (clutter_state_parent_class)->finalize (object);
+}
+
+static void
+clutter_state_completed (ClutterTimeline *timeline,
+                         ClutterState    *state)
+{
+  ClutterStatePrivate *priv = state->priv;
+
+  if (priv->current_animator)
+    {
+      clutter_animator_set_timeline (priv->current_animator, NULL);
+      priv->current_animator = NULL;
+    }
+
+  g_signal_emit (state, state_signals[COMPLETED], 0);
+}
+
+static void
+clutter_state_new_frame (ClutterTimeline *timeline,
+                         gint             msecs,
+                         ClutterState    *state)
+{
+  ClutterStatePrivate *priv = state->priv;
+  GList *k;
+  gdouble progress;
+  const gchar *curprop = NULL;
+  GObject *curobj = NULL;
+  gboolean found_specific = FALSE;
+
+  if (priv->current_animator)
+    return;
+
+  progress = clutter_timeline_get_progress (timeline);
+
+  for (k = priv->target_state->keys; k; k = k->next)
+    {
+      ClutterStateKey *key = k->data;
+      gdouble sub_progress;
+
+      if ((curprop && !(curprop == key->property_name)) ||
+          key->object != curobj)
+        {
+          curprop = key->property_name;
+          curobj = key->object;
+          found_specific = FALSE;
+        }
+
+      if (!found_specific)
+        {
+          if (key->source_state != NULL &&
+              key->source_state->name != NULL &&
+              priv->source_state_name != NULL && 
+              g_str_equal (priv->source_state_name, key->source_state->name))
+            {
+              found_specific = TRUE;
+            }
+
+          if (found_specific || key->source_state == NULL)
+            {
+              gdouble pre_delay = key->pre_delay + key->pre_pre_delay;
+
+              sub_progress = (progress - pre_delay)
+                           / (1.0 - (pre_delay + key->post_delay));
+
+              if (sub_progress >= 0.0)
+                {
+                  if (sub_progress >= 1.0)
+                    sub_progress = 1.0;
+
+                  clutter_timeline_advance (priv->slave_timeline,
+                                            sub_progress * SLAVE_TIMELINE_LENGTH);
+                  sub_progress = clutter_alpha_get_alpha (key->alpha);
+
+                  if (key->is_animatable)
+                    {
+                      ClutterAnimatable *animatable;
+                      GValue value = G_VALUE_INIT;
+                      gboolean res;
+
+                      animatable = CLUTTER_ANIMATABLE (key->object);
+
+                      g_value_init (&value, clutter_state_key_get_property_type (key));
+
+                      res =
+                        clutter_animatable_interpolate_value (animatable,
+                                                              key->property_name,
+                                                              key->interval,
+                                                              sub_progress,
+                                                              &value);
+
+                      if (res)
+                        clutter_animatable_set_final_state (animatable,
+                                                            key->property_name,
+                                                            &value);
+
+                      g_value_unset (&value);
+                    }
+                  else
+                    {
+                      const GValue *value;
+
+                      value = clutter_interval_compute (key->interval, sub_progress);
+                      if (value != NULL)
+                        g_object_set_property (key->object, key->property_name, value);
+                    }
+                }
+
+              /* XXX: should the target value of the default destination be
+               * used even when found a specific source_state key?
+               */
+            }
+        }
+    }
+}
+
+
+static ClutterTimeline *
+clutter_state_change (ClutterState *state,
+                      const gchar  *target_state_name,
+                      gboolean      animate)
+{
+  ClutterStatePrivate *priv;
+  ClutterAnimator     *animator;
+  State               *new_state;
+  guint                duration;
+  GList               *k;
+
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+
+  priv = state->priv;
+
+  /* If we've been asked to change state to NULL, reset the
+   * ClutterState to its initial state, but leave the keys
+   * alone.
+   */
+  if (!target_state_name)
+    {
+      if (!priv->target_state)
+        return NULL;
+
+      priv->source_state_name = priv->target_state_name = NULL;
+      priv->source_state = priv->target_state = NULL;
+
+      clutter_timeline_stop (priv->timeline);
+      clutter_timeline_rewind (priv->timeline);
+
+      if (priv->current_animator)
+        {
+          clutter_animator_set_timeline (priv->current_animator, NULL);
+          priv->current_animator = NULL;
+        }
+
+      return NULL;
+    }
+
+  target_state_name = g_intern_string (target_state_name);
+
+  if (target_state_name == priv->target_state_name)
+    {
+      /* Avoid transitioning if the desired state is already current,
+       * unless we're warping to it and the state transition is in
+       * progress (in that case, immediately warp to the state).
+       */
+      if (!clutter_timeline_is_playing (priv->timeline) || animate)
+        return priv->timeline;
+    }
+
+  if (priv->current_animator != NULL)
+    {
+      clutter_animator_set_timeline (priv->current_animator, NULL);
+      priv->current_animator = NULL;
+    }
+
+  priv->source_state_name = priv->target_state_name;
+  priv->target_state_name = target_state_name;
+
+  g_object_notify_by_pspec (G_OBJECT (state), obj_props[PROP_STATE]);
+
+  duration = clutter_state_get_duration (state,
+                                         priv->source_state_name,
+                                         priv->target_state_name);
+  clutter_timeline_set_duration (priv->timeline, duration);
+
+  new_state = clutter_state_fetch_state (state, target_state_name, FALSE);
+  if (new_state == NULL)
+    {
+      g_warning ("State '%s' not found", target_state_name);
+
+      return NULL;
+    }
+
+  animator = clutter_state_get_animator (state,
+                                         priv->source_state_name,
+                                         priv->target_state_name);
+  priv->target_state = new_state;
+
+  if (animator == NULL && new_state->keys == NULL)
+    animator = clutter_state_get_animator (state, NULL,
+                                           priv->target_state_name);
+
+  if (animator != NULL)
+    {
+      /* we've got an animator overriding the tweened animation */
+      priv->current_animator = animator;
+      clutter_animator_set_timeline (animator, priv->timeline);
+    }
+  else
+    {
+      for (k = new_state->keys; k != NULL; k = k->next)
+        {
+          ClutterStateKey *key = k->data;
+          GValue initial = G_VALUE_INIT;
+
+          /* Reset the pre-pre-delay - this is only used for setting keys
+           * during transitions.
+           */
+          key->pre_pre_delay = 0;
+
+          g_value_init (&initial, clutter_interval_get_value_type (key->interval));
+
+          if (key->is_animatable)
+            {
+              ClutterAnimatable *animatable;
+
+              animatable = CLUTTER_ANIMATABLE (key->object);
+              clutter_animatable_get_initial_state (animatable,
+                                                    key->property_name,
+                                                    &initial);
+            }
+          else
+            g_object_get_property (key->object, key->property_name, &initial);
+
+          if (clutter_alpha_get_mode (key->alpha) != key->mode)
+            clutter_alpha_set_mode (key->alpha, key->mode);
+
+          clutter_interval_set_initial_value (key->interval, &initial);
+          clutter_interval_set_final_value (key->interval, &key->value);
+
+          g_value_unset (&initial);
+        }
+    }
+
+  if (!animate)
+    {
+      clutter_timeline_stop (priv->timeline);
+      clutter_timeline_advance (priv->timeline, duration);
+
+      /* emit signals, to change properties, and indicate that the
+       * state change is complete */
+      g_signal_emit_by_name (priv->timeline, "new-frame",
+                             GINT_TO_POINTER (duration),
+                             NULL);
+      g_signal_emit_by_name (priv->timeline, "completed", NULL);
+    }
+  else
+    {
+      clutter_timeline_stop (priv->timeline);
+      clutter_timeline_rewind (priv->timeline);
+      clutter_timeline_start (priv->timeline);
+    }
+
+  return priv->timeline;
+}
+
+/**
+ * clutter_state_set_state:
+ * @state: a #ClutterState
+ * @target_state_name: the state to transition to
+ *
+ * Change the current state of #ClutterState to @target_state_name.
+ *
+ * The state will animate during its transition, see
+ * #clutter_state_warp_to_state for animation-free state switching.
+ *
+ * Setting a %NULL state will stop the current animation and unset
+ * the current state, but keys will be left intact.
+ *
+ * Return value: (transfer none): the #ClutterTimeline that drives the
+ *   state transition. The returned timeline is owned by the #ClutterState
+ *   and it should not be unreferenced
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+ClutterTimeline *
+clutter_state_set_state (ClutterState *state,
+                         const gchar  *target_state_name)
+{
+  return clutter_state_change (state, target_state_name, TRUE);
+}
+
+/**
+ * clutter_state_warp_to_state:
+ * @state: a #ClutterState
+ * @target_state_name: the state to transition to
+ *
+ * Change to the specified target state immediately with no animation.
+ *
+ * See clutter_state_set_state().
+ *
+ * Return value: (transfer none): the #ClutterTimeline that drives the
+ *   state transition. The returned timeline is owned by the #ClutterState
+ *   and it should not be unreferenced
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+ClutterTimeline *
+clutter_state_warp_to_state (ClutterState *state,
+                             const gchar  *target_state_name)
+{
+  return clutter_state_change (state, target_state_name, FALSE);
+}
+
+static GParamSpec *
+get_property_from_object (GObject     *gobject,
+                          const gchar *property_name)
+{
+  GParamSpec *pspec;
+
+  if (CLUTTER_IS_ANIMATABLE (gobject))
+    {
+      ClutterAnimatable *animatable = CLUTTER_ANIMATABLE (gobject);
+
+      pspec = clutter_animatable_find_property (animatable, property_name);
+    }
+  else
+    {
+      GObjectClass *klass = G_OBJECT_GET_CLASS (gobject);
+
+      pspec = g_object_class_find_property (klass, property_name);
+    }
+
+  if (pspec == NULL)
+    {
+      g_warning ("Cannot bind property '%s': objects of type '%s' "
+                 "do not have this property",
+                 property_name,
+                 G_OBJECT_TYPE_NAME (gobject));
+      return NULL;
+    }
+
+  if (!(pspec->flags & G_PARAM_WRITABLE))
+    {
+      g_warning ("Cannot bind property '%s' of object of type '%s': "
+                 "the property is not writable",
+                 property_name,
+                 G_OBJECT_TYPE_NAME (gobject));
+      return NULL;
+    }
+
+  if (!(pspec->flags & G_PARAM_READABLE))
+    {
+      g_warning ("Cannot bind property '%s' of object of type '%s': "
+                 "the property is not readable",
+                 property_name,
+                 G_OBJECT_TYPE_NAME (gobject));
+      return NULL;
+    }
+
+  if (pspec->flags & G_PARAM_CONSTRUCT_ONLY)
+    {
+      g_warning ("Cannot bind property '%s' of object of type '%s': "
+                 "the property is set as constructor-only",
+                 property_name,
+                 G_OBJECT_TYPE_NAME (gobject));
+      return NULL;
+    }
+
+  return pspec;
+}
+
+/**
+ * clutter_state_set:
+ * @state: a #ClutterState instance.
+ * @source_state_name: (allow-none): the name of the source state keys are being added for
+ * @target_state_name: the name of the target state keys are being added for
+ * @first_object: a #GObject
+ * @first_property_name: a property of @first_object to specify a key for
+ * @first_mode: the id of the alpha function to use
+ * @...: the value @first_property_name should have in @target_state_name,
+ *   followed by object, property name, mode, value tuples, terminated
+ *   by %NULL
+ *
+ * Adds multiple keys to a named state of a #ClutterState instance, specifying
+ * the easing mode and value a given property of an object should have at a
+ * given progress of the animation.
+ *
+ * The mode specified is the easing mode used when going to from the previous
+ * key to the specified key.
+ *
+ * For instance, the code below:
+ *
+ * |[
+ *   clutter_state_set (state, NULL, "hover",
+ *                      button, "opacity", CLUTTER_LINEAR, 255,
+ *                      button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2,
+ *                      button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2,
+ *                      NULL);
+ * ]|
+ *
+ * will create a transition from any state (a @source_state_name or NULL is
+ * treated as a wildcard) and a state named "hover"; the
+ * <emphasis>button</emphasis> object will have the #ClutterActor:opacity
+ * property animated to a value of 255 using %CLUTTER_LINEAR as the animation
+ * mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
+ * animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
+ * mode. To change the state (and start the transition) you can use the
+ * clutter_state_set_state() function:
+ *
+ * |[
+ *   clutter_state_set_state (state, "hover");
+ * ]|
+ *
+ * If a given object, state_name, property tuple already exist in the
+ * #ClutterState instance, then the mode and value will be replaced with
+ * the new specified values.
+ *
+ * If a property name is prefixed with "delayed::" two additional
+ * arguments per key are expected: a value relative to the full state time
+ * to pause before transitioning and a similar value to pause after
+ * transitioning, e.g.:
+ *
+ * |[
+ *   clutter_state_set (state, "hover", "toggled",
+ *                      button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
+ *                      button, "delayed::scale-y", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
+ *                      NULL);
+ * ]|
+ *
+ * will pause for 20% of the duration of the transition before animating,
+ * and 20% of the duration after animating.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+void
+clutter_state_set (ClutterState *state,
+                   const gchar  *source_state_name,
+                   const gchar  *target_state_name,
+                   gpointer      first_object,
+                   const gchar  *first_property_name,
+                   gulong        first_mode,
+                   ...)
+{
+  gpointer object;
+  const gchar *property_name;
+  gulong mode;
+  va_list args;
+
+  g_return_if_fail (CLUTTER_IS_STATE (state));
+
+  object = first_object;
+
+  property_name = first_property_name;
+  mode = first_mode;
+
+  g_return_if_fail (G_IS_OBJECT (first_object));
+  g_return_if_fail (first_property_name);
+
+  va_start (args, first_mode);
+
+  while (object != NULL)
+    {
+      GParamSpec *pspec;
+      GValue value = G_VALUE_INIT;
+      gchar *error = NULL;
+      gboolean is_delayed = FALSE;
+
+      if (g_str_has_prefix (property_name, "delayed::"))
+        {
+          property_name = strstr (property_name, "::") + 2;
+          is_delayed = TRUE;
+        }
+
+      pspec = get_property_from_object (object, property_name);
+      if (pspec == NULL)
+        break;
+
+      G_VALUE_COLLECT_INIT (&value, G_PARAM_SPEC_VALUE_TYPE (pspec),
+                            args, 0,
+                            &error);
+
+      if (error != NULL)
+        {
+          g_warning ("%s: %s", G_STRLOC, error);
+          g_free (error);
+          break;
+        }
+
+      if (is_delayed)
+        {
+          gdouble pre_delay = va_arg (args, gdouble);
+          gdouble post_delay = va_arg (args, gdouble);
+
+          clutter_state_set_key (state,
+                                 source_state_name,
+                                 target_state_name,
+                                 object,
+                                 property_name,
+                                 mode,
+                                 &value,
+                                 pre_delay,
+                                 post_delay);
+        }
+      else
+        {
+          clutter_state_set_key (state,
+                                 source_state_name,
+                                 target_state_name,
+                                 object,
+                                 property_name,
+                                 mode,
+                                 &value,
+                                 0.0,
+                                 0.0);
+        }
+
+      g_value_unset (&value);
+
+      object = va_arg (args, gpointer);
+      if (object != NULL)
+        {
+          property_name = va_arg (args, gchar*);
+          mode = va_arg (args, gulong);
+        }
+    }
+
+  va_end (args);
+}
+
+static void
+clutter_state_set_key_internal (ClutterState    *state,
+                                ClutterStateKey *key)
+{
+  ClutterStatePrivate *priv = state->priv;
+  State *target_state = key->target_state;
+  GList *old_item = NULL;
+
+  if ((old_item = g_list_find_custom (target_state->keys,
+                                      key,
+                                      sort_props_func)))
+    {
+      ClutterStateKey *old_key = old_item->data;
+
+      target_state->keys = g_list_remove (target_state->keys, old_key);
+      clutter_state_key_free (old_key);
+    }
+
+  target_state->keys = g_list_insert_sorted (target_state->keys,
+                                             key,
+                                             sort_props_func);
+
+  /* If the current target state is modified, we have some work to do.
+   *
+   * If the animation is running, we add a key to the current animation
+   * with a delay of the current duration so that the new animation will
+   * animate into place.
+   *
+   * If the animation isn't running, but the state is set, we immediately
+   * warp to that state.
+   */
+  if (key->target_state == priv->target_state)
+    {
+      if (!clutter_timeline_is_playing (priv->timeline))
+        {
+          /* We can warp to the state by setting a NULL state, then setting
+           * the target state again.
+           */
+          clutter_state_change (state, NULL, FALSE);
+          clutter_state_change (state, target_state->name, FALSE);
+        }
+      else
+        {
+          /* Set the ClutterInterval associated with the state */
+          GValue initial = G_VALUE_INIT;
+          gdouble progress = clutter_timeline_get_progress (priv->timeline);
+
+          g_value_init (&initial,
+                        clutter_interval_get_value_type (key->interval));
+
+          if (key->is_animatable)
+            {
+              ClutterAnimatable *animatable;
+
+              animatable = CLUTTER_ANIMATABLE (key->object);
+              clutter_animatable_get_initial_state (animatable,
+                                                    key->property_name,
+                                                    &initial);
+            }
+          else
+            g_object_get_property (key->object, key->property_name, &initial);
+
+          if (clutter_alpha_get_mode (key->alpha) != key->mode)
+            clutter_alpha_set_mode (key->alpha, key->mode);
+
+          clutter_interval_set_initial_value (key->interval, &initial);
+          clutter_interval_set_final_value (key->interval, &key->value);
+
+          g_value_unset (&initial);
+
+          /* Set the delay as if the interval had just begun */
+          if (progress > key->pre_delay)
+            key->pre_pre_delay = MIN (progress - key->pre_delay,
+                                      1.0 - key->post_delay);
+        }
+    }
+}
+
+/*
+ * clutter_state_fetch_state:
+ * @state: a #ClutterState
+ * @state_name: the name of the state to be retrieved
+ * @create: %TRUE if the state should be instantiated if not found
+ *
+ * Retrieves the #State structure for @state_name inside the given
+ * #ClutterState instance
+ *
+ * If @state_name is %NULL and @create is %TRUE then NULL will
+ * be returned.
+ *
+ * Return value: a #State structure for the given name, or %NULL
+ */
+static State *
+clutter_state_fetch_state (ClutterState *state,
+                           const gchar  *state_name,
+                           gboolean      create)
+{
+  ClutterStatePrivate *priv = state->priv;
+  State *retval;
+
+  if (state_name == NULL)
+    {
+      return NULL;
+    }
+  else
+    state_name = g_intern_string (state_name);
+
+  retval = g_hash_table_lookup (priv->states, state_name);
+  if (retval == NULL && create)
+    {
+      retval = state_new (state, state_name);
+      g_hash_table_insert (priv->states, (gpointer) state_name, retval);
+    }
+
+  return retval;
+}
+
+/**
+ * clutter_state_set_key:
+ * @state: a #ClutterState instance.
+ * @source_state_name: (allow-none): the source transition to specify
+ *   transition for, or %NULL to specify the default fallback when a
+ *   more specific source state doesn't exist.
+ * @target_state_name: the name of the transition to set a key value for.
+ * @object: the #GObject to set a key for
+ * @property_name: the property to set a key for
+ * @mode: the id of the alpha function to use
+ * @value: the value for property_name of object in state_name
+ * @pre_delay: relative time of the transition to be idle in the beginning
+ *   of the transition
+ * @post_delay: relative time of the transition to be idle in the end of
+ *   the transition
+ *
+ * Sets one specific end key for a state name, @object, @property_name
+ * combination.
+ *
+ * Return value: (transfer none): the #ClutterState instance, allowing
+ *   chaining of multiple calls
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+ClutterState *
+clutter_state_set_key (ClutterState  *state,
+                       const gchar   *source_state_name,
+                       const gchar   *target_state_name,
+                       GObject       *object,
+                       const gchar   *property_name,
+                       guint          mode,
+                       const GValue  *value,
+                       gdouble        pre_delay,
+                       gdouble        post_delay)
+{
+  GParamSpec *pspec;
+  ClutterStateKey *state_key;
+  State *source_state = NULL;
+  State *target_state;
+
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+  g_return_val_if_fail (G_IS_OBJECT (object), NULL);
+  g_return_val_if_fail (property_name, NULL);
+  g_return_val_if_fail (value, NULL);
+
+  pspec = get_property_from_object (object, property_name);
+  if (pspec == NULL)
+    return state;
+
+  source_state = clutter_state_fetch_state (state, source_state_name, TRUE);
+  target_state = clutter_state_fetch_state (state, target_state_name, TRUE);
+
+  property_name = g_intern_string (property_name);
+  state_key = clutter_state_key_new (target_state,
+                                     object, property_name, pspec,
+                                     mode);
+
+  state_key->source_state = source_state;
+  state_key->pre_delay = pre_delay;
+  state_key->post_delay = post_delay;
+
+  g_value_init (&state_key->value, G_VALUE_TYPE (value));
+  g_value_copy (value, &state_key->value);
+
+  clutter_state_set_key_internal (state, state_key);
+
+  return state;
+}
+
+/**
+ * clutter_state_get_states:
+ * @state: a #ClutterState instance.
+ *
+ * Gets a list of all the state names managed by this #ClutterState.
+ *
+ * Return value: (transfer container) (element-type utf8): a newly allocated
+ *   #GList of state names. The contents of the returned #GList are owned
+ *   by the #ClutterState and should not be modified or freed. Use
+ *   g_list_free() to free the resources allocated by the returned list when
+ *   done using it
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+GList *
+clutter_state_get_states (ClutterState *state)
+{
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+  return g_hash_table_get_keys (state->priv->states);
+}
+
+/**
+ * clutter_state_get_keys:
+ * @state: a #ClutterState instance.
+ * @source_state_name: (allow-none): the source transition name to query,
+ *   or %NULL for all source states
+ * @target_state_name: (allow-none): the target transition name to query,
+ *   or %NULL for all target states
+ * @object: (allow-none): the specific object instance to list keys for,
+ *   or %NULL for all managed objects
+ * @property_name: (allow-none): the property name to search for, or %NULL
+ *   for all properties.
+ *
+ * Returns a list of pointers to opaque structures with accessor functions
+ * that describe the keys added to an animator.
+ *
+ * Return value: (transfer container) (element-type Clutter.StateKey): a
+ *   newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of
+ *   the returned list are owned by the #ClutterState and should not be
+ *   modified or freed. Use g_list_free() to free the resources allocated
+ *   by the returned list when done using it
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+GList *
+clutter_state_get_keys (ClutterState *state,
+                        const gchar  *source_state_name,
+                        const gchar  *target_state_name,
+                        GObject      *object,
+                        const gchar  *property_name)
+{
+  GList *s, *state_list;
+  GList *targets = NULL;
+  State *source_state = NULL;
+
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+
+  source_state_name = g_intern_string (source_state_name);
+  target_state_name = g_intern_string (target_state_name);
+  property_name = g_intern_string (property_name);
+
+  if (target_state_name != NULL)
+    state_list = g_list_append (NULL, (gpointer) target_state_name);
+  else
+    state_list = clutter_state_get_states (state);
+
+  if (source_state_name)
+    source_state = clutter_state_fetch_state (state, source_state_name, FALSE);
+
+  for (s = state_list; s != NULL; s = s->next)
+    {
+      State *target_state;
+
+      target_state = clutter_state_fetch_state (state, s->data, FALSE);
+      if (target_state != NULL)
+        {
+          GList *k;
+
+          for (k = target_state->keys; k; k = k->next)
+            {
+              ClutterStateKey *key = k->data;
+
+              if ((object == NULL || (object == key->object)) &&
+                  (source_state_name == NULL ||
+                   source_state == key->source_state) &&
+                  (property_name == NULL ||
+                   (property_name == key->property_name)))
+                {
+                  targets = g_list_prepend (targets, key);
+                }
+            }
+        }
+    }
+
+  g_list_free (state_list);
+
+  return g_list_reverse (targets);
+}
+
+
+/**
+ * clutter_state_remove_key:
+ * @state: a #ClutterState instance.
+ * @source_state_name: (allow-none): the source state name to query,
+ *   or %NULL for all source states
+ * @target_state_name: (allow-none): the target state name to query,
+ *   or %NULL for all target states
+ * @object: (allow-none): the specific object instance to list keys for,
+ *   or %NULL for all managed objects
+ * @property_name: (allow-none): the property name to search for,
+ *   or %NULL for all properties.
+ *
+ * Removes all keys matching the search criteria passed in arguments.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+void
+clutter_state_remove_key (ClutterState *state,
+                          const gchar  *source_state_name,
+                          const gchar  *target_state_name,
+                          GObject      *object,
+                          const gchar  *property_name)
+{
+  g_return_if_fail (CLUTTER_IS_STATE (state));
+
+  clutter_state_remove_key_internal (state,
+                                     source_state_name, target_state_name,
+                                     object, property_name,
+                                     FALSE);
+}
+
+/**
+ * clutter_state_get_timeline:
+ * @state: a #ClutterState
+ *
+ * Gets the timeline driving the #ClutterState
+ *
+ * Return value: (transfer none): the #ClutterTimeline that drives
+ *   the state change animations. The returned timeline is owned
+ *   by the #ClutterState and it should not be unreferenced directly
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+ClutterTimeline *
+clutter_state_get_timeline (ClutterState *state)
+{
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+
+  return state->priv->timeline;
+}
+
+
+static void
+clutter_state_set_property (GObject      *object,
+                           guint         prop_id,
+                           const GValue *value,
+                           GParamSpec   *pspec)
+{
+  ClutterState *state = CLUTTER_STATE (object);
+
+  switch (prop_id)
+    {
+      case PROP_STATE:
+        clutter_state_set_state (state, g_value_get_string (value));
+        break;
+      case PROP_DURATION:
+        state->priv->duration = g_value_get_uint (value);
+        break;
+      default:
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+    }
+}
+
+static void
+clutter_state_get_property (GObject    *object,
+                           guint       prop_id,
+                           GValue     *value,
+                           GParamSpec *pspec)
+{
+  ClutterState *state = CLUTTER_STATE (object);
+  switch (prop_id)
+    {
+      case PROP_STATE:
+        g_value_set_string (value,
+                            clutter_state_get_state (state));
+        break;
+      case PROP_DURATION:
+        g_value_set_uint (value, state->priv->duration);
+        break;
+      default:
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+    }
+}
+
+static void
+clutter_state_class_init (ClutterStateClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GParamSpec   *pspec;
+
+  g_type_class_add_private (klass, sizeof (ClutterStatePrivate));
+
+  gobject_class->finalize     = clutter_state_finalize;
+  gobject_class->set_property = clutter_state_set_property;
+  gobject_class->get_property = clutter_state_get_property;
+
+  /**
+   * ClutterState::completed:
+   * @state: the #ClutterState that emitted the signal
+   *
+   * The ::completed signal is emitted when a #ClutterState reaches
+   * the target state specified by clutter_state_set_state() or
+   * clutter_state_warp_to_state().
+   *
+   * Since: 1.4
+   * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+   *   #ClutterTransitionGroup instead
+   */
+  state_signals[COMPLETED] =
+    g_signal_new (I_("completed"),
+                  G_TYPE_FROM_CLASS (gobject_class),
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (ClutterStateClass, completed),
+                  NULL, NULL,
+                  _clutter_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
+
+  /**
+   * ClutterState:state:
+   *
+   * The currently set target state, setting it causes the
+   * state machine to transition to the new state, use
+   * clutter_state_warp_to_state() to change state without
+   * a transition.
+   *
+   * Since: 1.4
+   * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+   *   #ClutterTransitionGroup instead
+   */
+  pspec = g_param_spec_string ("state",
+                               P_("State"),
+                               P_("Currently set state, (transition to this state might not be complete)"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_STATE] = pspec;
+  g_object_class_install_property (gobject_class, PROP_STATE, pspec);
+
+  /**
+   * ClutterState:duration:
+   *
+   * Default duration used if an duration has not been specified for a specific
+   * source/target state pair. The values is in milliseconds.
+   *
+   * Since: 1.4
+   * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+   *   #ClutterTransitionGroup instead
+   */
+  pspec = g_param_spec_uint ("duration",
+                             P_("Duration"),
+                             P_("Default transition duration"),
+                             0, 86400000, 1000,
+                             CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_DURATION] = pspec;
+  g_object_class_install_property (gobject_class, PROP_DURATION, pspec);
+}
+
+static void
+clutter_state_init (ClutterState *self)
+{
+  ClutterStatePrivate *priv;
+
+  priv = self->priv = CLUTTER_STATE_GET_PRIVATE (self);
+
+  priv->states = g_hash_table_new_full (g_direct_hash, g_direct_equal,
+                                        NULL,
+                                        state_free);
+
+  self->priv->source_state_name = NULL;
+  self->priv->target_state_name = NULL;
+
+  self->priv->duration = 1000;
+
+  priv->timeline = clutter_timeline_new (1000);
+  g_signal_connect (priv->timeline, "new-frame",
+                    G_CALLBACK (clutter_state_new_frame),
+                    self);
+  g_signal_connect (priv->timeline, "completed",
+                    G_CALLBACK (clutter_state_completed),
+                    self);
+
+  priv->slave_timeline = clutter_timeline_new (SLAVE_TIMELINE_LENGTH);
+}
+
+
+/**
+ * clutter_state_get_animator:
+ * @state: a #ClutterState instance.
+ * @source_state_name: the name of a source state
+ * @target_state_name: the name of a target state
+ *
+ * Retrieves the #ClutterAnimator that is being used for transitioning
+ * between the two states, if any has been set
+ *
+ * Return value: (transfer none): a #ClutterAnimator instance, or %NULL
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+ClutterAnimator *
+clutter_state_get_animator (ClutterState *state,
+                            const gchar  *source_state_name,
+                            const gchar  *target_state_name)
+{
+  State *target_state;
+  guint i;
+
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+
+  source_state_name = g_intern_string (source_state_name);
+  if (source_state_name == g_intern_static_string (""))
+    source_state_name = NULL;
+
+  target_state_name = g_intern_string (target_state_name);
+
+  target_state = clutter_state_fetch_state (state, target_state_name, FALSE);
+  if (target_state == NULL)
+    return NULL;
+
+  for (i = 0; i < target_state->animators->len; i++)
+    {
+      const StateAnimator *animator;
+
+      animator = &g_array_index (target_state->animators, StateAnimator, i);
+      if (animator->source_state_name == source_state_name)
+        return animator->animator;
+    }
+
+  return NULL;
+}
+
+/**
+ * clutter_state_set_animator:
+ * @state: a #ClutterState instance.
+ * @source_state_name: the name of a source state
+ * @target_state_name: the name of a target state
+ * @animator: (allow-none): a #ClutterAnimator instance, or %NULL to
+ *   unset an existing #ClutterAnimator
+ *
+ * Specifies a #ClutterAnimator to be used when transitioning between
+ * the two named states.
+ *
+ * The @animator allows specifying a transition between the state that is
+ * more elaborate than the basic transitions allowed by the tweening of
+ * properties defined in the #ClutterState keys.
+ *
+ * If @animator is %NULL it will unset an existing animator.
+ *
+ * #ClutterState will take a reference on the passed @animator, if any
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+void
+clutter_state_set_animator (ClutterState    *state,
+                            const gchar     *source_state_name,
+                            const gchar     *target_state_name,
+                            ClutterAnimator *animator)
+{
+  State *target_state;
+  guint i;
+
+  g_return_if_fail (CLUTTER_IS_STATE (state));
+
+  source_state_name = g_intern_string (source_state_name);
+  target_state_name = g_intern_string (target_state_name);
+
+  target_state = clutter_state_fetch_state (state, target_state_name, TRUE);
+  if (target_state == NULL)
+    return;
+  
+  for (i = 0; target_state->animators->len; i++)
+    {
+      StateAnimator *a;
+
+      a = &g_array_index (target_state->animators, StateAnimator, i);
+      if (a->source_state_name == source_state_name)
+        {
+          g_object_unref (a->animator);
+
+          if (animator != NULL)
+            a->animator = g_object_ref (animator);
+          else
+            {
+              /* remove the matched animator if passed NULL */
+              g_array_remove_index (target_state->animators, i);
+            }
+
+          return;
+        }
+    }
+
+  if (animator != NULL)
+    {
+      StateAnimator state_animator = {
+        source_state_name,
+        g_object_ref (animator)
+      };
+
+      g_array_append_val (target_state->animators, state_animator);
+    }
+}
+
+static gpointer
+clutter_state_key_copy (gpointer boxed)
+{
+  if (boxed != NULL)
+    {
+      ClutterStateKey *key = boxed;
+
+      key->ref_count += 1;
+    }
+
+  return boxed;
+}
+
+G_DEFINE_BOXED_TYPE (ClutterStateKey, clutter_state_key,
+                     clutter_state_key_copy,
+                     clutter_state_key_free);
+
+/**
+ * clutter_state_key_get_pre_delay:
+ * @state_key: a #ClutterStateKey
+ *
+ * Retrieves the pause before transitioning starts as a fraction of
+ * the total transition time.
+ *
+ * Return value: the pre delay used before starting the transition.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+gdouble
+clutter_state_key_get_pre_delay (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key != NULL, 0.0);
+
+  return state_key->pre_delay;
+}
+
+/**
+ * clutter_state_key_get_post_delay:
+ * @state_key: a #ClutterStateKey
+ *
+ * Retrieves the duration of the pause after transitioning is complete
+ * as a fraction of the total transition time.
+ *
+ * Return value: the post delay, used after doing the transition.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+gdouble
+clutter_state_key_get_post_delay (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key != NULL, 0.0);
+
+  return state_key->post_delay;
+}
+
+/**
+ * clutter_state_key_get_mode:
+ * @state_key: a #ClutterStateKey
+ *
+ * Retrieves the easing mode used for @state_key.
+ *
+ * Return value: the mode of a #ClutterStateKey
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+gulong
+clutter_state_key_get_mode (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key != NULL, 0);
+
+  return state_key->mode;
+}
+
+/**
+ * clutter_state_key_get_value:
+ * @state_key: a #ClutterStateKey
+ * @value: a #GValue initialized with the correct type for the @state_key
+ *
+ * Retrieves a copy of the value for a #ClutterStateKey.
+ *
+ * The #GValue needs to be already initialized for the value type
+ * of the property or to a type that allow transformation from the value
+ * type of the key.
+ *
+ * Use g_value_unset() when done.
+ *
+ * Return value: %TRUE if the value was successfully retrieved,
+ *   and %FALSE otherwise
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+gboolean
+clutter_state_key_get_value (const ClutterStateKey *state_key,
+                             GValue                *value)
+{
+  g_return_val_if_fail (state_key != NULL, FALSE);
+  g_return_val_if_fail (value != NULL, FALSE);
+  g_return_val_if_fail (G_VALUE_TYPE (value) != G_TYPE_INVALID, FALSE);
+
+  if (!g_type_is_a (G_VALUE_TYPE (&state_key->value), G_VALUE_TYPE (value)))
+    {
+      if (g_value_type_compatible (G_VALUE_TYPE (&state_key->value),
+                                   G_VALUE_TYPE (value)))
+        {
+          g_value_copy (&state_key->value, value);
+          return TRUE;
+        }
+
+      if (g_value_type_transformable (G_VALUE_TYPE (&state_key->value),
+                                      G_VALUE_TYPE (value)))
+        {
+          if (g_value_transform (&state_key->value, value))
+            return TRUE;
+        }
+
+      g_warning ("%s: Unable to convert from %s to %s for the "
+                 "property '%s' of object %s in the state key",
+                 G_STRLOC,
+                 g_type_name (G_VALUE_TYPE (&state_key->value)),
+                 g_type_name (G_VALUE_TYPE (value)),
+                 state_key->property_name,
+                 G_OBJECT_TYPE_NAME (state_key->object));
+
+      return FALSE;
+    }
+  else
+    g_value_copy (&state_key->value, value);
+
+  return TRUE;
+}
+
+/**
+ * clutter_state_key_get_object:
+ * @state_key: a #ClutterStateKey
+ *
+ * Retrieves the object instance this #ClutterStateKey applies to.
+ *
+ * Return value: (transfer none): the object this state key applies to.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+GObject *
+clutter_state_key_get_object (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key, NULL);
+
+  return state_key->object;
+}
+
+/**
+ * clutter_state_key_get_property_name:
+ * @state_key: a #ClutterStateKey
+ *
+ * Retrieves the name of the property this #ClutterStateKey applies to
+ *
+ * Return value: the name of the property. The returned string is owned
+ *   by the #ClutterStateKey and should never be modified or freed
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+const gchar *
+clutter_state_key_get_property_name (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key, NULL);
+
+  return state_key->property_name;
+}
+
+/**
+ * clutter_state_key_get_source_state_name:
+ * @state_key: a #ClutterStateKey
+ *
+ * Retrieves the name of the source state of the @state_key
+ *
+ * Return value: the name of the source state for this key, or %NULL
+ *   if this is the generic state key for the given property when
+ *   transitioning to the target state. The returned string is owned
+ *   by the #ClutterStateKey and should never be modified or freed
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+const gchar *
+clutter_state_key_get_source_state_name (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key, NULL);
+
+  if (state_key->source_state != NULL)
+    return state_key->source_state->name;
+
+  return NULL;
+}
+
+/**
+ * clutter_state_key_get_target_state_name:
+ * @state_key: a #ClutterStateKey
+ *
+ * Get the name of the source state this #ClutterStateKey contains,
+ * or NULL if this is the generic state key for the given property
+ * when transitioning to the target state.
+ *
+ * Return value: the name of the source state for this key, or NULL if
+ *   the key is generic
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+const gchar *
+clutter_state_key_get_target_state_name (const ClutterStateKey *state_key)
+{
+  g_return_val_if_fail (state_key, NULL);
+
+  return state_key->target_state->name;
+}
+
+/**
+ * clutter_state_key_get_property_type:
+ * @key: a #ClutterStateKey
+ *
+ * Retrieves the #GType of the property a key applies to
+ *
+ * You can use this type to initialize the #GValue to pass to
+ * clutter_state_key_get_value()
+ *
+ * Return value: the #GType of the property
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+GType
+clutter_state_key_get_property_type (const ClutterStateKey *key)
+{
+  g_return_val_if_fail (key != NULL, G_TYPE_INVALID);
+
+  return G_VALUE_TYPE (&key->value);
+}
+
+
+/**
+ * clutter_state_set_duration:
+ * @state: a #ClutterState
+ * @source_state_name: (allow-none): the name of the source state, or %NULL
+ * @target_state_name: (allow-none): the name of the target state, or %NULL
+ * @duration: the duration of the transition, in milliseconds
+ *
+ * Sets the duration of a transition.
+ *
+ * If both state names are %NULL the default duration for @state is set.
+ *
+ * If only @target_state_name is specified, the passed @duration becomes
+ * the default duration for transitions to the target state.
+ *
+ * If both states names are specified, the passed @duration only applies
+ * to the specified transition.
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+void
+clutter_state_set_duration (ClutterState *state,
+                            const gchar  *source_state_name,
+                            const gchar  *target_state_name,
+                            guint         duration)
+{
+  State *target_state;
+
+  g_return_if_fail (CLUTTER_IS_STATE (state));
+
+  source_state_name = g_intern_string (source_state_name);
+  if (source_state_name == g_intern_static_string (""))
+    source_state_name = NULL;
+
+  target_state_name = g_intern_string (target_state_name);
+  if (target_state_name == g_intern_static_string (""))
+    target_state_name = NULL;
+
+  if (target_state_name == NULL)
+    {
+      state->priv->duration = duration;
+      return;
+    }
+
+  target_state = clutter_state_fetch_state (state, target_state_name, FALSE);
+  if (target_state != NULL)
+    {
+      if (source_state_name != NULL)
+        g_hash_table_insert (target_state->durations,
+                             (gpointer) source_state_name,
+                             GINT_TO_POINTER (duration));
+      else
+        g_hash_table_insert (target_state->durations,
+                             NULL,
+                             GINT_TO_POINTER (duration));
+    }
+}
+
+/**
+ * clutter_state_get_duration:
+ * @state: a #ClutterState
+ * @source_state_name: (allow-none): the name of the source state to
+ *   get the duration of, or %NULL
+ * @target_state_name: (allow-none): the name of the source state to
+ *   get the duration of, or %NULL
+ *
+ * Queries the duration used for transitions between a source and
+ * target state pair
+ *
+ * The semantics for the query are the same as the semantics used for
+ * setting the duration with clutter_state_set_duration()
+ * 
+ * Return value: the duration, in milliseconds
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+guint
+clutter_state_get_duration (ClutterState *state,
+                            const gchar  *source_state_name,
+                            const gchar  *target_state_name)
+{
+  State *target_state;
+  guint ret = 0;
+
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), 0);
+
+  source_state_name = g_intern_string (source_state_name);
+  if (source_state_name == g_intern_static_string (""))
+    source_state_name = NULL;
+
+  target_state_name = g_intern_string (target_state_name);
+  if (target_state_name == g_intern_static_string (""))
+    target_state_name = NULL;
+
+  if (target_state_name == NULL)
+    return state->priv->duration;
+
+  target_state = clutter_state_fetch_state (state, target_state_name, FALSE);
+  if (target_state != NULL)
+    {
+      if (source_state_name)
+        {
+          ret = GPOINTER_TO_INT (g_hash_table_lookup (target_state->durations,
+                                                      source_state_name));
+          if(!ret)
+            ret = GPOINTER_TO_INT (g_hash_table_lookup (target_state->durations,
+                                                        NULL));
+        }
+      else
+        ret = GPOINTER_TO_INT (g_hash_table_lookup (target_state->durations,
+                                                    NULL));
+    }
+
+  if (!ret)
+    ret = state->priv->duration;
+
+  return ret;
+}
+
+/**
+ * clutter_state_get_state:
+ * @state: a #ClutterState
+ *
+ * Queries the currently set target state.
+ *
+ * During a transition this function will return the target of the transition.
+ *
+ * This function is useful when called from handlers of the
+ * #ClutterState::completed signal.
+ * 
+ * Return value: a string containing the target state. The returned string
+ *   is owned by the #ClutterState and should not be modified or freed
+ *
+ * Since: 1.4
+ * Deprecated: 1.12: Use #ClutterKeyframeTransition and
+ *   #ClutterTransitionGroup instead
+ */
+const gchar *
+clutter_state_get_state (ClutterState *state)
+{
+  g_return_val_if_fail (CLUTTER_IS_STATE (state), NULL);
+
+  return state->priv->target_state_name;
+}
+
+typedef struct _ParseClosure {
+  ClutterState *state;
+  ClutterScript *script;
+
+  GValue *value;
+
+  gboolean result;
+} ParseClosure;
+
+static void
+parse_state_transition (JsonArray *array,
+                        guint      index_,
+                        JsonNode  *element,
+                        gpointer   data)
+{
+  ParseClosure *clos = data;
+  JsonObject *object;
+  const gchar *source_name, *target_name;
+  State *source_state, *target_state;
+  JsonArray *keys;
+  GSList *valid_keys = NULL;
+  GList *array_keys, *k;
+
+  if (JSON_NODE_TYPE (element) != JSON_NODE_OBJECT)
+    {
+      g_warning ("The 'transitions' member of a ClutterState description "
+                 "should be an array of objects, but the element %d of the "
+                 "array is of type '%s'. The element will be ignored.",
+                 index_,
+                 json_node_type_name (element));
+      return;
+    }
+
+  object = json_node_get_object (element);
+
+  if (!json_object_has_member (object, "source") ||
+      !json_object_has_member (object, "target") ||
+      !(json_object_has_member (object, "keys") ||
+        json_object_has_member (object, "animator")))
+    {
+      g_warning ("The transition description at index %d is missing one "
+                 "of the mandatory members: source, target and keys or "
+                 "animator", index_);
+      return;
+    }
+
+  source_name = json_object_get_string_member (object, "source");
+  source_state = clutter_state_fetch_state (clos->state, source_name, TRUE);
+
+  target_name = json_object_get_string_member (object, "target");
+  target_state = clutter_state_fetch_state (clos->state, target_name, TRUE);
+
+  if (json_object_has_member (object, "duration"))
+    {
+      guint duration = json_object_get_int_member (object, "duration");
+
+      clutter_state_set_duration (clos->state,
+                                  source_name, target_name,
+                                  duration);
+    }
+
+  if (json_object_has_member (object, "animator"))
+    {
+      const gchar *id_ = json_object_get_string_member (object, "animator");
+      GObject *animator;
+
+      animator = clutter_script_get_object (clos->script, id_);
+      if (animator == NULL)
+        {
+          g_warning ("No object with id '%s' has been defined.", id_);
+          return;
+        }
+
+      clutter_state_set_animator (clos->state,
+                                  source_name,
+                                  target_name,
+                                  CLUTTER_ANIMATOR (animator));
+    }
+
+  if (!json_object_has_member (object, "keys"))
+    return;
+
+  keys = json_object_get_array_member (object, "keys");
+  if (keys == NULL && !json_object_has_member (object, "animator"))
+    {
+      g_warning ("The transition description at index %d has an invalid "
+                 "key member of type '%s' when an array was expected.",
+                 index_,
+                 json_node_type_name (json_object_get_member (object, "keys")));
+      return;
+    }
+
+  if (G_IS_VALUE (clos->value))
+    valid_keys = g_slist_reverse (g_value_get_pointer (clos->value));
+  else
+    g_value_init (clos->value, G_TYPE_POINTER);
+
+  array_keys = json_array_get_elements (keys);
+  for (k = array_keys; k != NULL; k = k->next)
+    {
+      JsonNode *node = k->data;
+      JsonArray *key = json_node_get_array (node);
+      ClutterStateKey *state_key;
+      GObject *gobject;
+      GParamSpec *pspec;
+      const gchar *id_;
+      const gchar *property;
+      gulong mode;
+      gboolean res;
+
+      id_ = json_array_get_string_element (key, 0);
+      gobject = clutter_script_get_object (clos->script, id_);
+      if (gobject == NULL)
+        {
+          g_warning ("No object with id '%s' has been defined.", id_);
+          continue;
+        }
+
+      property = json_array_get_string_element (key, 1);
+      pspec = get_property_from_object (gobject, property);
+      if (pspec == NULL)
+        {
+          g_warning ("The object of type '%s' and name '%s' has no "
+                     "property named '%s'.",
+                     G_OBJECT_TYPE_NAME (gobject),
+                     id_,
+                     property);
+          continue;
+        }
+
+      mode = _clutter_script_resolve_animation_mode (json_array_get_element (key, 2));
+
+      state_key = clutter_state_key_new (target_state,
+                                         gobject, property, pspec,
+                                         mode);
+
+      res = _clutter_script_parse_node (clos->script,
+                                        &(state_key->value),
+                                        property,
+                                        json_array_get_element (key, 3),
+                                        pspec);
+      if (!res)
+        {
+          g_warning ("Unable to parse the key value for the "
+                     "property '%s' of object '%s' at index %d",
+                     property,
+                     id_,
+                     index_);
+          clutter_state_key_free (state_key);
+          continue;
+        }
+
+      switch (json_array_get_length (key))
+        {
+        case 5:
+          state_key->pre_delay = json_array_get_double_element (key, 4);
+          state_key->post_delay = 0.0;
+          break;
+
+        case 6:
+          state_key->pre_delay = json_array_get_double_element (key, 4);
+          state_key->post_delay = json_array_get_double_element (key, 5);
+          break;
+
+        default:
+          state_key->pre_delay = 0.0;
+          state_key->post_delay = 0.0;
+          break;
+        }
+
+      state_key->source_state = source_state;
+
+      valid_keys = g_slist_prepend (valid_keys, state_key);
+    }
+
+  g_list_free (array_keys);
+
+  g_value_set_pointer (clos->value, g_slist_reverse (valid_keys));
+
+  clos->result = TRUE;
+}
+
+static gboolean
+clutter_state_parse_custom_node (ClutterScriptable *scriptable,
+                                 ClutterScript     *script,
+                                 GValue            *value,
+                                 const gchar       *name,
+                                 JsonNode          *node)
+{
+  ParseClosure clos;
+
+  if (strcmp (name, "transitions") != 0)
+    return FALSE;
+
+  if (JSON_NODE_TYPE (node) != JSON_NODE_ARRAY)
+    return FALSE;
+
+  clos.state = CLUTTER_STATE (scriptable);
+  clos.script = script;
+  clos.value = value;
+  clos.result = FALSE;
+
+  json_array_foreach_element (json_node_get_array (node),
+                              parse_state_transition,
+                              &clos);
+
+  return clos.result;
+}
+
+static void
+clutter_state_set_custom_property (ClutterScriptable *scriptable,
+                                   ClutterScript     *script,
+                                   const gchar       *name,
+                                   const GValue      *value)
+{
+  if (strcmp (name, "transitions") == 0)
+    {
+      ClutterState *state = CLUTTER_STATE (scriptable);
+      GSList *keys = g_value_get_pointer (value);
+      GSList *k;
+
+      for (k = keys; k != NULL; k = k->next)
+        clutter_state_set_key_internal (state, k->data);
+
+      g_slist_free (keys);
+    }
+  else
+    g_object_set_property (G_OBJECT (scriptable), name, value);
+}
+
+static void
+clutter_scriptable_iface_init (ClutterScriptableIface *iface)
+{
+  iface->parse_custom_node = clutter_state_parse_custom_node;
+  iface->set_custom_property = clutter_state_set_custom_property;
+}
diff --git a/clutter/deprecated/clutter-state.h b/clutter/deprecated/clutter-state.h
new file mode 100644
index 0000000..c446e77
--- /dev/null
+++ b/clutter/deprecated/clutter-state.h
@@ -0,0 +1,187 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Øyvind Kolås <pippin linux intel com>
+ *
+ * Copyright (C) 2009 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __CLUTTER_STATE_H__
+#define __CLUTTER_STATE_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+#define CLUTTER_TYPE_STATE_KEY          (clutter_state_key_get_type ())
+#define CLUTTER_TYPE_STATE              (clutter_state_get_type ())
+#define CLUTTER_STATE(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_STATE, 
ClutterState))
+#define CLUTTER_STATE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_STATE, 
ClutterStateClass))
+#define CLUTTER_IS_STATE(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_STATE))
+#define CLUTTER_IS_STATE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_STATE))
+#define CLUTTER_STATE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_STATE, 
ClutterStateClass))
+
+typedef struct _ClutterStatePrivate ClutterStatePrivate;
+typedef struct _ClutterStateClass   ClutterStateClass;
+
+/**
+ * ClutterStateKey:
+ *
+ * <structname>ClutterStateKey</structname> is an opaque structure whose
+ * members cannot be accessed directly
+ *
+ * Since: 1.4
+ */
+typedef struct _ClutterStateKey     ClutterStateKey;
+
+/**
+ * ClutterState:
+ *
+ * The <structname>ClutterState</structname> structure contains only
+ * private data and should be accessed using the provided API
+ *
+ * Since: 1.4
+ */
+struct _ClutterState
+{
+  /*< private >*/
+  GObject        parent;
+  ClutterStatePrivate *priv;
+};
+
+/**
+ * ClutterStateClass:
+ * @completed: class handler for the #ClutterState::completed signal
+ *
+ * The <structname>ClutterStateClass</structname> structure contains
+ * only private data
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12
+ */
+struct _ClutterStateClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /*< public >*/
+  void (* completed) (ClutterState *state);
+
+  /*< private >*/
+  /* padding for future expansion */
+  gpointer _padding_dummy[8];
+};
+
+CLUTTER_DEPRECATED_IN_1_12
+GType clutter_state_get_type (void) G_GNUC_CONST;
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterState    *clutter_state_new            (void);
+
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline * clutter_state_set_state     (ClutterState    *state,
+                                               const gchar     *target_state_name);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline * clutter_state_warp_to_state (ClutterState    *state,
+                                               const gchar     *target_state_name);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterState *    clutter_state_set_key       (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name,
+                                               GObject         *object,
+                                               const gchar     *property_name,
+                                               guint            mode,
+                                               const GValue    *value,
+                                               gdouble          pre_delay,
+                                               gdouble          post_delay);
+CLUTTER_DEPRECATED_IN_1_12
+void              clutter_state_set_duration  (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name,
+                                               guint            duration);
+CLUTTER_DEPRECATED_IN_1_12
+guint             clutter_state_get_duration  (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name);
+CLUTTER_DEPRECATED_IN_1_12
+void              clutter_state_set           (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name,
+                                               gpointer         first_object,
+                                               const gchar     *first_property_name,
+                                               gulong           first_mode,
+                                                ...) G_GNUC_NULL_TERMINATED;
+CLUTTER_DEPRECATED_IN_1_12
+GList           * clutter_state_get_states    (ClutterState    *state);
+CLUTTER_DEPRECATED_IN_1_12
+GList           * clutter_state_get_keys      (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name,
+                                               GObject         *object,
+                                               const gchar     *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+void              clutter_state_remove_key    (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name,
+                                               GObject         *object,
+                                               const gchar     *property_name);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTimeline * clutter_state_get_timeline  (ClutterState    *state);
+CLUTTER_DEPRECATED_IN_1_12
+void              clutter_state_set_animator  (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name,
+                                               ClutterAnimator *animator);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterAnimator * clutter_state_get_animator  (ClutterState    *state,
+                                               const gchar     *source_state_name,
+                                               const gchar     *target_state_name);
+CLUTTER_DEPRECATED_IN_1_12
+const gchar *     clutter_state_get_state     (ClutterState    *state);
+
+/*
+ * ClutterStateKey
+ */
+
+CLUTTER_DEPRECATED_IN_1_12
+GType                 clutter_state_key_get_type              (void) G_GNUC_CONST;
+CLUTTER_DEPRECATED_IN_1_12
+gdouble               clutter_state_key_get_pre_delay         (const ClutterStateKey *state_key);
+CLUTTER_DEPRECATED_IN_1_12
+gdouble               clutter_state_key_get_post_delay        (const ClutterStateKey *state_key);
+CLUTTER_DEPRECATED_IN_1_12
+gulong                clutter_state_key_get_mode              (const ClutterStateKey *state_key);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean              clutter_state_key_get_value             (const ClutterStateKey *state_key,
+                                                               GValue                *value);
+CLUTTER_DEPRECATED_IN_1_12
+GType                 clutter_state_key_get_property_type     (const ClutterStateKey *key);
+CLUTTER_DEPRECATED_IN_1_12
+GObject *             clutter_state_key_get_object            (const ClutterStateKey *state_key);
+CLUTTER_DEPRECATED_IN_1_12
+const gchar *         clutter_state_key_get_property_name     (const ClutterStateKey *state_key);
+CLUTTER_DEPRECATED_IN_1_12
+const gchar *         clutter_state_key_get_source_state_name (const ClutterStateKey *state_key);
+CLUTTER_DEPRECATED_IN_1_12
+const gchar *         clutter_state_key_get_target_state_name (const ClutterStateKey *state_key);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_STATE_H__ */
diff --git a/clutter/deprecated/clutter-texture.c b/clutter/deprecated/clutter-texture.c
new file mode 100644
index 0000000..448c884
--- /dev/null
+++ b/clutter/deprecated/clutter-texture.c
@@ -0,0 +1,3156 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+/**
+ * SECTION:clutter-texture
+ * @short_description: An actor for displaying and manipulating images.
+ *
+ * #ClutterTexture is a base class for displaying and manipulating pixel
+ * buffer type data.
+ *
+ * The clutter_texture_set_from_rgb_data() and
+ * clutter_texture_set_from_file() functions are used to copy image
+ * data into texture memory and subsequently realize the texture.
+ *
+ * Note: a ClutterTexture will scale its contents to fit the bounding
+ * box requested using clutter_actor_set_size(). To display an area of
+ * a texture without scaling, you should set the clip area using
+ * clutter_actor_set_clip().
+ *
+ * The #ClutterTexture API is deprecated since Clutter 1.12. It is strongly
+ * recommended to use #ClutterImage instead.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* This file depends on the glib enum types which aren't exposed
+ * by cogl.h when COGL_ENABLE_EXPERIMENTAL_2_0_API is defined.
+ *
+ * Undefining COGL_ENABLE_EXPERIMENTAL_2_0_API will still expose
+ * us experimental api but will also expose Cogl 1.x api too...
+ */
+#undef COGL_ENABLE_EXPERIMENTAL_2_0_API
+#include <cogl/cogl.h>
+
+#define CLUTTER_ENABLE_EXPERIMENTAL_API
+
+/* sadly, we are still using ClutterShader internally */
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+#include "clutter-texture.h"
+
+#include "clutter-actor-private.h"
+#include "clutter-color.h"
+#include "clutter-debug.h"
+#include "clutter-enum-types.h"
+#include "clutter-feature.h"
+#include "clutter-main.h"
+#include "clutter-marshal.h"
+#include "clutter-private.h"
+#include "clutter-scriptable.h"
+#include "clutter-stage-private.h"
+
+#include "deprecated/clutter-shader.h"
+#include "deprecated/clutter-texture.h"
+#include "deprecated/clutter-util.h"
+
+static void clutter_scriptable_iface_init (ClutterScriptableIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (ClutterTexture,
+                         clutter_texture,
+                         CLUTTER_TYPE_ACTOR,
+                         G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
+                                                clutter_scriptable_iface_init));
+
+#define CLUTTER_TEXTURE_GET_PRIVATE(obj)        (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CLUTTER_TYPE_TEXTURE, 
ClutterTexturePrivate))
+
+typedef struct _ClutterTextureAsyncData ClutterTextureAsyncData;
+
+struct _ClutterTexturePrivate
+{
+  gint image_width;
+  gint image_height;
+
+  CoglPipeline *pipeline;
+
+  ClutterActor *fbo_source;
+  CoglHandle fbo_handle;
+
+  CoglPipeline *pick_pipeline;
+
+  gchar *filename;
+
+  ClutterTextureAsyncData *async_data;
+
+  guint no_slice : 1;
+  guint sync_actor_size : 1;
+  guint repeat_x : 1;
+  guint repeat_y : 1;
+  guint keep_aspect_ratio : 1;
+  guint load_size_async : 1;
+  guint load_data_async : 1;
+  guint load_async_set : 1;  /* used to make load_async possible */
+  guint pick_with_alpha : 1;
+  guint pick_with_alpha_supported : 1;
+  guint seen_create_pick_pipeline_warning : 1;
+};
+
+#define ASYNC_STATE_LOCKED      1
+#define ASYNC_STATE_CANCELLED   2
+#define ASYNC_STATE_QUEUED      3
+
+struct _ClutterTextureAsyncData
+{
+  /* The texture for which the data is being loaded */
+  ClutterTexture *texture;
+
+  gchar *load_filename;
+  CoglHandle load_bitmap;
+
+  guint load_idle;
+
+  GError *load_error;
+
+  gint state;
+};
+
+static inline void
+clutter_texture_async_data_lock (ClutterTextureAsyncData *data)
+{
+  g_bit_lock (&data->state, 0);
+}
+
+static inline void
+clutter_texture_async_data_unlock (ClutterTextureAsyncData *data)
+{
+  g_bit_unlock (&data->state, 0);
+}
+
+enum
+{
+  PROP_0,
+  PROP_NO_SLICE,
+  PROP_MAX_TILE_WASTE,
+  PROP_PIXEL_FORMAT,
+  PROP_SYNC_SIZE,
+  PROP_REPEAT_Y,
+  PROP_REPEAT_X,
+  PROP_FILTER_QUALITY,
+  PROP_COGL_TEXTURE,
+  PROP_COGL_MATERIAL,
+  PROP_FILENAME,
+  PROP_KEEP_ASPECT_RATIO,
+  PROP_LOAD_ASYNC,
+  PROP_LOAD_DATA_ASYNC,
+  PROP_PICK_WITH_ALPHA,
+
+  PROP_LAST
+};
+
+static GParamSpec *obj_props[PROP_LAST];
+
+enum
+{
+  SIZE_CHANGE,
+  PIXBUF_CHANGE,
+  LOAD_SUCCESS,
+  LOAD_FINISHED,
+  LAST_SIGNAL
+};
+
+static int texture_signals[LAST_SIGNAL] = { 0 };
+
+static GThreadPool *async_thread_pool = NULL;
+static guint        repaint_upload_func = 0;
+static GList       *upload_list = NULL;
+static GMutex       upload_list_mutex;
+
+static CoglPipeline *texture_template_pipeline = NULL;
+
+static void
+texture_fbo_free_resources (ClutterTexture *texture);
+
+GQuark
+clutter_texture_error_quark (void)
+{
+  return g_quark_from_static_string ("clutter-texture-error-quark");
+}
+
+static const struct
+{
+  gint min_filter;
+  gint mag_filter;
+}
+clutter_texture_quality_filters[] =
+  {
+    /* CLUTTER_TEXTURE_QUALITY_LOW */
+    { COGL_PIPELINE_FILTER_NEAREST, COGL_PIPELINE_FILTER_NEAREST },
+
+    /* CLUTTER_TEXTURE_QUALITY_MEDIUM */
+    { COGL_PIPELINE_FILTER_LINEAR, COGL_PIPELINE_FILTER_LINEAR },
+
+    /* CLUTTER_TEXTURE_QUALITY_HIGH */
+    { COGL_PIPELINE_FILTER_LINEAR_MIPMAP_LINEAR, COGL_PIPELINE_FILTER_LINEAR }
+  };
+
+static inline void
+clutter_texture_quality_to_filters (ClutterTextureQuality  quality,
+                                    gint                  *min_filter_p,
+                                    gint                  *mag_filter_p)
+{
+  g_return_if_fail (quality < G_N_ELEMENTS (clutter_texture_quality_filters));
+
+  if (min_filter_p)
+    *min_filter_p = clutter_texture_quality_filters[quality].min_filter;
+
+  if (mag_filter_p)
+    *mag_filter_p = clutter_texture_quality_filters[quality].mag_filter;
+}
+
+static void
+texture_free_gl_resources (ClutterTexture *texture)
+{
+  ClutterTexturePrivate *priv = texture->priv;
+
+  if (priv->pipeline != NULL)
+    {
+      /* We want to keep the layer so that the filter settings will
+         remain but we want to free its resources so we clear the
+         texture handle */
+      cogl_pipeline_set_layer_texture (priv->pipeline, 0, NULL);
+    }
+}
+
+static void
+clutter_texture_unrealize (ClutterActor *actor)
+{
+  ClutterTexture        *texture;
+  ClutterTexturePrivate *priv;
+
+  texture = CLUTTER_TEXTURE(actor);
+  priv = texture->priv;
+
+  if (priv->pipeline == NULL)
+    return;
+
+  if (priv->fbo_source != NULL)
+    {
+      /* Free up our fbo handle and texture resources, realize will recreate */
+      cogl_object_unref (priv->fbo_handle);
+      priv->fbo_handle = NULL;
+      texture_free_gl_resources (texture);
+      return;
+    }
+
+  CLUTTER_NOTE (TEXTURE, "Texture unrealized");
+}
+
+static void
+clutter_texture_realize (ClutterActor *actor)
+{
+  ClutterTexture       *texture;
+  ClutterTexturePrivate *priv;
+
+  texture = CLUTTER_TEXTURE(actor);
+  priv = texture->priv;
+
+  if (priv->fbo_source)
+    {
+      CoglTextureFlags flags = COGL_TEXTURE_NONE;
+      CoglHandle tex;
+
+      /* Handle FBO's */
+
+      if (priv->no_slice)
+        flags |= COGL_TEXTURE_NO_SLICING;
+
+      tex = cogl_texture_new_with_size (priv->image_width,
+                                        priv->image_height,
+                                        flags,
+                                        COGL_PIXEL_FORMAT_RGBA_8888_PRE);
+
+      cogl_pipeline_set_layer_texture (priv->pipeline, 0, tex);
+
+      priv->fbo_handle = cogl_offscreen_new_to_texture (tex);
+
+      /* The pipeline now has a reference to the texture so it will
+         stick around */
+      cogl_object_unref (tex);
+
+      if (priv->fbo_handle == NULL)
+        {
+          g_warning ("%s: Offscreen texture creation failed", G_STRLOC);
+         CLUTTER_ACTOR_UNSET_FLAGS (actor, CLUTTER_ACTOR_REALIZED);
+          return;
+        }
+
+      clutter_actor_set_size (actor, priv->image_width, priv->image_height);
+
+      return;
+    }
+
+  /* If the texture is not a FBO, then realization is a no-op but we
+   * still want to be in REALIZED state to maintain invariants.
+   * ClutterTexture doesn't need to be realized to have a Cogl texture
+   * because Clutter assumes that a GL context is always current so
+   * there is no need to wait to realization time to create the
+   * texture. Although this is slightly odd it would be wasteful to
+   * redundantly store a copy of the texture data in local memory just
+   * so that we can make a texture during realize.
+   */
+
+  CLUTTER_NOTE (TEXTURE, "Texture realized");
+}
+
+static void
+clutter_texture_get_preferred_width (ClutterActor *self,
+                                     gfloat        for_height,
+                                     gfloat       *min_width_p,
+                                     gfloat       *natural_width_p)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+
+  /* Min request is always 0 since we can scale down or clip */
+  if (min_width_p)
+    *min_width_p = 0;
+
+  if (priv->sync_actor_size)
+    {
+      if (natural_width_p)
+        {
+          if (!priv->keep_aspect_ratio ||
+              for_height < 0 ||
+              priv->image_height <= 0)
+            {
+              *natural_width_p = priv->image_width;
+            }
+          else
+            {
+              /* Set the natural width so as to preserve the aspect ratio */
+              gfloat ratio = (gfloat) priv->image_width
+                           / (gfloat) priv->image_height;
+
+              *natural_width_p = ratio * for_height;
+            }
+        }
+    }
+  else
+    {
+      if (natural_width_p)
+        *natural_width_p = 0;
+    }
+}
+
+static void
+clutter_texture_get_preferred_height (ClutterActor *self,
+                                      gfloat        for_width,
+                                      gfloat       *min_height_p,
+                                      gfloat       *natural_height_p)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+
+  /* Min request is always 0 since we can scale down or clip */
+  if (min_height_p)
+    *min_height_p = 0;
+
+  if (priv->sync_actor_size)
+    {
+      if (natural_height_p)
+        {
+          if (!priv->keep_aspect_ratio ||
+              for_width < 0 ||
+              priv->image_width <= 0)
+            {
+              *natural_height_p = priv->image_height;
+            }
+          else
+            {
+              /* Set the natural height so as to preserve the aspect ratio */
+              gfloat ratio = (gfloat) priv->image_height
+                           / (gfloat) priv->image_width;
+
+              *natural_height_p = ratio * for_width;
+            }
+        }
+    }
+  else
+    {
+      if (natural_height_p)
+        *natural_height_p = 0;
+    }
+}
+
+static void
+clutter_texture_allocate (ClutterActor           *self,
+                         const ClutterActorBox  *box,
+                          ClutterAllocationFlags  flags)
+{
+  ClutterTexturePrivate *priv = CLUTTER_TEXTURE (self)->priv;
+
+  /* chain up to set actor->allocation */
+  CLUTTER_ACTOR_CLASS (clutter_texture_parent_class)->allocate (self,
+                                                                box,
+                                                                flags);
+
+  /* If we adopted the source fbo then allocate that at its preferred
+     size */
+  if (priv->fbo_source && clutter_actor_get_parent (priv->fbo_source) == self)
+    clutter_actor_allocate_preferred_size (priv->fbo_source, flags);
+}
+
+static gboolean
+clutter_texture_has_overlaps (ClutterActor *self)
+{
+  /* Textures never need an offscreen redirect because there are never
+     any overlapping primitives */
+  return FALSE;
+}
+
+static void
+set_viewport_with_buffer_under_fbo_source (ClutterActor *fbo_source,
+                                           int viewport_width,
+                                           int viewport_height)
+{
+  ClutterActorBox box = { 0, };
+  float x_offset, y_offset;
+
+  if (clutter_actor_get_paint_box (fbo_source, &box))
+    clutter_actor_box_get_origin (&box, &x_offset, &y_offset);
+  else
+    {
+      /* As a fallback when the paint box can't be determined we use
+       * the transformed allocation to come up with an offset instead.
+       *
+       * FIXME: when we don't have a paint box we should instead be
+       * falling back to a stage sized fbo with an offset of (0,0)
+       */
+
+      ClutterVertex verts[4];
+      float x_min = G_MAXFLOAT, y_min = G_MAXFLOAT;
+      int i;
+
+      /* Get the actors allocation transformed into screen coordinates.
+       *
+       * XXX: Note: this may not be a bounding box for the actor, since an
+       * actor with depth may escape the box due to its perspective
+       * projection. */
+      clutter_actor_get_abs_allocation_vertices (fbo_source, verts);
+
+      for (i = 0; i < G_N_ELEMENTS (verts); ++i)
+        {
+          if (verts[i].x < x_min)
+           x_min = verts[i].x;
+          if (verts[i].y < y_min)
+           y_min = verts[i].y;
+        }
+
+      /* XXX: It's not good enough to round by simply truncating the fraction here
+       * via a cast, as it results in offscreen rendering being offset by 1 pixel
+       * in many cases... */
+#define ROUND(x) ((x) >= 0 ? (long)((x) + 0.5) : (long)((x) - 0.5))
+
+      x_offset = ROUND (x_min);
+      y_offset = ROUND (y_min);
+
+#undef ROUND
+    }
+
+  /* translate the viewport so that the source actor lands on the
+   * sub-region backed by the offscreen framebuffer... */
+  cogl_set_viewport (-x_offset, -y_offset, viewport_width, viewport_height);
+}
+
+static void
+update_fbo (ClutterActor *self)
+{
+  ClutterTexture        *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+  ClutterActor          *head;
+  ClutterShader         *shader = NULL;
+  ClutterActor          *stage = NULL;
+  CoglMatrix             projection;
+  CoglColor              transparent_col;
+
+  head = _clutter_context_peek_shader_stack ();
+  if (head != NULL)
+    shader = clutter_actor_get_shader (head);
+
+  /* Temporarily turn off the shader on the top of the context's
+   * shader stack, to restore the GL pipeline to it's natural state.
+   */
+  if (shader != NULL)
+    clutter_shader_set_is_enabled (shader, FALSE);
+
+  /* Redirect drawing to the fbo */
+  cogl_push_framebuffer (priv->fbo_handle);
+
+  if ((stage = clutter_actor_get_stage (self)) != NULL)
+    {
+      gfloat stage_width, stage_height;
+      ClutterActor *source_parent;
+
+      /* We copy the projection and modelview matrices from the stage to
+       * the offscreen framebuffer and create a viewport larger than the
+       * offscreen framebuffer - the same size as the stage.
+       *
+       * The fbo source actor gets rendered into this stage size viewport at the
+       * same position it normally would after applying all it's usual parent
+       * transforms and it's own scale and rotate transforms etc.
+       *
+       * The viewport is offset such that the offscreen buffer will be positioned
+       * under the actor.
+       */
+
+      _clutter_stage_get_projection_matrix (CLUTTER_STAGE (stage), &projection);
+
+      /* Set the projection matrix modelview matrix as it is for the
+       * stage... */
+      cogl_set_projection_matrix (&projection);
+
+      clutter_actor_get_size (stage, &stage_width, &stage_height);
+
+      /* Set a negatively offset the viewport so that the offscreen
+       * framebuffer is position underneath the fbo_source actor... */
+      set_viewport_with_buffer_under_fbo_source (priv->fbo_source,
+                                                 stage_width,
+                                                 stage_height);
+
+      /* Apply the source's parent transformations to the modelview */
+      if ((source_parent = clutter_actor_get_parent (priv->fbo_source)))
+        {
+          CoglMatrix modelview;
+          cogl_matrix_init_identity (&modelview);
+          _clutter_actor_apply_relative_transformation_matrix (source_parent,
+                                                               NULL,
+                                                               &modelview);
+          cogl_set_modelview_matrix (&modelview);
+        }
+    }
+
+
+  /* cogl_clear is called to clear the buffers */
+  cogl_color_init_from_4ub (&transparent_col, 0, 0, 0, 0);
+  cogl_clear (&transparent_col,
+              COGL_BUFFER_BIT_COLOR |
+              COGL_BUFFER_BIT_DEPTH);
+
+  /* Render the actor to the fbo */
+  clutter_actor_paint (priv->fbo_source);
+
+  /* Restore drawing to the previous framebuffer */
+  cogl_pop_framebuffer ();
+
+  /* If there is a shader on top of the shader stack, turn it back on. */
+  if (shader != NULL)
+    clutter_shader_set_is_enabled (shader, TRUE);
+}
+
+static void
+gen_texcoords_and_draw_cogl_rectangle (ClutterActor *self)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+  ClutterActorBox box;
+  float t_w, t_h;
+
+  clutter_actor_get_allocation_box (self, &box);
+
+  if (priv->repeat_x && priv->image_width > 0)
+    t_w = (box.x2 - box.x1) / (float) priv->image_width;
+  else
+    t_w = 1.0;
+
+  if (priv->repeat_y && priv->image_height > 0)
+    t_h = (box.y2 - box.y1) / (float) priv->image_height;
+  else
+    t_h = 1.0;
+
+  cogl_rectangle_with_texture_coords (0, 0,
+                                     box.x2 - box.x1,
+                                      box.y2 - box.y1,
+                                     0, 0, t_w, t_h);
+}
+
+static CoglPipeline *
+create_pick_pipeline (ClutterActor *self)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+  CoglPipeline *pick_pipeline = cogl_pipeline_copy (texture_template_pipeline);
+  GError *error = NULL;
+
+  if (!cogl_pipeline_set_layer_combine (pick_pipeline, 0,
+                                        "RGBA = "
+                                        "  MODULATE (CONSTANT, TEXTURE[A])",
+                                        &error))
+    {
+      if (!priv->seen_create_pick_pipeline_warning)
+        g_warning ("Error setting up texture combine for shaped "
+                   "texture picking: %s", error->message);
+      priv->seen_create_pick_pipeline_warning = TRUE;
+      g_error_free (error);
+      cogl_object_unref (pick_pipeline);
+      return NULL;
+    }
+
+  cogl_pipeline_set_blend (pick_pipeline,
+                           "RGBA = ADD (SRC_COLOR[RGBA], 0)",
+                           NULL);
+
+  cogl_pipeline_set_alpha_test_function (pick_pipeline,
+                                         COGL_PIPELINE_ALPHA_FUNC_EQUAL,
+                                         1.0);
+
+  return pick_pipeline;
+}
+
+static void
+clutter_texture_pick (ClutterActor       *self,
+                      const ClutterColor *color)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+
+  if (!clutter_actor_should_pick_paint (self))
+    return;
+
+  if (G_LIKELY (priv->pick_with_alpha_supported) && priv->pick_with_alpha)
+    {
+      CoglColor pick_color;
+
+      if (priv->pick_pipeline == NULL)
+        priv->pick_pipeline = create_pick_pipeline (self);
+
+      if (priv->pick_pipeline == NULL)
+        {
+          priv->pick_with_alpha_supported = FALSE;
+          CLUTTER_ACTOR_CLASS (clutter_texture_parent_class)->pick (self,
+                                                                    color);
+          return;
+        }
+
+      if (priv->fbo_handle != NULL)
+        update_fbo (self);
+
+      cogl_color_init_from_4ub (&pick_color,
+                                color->red,
+                                color->green,
+                                color->blue,
+                                0xff);
+      cogl_pipeline_set_layer_combine_constant (priv->pick_pipeline,
+                                                0, &pick_color);
+      cogl_pipeline_set_layer_texture (priv->pick_pipeline, 0,
+                                       clutter_texture_get_cogl_texture (texture));
+      cogl_set_source (priv->pick_pipeline);
+      gen_texcoords_and_draw_cogl_rectangle (self);
+    }
+  else
+    CLUTTER_ACTOR_CLASS (clutter_texture_parent_class)->pick (self, color);
+}
+
+static void
+clutter_texture_paint (ClutterActor *self)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (self);
+  ClutterTexturePrivate *priv = texture->priv;
+  guint8 paint_opacity = clutter_actor_get_paint_opacity (self);
+
+  CLUTTER_NOTE (PAINT,
+                "painting texture '%s'",
+               clutter_actor_get_name (self) ? clutter_actor_get_name (self)
+                                              : "unknown");
+
+  if (priv->fbo_handle != NULL)
+    update_fbo (self);
+
+  cogl_pipeline_set_color4ub (priv->pipeline,
+                             paint_opacity,
+                              paint_opacity,
+                              paint_opacity,
+                              paint_opacity);
+  cogl_set_source (priv->pipeline);
+
+  gen_texcoords_and_draw_cogl_rectangle (self);
+}
+
+static gboolean
+clutter_texture_get_paint_volume (ClutterActor       *self,
+                                  ClutterPaintVolume *volume)
+{
+  ClutterTexturePrivate *priv;
+
+  priv = CLUTTER_TEXTURE (self)->priv;
+
+  if (priv->pipeline == NULL)
+    return FALSE;
+
+  if (priv->image_width == 0 || priv->image_height == 0)
+    return FALSE;
+
+  return _clutter_actor_set_default_paint_volume (self,
+                                                  CLUTTER_TYPE_TEXTURE,
+                                                  volume);
+}
+
+static void
+clutter_texture_async_data_free (ClutterTextureAsyncData *data)
+{
+  /* This function should only be called either from the main thread
+     once it is known that the load thread has completed or from the
+     load thread/upload function itself if the abort flag is true (in
+     which case the main thread has disowned the data) */
+  g_free (data->load_filename);
+
+  if (data->load_bitmap != NULL)
+    cogl_object_unref (data->load_bitmap);
+
+  if (data->load_error != NULL)
+    g_error_free (data->load_error);
+
+  g_slice_free (ClutterTextureAsyncData, data);
+}
+
+/*
+ * clutter_texture_async_load_cancel:
+ * @texture: a #ClutterTexture
+ *
+ * Cancels an asynchronous loading operation, whether done
+ * with threads enabled or just using the main loop
+ */
+static void
+clutter_texture_async_load_cancel (ClutterTexture *texture)
+{
+  ClutterTexturePrivate *priv = texture->priv;
+
+  if (priv->async_data != NULL)
+    {
+      ClutterTextureAsyncData *async_data = priv->async_data;
+
+      priv->async_data = NULL;
+
+      if (async_data->load_idle != 0)
+        {
+          g_source_remove (async_data->load_idle);
+          async_data->load_idle = 0;
+
+          clutter_texture_async_data_free (async_data);
+        }
+      else
+        {
+          clutter_texture_async_data_lock (async_data);
+
+          CLUTTER_NOTE (TEXTURE, "[async] cancelling operation for '%s'",
+                        async_data->load_filename);
+
+          async_data->state |= ASYNC_STATE_CANCELLED;
+
+          clutter_texture_async_data_unlock (async_data);
+        }
+    }
+}
+
+static void
+clutter_texture_dispose (GObject *object)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (object);
+  ClutterTexturePrivate *priv = texture->priv;
+
+  texture_free_gl_resources (texture);
+  texture_fbo_free_resources (texture);
+
+  clutter_texture_async_load_cancel (texture);
+
+  if (priv->pipeline != NULL)
+    {
+      cogl_object_unref (priv->pipeline);
+      priv->pipeline = NULL;
+    }
+
+  if (priv->pick_pipeline != NULL)
+    {
+      cogl_object_unref (priv->pick_pipeline);
+      priv->pick_pipeline = NULL;
+    }
+
+  G_OBJECT_CLASS (clutter_texture_parent_class)->dispose (object);
+}
+
+static void
+clutter_texture_finalize (GObject *object)
+{
+  ClutterTexturePrivate *priv = CLUTTER_TEXTURE (object)->priv;
+
+  g_free (priv->filename);
+
+  G_OBJECT_CLASS (clutter_texture_parent_class)->finalize (object);
+}
+
+static void
+clutter_texture_set_property (GObject      *object,
+                             guint         prop_id,
+                             const GValue *value,
+                             GParamSpec   *pspec)
+{
+  ClutterTexture *texture;
+  ClutterTexturePrivate *priv;
+
+  texture = CLUTTER_TEXTURE (object);
+  priv = texture->priv;
+
+  switch (prop_id)
+    {
+    case PROP_SYNC_SIZE:
+      clutter_texture_set_sync_size (texture, g_value_get_boolean (value));
+      break;
+
+    case PROP_REPEAT_X:
+      clutter_texture_set_repeat (texture,
+                                  g_value_get_boolean (value),
+                                  priv->repeat_y);
+      break;
+
+    case PROP_REPEAT_Y:
+      clutter_texture_set_repeat (texture,
+                                  priv->repeat_x,
+                                  g_value_get_boolean (value));
+      break;
+
+    case PROP_FILTER_QUALITY:
+      clutter_texture_set_filter_quality (texture,
+                                         g_value_get_enum (value));
+      break;
+
+    case PROP_COGL_TEXTURE:
+      {
+        CoglHandle hnd = g_value_get_boxed (value);
+
+        clutter_texture_set_cogl_texture (texture, hnd);
+      }
+      break;
+
+    case PROP_COGL_MATERIAL:
+      {
+        CoglHandle hnd = g_value_get_boxed (value);
+
+        clutter_texture_set_cogl_material (texture, hnd);
+      }
+      break;
+
+    case PROP_FILENAME:
+      clutter_texture_set_from_file (texture,
+                                     g_value_get_string (value),
+                                     NULL);
+      break;
+
+    case PROP_NO_SLICE:
+      priv->no_slice = g_value_get_boolean (value);
+      break;
+
+    case PROP_KEEP_ASPECT_RATIO:
+      clutter_texture_set_keep_aspect_ratio (texture,
+                                             g_value_get_boolean (value));
+      break;
+
+    case PROP_LOAD_DATA_ASYNC:
+      clutter_texture_set_load_data_async (texture,
+                                           g_value_get_boolean (value));
+      break;
+
+    case PROP_LOAD_ASYNC:
+      clutter_texture_set_load_async (texture, g_value_get_boolean (value));
+      break;
+
+    case PROP_PICK_WITH_ALPHA:
+      clutter_texture_set_pick_with_alpha (texture,
+                                           g_value_get_boolean (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_texture_get_property (GObject    *object,
+                             guint       prop_id,
+                             GValue     *value,
+                             GParamSpec *pspec)
+{
+  ClutterTexture        *texture;
+  ClutterTexturePrivate *priv;
+
+  texture = CLUTTER_TEXTURE(object);
+  priv = texture->priv;
+
+  switch (prop_id)
+    {
+    case PROP_PIXEL_FORMAT:
+      g_value_set_enum (value, clutter_texture_get_pixel_format (texture));
+      break;
+
+    case PROP_MAX_TILE_WASTE:
+      g_value_set_int (value, clutter_texture_get_max_tile_waste (texture));
+      break;
+
+    case PROP_SYNC_SIZE:
+      g_value_set_boolean (value, priv->sync_actor_size);
+      break;
+
+    case PROP_REPEAT_X:
+      g_value_set_boolean (value, priv->repeat_x);
+      break;
+
+    case PROP_REPEAT_Y:
+      g_value_set_boolean (value, priv->repeat_y);
+      break;
+
+    case PROP_FILTER_QUALITY:
+      g_value_set_enum (value, clutter_texture_get_filter_quality (texture));
+      break;
+
+    case PROP_COGL_TEXTURE:
+      g_value_set_boxed (value, clutter_texture_get_cogl_texture (texture));
+      break;
+
+    case PROP_COGL_MATERIAL:
+      g_value_set_boxed (value, clutter_texture_get_cogl_material (texture));
+      break;
+
+    case PROP_NO_SLICE:
+      g_value_set_boolean (value, priv->no_slice);
+      break;
+
+    case PROP_KEEP_ASPECT_RATIO:
+      g_value_set_boolean (value, priv->keep_aspect_ratio);
+      break;
+
+    case PROP_PICK_WITH_ALPHA:
+      g_value_set_boolean (value, priv->pick_with_alpha);
+      break;
+
+    case PROP_FILENAME:
+      g_value_set_string (value, priv->filename);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+    }
+}
+
+static void
+clutter_texture_class_init (ClutterTextureClass *klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
+  GParamSpec *pspec;
+
+  g_type_class_add_private (klass, sizeof (ClutterTexturePrivate));
+
+  actor_class->paint            = clutter_texture_paint;
+  actor_class->pick             = clutter_texture_pick;
+  actor_class->get_paint_volume = clutter_texture_get_paint_volume;
+  actor_class->realize          = clutter_texture_realize;
+  actor_class->unrealize        = clutter_texture_unrealize;
+  actor_class->has_overlaps     = clutter_texture_has_overlaps;
+
+  actor_class->get_preferred_width  = clutter_texture_get_preferred_width;
+  actor_class->get_preferred_height = clutter_texture_get_preferred_height;
+  actor_class->allocate             = clutter_texture_allocate;
+
+  gobject_class->dispose      = clutter_texture_dispose;
+  gobject_class->finalize     = clutter_texture_finalize;
+  gobject_class->set_property = clutter_texture_set_property;
+  gobject_class->get_property = clutter_texture_get_property;
+
+  pspec = g_param_spec_boolean ("sync-size",
+                                P_("Sync size of actor"),
+                                P_("Auto sync size of actor to underlying pixbuf dimensions"),
+                                TRUE,
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_SYNC_SIZE] = pspec;
+  g_object_class_install_property (gobject_class, PROP_SYNC_SIZE, pspec);
+
+  pspec = g_param_spec_boolean ("disable-slicing",
+                                P_("Disable Slicing"),
+                                P_("Forces the underlying texture to be singular and not made of smaller 
space saving "
+                                   "individual textures"),
+                                FALSE,
+                                G_PARAM_CONSTRUCT_ONLY |
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_NO_SLICE] = pspec;
+  g_object_class_install_property (gobject_class, PROP_NO_SLICE, pspec);
+
+  pspec = g_param_spec_int ("tile-waste",
+                            P_("Tile Waste"),
+                            P_("Maximum waste area of a sliced texture"),
+                            -1, G_MAXINT,
+                            COGL_TEXTURE_MAX_WASTE,
+                            CLUTTER_PARAM_READABLE);
+  obj_props[PROP_MAX_TILE_WASTE] = pspec;
+  g_object_class_install_property (gobject_class, PROP_MAX_TILE_WASTE, pspec);
+
+  pspec = g_param_spec_boolean ("repeat-x",
+                                P_("Horizontal repeat"),
+                                P_("Repeat the contents rather than scaling them horizontally"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_REPEAT_X] = pspec;
+  g_object_class_install_property (gobject_class, PROP_REPEAT_X, pspec);
+
+  pspec = g_param_spec_boolean ("repeat-y",
+                                P_("Vertical repeat"),
+                                P_("Repeat the contents rather than scaling them vertically"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_REPEAT_Y] = pspec;
+  g_object_class_install_property (gobject_class, PROP_REPEAT_Y, pspec);
+
+  pspec = g_param_spec_enum ("filter-quality",
+                             P_("Filter Quality"),
+                             P_("Rendering quality used when drawing the texture"),
+                             CLUTTER_TYPE_TEXTURE_QUALITY,
+                             CLUTTER_TEXTURE_QUALITY_MEDIUM,
+                             G_PARAM_CONSTRUCT | CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_FILTER_QUALITY] = pspec;
+  g_object_class_install_property (gobject_class, PROP_FILTER_QUALITY, pspec);
+
+  pspec = g_param_spec_enum ("pixel-format",
+                             P_("Pixel Format"),
+                             P_("The Cogl pixel format to use"),
+                             COGL_TYPE_PIXEL_FORMAT,
+                             COGL_PIXEL_FORMAT_RGBA_8888,
+                             CLUTTER_PARAM_READABLE);
+  obj_props[PROP_PIXEL_FORMAT] = pspec;
+  g_object_class_install_property (gobject_class, PROP_PIXEL_FORMAT, pspec);
+
+  pspec = g_param_spec_boxed ("cogl-texture",
+                              P_("Cogl Texture"),
+                              P_("The underlying Cogl texture handle used to draw this actor"),
+                              COGL_TYPE_HANDLE,
+                              CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_COGL_TEXTURE] = pspec;
+  g_object_class_install_property (gobject_class, PROP_COGL_TEXTURE, pspec);
+
+  pspec = g_param_spec_boxed ("cogl-material",
+                              P_("Cogl Material"),
+                              P_("The underlying Cogl material handle used to draw this actor"),
+                              COGL_TYPE_HANDLE,
+                              CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_COGL_MATERIAL] = pspec;
+  g_object_class_install_property (gobject_class, PROP_COGL_MATERIAL, pspec);
+
+  /**
+   * ClutterTexture:filename:
+   *
+   * The path of the file containing the image data to be displayed by
+   * the texture.
+   *
+   * This property is unset when using the clutter_texture_set_from_*_data()
+   * family of functions.
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_string ("filename",
+                               P_("Filename"),
+                               P_("The path of the file containing the image data"),
+                               NULL,
+                               CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_FILENAME] = pspec;
+  g_object_class_install_property (gobject_class, PROP_FILENAME, pspec);
+
+  pspec = g_param_spec_boolean ("keep-aspect-ratio",
+                                P_("Keep Aspect Ratio"),
+                                P_("Keep the aspect ratio of the texture when requesting the preferred width 
or height"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_KEEP_ASPECT_RATIO] = pspec;
+  g_object_class_install_property (gobject_class, PROP_KEEP_ASPECT_RATIO, pspec);
+
+  /**
+   * ClutterTexture:load-async:
+   *
+   * Tries to load a texture from a filename by using a local thread to perform
+   * the read operations. The initially created texture has dimensions 0x0 when
+   * the true size becomes available the #ClutterTexture::size-change signal is
+   * emitted and when the image has completed loading the
+   * #ClutterTexture::load-finished signal is emitted.
+   *
+   * Threading is only enabled if g_thread_init() has been called prior to
+   * clutter_init(), otherwise #ClutterTexture will use the main loop to load
+   * the image.
+   *
+   * The upload of the texture data on the GL pipeline is not asynchronous, as
+   * it must be performed from within the same thread that called
+   * clutter_main().
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_boolean ("load-async",
+                                P_("Load asynchronously"),
+                                P_("Load files inside a thread to avoid blocking when loading images from 
disk"),
+                                FALSE,
+                                CLUTTER_PARAM_WRITABLE);
+  obj_props[PROP_LOAD_ASYNC] = pspec;
+  g_object_class_install_property (gobject_class, PROP_LOAD_ASYNC, pspec);
+
+
+  /**
+   * ClutterTexture:load-data-async:
+   *
+   * Like #ClutterTexture:load-async but loads the width and height
+   * synchronously causing some blocking.
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_boolean ("load-data-async",
+                                P_("Load data asynchronously"),
+                                P_("Decode image data files inside a thread to reduce blocking when loading 
images from disk"),
+                                FALSE,
+                                CLUTTER_PARAM_WRITABLE);
+  obj_props[PROP_LOAD_DATA_ASYNC] = pspec;
+  g_object_class_install_property (gobject_class, PROP_LOAD_DATA_ASYNC, pspec);
+
+  /**
+   * ClutterTexture::pick-with-alpha:
+   *
+   * Determines whether a #ClutterTexture should have it's shape defined
+   * by its alpha channel when picking.
+   *
+   * Be aware that this is a bit more costly than the default picking
+   * due to the texture lookup, extra test against the alpha value and
+   * the fact that it will also interrupt the batching of geometry
+   * done internally.
+   *
+   * Also there is currently no control over the threshold used to
+   * determine what value of alpha is considered pickable, and so
+   * only fully opaque parts of the texture will react to picking.
+   *
+   * Since: 1.4
+   *
+   * Deprecated: 1.12
+   */
+  pspec = g_param_spec_boolean ("pick-with-alpha",
+                                P_("Pick With Alpha"),
+                                P_("Shape actor with alpha channel when picking"),
+                                FALSE,
+                                CLUTTER_PARAM_READWRITE);
+  obj_props[PROP_PICK_WITH_ALPHA] = pspec;
+  g_object_class_install_property (gobject_class, PROP_PICK_WITH_ALPHA, pspec);
+
+  /**
+   * ClutterTexture::size-change:
+   * @texture: the texture which received the signal
+   * @width: the width of the new texture
+   * @height: the height of the new texture
+   *
+   * The ::size-change signal is emitted each time the size of the
+   * pixbuf used by @texture changes.  The new size is given as
+   * argument to the callback.
+   *
+   * Deprecated: 1.12
+   */
+  texture_signals[SIZE_CHANGE] =
+    g_signal_new ("size-change",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterTextureClass, size_change),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__INT_INT,
+                 G_TYPE_NONE, 2,
+                  G_TYPE_INT,
+                  G_TYPE_INT);
+  /**
+   * ClutterTexture::pixbuf-change:
+   * @texture: the texture which received the signal
+   *
+   * The ::pixbuf-change signal is emitted each time the pixbuf
+   * used by @texture changes.
+   *
+   * Deprecated: 1.12
+   */
+  texture_signals[PIXBUF_CHANGE] =
+    g_signal_new ("pixbuf-change",
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterTextureClass, pixbuf_change),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__VOID,
+                 G_TYPE_NONE,
+                 0);
+  /**
+   * ClutterTexture::load-finished:
+   * @texture: the texture which received the signal
+   * @error: A set error, or %NULL
+   *
+   * The ::load-finished signal is emitted when a texture load has
+   * completed. If there was an error during loading, @error will
+   * be set, otherwise it will be %NULL
+   *
+   * Since: 1.0
+   *
+   * Deprecated: 1.12
+   */
+  texture_signals[LOAD_FINISHED] =
+    g_signal_new (I_("load-finished"),
+                 G_TYPE_FROM_CLASS (gobject_class),
+                 G_SIGNAL_RUN_LAST,
+                 G_STRUCT_OFFSET (ClutterTextureClass, load_finished),
+                 NULL, NULL,
+                 _clutter_marshal_VOID__BOXED,
+                 G_TYPE_NONE,
+                 1,
+                  G_TYPE_ERROR);
+}
+
+static ClutterScriptableIface *parent_scriptable_iface = NULL;
+
+static void
+clutter_texture_set_custom_property (ClutterScriptable *scriptable,
+                                     ClutterScript     *script,
+                                     const gchar       *name,
+                                     const GValue      *value)
+{
+  ClutterTexture *texture = CLUTTER_TEXTURE (scriptable);
+
+  if (strcmp ("filename", name) == 0)
+    {
+      const gchar *str = g_value_get_string (value);
+      gchar *path;
+      GError *error;
+
+      path = clutter_script_lookup_filename (script, str);
+      if (G_UNLIKELY (!path))
+        {
+          g_warning ("Unable to find image %s", str);
+          return;
+        }
+
+      error = NULL;
+      clutter_texture_set_from_file (texture, path, &error);
+      if (error)
+        {
+          g_warning ("Unable to open image path at '%s': %s",
+                     path,
+                     error->message);
+          g_error_free (error);
+        }
+
+      g_free (path);
+    }
+  else
+    {
+      /* chain up */
+      if (parent_scriptable_iface->set_custom_property)
+        parent_scriptable_iface->set_custom_property (scriptable, script,
+                                                      name,
+                                                      value);
+    }
+}
+
+static void
+clutter_scriptable_iface_init (ClutterScriptableIface *iface)
+{
+  parent_scriptable_iface = g_type_interface_peek_parent (iface);
+
+  if (!parent_scriptable_iface)
+    parent_scriptable_iface = g_type_default_interface_peek
+                                          (CLUTTER_TYPE_SCRIPTABLE);
+
+  iface->set_custom_property = clutter_texture_set_custom_property;
+}
+
+static void
+clutter_texture_init (ClutterTexture *self)
+{
+  ClutterTexturePrivate *priv;
+
+  self->priv = priv = CLUTTER_TEXTURE_GET_PRIVATE (self);
+
+  priv->repeat_x          = FALSE;
+  priv->repeat_y          = FALSE;
+  priv->sync_actor_size   = TRUE;
+  priv->fbo_handle        = NULL;
+  priv->pick_pipeline     = NULL;
+  priv->keep_aspect_ratio = FALSE;
+  priv->pick_with_alpha   = FALSE;
+  priv->pick_with_alpha_supported = TRUE;
+  priv->seen_create_pick_pipeline_warning = FALSE;
+
+  if (G_UNLIKELY (texture_template_pipeline == NULL))
+    {
+      CoglPipeline *pipeline;
+      CoglContext *ctx =
+        clutter_backend_get_cogl_context (clutter_get_default_backend ());
+
+      texture_template_pipeline = cogl_pipeline_new (ctx);
+      pipeline = COGL_PIPELINE (texture_template_pipeline);
+      cogl_pipeline_set_layer_null_texture (pipeline,
+                                            0, /* layer_index */
+                                            COGL_TEXTURE_TYPE_2D);
+    }
+
+  g_assert (texture_template_pipeline != NULL);
+  priv->pipeline = cogl_pipeline_copy (texture_template_pipeline);
+}
+
+/**
+ * clutter_texture_get_cogl_material:
+ * @texture: A #ClutterTexture
+ *
+ * Returns a handle to the underlying COGL material used for drawing
+ * the actor.
+ *
+ * Return value: (transfer none): a handle for a #CoglMaterial. The
+ *   material is owned by the #ClutterTexture and it should not be
+ *   unreferenced
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+CoglHandle
+clutter_texture_get_cogl_material (ClutterTexture *texture)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), NULL);
+
+  return texture->priv->pipeline;
+}
+
+/**
+ * clutter_texture_set_cogl_material:
+ * @texture: A #ClutterTexture
+ * @cogl_material: A CoglHandle for a material
+ *
+ * Replaces the underlying Cogl material drawn by this actor with
+ * @cogl_material. A reference to the material is taken so if the
+ * handle is no longer needed it should be deref'd with
+ * cogl_handle_unref. Texture data is attached to the material so
+ * calling this function also replaces the Cogl
+ * texture. #ClutterTexture requires that the material have a texture
+ * layer so you should set one on the material before calling this
+ * function.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_cogl_material (ClutterTexture *texture,
+                                   CoglHandle cogl_material)
+{
+  CoglPipeline *cogl_pipeline = cogl_material;
+  CoglHandle cogl_texture;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  cogl_object_ref (cogl_pipeline);
+
+  if (texture->priv->pipeline)
+    cogl_object_unref (texture->priv->pipeline);
+
+  texture->priv->pipeline = cogl_pipeline;
+
+  /* XXX: We are re-asserting the first layer of the new pipeline to ensure the
+   * priv state is in sync with the contents of the pipeline. */
+  cogl_texture = clutter_texture_get_cogl_texture (texture);
+  clutter_texture_set_cogl_texture (texture, cogl_texture);
+  /* XXX: If we add support for more pipeline layers, this will need
+   * extending */
+}
+
+typedef struct _GetLayerState
+{
+  gboolean has_layer;
+  int first_layer;
+} GetLayerState;
+
+static gboolean
+layer_cb (CoglPipeline *pipeline, int layer, void *user_data)
+{
+  GetLayerState *state = user_data;
+
+  state->has_layer = TRUE;
+  state->first_layer = layer;
+
+  /* We only care about the first layer. */
+  return FALSE;
+}
+
+static gboolean
+get_first_layer_index (CoglPipeline *pipeline, int *layer_index)
+{
+  GetLayerState state = { FALSE };
+  cogl_pipeline_foreach_layer (pipeline,
+                               layer_cb,
+                               &state);
+  if (state.has_layer)
+    *layer_index = state.first_layer;
+
+  return state.has_layer;
+}
+
+/**
+ * clutter_texture_get_cogl_texture:
+ * @texture: A #ClutterTexture
+ *
+ * Retrieves the handle to the underlying COGL texture used for drawing
+ * the actor. No extra reference is taken so if you need to keep the
+ * handle then you should call cogl_handle_ref() on it.
+ *
+ * The texture handle returned is the first layer of the material
+ * handle used by the #ClutterTexture. If you need to access the other
+ * layers you should use clutter_texture_get_cogl_material() instead
+ * and use the #CoglMaterial API.
+ *
+ * Return value: (transfer none): a #CoglHandle for the texture. The returned
+ *   handle is owned by the #ClutterTexture and it should not be unreferenced
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+CoglHandle
+clutter_texture_get_cogl_texture (ClutterTexture *texture)
+{
+  ClutterTexturePrivate *priv;
+  int layer_index;
+
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), NULL);
+
+  priv = texture->priv;
+
+  if (get_first_layer_index (priv->pipeline, &layer_index))
+    return cogl_pipeline_get_layer_texture (priv->pipeline, layer_index);
+  else
+    return NULL;
+}
+
+/**
+ * clutter_texture_set_cogl_texture:
+ * @texture: A #ClutterTexture
+ * @cogl_tex: A CoglHandle for a texture
+ *
+ * Replaces the underlying COGL texture drawn by this actor with
+ * @cogl_tex. A reference to the texture is taken so if the handle is
+ * no longer needed it should be deref'd with cogl_handle_unref.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_cogl_texture (ClutterTexture  *texture,
+                                 CoglHandle       cogl_tex)
+{
+  ClutterTexturePrivate  *priv;
+  gboolean size_changed;
+  guint width, height;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+  g_return_if_fail (cogl_is_texture (cogl_tex));
+
+  /* This function can set the texture without the actor being
+     realized. This is ok because Clutter requires that the GL context
+     always be current so there is no point in waiting to realization
+     to set the texture. */
+
+  priv = texture->priv;
+
+  width = cogl_texture_get_width (cogl_tex);
+  height = cogl_texture_get_height (cogl_tex);
+
+  /* Reference the new texture now in case it is the same one we are
+     already using */
+  cogl_object_ref (cogl_tex);
+
+  /* Remove FBO if exisiting */
+  if (priv->fbo_source)
+    texture_fbo_free_resources (texture);
+
+  /* Remove old texture */
+  texture_free_gl_resources (texture);
+
+  /* Use the new texture */
+  if (priv->pipeline == NULL)
+    priv->pipeline = cogl_pipeline_copy (texture_template_pipeline);
+
+  g_assert (priv->pipeline != NULL);
+  cogl_pipeline_set_layer_texture (priv->pipeline, 0, cogl_tex);
+
+  /* The pipeline now holds a reference to the texture so we can
+     safely release the reference we claimed above */
+  cogl_object_unref (cogl_tex);
+
+  size_changed = (width != priv->image_width || height != priv->image_height);
+  priv->image_width = width;
+  priv->image_height = height;
+
+  CLUTTER_NOTE (TEXTURE, "set size (w:%d, h:%d)",
+               priv->image_width,
+               priv->image_height);
+
+  if (size_changed)
+    {
+      g_signal_emit (texture, texture_signals[SIZE_CHANGE], 0,
+                     priv->image_width,
+                     priv->image_height);
+
+      if (priv->sync_actor_size)
+        {
+          ClutterActor *actor = CLUTTER_ACTOR (texture);
+
+          /* we have been requested to keep the actor size in
+           * sync with the texture data; if we also want to
+           * maintain the aspect ratio we want to change the
+           * requisition mode depending on the orientation of
+           * the texture, so that the parent container can do
+           * the right thing
+           */
+          if (priv->keep_aspect_ratio)
+            {
+              ClutterRequestMode request;
+
+              if (priv->image_width >= priv->image_height)
+                request = CLUTTER_REQUEST_HEIGHT_FOR_WIDTH;
+              else
+                request = CLUTTER_REQUEST_WIDTH_FOR_HEIGHT;
+
+              clutter_actor_set_request_mode (actor, request);
+            }
+
+          clutter_actor_queue_relayout (CLUTTER_ACTOR (texture));
+        }
+    }
+
+  /* rename signal */
+  g_signal_emit (texture, texture_signals[PIXBUF_CHANGE], 0);
+
+  /* If resized actor may need resizing but paint() will do this */
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (texture));
+
+  g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_COGL_TEXTURE]);
+}
+
+static gboolean
+clutter_texture_set_from_data (ClutterTexture     *texture,
+                              const guchar       *data,
+                              CoglPixelFormat     source_format,
+                              gint                width,
+                              gint                height,
+                              gint                rowstride,
+                              gint                bpp,
+                              GError            **error)
+{
+  ClutterTexturePrivate *priv = texture->priv;
+  CoglHandle new_texture = NULL;
+  CoglTextureFlags flags = COGL_TEXTURE_NONE;
+
+  if (priv->no_slice)
+    flags |= COGL_TEXTURE_NO_SLICING;
+
+  /* FIXME if we are not realized, we should store the data
+   * for future use, instead of creating the texture.
+   */
+  new_texture = cogl_texture_new_from_data (width, height,
+                                            flags,
+                                            source_format,
+                                            COGL_PIXEL_FORMAT_ANY,
+                                            rowstride,
+                                            data);
+
+  if (G_UNLIKELY (new_texture == NULL))
+    {
+      GError *inner_error = NULL;
+
+      g_set_error (&inner_error, CLUTTER_TEXTURE_ERROR,
+                   CLUTTER_TEXTURE_ERROR_BAD_FORMAT,
+                   _("Failed to load the image data"));
+
+      g_signal_emit (texture, texture_signals[LOAD_FINISHED], 0, inner_error);
+
+      if (error != NULL)
+        g_propagate_error (error, inner_error);
+      else
+        g_error_free (inner_error);
+
+      return FALSE;
+    }
+
+  g_free (priv->filename);
+  priv->filename = NULL;
+
+  clutter_texture_set_cogl_texture (texture, new_texture);
+
+  cogl_object_unref (new_texture);
+
+  g_signal_emit (texture, texture_signals[LOAD_FINISHED], 0, NULL);
+
+  return TRUE;
+}
+
+static inline gboolean
+get_pixel_format_from_texture_flags (gint                 bpp,
+                                     gboolean             has_alpha,
+                                     ClutterTextureFlags  flags,
+                                     CoglPixelFormat     *source_format)
+{
+  /* Convert the flags to a CoglPixelFormat */
+  if (has_alpha)
+    {
+      if (G_UNLIKELY (bpp != 4))
+       {
+          g_warning ("Unsupported bytes per pixel value '%d': "
+                     "Clutter supports only a  value of 4 "
+                     "for RGBA data",
+                     bpp);
+         return FALSE;
+       }
+
+      *source_format = COGL_PIXEL_FORMAT_RGBA_8888;
+    }
+  else
+    {
+      if (G_UNLIKELY (bpp != 3))
+       {
+          g_warning ("Unsupported bytes per pixel value '%d': "
+                     "Clutter supports only a BPP value of 3 "
+                     "for RGB data",
+                     bpp);
+         return FALSE;
+       }
+
+      *source_format = COGL_PIXEL_FORMAT_RGB_888;
+    }
+
+  if ((flags & CLUTTER_TEXTURE_RGB_FLAG_BGR))
+    *source_format |= COGL_BGR_BIT;
+
+  if ((flags & CLUTTER_TEXTURE_RGB_FLAG_PREMULT))
+    *source_format |= COGL_PREMULT_BIT;
+
+  return TRUE;
+}
+
+/**
+ * clutter_texture_set_from_rgb_data:
+ * @texture: a #ClutterTexture
+ * @data: (array): image data in RGBA type colorspace.
+ * @has_alpha: set to %TRUE if image data has an alpha channel.
+ * @width: width in pixels of image data.
+ * @height: height in pixels of image data
+ * @rowstride: distance in bytes between row starts.
+ * @bpp: bytes per pixel (currently only 3 and 4 supported, depending
+ *   on the value of @has_alpha)
+ * @flags: #ClutterTextureFlags
+ * @error: return location for a #GError, or %NULL.
+ *
+ * Sets #ClutterTexture image data.
+ *
+ * Return value: %TRUE on success, %FALSE on failure.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_set_from_rgb_data (ClutterTexture       *texture,
+                                  const guchar         *data,
+                                  gboolean              has_alpha,
+                                  gint                  width,
+                                  gint                  height,
+                                  gint                  rowstride,
+                                  gint                  bpp,
+                                  ClutterTextureFlags   flags,
+                                  GError              **error)
+{
+  CoglPixelFormat source_format;
+
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  if (!get_pixel_format_from_texture_flags (bpp,
+                                            has_alpha,
+                                            flags,
+                                            &source_format))
+    {
+      return FALSE;
+    }
+
+  return clutter_texture_set_from_data (texture, data,
+                                       source_format,
+                                       width, height,
+                                       rowstride, bpp,
+                                       error);
+}
+
+/**
+ * clutter_texture_set_from_yuv_data:
+ * @texture: A #ClutterTexture
+ * @data: (array): Image data in YUV type colorspace.
+ * @width: Width in pixels of image data.
+ * @height: Height in pixels of image data
+ * @flags: #ClutterTextureFlags
+ * @error: Return location for a #GError, or %NULL.
+ *
+ * Sets a #ClutterTexture from YUV image data. If an error occurred,
+ * %FALSE is returned and @error is set.
+ *
+ * The YUV support depends on the driver; the format supported by the
+ * few drivers exposing this capability are not really useful.
+ *
+ * The proper way to convert image data in any YUV colorspace to any
+ * RGB colorspace is to use a fragment shader associated with the
+ * #ClutterTexture material.
+ *
+ * Return value: %TRUE if the texture was successfully updated
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.10: Use clutter_texture_get_cogl_material() and
+ *   the Cogl API to install a fragment shader for decoding YUV
+ *   formats on the GPU
+ */
+gboolean
+clutter_texture_set_from_yuv_data (ClutterTexture     *texture,
+                                  const guchar       *data,
+                                  gint                width,
+                                  gint                height,
+                                  ClutterTextureFlags flags,
+                                  GError            **error)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  if (!clutter_feature_available (CLUTTER_FEATURE_TEXTURE_YUV))
+    {
+      g_set_error (error, CLUTTER_TEXTURE_ERROR,
+                   CLUTTER_TEXTURE_ERROR_NO_YUV,
+                   _("YUV textures are not supported"));
+      return FALSE;
+    }
+
+  /* Convert the flags to a CoglPixelFormat */
+  if ((flags & CLUTTER_TEXTURE_YUV_FLAG_YUV2))
+    {
+      g_set_error (error, CLUTTER_TEXTURE_ERROR,
+                  CLUTTER_TEXTURE_ERROR_BAD_FORMAT,
+                  _("YUV2 textues are not supported"));
+      return FALSE;
+    }
+
+  return clutter_texture_set_from_data (texture, data,
+                                       COGL_PIXEL_FORMAT_YUV,
+                                       width, height,
+                                       width * 3, 3,
+                                       error);
+}
+
+/*
+ * clutter_texture_async_load_complete:
+ * @self: a #ClutterTexture
+ * @bitmap: a handle to a CoglBitmap
+ * @error: load error
+ *
+ * If @error is %NULL, loads @bitmap into a #CoglTexture.
+ *
+ * This function emits the ::load-finished signal on @self.
+ */
+static void
+clutter_texture_async_load_complete (ClutterTexture *self,
+                                     CoglHandle      bitmap,
+                                     const GError   *error)
+{
+  ClutterTexturePrivate *priv = self->priv;
+  CoglTextureFlags flags = COGL_TEXTURE_NONE;
+  CoglHandle handle;
+
+  priv->async_data = NULL;
+
+  if (error == NULL)
+    {
+      if (priv->no_slice)
+        flags |= COGL_TEXTURE_NO_SLICING;
+
+      handle = cogl_texture_new_from_bitmap (bitmap,
+                                             flags,
+                                             COGL_PIXEL_FORMAT_ANY);
+      clutter_texture_set_cogl_texture (self, handle);
+
+      if (priv->load_size_async)
+        {
+          g_signal_emit (self, texture_signals[SIZE_CHANGE], 0,
+                         cogl_texture_get_width (handle),
+                         cogl_texture_get_height (handle));
+        }
+
+      cogl_object_unref (handle);
+    }
+
+  g_signal_emit (self, texture_signals[LOAD_FINISHED], 0, error);
+
+  clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+}
+
+static gboolean
+texture_repaint_upload_func (gpointer user_data)
+{
+  g_mutex_lock (&upload_list_mutex);
+
+  if (upload_list != NULL)
+    {
+      gint64 start_time = g_get_monotonic_time ();
+
+      /* continue uploading textures as long as we havent spent more
+       * then 5ms doing so this stage redraw cycle.
+       */
+      do
+        {
+          ClutterTextureAsyncData *async_data = upload_list->data;
+
+          clutter_texture_async_data_lock (async_data);
+
+          if (async_data->state & ASYNC_STATE_QUEUED)
+            {
+              CLUTTER_NOTE (TEXTURE, "[async] operation complete for '%s'",
+                            async_data->load_filename);
+
+              clutter_texture_async_load_complete (async_data->texture,
+                                                   async_data->load_bitmap,
+                                                   async_data->load_error);
+            }
+          else
+            CLUTTER_NOTE (TEXTURE, "[async] operation cancelled for '%s'",
+                          async_data->load_filename);
+
+          clutter_texture_async_data_unlock (async_data);
+
+          upload_list = g_list_remove (upload_list, async_data);
+          clutter_texture_async_data_free (async_data);
+        }
+      while (upload_list != NULL &&
+             g_get_monotonic_time () < start_time + 5 * 1000L);
+    }
+
+  if (upload_list != NULL)
+    {
+      ClutterMasterClock *master_clock;
+
+      master_clock = _clutter_master_clock_get_default ();
+      _clutter_master_clock_ensure_next_iteration (master_clock);
+    }
+
+  g_mutex_unlock (&upload_list_mutex);
+
+  return TRUE;
+}
+
+static void
+clutter_texture_thread_load (gpointer user_data,
+                             gpointer pool_data)
+{
+  ClutterTextureAsyncData *async_data = user_data;
+  ClutterMasterClock *master_clock = _clutter_master_clock_get_default ();
+
+  clutter_texture_async_data_lock (async_data);
+
+  if (~async_data->state & ASYNC_STATE_CANCELLED)
+    {
+      CLUTTER_NOTE (TEXTURE, "[async] loading bitmap from file '%s'",
+                    async_data->load_filename);
+
+      async_data->load_bitmap =
+        cogl_bitmap_new_from_file (async_data->load_filename,
+                                   &async_data->load_error);
+
+      g_mutex_lock (&upload_list_mutex);
+
+      if (repaint_upload_func == 0)
+        {
+          repaint_upload_func =
+            clutter_threads_add_repaint_func (texture_repaint_upload_func,
+                                              NULL, NULL);
+        }
+
+      upload_list = g_list_append (upload_list, async_data);
+      async_data->state |= ASYNC_STATE_QUEUED;
+
+      CLUTTER_NOTE (TEXTURE, "[async] operation queued");
+
+      g_mutex_unlock (&upload_list_mutex);
+    }
+  else
+    {
+      clutter_texture_async_data_unlock (async_data);
+      clutter_texture_async_data_free (async_data);
+
+      return;
+    }
+
+  clutter_texture_async_data_unlock (async_data);
+
+  _clutter_master_clock_ensure_next_iteration (master_clock);
+}
+
+static gboolean
+clutter_texture_idle_load (gpointer data)
+{
+  ClutterTextureAsyncData *async_data = data;
+
+  async_data->load_bitmap =
+    cogl_bitmap_new_from_file (async_data->load_filename,
+                               &async_data->load_error);
+
+  clutter_texture_async_load_complete (async_data->texture,
+                                       async_data->load_bitmap,
+                                       async_data->load_error);
+
+  clutter_texture_async_data_free (async_data);
+
+  return FALSE;
+}
+
+/*
+ * clutter_texture_async_load:
+ * @self: a #ClutterTExture
+ * @filename: name of the file to load
+ * @error: return location for a #GError
+ *
+ * Starts an asynchronous load of the file name stored inside
+ * the load_filename member of @data.
+ *
+ * If threading is enabled we use a GThread to perform the actual
+ * I/O; if threading is not enabled, we use an idle GSource.
+ *
+ * The I/O is the only bit done in a thread -- uploading the
+ * texture data to the GL pipeline must be done from within the
+ * same thread that called clutter_main(). Threaded upload should
+ * be part of the GL implementation.
+ *
+ * This function will block until we get a size from the file
+ * so that we can effectively get the size the texture actor after
+ * clutter_texture_set_from_file().
+ *
+ * Return value: %TRUE if the asynchronous loading was successfully
+ *   initiated, %FALSE otherwise
+ */
+static gboolean
+clutter_texture_async_load (ClutterTexture *self,
+                            const gchar *filename,
+                            GError **error)
+{
+  ClutterTexturePrivate *priv = self->priv;
+  ClutterTextureAsyncData *data;
+  gint width, height;
+  gboolean res;
+
+  /* ask the file for a size; if we cannot get the size then
+   * there's no point in even continuing the asynchronous
+   * loading, so we just stop there
+   */
+
+  if (priv->load_size_async)
+    {
+      res = TRUE;
+      width = 0;
+      height = 0;
+    }
+  else
+    res = cogl_bitmap_get_size_from_file (filename, &width, &height);
+
+  if (!res)
+    {
+      g_set_error (error, CLUTTER_TEXTURE_ERROR,
+                  CLUTTER_TEXTURE_ERROR_BAD_FORMAT,
+                   _("Failed to load the image data"));
+      return FALSE;
+    }
+  else
+    {
+      priv->image_width = width;
+      priv->image_height = height;
+    }
+
+  clutter_texture_async_load_cancel (self);
+
+  data = g_slice_new0 (ClutterTextureAsyncData);
+
+  data->texture = self;
+  data->load_filename = g_strdup (filename);
+
+  priv->async_data = data;
+
+  if (1)
+    {
+      if (G_UNLIKELY (async_thread_pool == NULL))
+        {
+          /* This apparently can't fail if exclusive == FALSE */
+          async_thread_pool =
+            g_thread_pool_new (clutter_texture_thread_load, NULL,
+                               1,
+                               FALSE,
+                               NULL);
+        }
+
+      g_thread_pool_push (async_thread_pool, data, NULL);
+    }
+  else
+    {
+      data->load_idle =
+        clutter_threads_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
+                                       clutter_texture_idle_load,
+                                       data,
+                                       NULL);
+    }
+
+  return TRUE;
+}
+
+/**
+ * clutter_texture_set_from_file:
+ * @texture: A #ClutterTexture
+ * @filename: The filename of the image in GLib file name encoding
+ * @error: Return location for a #GError, or %NULL
+ *
+ * Sets the #ClutterTexture image data from an image file. In case of
+ * failure, %FALSE is returned and @error is set.
+ *
+ * If #ClutterTexture:load-async is set to %TRUE, this function
+ * will return as soon as possible, and the actual image loading
+ * from disk will be performed asynchronously. #ClutterTexture::size-change
+ * will be emitten when the size of the texture is available and
+ * #ClutterTexture::load-finished will be emitted when the image has been
+ * loaded or if an error occurred.
+ *
+ * Return value: %TRUE if the image was successfully loaded and set
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_set_from_file (ClutterTexture *texture,
+                              const gchar    *filename,
+                              GError        **error)
+{
+  ClutterTexturePrivate *priv;
+  CoglHandle new_texture = NULL;
+  GError *internal_error = NULL;
+  CoglTextureFlags flags = COGL_TEXTURE_NONE;
+
+  priv = texture->priv;
+
+  g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+  if (priv->load_data_async)
+    return clutter_texture_async_load (texture, filename, error);
+
+  if (priv->no_slice)
+    flags |= COGL_TEXTURE_NO_SLICING;
+
+  new_texture = cogl_texture_new_from_file (filename,
+                                            flags,
+                                            COGL_PIXEL_FORMAT_ANY,
+                                            &internal_error);
+
+  /* If COGL didn't give an error then make one up */
+  if (internal_error == NULL && new_texture == NULL)
+    {
+      g_set_error (&internal_error, CLUTTER_TEXTURE_ERROR,
+                   CLUTTER_TEXTURE_ERROR_BAD_FORMAT,
+                  _("Failed to load the image data"));
+    }
+
+  if (internal_error != NULL)
+    {
+      g_signal_emit (texture, texture_signals[LOAD_FINISHED], 0,
+                     internal_error);
+
+      g_propagate_error (error, internal_error);
+
+      return FALSE;
+    }
+
+  g_free (priv->filename);
+  priv->filename = g_strdup (filename);
+
+  clutter_texture_set_cogl_texture (texture, new_texture);
+
+  cogl_object_unref (new_texture);
+
+  g_signal_emit (texture, texture_signals[LOAD_FINISHED], 0, NULL);
+
+  g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_FILENAME]);
+
+  return TRUE;
+}
+
+/**
+ * clutter_texture_set_filter_quality:
+ * @texture: a #ClutterTexture
+ * @filter_quality: new filter quality value
+ *
+ * Sets the filter quality when scaling a texture. The quality is an
+ * enumeration currently the following values are supported:
+ * %CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
+ * interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
+ * bit more expensive (bilinear interpolation), and
+ * %CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
+ * improve scaled down rendering as well (by using mipmaps). The default value
+ * is %CLUTTER_TEXTURE_QUALITY_MEDIUM.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_filter_quality (ClutterTexture        *texture,
+                                   ClutterTextureQuality  filter_quality)
+{
+  ClutterTexturePrivate *priv;
+  ClutterTextureQuality  old_quality;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  old_quality = clutter_texture_get_filter_quality (texture);
+
+  if (filter_quality != old_quality)
+    {
+      gint min_filter, mag_filter;
+
+      min_filter = mag_filter = COGL_PIPELINE_FILTER_LINEAR;
+      clutter_texture_quality_to_filters (filter_quality,
+                                          &min_filter,
+                                          &mag_filter);
+
+      cogl_pipeline_set_layer_filters (priv->pipeline, 0,
+                                       min_filter, mag_filter);
+
+      clutter_actor_queue_redraw (CLUTTER_ACTOR (texture));
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_FILTER_QUALITY]);
+    }
+}
+
+/**
+ * clutter_texture_get_filter_quality:
+ * @texture: A #ClutterTexture
+ *
+ * Gets the filter quality used when scaling a texture.
+ *
+ * Return value: The filter quality value.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+ClutterTextureQuality
+clutter_texture_get_filter_quality (ClutterTexture *texture)
+{
+  ClutterTexturePrivate *priv;
+  int layer_index;
+  CoglPipelineFilter min_filter, mag_filter;
+  int i;
+
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), 0);
+
+  priv = texture->priv;
+
+  if (get_first_layer_index (priv->pipeline, &layer_index))
+    {
+      min_filter = cogl_pipeline_get_layer_min_filter (priv->pipeline,
+                                                       layer_index);
+      mag_filter = cogl_pipeline_get_layer_mag_filter (priv->pipeline,
+                                                       layer_index);
+    }
+  else
+    return CLUTTER_TEXTURE_QUALITY_MEDIUM;
+
+  for (i = 0; i < G_N_ELEMENTS (clutter_texture_quality_filters); i++)
+    if (clutter_texture_quality_filters[i].min_filter == min_filter
+        && clutter_texture_quality_filters[i].mag_filter == mag_filter)
+      return i;
+
+  /* Unknown filter combination */
+  return CLUTTER_TEXTURE_QUALITY_LOW;
+}
+
+/**
+ * clutter_texture_get_max_tile_waste:
+ * @texture: A #ClutterTexture
+ *
+ * Gets the maximum waste that will be used when creating a texture or
+ * -1 if slicing is disabled.
+ *
+ * Return value: The maximum waste or -1 if the texture waste is
+ *   unlimited.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+gint
+clutter_texture_get_max_tile_waste (ClutterTexture *texture)
+{
+  ClutterTexturePrivate *priv;
+  CoglHandle             cogl_texture;
+
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), 0);
+
+  priv = texture->priv;
+
+  cogl_texture = clutter_texture_get_cogl_texture (texture);
+
+  if (cogl_texture == NULL)
+    return priv->no_slice ? -1 : COGL_TEXTURE_MAX_WASTE;
+  else
+    return cogl_texture_get_max_waste (cogl_texture);
+}
+
+/**
+ * clutter_texture_new_from_file:
+ * @filename: The name of an image file to load.
+ * @error: Return locatoin for an error.
+ *
+ * Creates a new ClutterTexture actor to display the image contained a
+ * file. If the image failed to load then NULL is returned and @error
+ * is set.
+ *
+ * Return value: A newly created #ClutterTexture object or NULL on
+ * error.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.12
+ */
+ClutterActor*
+clutter_texture_new_from_file (const gchar *filename,
+                              GError     **error)
+{
+  ClutterActor *texture = clutter_texture_new ();
+
+  if (!clutter_texture_set_from_file (CLUTTER_TEXTURE (texture),
+                                     filename, error))
+    {
+      g_object_ref_sink (texture);
+      g_object_unref (texture);
+
+      return NULL;
+    }
+  else
+    return texture;
+}
+
+/**
+ * clutter_texture_new:
+ *
+ * Creates a new empty #ClutterTexture object.
+ *
+ * Return value: A newly created #ClutterTexture object.
+ *
+ * Deprecated: 1.12
+ */
+ClutterActor *
+clutter_texture_new (void)
+{
+  return g_object_new (CLUTTER_TYPE_TEXTURE, NULL);
+}
+
+/**
+ * clutter_texture_get_base_size:
+ * @texture: a #ClutterTexture
+ * @width: (out): return location for the width, or %NULL
+ * @height: (out): return location for the height, or %NULL
+ *
+ * Gets the size in pixels of the untransformed underlying image
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_get_base_size (ClutterTexture *texture,
+                              gint           *width,
+                              gint           *height)
+{
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  if (width)
+    *width = texture->priv->image_width;
+
+  if (height)
+    *height = texture->priv->image_height;
+}
+
+/**
+ * clutter_texture_set_area_from_rgb_data:
+ * @texture: A #ClutterTexture
+ * @data: (array): Image data in RGB type colorspace.
+ * @has_alpha: Set to TRUE if image data has an alpha channel.
+ * @x: X coordinate of upper left corner of region to update.
+ * @y: Y coordinate of upper left corner of region to update.
+ * @width: Width in pixels of region to update.
+ * @height: Height in pixels of region to update.
+ * @rowstride: Distance in bytes between row starts on source buffer.
+ * @bpp: bytes per pixel (Currently only 3 and 4 supported,
+ *                        depending on @has_alpha)
+ * @flags: #ClutterTextureFlags
+ * @error: return location for a #GError, or %NULL
+ *
+ * Updates a sub-region of the pixel data in a #ClutterTexture.
+ *
+ * Return value: %TRUE on success, %FALSE on failure.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_set_area_from_rgb_data (ClutterTexture     *texture,
+                                        const guchar       *data,
+                                        gboolean            has_alpha,
+                                        gint                x,
+                                        gint                y,
+                                        gint                width,
+                                        gint                height,
+                                        gint                rowstride,
+                                        gint                bpp,
+                                        ClutterTextureFlags flags,
+                                        GError            **error)
+{
+  CoglPixelFormat source_format;
+  CoglHandle cogl_texture;
+
+  if (!get_pixel_format_from_texture_flags (bpp, has_alpha, flags,
+                                            &source_format))
+    {
+      return FALSE;
+    }
+
+  /* attempt to realize ... */
+  if (!CLUTTER_ACTOR_IS_REALIZED (texture) &&
+      clutter_actor_get_stage (CLUTTER_ACTOR (texture)) != NULL)
+    {
+      clutter_actor_realize (CLUTTER_ACTOR (texture));
+    }
+
+  /* due to the fudging of clutter_texture_set_cogl_texture()
+   * which allows setting a texture pre-realize, we may end
+   * up having a texture even if we couldn't realize yet.
+   */
+  cogl_texture = clutter_texture_get_cogl_texture (texture);
+  if (cogl_texture == NULL)
+    {
+      g_warning ("Failed to realize actor '%s'",
+                 _clutter_actor_get_debug_name (CLUTTER_ACTOR (texture)));
+      return FALSE;
+    }
+
+  if (!cogl_texture_set_region (cogl_texture,
+                               0, 0,
+                               x, y, width, height,
+                               width, height,
+                               source_format,
+                               rowstride,
+                               data))
+    {
+      g_set_error (error, CLUTTER_TEXTURE_ERROR,
+                  CLUTTER_TEXTURE_ERROR_BAD_FORMAT,
+                  _("Failed to load the image data"));
+      return FALSE;
+    }
+
+  g_free (texture->priv->filename);
+  texture->priv->filename = NULL;
+
+  /* rename signal */
+  g_signal_emit (texture, texture_signals[PIXBUF_CHANGE], 0);
+
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (texture));
+
+  return TRUE;
+}
+
+static void
+on_fbo_source_size_change (GObject          *object,
+                           GParamSpec       *param_spec,
+                           ClutterTexture   *texture)
+{
+  ClutterTexturePrivate *priv = texture->priv;
+  gfloat w, h;
+  ClutterActorBox box;
+  gboolean status;
+
+  status = clutter_actor_get_paint_box (priv->fbo_source, &box);
+  if (status)
+    clutter_actor_box_get_size (&box, &w, &h);
+
+  /* In the end we will size the framebuffer according to the paint
+   * box, but for code that does:
+   *   tex = clutter_texture_new_from_actor (src);
+   *   clutter_actor_get_size (tex, &width, &height);
+   * it seems more helpfull to return the src actor size if it has a
+   * degenerate paint box. The most likely reason it will have a
+   * degenerate paint box is simply that the src currently has no
+   * parent. */
+  if (status == FALSE || w == 0 || h == 0)
+    clutter_actor_get_size (priv->fbo_source, &w, &h);
+
+  /* We can't create a texture with a width or height of 0... */
+  w = MAX (1, w);
+  h = MAX (1, h);
+
+  if (w != priv->image_width || h != priv->image_height)
+    {
+      CoglTextureFlags flags = COGL_TEXTURE_NONE;
+      CoglHandle tex;
+
+      /* tear down the FBO */
+      if (priv->fbo_handle != NULL)
+        cogl_object_unref (priv->fbo_handle);
+
+      texture_free_gl_resources (texture);
+
+      priv->image_width = w;
+      priv->image_height = h;
+
+      flags |= COGL_TEXTURE_NO_SLICING;
+
+      tex = cogl_texture_new_with_size (MAX (priv->image_width, 1),
+                                        MAX (priv->image_height, 1),
+                                        flags,
+                                        COGL_PIXEL_FORMAT_RGBA_8888_PRE);
+
+      cogl_pipeline_set_layer_texture (priv->pipeline, 0, tex);
+
+      priv->fbo_handle = cogl_offscreen_new_to_texture (tex);
+
+      /* The pipeline now has a reference to the texture so it will
+         stick around */
+      cogl_object_unref (tex);
+
+      if (priv->fbo_handle == NULL)
+        {
+          g_warning ("%s: Offscreen texture creation failed", G_STRLOC);
+          return;
+        }
+
+      clutter_actor_set_size (CLUTTER_ACTOR (texture), w, h);
+    }
+}
+
+static void
+on_fbo_parent_change (ClutterActor        *actor,
+                      ClutterActor        *old_parent,
+                      ClutterTexture      *texture)
+{
+  ClutterActor        *parent = CLUTTER_ACTOR(texture);
+
+  while ((parent = clutter_actor_get_parent (parent)) != NULL)
+    {
+      if (parent == actor)
+        {
+          g_warning ("Offscreen texture is ancestor of source!");
+          /* Desperate but will avoid infinite loops */
+          clutter_actor_remove_child (parent, actor);
+        }
+    }
+}
+
+static void
+fbo_source_queue_redraw_cb (ClutterActor *source,
+                           ClutterActor *origin,
+                           ClutterTexture *texture)
+{
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (texture));
+}
+
+static void
+fbo_source_queue_relayout_cb (ClutterActor *source,
+                             ClutterTexture *texture)
+{
+  clutter_actor_queue_relayout (CLUTTER_ACTOR (texture));
+}
+
+/**
+ * clutter_texture_new_from_actor:
+ * @actor: A source #ClutterActor
+ *
+ * Creates a new #ClutterTexture object with its source a prexisting
+ * actor (and associated children). The textures content will contain
+ * 'live' redirected output of the actors scene.
+ *
+ * Note this function is intented as a utility call for uniformly applying
+ * shaders to groups and other potential visual effects. It requires that
+ * the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
+ * and the target system.
+ *
+ * Some tips on usage:
+ *
+ * <itemizedlist>
+ *   <listitem>
+ *     <para>The source actor must be made visible (i.e by calling
+ *     #clutter_actor_show).</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>The source actor must have a parent in order for it to be
+ *     allocated a size from the layouting mechanism. If the source
+ *     actor does not have a parent when this function is called then
+ *     the ClutterTexture will adopt it and allocate it at its
+ *     preferred size. Using this you can clone an actor that is
+ *     otherwise not displayed. Because of this feature if you do
+ *     intend to display the source actor then you must make sure that
+ *     the actor is parented before calling
+ *     clutter_texture_new_from_actor() or that you unparent it before
+ *     adding it to a container.</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>When getting the image for the clone texture, Clutter
+ *     will attempt to render the source actor exactly as it would
+ *     appear if it was rendered on screen. The source actor's parent
+ *     transformations are taken into account. Therefore if your
+ *     source actor is rotated along the X or Y axes so that it has
+ *     some depth, the texture will appear differently depending on
+ *     the on-screen location of the source actor. While painting the
+ *     source actor, Clutter will set up a temporary asymmetric
+ *     perspective matrix as the projection matrix so that the source
+ *     actor will be projected as if a small section of the screen was
+ *     being viewed. Before version 0.8.2, an orthogonal identity
+ *     projection was used which meant that the source actor would be
+ *     clipped if any part of it was not on the zero Z-plane.</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>Avoid reparenting the source with the created texture.</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>A group can be padded with a transparent rectangle as to
+ *     provide a border to contents for shader output (blurring text
+ *     for example).</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>The texture will automatically resize to contain a further
+ *     transformed source. However, this involves overhead and can be
+ *     avoided by placing the source actor in a bounding group
+ *     sized large enough to contain any child tranformations.</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>Uploading pixel data to the texture (e.g by using
+ *     clutter_texture_set_from_file()) will destroy the offscreen texture
+ *     data and end redirection.</para>
+ *   </listitem>
+ *   <listitem>
+ *     <para>cogl_texture_get_data() with the handle returned by
+ *     clutter_texture_get_cogl_texture() can be used to read the
+ *     offscreen texture pixels into a pixbuf.</para>
+ *   </listitem>
+ * </itemizedlist>
+ *
+ * Return value: A newly created #ClutterTexture object, or %NULL on failure.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.8: Use the #ClutterOffscreenEffect and #ClutterShaderEffect
+ *   directly on the intended #ClutterActor to replace the functionality of
+ *   this function.
+ */
+ClutterActor *
+clutter_texture_new_from_actor (ClutterActor *actor)
+{
+  ClutterTexture        *texture;
+  ClutterTexturePrivate *priv;
+  gfloat w, h;
+  ClutterActorBox box;
+  gboolean status;
+
+  g_return_val_if_fail (CLUTTER_IS_ACTOR (actor), NULL);
+
+  if (clutter_feature_available (CLUTTER_FEATURE_OFFSCREEN) == FALSE)
+    return NULL;
+
+  if (!CLUTTER_ACTOR_IS_REALIZED (actor))
+    {
+      clutter_actor_realize (actor);
+
+      if (!CLUTTER_ACTOR_IS_REALIZED (actor))
+       return NULL;
+    }
+
+  status = clutter_actor_get_paint_box (actor, &box);
+  if (status)
+    clutter_actor_box_get_size (&box, &w, &h);
+
+  /* In the end we will size the framebuffer according to the paint
+   * box, but for code that does:
+   *   tex = clutter_texture_new_from_actor (src);
+   *   clutter_actor_get_size (tex, &width, &height);
+   * it seems more helpfull to return the src actor size if it has a
+   * degenerate paint box. The most likely reason it will have a
+   * degenerate paint box is simply that the src currently has no
+   * parent. */
+  if (status == FALSE || w == 0 || h == 0)
+    clutter_actor_get_size (actor, &w, &h);
+
+  /* We can't create a 0x0 fbo so always bump the size up to at least
+   * 1 */
+  w = MAX (1, w);
+  h = MAX (1, h);
+
+  /* Hopefully now were good.. */
+  texture = g_object_new (CLUTTER_TYPE_TEXTURE,
+                          "disable-slicing", TRUE,
+                          NULL);
+
+  priv = texture->priv;
+
+  priv->fbo_source = g_object_ref_sink (actor);
+
+  /* If the actor doesn't have a parent then claim it so that it will
+     get a size allocation during layout */
+  if (clutter_actor_get_parent (actor) == NULL)
+    clutter_actor_add_child (CLUTTER_ACTOR (texture), actor);
+
+  /* Connect up any signals which could change our underlying size */
+  g_signal_connect (actor,
+                    "notify::width",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+  g_signal_connect (actor,
+                    "notify::height",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+  g_signal_connect (actor,
+                    "notify::scale-x",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+  g_signal_connect (actor,
+                    "notify::scale-y",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+  g_signal_connect (actor,
+                    "notify::rotation-angle-x",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+  g_signal_connect (actor,
+                    "notify::rotation-angle-y",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+  g_signal_connect (actor,
+                    "notify::rotation-angle-z",
+                    G_CALLBACK(on_fbo_source_size_change),
+                    texture);
+
+  g_signal_connect (actor, "queue-relayout",
+                    G_CALLBACK (fbo_source_queue_relayout_cb), texture);
+  g_signal_connect (actor, "queue-redraw",
+                    G_CALLBACK (fbo_source_queue_redraw_cb), texture);
+
+  /* And a warning if the source becomes a child of the texture */
+  g_signal_connect (actor,
+                    "parent-set",
+                    G_CALLBACK(on_fbo_parent_change),
+                    texture);
+
+  priv->image_width = w;
+  priv->image_height = h;
+
+  clutter_actor_set_size (CLUTTER_ACTOR (texture),
+                          priv->image_width,
+                          priv->image_height);
+
+  return CLUTTER_ACTOR (texture);
+}
+
+static void
+texture_fbo_free_resources (ClutterTexture *texture)
+{
+  ClutterTexturePrivate *priv;
+
+  priv = texture->priv;
+
+  if (priv->fbo_source != NULL)
+    {
+      ClutterActor *parent;
+
+      parent = clutter_actor_get_parent (priv->fbo_source);
+
+      /* If we parented the texture then unparent it again so that it
+        will lose the reference */
+      if (parent == CLUTTER_ACTOR (texture))
+       clutter_actor_remove_child (parent, priv->fbo_source);
+
+      g_signal_handlers_disconnect_by_func
+                            (priv->fbo_source,
+                             G_CALLBACK(on_fbo_parent_change),
+                             texture);
+
+      g_signal_handlers_disconnect_by_func
+                            (priv->fbo_source,
+                             G_CALLBACK(on_fbo_source_size_change),
+                             texture);
+
+      g_signal_handlers_disconnect_by_func
+                            (priv->fbo_source,
+                             G_CALLBACK(fbo_source_queue_relayout_cb),
+                             texture);
+
+      g_signal_handlers_disconnect_by_func
+                            (priv->fbo_source,
+                             G_CALLBACK(fbo_source_queue_redraw_cb),
+                             texture);
+
+      g_object_unref (priv->fbo_source);
+
+      priv->fbo_source = NULL;
+    }
+
+  if (priv->fbo_handle != NULL)
+    {
+      cogl_object_unref (priv->fbo_handle);
+      priv->fbo_handle = NULL;
+    }
+}
+
+/**
+ * clutter_texture_set_sync_size:
+ * @texture: a #ClutterTexture
+ * @sync_size: %TRUE if the texture should have the same size of the
+ *    underlying image data
+ *
+ * Sets whether @texture should have the same preferred size as the
+ * underlying image data.
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_sync_size (ClutterTexture *texture,
+                               gboolean        sync_size)
+{
+  ClutterTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  if (priv->sync_actor_size != sync_size)
+    {
+      priv->sync_actor_size = sync_size;
+
+      clutter_actor_queue_relayout (CLUTTER_ACTOR (texture));
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_SYNC_SIZE]);
+    }
+}
+
+/**
+ * clutter_texture_get_sync_size:
+ * @texture: a #ClutterTexture
+ *
+ * Retrieves the value set with clutter_texture_set_sync_size()
+ *
+ * Return value: %TRUE if the #ClutterTexture should have the same
+ *   preferred size of the underlying image data
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_get_sync_size (ClutterTexture *texture)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  return texture->priv->sync_actor_size;
+}
+
+/**
+ * clutter_texture_set_repeat:
+ * @texture: a #ClutterTexture
+ * @repeat_x: %TRUE if the texture should repeat horizontally
+ * @repeat_y: %TRUE if the texture should repeat vertically
+ *
+ * Sets whether the @texture should repeat horizontally or
+ * vertically when the actor size is bigger than the image size
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_repeat (ClutterTexture *texture,
+                            gboolean        repeat_x,
+                            gboolean        repeat_y)
+{
+  ClutterTexturePrivate *priv;
+  gboolean changed = FALSE;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  g_object_freeze_notify (G_OBJECT (texture));
+
+  if (priv->repeat_x != repeat_x)
+    {
+      priv->repeat_x = repeat_x;
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_REPEAT_X]);
+
+      changed = TRUE;
+    }
+
+  if (priv->repeat_y != repeat_y)
+    {
+      priv->repeat_y = repeat_y;
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_REPEAT_Y]);
+
+      changed = TRUE;
+    }
+
+  if (changed)
+    clutter_actor_queue_redraw (CLUTTER_ACTOR (texture));
+
+  g_object_thaw_notify (G_OBJECT (texture));
+}
+
+/**
+ * clutter_texture_get_repeat:
+ * @texture: a #ClutterTexture
+ * @repeat_x: (out): return location for the horizontal repeat
+ * @repeat_y: (out): return location for the vertical repeat
+ *
+ * Retrieves the horizontal and vertical repeat values set
+ * using clutter_texture_set_repeat()
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_get_repeat (ClutterTexture *texture,
+                            gboolean       *repeat_x,
+                            gboolean       *repeat_y)
+{
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  if (repeat_x != NULL)
+    *repeat_x = texture->priv->repeat_x;
+
+  if (repeat_y != NULL)
+    *repeat_y = texture->priv->repeat_y;
+}
+
+/**
+ * clutter_texture_get_pixel_format:
+ * @texture: a #ClutterTexture
+ *
+ * Retrieves the pixel format used by @texture. This is
+ * equivalent to:
+ *
+ * |[
+ *   handle = clutter_texture_get_pixel_format (texture);
+ *
+ *   if (handle != COGL_INVALID_HANDLE)
+ *     format = cogl_texture_get_format (handle);
+ * ]|
+ *
+ * Return value: a #CoglPixelFormat value
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+CoglPixelFormat
+clutter_texture_get_pixel_format (ClutterTexture *texture)
+{
+  CoglHandle cogl_texture;
+
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), COGL_PIXEL_FORMAT_ANY);
+
+  cogl_texture = clutter_texture_get_cogl_texture (texture);
+  if (cogl_texture == NULL)
+    return COGL_PIXEL_FORMAT_ANY;
+
+  return cogl_texture_get_format (cogl_texture);
+}
+
+/**
+ * clutter_texture_set_keep_aspect_ratio:
+ * @texture: a #ClutterTexture
+ * @keep_aspect: %TRUE to maintain aspect ratio
+ *
+ * Sets whether @texture should have a preferred size maintaining
+ * the aspect ratio of the underlying image
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_keep_aspect_ratio (ClutterTexture *texture,
+                                       gboolean        keep_aspect)
+{
+  ClutterTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  if (priv->keep_aspect_ratio != keep_aspect)
+    {
+      priv->keep_aspect_ratio = keep_aspect;
+
+      clutter_actor_queue_relayout (CLUTTER_ACTOR (texture));
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_KEEP_ASPECT_RATIO]);
+    }
+}
+
+/**
+ * clutter_texture_get_keep_aspect_ratio:
+ * @texture: a #ClutterTexture
+ *
+ * Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
+ *
+ * Return value: %TRUE if the #ClutterTexture should maintain the
+ *   aspect ratio of the underlying image
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_get_keep_aspect_ratio (ClutterTexture *texture)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  return texture->priv->keep_aspect_ratio;
+}
+
+/**
+ * clutter_texture_set_load_async:
+ * @texture: a #ClutterTexture
+ * @load_async: %TRUE if the texture should asynchronously load data
+ *   from a filename
+ *
+ * Sets whether @texture should use a worker thread to load the data
+ * from disk asynchronously. Setting @load_async to %TRUE will make
+ * clutter_texture_set_from_file() return immediately.
+ *
+ * See the #ClutterTexture:load-async property documentation, and
+ * clutter_texture_set_load_data_async().
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_load_async (ClutterTexture *texture,
+                                gboolean        load_async)
+{
+  ClutterTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  load_async = !!load_async;
+
+  if (priv->load_async_set != load_async)
+    {
+      priv->load_data_async = load_async;
+      priv->load_size_async = load_async;
+
+      priv->load_async_set = load_async;
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_LOAD_ASYNC]);
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_LOAD_DATA_ASYNC]);
+    }
+}
+
+/**
+ * clutter_texture_get_load_async:
+ * @texture: a #ClutterTexture
+ *
+ * Retrieves the value set using clutter_texture_set_load_async()
+ *
+ * Return value: %TRUE if the #ClutterTexture should load the data from
+ *   disk asynchronously
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_get_load_async (ClutterTexture *texture)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  return texture->priv->load_async_set;
+}
+
+/**
+ * clutter_texture_set_load_data_async:
+ * @texture: a #ClutterTexture
+ * @load_async: %TRUE if the texture should asynchronously load data
+ *   from a filename
+ *
+ * Sets whether @texture should use a worker thread to load the data
+ * from disk asynchronously. Setting @load_async to %TRUE will make
+ * clutter_texture_set_from_file() block until the #ClutterTexture has
+ * determined the width and height of the image data.
+ *
+ * See the #ClutterTexture:load-async property documentation, and
+ * clutter_texture_set_load_async().
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_load_data_async (ClutterTexture *texture,
+                                     gboolean        load_async)
+{
+  ClutterTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  if (priv->load_data_async != load_async)
+    {
+      /* load-data-async always unsets load-size-async */
+      priv->load_data_async = load_async;
+      priv->load_size_async = FALSE;
+
+      priv->load_async_set = load_async;
+
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_LOAD_ASYNC]);
+      g_object_notify_by_pspec (G_OBJECT (texture), obj_props[PROP_LOAD_DATA_ASYNC]);
+    }
+}
+
+/**
+ * clutter_texture_get_load_data_async:
+ * @texture: a #ClutterTexture
+ *
+ * Retrieves the value set by clutter_texture_set_load_data_async()
+ *
+ * Return value: %TRUE if the #ClutterTexture should load the image
+ *   data from a file asynchronously
+ *
+ * Since: 1.0
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_get_load_data_async (ClutterTexture *texture)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  return texture->priv->load_async_set &&
+         texture->priv->load_data_async;
+}
+
+/**
+ * clutter_texture_set_pick_with_alpha:
+ * @texture: a #ClutterTexture
+ * @pick_with_alpha: %TRUE if the alpha channel should affect the
+ *   picking shape
+ *
+ * Sets whether @texture should have it's shape defined by the alpha
+ * channel when picking.
+ *
+ * Be aware that this is a bit more costly than the default picking
+ * due to the texture lookup, extra test against the alpha value and
+ * the fact that it will also interrupt the batching of geometry done
+ * internally.
+ *
+ * Also there is currently no control over the threshold used to
+ * determine what value of alpha is considered pickable, and so only
+ * fully opaque parts of the texture will react to picking.
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12
+ */
+void
+clutter_texture_set_pick_with_alpha (ClutterTexture *texture,
+                                     gboolean        pick_with_alpha)
+{
+  ClutterTexturePrivate *priv;
+
+  g_return_if_fail (CLUTTER_IS_TEXTURE (texture));
+
+  priv = texture->priv;
+
+  if (priv->pick_with_alpha == pick_with_alpha)
+    return;
+
+  if (!pick_with_alpha && priv->pick_pipeline != NULL)
+    {
+      cogl_object_unref (priv->pick_pipeline);
+      priv->pick_pipeline = NULL;
+    }
+
+  /* NB: the pick pipeline is created lazily when we first pick */
+  priv->pick_with_alpha = pick_with_alpha;
+
+  /* NB: actors are expected to call clutter_actor_queue_redraw when
+   * ever some state changes that will affect painting *or picking...
+   */
+  clutter_actor_queue_redraw (CLUTTER_ACTOR (texture));
+}
+
+/**
+ * clutter_texture_get_pick_with_alpha:
+ * @texture: a #ClutterTexture
+ *
+ * Retrieves the value set by clutter_texture_set_load_data_async()
+ *
+ * Return value: %TRUE if the #ClutterTexture should define its shape
+ * using the alpha channel when picking.
+ *
+ * Since: 1.4
+ *
+ * Deprecated: 1.12
+ */
+gboolean
+clutter_texture_get_pick_with_alpha (ClutterTexture *texture)
+{
+  g_return_val_if_fail (CLUTTER_IS_TEXTURE (texture), FALSE);
+
+  return texture->priv->pick_with_alpha ? TRUE : FALSE;
+}
+
diff --git a/clutter/deprecated/clutter-texture.h b/clutter/deprecated/clutter-texture.h
new file mode 100644
index 0000000..f1bd01c
--- /dev/null
+++ b/clutter/deprecated/clutter-texture.h
@@ -0,0 +1,138 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_TEXTURE_DEPRECATED_H__
+#define __CLUTTER_TEXTURE_DEPRECATED_H__
+
+#include <clutter/clutter-texture.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_image_new)
+ClutterActor *          clutter_texture_new                    (void);
+
+CLUTTER_DEPRECATED_IN_1_12
+ClutterActor *          clutter_texture_new_from_file           (const gchar            *filename,
+                                                                 GError                **error);
+
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_texture_set_from_file           (ClutterTexture         *texture,
+                                                                 const gchar            *filename,
+                                                                 GError                **error);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_image_set_data)
+gboolean                clutter_texture_set_from_rgb_data       (ClutterTexture         *texture,
+                                                                 const guchar           *data,
+                                                                 gboolean                has_alpha,
+                                                                 gint                    width,
+                                                                 gint                    height,
+                                                                 gint                    rowstride,
+                                                                 gint                    bpp,
+                                                                 ClutterTextureFlags     flags,
+                                                                 GError                **error);
+CLUTTER_DEPRECATED_IN_1_12_FOR(clutter_image_set_area)
+gboolean                clutter_texture_set_area_from_rgb_data  (ClutterTexture         *texture,
+                                                                 const guchar           *data,
+                                                                 gboolean                has_alpha,
+                                                                 gint                    x,
+                                                                 gint                    y,
+                                                                 gint                    width,
+                                                                 gint                    height,
+                                                                 gint                    rowstride,
+                                                                 gint                    bpp,
+                                                                 ClutterTextureFlags     flags,
+                                                                 GError                **error);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_get_base_size           (ClutterTexture         *texture,
+                                                                 gint                   *width,
+                                                                 gint                   *height);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_filter_quality      (ClutterTexture         *texture,
+                                                                 ClutterTextureQuality   filter_quality);
+CLUTTER_DEPRECATED_IN_1_12
+ClutterTextureQuality   clutter_texture_get_filter_quality      (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+CoglHandle              clutter_texture_get_cogl_texture        (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_cogl_texture        (ClutterTexture         *texture,
+                                                                 CoglHandle              cogl_tex);
+CLUTTER_DEPRECATED_IN_1_12
+CoglHandle              clutter_texture_get_cogl_material       (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_cogl_material       (ClutterTexture         *texture,
+                                                                 CoglHandle              cogl_material);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_sync_size           (ClutterTexture         *texture,
+                                                                 gboolean                sync_size);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_texture_get_sync_size           (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_repeat              (ClutterTexture         *texture,
+                                                                 gboolean                repeat_x,
+                                                                 gboolean                repeat_y);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_get_repeat              (ClutterTexture         *texture,
+                                                                 gboolean               *repeat_x,
+                                                                 gboolean               *repeat_y);
+CLUTTER_DEPRECATED_IN_1_12
+CoglPixelFormat         clutter_texture_get_pixel_format        (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+gint                    clutter_texture_get_max_tile_waste      (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_keep_aspect_ratio   (ClutterTexture         *texture,
+                                                                 gboolean                keep_aspect);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_texture_get_keep_aspect_ratio   (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_load_async          (ClutterTexture         *texture,
+                                                                 gboolean                load_async);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_texture_get_load_async          (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_load_data_async     (ClutterTexture         *texture,
+                                                                 gboolean                load_async);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_texture_get_load_data_async     (ClutterTexture         *texture);
+CLUTTER_DEPRECATED_IN_1_12
+void                    clutter_texture_set_pick_with_alpha     (ClutterTexture         *texture,
+                                                                 gboolean                pick_with_alpha);
+CLUTTER_DEPRECATED_IN_1_12
+gboolean                clutter_texture_get_pick_with_alpha     (ClutterTexture         *texture);
+
+CLUTTER_DEPRECATED_IN_1_8_FOR(ClutterOffscreenEffect)
+ClutterActor *          clutter_texture_new_from_actor          (ClutterActor           *actor);
+
+CLUTTER_DEPRECATED_IN_1_10
+gboolean                clutter_texture_set_from_yuv_data       (ClutterTexture         *texture,
+                                                                 const guchar           *data,
+                                                                 gint                    width,
+                                                                 gint                    height,
+                                                                 ClutterTextureFlags     flags,
+                                                                 GError                **error);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_TEXTURE_DEPRECATED_H__ */
diff --git a/clutter/deprecated/clutter-timeline.h b/clutter/deprecated/clutter-timeline.h
new file mode 100644
index 0000000..e99c7df
--- /dev/null
+++ b/clutter/deprecated/clutter-timeline.h
@@ -0,0 +1,41 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2012 Intel Corp
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __CLUTTER_TIMELINE_PRIVATE_H__
+#define __CLUTTER_TIMELINE_PRIVATE_H__
+
+#include <clutter/clutter-timeline.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_timeline_new)
+ClutterTimeline *               clutter_timeline_clone                  (ClutterTimeline          *timeline);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_timeline_set_repeat_count)
+void                            clutter_timeline_set_loop               (ClutterTimeline          *timeline,
+                                                                         gboolean                  loop);
+
+CLUTTER_DEPRECATED_IN_1_10_FOR(clutter_timeline_get_repeat_count)
+gboolean                        clutter_timeline_get_loop               (ClutterTimeline          *timeline);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_TIMELINE_PRIVATE_H__ */
diff --git a/clutter/deprecated/clutter-timeout-interval.c b/clutter/deprecated/clutter-timeout-interval.c
new file mode 100644
index 0000000..52ee180
--- /dev/null
+++ b/clutter/deprecated/clutter-timeout-interval.c
@@ -0,0 +1,142 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Neil Roberts  <neil linux intel com>
+ *
+ * Copyright (C) 2009  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+
+/* This file contains the common code to check whether an interval has
+   expired used in clutter-frame-source and clutter-timeout-pool. */
+
+#include "clutter-timeout-interval.h"
+
+void
+_clutter_timeout_interval_init (ClutterTimeoutInterval *interval,
+                                guint                   fps)
+{
+#if GLIB_CHECK_VERSION (2, 27, 3)
+  interval->start_time = g_get_monotonic_time () / 1000;
+#else
+  {
+    GTimeVal start_time;
+    g_get_current_time (&start_time);
+    interval->start_time = start_time.tv_sec * 1000
+                         + start_time.tv_usec / 1000;
+  }
+#endif
+
+  interval->fps = fps;
+  interval->frame_count = 0;
+}
+
+static gint64
+_clutter_timeout_interval_get_ticks (gint64                  current_time,
+                                     ClutterTimeoutInterval *interval)
+{
+  return MAX (current_time - interval->start_time, 0);
+}
+
+gboolean
+_clutter_timeout_interval_prepare (gint64                  current_time,
+                                   ClutterTimeoutInterval *interval,
+                                   gint                   *delay)
+{
+  gint elapsed_time, new_frame_num;
+
+  elapsed_time = _clutter_timeout_interval_get_ticks (current_time, interval);
+  new_frame_num = elapsed_time * interval->fps / 1000;
+
+  /* If time has gone backwards or the time since the last frame is
+     greater than the two frames worth then reset the time and do a
+     frame now */
+  if (new_frame_num < interval->frame_count ||
+      new_frame_num - interval->frame_count > 2)
+    {
+      /* Get the frame time rounded up to the nearest ms */
+      guint frame_time = (1000 + interval->fps - 1) / interval->fps;
+
+      /* Reset the start time */
+      interval->start_time = current_time;
+
+      /* Move the start time as if one whole frame has elapsed */
+      interval->start_time -= frame_time;
+
+      interval->frame_count = 0;
+
+      if (delay)
+       *delay = 0;
+
+      return TRUE;
+    }
+  else if (new_frame_num > interval->frame_count)
+    {
+      if (delay)
+       *delay = 0;
+
+      return TRUE;
+    }
+  else
+    {
+      if (delay)
+       *delay = ((interval->frame_count + 1) * 1000 / interval->fps
+               - elapsed_time);
+
+      return FALSE;
+    }
+}
+
+gboolean
+_clutter_timeout_interval_dispatch (ClutterTimeoutInterval *interval,
+                                    GSourceFunc             callback,
+                                    gpointer                user_data)
+{
+  if ((* callback) (user_data))
+    {
+      interval->frame_count++;
+
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+gint
+_clutter_timeout_interval_compare_expiration (const ClutterTimeoutInterval *a,
+                                              const ClutterTimeoutInterval *b)
+{
+  guint a_delay = 1000 / a->fps;
+  guint b_delay = 1000 / b->fps;
+  gint64 b_difference;
+  gint comparison;
+
+  b_difference = a->start_time - b->start_time;
+
+  comparison = ((gint) ((a->frame_count + 1) * a_delay)
+             - (gint) ((b->frame_count + 1) * b_delay + b_difference));
+
+  return (comparison < 0 ? -1
+                         : comparison > 0 ? 1
+                                          : 0);
+}
diff --git a/clutter/deprecated/clutter-timeout-interval.h b/clutter/deprecated/clutter-timeout-interval.h
new file mode 100644
index 0000000..57df959
--- /dev/null
+++ b/clutter/deprecated/clutter-timeout-interval.h
@@ -0,0 +1,58 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Neil Roberts  <neil linux intel com>
+ *
+ * Copyright (C) 2009  Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __CLUTTER_TIMEOUT_INTERVAL_H__
+#define __CLUTTER_TIMEOUT_INTERVAL_H__
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+typedef struct _ClutterTimeoutInterval ClutterTimeoutInterval;
+
+struct _ClutterTimeoutInterval
+{
+  /* milliseconds */
+  gint64 start_time;
+
+  guint frame_count;
+  guint fps;
+};
+
+void     _clutter_timeout_interval_init               (ClutterTimeoutInterval       *interval,
+                                                       guint                         fps);
+
+gboolean _clutter_timeout_interval_prepare            (gint64 current_time,
+                                                       ClutterTimeoutInterval       *interval,
+                                                       gint                         *delay);
+
+gboolean _clutter_timeout_interval_dispatch           (ClutterTimeoutInterval       *interval,
+                                                       GSourceFunc                   callback,
+                                                       gpointer                      user_data);
+
+gint     _clutter_timeout_interval_compare_expiration (const ClutterTimeoutInterval *a,
+                                                       const ClutterTimeoutInterval *b);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_TIMEOUT_INTERVAL_H__ */
diff --git a/clutter/deprecated/clutter-timeout-pool.c b/clutter/deprecated/clutter-timeout-pool.c
new file mode 100644
index 0000000..ad2b313
--- /dev/null
+++ b/clutter/deprecated/clutter-timeout-pool.c
@@ -0,0 +1,500 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
+ * ClutterTimeoutPool: pool of timeout functions using the same slice of
+ *                     the GLib main loop
+ *
+ * Author: Emmanuele Bassi <ebassi openedhand com>
+ *
+ * Based on similar code by Tristan van Berkom
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#include "deprecated/clutter-main.h"
+
+#include "clutter-timeout-pool.h"
+
+#include "clutter-debug.h"
+#include "clutter-timeout-interval.h"
+
+typedef struct _ClutterTimeout  ClutterTimeout;
+typedef enum {
+  CLUTTER_TIMEOUT_NONE   = 0,
+  CLUTTER_TIMEOUT_READY  = 1 << 1
+} ClutterTimeoutFlags;
+
+struct _ClutterTimeout
+{
+  guint id;
+  ClutterTimeoutFlags flags;
+  gint refcount;
+
+  ClutterTimeoutInterval interval;
+
+  GSourceFunc func;
+  gpointer data;
+  GDestroyNotify notify;
+};
+
+struct _ClutterTimeoutPool
+{
+  GSource source;
+
+  guint next_id;
+
+  GList *timeouts;
+  GList *dispatched_timeouts;
+
+  gint ready;
+
+  guint id;
+};
+
+#define TIMEOUT_READY(timeout)   (timeout->flags & CLUTTER_TIMEOUT_READY)
+
+static gboolean clutter_timeout_pool_prepare  (GSource     *source,
+                                               gint        *next_timeout);
+static gboolean clutter_timeout_pool_check    (GSource     *source);
+static gboolean clutter_timeout_pool_dispatch (GSource     *source,
+                                               GSourceFunc  callback,
+                                               gpointer     data);
+static void clutter_timeout_pool_finalize     (GSource     *source);
+
+static GSourceFuncs clutter_timeout_pool_funcs =
+{
+  clutter_timeout_pool_prepare,
+  clutter_timeout_pool_check,
+  clutter_timeout_pool_dispatch,
+  clutter_timeout_pool_finalize
+};
+
+static gint
+clutter_timeout_sort (gconstpointer a,
+                      gconstpointer b)
+{
+  const ClutterTimeout *t_a = a;
+  const ClutterTimeout *t_b = b;
+
+  /* Keep 'ready' timeouts at the front */
+  if (TIMEOUT_READY (t_a))
+    return -1;
+
+  if (TIMEOUT_READY (t_b))
+    return 1;
+
+  return _clutter_timeout_interval_compare_expiration (&t_a->interval,
+                                                       &t_b->interval);
+}
+
+static gint
+clutter_timeout_find_by_id (gconstpointer a,
+                            gconstpointer b)
+{
+  const ClutterTimeout *t_a = a;
+
+  return t_a->id == GPOINTER_TO_UINT (b) ? 0 : 1;
+}
+
+static ClutterTimeout *
+clutter_timeout_new (guint fps)
+{
+  ClutterTimeout *timeout;
+
+  timeout = g_slice_new0 (ClutterTimeout);
+  _clutter_timeout_interval_init (&timeout->interval, fps);
+  timeout->flags = CLUTTER_TIMEOUT_NONE;
+  timeout->refcount = 1;
+
+  return timeout;
+}
+
+static gboolean
+clutter_timeout_prepare (ClutterTimeoutPool *pool,
+                         ClutterTimeout     *timeout,
+                         gint               *next_timeout)
+{
+  GSource *source = (GSource *) pool;
+  gint64 now;
+
+#if GLIB_CHECK_VERSION (2, 27, 3)
+  now = g_source_get_time (source) / 1000;
+#else
+  {
+    GTimeVal source_time;
+    g_source_get_current_time (source, &source_time);
+    now = source_time.tv_sec * 1000 + source_time.tv_usec / 1000;
+  }
+#endif
+
+  return _clutter_timeout_interval_prepare (now,
+                                            &timeout->interval,
+                                            next_timeout);
+}
+
+/* ref and unref are always called under the main Clutter lock, so there
+ * is not need for us to use g_atomic_int_* API.
+ */
+
+static ClutterTimeout *
+clutter_timeout_ref (ClutterTimeout *timeout)
+{
+  g_return_val_if_fail (timeout != NULL, timeout);
+  g_return_val_if_fail (timeout->refcount > 0, timeout);
+
+  timeout->refcount += 1;
+
+  return timeout;
+}
+
+static void
+clutter_timeout_unref (ClutterTimeout *timeout)
+{
+  g_return_if_fail (timeout != NULL);
+  g_return_if_fail (timeout->refcount > 0);
+
+  timeout->refcount -= 1;
+
+  if (timeout->refcount == 0)
+    {
+      if (timeout->notify)
+        timeout->notify (timeout->data);
+
+      g_slice_free (ClutterTimeout, timeout);
+    }
+}
+
+static void
+clutter_timeout_free (ClutterTimeout *timeout)
+{
+  if (G_LIKELY (timeout))
+    {
+      if (timeout->notify)
+        timeout->notify (timeout->data);
+
+      g_slice_free (ClutterTimeout, timeout);
+    }
+}
+
+static gboolean
+clutter_timeout_pool_prepare (GSource *source,
+                              gint    *next_timeout)
+{
+  ClutterTimeoutPool *pool = (ClutterTimeoutPool *) source;
+  GList *l = pool->timeouts;
+
+  /* the pool is ready if the first timeout is ready */
+  if (l && l->data)
+    {
+      ClutterTimeout *timeout = l->data;
+      return clutter_timeout_prepare (pool, timeout, next_timeout);
+    }
+  else
+    {
+      *next_timeout = -1;
+      return FALSE;
+    }
+}
+
+static gboolean
+clutter_timeout_pool_check (GSource *source)
+{
+  ClutterTimeoutPool *pool = (ClutterTimeoutPool *) source;
+  GList *l;
+
+  clutter_threads_enter ();
+
+  for (l = pool->timeouts; l; l = l->next)
+    {
+      ClutterTimeout *timeout = l->data;
+
+      /* since the timeouts are sorted by expiration, as soon
+       * as we get a check returning FALSE we know that the
+       * following timeouts are not expiring, so we break as
+       * soon as possible
+       */
+      if (clutter_timeout_prepare (pool, timeout, NULL))
+        {
+          timeout->flags |= CLUTTER_TIMEOUT_READY;
+          pool->ready += 1;
+        }
+      else
+        break;
+    }
+
+  clutter_threads_leave ();
+
+  return (pool->ready > 0);
+}
+
+static gboolean
+clutter_timeout_pool_dispatch (GSource     *source,
+                               GSourceFunc  func,
+                               gpointer     data)
+{
+  ClutterTimeoutPool *pool = (ClutterTimeoutPool *) source;
+  GList *dispatched_timeouts;
+
+  /* the main loop might have predicted this, so we repeat the
+   * check for ready timeouts.
+   */
+  if (!pool->ready)
+    clutter_timeout_pool_check (source);
+
+  clutter_threads_enter ();
+
+  /* Iterate by moving the actual start of the list along so that it
+   * can cope with adds and removes while a timeout is being dispatched
+   */
+  while (pool->timeouts && pool->timeouts->data && pool->ready-- > 0)
+    {
+      ClutterTimeout *timeout = pool->timeouts->data;
+      GList *l;
+
+      /* One of the ready timeouts may have been removed during dispatch,
+       * in which case pool->ready will be wrong, but the ready timeouts
+       * are always kept at the start of the list so we can stop once
+       * we've reached the first non-ready timeout
+       */
+      if (!(TIMEOUT_READY (timeout)))
+       break;
+
+      /* Add a reference to the timeout so it can't disappear
+       * while it's being dispatched
+       */
+      clutter_timeout_ref (timeout);
+
+      timeout->flags &= ~CLUTTER_TIMEOUT_READY;
+
+      /* Move the list node to a list of dispatched timeouts */
+      l = pool->timeouts;
+      if (l->next)
+       l->next->prev = NULL;
+
+      pool->timeouts = l->next;
+
+      if (pool->dispatched_timeouts)
+       pool->dispatched_timeouts->prev = l;
+
+      l->prev = NULL;
+      l->next = pool->dispatched_timeouts;
+      pool->dispatched_timeouts = l;
+
+      if (!_clutter_timeout_interval_dispatch (&timeout->interval,
+                                               timeout->func, timeout->data))
+       {
+         /* The timeout may have already been removed, but nothing
+           * can be added to the dispatched_timeout list except in this
+           * function so it will always either be at the head of the
+           * dispatched list or have been removed
+           */
+          if (pool->dispatched_timeouts &&
+              pool->dispatched_timeouts->data == timeout)
+           {
+             pool->dispatched_timeouts =
+                g_list_delete_link (pool->dispatched_timeouts,
+                                    pool->dispatched_timeouts);
+
+             /* Remove the reference that was held by it being in the list */
+             clutter_timeout_unref (timeout);
+           }
+       }
+
+      clutter_timeout_unref (timeout);
+    }
+
+  /* Re-insert the dispatched timeouts in sorted order */
+  dispatched_timeouts = pool->dispatched_timeouts;
+  while (dispatched_timeouts)
+    {
+      ClutterTimeout *timeout = dispatched_timeouts->data;
+      GList *next = dispatched_timeouts->next;
+
+      if (timeout)
+        pool->timeouts = g_list_insert_sorted (pool->timeouts, timeout,
+                                               clutter_timeout_sort);
+
+      dispatched_timeouts = next;
+    }
+
+  g_list_free (pool->dispatched_timeouts);
+  pool->dispatched_timeouts = NULL;
+
+  pool->ready = 0;
+
+  clutter_threads_leave ();
+
+  return TRUE;
+}
+
+static void
+clutter_timeout_pool_finalize (GSource *source)
+{
+  ClutterTimeoutPool *pool = (ClutterTimeoutPool *) source;
+
+  /* force destruction */
+  g_list_foreach (pool->timeouts, (GFunc) clutter_timeout_free, NULL);
+  g_list_free (pool->timeouts);
+}
+
+/**
+ * clutter_timeout_pool_new:
+ * @priority: the priority of the timeout pool. Typically this will
+ *   be #G_PRIORITY_DEFAULT
+ *
+ * Creates a new timeout pool source. A timeout pool should be used when
+ * multiple timeout functions, running at the same priority, are needed and
+ * the g_timeout_add() API might lead to starvation of the time slice of
+ * the main loop. A timeout pool allocates a single time slice of the main
+ * loop and runs every timeout function inside it. The timeout pool is
+ * always sorted, so that the extraction of the next timeout function is
+ * a constant time operation.
+ *
+ * Return value: the newly created #ClutterTimeoutPool. The created pool
+ *   is owned by the GLib default context and will be automatically
+ *   destroyed when the context is destroyed. It is possible to force
+ *   the destruction of the timeout pool using g_source_destroy()
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+ClutterTimeoutPool *
+clutter_timeout_pool_new (gint priority)
+{
+  ClutterTimeoutPool *pool;
+  GSource *source;
+
+  source = g_source_new (&clutter_timeout_pool_funcs,
+                         sizeof (ClutterTimeoutPool));
+  if (!source)
+    return NULL;
+
+  g_source_set_name (source, "Clutter timeout pool");
+
+  if (priority != G_PRIORITY_DEFAULT)
+    g_source_set_priority (source, priority);
+
+  pool = (ClutterTimeoutPool *) source;
+  pool->next_id = 1;
+  pool->id = g_source_attach (source, NULL);
+
+  /* let the default GLib context manage the pool */
+  g_source_unref (source);
+
+  return pool;
+}
+
+/**
+ * clutter_timeout_pool_add:
+ * @pool: a #ClutterTimeoutPool
+ * @fps: the time between calls to the function, in frames per second
+ * @func: function to call
+ * @data: (closure): data to pass to the function, or %NULL
+ * @notify: function to call when the timeout is removed, or %NULL
+ *
+ * Sets a function to be called at regular intervals, and puts it inside
+ * the @pool. The function is repeatedly called until it returns %FALSE,
+ * at which point the timeout is automatically destroyed and the function
+ * won't be called again. If @notify is not %NULL, the @notify function
+ * will be called. The first call to @func will be at the end of @interval.
+ *
+ * Since Clutter 0.8 this will try to compensate for delays. For
+ * example, if @func takes half the interval time to execute then the
+ * function will be called again half the interval time after it
+ * finished. Before version 0.8 it would not fire until a full
+ * interval after the function completes so the delay between calls
+ * would be @interval * 1.5. This function does not however try to
+ * invoke the function multiple times to catch up missing frames if
+ * @func takes more than @interval ms to execute.
+ *
+ * Return value: the ID (greater than 0) of the timeout inside the pool.
+ *   Use clutter_timeout_pool_remove() to stop the timeout.
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+guint
+clutter_timeout_pool_add (ClutterTimeoutPool *pool,
+                          guint               fps,
+                          GSourceFunc         func,
+                          gpointer            data,
+                          GDestroyNotify      notify)
+{
+  ClutterTimeout *timeout;
+  guint retval = 0;
+
+  timeout = clutter_timeout_new (fps);
+
+  retval = timeout->id = pool->next_id++;
+
+  timeout->func = func;
+  timeout->data = data;
+  timeout->notify = notify;
+
+  pool->timeouts = g_list_insert_sorted (pool->timeouts, timeout,
+                                         clutter_timeout_sort);
+
+  return retval;
+}
+
+/**
+ * clutter_timeout_pool_remove:
+ * @pool: a #ClutterTimeoutPool
+ * @id_: the id of the timeout to remove
+ *
+ * Removes a timeout function with @id_ from the timeout pool. The id
+ * is the same returned when adding a function to the timeout pool with
+ * clutter_timeout_pool_add().
+ *
+ * Since: 0.4
+ *
+ * Deprecated: 1.6
+ */
+void
+clutter_timeout_pool_remove (ClutterTimeoutPool *pool,
+                             guint               id_)
+{
+  GList *l;
+
+  if ((l = g_list_find_custom (pool->timeouts, GUINT_TO_POINTER (id_),
+                              clutter_timeout_find_by_id)))
+    {
+      clutter_timeout_unref (l->data);
+      pool->timeouts = g_list_delete_link (pool->timeouts, l);
+    }
+  else if ((l = g_list_find_custom (pool->dispatched_timeouts,
+                                   GUINT_TO_POINTER (id_),
+                                   clutter_timeout_find_by_id)))
+    {
+      clutter_timeout_unref (l->data);
+
+      pool->dispatched_timeouts =
+        g_list_delete_link (pool->dispatched_timeouts, l);
+    }
+}
diff --git a/clutter/deprecated/clutter-timeout-pool.h b/clutter/deprecated/clutter-timeout-pool.h
new file mode 100644
index 0000000..9d7ad1d
--- /dev/null
+++ b/clutter/deprecated/clutter-timeout-pool.h
@@ -0,0 +1,69 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * ClutterTimeoutPool: pool of timeout functions using the same slice of
+ *                     the GLib main loop
+ *
+ * Author: Emmanuele Bassi <ebassi openedhand com>
+ *
+ * Based on similar code by Tristan van Berkom
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_TIMEOUT_POOL_H__
+#define __CLUTTER_TIMEOUT_POOL_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+/**
+ * ClutterTimeoutPool: (skip)
+ *
+ * <structname>ClutterTimeoutPool</structname> is an opaque structure
+ * whose members cannot be directly accessed.
+ *
+ * Since: 0.6
+ *
+ * Deprecated: 1.6
+ */
+typedef struct _ClutterTimeoutPool    ClutterTimeoutPool;
+
+CLUTTER_DEPRECATED_IN_1_6
+ClutterTimeoutPool *clutter_timeout_pool_new    (gint                priority);
+
+CLUTTER_DEPRECATED_IN_1_6
+guint               clutter_timeout_pool_add    (ClutterTimeoutPool *pool,
+                                                 guint               fps,
+                                                 GSourceFunc         func,
+                                                 gpointer            data,
+                                                 GDestroyNotify      notify);
+CLUTTER_DEPRECATED_IN_1_6
+void                clutter_timeout_pool_remove (ClutterTimeoutPool *pool,
+                                                 guint               id_);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_TIMEOUT_POOL_H__ */
diff --git a/clutter/deprecated/clutter-util.h b/clutter/deprecated/clutter-util.h
new file mode 100644
index 0000000..ff9b325
--- /dev/null
+++ b/clutter/deprecated/clutter-util.h
@@ -0,0 +1,40 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Authored By Matthew Allum  <mallum openedhand com>
+ *
+ * Copyright (C) 2006 OpenedHand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_UTIL_H__
+#define __CLUTTER_UTIL_H__
+
+#include <clutter/clutter-types.h>
+
+G_BEGIN_DECLS
+
+CLUTTER_DEPRECATED_IN_1_2
+gint clutter_util_next_p2 (gint a);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_UTIL_H__ */
diff --git a/clutter/egl/clutter-backend-eglnative.c b/clutter/egl/clutter-backend-eglnative.c
index 6b35d6e..a99d374 100644
--- a/clutter/egl/clutter-backend-eglnative.c
+++ b/clutter/egl/clutter-backend-eglnative.c
@@ -95,7 +95,7 @@ clutter_backend_egl_native_init (ClutterBackendEglNative *backend_egl_native)
  *
  * Return value: the EGL display, or 0
  *
- *
+ * Since: 0.6
  *
  * Deprecated: 1.6: Use clutter_egl_get_egl_display() instead.
  */
@@ -112,7 +112,7 @@ clutter_eglx_display (void)
  *
  * Return value: the EGL display used by Clutter, or 0
  *
- *
+ * Since: 0.6
  *
  * Deprecated: 1.6: Use clutter_egl_get_egl_display() instead.
  */
@@ -130,7 +130,7 @@ clutter_egl_display (void)
  *
  * Return value: the EGL display used by Clutter, or 0
  *
- *
+ * Since: 1.6
  */
 EGLDisplay
 clutter_egl_get_egl_display (void)
diff --git a/clutter/egl/clutter-egl.h b/clutter/egl/clutter-egl.h
index 833d8e1..c15cd15 100644
--- a/clutter/egl/clutter-egl.h
+++ b/clutter/egl/clutter-egl.h
@@ -57,7 +57,7 @@ G_BEGIN_DECLS
  *
  * Return value: the EGL display
  *
- *
+ * Since: 0.4
  *
  * Deprecated: 1.6: Use clutter_egl_get_egl_display() instead
  */
@@ -83,7 +83,7 @@ EGLDisplay      clutter_egl_display             (void);
  *
  * Return value: the EGL display
  *
- *
+ * Since: 1.6
  */
 EGLDisplay      clutter_egl_get_egl_display     (void);
 
diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c
index 97f1db6..101c955 100644
--- a/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/evdev/clutter-device-manager-evdev.c
@@ -1039,7 +1039,7 @@ _clutter_events_evdev_uninit (ClutterBackend *backend)
  *
  * This function should only be called after clutter has been initialized.
  *
- *
+ * Since: 1.10
  * Stability: unstable
  */
 void
@@ -1094,7 +1094,7 @@ clutter_evdev_release_devices (void)
  *
  * This function should only be called after clutter has been initialized.
  *
- *
+ * Since: 1.10
  * Stability: unstable
  */
 void
diff --git a/clutter/evdev/clutter-input-device-evdev.c b/clutter/evdev/clutter-input-device-evdev.c
index 468c4b3..7eccbe5 100644
--- a/clutter/evdev/clutter-input-device-evdev.c
+++ b/clutter/evdev/clutter-input-device-evdev.c
@@ -152,7 +152,7 @@ clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass)
    *
    * The Sysfs path of the device
    *
-   *
+   * Since: 1.6
    */
   pspec =
     g_param_spec_string ("sysfs-path",
@@ -168,7 +168,7 @@ clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass)
    *
    * The path of the device file.
    *
-   *
+   * Since: 1.6
    */
   pspec =
     g_param_spec_string ("device-path",
diff --git a/clutter/gdk/clutter-backend-gdk.c b/clutter/gdk/clutter-backend-gdk.c
index 2da36aa..988b370 100644
--- a/clutter/gdk/clutter-backend-gdk.c
+++ b/clutter/gdk/clutter-backend-gdk.c
@@ -393,7 +393,7 @@ clutter_backend_gdk_init (ClutterBackendGdk *backend_gdk)
  *
  * Return value: (transfer none): the default display
  *
- *
+ * Since: 0.6
  */
 GdkDisplay *
 clutter_gdk_get_default_display (void)
@@ -428,7 +428,7 @@ clutter_gdk_get_default_display (void)
  * g_option_context_parse() yourself, you should also call
  * clutter_gdk_set_display() before g_option_context_parse().
  *
- *
+ * Since: 0.8
  */
 void
 clutter_gdk_set_display (GdkDisplay *display)
@@ -454,7 +454,7 @@ clutter_gdk_set_display (GdkDisplay *display)
  * This function should only be used when embedding Clutter into
  * a GDK based toolkit.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_gdk_disable_event_retrieval (void)
diff --git a/clutter/gdk/clutter-stage-gdk.c b/clutter/gdk/clutter-stage-gdk.c
index 828e2d0..342906a 100644
--- a/clutter/gdk/clutter-stage-gdk.c
+++ b/clutter/gdk/clutter-stage-gdk.c
@@ -64,7 +64,7 @@ G_DEFINE_TYPE_WITH_CODE (ClutterStageGdk,
                          G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_STAGE_WINDOW,
                                                 clutter_stage_window_iface_init));
 
-#ifdef GDK_WINDOWING_X11
+#ifdef CLUTTER_WINDOWING_X11
 static void
 clutter_stage_gdk_update_foreign_event_mask (CoglOnscreen *onscreen,
                                             guint32 event_mask,
@@ -484,7 +484,7 @@ clutter_stage_window_iface_init (ClutterStageWindowIface *iface)
  *
  * Return value: (transfer none): A GdkWindow* for the stage window.
  *
- *
+ * Since: 1.10
  */
 GdkWindow *
 clutter_gdk_get_stage_window (ClutterStage *stage)
@@ -512,7 +512,7 @@ clutter_gdk_get_stage_window (ClutterStage *stage)
  * Return value: (transfer none): A #ClutterStage, or% NULL if a stage
  *   does not exist for the window
  *
- *
+ * Since: 1.10
  */
 ClutterStage *
 clutter_gdk_get_stage_from_window (GdkWindow *window)
@@ -557,7 +557,7 @@ set_foreign_window_callback (ClutterActor *actor,
  *
  * Return value: %TRUE if foreign window is valid
  *
- *
+ * Since: 1.10
  */
 gboolean
 clutter_gdk_set_stage_foreign (ClutterStage *stage,
diff --git a/clutter/gdk/clutter-stage-gdk.h b/clutter/gdk/clutter-stage-gdk.h
index 6f18097..4004955 100644
--- a/clutter/gdk/clutter-stage-gdk.h
+++ b/clutter/gdk/clutter-stage-gdk.h
@@ -23,6 +23,7 @@
 #ifndef __CLUTTER_STAGE_GDK_H__
 #define __CLUTTER_STAGE_GDK_H__
 
+#include <clutter/clutter-group.h>
 #include <clutter/clutter-stage.h>
 #include <gdk/gdk.h>
 
diff --git a/clutter/wayland/clutter-backend-wayland.c b/clutter/wayland/clutter-backend-wayland.c
index ddfff03..77ed8c4 100644
--- a/clutter/wayland/clutter-backend-wayland.c
+++ b/clutter/wayland/clutter-backend-wayland.c
@@ -46,7 +46,6 @@
 #include "wayland/clutter-device-manager-wayland.h"
 #include "wayland/clutter-event-wayland.h"
 #include "wayland/clutter-stage-wayland.h"
-#include "wayland/clutter-wayland.h"
 #include "cogl/clutter-stage-cogl.h"
 
 #include <wayland-client.h>
@@ -60,9 +59,6 @@
 
 G_DEFINE_TYPE (ClutterBackendWayland, clutter_backend_wayland, CLUTTER_TYPE_BACKEND);
 
-static struct wl_display *_foreign_display = NULL;
-static gboolean _no_event_dispatch = FALSE;
-
 static void clutter_backend_wayland_load_cursor (ClutterBackendWayland *backend_wayland);
 
 static void
@@ -179,10 +175,7 @@ clutter_backend_wayland_post_parse (ClutterBackend  *backend,
   ClutterBackendWayland *backend_wayland = CLUTTER_BACKEND_WAYLAND (backend);
 
   /* TODO: expose environment variable/commandline option for this... */
-  backend_wayland->wayland_display = _foreign_display;
-  if (backend_wayland->wayland_display == NULL)
-    backend_wayland->wayland_display = wl_display_connect (NULL);
-
+  backend_wayland->wayland_display = wl_display_connect (NULL);
   if (!backend_wayland->wayland_display)
     {
       g_set_error (error, CLUTTER_INIT_ERROR,
@@ -241,7 +234,6 @@ clutter_backend_wayland_get_renderer (ClutterBackend  *backend,
 
   renderer = cogl_renderer_new ();
 
-  cogl_wayland_renderer_set_event_dispatch_enabled (renderer, !_no_event_dispatch);
   cogl_renderer_set_winsys_id (renderer, COGL_WINSYS_ID_EGL_WAYLAND);
 
   cogl_wayland_renderer_set_foreign_display (renderer,
@@ -330,60 +322,3 @@ static void
 clutter_backend_wayland_init (ClutterBackendWayland *backend_wayland)
 {
 }
-
-/**
- * clutter_wayland_set_display
- * @display: pointer to a wayland display
- *
- * Sets the display connection Clutter should use; must be called
- * before clutter_init(), clutter_init_with_args() or other functions
- * pertaining Clutter's initialization process.
- *
- * If you are parsing the command line arguments by retrieving Clutter's
- * #GOptionGroup with clutter_get_option_group() and calling
- * g_option_context_parse() yourself, you should also call
- * clutter_wayland_set_display() before g_option_context_parse().
- *
- * Since: 1.16
- */
-void
-clutter_wayland_set_display (struct wl_display *display)
-{
-  if (_clutter_context_is_initialized ())
-    {
-      g_warning ("%s() can only be used before calling clutter_init()",
-                 G_STRFUNC);
-      return;
-    }
-
-  _foreign_display = display;
-}
-
-/**
- * clutter_wayland_disable_event_retrieval:
- *
- * Disables the dispatch of the events in the main loop.
- *
- * This is useful for integrating Clutter with another library that will do the
- * event dispatch; in general only a single source should be acting on changes
- * on the Wayland file descriptor.
- *
- * <warning>This function can only be called before calling
- * clutter_init().</warning>
- *
- * This function should not be normally used by applications.
- *
- * Since: 1.16
- */
-void
-clutter_wayland_disable_event_retrieval (void)
-{
-  if (_clutter_context_is_initialized ())
-    {
-      g_warning ("%s() can only be used before calling clutter_init()",
-                 G_STRFUNC);
-      return;
-    }
-
-  _no_event_dispatch = TRUE;
-}
diff --git a/clutter/wayland/clutter-event-wayland.c b/clutter/wayland/clutter-event-wayland.c
index 08dfbee..8ba2f3c 100644
--- a/clutter/wayland/clutter-event-wayland.c
+++ b/clutter/wayland/clutter-event-wayland.c
@@ -41,6 +41,7 @@
 typedef struct _ClutterEventSourceWayland
 {
   GSource source;
+  GPollFD pfd;
   struct wl_display *display;
 } ClutterEventSourceWayland;
 
@@ -69,11 +70,12 @@ clutter_event_source_wayland_prepare (GSource *base, gint *timeout)
 static gboolean
 clutter_event_source_wayland_check (GSource *base)
 {
+  ClutterEventSourceWayland *source = (ClutterEventSourceWayland *) base;
   gboolean retval;
 
   _clutter_threads_acquire_lock ();
 
-  retval = clutter_events_pending ();
+  retval = clutter_events_pending () || source->pfd.revents;
 
   _clutter_threads_release_lock ();
 
@@ -85,10 +87,17 @@ clutter_event_source_wayland_dispatch (GSource *base,
                                       GSourceFunc callback,
                                       gpointer data)
 {
+  ClutterEventSourceWayland *source = (ClutterEventSourceWayland *) base;
   ClutterEvent *event;
 
   _clutter_threads_acquire_lock ();
 
+  if (source->pfd.revents)
+    {
+      wl_display_dispatch (source->display);
+      source->pfd.revents = 0;
+    }
+
   event = clutter_event_get ();
 
   if (event)
@@ -120,6 +129,10 @@ _clutter_event_source_wayland_new (struct wl_display *display)
     g_source_new (&clutter_event_source_wayland_funcs,
                   sizeof (ClutterEventSourceWayland));
   source->display = display;
+  source->pfd.fd =
+    wl_display_get_fd (display);
+  source->pfd.events = G_IO_IN | G_IO_ERR;
+  g_source_add_poll (&source->source, &source->pfd);
 
   return &source->source;
 }
diff --git a/clutter/wayland/clutter-input-device-wayland.c b/clutter/wayland/clutter-input-device-wayland.c
index 60920c9..8f08ff6 100644
--- a/clutter/wayland/clutter-input-device-wayland.c
+++ b/clutter/wayland/clutter-input-device-wayland.c
@@ -57,16 +57,6 @@ G_DEFINE_TYPE (ClutterInputDeviceWayland,
                clutter_input_device_wayland,
                CLUTTER_TYPE_INPUT_DEVICE);
 
-/* This gives us a fake time source for higher level abstractions to have an
- * understanding of when an event happens. All that matters are that this is a
- * monotonic increasing millisecond accurate time for events to be compared with.
- */
-static guint32
-_clutter_wayland_get_time (void)
-{
-  return g_get_monotonic_time () / 1000;
-}
-
 static void
 clutter_wayland_handle_motion (void *data,
                                struct wl_pointer *pointer,
@@ -74,18 +64,13 @@ clutter_wayland_handle_motion (void *data,
                                wl_fixed_t x, wl_fixed_t y)
 {
   ClutterInputDeviceWayland *device = data;
-  ClutterStageCogl          *stage_cogl;
+  ClutterStageCogl          *stage_cogl = device->pointer_focus;
   ClutterEvent              *event;
 
-  if (!device->pointer_focus)
-    return;
-
-  stage_cogl = device->pointer_focus;
-
   event = clutter_event_new (CLUTTER_MOTION);
   event->motion.stage = stage_cogl->wrapper;
   event->motion.device = CLUTTER_INPUT_DEVICE (device);
-  event->motion.time = _clutter_wayland_get_time();
+  event->motion.time = _time;
   event->motion.modifier_state = 0;
   event->motion.x = wl_fixed_to_double(x);
   event->motion.y = wl_fixed_to_double(y);
@@ -103,15 +88,10 @@ clutter_wayland_handle_button (void *data,
                                uint32_t button, uint32_t state)
 {
   ClutterInputDeviceWayland *device = data;
-  ClutterStageCogl          *stage_cogl;
+  ClutterStageCogl          *stage_cogl = device->pointer_focus;
   ClutterEvent              *event;
   ClutterEventType           type;
 
-  if (!device->pointer_focus)
-    return;
-
-  stage_cogl = device->pointer_focus;
-
   if (state)
     type = CLUTTER_BUTTON_PRESS;
   else
@@ -120,7 +100,7 @@ clutter_wayland_handle_button (void *data,
   event = clutter_event_new (type);
   event->button.stage = stage_cogl->wrapper;
   event->button.device = CLUTTER_INPUT_DEVICE (device);
-  event->button.time = _clutter_wayland_get_time();
+  event->button.time = /*_time*/ serial;
   event->button.x = device->x;
   event->button.y = device->y;
   event->button.modifier_state =
@@ -150,16 +130,12 @@ clutter_wayland_handle_axis (void *data,
                              wl_fixed_t value)
 {
   ClutterInputDeviceWayland *device = data;
-  ClutterStageCogl          *stage_cogl;
+  ClutterStageCogl          *stage_cogl = device->pointer_focus;
   ClutterEvent              *event;
   gdouble                    delta_x, delta_y;
 
-  if (!device->pointer_focus)
-    return;
-
-  stage_cogl = device->pointer_focus;
   event = clutter_event_new (CLUTTER_SCROLL);
-  event->scroll.time = _clutter_wayland_get_time();
+  event->scroll.time = time;
   event->scroll.stage = stage_cogl->wrapper;
   event->scroll.direction = CLUTTER_SCROLL_SMOOTH;
   event->scroll.x = device->x;
@@ -286,16 +262,13 @@ clutter_wayland_handle_key (void *data,
   ClutterStageCogl          *stage_cogl = device->keyboard_focus;
   ClutterEvent              *event;
 
-  if (!device->keyboard_focus)
-    return;
   if (!device->xkb)
     return;
 
   event = _clutter_key_event_new_from_evdev ((ClutterInputDevice *) device,
                                              stage_cogl->wrapper,
                                              device->xkb,
-                                             _clutter_wayland_get_time(),
-                                             key, state);
+                                             _time, key, state);
 
   _clutter_event_push (event, FALSE);
 
@@ -356,9 +329,6 @@ clutter_wayland_handle_pointer_enter (void *data,
   ClutterBackend            *backend;
   ClutterBackendWayland     *backend_wayland;
 
-  if (!CLUTTER_IS_STAGE_COGL (wl_surface_get_user_data (surface)))
-    return;
-
   stage_cogl = wl_surface_get_user_data (surface);
 
   device->pointer_focus = stage_cogl;
@@ -367,7 +337,7 @@ clutter_wayland_handle_pointer_enter (void *data,
 
   event = clutter_event_new (CLUTTER_ENTER);
   event->crossing.stage = stage_cogl->wrapper;
-  event->crossing.time = _clutter_wayland_get_time();
+  event->crossing.time = 0; /* ?! */
   event->crossing.x = wl_fixed_to_double(x);
   event->crossing.y = wl_fixed_to_double(y);
   event->crossing.source = CLUTTER_ACTOR (stage_cogl->wrapper);
@@ -410,18 +380,12 @@ clutter_wayland_handle_pointer_leave (void *data,
   ClutterStageCogl          *stage_cogl;
   ClutterEvent              *event;
 
-  if (surface == NULL)
-    return;
-
-  if (!CLUTTER_IS_STAGE_COGL (wl_surface_get_user_data (surface)))
-    return;
-
   stage_cogl = wl_surface_get_user_data (surface);
   g_assert (device->pointer_focus == stage_cogl);
 
   event = clutter_event_new (CLUTTER_LEAVE);
   event->crossing.stage = stage_cogl->wrapper;
-  event->crossing.time = _clutter_wayland_get_time();
+  event->crossing.time = 0; /* ?! */
   event->crossing.x = device->x;
   event->crossing.y = device->y;
   event->crossing.source = CLUTTER_ACTOR (stage_cogl->wrapper);
@@ -443,9 +407,6 @@ clutter_wayland_handle_keyboard_enter (void *data,
   ClutterInputDeviceWayland *device = data;
   ClutterStageCogl          *stage_cogl;
 
-  if (!CLUTTER_IS_STAGE_COGL (wl_surface_get_user_data (surface)))
-    return;
-
   stage_cogl = wl_surface_get_user_data (surface);
   g_assert (device->keyboard_focus == NULL);
   device->keyboard_focus = stage_cogl;
@@ -464,11 +425,6 @@ clutter_wayland_handle_keyboard_leave (void *data,
   ClutterInputDeviceWayland *device = data;
   ClutterStageCogl          *stage_cogl;
 
-  if (!surface)
-    return;
-  if (!CLUTTER_IS_STAGE_COGL (wl_surface_get_user_data (surface)))
-    return;
-
   stage_cogl = wl_surface_get_user_data (surface);
   g_assert (device->keyboard_focus == stage_cogl);
 
@@ -569,7 +525,8 @@ clutter_input_device_wayland_init (ClutterInputDeviceWayland *self)
 }
 
 /**
- * clutter_wayland_input_device_get_wl_seat: (skip)
+ * clutter_wayland_input_device_get_wl_input_device: (skip)
+ *
  * @device: a #ClutterInputDevice
  *
  * Access the underlying data structure representing the Wayland device that is
@@ -581,7 +538,7 @@ clutter_input_device_wayland_init (ClutterInputDeviceWayland *self)
  * Returns: (transfer none): the Wayland input device associated with the
  * @device
  *
- *
+ * Since: 1.10
  */
 struct wl_seat *
 clutter_wayland_input_device_get_wl_seat (ClutterInputDevice *device)
diff --git a/clutter/wayland/clutter-stage-wayland.c b/clutter/wayland/clutter-stage-wayland.c
index 33e3fc5..2a3346b 100644
--- a/clutter/wayland/clutter-stage-wayland.c
+++ b/clutter/wayland/clutter-stage-wayland.c
@@ -113,17 +113,15 @@ clutter_stage_wayland_realize (ClutterStageWindow *stage_window)
 
   wl_surface = cogl_wayland_onscreen_get_surface (stage_cogl->onscreen);
   wl_surface_set_user_data (wl_surface, stage_wayland);
-  stage_wayland->wayland_surface = wl_surface;
 
-  if (!stage_wayland->foreign_wl_surface)
-    {
-      wl_shell_surface =
-        cogl_wayland_onscreen_get_shell_surface (stage_cogl->onscreen);
-      wl_shell_surface_add_listener (wl_shell_surface,
-                                     &shell_surface_listener,
-                                     stage_wayland);
-      stage_wayland->wayland_shell_surface = wl_shell_surface;
-    }
+  wl_shell_surface =
+    cogl_wayland_onscreen_get_shell_surface (stage_cogl->onscreen);
+  wl_shell_surface_add_listener (wl_shell_surface,
+                                 &shell_surface_listener,
+                                 stage_wayland);
+
+  stage_wayland->wayland_surface = wl_surface;
+  stage_wayland->wayland_shell_surface = wl_shell_surface;
 
   if (stage_wayland->fullscreen)
     clutter_stage_wayland_set_fullscreen (stage_window, TRUE);
@@ -136,15 +134,9 @@ clutter_stage_wayland_show (ClutterStageWindow *stage_window,
                             gboolean            do_raise)
 {
   ClutterStageCogl *stage_cogl = CLUTTER_STAGE_COGL (stage_window);
-  ClutterStageWayland *stage_wayland = CLUTTER_STAGE_WAYLAND (stage_window);
 
   clutter_stage_window_parent_iface->show (stage_window, do_raise);
 
-  if (stage_wayland->wayland_shell_surface)
-    wl_shell_surface_set_toplevel (stage_wayland->wayland_shell_surface);
-
-  stage_wayland->shown = TRUE;
-
   /* We need to queue a redraw after the stage is shown because all of
    * the other queue redraws up to this point will have been ignored
    * because the actor was not visible. The other backends do not need
@@ -165,7 +157,7 @@ clutter_stage_wayland_set_fullscreen (ClutterStageWindow *stage_window,
 
   stage_wayland->fullscreen = fullscreen;
 
-  if (!stage_wayland->wayland_shell_surface)
+  if (!stage_wayland->wayland_shell_surface) /* Not realized yet */
     return;
 
   if (fullscreen)
@@ -207,16 +199,12 @@ clutter_stage_wayland_resize (ClutterStageWindow *stage_window,
                               gint                height)
 {
   ClutterStageCogl *stage_cogl = CLUTTER_STAGE_COGL (stage_window);
-  ClutterStageWayland *stage_wayland = CLUTTER_STAGE_WAYLAND (stage_window);
 
   /* Resize preserving top left */
   if (stage_cogl->onscreen)
     {
       cogl_wayland_onscreen_resize (stage_cogl->onscreen, width, height, 0, 0);
-
-      /* Only trigger a redraw if the stage window has been shown */
-      if (stage_wayland->shown)
-        _clutter_stage_window_redraw (stage_window);
+      _clutter_stage_window_redraw (stage_window);
     }
 }
 
@@ -243,6 +231,7 @@ clutter_stage_wayland_class_init (ClutterStageWaylandClass *klass)
 
 /**
  * clutter_wayland_stage_get_wl_shell_surface: (skip)
+ *
  * @stage: a #ClutterStage
  *
  * Access the underlying data structure representing the shell surface that is
@@ -251,10 +240,10 @@ clutter_stage_wayland_class_init (ClutterStageWaylandClass *klass)
  * Note: this function can only be called when running on the Wayland
  * platform. Calling this function at any other time will return %NULL.
  *
- * Returns: (transfer none): the Wayland shell surface associated with
+ * Returns: (transfer non): the Wayland shell surface associated with
  * @stage
  *
- *
+ * Since: 1.10
  */
 struct wl_shell_surface *
 clutter_wayland_stage_get_wl_shell_surface (ClutterStage *stage)
@@ -272,6 +261,7 @@ clutter_wayland_stage_get_wl_shell_surface (ClutterStage *stage)
 
 /**
  * clutter_wayland_stage_get_wl_surface: (skip)
+ *
  * @stage: a #ClutterStage
  *
  * Access the underlying data structure representing the surface that is
@@ -281,8 +271,6 @@ clutter_wayland_stage_get_wl_shell_surface (ClutterStage *stage)
  * platform. Calling this function at any other time will return %NULL.
  *
  * Returns: (transfer none): the Wayland surface associated with @stage
- *
- * Since: 1.10
  */
 struct wl_surface *
 clutter_wayland_stage_get_wl_surface (ClutterStage *stage)
@@ -298,50 +286,3 @@ clutter_wayland_stage_get_wl_surface (ClutterStage *stage)
   return stage_wayland->wayland_surface;
 
 }
-
-/**
- * clutter_wayland_stage_set_wl_surface:
- * @stage: a #ClutterStage
- * @surface: A Wayland surface to associate with the @stage.
- *
- * Allows you to explicitly provide an existing Wayland surface to associate
- * with @stage, preventing Cogl from allocating a surface and shell surface for
- * the stage automatically.
- *
- * This function must be called before @stage is shown.
- *
- * Note: this function can only be called when running on the Wayland
- * platform. Calling this function at any other time has no effect.
- *
- * Since: 1.16
- */
-void
-clutter_wayland_stage_set_wl_surface (ClutterStage *stage,
-                                      struct wl_surface *surface)
-{
-  ClutterStageWindow *stage_window = _clutter_stage_get_window (stage);
-  ClutterStageWayland *stage_wayland;
-  ClutterStageCogl *stage_cogl;
-
-  if (!CLUTTER_IS_STAGE_WAYLAND (stage_window))
-    return;
-
-  stage_cogl = CLUTTER_STAGE_COGL (stage_window);
-
-  if (stage_cogl->onscreen == NULL)
-    {
-      ClutterBackend *backend = clutter_get_default_backend ();
-
-      /* Use the same default dimensions as clutter_stage_cogl_realize() */
-      stage_cogl->onscreen = cogl_onscreen_new (backend->cogl_context,
-                                                800, 600);
-
-      cogl_wayland_onscreen_set_foreign_surface (stage_cogl->onscreen,
-                                                 surface);
-
-      stage_wayland = CLUTTER_STAGE_WAYLAND (stage_window);
-      stage_wayland->foreign_wl_surface = TRUE;
-    }
-  else
-    g_warning (G_STRLOC ": cannot set foreign surface for stage");
-}
diff --git a/clutter/wayland/clutter-stage-wayland.h b/clutter/wayland/clutter-stage-wayland.h
index 3b041c1..3c7eb42 100644
--- a/clutter/wayland/clutter-stage-wayland.h
+++ b/clutter/wayland/clutter-stage-wayland.h
@@ -53,8 +53,6 @@ struct _ClutterStageWayland
   struct wl_surface *wayland_surface;
   struct wl_shell_surface *wayland_shell_surface;
   gboolean fullscreen;
-  gboolean foreign_wl_surface;
-  gboolean shown;
 };
 
 struct _ClutterStageWaylandClass
diff --git a/clutter/wayland/clutter-wayland-surface.c b/clutter/wayland/clutter-wayland-surface.c
index e0b898e..becd917 100644
--- a/clutter/wayland/clutter-wayland-surface.c
+++ b/clutter/wayland/clutter-wayland-surface.c
@@ -225,7 +225,7 @@ set_size (ClutterWaylandSurface *self,
  *
  * Return value: (transfer none): a wl_surface pointer, or %NULL
  *
- *
+ * Since: 1.10
  */
 struct wl_surface *
 clutter_wayland_surface_get_surface (ClutterWaylandSurface *self)
@@ -241,7 +241,7 @@ clutter_wayland_surface_get_surface (ClutterWaylandSurface *self)
  *
  * Sets the Wayland surface to be used by the actor.
  *
- *
+ * Since: 1.10
  */
 void
 clutter_wayland_surface_set_surface (ClutterWaylandSurface *self,
@@ -472,7 +472,7 @@ clutter_wayland_surface_class_init (ClutterWaylandSurfaceClass *klass)
    * then you must also provide your own damage signal handler to
    * queue a redraw that blocks this default behaviour.
    *
-   *
+   * Since: 1.10
    */
   signals[QUEUE_DAMAGE_REDRAW] =
     g_signal_new (g_intern_static_string ("queue-damage-redraw"),
@@ -497,7 +497,7 @@ clutter_wayland_surface_class_init (ClutterWaylandSurfaceClass *klass)
  *
  * Return value: A new #ClutterWaylandSurface representing @surface
  *
- *
+ * Since: 1.8
  * Stability: unstable
  */
 ClutterActor *
@@ -522,7 +522,7 @@ clutter_wayland_surface_new (struct wl_surface *surface)
  * actor @self. This will automatically result in @self being re-drawn
  * with the new buffer contents.
  *
- *
+ * Since: 1.8
  * Stability: unstable
  */
 gboolean
@@ -574,7 +574,7 @@ clutter_wayland_surface_attach_buffer (ClutterWaylandSurface *self,
  * If multiple regions are changed then this should be called multiple
  * times with different damage rectangles.
  *
- *
+ * Since: 1.8
  * Stability: unstable
  */
 void
@@ -640,7 +640,7 @@ clutter_wayland_surface_damage_buffer (ClutterWaylandSurface *self,
  *
  * Return value: (transfer none): a Cogl texture, or %NULL
  *
- *
+ * Since: 1.10
  */
 CoglTexture *
 clutter_wayland_surface_get_cogl_texture (ClutterWaylandSurface *self)
diff --git a/clutter/wayland/clutter-wayland-surface.h b/clutter/wayland/clutter-wayland-surface.h
index a840610..b68483e 100644
--- a/clutter/wayland/clutter-wayland-surface.h
+++ b/clutter/wayland/clutter-wayland-surface.h
@@ -51,7 +51,7 @@ typedef struct _ClutterWaylandSurfacePrivate ClutterWaylandSurfacePrivate;
  *
  * The #ClutterWaylandSurface structure contains only private data
  *
- *
+ * Since: 1.10
  * Stability: unstable
  */
 struct _ClutterWaylandSurface
@@ -68,7 +68,7 @@ struct _ClutterWaylandSurface
  *
  * The #ClutterWaylandSurfaceClass structure contains only private data
  *
- *
+ * Since: 1.10
  * Stability: unstable
  */
 struct _ClutterWaylandSurfaceClass
diff --git a/clutter/wayland/clutter-wayland.h b/clutter/wayland/clutter-wayland.h
index b78bc6e..b9ffb1b 100644
--- a/clutter/wayland/clutter-wayland.h
+++ b/clutter/wayland/clutter-wayland.h
@@ -41,19 +41,8 @@
 G_BEGIN_DECLS
 
 struct wl_seat *clutter_wayland_input_device_get_wl_seat (ClutterInputDevice *device);
-
 struct wl_shell_surface *clutter_wayland_stage_get_wl_shell_surface (ClutterStage *stage);
-
 struct wl_surface *clutter_wayland_stage_get_wl_surface (ClutterStage *stage);
-
-CLUTTER_AVAILABLE_IN_1_16
-void clutter_wayland_stage_set_wl_surface (ClutterStage *stage, struct wl_surface *surface);
-
-CLUTTER_AVAILABLE_IN_1_16
-void clutter_wayland_set_display (struct wl_display *display);
-
-CLUTTER_AVAILABLE_IN_1_16
-void clutter_wayland_disable_event_retrieval (void);
-
 G_END_DECLS
+
 #endif /* __CLUTTER_WAYLAND_H__ */
diff --git a/clutter/win32/clutter-backend-win32.c b/clutter/win32/clutter-backend-win32.c
index d40085e..cb99079 100644
--- a/clutter/win32/clutter-backend-win32.c
+++ b/clutter/win32/clutter-backend-win32.c
@@ -163,7 +163,7 @@ clutter_backend_win32_get_features (ClutterBackend *backend)
  *
  * This function can only be called before calling clutter_init().
  *
- *
+ * Since: 0.8
  */
 void
 clutter_win32_disable_event_retrieval (void)
diff --git a/clutter/win32/clutter-event-win32.c b/clutter/win32/clutter-event-win32.c
index e4453f5..5040111 100644
--- a/clutter/win32/clutter-event-win32.c
+++ b/clutter/win32/clutter-event-win32.c
@@ -343,7 +343,7 @@ get_key_modifier_state (const BYTE *key_states)
  * was not handled at all or if Clutter expects processing to take
  * place.
  *
- *
+ * Since: 1.6
  */
 gboolean
 clutter_win32_handle_event (const MSG *msg)
diff --git a/clutter/win32/clutter-stage-win32.c b/clutter/win32/clutter-stage-win32.c
index b7eae25..bcc39a7 100644
--- a/clutter/win32/clutter-stage-win32.c
+++ b/clutter/win32/clutter-stage-win32.c
@@ -138,26 +138,11 @@ get_full_window_size (ClutterStageWin32 *stage_win32,
     = clutter_stage_get_user_resizable (stage_win32->wrapper);
   /* The window size passed to CreateWindow includes the window
      decorations */
-  gint frame_width, frame_height;
-
-#if !defined (_MSC_VER) || (_MSC_VER < 1700)
-  frame_width = GetSystemMetrics (resizable ? SM_CXSIZEFRAME : SM_CXFIXEDFRAME);
-  frame_height = GetSystemMetrics (resizable ? SM_CYSIZEFRAME : SM_CYFIXEDFRAME);
-#else
-  /* MSVC 2012 and later returns wrong values from GetSystemMetrics()
-   * 
http://connect.microsoft.com/VisualStudio/feedback/details/753224/regression-getsystemmetrics-delivers-different-values
-   *
-   * For AdjustWindowRectEx(), it doesn't matter much whether the Window is resizble.
-   */
-
-  RECT cxrect = {0, 0, 0, 0};
-  AdjustWindowRectEx (&cxrect, WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_THICKFRAME | WS_DLGFRAME, 
FALSE, 0);
-
-  frame_width = abs (cxrect.bottom);
-  frame_height = abs (cxrect.left);
-#endif
-  *width_out = width_in + frame_width * 2;
-  *height_out = height_in + frame_height * 2 + GetSystemMetrics (SM_CYCAPTION);
+  *width_out = width_in + GetSystemMetrics (resizable ? SM_CXSIZEFRAME
+                                           : SM_CXFIXEDFRAME) * 2;
+  *height_out = height_in + GetSystemMetrics (resizable ? SM_CYSIZEFRAME
+                                             : SM_CYFIXEDFRAME) * 2
+    + GetSystemMetrics (SM_CYCAPTION);
 }
 
 void
@@ -676,7 +661,7 @@ clutter_stage_window_iface_init (ClutterStageWindowIface *iface)
  *
  * Return value: An HWND for the stage window.
  *
- *
+ * Since: 0.8
  */
 HWND
 clutter_win32_get_stage_window (ClutterStage *stage)
@@ -701,7 +686,7 @@ clutter_win32_get_stage_window (ClutterStage *stage)
  * Return value: The stage or NULL if a stage does not exist for the
  * window.
  *
- *
+ * Since: 0.8
  */
 ClutterStage *
 clutter_win32_get_stage_from_window (HWND hwnd)
@@ -786,7 +771,7 @@ set_foreign_window_callback (ClutterActor *actor,
  *
  * Return value: %TRUE if foreign window is valid
  *
- *
+ * Since: 0.8
  */
 gboolean
 clutter_win32_set_stage_foreign (ClutterStage *stage,
diff --git a/clutter/x11/clutter-backend-x11.c b/clutter/x11/clutter-backend-x11.c
index feb45f9..b7cfcc4 100644
--- a/clutter/x11/clutter-backend-x11.c
+++ b/clutter/x11/clutter-backend-x11.c
@@ -62,7 +62,6 @@
 #include <cogl/cogl-xlib.h>
 
 #include "clutter-backend.h"
-#include "clutter-color.h"
 #include "clutter-debug.h"
 #include "clutter-device-manager-private.h"
 #include "clutter-event-private.h"
@@ -838,7 +837,7 @@ error_handler(Display     *xdpy,
  *
  * Traps every X error until clutter_x11_untrap_x_errors() is called.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_x11_trap_x_errors (void)
@@ -854,7 +853,7 @@ clutter_x11_trap_x_errors (void)
  *
  * Return value: the trapped error code, or 0 for success
  *
- *
+ * Since: 0.4
  */
 gint
 clutter_x11_untrap_x_errors (void)
@@ -871,7 +870,7 @@ clutter_x11_untrap_x_errors (void)
  *
  * Return value: (transfer none): the default display
  *
- *
+ * Since: 0.6
  */
 Display *
 clutter_x11_get_default_display (void)
@@ -906,7 +905,7 @@ clutter_x11_get_default_display (void)
  * g_option_context_parse() yourself, you should also call
  * clutter_x11_set_display() before g_option_context_parse().
  *
- *
+ * Since: 0.8
  */
 void
 clutter_x11_set_display (Display *xdpy)
@@ -932,6 +931,13 @@ clutter_x11_set_display (Display *xdpy)
  *
  * Since XInput might not be supported by the X server, you might
  * want to use clutter_x11_has_xinput() to see if support was enabled.
+ *
+ * Since: 0.8
+ *
+ * Deprecated: 1.14: This function does not do anything; XInput support
+ *   is enabled by default in Clutter. Use the CLUTTER_DISABLE_XINPUT
+ *   environment variable to disable XInput support and use Xlib core
+ *   events instead.
  */
 void
 clutter_x11_enable_xinput (void)
@@ -961,7 +967,7 @@ clutter_x11_enable_xinput (void)
  *
  * This function should not be normally used by applications.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_x11_disable_event_retrieval (void)
@@ -983,7 +989,7 @@ clutter_x11_disable_event_retrieval (void)
  *
  * Return value: TRUE if event retrival has been disabled. FALSE otherwise.
  *
- *
+ * Since: 0.8
  */
 gboolean
 clutter_x11_has_event_retrieval (void)
@@ -998,7 +1004,7 @@ clutter_x11_has_event_retrieval (void)
  *
  * Return value: the number of the default screen
  *
- *
+ * Since: 0.6
  */
 int
 clutter_x11_get_default_screen (void)
@@ -1027,7 +1033,7 @@ clutter_x11_get_default_screen (void)
  *
  * Return value: the id of the root window
  *
- *
+ * Since: 0.6
  */
 Window
 clutter_x11_get_root_window (void)
@@ -1056,7 +1062,7 @@ clutter_x11_get_root_window (void)
  *
  * Adds an event filter function.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_x11_add_filter (ClutterX11FilterFunc func,
@@ -1099,7 +1105,7 @@ clutter_x11_add_filter (ClutterX11FilterFunc func,
  *
  * Removes the given filter function.
  *
- *
+ * Since: 0.6
  */
 void
 clutter_x11_remove_filter (ClutterX11FilterFunc func,
@@ -1148,12 +1154,39 @@ clutter_x11_remove_filter (ClutterX11FilterFunc func,
 }
 
 /**
+ * clutter_x11_get_input_devices:
+ *
+ * Retrieves a pointer to the list of input devices
+ *
+ * Deprecated: 1.2: Use clutter_device_manager_peek_devices() instead
+ *
+ * Since: 0.8
+ *
+ * Return value: (transfer none) (element-type Clutter.InputDevice): a
+ *   pointer to the internal list of input devices; the returned list is
+ *   owned by Clutter and should not be modified or freed
+ */
+const GSList *
+clutter_x11_get_input_devices (void)
+{
+  ClutterDeviceManager *manager;
+
+  manager = clutter_device_manager_get_default ();
+  if (manager == NULL)
+    return NULL;
+
+  return clutter_device_manager_peek_devices (manager);
+}
+
+/**
  * clutter_x11_has_xinput:
  *
  * Gets whether Clutter has XInput support.
  *
  * Return value: %TRUE if Clutter was compiled with XInput support
  *   and XInput support is available at run time.
+ *
+ * Since: 0.8
  */
 gboolean
 clutter_x11_has_xinput (void)
@@ -1243,7 +1276,7 @@ clutter_x11_has_composite_extension (void)
  * <note>This function can only be called once, and before clutter_init() is
  * called.</note>
  *
- *
+ * Since: 1.2
  */
 void
 clutter_x11_set_use_argb_visual (gboolean use_argb)
@@ -1268,7 +1301,7 @@ clutter_x11_set_use_argb_visual (gboolean use_argb)
  *
  * Return value: %TRUE if ARGB visuals are queried by default
  *
- *
+ * Since: 1.2
  */
 gboolean
 clutter_x11_get_use_argb_visual (void)
@@ -1292,7 +1325,7 @@ _clutter_backend_x11_get_visual_info (ClutterBackendX11 *backend_x11)
  *   <varname>None</varname>. The returned value should be freed using XFree()
  *   when done
  *
- *
+ * Since: 1.2
  */
 XVisualInfo *
 clutter_x11_get_visual_info (void)
diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c
index c77415c..6a06cec 100644
--- a/clutter/x11/clutter-device-manager-xi2.c
+++ b/clutter/x11/clutter-device-manager-xi2.c
@@ -36,7 +36,6 @@
 #include "clutter-device-manager-private.h"
 #include "clutter-event-private.h"
 #include "clutter-event-translator.h"
-#include "clutter-keysyms.h"
 #include "clutter-stage-private.h"
 #include "clutter-private.h"
 
@@ -402,9 +401,7 @@ translate_hierarchy_event (ClutterBackendX11       *backend_x11,
 
   for (i = 0; i < ev->num_info; i++)
     {
-      if (ev->info[i].flags & XIDeviceEnabled &&
-          !g_hash_table_lookup (manager_xi2->devices_by_id,
-                                GINT_TO_POINTER (ev->info[i].deviceid)))
+      if (ev->info[i].flags & XIDeviceEnabled)
         {
           XIDeviceInfo *info;
           int n_devices;
@@ -1385,9 +1382,6 @@ clutter_device_manager_xi2_constructed (GObject *gobject)
     {
       XIDeviceInfo *xi_device = &info[i];
 
-      if (!xi_device->enabled)
-        continue;
-
       add_device (manager_xi2, backend_x11, xi_device, TRUE);
 
       if (xi_device->use == XIMasterPointer ||
diff --git a/clutter/x11/clutter-event-x11.c b/clutter/x11/clutter-event-x11.c
index f1d9953..9eedbcd 100644
--- a/clutter/x11/clutter-event-x11.c
+++ b/clutter/x11/clutter-event-x11.c
@@ -157,7 +157,7 @@ _clutter_x11_event_source_new (ClutterBackendX11 *backend_x11)
  *  any exclusive action. %CLUTTER_X11_FILTER_TRANSLATE will not
  *  occur.
  *
- *
+ * Since: 0.8
  */
 ClutterX11FilterReturn
 clutter_x11_handle_event (XEvent *xevent)
@@ -340,7 +340,7 @@ clutter_event_dispatch (GSource     *source,
  *
  * Return value: a timestamp, in milliseconds
  *
- *
+ * Since: 1.0
  */
 Time
 clutter_x11_get_current_event_time (void)
@@ -358,7 +358,7 @@ clutter_x11_get_current_event_time (void)
  *
  * Return value: the group id
  *
- *
+ * Since: 1.4
  */
 gint
 clutter_x11_event_get_key_group (const ClutterEvent *event)
@@ -383,6 +383,8 @@ clutter_x11_event_get_key_group (const ClutterEvent *event)
  * Retrieves the touch detail froma #ClutterEventSequence.
  *
  * Return value: the touch detail
+ *
+ * Since: 1.12
  */
 guint
 clutter_x11_event_sequence_get_touch_detail (const ClutterEventSequence *sequence)
diff --git a/clutter/x11/clutter-glx-texture-pixmap.c b/clutter/x11/clutter-glx-texture-pixmap.c
index cd97643..33166df 100644
--- a/clutter/x11/clutter-glx-texture-pixmap.c
+++ b/clutter/x11/clutter-glx-texture-pixmap.c
@@ -86,7 +86,7 @@ clutter_glx_texture_pixmap_class_init (ClutterGLXTexturePixmapClass *klass)
  * Deprecated: 1.6: Use cogl_texture_pixmap_x11_is_using_tfp_extension()
  *   on the texture handle instead.
  *
- *
+ * Since: 0.8
  */
 gboolean
 clutter_glx_texture_pixmap_using_extension (ClutterGLXTexturePixmap *texture)
@@ -109,7 +109,7 @@ clutter_glx_texture_pixmap_using_extension (ClutterGLXTexturePixmap *texture)
  *
  * Return value: A new #ClutterGLXTexturePixmap bound to the given X Pixmap
  *
- *
+ * Since: 0.8
  *
  * Deprecated: 1.6: Use clutter_x11_texture_pixmap_new_with_pixmap() instead
  */
@@ -129,7 +129,7 @@ clutter_glx_texture_pixmap_new_with_pixmap (Pixmap pixmap)
  *
  * Return value: A new #ClutterGLXTexturePixmap bound to the given X window
  *
- *
+ * Since: 0.8
  *
  * Deprecated: 1.6: Use clutter_x11_texture_pixmap_new_with_window() instead
  */
@@ -148,7 +148,7 @@ clutter_glx_texture_pixmap_new_with_window (Window window)
  *
  * Return value: A new #ClutterGLXTexturePixmap
  *
- *
+ * Since: 0.8
  *
  * Deprecated: 1.6: Use clutter_x11_texture_pixmap_new() instead
  */
diff --git a/clutter/x11/clutter-glx-texture-pixmap.h b/clutter/x11/clutter-glx-texture-pixmap.h
index a9d53e0..1563f92 100644
--- a/clutter/x11/clutter-glx-texture-pixmap.h
+++ b/clutter/x11/clutter-glx-texture-pixmap.h
@@ -46,7 +46,7 @@ typedef struct _ClutterGLXTexturePixmapPrivate ClutterGLXTexturePixmapPrivate;
  *
  * The #ClutterGLXTexturePixmapClass structure contains only private data
  *
- *
+ * Since: 0.8
  *
  * Deprecated: 1.6: Use #ClutterX11TexturePixmapClass instead
  */
@@ -61,7 +61,7 @@ struct _ClutterGLXTexturePixmapClass
  *
  * The #ClutterGLXTexturePixmap structure contains only private data
  *
- *
+ * Since: 0.8
  *
  * Deprecated: 1.6: Use #ClutterX11TexturePixmap instead
  */
diff --git a/clutter/x11/clutter-stage-x11.c b/clutter/x11/clutter-stage-x11.c
index 2c2b6f4..230172c 100644
--- a/clutter/x11/clutter-stage-x11.c
+++ b/clutter/x11/clutter-stage-x11.c
@@ -1258,7 +1258,7 @@ clutter_event_translator_iface_init (ClutterEventTranslatorIface *iface)
  *
  * Return value: An XID for the stage window.
  *
- *
+ * Since: 0.4
  */
 Window
 clutter_x11_get_stage_window (ClutterStage *stage)
@@ -1292,7 +1292,7 @@ clutter_x11_get_stage_window_from_window (Window win)
  * Return value: (transfer none): A #ClutterStage, or% NULL if a stage
  *   does not exist for the window
  *
- *
+ * Since: 0.8
  */
 ClutterStage *
 clutter_x11_get_stage_from_window (Window win)
@@ -1307,6 +1307,37 @@ clutter_x11_get_stage_from_window (Window win)
   return NULL;
 }
 
+/**
+ * clutter_x11_get_stage_visual: (skip)
+ * @stage: a #ClutterStage
+ *
+ * Returns an XVisualInfo suitable for creating a foreign window for the given
+ * stage. NOTE: It doesn't do as the name may suggest, which is return the
+ * XVisualInfo that was used to create an existing window for the given stage.
+ *
+ * XXX: It might be best to deprecate this function and replace with something
+ * along the lines of clutter_backend_x11_get_foreign_visual () or perhaps
+ * clutter_stage_x11_get_foreign_visual ()
+ *
+ * Return value: (transfer full): An XVisualInfo suitable for creating a
+ *   foreign stage. Use XFree() to free the returned value instead
+ *
+ * Deprecated: 1.2: Use clutter_x11_get_visual_info() instead
+ *
+ * Since: 0.4
+ */
+XVisualInfo *
+clutter_x11_get_stage_visual (ClutterStage *stage)
+{
+  ClutterBackend *backend = clutter_get_default_backend ();
+  ClutterBackendX11 *backend_x11;
+
+  g_return_val_if_fail (CLUTTER_IS_BACKEND_X11 (backend), NULL);
+  backend_x11 = CLUTTER_BACKEND_X11 (backend);
+
+  return _clutter_backend_x11_get_visual_info (backend_x11);
+}
+
 typedef struct {
   ClutterStageX11 *stage_x11;
   cairo_rectangle_int_t geom;
@@ -1363,7 +1394,7 @@ set_foreign_window_callback (ClutterActor *actor,
  *
  * Return value: %TRUE if foreign window is valid
  *
- *
+ * Since: 0.4
  */
 gboolean
 clutter_x11_set_stage_foreign (ClutterStage *stage,
diff --git a/clutter/x11/clutter-stage-x11.h b/clutter/x11/clutter-stage-x11.h
index 0450d95..c7a7a1b 100644
--- a/clutter/x11/clutter-stage-x11.h
+++ b/clutter/x11/clutter-stage-x11.h
@@ -22,7 +22,10 @@
 #ifndef __CLUTTER_STAGE_X11_H__
 #define __CLUTTER_STAGE_X11_H__
 
+#include <clutter/clutter-group.h>
 #include <clutter/clutter-stage.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
 
 #include "clutter-backend-x11.h"
 #include "cogl/clutter-stage-cogl.h"
diff --git a/clutter/x11/clutter-x11-texture-pixmap.c b/clutter/x11/clutter-x11-texture-pixmap.c
index 917d17b..62add19 100644
--- a/clutter/x11/clutter-x11-texture-pixmap.c
+++ b/clutter/x11/clutter-x11-texture-pixmap.c
@@ -653,7 +653,7 @@ clutter_x11_texture_pixmap_class_init (ClutterX11TexturePixmapClass *klass)
    * The ::update-area signal is emitted to ask the texture to update its
    * content from its source pixmap.
    *
-   *
+   * Since: 0.8
    */
   signals[UPDATE_AREA] =
       g_signal_new (g_intern_static_string ("update-area"),
@@ -690,7 +690,7 @@ clutter_x11_texture_pixmap_class_init (ClutterX11TexturePixmapClass *klass)
    * then you must also provide your own damage signal handler to
    * queue a redraw that blocks this default behaviour.
    *
-   *
+   * Since: 1.2
    */
   signals[QUEUE_DAMAGE_REDRAW] =
     g_signal_new (g_intern_static_string ("queue-damage-redraw"),
@@ -733,7 +733,7 @@ clutter_x11_texture_pixmap_update_area_real (ClutterX11TexturePixmap *texture,
  *
  * Return value: A new #ClutterX11TexturePixmap
  *
- *
+ * Since: 0.8
  */
 ClutterActor *
 clutter_x11_texture_pixmap_new (void)
@@ -753,7 +753,7 @@ clutter_x11_texture_pixmap_new (void)
  *
  * Return value: A new #ClutterX11TexturePixmap bound to the given X Pixmap
  *
- *
+ * Since: 0.8
  */
 ClutterActor *
 clutter_x11_texture_pixmap_new_with_pixmap (Pixmap pixmap)
@@ -775,7 +775,7 @@ clutter_x11_texture_pixmap_new_with_pixmap (Pixmap pixmap)
  *
  * Return value: A new #ClutterX11TexturePixmap bound to the given X window.
  *
- *
+ * Since: 0.8
  **/
 ClutterActor *
 clutter_x11_texture_pixmap_new_with_window (Window window)
@@ -796,7 +796,7 @@ clutter_x11_texture_pixmap_new_with_window (Window window)
  *
  * Sets the X Pixmap to which the texture should be bound.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_x11_texture_pixmap_set_pixmap (ClutterX11TexturePixmap *texture,
@@ -943,7 +943,7 @@ clutter_x11_texture_pixmap_set_pixmap (ClutterX11TexturePixmap *texture,
  *
  * This function has no effect unless the XComposite extension is available.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_x11_texture_pixmap_set_window (ClutterX11TexturePixmap *texture,
@@ -1136,7 +1136,7 @@ clutter_x11_texture_pixmap_sync_window_internal (ClutterX11TexturePixmap *textur
  * Resets the texture's pixmap from its window, perhaps in response to the
  * pixmap's invalidation as the window changed size.
  *
- *
+ * Since: 0.8
  */
 void
 clutter_x11_texture_pixmap_sync_window (ClutterX11TexturePixmap *texture)
@@ -1218,7 +1218,7 @@ clutter_x11_texture_pixmap_destroyed (ClutterX11TexturePixmap *texture)
  * the pixmap. Can be called to update the texture if the pixmap
  * content has changed.
  *
- *
+ * Since: 0.8
  **/
 void
 clutter_x11_texture_pixmap_update_area (ClutterX11TexturePixmap *texture,
@@ -1246,7 +1246,7 @@ clutter_x11_texture_pixmap_update_area (ClutterX11TexturePixmap *texture,
  * Enables or disables the automatic updates ot @texture in case the backing
  * pixmap or window is damaged
  *
- *
+ * Since: 0.8
  */
 void
 clutter_x11_texture_pixmap_set_automatic (ClutterX11TexturePixmap *texture,
diff --git a/clutter/x11/clutter-x11-texture-pixmap.h b/clutter/x11/clutter-x11-texture-pixmap.h
index 000951c..ee96355 100644
--- a/clutter/x11/clutter-x11-texture-pixmap.h
+++ b/clutter/x11/clutter-x11-texture-pixmap.h
@@ -50,7 +50,7 @@ typedef struct _ClutterX11TexturePixmapPrivate ClutterX11TexturePixmapPrivate;
  *
  * The #ClutterX11TexturePixmap structure contains only private data
  *
- *
+ * Since: 0.8
  */
 struct _ClutterX11TexturePixmap
 {
@@ -66,7 +66,7 @@ struct _ClutterX11TexturePixmap
  *
  * The #ClutterX11TexturePixmapClass structure contains only private data
  *
- *
+ * Since: 0.8
  */
 struct _ClutterX11TexturePixmapClass
 {
diff --git a/clutter/x11/clutter-x11.h b/clutter/x11/clutter-x11.h
index 350ef31..6913280 100644
--- a/clutter/x11/clutter-x11.h
+++ b/clutter/x11/clutter-x11.h
@@ -38,17 +38,11 @@
 #define __CLUTTER_X11_H__
 
 #include <glib.h>
-
-/* Include clutter-types.h conditionally; users including clutter-x11.h will
- * have to include clutter.h as well.
- */
-#ifdef CLUTTER_COMPILATION
-#include <clutter/clutter-types.h>
-#endif
-
 #include <X11/Xlib.h>
 #include <X11/Xatom.h>
 #include <X11/Xutil.h>
+#include <clutter/clutter.h>
+#include <clutter/x11/clutter-x11-texture-pixmap.h>
 
 G_BEGIN_DECLS
 
@@ -62,7 +56,7 @@ G_BEGIN_DECLS
  *
  * Return values for the #ClutterX11FilterFunc function.
  *
- *
+ * Since: 0.6
  */
 typedef enum {
   CLUTTER_X11_FILTER_CONTINUE,
@@ -97,7 +91,7 @@ typedef struct _ClutterX11XInputDevice ClutterX11XInputDevice;
  *
  * Return value: the result of the filtering
  *
- *
+ * Since: 0.6
  */
 typedef ClutterX11FilterReturn (*ClutterX11FilterFunc) (XEvent        *xev,
                                                         ClutterEvent  *cev,
@@ -112,6 +106,9 @@ Window   clutter_x11_get_root_window     (void);
 XVisualInfo *clutter_x11_get_visual_info (void);
 void     clutter_x11_set_display         (Display * xdpy);
 
+CLUTTER_DEPRECATED_FOR(clutter_x11_get_visual_info)
+XVisualInfo *clutter_x11_get_stage_visual  (ClutterStage *stage);
+
 Window       clutter_x11_get_stage_window  (ClutterStage *stage);
 gboolean     clutter_x11_set_stage_foreign (ClutterStage *stage,
                                             Window        xwindow);
@@ -128,6 +125,10 @@ gboolean clutter_x11_has_event_retrieval (void);
 
 ClutterStage *clutter_x11_get_stage_from_window (Window win);
 
+CLUTTER_DEPRECATED_FOR(clutter_device_manager_peek_devices)
+const GSList* clutter_x11_get_input_devices (void);
+
+CLUTTER_DEPRECATED_IN_1_14
 void     clutter_x11_enable_xinput (void);
 gboolean clutter_x11_has_xinput (void);
 
diff --git a/configure.ac b/configure.ac
index b7a7c22..48beaed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@
 # - increase clutter_micro_version to the next odd number
 # - increase clutter_interface_version to the next odd number
 m4_define([clutter_major_version], [1])
-m4_define([clutter_minor_version], [99])
+m4_define([clutter_minor_version], [15])
 m4_define([clutter_micro_version], [1])
 
 # • for stable releases: increase the interface age by 1 for each release;
@@ -43,8 +43,7 @@ m4_define([clutter_release_status],
 m4_define([clutter_version], [clutter_major_version.clutter_minor_version.clutter_micro_version])
 
 # change this only when breaking the API
-m4_define([clutter_api_version], [2.0])
-m4_define([clutter_api_version_am], [2_0])
+m4_define([clutter_api_version], [1.0])
 
 AC_PREREQ([2.63])
 
@@ -67,7 +66,7 @@ AC_SUBST([CLUTTER_MINOR_VERSION],  [clutter_minor_version])
 AC_SUBST([CLUTTER_MICRO_VERSION],  [clutter_micro_version])
 AC_SUBST([CLUTTER_VERSION],        [clutter_version])
 AC_SUBST([CLUTTER_API_VERSION],    [clutter_api_version])
-AC_SUBST([CLUTTER_API_VERSION_AM], [clutter_api_version_am])
+AC_SUBST([CLUTTER_API_VERSION_AM], [$CLUTTER_MAJOR_VERSION\_0])
 AC_SUBST([CLUTTER_RELEASE_STATUS], [clutter_release_status])
 
 m4_define([lt_current],  [m4_eval(100 * clutter_minor_version + clutter_micro_version - 
clutter_interface_age)])
@@ -192,12 +191,6 @@ AC_ARG_ENABLE([Bsymbolic],
 AS_IF([test "x$enable_Bsymbolic" = "xyes"], [CLUTTER_LINK_FLAGS=-Wl[,]-Bsymbolic-functions])
 AC_SUBST(CLUTTER_LINK_FLAGS)
 
-AC_ARG_ENABLE(installed_tests,
-              AS_HELP_STRING([--enable-installed-tests],
-                             [Install test programs (default: no)]),,
-              [enable_installed_tests=no])
-AM_CONDITIONAL(ENABLE_INSTALLED_TESTS, test x$enable_installed_tests = xyes)
-
 AC_CACHE_SAVE
 
 dnl ========================================================================
@@ -1133,7 +1126,7 @@ dnl === I18N ==================================================================
 AM_GNU_GETTEXT_VERSION([0.17])
 AM_GNU_GETTEXT([external])
 
-GETTEXT_PACKAGE="clutter-2.0"
+GETTEXT_PACKAGE="clutter-1.0"
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
                    ["$GETTEXT_PACKAGE"],
@@ -1199,9 +1192,9 @@ AC_CONFIG_FILES([
        doc/Makefile
        doc/reference/Makefile
        doc/reference/clutter/Makefile
-       doc/reference/clutter/clutter2-docs.xml
+       doc/reference/clutter/clutter-docs.xml
        doc/reference/cally/Makefile
-       doc/reference/cally/cally2-docs.xml
+       doc/reference/cally/cally-docs.xml
        doc/common/Makefile
        doc/cookbook/Makefile
        doc/cookbook/clutter-cookbook.xml
diff --git a/doc/cookbook/examples/Makefile.am b/doc/cookbook/examples/Makefile.am
index 410d958..054128f 100644
--- a/doc/cookbook/examples/Makefile.am
+++ b/doc/cookbook/examples/Makefile.am
@@ -129,7 +129,7 @@ ui_data = \
        $(srcdir)/script-ui.json                        \
        $(NULL)
 
-examplesdir = $(datadir)/clutter-2.0/cookbook/examples
+examplesdir = $(datadir)/clutter-1.0/cookbook/examples
 examples_DATA = $(uidata) $(srcdir)/*.c $(srcdir)/*.h
 
 -include $(top_srcdir)/build/autotools/Makefile.am.gitignore
diff --git a/doc/cookbook/examples/events-pointer-motion-scribbler.c 
b/doc/cookbook/examples/events-pointer-motion-scribbler.c
index b3af8e2..4d5168d 100644
--- a/doc/cookbook/examples/events-pointer-motion-scribbler.c
+++ b/doc/cookbook/examples/events-pointer-motion-scribbler.c
@@ -16,7 +16,7 @@ static void
 _convert_clutter_path_node_to_cogl_path (const ClutterPathNode *node,
                                          gpointer               data)
 {
-  ClutterPoint knot;
+  ClutterKnot knot;
 
   g_return_if_fail (node != NULL);
 
@@ -25,12 +25,12 @@ _convert_clutter_path_node_to_cogl_path (const ClutterPathNode *node,
     case CLUTTER_PATH_MOVE_TO:
       knot = node->points[0];
       cogl_path_move_to (knot.x, knot.y);
-      g_debug ("move to %f, %f", knot.x, knot.y);
+      g_debug ("move to %d, %d", knot.x, knot.y);
       break;
     case CLUTTER_PATH_LINE_TO:
       knot = node->points[0];
       cogl_path_line_to (knot.x, knot.y);
-      g_debug ("line to %f, %f", knot.x, knot.y);
+      g_debug ("line to %d, %d", knot.x, knot.y);
       break;
     default:
       break;
diff --git a/doc/cookbook/examples/events-pointer-motion-stacked.c 
b/doc/cookbook/examples/events-pointer-motion-stacked.c
index a03df3e..f92fa02 100644
--- a/doc/cookbook/examples/events-pointer-motion-stacked.c
+++ b/doc/cookbook/examples/events-pointer-motion-stacked.c
@@ -7,6 +7,8 @@
  *
  * but when the pointer is over the overlap between red and green,
  * signals are emitted by green
+ *
+ * gcc -g -O0 -o stacked-actors-and-events stacked-actors-and-events.c `pkg-config --libs --cflags 
clutter-1.0 glib-2.0` -lm
  */
 #include <clutter/clutter.h>
 
diff --git a/doc/cookbook/introduction.xml b/doc/cookbook/introduction.xml
index b176d3d..ee9ac1b 100644
--- a/doc/cookbook/introduction.xml
+++ b/doc/cookbook/introduction.xml
@@ -84,7 +84,7 @@
       <title>Compiling the examples</title>
 
       <para>This document comes with full examples, usually stored
-      on disk in <filename><emphasis>datadir</emphasis>/clutter-2.0/cookbook/examples</filename>
+      on disk in <filename><emphasis>datadir</emphasis>/clutter-1.0/cookbook/examples</filename>
       directory.</para>
 
       <para>Each example can be compiled using:</para>
@@ -92,9 +92,9 @@
       <informalexample>
         <programlisting>
 cc \
-  `pkg-config --cflags clutter-2.0` \
+  `pkg-config --cflags clutter-1.0` \
   -o <emphasis>example</emphasis> <emphasis>example</emphasis>.c \
-  `pkg-config --libs clutter-2.0`
+  `pkg-config --libs clutter-1.0`
         </programlisting>
       </informalexample>
 
diff --git a/doc/reference/cally/Makefile.am b/doc/reference/cally/Makefile.am
index c7ea7cc..797d463 100644
--- a/doc/reference/cally/Makefile.am
+++ b/doc/reference/cally/Makefile.am
@@ -1,12 +1,15 @@
 ## Process this file with automake to produce Makefile.in
 
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
 # This is a blank Makefile.am for using gtk-doc.
 # Copy this to your project's API docs directory and modify the variables to
 # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
 # of using the various options.
 
 # The name of the module, e.g. 'glib'.
-DOC_MODULE=cally2
+DOC_MODULE=cally
 
 # The top-level SGML file. You can change this if you want to.
 DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
diff --git a/doc/reference/cally/cally2-docs.xml.in b/doc/reference/cally/cally-docs.xml.in
similarity index 100%
rename from doc/reference/cally/cally2-docs.xml.in
rename to doc/reference/cally/cally-docs.xml.in
diff --git a/doc/reference/cally/cally2-sections.txt b/doc/reference/cally/cally-sections.txt
similarity index 100%
rename from doc/reference/cally/cally2-sections.txt
rename to doc/reference/cally/cally-sections.txt
diff --git a/doc/reference/cally/cally.types b/doc/reference/cally/cally.types
new file mode 100644
index 0000000..085efc2
--- /dev/null
+++ b/doc/reference/cally/cally.types
@@ -0,0 +1,9 @@
+cally_actor_get_type
+cally_clone_get_type
+cally_group_get_type
+cally_rectangle_get_type
+cally_root_get_type
+cally_stage_get_type
+cally_text_get_type
+cally_texture_get_type
+cally_util_get_type
diff --git a/doc/reference/clutter/Makefile.am b/doc/reference/clutter/Makefile.am
index 595e0ff..0fb0737 100644
--- a/doc/reference/clutter/Makefile.am
+++ b/doc/reference/clutter/Makefile.am
@@ -1,4 +1,4 @@
-DOC_MODULE = clutter2
+DOC_MODULE = clutter
 DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
 
 # The directory containing the source code. Relative to $(srcdir).
@@ -38,11 +38,12 @@ HFILE_GLOB = \
        $(top_srcdir)/clutter/*.h \
        $(top_builddir)/clutter/*.h \
        $(top_srcdir)/clutter/x11/clutter-x11.h \
+       $(top_srcdir)/clutter/x11/clutter-x11-texture-pixmap.h \
+       $(top_srcdir)/clutter/x11/clutter-glx-texture-pixmap.h \
        $(top_srcdir)/clutter/egl/clutter-egl.h \
        $(top_srcdir)/clutter/cex100/clutter-cex100.h \
        $(top_srcdir)/clutter/win32/clutter-win32.h \
        $(top_srcdir)/clutter/gdk/clutter-gdk.h \
-       $(top_srcdir)/clutter/wayland/clutter-wayland.h \
        $(top_srcdir)/clutter/wayland/clutter-wayland-compositor.h \
        $(top_srcdir)/clutter/wayland/clutter-wayland-surface.h
 
@@ -78,6 +79,7 @@ IGNORE_HFILES = \
        clutter-gesture-action-private.h        \
        clutter-id-pool.h               \
        clutter-keysyms.h               \
+       clutter-keysyms-compat.h        \
        clutter-keysyms-table.h         \
        clutter-marshal.h               \
        clutter-master-clock.h          \
@@ -105,11 +107,12 @@ IGNORE_HFILES = \
 
 EXTRA_HFILES = \
         $(top_srcdir)/clutter/x11/clutter-x11.h \
+       $(top_srcdir)/clutter/x11/clutter-x11-texture-pixmap.h \
+       $(top_srcdir)/clutter/x11/clutter-glx-texture-pixmap.h \
        $(top_srcdir)/clutter/egl/clutter-egl.h \
        $(top_srcdir)/clutter/cex100/clutter-cex100.h \
        $(top_srcdir)/clutter/win32/clutter-win32.h \
        $(top_srcdir)/clutter/gdk/clutter-gdk.h \
-       $(top_srcdir)/clutter/wayland/clutter-wayland.h \
        $(top_srcdir)/clutter/wayland/clutter-wayland-compositor.h \
        $(top_srcdir)/clutter/wayland/clutter-wayland-surface.h
 
@@ -140,7 +143,11 @@ content_files = \
        glossary.xml \
        clutter-overview.xml \
        building-clutter.xml \
-       running-clutter.xml
+       running-clutter.xml \
+       migrating-ClutterAnimation.xml \
+       migrating-ClutterBehaviour.xml \
+       migrating-ClutterEffect.xml \
+       migrating-ClutterPath.xml
 
 # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
 # These files must be listed here *and* in content_files
@@ -149,7 +156,11 @@ expand_content_files = \
        glossary.xml \
        clutter-overview.xml \
        building-clutter.xml \
-       running-clutter.xml
+       running-clutter.xml \
+       migrating-ClutterAnimation.xml \
+       migrating-ClutterBehaviour.xml \
+       migrating-ClutterEffect.xml \
+       migrating-ClutterPath.xml
 
 # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
 # Only needed if you are using gtkdoc-scangobj to dynamically query widget
diff --git a/doc/reference/clutter/clutter2-docs.xml.in b/doc/reference/clutter/clutter-docs.xml.in
similarity index 72%
rename from doc/reference/clutter/clutter2-docs.xml.in
rename to doc/reference/clutter/clutter-docs.xml.in
index e0d8794..032f693 100644
--- a/doc/reference/clutter/clutter2-docs.xml.in
+++ b/doc/reference/clutter/clutter-docs.xml.in
@@ -59,6 +59,7 @@
       <xi:include href="xml/clutter-actor.xml"/>
       <xi:include href="xml/clutter-container.xml"/>
       <xi:include href="xml/clutter-child-meta.xml"/>
+      <xi:include href="xml/clutter-media.xml"/>
       <xi:include href="xml/clutter-layout-manager.xml"/>
       <xi:include href="xml/clutter-layout-meta.xml"/>
       <xi:include href="xml/clutter-actor-meta.xml"/>
@@ -71,6 +72,7 @@
     <chapter>
       <title>Base actors</title>
       <xi:include href="xml/clutter-stage.xml"/>
+      <xi:include href="xml/clutter-texture.xml"/>
       <xi:include href="xml/clutter-clone.xml"/>
       <xi:include href="xml/clutter-text.xml"/>
       <xi:include href="xml/clutter-scroll-actor.xml"/>
@@ -182,6 +184,7 @@
       <xi:include href="xml/clutter-stage-manager.xml"/>
       <xi:include href="xml/clutter-text-buffer.xml"/>
       <xi:include href="xml/clutter-units.xml"/>
+      <xi:include href="xml/clutter-util.xml"/>
       <xi:include href="xml/clutter-version.xml"/>
     </chapter>
 
@@ -213,15 +216,54 @@
 
     <xi:include href="xml/clutter-backend.xml"/>
     <xi:include href="xml/clutter-x11.xml"/>
+    <xi:include href="xml/clutter-x11-texture-pixmap.xml"/>
+    <xi:include href="xml/clutter-glx-texture-pixmap.xml"/>
     <xi:include href="xml/clutter-win32.xml"/>
     <xi:include href="xml/clutter-egl.xml"/>
     <xi:include href="xml/clutter-cex100.xml"/>
     <xi:include href="xml/clutter-gdk.xml"/>
-    <xi:include href="xml/clutter-wayland.xml"/>
     <xi:include href="xml/clutter-wayland-compositor.xml"/>
     <xi:include href="xml/clutter-wayland-surface.xml"/>
   </part>
 
+  <part id="migration">
+    <title>Migrating from previous version of Clutter</title>
+
+    <partintro>
+      <part>This section describes the changes that need to be
+      done in applications using Clutter to use new features or
+      to migrate from old, deprecated API to the new ones.</part>
+    </partintro>
+
+    <xi:include href="xml/migrating-ClutterEffect.xml"/>
+    <xi:include href="xml/migrating-ClutterPath.xml"/>
+    <xi:include href="xml/migrating-ClutterBehaviour.xml"/>
+    <xi:include href="xml/migrating-ClutterAnimation.xml"/>
+
+  </part>
+
+  <part id="deprecated">
+    <title>Deprecated Classes</title>
+
+      <xi:include href="xml/clutter-alpha.xml"/>
+      <xi:include href="xml/clutter-animation.xml"/>
+      <xi:include href="xml/clutter-animator.xml"/>
+      <xi:include href="xml/clutter-behaviour.xml"/>
+      <xi:include href="xml/clutter-behaviour-depth.xml"/>
+      <xi:include href="xml/clutter-behaviour-ellipse.xml"/>
+      <xi:include href="xml/clutter-behaviour-opacity.xml"/>
+      <xi:include href="xml/clutter-behaviour-path.xml"/>
+      <xi:include href="xml/clutter-behaviour-rotate.xml"/>
+      <xi:include href="xml/clutter-behaviour-scale.xml"/>
+      <xi:include href="xml/clutter-box.xml"/>
+      <xi:include href="xml/clutter-cairo-texture.xml"/>
+      <xi:include href="xml/clutter-group.xml"/>
+      <xi:include href="xml/clutter-rectangle.xml"/>
+      <xi:include href="xml/clutter-score.xml"/>
+      <xi:include href="xml/clutter-shader.xml"/>
+      <xi:include href="xml/clutter-state.xml"/>
+  </part>
+
   <part id="clutterobjects">
     <title>Clutter Actors and Objects</title>
 
@@ -255,6 +297,66 @@
     <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
   </index>
 
+  <index role="0.2">
+    <title>Index of new symbols in 0.2</title>
+    <xi:include href="xml/api-index-0.2.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="0.4">
+    <title>Index of new symbols in 0.4</title>
+    <xi:include href="xml/api-index-0.4.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="0.6">
+    <title>Index of new symbols in 0.6</title>
+    <xi:include href="xml/api-index-0.6.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="0.8">
+    <title>Index of new symbols in 0.8</title>
+    <xi:include href="xml/api-index-0.8.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.0">
+    <title>Index of new symbols in 1.0</title>
+    <xi:include href="xml/api-index-1.0.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.2">
+    <title>Index of new symbols in 1.2</title>
+    <xi:include href="xml/api-index-1.2.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.4">
+    <title>Index of new symbols in 1.4</title>
+    <xi:include href="xml/api-index-1.4.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.6">
+    <title>Index of new symbols in 1.6</title>
+    <xi:include href="xml/api-index-1.6.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.8">
+    <title>Index of new symbols in 1.8</title>
+    <xi:include href="xml/api-index-1.8.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.10">
+    <title>Index of new symbols in 1.10</title>
+    <xi:include href="xml/api-index-1.10.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.12">
+    <title>Index of new symbols in 1.12</title>
+    <xi:include href="xml/api-index-1.12.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <index role="1.14">
+    <title>Index of new symbols in 1.14</title>
+    <xi:include href="xml/api-index-1.14.xml"><xi:fallback /></xi:include>
+  </index>
+
   <appendix id="license">
     <title>License</title>
 
diff --git a/doc/reference/clutter/clutter2-sections.txt b/doc/reference/clutter/clutter-sections.txt
similarity index 73%
rename from doc/reference/clutter/clutter2-sections.txt
rename to doc/reference/clutter/clutter-sections.txt
index d22ec35..1fd6837 100644
--- a/doc/reference/clutter/clutter2-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -1,4 +1,34 @@
 <SECTION>
+<FILE>clutter-media</FILE>
+<TITLE>ClutterMedia</TITLE>
+ClutterMedia
+ClutterMediaIface
+clutter_media_set_uri
+clutter_media_get_uri
+clutter_media_set_playing
+clutter_media_get_playing
+clutter_media_set_progress
+clutter_media_get_progress
+clutter_media_set_subtitle_uri
+clutter_media_get_subtitle_uri
+clutter_media_set_subtitle_font_name
+clutter_media_get_subtitle_font_name
+clutter_media_set_audio_volume
+clutter_media_get_audio_volume
+clutter_media_get_can_seek
+clutter_media_get_buffer_fill
+clutter_media_get_duration
+clutter_media_set_filename
+<SUBSECTION Standard>
+CLUTTER_MEDIA
+CLUTTER_IS_MEDIA
+CLUTTER_TYPE_MEDIA
+CLUTTER_MEDIA_GET_INTERFACE
+<SUBSECTION Private>
+clutter_media_get_type
+</SECTION>
+
+<SECTION>
 <FILE>clutter-units</FILE>
 <TITLE>Unit conversion</TITLE>
 ClutterUnitType
@@ -40,6 +70,70 @@ clutter_units_pt
 </SECTION>
 
 <SECTION>
+<FILE>clutter-behaviour</FILE>
+<TITLE>ClutterBehaviour</TITLE>
+ClutterBehaviour
+ClutterBehaviourClass
+clutter_behaviour_apply
+clutter_behaviour_remove
+clutter_behaviour_remove_all
+clutter_behaviour_is_applied
+ClutterBehaviourForeachFunc
+clutter_behaviour_actors_foreach
+clutter_behaviour_get_actors
+clutter_behaviour_get_n_actors
+clutter_behaviour_get_nth_actor
+clutter_behaviour_get_alpha
+clutter_behaviour_set_alpha
+<SUBSECTION Standard>
+CLUTTER_BEHAVIOUR
+CLUTTER_IS_BEHAVIOUR
+CLUTTER_TYPE_BEHAVIOUR
+CLUTTER_BEHAVIOUR_CLASS
+CLUTTER_IS_BEHAVIOUR_CLASS
+CLUTTER_BEHAVIOUR_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourPrivate
+clutter_behaviour_get_type
+</SECTION>
+
+<SECTION>
+<FILE>clutter-alpha</FILE>
+<TITLE>ClutterAlpha</TITLE>
+ClutterAlpha
+ClutterAlphaClass
+ClutterAlphaFunc
+clutter_alpha_new
+clutter_alpha_new_full
+clutter_alpha_new_with_func
+clutter_alpha_set_timeline
+clutter_alpha_get_timeline
+clutter_alpha_set_mode
+clutter_alpha_get_mode
+clutter_alpha_get_alpha
+
+<SUBSECTION>
+clutter_alpha_set_func
+clutter_alpha_set_closure
+
+<SUBSECTION>
+clutter_alpha_register_closure
+clutter_alpha_register_func
+
+<SUBSECTION Standard>
+CLUTTER_ALPHA
+CLUTTER_IS_ALPHA
+CLUTTER_TYPE_ALPHA
+CLUTTER_ALPHA_CLASS
+CLUTTER_IS_ALPHA_CLASS
+CLUTTER_ALPHA_GET_CLASS
+
+<SUBSECTION Private>
+ClutterAlphaPrivate
+clutter_alpha_get_type
+</SECTION>
+
+<SECTION>
 <FILE>clutter-clone</FILE>
 <TITLE>ClutterClone</TITLE>
 ClutterClone
@@ -60,10 +154,47 @@ clutter_clone_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-group</FILE>
+<TITLE>ClutterGroup</TITLE>
+ClutterGroup
+ClutterGroupClass
+clutter_group_new
+clutter_group_remove_all
+clutter_group_get_n_children
+clutter_group_get_nth_child
+<SUBSECTION Standard>
+CLUTTER_GROUP
+CLUTTER_IS_GROUP
+CLUTTER_TYPE_GROUP
+CLUTTER_GROUP_CLASS
+CLUTTER_IS_GROUP_CLASS
+CLUTTER_GROUP_GET_CLASS
+<SUBSECTION Private>
+ClutterGroupPrivate
+clutter_group_get_type
+clutter_group_add
+</SECTION>
+
+<SECTION>
 <FILE>clutter-container</FILE>
 <TITLE>ClutterContainer</TITLE>
 ClutterContainer
 ClutterContainerIface
+clutter_container_add_actor
+clutter_container_add
+clutter_container_add_valist
+clutter_container_remove_actor
+clutter_container_remove
+clutter_container_remove_valist
+clutter_container_get_children
+clutter_container_foreach
+clutter_container_foreach_with_internals
+
+<SUBSECTION>
+clutter_container_find_child_by_name
+clutter_container_raise_child
+clutter_container_lower_child
+clutter_container_sort_depth_order
 
 <SUBSECTION>
 clutter_container_class_find_child_property
@@ -107,6 +238,31 @@ clutter_child_meta_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-rectangle</FILE>
+<TITLE>ClutterRectangle</TITLE>
+ClutterRectangle
+ClutterRectangleClass
+clutter_rectangle_new
+clutter_rectangle_new_with_color
+clutter_rectangle_get_color
+clutter_rectangle_set_color
+clutter_rectangle_get_border_color
+clutter_rectangle_set_border_color
+clutter_rectangle_get_border_width
+clutter_rectangle_set_border_width
+<SUBSECTION Standard>
+CLUTTER_RECTANGLE
+CLUTTER_IS_RECTANGLE
+CLUTTER_TYPE_RECTANGLE
+CLUTTER_RECTANGLE_CLASS
+CLUTTER_IS_RECTANGLE_CLASS
+CLUTTER_RECTANGLE_GET_CLASS
+<SUBSECTION Private>
+ClutterRectanglePrivate
+clutter_rectangle_get_type
+</SECTION>
+
+<SECTION>
 <FILE>clutter-actor</FILE>
 <TITLE>ClutterActor</TITLE>
 CLUTTER_ACTOR_SET_FLAGS
@@ -129,10 +285,13 @@ clutter_actor_unset_flags
 clutter_actor_get_flags
 clutter_actor_set_name
 clutter_actor_get_name
+clutter_actor_get_gid
 
 <SUBSECTION>
 clutter_actor_show
+clutter_actor_show_all
 clutter_actor_hide
+clutter_actor_hide_all
 clutter_actor_realize
 clutter_actor_unrealize
 clutter_actor_paint
@@ -154,6 +313,7 @@ clutter_actor_allocate_available_size
 clutter_actor_allocate_align_fill
 clutter_actor_set_allocation
 clutter_actor_get_allocation_box
+clutter_actor_get_allocation_geometry
 clutter_actor_get_allocation_vertices
 clutter_actor_get_preferred_size
 clutter_actor_get_preferred_width
@@ -193,6 +353,8 @@ clutter_actor_set_background_color
 clutter_actor_get_background_color
 
 <SUBSECTION>
+clutter_actor_set_geometry
+clutter_actor_get_geometry
 clutter_actor_set_size
 clutter_actor_get_size
 clutter_actor_set_position
@@ -219,7 +381,6 @@ clutter_actor_get_scale
 clutter_actor_set_scale_z
 clutter_actor_get_scale_z
 clutter_actor_is_scaled
-ClutterRotateAxis
 clutter_actor_set_rotation_angle
 clutter_actor_get_rotation_angle
 clutter_actor_is_rotated
@@ -351,6 +512,39 @@ clutter_actor_get_effects
 clutter_actor_get_effect
 clutter_actor_clear_effects
 
+<SUBSECTION>
+clutter_actor_set_scale_full
+clutter_actor_set_scale_with_gravity
+clutter_actor_get_scale_center
+clutter_actor_get_scale_gravity
+clutter_actor_set_depth
+clutter_actor_get_depth
+clutter_actor_push_internal
+clutter_actor_pop_internal
+clutter_actor_set_parent
+clutter_actor_reparent
+clutter_actor_unparent
+clutter_actor_raise
+clutter_actor_lower
+clutter_actor_raise_top
+clutter_actor_lower_bottom
+clutter_actor_set_shader
+clutter_actor_get_shader
+clutter_actor_set_shader_param
+clutter_actor_set_shader_param_float
+clutter_actor_set_shader_param_int
+clutter_actor_set_anchor_point
+clutter_actor_get_anchor_point
+clutter_actor_set_anchor_point_from_gravity
+clutter_actor_get_anchor_point_gravity
+clutter_actor_move_anchor_point
+clutter_actor_move_anchor_point_from_gravity
+clutter_actor_set_rotation
+clutter_actor_get_rotation
+clutter_actor_set_z_rotation_from_gravity
+clutter_actor_get_z_rotation_gravity
+clutter_actor_get_transformation_matrix
+
 <SUBSECTION Standard>
 CLUTTER_TYPE_MARGIN
 CLUTTER_ACTOR
@@ -368,13 +562,77 @@ clutter_margin_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-texture</FILE>
+<TITLE>ClutterTexture</TITLE>
+ClutterTexture
+ClutterTextureClass
+ClutterTextureFlags
+ClutterTextureQuality
+clutter_texture_new
+clutter_texture_new_from_file
+clutter_texture_new_from_actor
+
+<SUBSECTION>
+CLUTTER_TEXTURE_ERROR
+ClutterTextureError
+clutter_texture_set_from_file
+clutter_texture_set_from_rgb_data
+clutter_texture_set_from_yuv_data
+clutter_texture_set_area_from_rgb_data
+
+<SUBSECTION>
+clutter_texture_get_base_size
+clutter_texture_get_pixel_format
+clutter_texture_get_max_tile_waste
+
+<SUBSECTION>
+clutter_texture_get_filter_quality
+clutter_texture_set_filter_quality
+clutter_texture_get_cogl_texture
+clutter_texture_set_cogl_texture
+clutter_texture_get_cogl_material
+clutter_texture_set_cogl_material
+clutter_texture_get_sync_size
+clutter_texture_set_sync_size
+clutter_texture_get_repeat
+clutter_texture_set_repeat
+clutter_texture_get_keep_aspect_ratio
+clutter_texture_set_keep_aspect_ratio
+clutter_texture_get_load_async
+clutter_texture_set_load_async
+clutter_texture_get_load_data_async
+clutter_texture_set_load_data_async
+clutter_texture_get_pick_with_alpha
+clutter_texture_set_pick_with_alpha
+
+<SUBSECTION Standard>
+CLUTTER_TEXTURE
+CLUTTER_IS_TEXTURE
+CLUTTER_TYPE_TEXTURE
+CLUTTER_TEXTURE_CLASS
+CLUTTER_IS_TEXTURE_CLASS
+CLUTTER_TEXTURE_GET_CLASS
+
+<SUBSECTION Private>
+ClutterTexturePrivate
+clutter_texture_error_quark
+clutter_texture_get_type
+</SECTION>
+
+<SECTION>
 <FILE>clutter-stage</FILE>
 <TITLE>ClutterStage</TITLE>
 ClutterStage
 ClutterStageClass
+CLUTTER_STAGE_WIDTH
+CLUTTER_STAGE_HEIGHT
+clutter_stage_get_default
 clutter_stage_new
+clutter_stage_is_default
 
 <SUBSECTION>
+clutter_stage_set_color
+clutter_stage_get_color
 clutter_stage_set_fullscreen
 clutter_stage_get_fullscreen
 clutter_stage_show_cursor
@@ -384,6 +642,7 @@ clutter_stage_get_actor_at_pos
 clutter_stage_ensure_current
 clutter_stage_ensure_viewport
 clutter_stage_ensure_redraw
+clutter_stage_queue_redraw
 clutter_actor_queue_redraw_with_clip
 clutter_stage_event
 clutter_stage_set_key_focus
@@ -414,6 +673,13 @@ clutter_stage_get_title
 clutter_stage_set_user_resizable
 clutter_stage_get_user_resizable
 
+<SUBSECTION>
+ClutterFog
+clutter_stage_set_use_fog
+clutter_stage_get_use_fog
+clutter_stage_set_fog
+clutter_stage_get_fog
+
 <SUBSECTION Standard>
 CLUTTER_STAGE
 CLUTTER_IS_STAGE
@@ -438,6 +704,7 @@ clutter_stage_add
 ClutterTimeline
 ClutterTimelineClass
 clutter_timeline_new
+clutter_timeline_clone
 
 <SUBSECTION>
 clutter_timeline_set_duration
@@ -463,6 +730,8 @@ ClutterTimelineProgressFunc
 clutter_timeline_set_progress_func
 clutter_timeline_get_duration_hint
 clutter_timeline_get_current_repeat
+clutter_timeline_set_loop
+clutter_timeline_get_loop
 
 <SUBSECTION>
 clutter_timeline_start
@@ -498,6 +767,29 @@ clutter_timeline_do_tick
 </SECTION>
 
 <SECTION>
+<FILE>clutter-behaviour-path</FILE>
+<TITLE>ClutterBehaviourPath</TITLE>
+ClutterBehaviourPath
+ClutterBehaviourPathClass
+clutter_behaviour_path_new
+clutter_behaviour_path_new_with_description
+clutter_behaviour_path_new_with_knots
+clutter_behaviour_path_set_path
+clutter_behaviour_path_get_path
+
+<SUBSECTION Standard>
+CLUTTER_BEHAVIOUR_PATH
+CLUTTER_IS_BEHAVIOUR_PATH
+CLUTTER_TYPE_BEHAVIOUR_PATH
+CLUTTER_BEHAVIOUR_PATH_CLASS
+CLUTTER_IS_BEHAVIOUR_PATH_CLASS
+CLUTTER_BEHAVIOUR_PATH_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourPathPrivate
+clutter_behaviour_path_get_type
+</SECTION>
+
+<SECTION>
 <FILE>clutter-path</FILE>
 <TITLE>ClutterPath</TITLE>
 ClutterPath
@@ -557,13 +849,124 @@ clutter_path_node_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-behaviour-opacity</FILE>
+<TITLE>ClutterBehaviourOpacity</TITLE>
+ClutterBehaviourOpacity
+ClutterBehaviourOpacityClass
+clutter_behaviour_opacity_new
+clutter_behaviour_opacity_set_bounds
+clutter_behaviour_opacity_get_bounds
+<SUBSECTION Standard>
+CLUTTER_BEHAVIOUR_OPACITY
+CLUTTER_IS_BEHAVIOUR_OPACITY
+CLUTTER_TYPE_BEHAVIOUR_OPACITY
+CLUTTER_BEHAVIOUR_OPACITY_CLASS
+CLUTTER_IS_BEHAVIOUR_OPACITY_CLASS
+CLUTTER_BEHAVIOUR_OPACITY_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourOpacityPrivate
+clutter_behaviour_opacity_get_type
+</SECTION>
+
+<SECTION>
+<FILE>clutter-behaviour-rotate</FILE>
+<TITLE>ClutterBehaviourRotate</TITLE>
+ClutterRotateAxis
+ClutterRotateDirection
+ClutterBehaviourRotate
+ClutterBehaviourRotateClass
+clutter_behaviour_rotate_new
+clutter_behaviour_rotate_set_axis
+clutter_behaviour_rotate_get_axis
+clutter_behaviour_rotate_set_direction
+clutter_behaviour_rotate_get_direction
+clutter_behaviour_rotate_set_bounds
+clutter_behaviour_rotate_get_bounds
+clutter_behaviour_rotate_set_center
+clutter_behaviour_rotate_get_center
+<SUBSECTION Standard>
+CLUTTER_TYPE_BEHAVIOUR_ROTATE
+CLUTTER_BEHAVIOUR_ROTATE
+CLUTTER_IS_BEHAVIOUR_ROTATE
+CLUTTER_BEHAVIOUR_ROTATE_CLASS
+CLUTTER_IS_BEHAVIOUR_ROTATE_CLASS
+CLUTTER_BEHAVIOUR_ROTATE_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourRotatePrivate
+clutter_behaviour_rotate_get_type
+</SECTION>
+
+<SECTION>
+<FILE>clutter-behaviour-scale</FILE>
+<TITLE>ClutterBehaviourScale</TITLE>
+ClutterGravity
+ClutterBehaviourScale
+ClutterBehaviourScaleClass
+clutter_behaviour_scale_new
+clutter_behaviour_scale_set_bounds
+clutter_behaviour_scale_get_bounds
+<SUBSECTION Standard>
+CLUTTER_BEHAVIOUR_SCALE
+CLUTTER_IS_BEHAVIOUR_SCALE
+CLUTTER_TYPE_BEHAVIOUR_SCALE
+CLUTTER_BEHAVIOUR_SCALE_CLASS
+CLUTTER_IS_BEHAVIOUR_SCALE_CLASS
+CLUTTER_BEHAVIOUR_SCALE_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourScalePrivate
+clutter_behaviour_scale_get_type
+</SECTION>
+
+<SECTION>
+<FILE>clutter-behaviour-ellipse</FILE>
+<TITLE>ClutterBehaviourEllipse</TITLE>
+ClutterBehaviourEllipse
+ClutterBehaviourEllipseClass
+clutter_behaviour_ellipse_new
+clutter_behaviour_ellipse_set_center
+clutter_behaviour_ellipse_get_center
+clutter_behaviour_ellipse_set_angle_start
+clutter_behaviour_ellipse_get_angle_start
+clutter_behaviour_ellipse_set_angle_end
+clutter_behaviour_ellipse_get_angle_end
+clutter_behaviour_ellipse_set_angle_tilt
+clutter_behaviour_ellipse_get_angle_tilt
+clutter_behaviour_ellipse_set_height
+clutter_behaviour_ellipse_get_height
+clutter_behaviour_ellipse_set_width
+clutter_behaviour_ellipse_get_width
+clutter_behaviour_ellipse_set_tilt
+clutter_behaviour_ellipse_get_tilt
+clutter_behaviour_ellipse_set_direction
+clutter_behaviour_ellipse_get_direction
+<SUBSECTION Standard>
+CLUTTER_TYPE_BEHAVIOUR_ELLIPSE
+CLUTTER_BEHAVIOUR_ELLIPSE
+CLUTTER_BEHAVIOUR_ELLIPSE_CLASS
+CLUTTER_IS_BEHAVIOUR_ELLIPSE
+CLUTTER_IS_BEHAVIOUR_ELLIPSE_CLASS
+CLUTTER_BEHAVIOUR_ELLIPSE_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourEllipsePrivate
+clutter_behaviour_ellipse_get_type
+</SECTION>
+
+
+<SECTION>
 <FILE>clutter-backend</FILE>
 <TITLE>ClutterBackend</TITLE>
 ClutterBackend
 clutter_get_default_backend
+clutter_backend_set_resolution
 clutter_backend_get_resolution
+clutter_backend_set_double_click_time
+clutter_backend_get_double_click_time
+clutter_backend_set_double_click_distance
+clutter_backend_get_double_click_distance
 clutter_backend_set_font_options
 clutter_backend_get_font_options
+clutter_backend_set_font_name
+clutter_backend_get_font_name
 clutter_backend_get_cogl_context
 
 <SUBSECTION>
@@ -582,6 +985,35 @@ clutter_backend_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-util</FILE>
+<TITLE>Utilities</TITLE>
+clutter_util_next_p2
+
+<SUBSECTION>
+clutter_timeout_pool_new
+clutter_timeout_pool_add
+clutter_timeout_pool_remove
+
+<SUBSECTION>
+clutter_frame_source_add
+clutter_frame_source_add_full
+
+<SUBSECTION>
+ClutterParamSpecFixed
+clutter_param_spec_fixed
+CLUTTER_VALUE_HOLDS_FIXED
+clutter_value_set_fixed
+clutter_value_get_fixed
+
+<SUBSECTION Private>
+ClutterTimeoutPool
+CLUTTER_TYPE_PARAM_FIXED
+CLUTTER_PARAM_SPEC_FIXED
+CLUTTER_IS_PARAM_SPEC_FIXED
+clutter_param_fixed_get_type
+</SECTION>
+
+<SECTION>
 <FILE>clutter-feature</FILE>
 <TITLE>Features</TITLE>
 ClutterFeatureFlags
@@ -769,6 +1201,7 @@ clutter_input_device_get_axis_value
 
 <SUBSECTION>
 clutter_input_device_get_coords
+clutter_input_device_get_device_coords
 clutter_input_device_get_pointer_actor
 clutter_input_device_get_pointer_stage
 
@@ -807,6 +1240,9 @@ clutter_device_manager_peek_devices
 clutter_device_manager_get_device
 clutter_device_manager_get_core_device
 
+<SUBSECTION>
+clutter_get_input_device_for_id
+
 <SUBSECTION Standard>
 CLUTTER_TYPE_DEVICE_MANAGER
 CLUTTER_DEVICE_MANAGER
@@ -838,6 +1274,18 @@ clutter_main_quit
 clutter_main_level
 
 <SUBSECTION>
+clutter_get_debug_enabled
+clutter_get_show_fps
+clutter_get_timestamp
+clutter_get_actor_by_gid
+clutter_set_default_frame_rate
+clutter_get_default_frame_rate
+clutter_set_motion_events_enabled
+clutter_get_motion_events_enabled
+clutter_clear_glyph_cache
+ClutterFontFlags
+clutter_set_font_flags
+clutter_get_font_flags
 clutter_get_font_map
 ClutterTextDirection
 clutter_get_default_text_direction
@@ -846,10 +1294,15 @@ clutter_disable_accessibility
 
 <SUBSECTION>
 clutter_threads_set_lock_functions
+clutter_threads_init
+clutter_threads_enter
+clutter_threads_leave
 clutter_threads_add_idle
 clutter_threads_add_idle_full
 clutter_threads_add_timeout
 clutter_threads_add_timeout_full
+clutter_threads_add_frame_source
+clutter_threads_add_frame_source_full
 clutter_threads_add_repaint_func
 ClutterRepaintFlags
 clutter_threads_add_repaint_func_full
@@ -862,6 +1315,8 @@ clutter_grab_keyboard
 clutter_grab_pointer
 clutter_ungrab_keyboard
 clutter_ungrab_pointer
+clutter_grab_pointer_for_device
+clutter_ungrab_pointer_for_device
 
 <SUBSECTION>
 clutter_do_event
@@ -889,6 +1344,7 @@ clutter_x11_handle_event
 clutter_x11_get_default_display
 clutter_x11_get_default_screen
 clutter_x11_get_root_window
+clutter_x11_get_stage_visual
 clutter_x11_get_stage_window
 clutter_x11_set_stage_foreign
 clutter_x11_trap_x_errors
@@ -906,6 +1362,7 @@ clutter_x11_add_filter
 clutter_x11_remove_filter
 
 <SUBSECTION>
+clutter_x11_get_input_devices
 clutter_x11_has_xinput
 clutter_x11_enable_xinput
 clutter_x11_event_get_key_group
@@ -917,14 +1374,53 @@ ClutterX11XInputEventTypes
 </SECTION>
 
 <SECTION>
-<FILE>clutter-wayland</FILE>
-<TITLE>Wayland specific support</TITLE>
-clutter_wayland_input_device_get_wl_seat
-clutter_wayland_stage_get_wl_shell_surface
-clutter_wayland_stage_get_wl_surface
-clutter_wayland_stage_set_wl_surface
-clutter_wayland_set_display
-clutter_wayland_disable_event_retrieval
+<FILE>clutter-x11-texture-pixmap</FILE>
+ClutterX11TexturePixmap
+ClutterX11TexturePixmapClass
+clutter_x11_texture_pixmap_new
+clutter_x11_texture_pixmap_new_with_pixmap
+clutter_x11_texture_pixmap_new_with_window
+clutter_x11_texture_pixmap_set_pixmap
+clutter_x11_texture_pixmap_set_window
+clutter_x11_texture_pixmap_sync_window
+clutter_x11_texture_pixmap_update_area
+clutter_x11_texture_pixmap_set_automatic
+
+<SUBSECTION Standard>
+CLUTTER_X11_TYPE_TEXTURE_PIXMAP
+CLUTTER_X11_TEXTURE_PIXMAP
+CLUTTER_X11_IS_TEXTURE_PIXMAP
+CLUTTER_X11_TEXTURE_PIXMAP_CLASS
+CLUTTER_X11_IS_TEXTURE_PIXMAP_CLASS
+CLUTTER_X11_TEXTURE_PIXMAP_GET_CLASS
+clutter_x11_texture_pixmap_get_type
+
+<SUBSECTION Private>
+ClutterX11TexturePixmapPrivate
+</SECTION>
+
+<SECTION>
+<FILE>clutter-glx-texture-pixmap</FILE>
+ClutterGLXTexturePixmap
+ClutterGLXTexturePixmapClass
+clutter_glx_texture_pixmap_new
+clutter_glx_texture_pixmap_new_with_pixmap
+clutter_glx_texture_pixmap_new_with_window
+
+<SUBSECTION>
+clutter_glx_texture_pixmap_using_extension
+
+<SUBSECTION Standard>
+CLUTTER_GLX_TYPE_TEXTURE_PIXMAP
+CLUTTER_GLX_TEXTURE_PIXMAP
+CLUTTER_GLX_IS_TEXTURE_PIXMAP
+CLUTTER_GLX_TEXTURE_PIXMAP_CLASS
+CLUTTER_GLX_IS_TEXTURE_PIXMAP_CLASS
+CLUTTER_GLX_TEXTURE_PIXMAP_GET_CLASS
+
+<SUBSECTION Private>
+ClutterGLXTexturePixmapPrivate
+clutter_glx_texture_pixmap_get_type
 </SECTION>
 
 <SECTION>
@@ -986,25 +1482,82 @@ CLUTTER_MINOR_VERSION
 CLUTTER_MICRO_VERSION
 CLUTTER_VERSION
 CLUTTER_VERSION_S
+CLUTTER_VERSION_HEX
 
 <SUBSECTION>
 CLUTTER_CHECK_VERSION
 
 <SUBSECTION>
+CLUTTER_FLAVOUR
+CLUTTER_COGL
+CLUTTER_NO_FPU
+
+<SUBSECTION>
+CLUTTER_VERSION_1_0
+CLUTTER_VERSION_1_2
+CLUTTER_VERSION_1_4
+CLUTTER_VERSION_1_6
+CLUTTER_VERSION_1_8
+CLUTTER_VERSION_1_10
+CLUTTER_VERSION_1_12
+CLUTTER_VERSION_1_14
 CLUTTER_VERSION_MAX_ALLOWED
 CLUTTER_VERSION_MIN_REQUIRED
 
 <SUBSECTION>
+clutter_major_version
+clutter_minor_version
+clutter_micro_version
 clutter_check_version
 
 <SUBSECTION Private>
 CLUTTER_VERSION_CUR_STABLE
 CLUTTER_VERSION_PREV_STABLE
+CLUTTER_AVAILABLE_IN_1_0
+CLUTTER_AVAILABLE_IN_1_2
+CLUTTER_AVAILABLE_IN_1_4
+CLUTTER_AVAILABLE_IN_1_6
+CLUTTER_AVAILABLE_IN_1_8
+CLUTTER_AVAILABLE_IN_1_10
+CLUTTER_AVAILABLE_IN_1_12
+CLUTTER_AVAILABLE_IN_1_14
+CLUTTER_DEPRECATED_IN_1_0
+CLUTTER_DEPRECATED_IN_1_0_FOR
+CLUTTER_DEPRECATED_IN_1_2
+CLUTTER_DEPRECATED_IN_1_2_FOR
+CLUTTER_DEPRECATED_IN_1_4
+CLUTTER_DEPRECATED_IN_1_4_FOR
+CLUTTER_DEPRECATED_IN_1_6
+CLUTTER_DEPRECATED_IN_1_6_FOR
+CLUTTER_DEPRECATED_IN_1_8
+CLUTTER_DEPRECATED_IN_1_8_FOR
+CLUTTER_DEPRECATED_IN_1_10
+CLUTTER_DEPRECATED_IN_1_10_FOR
+CLUTTER_DEPRECATED_IN_1_12
+CLUTTER_DEPRECATED_IN_1_12_FOR
+CLUTTER_DEPRECATED_IN_1_14
+CLUTTER_DEPRECATED_IN_1_14_FOR
 CLUTTER_UNAVAILABLE
-CLUTTER_VERSION_2_0
-CLUTTER_AVAILABLE_IN_2_0
-CLUTTER_DEPRECATED_IN_2_0
-CLUTTER_DEPRECATED_IN_2_0_FOR
+</SECTION>
+
+<SECTION>
+<FILE>clutter-behaviour-depth</FILE>
+<TITLE>ClutterBehaviourDepth</TITLE>
+ClutterBehaviourDepth
+ClutterBehaviourDepthClass
+clutter_behaviour_depth_new
+clutter_behaviour_depth_set_bounds
+clutter_behaviour_depth_get_bounds
+<SUBSECTION Standard>
+CLUTTER_BEHAVIOUR_DEPTH
+CLUTTER_IS_BEHAVIOUR_DEPTH
+CLUTTER_TYPE_BEHAVIOUR_DEPTH
+CLUTTER_BEHAVIOUR_DEPTH_CLASS
+CLUTTER_IS_BEHAVIOUR_DEPTH_CLASS
+CLUTTER_BEHAVIOUR_DEPTH_GET_CLASS
+<SUBSECTION Private>
+ClutterBehaviourDepthPrivate
+clutter_behaviour_depth_get_type
 </SECTION>
 
 <SECTION>
@@ -1031,6 +1584,8 @@ clutter_script_list_objects
 ClutterScriptConnectFunc
 clutter_script_connect_signals
 clutter_script_connect_signals_full
+clutter_script_add_states
+clutter_script_get_states
 
 <SUBSECTION>
 clutter_script_get_type_from_name
@@ -1181,6 +1736,153 @@ clutter_list_model_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-score</FILE>
+<TITLE>ClutterScore</TITLE>
+ClutterScore
+ClutterScoreClass
+clutter_score_new
+clutter_score_set_loop
+clutter_score_get_loop
+
+<SUBSECTION>
+clutter_score_append
+clutter_score_append_at_marker
+clutter_score_remove
+clutter_score_remove_all
+clutter_score_get_timeline
+clutter_score_list_timelines
+
+<SUBSECTION>
+clutter_score_start
+clutter_score_pause
+clutter_score_stop
+clutter_score_is_playing
+clutter_score_rewind
+
+<SUBSECTION Standard>
+CLUTTER_IS_SCORE
+CLUTTER_IS_SCORE_CLASS
+CLUTTER_SCORE
+CLUTTER_SCORE_CLASS
+CLUTTER_SCORE_GET_CLASS
+CLUTTER_TYPE_SCORE
+
+<SUBSECTION Private>
+ClutterScorePrivate
+clutter_score_get_type
+</SECTION>
+
+<SECTION>
+<FILE>clutter-shader</FILE>
+<TITLE>Shaders</TITLE>
+ClutterShaderError
+ClutterShader
+ClutterShaderClass
+clutter_shader_new
+clutter_shader_set_vertex_source
+clutter_shader_get_vertex_source
+clutter_shader_set_fragment_source
+clutter_shader_get_fragment_source
+clutter_shader_compile
+clutter_shader_release
+clutter_shader_is_compiled
+clutter_shader_set_is_enabled
+clutter_shader_get_is_enabled
+
+<SUBSECTION>
+clutter_shader_set_uniform
+clutter_shader_get_cogl_program
+clutter_shader_get_cogl_fragment_shader
+clutter_shader_get_cogl_vertex_shader
+
+<SUBSECTION>
+CLUTTER_VALUE_HOLDS_SHADER_FLOAT
+clutter_value_set_shader_float
+clutter_value_get_shader_float
+CLUTTER_VALUE_HOLDS_SHADER_INT
+clutter_value_set_shader_int
+clutter_value_get_shader_int
+CLUTTER_VALUE_HOLDS_SHADER_MATRIX
+clutter_value_set_shader_matrix
+clutter_value_get_shader_matrix
+
+<SUBSECTION Standard>
+CLUTTER_IS_SHADER
+CLUTTER_IS_SHADER_CLASS
+CLUTTER_SHADER
+CLUTTER_SHADER_CLASS
+CLUTTER_SHADER_ERROR
+CLUTTER_SHADER_GET_CLASS
+CLUTTER_TYPE_SHADER
+CLUTTER_TYPE_SHADER_FLOAT
+CLUTTER_TYPE_SHADER_INT
+CLUTTER_TYPE_SHADER_MATRIX
+
+<SUBSECTION Private>
+ClutterShaderPrivate
+clutter_shader_get_type
+ClutterShaderFloat
+clutter_shader_float_get_type
+ClutterShaderInt
+clutter_shader_int_get_type
+ClutterShaderMatrix
+clutter_shader_matrix_get_type
+clutter_shader_error_quark
+</SECTION>
+
+<SECTION>
+<TITLE>Implicit Animations</TITLE>
+<FILE>clutter-animation</FILE>
+ClutterAnimation
+ClutterAnimationClass
+clutter_animation_new
+clutter_animation_set_object
+clutter_animation_get_object
+clutter_animation_set_mode
+clutter_animation_get_mode
+clutter_animation_set_duration
+clutter_animation_get_duration
+clutter_animation_set_loop
+clutter_animation_get_loop
+clutter_animation_set_timeline
+clutter_animation_get_timeline
+clutter_animation_set_alpha
+clutter_animation_get_alpha
+clutter_animation_completed
+
+<SUBSECTION>
+clutter_animation_bind
+clutter_animation_bind_interval
+clutter_animation_update
+clutter_animation_update_interval
+clutter_animation_has_property
+clutter_animation_unbind_property
+clutter_animation_get_interval
+
+<SUBSECTION>
+clutter_actor_animate
+clutter_actor_animate_with_timeline
+clutter_actor_animate_with_alpha
+clutter_actor_animatev
+clutter_actor_animate_with_timelinev
+clutter_actor_animate_with_alphav
+clutter_actor_get_animation
+clutter_actor_detach_animation
+
+<SUBSECTION Standard>
+CLUTTER_TYPE_ANIMATION
+CLUTTER_ANIMATION
+CLUTTER_ANIMATION_CLASS
+CLUTTER_IS_ANIMATION
+CLUTTER_IS_ANIMATION_CLASS
+CLUTTER_ANIMATION_GET_CLASS
+
+<SUBSECTION Private>
+ClutterAnimationPrivate
+clutter_animation_get_type
+</SECTION>
+
+<SECTION>
 <TITLE>Value intervals</TITLE>
 <FILE>clutter-interval</FILE>
 ClutterInterval
@@ -1231,6 +1933,39 @@ clutter_cairo_set_source_color
 </SECTION>
 
 <SECTION>
+<FILE>clutter-cairo-texture</FILE>
+<TITLE>ClutterCairoTexture</TITLE>
+ClutterCairoTexture
+ClutterCairoTextureClass
+clutter_cairo_texture_new
+clutter_cairo_texture_set_surface_size
+clutter_cairo_texture_get_surface_size
+clutter_cairo_texture_set_auto_resize
+clutter_cairo_texture_get_auto_resize
+
+<SUBSECTION>
+clutter_cairo_texture_create
+clutter_cairo_texture_create_region
+
+<SUBSECTION>
+clutter_cairo_texture_invalidate_rectangle
+clutter_cairo_texture_invalidate
+clutter_cairo_texture_clear
+
+<SUBSECTION Standard>
+CLUTTER_TYPE_CAIRO_TEXTURE
+CLUTTER_CAIRO_TEXTURE
+CLUTTER_IS_CAIRO_TEXTURE
+CLUTTER_CAIRO_TEXTURE_CLASS
+CLUTTER_IS_CAIRO_TEXTURE_CLASS
+CLUTTER_CAIRO_TEXTURE_GET_CLASS
+
+<SUBSECTION Private>
+ClutterCairoTexturePrivate
+clutter_cairo_texture_get_type
+</SECTION>
+
+<SECTION>
 <TITLE>ClutterText</TITLE>
 <FILE>clutter-text</FILE>
 ClutterText
@@ -1329,6 +2064,7 @@ clutter_text_get_type
 <TITLE>ClutterAnimatable</TITLE>
 ClutterAnimatable
 ClutterAnimatableIface
+clutter_animatable_animate_property
 clutter_animatable_find_property
 clutter_animatable_get_initial_state
 clutter_animatable_set_final_state
@@ -1401,6 +2137,7 @@ clutter_cex100_get_egl_display
 ClutterStageManager
 ClutterStageManagerClass
 clutter_stage_manager_get_default
+clutter_stage_manager_set_default_stage
 clutter_stage_manager_get_default_stage
 clutter_stage_manager_list_stages
 clutter_stage_manager_peek_stages
@@ -1439,6 +2176,11 @@ clutter_layout_manager_child_get_property
 clutter_layout_manager_find_child_property
 clutter_layout_manager_list_child_properties
 
+<SUBSECTION>
+clutter_layout_manager_begin_animation
+clutter_layout_manager_end_animation
+clutter_layout_manager_get_animation_progress
+
 <SUBSECTION Standard>
 CLUTTER_TYPE_LAYOUT_MANAGER
 CLUTTER_LAYOUT_MANAGER
@@ -1474,9 +2216,13 @@ clutter_fixed_layout_get_type
 <SECTION>
 <TITLE>ClutterBinLayout</TITLE>
 <FILE>clutter-bin-layout</FILE>
+ClutterBinAlignment
 ClutterBinLayout
 ClutterBinLayoutClass
 clutter_bin_layout_new
+clutter_bin_layout_set_alignment
+clutter_bin_layout_get_alignment
+clutter_bin_layout_add
 
 <SUBSECTION Standard>
 CLUTTER_TYPE_BIN_LAYOUT
@@ -1492,6 +2238,37 @@ clutter_bin_layout_get_type
 </SECTION>
 
 <SECTION>
+<TITLE>ClutterBox</TITLE>
+<FILE>clutter-box</FILE>
+ClutterBox
+ClutterBoxClass
+clutter_box_new
+clutter_box_set_layout_manager
+clutter_box_get_layout_manager
+clutter_box_set_color
+clutter_box_get_color
+
+<SUBSECTION>
+clutter_box_pack
+clutter_box_packv
+clutter_box_pack_after
+clutter_box_pack_before
+clutter_box_pack_at
+
+<SUBSECTION Standard>
+CLUTTER_TYPE_BOX
+CLUTTER_BOX
+CLUTTER_BOX_CLASS
+CLUTTER_IS_BOX
+CLUTTER_IS_BOX_CLASS
+CLUTTER_BOX_GET_CLASS
+
+<SUBSECTION Private>
+ClutterBoxPrivate
+clutter_box_get_type
+</SECTION>
+
+<SECTION>
 <TITLE>ClutterLayoutMeta</TITLE>
 <FILE>clutter-layout-meta</FILE>
 ClutterLayoutMeta
@@ -1531,8 +2308,6 @@ clutter_flow_layout_set_column_width
 clutter_flow_layout_get_column_width
 clutter_flow_layout_set_row_height
 clutter_flow_layout_get_row_height
-clutter_flow_layout_set_snap_to_grid
-clutter_flow_layout_get_snap_to_grid
 
 <SUBSECTION Standard>
 CLUTTER_TYPE_FLOW_LAYOUT
@@ -1588,6 +2363,7 @@ clutter_grid_layout_get_type
 <SECTION>
 <TITLE>ClutterBoxLayout</TITLE>
 <FILE>clutter-box-layout</FILE>
+ClutterBoxAlignment
 ClutterBoxLayout
 ClutterBoxLayoutClass
 clutter_box_layout_new
@@ -1600,6 +2376,27 @@ clutter_box_layout_get_homogeneous
 ClutterOrientation
 clutter_box_layout_get_orientation
 clutter_box_layout_set_orientation
+clutter_box_layout_set_vertical
+clutter_box_layout_get_vertical
+
+<SUBSECTION>
+clutter_box_layout_pack
+
+<SUBSECTION>
+clutter_box_layout_set_alignment
+clutter_box_layout_get_alignment
+clutter_box_layout_set_expand
+clutter_box_layout_get_expand
+clutter_box_layout_set_fill
+clutter_box_layout_get_fill
+
+<SUBSECTION>
+clutter_box_layout_set_use_animations
+clutter_box_layout_get_use_animations
+clutter_box_layout_set_easing_duration
+clutter_box_layout_get_easing_duration
+clutter_box_layout_set_easing_mode
+clutter_box_layout_get_easing_mode
 
 <SUBSECTION Standard>
 CLUTTER_TYPE_BOX_LAYOUT
@@ -1616,6 +2413,7 @@ clutter_box_layout_get_type
 
 <SECTION>
 <FILE>clutter-table-layout</FILE>
+ClutterTableAlignment
 ClutterTableLayout
 ClutterTableLayoutClass
 clutter_table_layout_new
@@ -1630,9 +2428,23 @@ clutter_table_layout_get_column_count
 clutter_table_layout_pack
 
 <SUBSECTION>
+clutter_table_layout_set_alignment
+clutter_table_layout_get_alignment
+clutter_table_layout_set_expand
+clutter_table_layout_get_expand
+clutter_table_layout_set_fill
+clutter_table_layout_get_fill
 clutter_table_layout_get_span
 clutter_table_layout_set_span
 
+<SUBSECTION>
+clutter_table_layout_set_use_animations
+clutter_table_layout_get_use_animations
+clutter_table_layout_set_easing_duration
+clutter_table_layout_get_easing_duration
+clutter_table_layout_set_easing_mode
+clutter_table_layout_get_easing_mode
+
 <SUBSECTION Standard>
 CLUTTER_TYPE_TABLE_LAYOUT
 CLUTTER_TABLE_LAYOUT
@@ -1647,6 +2459,56 @@ clutter_table_layout_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-animator</FILE>
+<TITLE>ClutterAnimator</TITLE>
+ClutterAnimator
+ClutterAnimatorClass
+clutter_animator_new
+clutter_animator_set
+clutter_animator_set_key
+clutter_animator_remove_key
+clutter_animator_get_keys
+clutter_animator_start
+clutter_animator_compute_value
+
+<SUBSECTION>
+clutter_animator_set_timeline
+clutter_animator_get_timeline
+clutter_animator_set_duration
+clutter_animator_get_duration
+
+<SUBSECTION>
+clutter_animator_property_set_ease_in
+clutter_animator_property_get_ease_in
+ClutterInterpolation
+clutter_animator_property_set_interpolation
+clutter_animator_property_get_interpolation
+
+<SUBSECTION>
+ClutterAnimatorKey
+clutter_animator_key_get_object
+clutter_animator_key_get_property_name
+clutter_animator_key_get_property_type
+clutter_animator_key_get_mode
+clutter_animator_key_get_progress
+clutter_animator_key_get_value
+
+<SUBSECTION Standard>
+CLUTTER_TYPE_ANIMATOR
+CLUTTER_TYPE_ANIMATOR_KEY
+CLUTTER_ANIMATOR
+CLUTTER_ANIMATOR_CLASS
+CLUTTER_IS_ANIMATOR
+CLUTTER_IS_ANIMATOR_CLASS
+CLUTTER_ANIMATOR_GET_CLASS
+
+<SUBSECTION Private>
+clutter_animator_get_type
+clutter_animator_key_get_type
+ClutterAnimatorPrivate
+</SECTION>
+
+<SECTION>
 <FILE>clutter-actor-meta</FILE>
 <TITLE>ClutterActorMeta</TITLE>
 ClutterActorMeta
@@ -1782,6 +2644,53 @@ clutter_align_constraint_get_type
 </SECTION>
 
 <SECTION>
+<FILE>clutter-state</FILE>
+<TITLE>ClutterState</TITLE>
+ClutterState
+ClutterStateClass
+clutter_state_new
+clutter_state_set_state
+clutter_state_get_state
+clutter_state_warp_to_state
+clutter_state_set
+clutter_state_set_key
+clutter_state_set_duration
+clutter_state_get_duration
+clutter_state_get_states
+clutter_state_get_keys
+clutter_state_remove_key
+clutter_state_get_timeline
+clutter_state_set_animator
+clutter_state_get_animator
+
+<SUBSECTION>
+ClutterStateKey
+clutter_state_key_get_source_state_name
+clutter_state_key_get_target_state_name
+clutter_state_key_get_object
+clutter_state_key_get_property_name
+clutter_state_key_get_mode
+clutter_state_key_get_value
+clutter_state_key_get_property_type
+clutter_state_key_get_pre_delay
+clutter_state_key_get_post_delay
+
+<SUBSECTION Standard>
+CLUTTER_TYPE_STATE
+CLUTTER_TYPE_STATE_KEY
+CLUTTER_STATE
+CLUTTER_STATE_CLASS
+CLUTTER_IS_STATE
+CLUTTER_IS_STATE_CLASS
+CLUTTER_STATE_GET_CLASS
+clutter_state_get_type
+clutter_state_key_get_type
+
+<SUBSECTION Private>
+ClutterStatePrivate
+</SECTION>
+
+<SECTION>
 <FILE>clutter-click-action</FILE>
 <TITLE>ClutterClickAction</TITLE>
 ClutterClickAction
@@ -1864,17 +2773,6 @@ clutter_shader_effect_set_uniform_value
 clutter_shader_effect_set_shader_source
 clutter_shader_effect_get_program
 clutter_shader_effect_get_shader
-<SUBSECTION>
-CLUTTER_VALUE_HOLDS_SHADER_FLOAT
-clutter_value_set_shader_float
-clutter_value_get_shader_float
-CLUTTER_VALUE_HOLDS_SHADER_INT
-clutter_value_set_shader_int
-clutter_value_get_shader_int
-CLUTTER_VALUE_HOLDS_SHADER_MATRIX
-clutter_value_set_shader_matrix
-clutter_value_get_shader_matrix
-
 <SUBSECTION Standard>
 CLUTTER_TYPE_SHADER_EFFECT
 CLUTTER_SHADER_EFFECT
@@ -1882,18 +2780,9 @@ CLUTTER_SHADER_EFFECT_CLASS
 CLUTTER_IS_SHADER_EFFECT
 CLUTTER_IS_SHADER_EFFECT_CLASS
 CLUTTER_SHADER_EFFECT_GET_CLASS
-CLUTTER_TYPE_SHADER_FLOAT
-CLUTTER_TYPE_SHADER_INT
-CLUTTER_TYPE_SHADER_MATRIX
 <SUBSECTION Private>
 ClutterShaderEffectPrivate
-ClutterShaderFloat
-ClutterShaderInt
-ClutterShaderMatrix
 clutter_shader_effect_get_type
-clutter_shader_float_get_type
-clutter_shader_int_get_type
-clutter_shader_matrix_get_type
 </SECTION>
 
 <SECTION>
@@ -2346,6 +3235,8 @@ ClutterSize
 ClutterRect
 ClutterVertex
 ClutterActorBox
+ClutterGeometry
+ClutterKnot
 ClutterPaintVolume
 ClutterMatrix
 
@@ -2449,8 +3340,19 @@ clutter_matrix_init_from_array
 clutter_matrix_init_from_matrix
 clutter_matrix_init_identity
 
+<SUBSECTION>
+clutter_knot_copy
+clutter_knot_free
+clutter_knot_equal
+
+<SUBSECTION>
+clutter_geometry_union
+clutter_geometry_intersects
+
 <SUBSECTION Standard>
 CLUTTER_TYPE_ACTOR_BOX
+CLUTTER_TYPE_GEOMETRY
+CLUTTER_TYPE_KNOT
 CLUTTER_TYPE_MATRIX
 CLUTTER_TYPE_PAINT_VOLUME
 CLUTTER_TYPE_POINT
@@ -2459,6 +3361,8 @@ CLUTTER_TYPE_SIZE
 CLUTTER_TYPE_VERTEX
 <SUBSECTION Private>
 clutter_actor_box_get_type
+clutter_geometry_get_type
+clutter_knot_get_type
 clutter_matrix_get_type
 clutter_paint_volume_get_type
 clutter_point_get_type
diff --git a/doc/reference/clutter/clutter2.types b/doc/reference/clutter/clutter.types
similarity index 78%
rename from doc/reference/clutter/clutter2.types
rename to doc/reference/clutter/clutter.types
index dfd38db..1fd1996 100644
--- a/doc/reference/clutter/clutter2.types
+++ b/doc/reference/clutter/clutter.types
@@ -3,15 +3,27 @@ clutter_action_get_type
 clutter_actor_get_type
 clutter_actor_meta_get_type
 clutter_align_constraint_get_type
+clutter_alpha_get_type
 clutter_animatable_get_type
+clutter_animation_get_type
+clutter_animator_get_type
 clutter_backend_get_type
+clutter_behaviour_depth_get_type
+clutter_behaviour_ellipse_get_type
+clutter_behaviour_get_type
+clutter_behaviour_opacity_get_type
+clutter_behaviour_path_get_type
+clutter_behaviour_rotate_get_type
+clutter_behaviour_scale_get_type
 clutter_bind_constraint_get_type
 clutter_binding_pool_get_type
 clutter_bin_layout_get_type
 clutter_blur_effect_get_type
+clutter_box_get_type
 clutter_box_layout_get_type
 clutter_brightness_contrast_effect_get_type
 clutter_canvas_get_type
+clutter_cairo_texture_get_type
 clutter_child_meta_get_type
 clutter_click_action_get_type
 clutter_clone_get_type
@@ -29,6 +41,7 @@ clutter_fixed_layout_get_type
 clutter_flow_layout_get_type
 clutter_gesture_action_get_type
 clutter_grid_layout_get_type
+clutter_group_get_type
 clutter_image_get_type
 clutter_input_device_get_type
 clutter_interval_get_type
@@ -36,6 +49,7 @@ clutter_keyframe_transition_get_type
 clutter_layout_manager_get_type
 clutter_layout_meta_get_type
 clutter_list_model_get_type
+clutter_media_get_type
 clutter_model_get_type
 clutter_model_iter_get_type
 clutter_offscreen_effect_get_type
@@ -45,20 +59,25 @@ clutter_paint_node_get_type
 clutter_path_constraint_get_type
 clutter_path_get_type
 clutter_property_transition_get_type
+clutter_rectangle_get_type
 clutter_rotate_action_get_type
+clutter_score_get_type
 clutter_scriptable_get_type
 clutter_script_get_type
 clutter_scroll_actor_get_type
 clutter_settings_get_type
+clutter_shader_get_type
 clutter_shader_effect_get_type
 clutter_snap_constraint_get_type
 clutter_stage_get_type
 clutter_stage_manager_get_type
+clutter_state_get_type
 clutter_swipe_action_get_type
 clutter_table_layout_get_type
 clutter_tap_action_get_type
 clutter_text_buffer_get_type
 clutter_text_get_type
+clutter_texture_get_type
 clutter_timeline_get_type
 clutter_transition_get_type
 clutter_transition_group_get_type
diff --git a/doc/reference/clutter/running-clutter.xml b/doc/reference/clutter/running-clutter.xml
index f7b81bf..0469ead 100644
--- a/doc/reference/clutter/running-clutter.xml
+++ b/doc/reference/clutter/running-clutter.xml
@@ -243,8 +243,8 @@
       <title>Configuration File</title>
 
       <para>Clutter will look for files named <filename>settings.ini</filename>
-      located in the <filename>/etc/clutter-2.0</filename> and
-      <filename>$XDG_CONFIG_HOME/clutter-2.0</filename> directories. These files
+      located in the <filename>/etc/clutter-1.0</filename> and
+      <filename>$XDG_CONFIG_HOME/clutter-1.0</filename> directories. These files
       must be valid key files (see #GKeyFile in the GLib documentation) and may
       have three sections:</para>
 
diff --git a/examples/bin-layout.c b/examples/bin-layout.c
index f3bba09..7dc9b96 100644
--- a/examples/bin-layout.c
+++ b/examples/bin-layout.c
@@ -180,8 +180,9 @@ main (int argc, char *argv[])
   clutter_actor_show (stage);
   g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
 
-  /* this is our BinLayout */
-  layout = clutter_bin_layout_new ();
+  /* this is our BinLayout, with its default alignments */
+  layout = clutter_bin_layout_new (CLUTTER_BIN_ALIGNMENT_CENTER,
+                                   CLUTTER_BIN_ALIGNMENT_CENTER);
 
   /* the main container; this actor will use the BinLayout to lay
    * out its children; we use the anchor point to keep it centered
diff --git a/examples/box-layout.c b/examples/box-layout.c
index fc36152..867b9f6 100644
--- a/examples/box-layout.c
+++ b/examples/box-layout.c
@@ -137,6 +137,7 @@ add_actor (ClutterActor *box,
 {
   ClutterActor *rect, *text;
   ClutterColor color;
+  ClutterLayoutManager *layout;
 
   clutter_color_from_hls (&color,
                           g_random_double_range (0.0, 360.0),
@@ -144,8 +145,10 @@ add_actor (ClutterActor *box,
                           0.5);
   color.alpha = 255;
 
+  layout = clutter_bin_layout_new (CLUTTER_BIN_ALIGNMENT_CENTER,
+                                   CLUTTER_BIN_ALIGNMENT_CENTER);
   rect = clutter_actor_new ();
-  clutter_actor_set_layout_manager (rect, clutter_bin_layout_new ());
+  clutter_actor_set_layout_manager (rect, layout);
   clutter_actor_set_background_color (rect, &color);
   clutter_actor_set_reactive (rect, TRUE);
   clutter_actor_set_size (rect, 32, 64);
diff --git a/examples/flow-layout.c b/examples/flow-layout.c
index f688884..f21c3a4 100644
--- a/examples/flow-layout.c
+++ b/examples/flow-layout.c
@@ -9,7 +9,6 @@ static gboolean is_homogeneous = FALSE;
 static gboolean vertical       = FALSE;
 static gboolean random_size    = FALSE;
 static gboolean fixed_size     = FALSE;
-static gboolean snap_to_grid   = TRUE;
 
 static gint     n_rects        = N_RECTS;
 static gint     x_spacing      = 0;
@@ -65,13 +64,6 @@ static GOptionEntry entries[] = {
     &fixed_size,
     "Fix the layout size", NULL
   },
-  {
-    "no-snap-to-grid", 's',
-    G_OPTION_FLAG_REVERSE,
-    G_OPTION_ARG_NONE,
-    &snap_to_grid,
-    "Don't snap elements to grid", NULL
-  },
   { NULL }
 };
 
@@ -110,8 +102,6 @@ main (int argc, char *argv[])
                                           x_spacing);
   clutter_flow_layout_set_row_spacing (CLUTTER_FLOW_LAYOUT (layout),
                                        y_spacing);
-  clutter_flow_layout_set_snap_to_grid (CLUTTER_FLOW_LAYOUT (layout),
-                                        snap_to_grid);
 
   box = clutter_actor_new ();
   clutter_actor_set_layout_manager (box, layout);
diff --git a/examples/grid-layout.c b/examples/grid-layout.c
index 68ae4a4..c47d881 100644
--- a/examples/grid-layout.c
+++ b/examples/grid-layout.c
@@ -199,9 +199,9 @@ add_actor (ClutterActor *box,
            gint          width,
            gint          height)
 {
-  ClutterLayoutManager *layout;
   ClutterActor *rect, *text;
   ClutterColor color;
+  ClutterLayoutManager *layout;
 
   clutter_color_from_hls (&color,
                           g_random_double_range (0.0, 360.0),
@@ -209,8 +209,10 @@ add_actor (ClutterActor *box,
                           0.5);
   color.alpha = 255;
 
+  layout = clutter_bin_layout_new (CLUTTER_BIN_ALIGNMENT_CENTER,
+                                   CLUTTER_BIN_ALIGNMENT_CENTER);
   rect = clutter_actor_new ();
-  clutter_actor_set_layout_manager (rect, clutter_bin_layout_new ());
+  clutter_actor_set_layout_manager (rect, layout);
   clutter_actor_set_background_color (rect, &color);
   clutter_actor_set_reactive (rect, TRUE);
 
@@ -339,9 +341,10 @@ main (int argc, char *argv[])
   clutter_actor_set_x_expand (box, TRUE);
   clutter_actor_set_y_expand (box, TRUE);
   clutter_actor_set_layout_manager (box, grid_layout);
-  clutter_actor_add_child (stage, box);
-  clutter_actor_set_x_align (box, CLUTTER_ACTOR_ALIGN_FILL);
-  clutter_actor_set_y_align (box, CLUTTER_ACTOR_ALIGN_FILL);
+  clutter_box_layout_pack (CLUTTER_BOX_LAYOUT (stage_layout), box,
+                           TRUE, TRUE, TRUE,
+                           CLUTTER_BOX_ALIGNMENT_CENTER,
+                           CLUTTER_BOX_ALIGNMENT_CENTER);
 
   add_actor (box, 0, 0, 1, 1);
   add_actor (box, 1, 0, 1, 1);
@@ -357,9 +360,10 @@ main (int argc, char *argv[])
   clutter_actor_set_margin_top (instructions, 4);
   clutter_actor_set_margin_left (instructions, 4);
   clutter_actor_set_margin_bottom (instructions, 4);
-  clutter_actor_add_child (stage, instructions);
-  clutter_actor_set_x_align (instructions, CLUTTER_ACTOR_ALIGN_FILL);
-  clutter_actor_set_y_align (instructions, CLUTTER_ACTOR_ALIGN_CENTER);
+  clutter_box_layout_pack (CLUTTER_BOX_LAYOUT (stage_layout), instructions,
+                           FALSE, TRUE, FALSE,
+                           CLUTTER_BOX_ALIGNMENT_START,
+                           CLUTTER_BOX_ALIGNMENT_CENTER);
 
   g_signal_connect (stage, "destroy",
                     G_CALLBACK (clutter_main_quit), NULL);
diff --git a/po/Makevars b/po/Makevars
index cf27a75..fd5863b 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -1,7 +1,7 @@
 # Makefile variables for PO directory in any package using GNU gettext.
 
 # Usually the message domain is the same as the package name.
-DOMAIN = clutter-2.0
+DOMAIN = clutter-1.0
 
 # These two variables depend on the location of this directory.
 subdir = po
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 3dc4a06..91c013a 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -53,6 +53,25 @@ clutter/clutter-timeline.c
 clutter/clutter-transition.c
 clutter/clutter-units.c
 clutter/clutter-zoom-action.c
+clutter/deprecated/clutter-alpha.c
+clutter/deprecated/clutter-animation.c
+clutter/deprecated/clutter-animator.c
+clutter/deprecated/clutter-behaviour.c
+clutter/deprecated/clutter-behaviour-depth.c
+clutter/deprecated/clutter-behaviour-ellipse.c
+clutter/deprecated/clutter-behaviour-opacity.c
+clutter/deprecated/clutter-behaviour-path.c
+clutter/deprecated/clutter-behaviour-rotate.c
+clutter/deprecated/clutter-behaviour-scale.c
+clutter/deprecated/clutter-box.c
+clutter/deprecated/clutter-cairo-texture.c
+clutter/deprecated/clutter-fixed.c
+clutter/deprecated/clutter-fixed.h
+clutter/deprecated/clutter-media.c
+clutter/deprecated/clutter-rectangle.c
+clutter/deprecated/clutter-shader.c
+clutter/deprecated/clutter-state.c
+clutter/deprecated/clutter-texture.c
 clutter/evdev/clutter-input-device-evdev.c
 clutter/gdk/clutter-backend-gdk.c
 clutter/wayland/clutter-wayland-surface.c
diff --git a/po/ca.po b/po/ca.po
index c7d0908..03d54c5 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,702 +9,702 @@ msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-05-01 15:08+0000\n"
-"PO-Revision-Date: 2014-03-21 05:55+0100\n"
-"Last-Translator: Pau Iranzo <paugnu gmail com>\n"
+"POT-Creation-Date: 2013-02-21 00:39+0000\n"
+"PO-Revision-Date: 2012-09-21 21:34+0200\n"
+"Last-Translator: Gil Forcada <gilforcada guifi net>\n"
 "Language-Team: Catalan <tradgnome softcatala org>\n"
 "Language: ca\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Transfer-Encoding: 8bits\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ../clutter/clutter-actor.c:6224
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Coordenada X"
 
-#: ../clutter/clutter-actor.c:6225
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Coordenada X de l'actor"
 
-#: ../clutter/clutter-actor.c:6243
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Coordenada Y"
 
-#: ../clutter/clutter-actor.c:6244
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Coordenada Y de l'actor"
 
-#: ../clutter/clutter-actor.c:6266
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Posició"
 
-#: ../clutter/clutter-actor.c:6267
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "La posició de l'origen de l'actor"
 
-#: ../clutter/clutter-actor.c:6284 ../clutter/clutter-canvas.c:247
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Amplada"
 
-#: ../clutter/clutter-actor.c:6285
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Amplada de l'actor"
 
-#: ../clutter/clutter-actor.c:6303 ../clutter/clutter-canvas.c:263
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Alçada"
 
-#: ../clutter/clutter-actor.c:6304
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Alçada de l'actor"
 
-#: ../clutter/clutter-actor.c:6325
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Mida"
 
-#: ../clutter/clutter-actor.c:6326
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "La mida de l'actor"
 
-#: ../clutter/clutter-actor.c:6344
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "X fixada"
 
-#: ../clutter/clutter-actor.c:6345
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Posició X forçada de l'actor"
 
-#: ../clutter/clutter-actor.c:6362
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Y fixada"
 
-#: ../clutter/clutter-actor.c:6363
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Posició Y forçada de l'actor"
 
-#: ../clutter/clutter-actor.c:6378
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Ús de la posició fixa"
 
-#: ../clutter/clutter-actor.c:6379
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Si s'ha d'utilitzar el posicionament fixat per a l'actor"
 
-#: ../clutter/clutter-actor.c:6397
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Amplada mínima"
 
-#: ../clutter/clutter-actor.c:6398
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
-msgstr "Amplada mínima forçada sol·licitada per l'actor"
+msgstr "Amplada mínima forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:6416
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Alçada mínima"
 
-#: ../clutter/clutter-actor.c:6417
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
-msgstr "Alçada mínima forçada sol·licitada per l'actor"
+msgstr "Alçada mínima forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:6435
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Amplada natural"
 
-#: ../clutter/clutter-actor.c:6436
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
-msgstr "Amplada natural forçada sol·licitada per l'actor"
+msgstr "Amplada natural forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:6454
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Alçada natural"
 
-#: ../clutter/clutter-actor.c:6455
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
-msgstr "Alçada natural forçada sol·licitada per l'actor"
+msgstr "Alçada natural forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:6470
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Ús de l'amplada mínima"
 
-#: ../clutter/clutter-actor.c:6471
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Si s'ha d'utilitzar la propietat «amplada mínima»"
 
-#: ../clutter/clutter-actor.c:6485
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Ús de l'alçada mínima"
 
-#: ../clutter/clutter-actor.c:6486
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Si s'ha d'utilitzar la propietat «alçada mínima»"
 
-#: ../clutter/clutter-actor.c:6500
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Ús de l'amplada natural"
 
-#: ../clutter/clutter-actor.c:6501
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Si s'ha d'utilitzar la propietat «amplada natural»"
 
-#: ../clutter/clutter-actor.c:6515
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Ús de l'alçada natural"
 
-#: ../clutter/clutter-actor.c:6516
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Si s'ha d'utilitzar la propietat «alçada natural»"
 
-#: ../clutter/clutter-actor.c:6532
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Ubicació"
 
-#: ../clutter/clutter-actor.c:6533
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "La ubicació de l'actor"
 
-#: ../clutter/clutter-actor.c:6590
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
-msgstr "Mode sol·licitat"
+msgstr "Mode soŀlicitat"
 
-#: ../clutter/clutter-actor.c:6591
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
-msgstr "El mode sol·licitat per l'actor"
+msgstr "El mode soŀlicitat per l'actor"
 
-#: ../clutter/clutter-actor.c:6615
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Profunditat"
 
-#: ../clutter/clutter-actor.c:6616
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Posició en l'eix de la Z"
 
-#: ../clutter/clutter-actor.c:6643
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Posició Z"
 
-#: ../clutter/clutter-actor.c:6644
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "La posició de l'actor en l'eix de la Z"
 
-#: ../clutter/clutter-actor.c:6661
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Opacitat"
 
-#: ../clutter/clutter-actor.c:6662
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Opacitat d'un actor"
 
-#: ../clutter/clutter-actor.c:6682
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Redireccionament fora de pantalla"
 
-#: ../clutter/clutter-actor.c:6683
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr ""
 "Senyaladors que controlen quan s'ha d'aplanar l'actor a una sola imatge"
 
-#: ../clutter/clutter-actor.c:6697
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Visible"
 
-#: ../clutter/clutter-actor.c:6698
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Si l'actor és visible"
 
-#: ../clutter/clutter-actor.c:6712
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Mapat"
 
-#: ../clutter/clutter-actor.c:6713
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Si l'actor es pintarà"
 
-#: ../clutter/clutter-actor.c:6726
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Realitzat"
 
-#: ../clutter/clutter-actor.c:6727
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Si l'actor s'ha realitzat"
 
-#: ../clutter/clutter-actor.c:6742
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Reactiu"
 
-#: ../clutter/clutter-actor.c:6743
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Si l'actor reacciona a esdeveniments"
 
-#: ../clutter/clutter-actor.c:6754
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Té un retallat"
 
-#: ../clutter/clutter-actor.c:6755
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Si l'actor té un retallat establert"
 
-#: ../clutter/clutter-actor.c:6768
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Retallat"
 
-#: ../clutter/clutter-actor.c:6769
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "La regió de retallat de l'actor"
 
-#: ../clutter/clutter-actor.c:6788
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Rectangle retallat"
 
-#: ../clutter/clutter-actor.c:6789
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "La regió visible de l'actor"
 
-#: ../clutter/clutter-actor.c:6803 ../clutter/clutter-actor-meta.c:205
-#: ../clutter/clutter-binding-pool.c:318 ../clutter/clutter-input-device.c:247
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nom"
 
-#: ../clutter/clutter-actor.c:6804
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "El nom de l'actor"
 
-#: ../clutter/clutter-actor.c:6825
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Punt de pivotació"
 
-#: ../clutter/clutter-actor.c:6826
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "El punt sobre el qual es fa l'escalat i la rotació"
 
-#: ../clutter/clutter-actor.c:6844
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "El punt de pivotació sobre la Z"
 
-#: ../clutter/clutter-actor.c:6845
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Component Z del punt de pivotació"
 
-#: ../clutter/clutter-actor.c:6863
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Escala X"
 
-#: ../clutter/clutter-actor.c:6864
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "El factor d'escala en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:6882
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Escala Y"
 
-#: ../clutter/clutter-actor.c:6883
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "El factor d'escala en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:6901
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Escala Z"
 
-#: ../clutter/clutter-actor.c:6902
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "El factor d'escala en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:6920
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Centre de l'escala X"
 
-#: ../clutter/clutter-actor.c:6921
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Centre horitzontal de l'escala"
 
-#: ../clutter/clutter-actor.c:6939
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Centre de l'escala Y"
 
-#: ../clutter/clutter-actor.c:6940
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Centre vertical de l'escala"
 
-#: ../clutter/clutter-actor.c:6958
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Gravetat de l'escala"
 
-#: ../clutter/clutter-actor.c:6959
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "El centre de l'escalat"
 
-#: ../clutter/clutter-actor.c:6977
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Angle de rotació X"
 
-#: ../clutter/clutter-actor.c:6978
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "L'angle de rotació en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:6996
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Angle de rotació Y"
 
-#: ../clutter/clutter-actor.c:6997
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "L'angle de rotació en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:7015
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Angle de rotació Z"
 
-#: ../clutter/clutter-actor.c:7016
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "L'angle de rotació en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:7034
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Centre de rotació X"
 
-#: ../clutter/clutter-actor.c:7035
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "El centre de rotació en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:7052
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Centre de rotació Y"
 
-#: ../clutter/clutter-actor.c:7053
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "El centre de rotació en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:7070
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Centre de rotació Z"
 
-#: ../clutter/clutter-actor.c:7071
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "El centre de rotació en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:7088
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Gravetat del centre de rotació Z"
 
-#: ../clutter/clutter-actor.c:7089
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Punt del centre de rotació al voltant de l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:7117
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Àncora X"
 
-#: ../clutter/clutter-actor.c:7118
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "Coordenada X del punt de l'àncora"
 
-#: ../clutter/clutter-actor.c:7146
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Àncora Y"
 
-#: ../clutter/clutter-actor.c:7147
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Coordenada Y del punt de l'àncora"
 
-#: ../clutter/clutter-actor.c:7174
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Gravetat de l'àncora"
 
-#: ../clutter/clutter-actor.c:7175
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "El punt d'àncora com a «ClutterGravity»"
 
-#: ../clutter/clutter-actor.c:7194
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Translació X"
 
-#: ../clutter/clutter-actor.c:7195
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "La translació en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:7214
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Translació Y"
 
-#: ../clutter/clutter-actor.c:7215
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "La translació en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:7234
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Translació Z"
 
-#: ../clutter/clutter-actor.c:7235
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "La translació en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:7265
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Transformació"
 
-#: ../clutter/clutter-actor.c:7266
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Matriu de transformació"
 
-#: ../clutter/clutter-actor.c:7281
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Establiment de la transformació"
 
-#: ../clutter/clutter-actor.c:7282
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Si la propietat de transformació té un valor"
 
-#: ../clutter/clutter-actor.c:7303
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Transformació filla"
 
-#: ../clutter/clutter-actor.c:7304
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Matriu de la transformació filla"
 
-#: ../clutter/clutter-actor.c:7319
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Establiment de la transformació filla"
 
-#: ../clutter/clutter-actor.c:7320
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Si la propietat de transformació filla té un valor"
 
-#: ../clutter/clutter-actor.c:7337
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Mostra si és pare"
 
-#: ../clutter/clutter-actor.c:7338
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Si s'ha de mostrar l'actor si se'l fa pare d'un element"
 
-#: ../clutter/clutter-actor.c:7355
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Retalla a la ubicació"
 
-#: ../clutter/clutter-actor.c:7356
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr ""
 "Estableix la regió de retallat per fer un seguiment de la ubicació de l'actor"
 
-#: ../clutter/clutter-actor.c:7369
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Direcció del text"
 
-#: ../clutter/clutter-actor.c:7370
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "La direcció del text"
 
-#: ../clutter/clutter-actor.c:7385
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Té un punter"
 
-#: ../clutter/clutter-actor.c:7386
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Si l'actor conté el punter d'un dispositiu d'entrada"
 
-#: ../clutter/clutter-actor.c:7399
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Accions"
 
-#: ../clutter/clutter-actor.c:7400
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Afegeix una acció a l'actor"
 
-#: ../clutter/clutter-actor.c:7413
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Restriccions"
 
-#: ../clutter/clutter-actor.c:7414
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Afegeix una restricció a l'actor"
 
-#: ../clutter/clutter-actor.c:7427
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Efecte"
 
-#: ../clutter/clutter-actor.c:7428
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Afegeix un efecte que s'aplicarà a l'actor"
 
-#: ../clutter/clutter-actor.c:7442
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Gestor de disposició"
 
-#: ../clutter/clutter-actor.c:7443
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "L'objecte que controla la disposició dels fills de l'actor"
 
-#: ../clutter/clutter-actor.c:7457
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Expansió X"
 
-#: ../clutter/clutter-actor.c:7458
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Si l'actor hauria de tenir assignat un espai horitzontal extra"
 
-#: ../clutter/clutter-actor.c:7473
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Expansió Y"
 
-#: ../clutter/clutter-actor.c:7474
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Si l'actor hauria de tenir assignat un espai vertical extra"
 
-#: ../clutter/clutter-actor.c:7490
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Alineació X"
 
-#: ../clutter/clutter-actor.c:7491
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "L'alineació de l'actor en l'eix de les X dins la seva ubicació"
 
-#: ../clutter/clutter-actor.c:7506
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Alineació Y"
 
-#: ../clutter/clutter-actor.c:7507
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "L'alineació de l'actor en l'eix de les Y dins la seva ubicació"
 
-#: ../clutter/clutter-actor.c:7526
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Marge superior"
 
-#: ../clutter/clutter-actor.c:7527
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Espai extra a la part superior"
 
-#: ../clutter/clutter-actor.c:7548
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Marge inferior"
 
-#: ../clutter/clutter-actor.c:7549
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Espai extra a la part inferior"
 
-#: ../clutter/clutter-actor.c:7570
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Marge esquerra"
 
-#: ../clutter/clutter-actor.c:7571
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Espai extra a l'esquerra"
 
-#: ../clutter/clutter-actor.c:7592
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Marge dret"
 
-#: ../clutter/clutter-actor.c:7593
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Espai extra a la dreta"
 
-#: ../clutter/clutter-actor.c:7609
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Establiment del color de fons"
 
-#: ../clutter/clutter-actor.c:7610 ../clutter/deprecated/clutter-box.c:269
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Si hi ha cap color de fons"
 
-#: ../clutter/clutter-actor.c:7626
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Color de fons"
 
-#: ../clutter/clutter-actor.c:7627
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "El color de fons de l'actor"
 
-#: ../clutter/clutter-actor.c:7642
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Primer fill"
 
-#: ../clutter/clutter-actor.c:7643
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "El primer fill de l'actor"
 
-#: ../clutter/clutter-actor.c:7656
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Últim fill"
 
-#: ../clutter/clutter-actor.c:7657
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "L'últim fill de l'actor"
 
-#: ../clutter/clutter-actor.c:7671
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Contingut"
 
-#: ../clutter/clutter-actor.c:7672
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "L'objecte al que es delega el pintat del contingut de l'actor"
 
-#: ../clutter/clutter-actor.c:7697
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Gravetat del contingut"
 
-#: ../clutter/clutter-actor.c:7698
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "L'alineació del contingut de l'actor"
 
-#: ../clutter/clutter-actor.c:7718
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Caixa del contingut"
 
-#: ../clutter/clutter-actor.c:7719
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "La caixa de limitació que conté el contingut de l'actor"
 
-#: ../clutter/clutter-actor.c:7727
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Filtre de minimització"
 
-#: ../clutter/clutter-actor.c:7728
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "El filtre que s'utilitzarà per reduir la mida del contingut"
 
-#: ../clutter/clutter-actor.c:7735
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Filtre d'ampliació"
 
-#: ../clutter/clutter-actor.c:7736
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "El filtre que s'utilitzarà per ampliar la mida del contingut"
 
-#: ../clutter/clutter-actor.c:7750
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Repetició del contingut"
 
-#: ../clutter/clutter-actor.c:7751
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "La política de repetició del contingut de l'actor"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Actor"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "L'actor acoblat a un meta"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "El nom del meta"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:326
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Habilitat"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Si el meta és habilitat"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:343 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Font"
@@ -730,86 +730,82 @@ msgstr "Factor"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "El factor d'alineació, entre 0.0 i 1.0"
 
-#: ../clutter/clutter-backend.c:380
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "No s'ha pogut inicialitzar el rerefons de la Clutter"
 
-#: ../clutter/clutter-backend.c:454
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "El rerefons, de tipus «%s», no permet crear múltiples escenaris"
 
-#: ../clutter/clutter-bind-constraint.c:344
+#: ../clutter/clutter-bind-constraint.c:359
 msgid "The source of the binding"
 msgstr "La font de la vinculació"
 
-#: ../clutter/clutter-bind-constraint.c:357
+#: ../clutter/clutter-bind-constraint.c:372
 msgid "Coordinate"
 msgstr "Coordenada"
 
-#: ../clutter/clutter-bind-constraint.c:358
+#: ../clutter/clutter-bind-constraint.c:373
 msgid "The coordinate to bind"
 msgstr "La coordenada a vincular"
 
-#: ../clutter/clutter-bind-constraint.c:372
+#: ../clutter/clutter-bind-constraint.c:387
 #: ../clutter/clutter-path-constraint.c:226
 #: ../clutter/clutter-snap-constraint.c:366
 msgid "Offset"
 msgstr "Desplaçament"
 
-#: ../clutter/clutter-bind-constraint.c:373
+#: ../clutter/clutter-bind-constraint.c:388
 msgid "The offset in pixels to apply to the binding"
 msgstr "El desplaçament, en píxels, que s'ha d'aplicar a la vinculació"
 
-#: ../clutter/clutter-binding-pool.c:319
+#: ../clutter/clutter-binding-pool.c:320
 msgid "The unique name of the binding pool"
 msgstr "El nom únic del conjunt de vinculacions"
 
-#: ../clutter/clutter-bin-layout.c:220 ../clutter/clutter-bin-layout.c:633
-#: ../clutter/clutter-box-layout.c:374
-#: ../clutter/deprecated/clutter-table-layout.c:602
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Alineació horitzontal"
 
-#: ../clutter/clutter-bin-layout.c:221
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "L'alineació horitzontal de l'actor dins del gestor de disposició"
 
-#: ../clutter/clutter-bin-layout.c:229 ../clutter/clutter-bin-layout.c:653
-#: ../clutter/clutter-box-layout.c:383
-#: ../clutter/deprecated/clutter-table-layout.c:617
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Alineació vertical"
 
-#: ../clutter/clutter-bin-layout.c:230
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "L'alineació vertical de l'actor dins del gestor de disposició"
 
-#: ../clutter/clutter-bin-layout.c:634
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr ""
 "L'alineació horitzontal per defecte dels actors dins del gestor de disposició"
 
-#: ../clutter/clutter-bin-layout.c:654
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr ""
 "L'alineació vertical per defecte dels actors dins del gestor de disposició"
 
-#: ../clutter/clutter-box-layout.c:349
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Expandeix"
 
-#: ../clutter/clutter-box-layout.c:350
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Ubica espai extra per al fill"
 
-#: ../clutter/clutter-box-layout.c:356
-#: ../clutter/deprecated/clutter-table-layout.c:581
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Emplena horitzontalment"
 
-#: ../clutter/clutter-box-layout.c:357
-#: ../clutter/deprecated/clutter-table-layout.c:582
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -817,13 +813,11 @@ msgstr ""
 "Si el fill hauria de tenir prioritat quan el contenidor ubiqui espai extra "
 "en l'eix horitzontal"
 
-#: ../clutter/clutter-box-layout.c:365
-#: ../clutter/deprecated/clutter-table-layout.c:588
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Emplena verticalment"
 
-#: ../clutter/clutter-box-layout.c:366
-#: ../clutter/deprecated/clutter-table-layout.c:589
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -831,88 +825,80 @@ msgstr ""
 "Si el fill hauria de tenir prioritat quan el contenidor ubiqui espai extra "
 "en l'eix vertical"
 
-#: ../clutter/clutter-box-layout.c:375
-#: ../clutter/deprecated/clutter-table-layout.c:603
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
-msgstr "L'alineació horitzontal de l'actor dins la cel·la"
+msgstr "L'alineació horitzontal de l'actor dins la ceŀla"
 
-#: ../clutter/clutter-box-layout.c:384
-#: ../clutter/deprecated/clutter-table-layout.c:618
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
-msgstr "L'alineació vertical de l'actor dins la cel·la"
+msgstr "L'alineació vertical de l'actor dins la ceŀla"
 
-#: ../clutter/clutter-box-layout.c:1345
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Vertical"
 
-#: ../clutter/clutter-box-layout.c:1346
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Si la disposició hauria de ser vertical en comptes d'horitzontal"
 
-#: ../clutter/clutter-box-layout.c:1363 ../clutter/clutter-flow-layout.c:927
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientació"
 
-#: ../clutter/clutter-box-layout.c:1364 ../clutter/clutter-flow-layout.c:928
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "L'orientació de la disposició"
 
-#: ../clutter/clutter-box-layout.c:1380 ../clutter/clutter-flow-layout.c:943
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogeni"
 
-#: ../clutter/clutter-box-layout.c:1381
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Si la disposició hauria de ser homogènia, és a dir, que tots els fills "
 "tinguin la mateixa mida"
 
-#: ../clutter/clutter-box-layout.c:1396
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Ajunta al principi"
 
-#: ../clutter/clutter-box-layout.c:1397
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Si s'ha d'ajuntar els elements a l'inici de la caixa"
 
-#: ../clutter/clutter-box-layout.c:1410
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Espaiat"
 
-#: ../clutter/clutter-box-layout.c:1411
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Espaiat entre fills"
 
-#: ../clutter/clutter-box-layout.c:1428
-#: ../clutter/deprecated/clutter-table-layout.c:1669
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Utilitza animacions"
 
-#: ../clutter/clutter-box-layout.c:1429
-#: ../clutter/deprecated/clutter-table-layout.c:1670
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Si s'han d'animar els canvis de disposició"
 
-#: ../clutter/clutter-box-layout.c:1453
-#: ../clutter/deprecated/clutter-table-layout.c:1694
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Mode del camí"
 
-#: ../clutter/clutter-box-layout.c:1454
-#: ../clutter/deprecated/clutter-table-layout.c:1695
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "El mode del camí de les animacions"
 
-#: ../clutter/clutter-box-layout.c:1474
-#: ../clutter/deprecated/clutter-table-layout.c:1715
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Durada del camí"
 
-#: ../clutter/clutter-box-layout.c:1475
-#: ../clutter/deprecated/clutter-table-layout.c:1716
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "La durada de les animacions"
 
@@ -932,30 +918,14 @@ msgstr "Contrast"
 msgid "The contrast change to apply"
 msgstr "El canvi de contrast a aplicar"
 
-#: ../clutter/clutter-canvas.c:248
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "L'amplada del llenç"
 
-#: ../clutter/clutter-canvas.c:264
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "L'alçada del llenç"
 
-#: ../clutter/clutter-canvas.c:283
-msgid "Scale Factor Set"
-msgstr "Establert el factor d'escalat"
-
-#: ../clutter/clutter-canvas.c:284
-msgid "Whether the scale-factor property is set"
-msgstr "Si la propietat de factor d'escalat té un valor"
-
-#: ../clutter/clutter-canvas.c:305
-msgid "Scale Factor"
-msgstr "Factor d'escalat"
-
-#: ../clutter/clutter-canvas.c:306
-msgid "The scaling factor for the surface"
-msgstr "El factor d'escalat de la superfície"
-
 #: ../clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "Contenidor"
@@ -968,39 +938,39 @@ msgstr "El contenidor que ha creat aquesta dada"
 msgid "The actor wrapped by this data"
 msgstr "L'actor envoltat per aquesta dada"
 
-#: ../clutter/clutter-click-action.c:586
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Premut"
 
-#: ../clutter/clutter-click-action.c:587
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Si l'element que s'hi pot fer clic hauria d'estar en l'estat de premut"
 
-#: ../clutter/clutter-click-action.c:600
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
-msgstr "Mantén"
+msgstr "Manté"
 
-#: ../clutter/clutter-click-action.c:601
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Si l'element que s'hi pot fer clic té un mantenidor"
 
-#: ../clutter/clutter-click-action.c:618 ../clutter/clutter-settings.c:651
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:607
 msgid "Long Press Duration"
 msgstr "Durada de la premuda llarga"
 
-#: ../clutter/clutter-click-action.c:619
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "La durada mínima perquè es reconegui el gest d'una premuda llarga"
 
-#: ../clutter/clutter-click-action.c:637
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Llindar de la premuda llarga"
 
-#: ../clutter/clutter-click-action.c:638
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
-msgstr "El llindar màxim abans de cancel·lar una premuda llarga"
+msgstr "El llindar màxim abans de canceŀlar una premuda llarga"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Especifica l'actor a ser clonat"
 
@@ -1012,27 +982,27 @@ msgstr "Matís"
 msgid "The tint to apply"
 msgstr "El matís a aplicar"
 
-#: ../clutter/clutter-deform-effect.c:591
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Quadres horitzontals"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "El nombre de quadres horitzontals"
 
-#: ../clutter/clutter-deform-effect.c:607
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Quadres verticals"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "El nombre de quadres verticals"
 
-#: ../clutter/clutter-deform-effect.c:625
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Material de fons"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "El material que s'utilitzarà quan es pinti el fons de l'actor"
 
@@ -1040,297 +1010,259 @@ msgstr "El material que s'utilitzarà quan es pinti el fons de l'actor"
 msgid "The desaturation factor"
 msgstr "El factor de dessaturació"
 
-#: ../clutter/clutter-device-manager.c:127
-#: ../clutter/clutter-input-device.c:355
-#: ../clutter/x11/clutter-keymap-x11.c:457
+#: ../clutter/clutter-device-manager.c:131
+#: ../clutter/clutter-input-device.c:366
+#: ../clutter/x11/clutter-keymap-x11.c:321
 msgid "Backend"
 msgstr "Rerefons"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "El «ClutterBackend» del gestor del dispositiu"
 
-#: ../clutter/clutter-drag-action.c:733
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Llindar d'arrossegament horitzontal"
 
-#: ../clutter/clutter-drag-action.c:734
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "El nombre de píxels horitzontals necessaris per iniciar un arrossegament"
 
-#: ../clutter/clutter-drag-action.c:761
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Llindar d'arrossegament vertical"
 
-#: ../clutter/clutter-drag-action.c:762
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "El nombre de píxels verticals necessaris per iniciar un arrossegament"
 
-#: ../clutter/clutter-drag-action.c:783
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Nansa d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:784
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "L'actor que s'està arrossegant"
 
-#: ../clutter/clutter-drag-action.c:797
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Eix d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:798
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Restringeix l'arrossegament a un eix"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Àrea d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Restringeix l'arrossegament a un rectangle"
 
-#: ../clutter/clutter-drag-action.c:828
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Establiment de l'àrea d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:829
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Si la propietat d'àrea d'arrossegament té un valor"
 
-#: ../clutter/clutter-flow-layout.c:944
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Si cada element hauria de rebre la mateixa ubicació"
 
-#: ../clutter/clutter-flow-layout.c:959
-#: ../clutter/deprecated/clutter-table-layout.c:1629
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Espaiat de columna"
 
-#: ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "L'espaiat entre columnes"
 
-#: ../clutter/clutter-flow-layout.c:976
-#: ../clutter/deprecated/clutter-table-layout.c:1645
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Espaiat de fila"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "L'espaiat entre files"
 
-#: ../clutter/clutter-flow-layout.c:991
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Amplada mínima de columna"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "L'amplada mínima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Amplada màxima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "L'amplada màxima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Alçada mínima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "L'alçada mínima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Alçada màxima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "L'alçada màxima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1054 ../clutter/clutter-flow-layout.c:1055
-msgid "Snap to grid"
-msgstr "Ajusta a la graella"
-
-#: ../clutter/clutter-gesture-action.c:668
-msgid "Number touch points"
-msgstr "Nombre de punts tàctils"
-
-#: ../clutter/clutter-gesture-action.c:669
-msgid "Number of touch points"
-msgstr "El nombre de punts tàctils"
-
-#: ../clutter/clutter-gesture-action.c:684
-msgid "Threshold Trigger Edge"
-msgstr "Vora del llindar d'activació"
-
-#: ../clutter/clutter-gesture-action.c:685
-msgid "The trigger edge used by the action"
-msgstr "La vora d'activació que utilitza l'acció"
-
-#: ../clutter/clutter-gesture-action.c:704
-msgid "Threshold Trigger Horizontal Distance"
-msgstr "Llindar d'activació de distància horitzontal"
-
-#: ../clutter/clutter-gesture-action.c:705
-msgid "The horizontal trigger distance used by the action"
-msgstr "La distància d'activació horitzontal que utilitza l'acció"
-
-#: ../clutter/clutter-gesture-action.c:723
-msgid "Threshold Trigger Vertical Distance"
-msgstr "Llindar d'activació de distància vertical"
-
-#: ../clutter/clutter-gesture-action.c:724
-msgid "The vertical trigger distance used by the action"
-msgstr "La distància d'activació vertical que utilitza l'acció"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Adjunció esquerra"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr "El número de columna al que adjuntar-hi la part esquerra del fill"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Adjunció superior"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr "El número de columna al que adjuntar-hi la part superior del giny fill"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "El nombre de columnes que hauria d'abastir el fill"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "El nombre de files que hauria d'abastir el fill"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1565
 msgid "Row spacing"
 msgstr "Espaiat de files"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1566
 msgid "The amount of space between two consecutive rows"
 msgstr "La quantitat d'espai entre dues files consecutives"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1579
 msgid "Column spacing"
 msgstr "Espaiat de columnes"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1580
 msgid "The amount of space between two consecutive columns"
 msgstr "La quantitat d'espai entre dues columnes consecutives"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1594
 msgid "Row Homogeneous"
 msgstr "Files homogènies"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1595
 msgid "If TRUE, the rows are all the same height"
 msgstr "Si és «TRUE» (cert), totes les files tenen la mateixa alçada"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1608
 msgid "Column Homogeneous"
 msgstr "Columnes homogènies"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1609
 msgid "If TRUE, the columns are all the same width"
 msgstr "Si és «TRUE» (cert), totes les columnes tenen la mateixa amplada"
 
-#: ../clutter/clutter-image.c:268 ../clutter/clutter-image.c:331
-#: ../clutter/clutter-image.c:419
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "No s'han pogut carregar les dades de la imatge"
 
-#: ../clutter/clutter-input-device.c:231
+#: ../clutter/clutter-input-device.c:242
 msgid "Id"
 msgstr "Identificador"
 
-#: ../clutter/clutter-input-device.c:232
+#: ../clutter/clutter-input-device.c:243
 msgid "Unique identifier of the device"
 msgstr "L'identificador únic del dispositiu"
 
-#: ../clutter/clutter-input-device.c:248
+#: ../clutter/clutter-input-device.c:259
 msgid "The name of the device"
 msgstr "El nom del dispositiu"
 
-#: ../clutter/clutter-input-device.c:262
+#: ../clutter/clutter-input-device.c:273
 msgid "Device Type"
 msgstr "Tipus de dispositiu"
 
-#: ../clutter/clutter-input-device.c:263
+#: ../clutter/clutter-input-device.c:274
 msgid "The type of the device"
 msgstr "El tipus de dispositiu"
 
-#: ../clutter/clutter-input-device.c:278
+#: ../clutter/clutter-input-device.c:289
 msgid "Device Manager"
 msgstr "Gestor de dispositiu"
 
-#: ../clutter/clutter-input-device.c:279
+#: ../clutter/clutter-input-device.c:290
 msgid "The device manager instance"
 msgstr "La instància del gestor de dispositiu"
 
-#: ../clutter/clutter-input-device.c:292
+#: ../clutter/clutter-input-device.c:303
 msgid "Device Mode"
 msgstr "Mode del dispositiu"
 
-#: ../clutter/clutter-input-device.c:293
+#: ../clutter/clutter-input-device.c:304
 msgid "The mode of the device"
 msgstr "El mode del dispositiu"
 
-#: ../clutter/clutter-input-device.c:307
+#: ../clutter/clutter-input-device.c:318
 msgid "Has Cursor"
 msgstr "Té un cursor"
 
-#: ../clutter/clutter-input-device.c:308
+#: ../clutter/clutter-input-device.c:319
 msgid "Whether the device has a cursor"
 msgstr "Si el dispositiu té un cursor"
 
-#: ../clutter/clutter-input-device.c:327
+#: ../clutter/clutter-input-device.c:338
 msgid "Whether the device is enabled"
 msgstr "Si el dispositiu és habilitat"
 
-#: ../clutter/clutter-input-device.c:340
+#: ../clutter/clutter-input-device.c:351
 msgid "Number of Axes"
 msgstr "Nombre d'eixos"
 
-#: ../clutter/clutter-input-device.c:341
+#: ../clutter/clutter-input-device.c:352
 msgid "The number of axes on the device"
 msgstr "El nombre d'eixos en el dispositiu"
 
-#: ../clutter/clutter-input-device.c:356
+#: ../clutter/clutter-input-device.c:367
 msgid "The backend instance"
 msgstr "La instància del rerefons"
 
-#: ../clutter/clutter-interval.c:557
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Tipus de valor"
 
-#: ../clutter/clutter-interval.c:558
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "El tipus dels valors en l'interval"
 
-#: ../clutter/clutter-interval.c:573
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valor inicial"
 
-#: ../clutter/clutter-interval.c:574
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "El valor inicial de l'interval"
 
-#: ../clutter/clutter-interval.c:588
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valor final"
 
-#: ../clutter/clutter-interval.c:589
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "El valor final de l'interval"
 
@@ -1349,96 +1281,96 @@ msgstr "El gestor que ha creat aquesta dada"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:751
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1577
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Mostra els fotogrames per segon"
 
-#: ../clutter/clutter-main.c:1579
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Fotogrames per segon per defecte"
 
-#: ../clutter/clutter-main.c:1581
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Fes que tots els avisos siguin fatals"
 
-#: ../clutter/clutter-main.c:1584
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Direcció del text"
 
-#: ../clutter/clutter-main.c:1587
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Inhabilita el mapat MIP en el text"
 
-#: ../clutter/clutter-main.c:1590
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Utilitza una selecció «difusa»"
 
-#: ../clutter/clutter-main.c:1593
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Senyaladors de depuració de la Clutter a establir"
 
-#: ../clutter/clutter-main.c:1595
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Senyaladors de depuració de la Clutter a inhabilitar"
 
-#: ../clutter/clutter-main.c:1599
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Senyaladors de perfilació de la Clutter a establir"
 
-#: ../clutter/clutter-main.c:1601
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Senyaladors de perfilació de la Clutter a inhabilitar"
 
-#: ../clutter/clutter-main.c:1604
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Habilita l'accessibilitat"
 
-#: ../clutter/clutter-main.c:1796
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Opcions de la Clutter"
 
-#: ../clutter/clutter-main.c:1797
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Mostra les opcions de la Clutter"
 
-#: ../clutter/clutter-pan-action.c:455
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Eix de panorama"
 
-#: ../clutter/clutter-pan-action.c:456
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Restringeix el panorama a un eix"
 
-#: ../clutter/clutter-pan-action.c:470
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolació"
 
-#: ../clutter/clutter-pan-action.c:471
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Si l'emissió d'esdeveniments interpolats és habilitat."
 
-#: ../clutter/clutter-pan-action.c:487
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Desacceleració"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "La ràtio en la que la interpolació del panorama desaccelerarà"
 
-#: ../clutter/clutter-pan-action.c:505
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Factor d'acceleració inicial"
 
-#: ../clutter/clutter-pan-action.c:506
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "El factor aplicat al moment quan s'iniciï la fase d'interpolació"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Camí"
 
@@ -1450,89 +1382,89 @@ msgstr "El camí utilitzat per restringir un actor"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "El desplaçament al llarg del camí, entre -1.0 i 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Nom de la propietat"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "El nom de la propietat que s'animarà"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Té nom de fitxer"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Si la propietat «:filename» té un valor"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nom de fitxer"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "El camí al fitxer analitzat actualment"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Domini de la traducció"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "El domini de traducció utilitzat per ubicar una cadena"
 
-#: ../clutter/clutter-scroll-actor.c:184
+#: ../clutter/clutter-scroll-actor.c:190
 msgid "Scroll Mode"
 msgstr "Mode de desplaçament"
 
-#: ../clutter/clutter-scroll-actor.c:185
+#: ../clutter/clutter-scroll-actor.c:191
 msgid "The scrolling direction"
 msgstr "La direcció del desplaçament"
 
-#: ../clutter/clutter-settings.c:486
+#: ../clutter/clutter-settings.c:448
 msgid "Double Click Time"
 msgstr "Temps del doble clic"
 
-#: ../clutter/clutter-settings.c:487
+#: ../clutter/clutter-settings.c:449
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "El temps entre clics necessari per detectar un clic múltiple"
 
-#: ../clutter/clutter-settings.c:502
+#: ../clutter/clutter-settings.c:464
 msgid "Double Click Distance"
 msgstr "Distància de doble clic"
 
-#: ../clutter/clutter-settings.c:503
+#: ../clutter/clutter-settings.c:465
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "La distància entre clics necessària per detectar un clic múltiple"
 
-#: ../clutter/clutter-settings.c:518
+#: ../clutter/clutter-settings.c:480
 msgid "Drag Threshold"
 msgstr "Llindar d'arrossegament"
 
-#: ../clutter/clutter-settings.c:519
+#: ../clutter/clutter-settings.c:481
 msgid "The distance the cursor should travel before starting to drag"
 msgstr ""
 "La distància que ha de desplaçar-se el cursor abans de començar un "
 "arrossegament"
 
-#: ../clutter/clutter-settings.c:534 ../clutter/clutter-text.c:3437
+#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Nom del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:535
+#: ../clutter/clutter-settings.c:497
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "La descripció del tipus de lletra per defecte, tal com l'hauria d'analitzar "
 "la Pango"
 
-#: ../clutter/clutter-settings.c:550
+#: ../clutter/clutter-settings.c:512
 msgid "Font Antialias"
 msgstr "Antialiàsing del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:551
+#: ../clutter/clutter-settings.c:513
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1540,81 +1472,73 @@ msgstr ""
 "Si s'ha d'utilitzar l'antialiàsing (1 l'habilita, 0 l'inhabilita i -1 "
 "utilitza el per defecte)"
 
-#: ../clutter/clutter-settings.c:567 ../clutter/clutter-settings.c:575
+#: ../clutter/clutter-settings.c:529
 msgid "Font DPI"
 msgstr "PPP del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:568 ../clutter/clutter-settings.c:576
+#: ../clutter/clutter-settings.c:530
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "La resolució del tipus de lletra, en 1024 * punts/polzada, o -1 utilitza la "
 "per defecte"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:546
 msgid "Font Hinting"
 msgstr "Contorn del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:593
+#: ../clutter/clutter-settings.c:547
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Si s'ha d'utilitzar el contorn (1 l'habilita, 0 l'inhabilita i -1 per "
 "utilitzar el per defecte)"
 
-#: ../clutter/clutter-settings.c:613
+#: ../clutter/clutter-settings.c:568
 msgid "Font Hint Style"
 msgstr "Estil del contorn del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:614
+#: ../clutter/clutter-settings.c:569
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr ""
 "L'estil del contorn (sense contorn, contorn lleuger, contorn mitjà, contorn "
 "complet)"
 
-#: ../clutter/clutter-settings.c:634
+#: ../clutter/clutter-settings.c:590
 msgid "Font Subpixel Order"
 msgstr "Ordre de subpíxels del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:635
+#: ../clutter/clutter-settings.c:591
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "El tipus d'antialiàsing de subpíxel (cap, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:652
+#: ../clutter/clutter-settings.c:608
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "La durada mínima d'una premuda llarga perquè es reconegui"
 
-#: ../clutter/clutter-settings.c:659
-msgid "Window Scaling Factor"
-msgstr "El factor d'escalat de la finestra"
-
-#: ../clutter/clutter-settings.c:660
-msgid "The scaling factor to be applied to windows"
-msgstr "El factor d'escalat que s'ha d'aplicar a les finestres"
-
-#: ../clutter/clutter-settings.c:667
+#: ../clutter/clutter-settings.c:615
 msgid "Fontconfig configuration timestamp"
 msgstr "Marca horària de la configuració de la Fontconfig"
 
-#: ../clutter/clutter-settings.c:668
+#: ../clutter/clutter-settings.c:616
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Marca horària de la configuració actual de la Fontconfig"
 
-#: ../clutter/clutter-settings.c:685
+#: ../clutter/clutter-settings.c:633
 msgid "Password Hint Time"
 msgstr "Temps de pista de la contrasenya"
 
-#: ../clutter/clutter-settings.c:686
+#: ../clutter/clutter-settings.c:634
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Temps de durada de visualització de l'últim caràcter introduït en les "
 "entrades de ocultes"
 
-#: ../clutter/clutter-shader-effect.c:487
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Tipus de shader"
 
-#: ../clutter/clutter-shader-effect.c:488
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "El tipus de shader que s'utilitza"
 
@@ -1642,704 +1566,760 @@ msgstr "La vora de la font que s'hauria de trencar"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "El desplaçament, en píxels, a aplicar a la restricció"
 
-#: ../clutter/clutter-stage.c:1918
+#: ../clutter/clutter-stage.c:1929
 msgid "Fullscreen Set"
 msgstr "A pantalla completa"
 
-#: ../clutter/clutter-stage.c:1919
+#: ../clutter/clutter-stage.c:1930
 msgid "Whether the main stage is fullscreen"
 msgstr "Si l'escenari principal és a pantalla completa"
 
-#: ../clutter/clutter-stage.c:1933
+#: ../clutter/clutter-stage.c:1944
 msgid "Offscreen"
 msgstr "Fora de pantalla"
 
-#: ../clutter/clutter-stage.c:1934
+#: ../clutter/clutter-stage.c:1945
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Si l'escenari principal hauria de renderitzar-se fora de pantalla"
 
-#: ../clutter/clutter-stage.c:1946 ../clutter/clutter-text.c:3551
+#: ../clutter/clutter-stage.c:1957 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Visibilitat del cursor"
 
-#: ../clutter/clutter-stage.c:1947
+#: ../clutter/clutter-stage.c:1958
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Si el punter del ratolí és visible a l'escenari principal"
 
-#: ../clutter/clutter-stage.c:1961
+#: ../clutter/clutter-stage.c:1972
 msgid "User Resizable"
 msgstr "Redimensionable per l'usuari"
 
-#: ../clutter/clutter-stage.c:1962
+#: ../clutter/clutter-stage.c:1973
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Si l'usuari pot redimensionar l'escenari"
 
-#: ../clutter/clutter-stage.c:1977 ../clutter/deprecated/clutter-box.c:254
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1988 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Color"
 
-#: ../clutter/clutter-stage.c:1978
+#: ../clutter/clutter-stage.c:1989
 msgid "The color of the stage"
 msgstr "El color de l'escenari"
 
-#: ../clutter/clutter-stage.c:1993
+#: ../clutter/clutter-stage.c:2004
 msgid "Perspective"
 msgstr "Perspectiva"
 
-#: ../clutter/clutter-stage.c:1994
+#: ../clutter/clutter-stage.c:2005
 msgid "Perspective projection parameters"
 msgstr "Els paràmetres de projecció de la perspectiva"
 
-#: ../clutter/clutter-stage.c:2009
+#: ../clutter/clutter-stage.c:2020
 msgid "Title"
 msgstr "Títol"
 
-#: ../clutter/clutter-stage.c:2010
+#: ../clutter/clutter-stage.c:2021
 msgid "Stage Title"
 msgstr "Títol de l'escenari"
 
-#: ../clutter/clutter-stage.c:2027
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Fog"
 msgstr "Utilitza la boira"
 
-#: ../clutter/clutter-stage.c:2028
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to enable depth cueing"
 msgstr "Si s'habilita la percepció de profunditat"
 
-#: ../clutter/clutter-stage.c:2044
+#: ../clutter/clutter-stage.c:2055
 msgid "Fog"
 msgstr "Boira"
 
-#: ../clutter/clutter-stage.c:2045
+#: ../clutter/clutter-stage.c:2056
 msgid "Settings for the depth cueing"
 msgstr "Paràmetres de la percepció de profunditat"
 
-#: ../clutter/clutter-stage.c:2061
+#: ../clutter/clutter-stage.c:2072
 msgid "Use Alpha"
 msgstr "Utilitza l'alfa"
 
-#: ../clutter/clutter-stage.c:2062
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Si s'ha de respectar el component alfa del color de l'escenari"
 
-#: ../clutter/clutter-stage.c:2078
+#: ../clutter/clutter-stage.c:2089
 msgid "Key Focus"
 msgstr "Focus clau"
 
-#: ../clutter/clutter-stage.c:2079
+#: ../clutter/clutter-stage.c:2090
 msgid "The currently key focused actor"
 msgstr "L'actor clau que té el focus"
 
-#: ../clutter/clutter-stage.c:2095
+#: ../clutter/clutter-stage.c:2106
 msgid "No Clear Hint"
 msgstr "Sense indicació de neteja"
 
-#: ../clutter/clutter-stage.c:2096
+#: ../clutter/clutter-stage.c:2107
 msgid "Whether the stage should clear its contents"
 msgstr "Si l'escenari hauria de netejar els seus continguts"
 
-#: ../clutter/clutter-stage.c:2109
+#: ../clutter/clutter-stage.c:2120
 msgid "Accept Focus"
 msgstr "Accepta el focus"
 
-#: ../clutter/clutter-stage.c:2110
+#: ../clutter/clutter-stage.c:2121
 msgid "Whether the stage should accept focus on show"
 msgstr "Si l'escenari hauria d'acceptar el focus en mostrar-se"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3472
+#: ../clutter/clutter-table-layout.c:543
+msgid "Column Number"
+msgstr "Número de columna"
+
+#: ../clutter/clutter-table-layout.c:544
+msgid "The column the widget resides in"
+msgstr "La columna en la que està el giny"
+
+#: ../clutter/clutter-table-layout.c:551
+msgid "Row Number"
+msgstr "Número de fila"
+
+#: ../clutter/clutter-table-layout.c:552
+msgid "The row the widget resides in"
+msgstr "La fila en la que està el giny"
+
+#: ../clutter/clutter-table-layout.c:559
+msgid "Column Span"
+msgstr "Abast en columnes"
+
+#: ../clutter/clutter-table-layout.c:560
+msgid "The number of columns the widget should span"
+msgstr "El nombre de columnes que hauria d'abastir el giny"
+
+#: ../clutter/clutter-table-layout.c:567
+msgid "Row Span"
+msgstr "Abast en files"
+
+#: ../clutter/clutter-table-layout.c:568
+msgid "The number of rows the widget should span"
+msgstr "El nombre de files que hauria d'abastir el giny"
+
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Expansió horitzontal"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Ubica espai extra per al fill en l'eix horitzontal"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Expansió vertical"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Ubica espai extra per al fill en l'eix vertical"
+
+#: ../clutter/clutter-table-layout.c:1638
+msgid "Spacing between columns"
+msgstr "Espaiat entre columnes"
+
+#: ../clutter/clutter-table-layout.c:1652
+msgid "Spacing between rows"
+msgstr "Espaiat entre files"
+
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Text"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "El contingut de la memòria intermèdia"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Llargada del text"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "La llargada del text que hi ha actualment a la memòria intermèdia"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Llargada màxima"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Nombre màxim de caràcters per aquesta entrada. Zero si no té màxim"
 
-#: ../clutter/clutter-text.c:3419
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Memòria intermèdia"
 
-#: ../clutter/clutter-text.c:3420
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "La memòria intermèdia del text"
 
-#: ../clutter/clutter-text.c:3438
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "El tipus de lletra per al text"
 
-#: ../clutter/clutter-text.c:3455
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Descripció del tipus de lletra"
 
-#: ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "La descripció del tipus de lletra que s'utilitzarà"
 
-#: ../clutter/clutter-text.c:3473
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "El text a renderitzar"
 
-#: ../clutter/clutter-text.c:3487
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Color del tipus de lletra"
 
-#: ../clutter/clutter-text.c:3488
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "El color del tipus de lletra que utilitzarà el text"
 
-#: ../clutter/clutter-text.c:3503
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Editable"
 
-#: ../clutter/clutter-text.c:3504
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Si el text es pot editar"
 
-#: ../clutter/clutter-text.c:3519
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Seleccionable"
 
-#: ../clutter/clutter-text.c:3520
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Si el text es pot seleccionar"
 
-#: ../clutter/clutter-text.c:3534
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Activable"
 
-#: ../clutter/clutter-text.c:3535
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Si s'emet el senyal d'activació en prémer la tecla de retorn"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Si és visible el cursor d'entrada"
 
-#: ../clutter/clutter-text.c:3566 ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Color del cursor"
 
-#: ../clutter/clutter-text.c:3582
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Establert el color del cursor"
 
-#: ../clutter/clutter-text.c:3583
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Si s'ha establert el color del cursor"
 
-#: ../clutter/clutter-text.c:3598
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Mida del cursor"
 
-#: ../clutter/clutter-text.c:3599
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "L'amplada del cursor, en píxels"
 
-#: ../clutter/clutter-text.c:3615 ../clutter/clutter-text.c:3633
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Posició del cursor"
 
-#: ../clutter/clutter-text.c:3616 ../clutter/clutter-text.c:3634
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "La posició del cursor"
 
-#: ../clutter/clutter-text.c:3649
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Extrem de selecció"
 
-#: ../clutter/clutter-text.c:3650
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "La posició del cursor a l'altre extrem de la selecció"
 
-#: ../clutter/clutter-text.c:3665 ../clutter/clutter-text.c:3666
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Color de la selecció"
 
-#: ../clutter/clutter-text.c:3681
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Establert el color de selecció"
 
-#: ../clutter/clutter-text.c:3682
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Si s'ha establert el color de selecció"
 
-#: ../clutter/clutter-text.c:3697
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Atributs"
 
-#: ../clutter/clutter-text.c:3698
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Una llista d'atributs d'estil per aplicar als continguts de l'actor"
 
-#: ../clutter/clutter-text.c:3720
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Utilitza l'etiquetatge"
 
-#: ../clutter/clutter-text.c:3721
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Si el text inclou etiquetatge de la Pango"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Ajustament de línia"
 
-#: ../clutter/clutter-text.c:3738
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Si s'estableix, ajusta les línies si el text és massa ample"
 
-#: ../clutter/clutter-text.c:3753
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Mode d'ajust de línia"
 
-#: ../clutter/clutter-text.c:3754
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Controla com s'ajusten les línies"
 
-#: ../clutter/clutter-text.c:3769
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Punts suspensius"
 
-#: ../clutter/clutter-text.c:3770
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "El lloc preferit on posar punts suspensius al segment"
 
-#: ../clutter/clutter-text.c:3786
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Alineació de la línia"
 
-#: ../clutter/clutter-text.c:3787
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr ""
 "L'alineació preferida per al segment quan és un text de més d'una línia"
 
-#: ../clutter/clutter-text.c:3803
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Justifica"
 
-#: ../clutter/clutter-text.c:3804
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Si el text s'hauria de justificar"
 
-#: ../clutter/clutter-text.c:3819
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Caràcter de contrasenya"
 
-#: ../clutter/clutter-text.c:3820
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Si no és zero, utilitza aquest caràcter per mostrar els continguts de l'actor"
 
-#: ../clutter/clutter-text.c:3834
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Llargada màxima"
 
-#: ../clutter/clutter-text.c:3835
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Llargada màxima del text dins de l'actor"
 
-#: ../clutter/clutter-text.c:3858
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Mode d'una línia sola"
 
-#: ../clutter/clutter-text.c:3859
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Si el text hauria de ser una sola línia"
 
-#: ../clutter/clutter-text.c:3873 ../clutter/clutter-text.c:3874
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Color del text seleccionat"
 
-#: ../clutter/clutter-text.c:3889
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Establert el color del text seleccionat"
 
-#: ../clutter/clutter-text.c:3890
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Si s'ha establert el color del text seleccionat"
 
-#: ../clutter/clutter-timeline.c:591
-#: ../clutter/deprecated/clutter-animation.c:506
+#: ../clutter/clutter-timeline.c:594
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Repetició"
 
-#: ../clutter/clutter-timeline.c:592
+#: ../clutter/clutter-timeline.c:595
 msgid "Should the timeline automatically restart"
 msgstr "Si s'hauria de reiniciar automàticament la línia del temps"
 
-#: ../clutter/clutter-timeline.c:606
+#: ../clutter/clutter-timeline.c:609
 msgid "Delay"
 msgstr "Retard"
 
-#: ../clutter/clutter-timeline.c:607
+#: ../clutter/clutter-timeline.c:610
 msgid "Delay before start"
 msgstr "El retard abans d'iniciar"
 
-#: ../clutter/clutter-timeline.c:622
-#: ../clutter/deprecated/clutter-animation.c:490
-#: ../clutter/deprecated/clutter-animator.c:1792
+#: ../clutter/clutter-timeline.c:625
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1515
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Durada"
 
-#: ../clutter/clutter-timeline.c:623
+#: ../clutter/clutter-timeline.c:626
 msgid "Duration of the timeline in milliseconds"
-msgstr "La durada de la línia del temps en mil·lisegons"
+msgstr "La durada de la línia del temps en miŀlisegons"
 
-#: ../clutter/clutter-timeline.c:638
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:641
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Direcció"
 
-#: ../clutter/clutter-timeline.c:639
+#: ../clutter/clutter-timeline.c:642
 msgid "Direction of the timeline"
 msgstr "La direcció de la línia del temps"
 
-#: ../clutter/clutter-timeline.c:654
+#: ../clutter/clutter-timeline.c:657
 msgid "Auto Reverse"
 msgstr "Capgira automàticament"
 
-#: ../clutter/clutter-timeline.c:655
+#: ../clutter/clutter-timeline.c:658
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Si la direcció s'hauria de capgirar quan s'arribi al final"
 
-#: ../clutter/clutter-timeline.c:673
+#: ../clutter/clutter-timeline.c:676
 msgid "Repeat Count"
 msgstr "Comptador de repeticions"
 
-#: ../clutter/clutter-timeline.c:674
+#: ../clutter/clutter-timeline.c:677
 msgid "How many times the timeline should repeat"
 msgstr "Nombre de vegades que s'hauria de repetir la línia de temps"
 
-#: ../clutter/clutter-timeline.c:688
+#: ../clutter/clutter-timeline.c:691
 msgid "Progress Mode"
 msgstr "Mode de progrés"
 
-#: ../clutter/clutter-timeline.c:689
+#: ../clutter/clutter-timeline.c:692
 msgid "How the timeline should compute the progress"
 msgstr "Com s'ha de calcular el progrés de la línia del temps"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Interval"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "L'interval de valors en que es farà la transició"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Es pot animar"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "L'objecte que es pot animar"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Suprimeix en completar"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Desacobla la transició quan es completi"
 
-#: ../clutter/clutter-zoom-action.c:365
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Eix d'ampliació"
 
-#: ../clutter/clutter-zoom-action.c:366
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Restringeix l'ampliació a un eix"
 
-#: ../clutter/deprecated/clutter-alpha.c:347
-#: ../clutter/deprecated/clutter-animation.c:521
-#: ../clutter/deprecated/clutter-animator.c:1809
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "Timeline"
 msgstr "Línia del temps"
 
-#: ../clutter/deprecated/clutter-alpha.c:348
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "La línia del temps que utilitzarà l'alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:364
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Valor alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:365
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "El valor alfa calculat per l'alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:386
-#: ../clutter/deprecated/clutter-animation.c:474
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Mode"
 
-#: ../clutter/deprecated/clutter-alpha.c:387
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Mode de progrés"
 
-#: ../clutter/deprecated/clutter-animation.c:457
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Objecte"
 
-#: ../clutter/deprecated/clutter-animation.c:458
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "L'objecte al que s'aplica l'animació"
 
-#: ../clutter/deprecated/clutter-animation.c:475
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "El mode de l'animació"
 
-#: ../clutter/deprecated/clutter-animation.c:491
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
-msgstr "Durada de l'animació, en mil·lisegons"
+msgstr "Durada de l'animació, en miŀlisegons"
 
-#: ../clutter/deprecated/clutter-animation.c:507
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Si l'animació s'hauria de repetir"
 
-#: ../clutter/deprecated/clutter-animation.c:522
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "La línia del temps que utilitzarà l'animació"
 
-#: ../clutter/deprecated/clutter-animation.c:538
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alfa"
 
-#: ../clutter/deprecated/clutter-animation.c:539
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "L'alfa que utilitzarà l'animació"
 
-#: ../clutter/deprecated/clutter-animator.c:1793
+#: ../clutter/deprecated/clutter-animator.c:1805
 msgid "The duration of the animation"
 msgstr "La durada de l'animació"
 
-#: ../clutter/deprecated/clutter-animator.c:1810
+#: ../clutter/deprecated/clutter-animator.c:1822
 msgid "The timeline of the animation"
 msgstr "La línia del temps de l'animació"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "L'objecte alfa que estableix el comportament"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Profunditat inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "La profunditat inicial a aplicar"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Profunditat final"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "La profunditat final a aplicar"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Angle d'inici"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Angle inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Angle de fi"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Angle final"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Angle d'inclinació X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
-msgstr "La inclinació de l'el·lipse al voltant de l'eix de les X"
+msgstr "La inclinació de l'eŀlipse al voltant de l'eix de les X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Angle d'inclinació Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
-msgstr "La inclinació de l'el·lipse al voltant de l'eix de les Y"
+msgstr "La inclinació de l'eŀlipse al voltant de l'eix de les Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Angle d'inclinació Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
-msgstr "La inclinació de l'el·lipse al voltant de l'eix de les Z"
+msgstr "La inclinació de l'eŀlipse al voltant de l'eix de les Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
-msgstr "Amplada de l'el·lipse"
+msgstr "Amplada de l'eŀlipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
-msgstr "Alçada de l'el·lipse"
+msgstr "Alçada de l'eŀlipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Centre"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
-msgstr "El centre de l'el·lipse"
+msgstr "El centre de l'eŀlipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Direcció de la rotació"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Opacitat inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "El nivell d'opacitat inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Opacitat final"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "El nivell d'opacitat final"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "L'objecte «ClutterPath» que representa el camí en el que s'anima"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Angle inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Angle final"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Eix"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "L'eix de rotació"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Centre X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "La coordenada X del centre de rotació"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Centre Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "La coordenada Y del centre de rotació"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Centre Z"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "La coordenada Z del centre de rotació"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Escala inicial X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "L'escala inicial en l'eix de les X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Escala final X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "L'escala final en l'eix de les X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Escala inicial Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "L'escala inicial en l'eix de les Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Escala final Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "L'escala final en l'eix de les Y"
 
-#: ../clutter/deprecated/clutter-box.c:255
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "El color de fons de la caixa"
 
-#: ../clutter/deprecated/clutter-box.c:268
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Té color"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:585
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Amplada de la superfície"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:586
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "L'amplada de la superfície Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:603
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Alçada de la superfície"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:604
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "L'alçada de la superfície Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:624
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Redimensiona automàticament"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:625
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Si la superfície hauria de coincidir amb la ubicació"
 
@@ -2411,160 +2391,104 @@ msgstr "El nivell d'emplenament de la memòria intermèdia"
 msgid "The duration of the stream, in seconds"
 msgstr "La durada del flux, en segons"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "El color del rectangle"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Color de la vora"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "El color de la vora del rectangle"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Amplada de la vora"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "L'amplada de la vora del rectangle"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Té vora"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Si el rectangle hauria de tenir vora"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Font del vèrtex"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Font del shader del vèrtex"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Font del fragment"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Font del shader del fragment"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Compilat"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Si el shader és compilat i enllaçat"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Si el shader és habilitat"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "Ha fallat la compilació del %s: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Shader de vèrtex"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Shader del fragment"
 
-#: ../clutter/deprecated/clutter-state.c:1497
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "State"
 msgstr "Estat"
 
-#: ../clutter/deprecated/clutter-state.c:1498
+#: ../clutter/deprecated/clutter-state.c:1506
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "L'estat establert actualment (potser encara no s'ha completat la transició a "
 "aquest estat)"
 
-#: ../clutter/deprecated/clutter-state.c:1516
+#: ../clutter/deprecated/clutter-state.c:1524
 msgid "Default transition duration"
 msgstr "La durada per defecte de la transició"
 
-#: ../clutter/deprecated/clutter-table-layout.c:535
-msgid "Column Number"
-msgstr "Número de columna"
-
-#: ../clutter/deprecated/clutter-table-layout.c:536
-msgid "The column the widget resides in"
-msgstr "La columna en la que està el giny"
-
-#: ../clutter/deprecated/clutter-table-layout.c:543
-msgid "Row Number"
-msgstr "Número de fila"
-
-#: ../clutter/deprecated/clutter-table-layout.c:544
-msgid "The row the widget resides in"
-msgstr "La fila en la que està el giny"
-
-#: ../clutter/deprecated/clutter-table-layout.c:551
-msgid "Column Span"
-msgstr "Abast en columnes"
-
-#: ../clutter/deprecated/clutter-table-layout.c:552
-msgid "The number of columns the widget should span"
-msgstr "El nombre de columnes que hauria d'abastir el giny"
-
-#: ../clutter/deprecated/clutter-table-layout.c:559
-msgid "Row Span"
-msgstr "Abast en files"
-
-#: ../clutter/deprecated/clutter-table-layout.c:560
-msgid "The number of rows the widget should span"
-msgstr "El nombre de files que hauria d'abastir el giny"
-
-#: ../clutter/deprecated/clutter-table-layout.c:567
-msgid "Horizontal Expand"
-msgstr "Expansió horitzontal"
-
-#: ../clutter/deprecated/clutter-table-layout.c:568
-msgid "Allocate extra space for the child in horizontal axis"
-msgstr "Ubica espai extra per al fill en l'eix horitzontal"
-
-#: ../clutter/deprecated/clutter-table-layout.c:574
-msgid "Vertical Expand"
-msgstr "Expansió vertical"
-
-#: ../clutter/deprecated/clutter-table-layout.c:575
-msgid "Allocate extra space for the child in vertical axis"
-msgstr "Ubica espai extra per al fill en l'eix vertical"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1630
-msgid "Spacing between columns"
-msgstr "Espaiat entre columnes"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1646
-msgid "Spacing between rows"
-msgstr "Espaiat entre files"
-
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Sincronitza la mida de l'actor"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Sincronitza automàticament la mida de l'actor amb les mides de la memòria de "
 "píxels de rerefons"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Inhabilita el tallat"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2572,100 +2496,100 @@ msgstr ""
 "Força la textura de rerefons a ser una de sola i no estar formada per "
 "diverses de més petites"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Desaprofitament de quadre"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Àrea màxima de desaprofitament d'una textura tallada"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Repetició horitzontal"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Repeteix els continguts en comptes d'escalar-los horitzontalment"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Repetició vertical"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Repeteix els continguts en comptes d'escalar-los verticalment"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Qualitat del filtre"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "La qualitat de la renderització quan es dibuixi una textura"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Format del píxel"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "El format de píxel de Cogl a utilitzar"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Textura de Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr ""
 "El gestor de la textura de Cogl de rerefons que s'utilitza per dibuixar "
 "aquest actor"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Material de Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 "El gestor del material de Cogl de rerefons que s'utilitza per dibuixar "
 "aquest actor"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "El camí al fitxer que conté les dades de la imatge"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
-msgstr "Mantén la relació d'aspecte"
+msgstr "Manté la relació d'aspecte"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
 msgstr ""
-"Mantén la relació d'aspecte de la textura quan es sol·liciti una amplada o "
+"Manté la relació d'aspecte de la textura quan es soŀliciti una amplada o "
 "alçada preferida"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Carrega asíncronament"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Carrega els fitxers en un altre fil d'execució per evitar el blocatge quan "
 "es carreguin imatges del disc"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Carrega les dades asíncronament"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2673,179 +2597,198 @@ msgstr ""
 "Descodifica els fitxers de dades d'imatge en un altre fil d'execució per "
 "reduir el blocatge quan es carreguin imatges del disc"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Selecció amb transparència"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Modela l'actor amb un canal de transparència quan es seleccioni"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "No s'han pogut carregar les dades de la imatge"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "No es poden utilitzar textures YUV"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "No es poden utilitzar textures YUV2"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "Camí al sysfs"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "Camí al dispositiu a sysfs"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Camí al dispositiu"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Camí al node del dispositiu"
+
+#: ../clutter/gdk/clutter-backend-gdk.c:287
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "No s'ha pogut trobar cap CoglWinsys per a una GdkDisplay del tipus %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Superfície"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "La superfície de Wayland de rerefons"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Amplada de la superfície"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "L'amplada de la superfície Wayland subjacent"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Alçada de la superfície"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "L'alçada de la superfície Wayland subjacent"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:507
 msgid "X display to use"
 msgstr "El monitor d'X a utilitzar"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:513
 msgid "X screen to use"
 msgstr "La pantalla d'X a utilitzar"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:518
 msgid "Make X calls synchronous"
 msgstr "Fes les crides síncrones a l'X"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
+#: ../clutter/x11/clutter-backend-x11.c:525
 msgid "Disable XInput support"
 msgstr "Inhabilita l'XInput"
 
-#: ../clutter/x11/clutter-keymap-x11.c:458
+#: ../clutter/x11/clutter-keymap-x11.c:322
 msgid "The Clutter backend"
 msgstr "El rerefons de la Clutter"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Mapa de píxels"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "El mapa de píxels X11 que es vincularà"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Amplada del mapa de píxels"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "L'amplada del mapa de píxels vinculat a aquesta textura"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Alçada del mapa de píxels"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "L'alçada del mapa de píxels vinculat a aquesta textura"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Profunditat del mapa de píxels"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr ""
 "La profunditat (en nombre de bits) del mapa de píxels vinculat a aquesta "
 "textura"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Actualitzacions automàtiques"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Si la textura s'hauria de mantenir sincronitzada amb els canvis al mapa de "
 "píxels."
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "La finestra X11 que es vincularà"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Redireccions automàtiques de finestres"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Si les redireccions de les finestres compostes són automàtiques (o manuals "
 "si «false» (fals))"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Finestra mapada"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Si la finestra és mapada"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Destruïda"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Si s'ha destruït la finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "X de la finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "La posició X de la finestra a la pantalla segons l'X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Y de la finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "La posició Y de la finestra a la pantalla segons l'X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Redirecció de la sobreescriptura de la finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Si és una finestra de redirecció de la sobreescriptura"
+
+#~ msgid "The layout manager used by the box"
+#~ msgstr "El gestor de disposició utilitzat per la caixa"
diff --git a/po/ca valencia po b/po/ca valencia po
index fda0933..1187953 100644
--- a/po/ca valencia po
+++ b/po/ca valencia po
@@ -1,7 +1,7 @@
 # Catalan translation for clutter.
 # Copyright (C) 2011 clutter's COPYRIGHT HOLDER
 # This file is distributed under the same license as the clutter package.
-# Gil Forcada <gilforcada guifi net>, 2011, 2012, 2013.
+# Gil Forcada <gilforcada guifi net>, 2011, 2012.
 # Jordi Serratosa <jordis softcatala cat>, 2012.
 #
 msgid ""
@@ -9,570 +9,676 @@ msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter\n"
-"POT-Creation-Date: 2014-05-12 23:45+0200\n"
-"PO-Revision-Date: 2014-03-21 05:55+0100\n"
-"Last-Translator: Pau Iranzo <paugnu gmail com>\n"
+"POT-Creation-Date: 2012-09-21 21:37+0200\n"
+"PO-Revision-Date: 2012-09-21 21:34+0200\n"
+"Last-Translator: Gil Forcada <gilforcada guifi net>\n"
 "Language-Team: Catalan <tradgnome softcatala org>\n"
 "Language: ca-XV\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Transfer-Encoding: 8bits\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ../clutter/clutter-actor.c:5581
+#: ../clutter/clutter-actor.c:6125
 msgid "X coordinate"
 msgstr "Coordenada X"
 
-#: ../clutter/clutter-actor.c:5582
+#: ../clutter/clutter-actor.c:6126
 msgid "X coordinate of the actor"
 msgstr "Coordenada X de l'actor"
 
-#: ../clutter/clutter-actor.c:5600
+#: ../clutter/clutter-actor.c:6144
 msgid "Y coordinate"
 msgstr "Coordenada Y"
 
-#: ../clutter/clutter-actor.c:5601
+#: ../clutter/clutter-actor.c:6145
 msgid "Y coordinate of the actor"
 msgstr "Coordenada Y de l'actor"
 
-#: ../clutter/clutter-actor.c:5623
+#: ../clutter/clutter-actor.c:6167
 msgid "Position"
 msgstr "Posició"
 
-#: ../clutter/clutter-actor.c:5624
+#: ../clutter/clutter-actor.c:6168
 msgid "The position of the origin of the actor"
 msgstr "La posició de l'origen de l'actor"
 
-#: ../clutter/clutter-actor.c:5641 ../clutter/clutter-canvas.c:220
+#: ../clutter/clutter-actor.c:6185 ../clutter/clutter-canvas.c:215
 #: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Amplada"
 
-#: ../clutter/clutter-actor.c:5642
+#: ../clutter/clutter-actor.c:6186
 msgid "Width of the actor"
 msgstr "Amplada de l'actor"
 
-#: ../clutter/clutter-actor.c:5660 ../clutter/clutter-canvas.c:236
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:231
 #: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Alçada"
 
-#: ../clutter/clutter-actor.c:5661
+#: ../clutter/clutter-actor.c:6205
 msgid "Height of the actor"
 msgstr "Alçada de l'actor"
 
-#: ../clutter/clutter-actor.c:5682
+#: ../clutter/clutter-actor.c:6226
 msgid "Size"
 msgstr "Mida"
 
-#: ../clutter/clutter-actor.c:5683
+#: ../clutter/clutter-actor.c:6227
 msgid "The size of the actor"
 msgstr "La mida de l'actor"
 
-#: ../clutter/clutter-actor.c:5701
+#: ../clutter/clutter-actor.c:6245
 msgid "Fixed X"
 msgstr "X fixada"
 
-#: ../clutter/clutter-actor.c:5702
+#: ../clutter/clutter-actor.c:6246
 msgid "Forced X position of the actor"
 msgstr "Posició X forçada de l'actor"
 
-#: ../clutter/clutter-actor.c:5719
+#: ../clutter/clutter-actor.c:6263
 msgid "Fixed Y"
 msgstr "Y fixada"
 
-#: ../clutter/clutter-actor.c:5720
+#: ../clutter/clutter-actor.c:6264
 msgid "Forced Y position of the actor"
 msgstr "Posició Y forçada de l'actor"
 
-#: ../clutter/clutter-actor.c:5735
+#: ../clutter/clutter-actor.c:6279
 msgid "Fixed position set"
 msgstr "Ús de la posició fixa"
 
-#: ../clutter/clutter-actor.c:5736
+#: ../clutter/clutter-actor.c:6280
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Si s'ha d'utilitzar el posicionament fixat per a l'actor"
 
-#: ../clutter/clutter-actor.c:5754
+#: ../clutter/clutter-actor.c:6298
 msgid "Min Width"
 msgstr "Amplada mínima"
 
-#: ../clutter/clutter-actor.c:5755
+#: ../clutter/clutter-actor.c:6299
 msgid "Forced minimum width request for the actor"
-msgstr "Amplada mínima forçada sol·licitada per l'actor"
+msgstr "Amplada mínima forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:5773
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Height"
 msgstr "Alçada mínima"
 
-#: ../clutter/clutter-actor.c:5774
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum height request for the actor"
-msgstr "Alçada mínima forçada sol·licitada per l'actor"
+msgstr "Alçada mínima forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:5792
+#: ../clutter/clutter-actor.c:6336
 msgid "Natural Width"
 msgstr "Amplada natural"
 
-#: ../clutter/clutter-actor.c:5793
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced natural width request for the actor"
-msgstr "Amplada natural forçada sol·licitada per l'actor"
+msgstr "Amplada natural forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:5811
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Height"
 msgstr "Alçada natural"
 
-#: ../clutter/clutter-actor.c:5812
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural height request for the actor"
-msgstr "Alçada natural forçada sol·licitada per l'actor"
+msgstr "Alçada natural forçada soŀlicitada per l'actor"
 
-#: ../clutter/clutter-actor.c:5827
+#: ../clutter/clutter-actor.c:6371
 msgid "Minimum width set"
 msgstr "Ús de l'amplada mínima"
 
-#: ../clutter/clutter-actor.c:5828
+#: ../clutter/clutter-actor.c:6372
 msgid "Whether to use the min-width property"
 msgstr "Si s'ha d'utilitzar la propietat «amplada mínima»"
 
-#: ../clutter/clutter-actor.c:5842
+#: ../clutter/clutter-actor.c:6386
 msgid "Minimum height set"
 msgstr "Ús de l'alçada mínima"
 
-#: ../clutter/clutter-actor.c:5843
+#: ../clutter/clutter-actor.c:6387
 msgid "Whether to use the min-height property"
 msgstr "Si s'ha d'utilitzar la propietat «alçada mínima»"
 
-#: ../clutter/clutter-actor.c:5857
+#: ../clutter/clutter-actor.c:6401
 msgid "Natural width set"
 msgstr "Ús de l'amplada natural"
 
-#: ../clutter/clutter-actor.c:5858
+#: ../clutter/clutter-actor.c:6402
 msgid "Whether to use the natural-width property"
 msgstr "Si s'ha d'utilitzar la propietat «amplada natural»"
 
-#: ../clutter/clutter-actor.c:5872
+#: ../clutter/clutter-actor.c:6416
 msgid "Natural height set"
 msgstr "Ús de l'alçada natural"
 
-#: ../clutter/clutter-actor.c:5873
+#: ../clutter/clutter-actor.c:6417
 msgid "Whether to use the natural-height property"
 msgstr "Si s'ha d'utilitzar la propietat «alçada natural»"
 
-#: ../clutter/clutter-actor.c:5889
+#: ../clutter/clutter-actor.c:6433
 msgid "Allocation"
 msgstr "Ubicació"
 
-#: ../clutter/clutter-actor.c:5890
+#: ../clutter/clutter-actor.c:6434
 msgid "The actor's allocation"
 msgstr "La ubicació de l'actor"
 
-#: ../clutter/clutter-actor.c:5947
+#: ../clutter/clutter-actor.c:6491
 msgid "Request Mode"
-msgstr "Mode sol·licitat"
+msgstr "Mode soŀlicitat"
 
-#: ../clutter/clutter-actor.c:5948
+#: ../clutter/clutter-actor.c:6492
 msgid "The actor's request mode"
-msgstr "El mode sol·licitat per l'actor"
+msgstr "El mode soŀlicitat per l'actor"
 
-#: ../clutter/clutter-actor.c:5972
+#: ../clutter/clutter-actor.c:6516
+msgid "Depth"
+msgstr "Profunditat"
+
+#: ../clutter/clutter-actor.c:6517
+msgid "Position on the Z axis"
+msgstr "Posició en l'eix de la Z"
+
+#: ../clutter/clutter-actor.c:6544
 msgid "Z Position"
 msgstr "Posició Z"
 
-#: ../clutter/clutter-actor.c:5973
+#: ../clutter/clutter-actor.c:6545
 msgid "The actor's position on the Z axis"
 msgstr "La posició de l'actor en l'eix de la Z"
 
-#: ../clutter/clutter-actor.c:5990
+#: ../clutter/clutter-actor.c:6562
 msgid "Opacity"
 msgstr "Opacitat"
 
-#: ../clutter/clutter-actor.c:5991
+#: ../clutter/clutter-actor.c:6563
 msgid "Opacity of an actor"
 msgstr "Opacitat d'un actor"
 
-#: ../clutter/clutter-actor.c:6011
+#: ../clutter/clutter-actor.c:6583
 msgid "Offscreen redirect"
 msgstr "Redireccionament fora de pantalla"
 
-#: ../clutter/clutter-actor.c:6012
+#: ../clutter/clutter-actor.c:6584
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr ""
 "Senyaladors que controlen quan s'ha d'aplanar l'actor a una sola imatge"
 
-#: ../clutter/clutter-actor.c:6026
+#: ../clutter/clutter-actor.c:6598
 msgid "Visible"
 msgstr "Visible"
 
-#: ../clutter/clutter-actor.c:6027
+#: ../clutter/clutter-actor.c:6599
 msgid "Whether the actor is visible or not"
 msgstr "Si l'actor és visible"
 
-#: ../clutter/clutter-actor.c:6041
+#: ../clutter/clutter-actor.c:6613
 msgid "Mapped"
 msgstr "Mapat"
 
-#: ../clutter/clutter-actor.c:6042
+#: ../clutter/clutter-actor.c:6614
 msgid "Whether the actor will be painted"
 msgstr "Si l'actor es pintarà"
 
-#: ../clutter/clutter-actor.c:6055
+#: ../clutter/clutter-actor.c:6627
 msgid "Realized"
 msgstr "Realitzat"
 
-#: ../clutter/clutter-actor.c:6056
+#: ../clutter/clutter-actor.c:6628
 msgid "Whether the actor has been realized"
 msgstr "Si l'actor s'ha realitzat"
 
-#: ../clutter/clutter-actor.c:6071
+#: ../clutter/clutter-actor.c:6643
 msgid "Reactive"
 msgstr "Reactiu"
 
-#: ../clutter/clutter-actor.c:6072
+#: ../clutter/clutter-actor.c:6644
 msgid "Whether the actor is reactive to events"
 msgstr "Si l'actor reacciona a esdeveniments"
 
-#: ../clutter/clutter-actor.c:6083
+#: ../clutter/clutter-actor.c:6655
 msgid "Has Clip"
 msgstr "Té un retallat"
 
-#: ../clutter/clutter-actor.c:6084
+#: ../clutter/clutter-actor.c:6656
 msgid "Whether the actor has a clip set"
 msgstr "Si l'actor té un retallat establit"
 
-#: ../clutter/clutter-actor.c:6103
+#: ../clutter/clutter-actor.c:6669
+msgid "Clip"
+msgstr "Retallat"
+
+#: ../clutter/clutter-actor.c:6670
+msgid "The clip region for the actor"
+msgstr "La regió de retallat de l'actor"
+
+#: ../clutter/clutter-actor.c:6689
 msgid "Clip Rectangle"
 msgstr "Rectangle retallat"
 
-#: ../clutter/clutter-actor.c:6104
+#: ../clutter/clutter-actor.c:6690
 msgid "The visible region of the actor"
 msgstr "La regió visible de l'actor"
 
-#: ../clutter/clutter-actor.c:6118 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-actor.c:6704 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nom"
 
-#: ../clutter/clutter-actor.c:6119
+#: ../clutter/clutter-actor.c:6705
 msgid "Name of the actor"
 msgstr "El nom de l'actor"
 
-#: ../clutter/clutter-actor.c:6140
+#: ../clutter/clutter-actor.c:6726
 msgid "Pivot Point"
 msgstr "Punt de pivotació"
 
-#: ../clutter/clutter-actor.c:6141
+#: ../clutter/clutter-actor.c:6727
 msgid "The point around which the scaling and rotation occur"
 msgstr "El punt sobre el qual es fa l'escalat i la rotació"
 
-#: ../clutter/clutter-actor.c:6159
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point Z"
 msgstr "El punt de pivotació sobre la Z"
 
-#: ../clutter/clutter-actor.c:6160
+#: ../clutter/clutter-actor.c:6746
 msgid "Z component of the pivot point"
 msgstr "Component Z del punt de pivotació"
 
-#: ../clutter/clutter-actor.c:6178
+#: ../clutter/clutter-actor.c:6764
 msgid "Scale X"
 msgstr "Escala X"
 
-#: ../clutter/clutter-actor.c:6179
+#: ../clutter/clutter-actor.c:6765
 msgid "Scale factor on the X axis"
 msgstr "El factor d'escala en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:6197
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale Y"
 msgstr "Escala Y"
 
-#: ../clutter/clutter-actor.c:6198
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the Y axis"
 msgstr "El factor d'escala en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:6216
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Z"
 msgstr "Escala Z"
 
-#: ../clutter/clutter-actor.c:6217
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Z axis"
 msgstr "El factor d'escala en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:6235
+#: ../clutter/clutter-actor.c:6821
+msgid "Scale Center X"
+msgstr "Centre de l'escala X"
+
+#: ../clutter/clutter-actor.c:6822
+msgid "Horizontal scale center"
+msgstr "Centre horitzontal de l'escala"
+
+#: ../clutter/clutter-actor.c:6840
+msgid "Scale Center Y"
+msgstr "Centre de l'escala Y"
+
+#: ../clutter/clutter-actor.c:6841
+msgid "Vertical scale center"
+msgstr "Centre vertical de l'escala"
+
+#: ../clutter/clutter-actor.c:6859
+msgid "Scale Gravity"
+msgstr "Gravetat de l'escala"
+
+#: ../clutter/clutter-actor.c:6860
+msgid "The center of scaling"
+msgstr "El centre de l'escalat"
+
+#: ../clutter/clutter-actor.c:6878
 msgid "Rotation Angle X"
 msgstr "Angle de rotació X"
 
-#: ../clutter/clutter-actor.c:6236
+#: ../clutter/clutter-actor.c:6879
 msgid "The rotation angle on the X axis"
 msgstr "L'angle de rotació en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:6254
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle Y"
 msgstr "Angle de rotació Y"
 
-#: ../clutter/clutter-actor.c:6255
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the Y axis"
 msgstr "L'angle de rotació en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:6273
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Z"
 msgstr "Angle de rotació Z"
 
-#: ../clutter/clutter-actor.c:6274
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Z axis"
 msgstr "L'angle de rotació en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:6293
+#: ../clutter/clutter-actor.c:6935
+msgid "Rotation Center X"
+msgstr "Centre de rotació X"
+
+#: ../clutter/clutter-actor.c:6936
+msgid "The rotation center on the X axis"
+msgstr "El centre de rotació en l'eix de les X"
+
+#: ../clutter/clutter-actor.c:6953
+msgid "Rotation Center Y"
+msgstr "Centre de rotació Y"
+
+#: ../clutter/clutter-actor.c:6954
+msgid "The rotation center on the Y axis"
+msgstr "El centre de rotació en l'eix de les Y"
+
+#: ../clutter/clutter-actor.c:6971
+msgid "Rotation Center Z"
+msgstr "Centre de rotació Z"
+
+#: ../clutter/clutter-actor.c:6972
+msgid "The rotation center on the Z axis"
+msgstr "El centre de rotació en l'eix de les Z"
+
+#: ../clutter/clutter-actor.c:6989
+msgid "Rotation Center Z Gravity"
+msgstr "Gravetat del centre de rotació Z"
+
+#: ../clutter/clutter-actor.c:6990
+msgid "Center point for rotation around the Z axis"
+msgstr "Punt del centre de rotació al voltant de l'eix de les Z"
+
+#: ../clutter/clutter-actor.c:7018
+msgid "Anchor X"
+msgstr "Àncora X"
+
+#: ../clutter/clutter-actor.c:7019
+msgid "X coordinate of the anchor point"
+msgstr "Coordenada X del punt de l'àncora"
+
+#: ../clutter/clutter-actor.c:7047
+msgid "Anchor Y"
+msgstr "Àncora Y"
+
+#: ../clutter/clutter-actor.c:7048
+msgid "Y coordinate of the anchor point"
+msgstr "Coordenada Y del punt de l'àncora"
+
+#: ../clutter/clutter-actor.c:7075
+msgid "Anchor Gravity"
+msgstr "Gravetat de l'àncora"
+
+#: ../clutter/clutter-actor.c:7076
+msgid "The anchor point as a ClutterGravity"
+msgstr "El punt d'àncora com a «ClutterGravity»"
+
+#: ../clutter/clutter-actor.c:7095
 msgid "Translation X"
 msgstr "Translació X"
 
-#: ../clutter/clutter-actor.c:6294
+#: ../clutter/clutter-actor.c:7096
 msgid "Translation along the X axis"
 msgstr "La translació en l'eix de les X"
 
-#: ../clutter/clutter-actor.c:6313
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation Y"
 msgstr "Translació Y"
 
-#: ../clutter/clutter-actor.c:6314
+#: ../clutter/clutter-actor.c:7116
 msgid "Translation along the Y axis"
 msgstr "La translació en l'eix de les Y"
 
-#: ../clutter/clutter-actor.c:6333
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation Z"
 msgstr "Translació Z"
 
-#: ../clutter/clutter-actor.c:6334
+#: ../clutter/clutter-actor.c:7136
 msgid "Translation along the Z axis"
 msgstr "La translació en l'eix de les Z"
 
-#: ../clutter/clutter-actor.c:6362
+#: ../clutter/clutter-actor.c:7166
 msgid "Transform"
 msgstr "Transformació"
 
-#: ../clutter/clutter-actor.c:6363
+#: ../clutter/clutter-actor.c:7167
 msgid "Transformation matrix"
 msgstr "Matriu de transformació"
 
-#: ../clutter/clutter-actor.c:6376
+#: ../clutter/clutter-actor.c:7182
 msgid "Transform Set"
 msgstr "Establiment de la transformació"
 
-#: ../clutter/clutter-actor.c:6377
+#: ../clutter/clutter-actor.c:7183
 msgid "Whether the transform property is set"
 msgstr "Si la propietat de transformació té un valor"
 
-#: ../clutter/clutter-actor.c:6396
+#: ../clutter/clutter-actor.c:7204
 msgid "Child Transform"
 msgstr "Transformació filla"
 
-#: ../clutter/clutter-actor.c:6397
+#: ../clutter/clutter-actor.c:7205
 msgid "Children transformation matrix"
 msgstr "Matriu de la transformació filla"
 
-#: ../clutter/clutter-actor.c:6412
+#: ../clutter/clutter-actor.c:7220
 msgid "Child Transform Set"
 msgstr "Establiment de la transformació filla"
 
-#: ../clutter/clutter-actor.c:6413
+#: ../clutter/clutter-actor.c:7221
 msgid "Whether the child-transform property is set"
 msgstr "Si la propietat de transformació filla té un valor"
 
-#: ../clutter/clutter-actor.c:6431
+#: ../clutter/clutter-actor.c:7238
+msgid "Show on set parent"
+msgstr "Mostra si és pare"
+
+#: ../clutter/clutter-actor.c:7239
+msgid "Whether the actor is shown when parented"
+msgstr "Si s'ha de mostrar l'actor si se'l fa pare d'un element"
+
+#: ../clutter/clutter-actor.c:7256
 msgid "Clip to Allocation"
 msgstr "Retalla a la ubicació"
 
-#: ../clutter/clutter-actor.c:6432
+#: ../clutter/clutter-actor.c:7257
 msgid "Sets the clip region to track the actor's allocation"
 msgstr ""
 "Estableix la regió de retallat per fer un seguiment de la ubicació de l'actor"
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:7270
 msgid "Text Direction"
 msgstr "Direcció del text"
 
-#: ../clutter/clutter-actor.c:6446
+#: ../clutter/clutter-actor.c:7271
 msgid "Direction of the text"
 msgstr "La direcció del text"
 
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:7286
 msgid "Has Pointer"
 msgstr "Té un punter"
 
-#: ../clutter/clutter-actor.c:6462
+#: ../clutter/clutter-actor.c:7287
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Si l'actor conté el punter d'un dispositiu d'entrada"
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:7300
 msgid "Actions"
 msgstr "Accions"
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:7301
 msgid "Adds an action to the actor"
 msgstr "Afig una acció a l'actor"
 
-#: ../clutter/clutter-actor.c:6489
+#: ../clutter/clutter-actor.c:7314
 msgid "Constraints"
 msgstr "Restriccions"
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:7315
 msgid "Adds a constraint to the actor"
 msgstr "Afig una restricció a l'actor"
 
-#: ../clutter/clutter-actor.c:6503
+#: ../clutter/clutter-actor.c:7328
 msgid "Effect"
 msgstr "Efecte"
 
-#: ../clutter/clutter-actor.c:6504
+#: ../clutter/clutter-actor.c:7329
 msgid "Add an effect to be applied on the actor"
 msgstr "Afig un efecte que s'aplicarà a l'actor"
 
-#: ../clutter/clutter-actor.c:6518
+#: ../clutter/clutter-actor.c:7343
 msgid "Layout Manager"
 msgstr "Gestor de disposició"
 
-#: ../clutter/clutter-actor.c:6519
+#: ../clutter/clutter-actor.c:7344
 msgid "The object controlling the layout of an actor's children"
 msgstr "L'objecte que controla la disposició dels fills de l'actor"
 
-#: ../clutter/clutter-actor.c:6533
+#: ../clutter/clutter-actor.c:7358
 msgid "X Expand"
 msgstr "Expansió X"
 
-#: ../clutter/clutter-actor.c:6534
+#: ../clutter/clutter-actor.c:7359
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Si l'actor hauria de tindre assignat un espai horitzontal extra"
 
-#: ../clutter/clutter-actor.c:6549
+#: ../clutter/clutter-actor.c:7374
 msgid "Y Expand"
 msgstr "Expansió Y"
 
-#: ../clutter/clutter-actor.c:6550
+#: ../clutter/clutter-actor.c:7375
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Si l'actor hauria de tindre assignat un espai vertical extra"
 
-#: ../clutter/clutter-actor.c:6566
+#: ../clutter/clutter-actor.c:7391
 msgid "X Alignment"
 msgstr "Alineació X"
 
-#: ../clutter/clutter-actor.c:6567
+#: ../clutter/clutter-actor.c:7392
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "L'alineació de l'actor en l'eix de les X dins la seua ubicació"
 
-#: ../clutter/clutter-actor.c:6582
+#: ../clutter/clutter-actor.c:7407
 msgid "Y Alignment"
 msgstr "Alineació Y"
 
-#: ../clutter/clutter-actor.c:6583
+#: ../clutter/clutter-actor.c:7408
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "L'alineació de l'actor en l'eix de les Y dins la seua ubicació"
 
-#: ../clutter/clutter-actor.c:6602
+#: ../clutter/clutter-actor.c:7427
 msgid "Margin Top"
 msgstr "Marge superior"
 
-#: ../clutter/clutter-actor.c:6603
+#: ../clutter/clutter-actor.c:7428
 msgid "Extra space at the top"
 msgstr "Espai extra a la part superior"
 
-#: ../clutter/clutter-actor.c:6624
+#: ../clutter/clutter-actor.c:7449
 msgid "Margin Bottom"
 msgstr "Marge inferior"
 
-#: ../clutter/clutter-actor.c:6625
+#: ../clutter/clutter-actor.c:7450
 msgid "Extra space at the bottom"
 msgstr "Espai extra a la part inferior"
 
-#: ../clutter/clutter-actor.c:6646
+#: ../clutter/clutter-actor.c:7471
 msgid "Margin Left"
 msgstr "Marge esquerra"
 
-#: ../clutter/clutter-actor.c:6647
+#: ../clutter/clutter-actor.c:7472
 msgid "Extra space at the left"
 msgstr "Espai extra a l'esquerra"
 
-#: ../clutter/clutter-actor.c:6668
+#: ../clutter/clutter-actor.c:7493
 msgid "Margin Right"
 msgstr "Marge dret"
 
-#: ../clutter/clutter-actor.c:6669
+#: ../clutter/clutter-actor.c:7494
 msgid "Extra space at the right"
 msgstr "Espai extra a la dreta"
 
-#: ../clutter/clutter-actor.c:6685
+#: ../clutter/clutter-actor.c:7510
 msgid "Background Color Set"
 msgstr "Establiment del color de fons"
 
-#: ../clutter/clutter-actor.c:6686
+#: ../clutter/clutter-actor.c:7511 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Si hi ha cap color de fons"
 
-#: ../clutter/clutter-actor.c:6702
+#: ../clutter/clutter-actor.c:7527
 msgid "Background color"
 msgstr "Color de fons"
 
-#: ../clutter/clutter-actor.c:6703
+#: ../clutter/clutter-actor.c:7528
 msgid "The actor's background color"
 msgstr "El color de fons de l'actor"
 
-#: ../clutter/clutter-actor.c:6718
+#: ../clutter/clutter-actor.c:7543
 msgid "First Child"
 msgstr "Primer fill"
 
-#: ../clutter/clutter-actor.c:6719
+#: ../clutter/clutter-actor.c:7544
 msgid "The actor's first child"
 msgstr "El primer fill de l'actor"
 
-#: ../clutter/clutter-actor.c:6732
+#: ../clutter/clutter-actor.c:7557
 msgid "Last Child"
 msgstr "Últim fill"
 
-#: ../clutter/clutter-actor.c:6733
+#: ../clutter/clutter-actor.c:7558
 msgid "The actor's last child"
 msgstr "L'últim fill de l'actor"
 
-#: ../clutter/clutter-actor.c:6747
+#: ../clutter/clutter-actor.c:7572
 msgid "Content"
 msgstr "Contingut"
 
-#: ../clutter/clutter-actor.c:6748
+#: ../clutter/clutter-actor.c:7573
 msgid "Delegate object for painting the actor's content"
 msgstr "L'objecte al que es delega el pintat del contingut de l'actor"
 
-#: ../clutter/clutter-actor.c:6773
+#: ../clutter/clutter-actor.c:7598
 msgid "Content Gravity"
 msgstr "Gravetat del contingut"
 
-#: ../clutter/clutter-actor.c:6774
+#: ../clutter/clutter-actor.c:7599
 msgid "Alignment of the actor's content"
 msgstr "L'alineació del contingut de l'actor"
 
-#: ../clutter/clutter-actor.c:6794
+#: ../clutter/clutter-actor.c:7619
 msgid "Content Box"
 msgstr "Caixa del contingut"
 
-#: ../clutter/clutter-actor.c:6795
+#: ../clutter/clutter-actor.c:7620
 msgid "The bounding box of the actor's content"
 msgstr "La caixa de limitació que conté el contingut de l'actor"
 
-#: ../clutter/clutter-actor.c:6803
+#: ../clutter/clutter-actor.c:7628
 msgid "Minification Filter"
 msgstr "Filtre de minimització"
 
-#: ../clutter/clutter-actor.c:6804
+#: ../clutter/clutter-actor.c:7629
 msgid "The filter used when reducing the size of the content"
 msgstr "El filtre que s'utilitzarà per reduir la mida del contingut"
 
-#: ../clutter/clutter-actor.c:6811
+#: ../clutter/clutter-actor.c:7636
 msgid "Magnification Filter"
 msgstr "Filtre d'ampliació"
 
-#: ../clutter/clutter-actor.c:6812
+#: ../clutter/clutter-actor.c:7637
 msgid "The filter used when increasing the size of the content"
 msgstr "El filtre que s'utilitzarà per ampliar la mida del contingut"
 
-#: ../clutter/clutter-actor.c:6826
+#: ../clutter/clutter-actor.c:7651
 msgid "Content Repeat"
 msgstr "Repetició del contingut"
 
-#: ../clutter/clutter-actor.c:6827
+#: ../clutter/clutter-actor.c:7652
 msgid "The repeat policy for the actor's content"
 msgstr "La política de repetició del contingut de l'actor"
 
@@ -589,6 +695,7 @@ msgid "The name of the meta"
 msgstr "El nom del meta"
 
 #: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Habilitat"
 
@@ -623,11 +730,11 @@ msgstr "Factor"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "El factor d'alineació, entre 0.0 i 1.0"
 
-#: ../clutter/clutter-backend.c:373
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "No s'ha pogut inicialitzar el rerefons de la Clutter"
 
-#: ../clutter/clutter-backend.c:447
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "El rerefons, de tipus «%s», no permet crear múltiples escenaris"
@@ -658,43 +765,143 @@ msgstr "El desplaçament, en píxels, que s'ha d'aplicar a la vinculació"
 msgid "The unique name of the binding pool"
 msgstr "El nom únic del conjunt de vinculacions"
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:649
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
+msgid "Horizontal Alignment"
+msgstr "Alineació horitzontal"
+
+#: ../clutter/clutter-bin-layout.c:241
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr "L'alineació horitzontal de l'actor dins del gestor de disposició"
+
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:669
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
+msgid "Vertical Alignment"
+msgstr "Alineació vertical"
+
+#: ../clutter/clutter-bin-layout.c:250
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr "L'alineació vertical de l'actor dins del gestor de disposició"
+
+#: ../clutter/clutter-bin-layout.c:650
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr ""
+"L'alineació horitzontal per defecte dels actors dins del gestor de disposició"
+
+#: ../clutter/clutter-bin-layout.c:670
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr ""
+"L'alineació vertical per defecte dels actors dins del gestor de disposició"
+
+#: ../clutter/clutter-box-layout.c:365
+msgid "Expand"
+msgstr "Expandeix"
+
+#: ../clutter/clutter-box-layout.c:366
+msgid "Allocate extra space for the child"
+msgstr "Ubica espai extra per al fill"
+
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
+msgid "Horizontal Fill"
+msgstr "Emplena horitzontalment"
+
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+"Si el fill hauria de tindre prioritat quan el contenidor ubiqui espai extra "
+"en l'eix horitzontal"
+
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
+msgid "Vertical Fill"
+msgstr "Emplena verticalment"
+
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+"Si el fill hauria de tindre prioritat quan el contenidor ubiqui espai extra "
+"en l'eix vertical"
+
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
+msgid "Horizontal alignment of the actor within the cell"
+msgstr "L'alineació horitzontal de l'actor dins la ceŀla"
+
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
+msgid "Vertical alignment of the actor within the cell"
+msgstr "L'alineació vertical de l'actor dins la ceŀla"
+
+#: ../clutter/clutter-box-layout.c:1365
+msgid "Vertical"
+msgstr "Vertical"
+
+#: ../clutter/clutter-box-layout.c:1366
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "Si la disposició hauria de ser vertical en comptes d'horitzontal"
+
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1547
 msgid "Orientation"
 msgstr "Orientació"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
-#: ../clutter/clutter-grid-layout.c:1551
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1548
 msgid "The orientation of the layout"
 msgstr "L'orientació de la disposició"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogeni"
 
-#: ../clutter/clutter-box-layout.c:986
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Si la disposició hauria de ser homogènia, és a dir, que tots els fills "
 "tinguen la mateixa mida"
 
-#: ../clutter/clutter-box-layout.c:1001
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Ajunta al principi"
 
-#: ../clutter/clutter-box-layout.c:1002
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Si s'ha d'ajuntar els elements a l'inici de la caixa"
 
-#: ../clutter/clutter-box-layout.c:1015
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Espaiat"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Espaiat entre fills"
 
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
+msgid "Use Animations"
+msgstr "Utilitza animacions"
+
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
+msgid "Whether layout changes should be animated"
+msgstr "Si s'han d'animar els canvis de disposició"
+
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
+msgid "Easing Mode"
+msgstr "Mode del camí"
+
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
+msgid "The easing mode of the animations"
+msgstr "El mode del camí de les animacions"
+
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
+msgid "Easing Duration"
+msgstr "Durada del camí"
+
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
+msgid "The duration of the animations"
+msgstr "La durada de les animacions"
+
 #: ../clutter/clutter-brightness-contrast-effect.c:321
 msgid "Brightness"
 msgstr "Brillantor"
@@ -711,11 +918,11 @@ msgstr "Contrast"
 msgid "The contrast change to apply"
 msgstr "El canvi de contrast a aplicar"
 
-#: ../clutter/clutter-canvas.c:221
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "L'amplada del llenç"
 
-#: ../clutter/clutter-canvas.c:237
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "L'alçada del llenç"
 
@@ -747,7 +954,7 @@ msgstr "Manté"
 msgid "Whether the clickable has a grab"
 msgstr "Si l'element que s'hi pot fer clic té un mantenidor"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Durada de la premuda llarga"
 
@@ -761,7 +968,7 @@ msgstr "Llindar de la premuda llarga"
 
 #: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
-msgstr "El llindar màxim abans de cancel·lar una premuda llarga"
+msgstr "El llindar màxim abans de canceŀlar una premuda llarga"
 
 #: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
@@ -775,27 +982,27 @@ msgstr "Matís"
 msgid "The tint to apply"
 msgstr "El matís a aplicar"
 
-#: ../clutter/clutter-deform-effect.c:594
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Quadres horitzontals"
 
-#: ../clutter/clutter-deform-effect.c:595
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "El nombre de quadres horitzontals"
 
-#: ../clutter/clutter-deform-effect.c:610
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Quadres verticals"
 
-#: ../clutter/clutter-deform-effect.c:611
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "El nombre de quadres verticals"
 
-#: ../clutter/clutter-deform-effect.c:628
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Material de fons"
 
-#: ../clutter/clutter-deform-effect.c:629
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "El material que s'utilitzarà quan es pinti el fons de l'actor"
 
@@ -805,7 +1012,7 @@ msgstr "El factor de dessaturació"
 
 #: ../clutter/clutter-device-manager.c:131
 #: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Rerefons"
 
@@ -813,119 +1020,107 @@ msgstr "Rerefons"
 msgid "The ClutterBackend of the device manager"
 msgstr "El «ClutterBackend» del gestor del dispositiu"
 
-#: ../clutter/clutter-drag-action.c:750
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Llindar d'arrossegament horitzontal"
 
-#: ../clutter/clutter-drag-action.c:751
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "El nombre de píxels horitzontals necessaris per iniciar un arrossegament"
 
-#: ../clutter/clutter-drag-action.c:778
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Llindar d'arrossegament vertical"
 
-#: ../clutter/clutter-drag-action.c:779
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "El nombre de píxels verticals necessaris per iniciar un arrossegament"
 
-#: ../clutter/clutter-drag-action.c:800
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Nansa d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:801
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "L'actor que s'està arrossegant"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Eix d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Restringeix l'arrossegament a un eix"
 
-#: ../clutter/clutter-drag-action.c:831
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Àrea d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:832
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Restringeix l'arrossegament a un rectangle"
 
-#: ../clutter/clutter-drag-action.c:845
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Establiment de l'àrea d'arrossegament"
 
-#: ../clutter/clutter-drag-action.c:846
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Si la propietat d'àrea d'arrossegament té un valor"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Si cada element hauria de rebre la mateixa ubicació"
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Espaiat de columna"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "L'espaiat entre columnes"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Espaiat de fila"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "L'espaiat entre files"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Amplada mínima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "L'amplada mínima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Amplada màxima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "L'amplada màxima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Alçada mínima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "L'alçada mínima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Alçada màxima de columna"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "L'alçada màxima per a cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "Ajusta a la graella"
-
-#: ../clutter/clutter-gesture-action.c:644
-msgid "Number touch points"
-msgstr "Nombre de punts tàctils"
-
-#: ../clutter/clutter-gesture-action.c:645
-msgid "Number of touch points"
-msgstr "El nombre de punts tàctils"
-
 #: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Adjunció esquerra"
@@ -950,35 +1145,35 @@ msgstr "El nombre de columnes que hauria d'abastir el fill"
 msgid "The number of rows that a child spans"
 msgstr "El nombre de files que hauria d'abastir el fill"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1562
 msgid "Row spacing"
 msgstr "Espaiat de files"
 
-#: ../clutter/clutter-grid-layout.c:1566
+#: ../clutter/clutter-grid-layout.c:1563
 msgid "The amount of space between two consecutive rows"
 msgstr "La quantitat d'espai entre dues files consecutives"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1576
 msgid "Column spacing"
 msgstr "Espaiat de columnes"
 
-#: ../clutter/clutter-grid-layout.c:1580
+#: ../clutter/clutter-grid-layout.c:1577
 msgid "The amount of space between two consecutive columns"
 msgstr "La quantitat d'espai entre dues columnes consecutives"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1591
 msgid "Row Homogeneous"
 msgstr "Files homogènies"
 
-#: ../clutter/clutter-grid-layout.c:1595
+#: ../clutter/clutter-grid-layout.c:1592
 msgid "If TRUE, the rows are all the same height"
 msgstr "Si és «TRUE» (cert), totes les files tenen la mateixa alçada"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1605
 msgid "Column Homogeneous"
 msgstr "Columnes homogènies"
 
-#: ../clutter/clutter-grid-layout.c:1609
+#: ../clutter/clutter-grid-layout.c:1606
 msgid "If TRUE, the columns are all the same width"
 msgstr "Si és «TRUE» (cert), totes les columnes tenen la mateixa amplada"
 
@@ -1047,27 +1242,27 @@ msgstr "El nombre d'eixos en el dispositiu"
 msgid "The backend instance"
 msgstr "La instància del rerefons"
 
-#: ../clutter/clutter-interval.c:489
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Tipus de valor"
 
-#: ../clutter/clutter-interval.c:490
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "El tipus dels valors en l'interval"
 
-#: ../clutter/clutter-interval.c:505
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valor inicial"
 
-#: ../clutter/clutter-interval.c:506
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "El valor inicial de l'interval"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valor final"
 
-#: ../clutter/clutter-interval.c:521
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "El valor final de l'interval"
 
@@ -1086,95 +1281,96 @@ msgstr "El gestor que ha creat esta dada"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:697
+#: ../clutter/clutter-main.c:762
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1463
+#: ../clutter/clutter-main.c:1633
 msgid "Show frames per second"
 msgstr "Mostra els fotogrames per segon"
 
-#: ../clutter/clutter-main.c:1465
+#: ../clutter/clutter-main.c:1635
 msgid "Default frame rate"
 msgstr "Fotogrames per segon per defecte"
 
-#: ../clutter/clutter-main.c:1467
+#: ../clutter/clutter-main.c:1637
 msgid "Make all warnings fatal"
 msgstr "Fes que tots els avisos siguen fatals"
 
-#: ../clutter/clutter-main.c:1470
+#: ../clutter/clutter-main.c:1640
 msgid "Direction for the text"
 msgstr "Direcció del text"
 
-#: ../clutter/clutter-main.c:1473
+#: ../clutter/clutter-main.c:1643
 msgid "Disable mipmapping on text"
 msgstr "Inhabilita el mapat MIP en el text"
 
-#: ../clutter/clutter-main.c:1476
+#: ../clutter/clutter-main.c:1646
 msgid "Use 'fuzzy' picking"
 msgstr "Utilitza una selecció «difusa»"
 
-#: ../clutter/clutter-main.c:1479
+#: ../clutter/clutter-main.c:1649
 msgid "Clutter debugging flags to set"
 msgstr "Senyaladors de depuració de la Clutter a establir"
 
-#: ../clutter/clutter-main.c:1481
+#: ../clutter/clutter-main.c:1651
 msgid "Clutter debugging flags to unset"
 msgstr "Senyaladors de depuració de la Clutter a inhabilitar"
 
-#: ../clutter/clutter-main.c:1485
+#: ../clutter/clutter-main.c:1655
 msgid "Clutter profiling flags to set"
 msgstr "Senyaladors de perfilació de la Clutter a establir"
 
-#: ../clutter/clutter-main.c:1487
+#: ../clutter/clutter-main.c:1657
 msgid "Clutter profiling flags to unset"
 msgstr "Senyaladors de perfilació de la Clutter a inhabilitar"
 
-#: ../clutter/clutter-main.c:1490
+#: ../clutter/clutter-main.c:1660
 msgid "Enable accessibility"
 msgstr "Habilita l'accessibilitat"
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1852
 msgid "Clutter Options"
 msgstr "Opcions de la Clutter"
 
-#: ../clutter/clutter-main.c:1683
+#: ../clutter/clutter-main.c:1853
 msgid "Show Clutter Options"
 msgstr "Mostra les opcions de la Clutter"
 
-#: ../clutter/clutter-pan-action.c:444
+#: ../clutter/clutter-pan-action.c:451
 msgid "Pan Axis"
 msgstr "Eix de panorama"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:452
 msgid "Constraints the panning to an axis"
 msgstr "Restringeix el panorama a un eix"
 
-#: ../clutter/clutter-pan-action.c:457
+#: ../clutter/clutter-pan-action.c:466
 msgid "Interpolate"
 msgstr "Interpolació"
 
-#: ../clutter/clutter-pan-action.c:458
+#: ../clutter/clutter-pan-action.c:467
 msgid "Whether interpolated events emission is enabled."
 msgstr "Si l'emissió d'esdeveniments interpolats és habilitat."
 
-#: ../clutter/clutter-pan-action.c:472
+#: ../clutter/clutter-pan-action.c:483
 msgid "Deceleration"
 msgstr "Desacceleració"
 
-#: ../clutter/clutter-pan-action.c:473
+#: ../clutter/clutter-pan-action.c:484
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "La ràtio en la que la interpolació del panorama desaccelerarà"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:501
 msgid "Initial acceleration factor"
 msgstr "Factor d'acceleració inicial"
 
-#: ../clutter/clutter-pan-action.c:489
+#: ../clutter/clutter-pan-action.c:502
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "El factor aplicat al moment quan s'inicie la fase d'interpolació"
 
 #: ../clutter/clutter-path-constraint.c:212
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Camí"
 
@@ -1194,80 +1390,81 @@ msgstr "Nom de la propietat"
 msgid "The name of the property to animate"
 msgstr "El nom de la propietat que s'animarà"
 
-#: ../clutter/clutter-script.c:350
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Té nom de fitxer"
 
-#: ../clutter/clutter-script.c:351
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Si la propietat «:filename» té un valor"
 
-#: ../clutter/clutter-script.c:365
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nom de fitxer"
 
-#: ../clutter/clutter-script.c:366
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "El camí al fitxer analitzat actualment"
 
-#: ../clutter/clutter-script.c:383
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Domini de la traducció"
 
-#: ../clutter/clutter-script.c:384
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "El domini de traducció utilitzat per ubicar una cadena"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Mode de desplaçament"
 
-#: ../clutter/clutter-scroll-actor.c:191
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "La direcció del desplaçament"
 
-#: ../clutter/clutter-settings.c:424
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Temps del doble clic"
 
-#: ../clutter/clutter-settings.c:425
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "El temps entre clics necessari per detectar un clic múltiple"
 
-#: ../clutter/clutter-settings.c:440
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Distància de doble clic"
 
-#: ../clutter/clutter-settings.c:441
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "La distància entre clics necessària per detectar un clic múltiple"
 
-#: ../clutter/clutter-settings.c:456
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Llindar d'arrossegament"
 
-#: ../clutter/clutter-settings.c:457
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr ""
 "La distància que ha de desplaçar-se el cursor abans de començar un "
 "arrossegament"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3368
 msgid "Font Name"
 msgstr "Nom del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:473
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "La descripció del tipus de lletra per defecte, tal com l'hauria d'analitzar "
 "la Pango"
 
-#: ../clutter/clutter-settings.c:488
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Antialiàsing del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:489
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1275,63 +1472,63 @@ msgstr ""
 "Si s'ha d'utilitzar l'antialiàsing (1 l'habilita, 0 l'inhabilita i -1 "
 "utilitza el per defecte)"
 
-#: ../clutter/clutter-settings.c:505
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "PPP del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:506
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "La resolució del tipus de lletra, en 1024 * punts/polzada, o -1 utilitza la "
 "per defecte"
 
-#: ../clutter/clutter-settings.c:522
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Contorn del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:523
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Si s'ha d'utilitzar el contorn (1 l'habilita, 0 l'inhabilita i -1 per "
 "utilitzar el per defecte)"
 
-#: ../clutter/clutter-settings.c:544
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Estil del contorn del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:545
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr ""
 "L'estil del contorn (sense contorn, contorn lleuger, contorn mitjà, contorn "
 "complet)"
 
-#: ../clutter/clutter-settings.c:566
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Orde de subpíxels del tipus de lletra"
 
-#: ../clutter/clutter-settings.c:567
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "El tipus d'antialiàsing de subpíxel (cap, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:584
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "La durada mínima d'una premuda llarga perquè es reconegui"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Marca horària de la configuració de la Fontconfig"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Marca horària de la configuració actual de la Fontconfig"
 
-#: ../clutter/clutter-settings.c:609
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Temps de pista de la contrasenya"
 
-#: ../clutter/clutter-settings.c:610
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Temps de durada de visualització de l'últim caràcter introduït en les "
@@ -1369,389 +1566,453 @@ msgstr "La vora de la font que s'hauria de trencar"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "El desplaçament, en píxels, a aplicar a la restricció"
 
-#: ../clutter/clutter-stage.c:1830
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "A pantalla completa"
 
-#: ../clutter/clutter-stage.c:1831
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Si l'escenari principal és a pantalla completa"
 
-#: ../clutter/clutter-stage.c:1843 ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-stage.c:1910
+msgid "Offscreen"
+msgstr "Fora de pantalla"
+
+#: ../clutter/clutter-stage.c:1911
+msgid "Whether the main stage should be rendered offscreen"
+msgstr "Si l'escenari principal hauria de renderitzar-se fora de pantalla"
+
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3482
 msgid "Cursor Visible"
 msgstr "Visibilitat del cursor"
 
-#: ../clutter/clutter-stage.c:1844
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Si el punter del ratolí és visible a l'escenari principal"
 
-#: ../clutter/clutter-stage.c:1858
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Redimensionable per l'usuari"
 
-#: ../clutter/clutter-stage.c:1859
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Si l'usuari pot redimensionar l'escenari"
 
-#: ../clutter/clutter-stage.c:1874
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
+msgid "Color"
+msgstr "Color"
+
+#: ../clutter/clutter-stage.c:1955
+msgid "The color of the stage"
+msgstr "El color de l'escenari"
+
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Perspectiva"
 
-#: ../clutter/clutter-stage.c:1875
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Els paràmetres de projecció de la perspectiva"
 
-#: ../clutter/clutter-stage.c:1890
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Títol"
 
-#: ../clutter/clutter-stage.c:1891
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Títol de l'escenari"
 
-#: ../clutter/clutter-stage.c:1907
+#: ../clutter/clutter-stage.c:2004
+msgid "Use Fog"
+msgstr "Utilitza la boira"
+
+#: ../clutter/clutter-stage.c:2005
+msgid "Whether to enable depth cueing"
+msgstr "Si s'habilita la percepció de profunditat"
+
+#: ../clutter/clutter-stage.c:2021
+msgid "Fog"
+msgstr "Boira"
+
+#: ../clutter/clutter-stage.c:2022
+msgid "Settings for the depth cueing"
+msgstr "Paràmetres de la percepció de profunditat"
+
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Utilitza l'alfa"
 
-#: ../clutter/clutter-stage.c:1908
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Si s'ha de respectar el component alfa del color de l'escenari"
 
-#: ../clutter/clutter-stage.c:1924
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Focus clau"
 
-#: ../clutter/clutter-stage.c:1925
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "L'actor clau que té el focus"
 
-#: ../clutter/clutter-stage.c:1941
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Sense indicació de neteja"
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Si l'escenari hauria de netejar els seus continguts"
 
-#: ../clutter/clutter-stage.c:1955
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Accepta el focus"
 
-#: ../clutter/clutter-stage.c:1956
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Si l'escenari hauria d'acceptar el focus en mostrar-se"
 
-#: ../clutter/clutter-table-layout.c:331
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Número de columna"
 
-#: ../clutter/clutter-table-layout.c:332
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "La columna en la que està el giny"
 
-#: ../clutter/clutter-table-layout.c:339
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Número de fila"
 
-#: ../clutter/clutter-table-layout.c:340
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "La fila en la que està el giny"
 
-#: ../clutter/clutter-table-layout.c:347
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Abast en columnes"
 
-#: ../clutter/clutter-table-layout.c:348
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "El nombre de columnes que hauria d'abastir el giny"
 
-#: ../clutter/clutter-table-layout.c:355
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Abast en files"
 
-#: ../clutter/clutter-table-layout.c:356
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "El nombre de files que hauria d'abastir el giny"
 
-#: ../clutter/clutter-table-layout.c:1282
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Expansió horitzontal"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Ubica espai extra per al fill en l'eix horitzontal"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Expansió vertical"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Ubica espai extra per al fill en l'eix vertical"
+
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Espaiat entre columnes"
 
-#: ../clutter/clutter-table-layout.c:1296
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Espaiat entre files"
 
-#: ../clutter/clutter-text-buffer.c:349 ../clutter/clutter-text.c:3387
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3403
 msgid "Text"
 msgstr "Text"
 
-#: ../clutter/clutter-text-buffer.c:350
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "El contingut de la memòria intermèdia"
 
-#: ../clutter/clutter-text-buffer.c:363
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Llargada del text"
 
-#: ../clutter/clutter-text-buffer.c:364
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "La llargada del text que hi ha actualment a la memòria intermèdia"
 
-#: ../clutter/clutter-text-buffer.c:377
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Llargada màxima"
 
-#: ../clutter/clutter-text-buffer.c:378
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Nombre màxim de caràcters per esta entrada. Zero si no té màxim"
 
-#: ../clutter/clutter-text.c:3340
+#: ../clutter/clutter-text.c:3350
 msgid "Buffer"
 msgstr "Memòria intermèdia"
 
-#: ../clutter/clutter-text.c:3341
+#: ../clutter/clutter-text.c:3351
 msgid "The buffer for the text"
 msgstr "La memòria intermèdia del text"
 
-#: ../clutter/clutter-text.c:3357
+#: ../clutter/clutter-text.c:3369
 msgid "The font to be used by the text"
 msgstr "El tipus de lletra per al text"
 
-#: ../clutter/clutter-text.c:3372
+#: ../clutter/clutter-text.c:3386
 msgid "Font Description"
 msgstr "Descripció del tipus de lletra"
 
-#: ../clutter/clutter-text.c:3373
+#: ../clutter/clutter-text.c:3387
 msgid "The font description to be used"
 msgstr "La descripció del tipus de lletra que s'utilitzarà"
 
-#: ../clutter/clutter-text.c:3388
+#: ../clutter/clutter-text.c:3404
 msgid "The text to render"
 msgstr "El text a renderitzar"
 
-#: ../clutter/clutter-text.c:3400
+#: ../clutter/clutter-text.c:3418
 msgid "Font Color"
 msgstr "Color del tipus de lletra"
 
-#: ../clutter/clutter-text.c:3401
+#: ../clutter/clutter-text.c:3419
 msgid "Color of the font used by the text"
 msgstr "El color del tipus de lletra que utilitzarà el text"
 
-#: ../clutter/clutter-text.c:3414
+#: ../clutter/clutter-text.c:3434
 msgid "Editable"
 msgstr "Editable"
 
-#: ../clutter/clutter-text.c:3415
+#: ../clutter/clutter-text.c:3435
 msgid "Whether the text is editable"
 msgstr "Si el text es pot editar"
 
-#: ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text.c:3450
 msgid "Selectable"
 msgstr "Seleccionable"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3451
 msgid "Whether the text is selectable"
 msgstr "Si el text es pot seleccionar"
 
-#: ../clutter/clutter-text.c:3441
+#: ../clutter/clutter-text.c:3465
 msgid "Activatable"
 msgstr "Activable"
 
-#: ../clutter/clutter-text.c:3442
+#: ../clutter/clutter-text.c:3466
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Si s'emet el senyal d'activació en prémer la tecla de retorn"
 
-#: ../clutter/clutter-text.c:3457
+#: ../clutter/clutter-text.c:3483
 msgid "Whether the input cursor is visible"
 msgstr "Si és visible el cursor d'entrada"
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: ../clutter/clutter-text.c:3497 ../clutter/clutter-text.c:3498
 msgid "Cursor Color"
 msgstr "Color del cursor"
 
-#: ../clutter/clutter-text.c:3483
+#: ../clutter/clutter-text.c:3513
 msgid "Cursor Color Set"
 msgstr "Establit el color del cursor"
 
-#: ../clutter/clutter-text.c:3484
+#: ../clutter/clutter-text.c:3514
 msgid "Whether the cursor color has been set"
 msgstr "Si s'ha establit el color del cursor"
 
-#: ../clutter/clutter-text.c:3497
+#: ../clutter/clutter-text.c:3529
 msgid "Cursor Size"
 msgstr "Mida del cursor"
 
-#: ../clutter/clutter-text.c:3498
+#: ../clutter/clutter-text.c:3530
 msgid "The width of the cursor, in pixels"
 msgstr "L'amplada del cursor, en píxels"
 
-#: ../clutter/clutter-text.c:3510
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "Cursor Position"
 msgstr "Posició del cursor"
 
-#: ../clutter/clutter-text.c:3511
+#: ../clutter/clutter-text.c:3547 ../clutter/clutter-text.c:3565
 msgid "The cursor position"
 msgstr "La posició del cursor"
 
-#: ../clutter/clutter-text.c:3524
+#: ../clutter/clutter-text.c:3580
 msgid "Selection-bound"
 msgstr "Extrem de selecció"
 
-#: ../clutter/clutter-text.c:3525
+#: ../clutter/clutter-text.c:3581
 msgid "The cursor position of the other end of the selection"
 msgstr "La posició del cursor a l'altre extrem de la selecció"
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3596 ../clutter/clutter-text.c:3597
 msgid "Selection Color"
 msgstr "Color de la selecció"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3612
 msgid "Selection Color Set"
 msgstr "Establit el color de selecció"
 
-#: ../clutter/clutter-text.c:3553
+#: ../clutter/clutter-text.c:3613
 msgid "Whether the selection color has been set"
 msgstr "Si s'ha establit el color de selecció"
 
-#: ../clutter/clutter-text.c:3566
+#: ../clutter/clutter-text.c:3628
 msgid "Attributes"
 msgstr "Atributs"
 
-#: ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3629
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Una llista d'atributs d'estil per aplicar als continguts de l'actor"
 
-#: ../clutter/clutter-text.c:3587
+#: ../clutter/clutter-text.c:3651
 msgid "Use markup"
 msgstr "Utilitza l'etiquetatge"
 
-#: ../clutter/clutter-text.c:3588
+#: ../clutter/clutter-text.c:3652
 msgid "Whether or not the text includes Pango markup"
 msgstr "Si el text inclou etiquetatge de la Pango"
 
-#: ../clutter/clutter-text.c:3602
+#: ../clutter/clutter-text.c:3668
 msgid "Line wrap"
 msgstr "Ajustament de línia"
 
-#: ../clutter/clutter-text.c:3603
+#: ../clutter/clutter-text.c:3669
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Si s'estableix, ajusta les línies si el text és massa ample"
 
-#: ../clutter/clutter-text.c:3616
+#: ../clutter/clutter-text.c:3684
 msgid "Line wrap mode"
 msgstr "Mode d'ajust de línia"
 
-#: ../clutter/clutter-text.c:3617
+#: ../clutter/clutter-text.c:3685
 msgid "Control how line-wrapping is done"
 msgstr "Controla com s'ajusten les línies"
 
-#: ../clutter/clutter-text.c:3630
+#: ../clutter/clutter-text.c:3700
 msgid "Ellipsize"
 msgstr "Punts suspensius"
 
-#: ../clutter/clutter-text.c:3631
+#: ../clutter/clutter-text.c:3701
 msgid "The preferred place to ellipsize the string"
 msgstr "El lloc preferit on posar punts suspensius al segment"
 
-#: ../clutter/clutter-text.c:3645
+#: ../clutter/clutter-text.c:3717
 msgid "Line Alignment"
 msgstr "Alineació de la línia"
 
-#: ../clutter/clutter-text.c:3646
+#: ../clutter/clutter-text.c:3718
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr ""
 "L'alineació preferida per al segment quan és un text de més d'una línia"
 
-#: ../clutter/clutter-text.c:3660
+#: ../clutter/clutter-text.c:3734
 msgid "Justify"
 msgstr "Justifica"
 
-#: ../clutter/clutter-text.c:3661
+#: ../clutter/clutter-text.c:3735
 msgid "Whether the text should be justified"
 msgstr "Si el text s'hauria de justificar"
 
-#: ../clutter/clutter-text.c:3674
+#: ../clutter/clutter-text.c:3750
 msgid "Password Character"
 msgstr "Caràcter de contrasenya"
 
-#: ../clutter/clutter-text.c:3675
+#: ../clutter/clutter-text.c:3751
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Si no és zero, utilitza este caràcter per mostrar els continguts de l'actor"
 
-#: ../clutter/clutter-text.c:3687
+#: ../clutter/clutter-text.c:3765
 msgid "Max Length"
 msgstr "Llargada màxima"
 
-#: ../clutter/clutter-text.c:3688
+#: ../clutter/clutter-text.c:3766
 msgid "Maximum length of the text inside the actor"
 msgstr "Llargada màxima del text dins de l'actor"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3789
 msgid "Single Line Mode"
 msgstr "Mode d'una línia sola"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3790
 msgid "Whether the text should be a single line"
 msgstr "Si el text hauria de ser una sola línia"
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: ../clutter/clutter-text.c:3804 ../clutter/clutter-text.c:3805
 msgid "Selected Text Color"
 msgstr "Color del text seleccionat"
 
-#: ../clutter/clutter-text.c:3736
+#: ../clutter/clutter-text.c:3820
 msgid "Selected Text Color Set"
 msgstr "Establit el color del text seleccionat"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3821
 msgid "Whether the selected text color has been set"
 msgstr "Si s'ha establit el color del text seleccionat"
 
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
+msgid "Loop"
+msgstr "Repetició"
+
 #: ../clutter/clutter-timeline.c:562
+msgid "Should the timeline automatically restart"
+msgstr "Si s'hauria de reiniciar automàticament la línia del temps"
+
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Retard"
 
-#: ../clutter/clutter-timeline.c:563
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "El retard abans d'iniciar"
 
-#: ../clutter/clutter-timeline.c:578
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1803
+#: ../clutter/deprecated/clutter-media.c:224
+#: ../clutter/deprecated/clutter-state.c:1522
 msgid "Duration"
 msgstr "Durada"
 
-#: ../clutter/clutter-timeline.c:579
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
-msgstr "La durada de la línia del temps en mil·lisegons"
+msgstr "La durada de la línia del temps en miŀlisegons"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Direcció"
 
-#: ../clutter/clutter-timeline.c:595
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "La direcció de la línia del temps"
 
-#: ../clutter/clutter-timeline.c:610
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Capgira automàticament"
 
-#: ../clutter/clutter-timeline.c:611
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Si la direcció s'hauria de capgirar quan s'arribe al final"
 
-#: ../clutter/clutter-timeline.c:629
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Comptador de repeticions"
 
-#: ../clutter/clutter-timeline.c:630
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Nombre de vegades que s'hauria de repetir la línia de temps"
 
-#: ../clutter/clutter-timeline.c:644
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Mode de progrés"
 
-#: ../clutter/clutter-timeline.c:645
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Com s'ha de calcular el progrés de la línia del temps"
 
@@ -1779,841 +2040,754 @@ msgstr "Suprimeix en completar"
 msgid "Detach the transition when completed"
 msgstr "Desacobla la transició quan es completi"
 
-#: ../clutter/clutter-zoom-action.c:356
+#: ../clutter/clutter-zoom-action.c:353
 msgid "Zoom Axis"
 msgstr "Eix d'ampliació"
 
-#: ../clutter/clutter-zoom-action.c:357
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Constraints the zoom to an axis"
 msgstr "Restringeix l'ampliació a un eix"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:159
-msgid "sysfs Path"
-msgstr ""
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:160
-#, fuzzy
-msgid "Path of the device in sysfs"
-msgstr "El nom del dispositiu"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:175
-#, fuzzy
-msgid "Device Path"
-msgstr "Gestor de dispositiu"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:176
-#, fuzzy
-msgid "Path of the device node"
-msgstr "El nom del dispositiu"
-
-#: ../clutter/gdk/clutter-backend-gdk.c:287
-#, c-format
-msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
-msgstr "No s'ha pogut trobar cap CoglWinsys per a una GdkDisplay del tipus %s"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:423
-msgid "Surface"
-msgstr "Superfície"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:424
-msgid "The underlying wayland surface"
-msgstr "La superfície de Wayland de rerefons"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:431
-msgid "Surface width"
-msgstr "Amplada de la superfície"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:432
-msgid "The width of the underlying wayland surface"
-msgstr "L'amplada de la superfície Wayland subjacent"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:440
-msgid "Surface height"
-msgstr "Alçada de la superfície"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:441
-msgid "The height of the underlying wayland surface"
-msgstr "L'alçada de la superfície Wayland subjacent"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Textura de Cogl"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr ""
-"El gestor de la textura de Cogl de rerefons que s'utilitza per dibuixar este "
-"actor"
-
-#: ../clutter/x11/clutter-backend-x11.c:508
-msgid "X display to use"
-msgstr "El monitor d'X a utilitzar"
-
-#: ../clutter/x11/clutter-backend-x11.c:514
-msgid "X screen to use"
-msgstr "La pantalla d'X a utilitzar"
-
-#: ../clutter/x11/clutter-backend-x11.c:519
-msgid "Make X calls synchronous"
-msgstr "Fes les crides síncrones a l'X"
-
-#: ../clutter/x11/clutter-backend-x11.c:526
-msgid "Disable XInput support"
-msgstr "Inhabilita l'XInput"
-
-#: ../clutter/x11/clutter-keymap-x11.c:322
-msgid "The Clutter backend"
-msgstr "El rerefons de la Clutter"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
-msgid "Pixmap"
-msgstr "Mapa de píxels"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
-msgid "The X11 Pixmap to be bound"
-msgstr "El mapa de píxels X11 que es vincularà"
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1820
+msgid "Timeline"
+msgstr "Línia del temps"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
-msgid "Pixmap width"
-msgstr "Amplada del mapa de píxels"
+#: ../clutter/deprecated/clutter-alpha.c:356
+msgid "Timeline used by the alpha"
+msgstr "La línia del temps que utilitzarà l'alfa"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
-msgid "The width of the pixmap bound to this texture"
-msgstr "L'amplada del mapa de píxels vinculat a esta textura"
+#: ../clutter/deprecated/clutter-alpha.c:372
+msgid "Alpha value"
+msgstr "Valor alfa"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
-msgid "Pixmap height"
-msgstr "Alçada del mapa de píxels"
+#: ../clutter/deprecated/clutter-alpha.c:373
+msgid "Alpha value as computed by the alpha"
+msgstr "El valor alfa calculat per l'alfa"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
-msgid "The height of the pixmap bound to this texture"
-msgstr "L'alçada del mapa de píxels vinculat a esta textura"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
-msgid "Pixmap Depth"
-msgstr "Profunditat del mapa de píxels"
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
+msgid "Mode"
+msgstr "Mode"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
-msgid "The depth (in number of bits) of the pixmap bound to this texture"
-msgstr ""
-"La profunditat (en nombre de bits) del mapa de píxels vinculat a esta textura"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
-msgid "Automatic Updates"
-msgstr "Actualitzacions automàtiques"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
-msgid "If the texture should be kept in sync with any pixmap changes."
-msgstr ""
-"Si la textura s'hauria de mantindre sincronitzada amb els canvis al mapa de "
-"píxels."
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
-msgid "Window"
-msgstr "Finestra"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
-msgid "The X11 Window to be bound"
-msgstr "La finestra X11 que es vincularà"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
-msgid "Window Redirect Automatic"
-msgstr "Redireccions automàtiques de finestres"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
-msgid "If composite window redirects are set to Automatic (or Manual if false)"
-msgstr ""
-"Si les redireccions de les finestres compostes són automàtiques (o manuals "
-"si «false» (fals))"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
-msgid "Window Mapped"
-msgstr "Finestra mapada"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
-msgid "If window is mapped"
-msgstr "Si la finestra és mapada"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
-msgid "Destroyed"
-msgstr "Destruïda"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
-msgid "If window has been destroyed"
-msgstr "Si s'ha destruït la finestra"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
-msgid "Window X"
-msgstr "X de la finestra"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
-msgid "X position of window on screen according to X11"
-msgstr "La posició X de la finestra a la pantalla segons l'X11"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
-msgid "Window Y"
-msgstr "Y de la finestra"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
-msgid "Y position of window on screen according to X11"
-msgstr "La posició Y de la finestra a la pantalla segons l'X11"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
-msgid "Window Override Redirect"
-msgstr "Redirecció de la sobreescriptura de la finestra"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
-msgid "If this is an override-redirect window"
-msgstr "Si és una finestra de redirecció de la sobreescriptura"
-
-#~ msgid "Depth"
-#~ msgstr "Profunditat"
-
-#~ msgid "Position on the Z axis"
-#~ msgstr "Posició en l'eix de la Z"
-
-#~ msgid "Clip"
-#~ msgstr "Retallat"
-
-#~ msgid "The clip region for the actor"
-#~ msgstr "La regió de retallat de l'actor"
-
-#~ msgid "Scale Center X"
-#~ msgstr "Centre de l'escala X"
-
-#~ msgid "Horizontal scale center"
-#~ msgstr "Centre horitzontal de l'escala"
-
-#~ msgid "Scale Center Y"
-#~ msgstr "Centre de l'escala Y"
-
-#~ msgid "Vertical scale center"
-#~ msgstr "Centre vertical de l'escala"
-
-#~ msgid "Scale Gravity"
-#~ msgstr "Gravetat de l'escala"
-
-#~ msgid "The center of scaling"
-#~ msgstr "El centre de l'escalat"
-
-#~ msgid "Rotation Center X"
-#~ msgstr "Centre de rotació X"
-
-#~ msgid "The rotation center on the X axis"
-#~ msgstr "El centre de rotació en l'eix de les X"
-
-#~ msgid "Rotation Center Y"
-#~ msgstr "Centre de rotació Y"
-
-#~ msgid "The rotation center on the Y axis"
-#~ msgstr "El centre de rotació en l'eix de les Y"
-
-#~ msgid "Rotation Center Z"
-#~ msgstr "Centre de rotació Z"
-
-#~ msgid "The rotation center on the Z axis"
-#~ msgstr "El centre de rotació en l'eix de les Z"
-
-#~ msgid "Rotation Center Z Gravity"
-#~ msgstr "Gravetat del centre de rotació Z"
-
-#~ msgid "Center point for rotation around the Z axis"
-#~ msgstr "Punt del centre de rotació al voltant de l'eix de les Z"
-
-#~ msgid "Anchor X"
-#~ msgstr "Àncora X"
-
-#~ msgid "X coordinate of the anchor point"
-#~ msgstr "Coordenada X del punt de l'àncora"
-
-#~ msgid "Anchor Y"
-#~ msgstr "Àncora Y"
-
-#~ msgid "Y coordinate of the anchor point"
-#~ msgstr "Coordenada Y del punt de l'àncora"
-
-#~ msgid "Anchor Gravity"
-#~ msgstr "Gravetat de l'àncora"
-
-#~ msgid "The anchor point as a ClutterGravity"
-#~ msgstr "El punt d'àncora com a «ClutterGravity»"
-
-#~ msgid "Show on set parent"
-#~ msgstr "Mostra si és pare"
-
-#~ msgid "Whether the actor is shown when parented"
-#~ msgstr "Si s'ha de mostrar l'actor si se'l fa pare d'un element"
-
-#~ msgid "Horizontal Alignment"
-#~ msgstr "Alineació horitzontal"
-
-#~ msgid "Horizontal alignment for the actor inside the layout manager"
-#~ msgstr "L'alineació horitzontal de l'actor dins del gestor de disposició"
-
-#~ msgid "Vertical Alignment"
-#~ msgstr "Alineació vertical"
-
-#~ msgid "Vertical alignment for the actor inside the layout manager"
-#~ msgstr "L'alineació vertical de l'actor dins del gestor de disposició"
-
-#~ msgid ""
-#~ "Default horizontal alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "L'alineació horitzontal per defecte dels actors dins del gestor de "
-#~ "disposició"
-
-#~ msgid "Default vertical alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "L'alineació vertical per defecte dels actors dins del gestor de disposició"
-
-#~ msgid "Expand"
-#~ msgstr "Expandeix"
-
-#~ msgid "Allocate extra space for the child"
-#~ msgstr "Ubica espai extra per al fill"
-
-#~ msgid "Horizontal Fill"
-#~ msgstr "Emplena horitzontalment"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the horizontal axis"
-#~ msgstr ""
-#~ "Si el fill hauria de tenir prioritat quan el contenidor ubiqui espai "
-#~ "extra en l'eix horitzontal"
-
-#~ msgid "Vertical Fill"
-#~ msgstr "Emplena verticalment"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the vertical axis"
-#~ msgstr ""
-#~ "Si el fill hauria de tenir prioritat quan el contenidor ubiqui espai "
-#~ "extra en l'eix vertical"
-
-#~ msgid "Horizontal alignment of the actor within the cell"
-#~ msgstr "L'alineació horitzontal de l'actor dins la cel·la"
-
-#~ msgid "Vertical alignment of the actor within the cell"
-#~ msgstr "L'alineació vertical de l'actor dins la cel·la"
-
-#~ msgid "Vertical"
-#~ msgstr "Vertical"
-
-#~ msgid "Whether the layout should be vertical, rather than horizontal"
-#~ msgstr "Si la disposició hauria de ser vertical en comptes d'horitzontal"
-
-#~ msgid "Use Animations"
-#~ msgstr "Utilitza animacions"
-
-#~ msgid "Whether layout changes should be animated"
-#~ msgstr "Si s'han d'animar els canvis de disposició"
-
-#~ msgid "Easing Mode"
-#~ msgstr "Mode del camí"
-
-#~ msgid "The easing mode of the animations"
-#~ msgstr "El mode del camí de les animacions"
-
-#~ msgid "Easing Duration"
-#~ msgstr "Durada del camí"
-
-#~ msgid "The duration of the animations"
-#~ msgstr "La durada de les animacions"
+#: ../clutter/deprecated/clutter-alpha.c:395
+msgid "Progress mode"
+msgstr "Mode de progrés"
 
-#~ msgid "Scale Factor Set"
-#~ msgstr "Establert el factor d'escalat"
+#: ../clutter/deprecated/clutter-animation.c:511
+msgid "Object"
+msgstr "Objecte"
 
-#~ msgid "Whether the scale-factor property is set"
-#~ msgstr "Si la propietat de factor d'escalat té un valor"
+#: ../clutter/deprecated/clutter-animation.c:512
+msgid "Object to which the animation applies"
+msgstr "L'objecte al que s'aplica l'animació"
 
-#~ msgid "Scale Factor"
-#~ msgstr "Factor d'escalat"
+#: ../clutter/deprecated/clutter-animation.c:529
+msgid "The mode of the animation"
+msgstr "El mode de l'animació"
 
-#~ msgid "The scaling factor for the surface"
-#~ msgstr "El factor d'escalat de la superfície"
+#: ../clutter/deprecated/clutter-animation.c:545
+msgid "Duration of the animation, in milliseconds"
+msgstr "Durada de l'animació, en miŀlisegons"
 
-#~ msgid "Threshold Trigger Edge"
-#~ msgstr "Vora del llindar d'activació"
+#: ../clutter/deprecated/clutter-animation.c:561
+msgid "Whether the animation should loop"
+msgstr "Si l'animació s'hauria de repetir"
 
-#~ msgid "The trigger edge used by the action"
-#~ msgstr "La vora d'activació que utilitza l'acció"
+#: ../clutter/deprecated/clutter-animation.c:576
+msgid "The timeline used by the animation"
+msgstr "La línia del temps que utilitzarà l'animació"
 
-#~ msgid "Threshold Trigger Horizontal Distance"
-#~ msgstr "Llindar d'activació de distància horitzontal"
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
+msgid "Alpha"
+msgstr "Alfa"
 
-#~ msgid "The horizontal trigger distance used by the action"
-#~ msgstr "La distància d'activació horitzontal que utilitza l'acció"
+#: ../clutter/deprecated/clutter-animation.c:593
+msgid "The alpha used by the animation"
+msgstr "L'alfa que utilitzarà l'animació"
 
-#~ msgid "Threshold Trigger Vertical Distance"
-#~ msgstr "Llindar d'activació de distància vertical"
+#: ../clutter/deprecated/clutter-animator.c:1804
+msgid "The duration of the animation"
+msgstr "La durada de l'animació"
 
-#~ msgid "The vertical trigger distance used by the action"
-#~ msgstr "La distància d'activació vertical que utilitza l'acció"
+#: ../clutter/deprecated/clutter-animator.c:1821
+msgid "The timeline of the animation"
+msgstr "La línia del temps de l'animació"
 
-#~ msgid "Window Scaling Factor"
-#~ msgstr "El factor d'escalat de la finestra"
+#: ../clutter/deprecated/clutter-behaviour.c:242
+msgid "Alpha Object to drive the behaviour"
+msgstr "L'objecte alfa que estableix el comportament"
 
-#~ msgid "The scaling factor to be applied to windows"
-#~ msgstr "El factor d'escalat que s'ha d'aplicar a les finestres"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
+msgid "Start Depth"
+msgstr "Profunditat inicial"
 
-#~ msgid "Offscreen"
-#~ msgstr "Fora de pantalla"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
+msgid "Initial depth to apply"
+msgstr "La profunditat inicial a aplicar"
 
-#~ msgid "Whether the main stage should be rendered offscreen"
-#~ msgstr "Si l'escenari principal hauria de renderitzar-se fora de pantalla"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
+msgid "End Depth"
+msgstr "Profunditat final"
 
-#~ msgid "Color"
-#~ msgstr "Color"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
+msgid "Final depth to apply"
+msgstr "La profunditat final a aplicar"
 
-#~ msgid "The color of the stage"
-#~ msgstr "El color de l'escenari"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
+msgid "Start Angle"
+msgstr "Angle d'inici"
 
-#~ msgid "Use Fog"
-#~ msgstr "Utilitza la boira"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
+msgid "Initial angle"
+msgstr "Angle inicial"
 
-#~ msgid "Whether to enable depth cueing"
-#~ msgstr "Si s'habilita la percepció de profunditat"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
+msgid "End Angle"
+msgstr "Angle de fi"
 
-#~ msgid "Fog"
-#~ msgstr "Boira"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
+msgid "Final angle"
+msgstr "Angle final"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
+msgid "Angle x tilt"
+msgstr "Angle d'inclinació X"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
+msgid "Tilt of the ellipse around x axis"
+msgstr "La inclinació de l'eŀlipse al voltant de l'eix de les X"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
+msgid "Angle y tilt"
+msgstr "Angle d'inclinació Y"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
+msgid "Tilt of the ellipse around y axis"
+msgstr "La inclinació de l'eŀlipse al voltant de l'eix de les Y"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
+msgid "Angle z tilt"
+msgstr "Angle d'inclinació Z"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
+msgid "Tilt of the ellipse around z axis"
+msgstr "La inclinació de l'eŀlipse al voltant de l'eix de les Z"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
+msgid "Width of the ellipse"
+msgstr "Amplada de l'eŀlipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
+msgid "Height of ellipse"
+msgstr "Alçada de l'eŀlipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
+msgid "Center"
+msgstr "Centre"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
+msgid "Center of ellipse"
+msgstr "El centre de l'eŀlipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
+msgid "Direction of rotation"
+msgstr "Direcció de la rotació"
 
-#~ msgid "Settings for the depth cueing"
-#~ msgstr "Paràmetres de la percepció de profunditat"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
+msgid "Opacity Start"
+msgstr "Opacitat inicial"
 
-#~ msgid "Loop"
-#~ msgstr "Repetició"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
+msgid "Initial opacity level"
+msgstr "El nivell d'opacitat inicial"
 
-#~ msgid "Should the timeline automatically restart"
-#~ msgstr "Si s'hauria de reiniciar automàticament la línia del temps"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
+msgid "Opacity End"
+msgstr "Opacitat final"
 
-#~ msgid "Timeline"
-#~ msgstr "Línia del temps"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
+msgid "Final opacity level"
+msgstr "El nivell d'opacitat final"
 
-#~ msgid "Timeline used by the alpha"
-#~ msgstr "La línia del temps que utilitzarà l'alfa"
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
+msgid "The ClutterPath object representing the path to animate along"
+msgstr "L'objecte «ClutterPath» que representa el camí en el que s'anima"
 
-#~ msgid "Alpha value"
-#~ msgstr "Valor alfa"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
+msgid "Angle Begin"
+msgstr "Angle inicial"
 
-#~ msgid "Alpha value as computed by the alpha"
-#~ msgstr "El valor alfa calculat per l'alfa"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
+msgid "Angle End"
+msgstr "Angle final"
 
-#~ msgid "Mode"
-#~ msgstr "Mode"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
+msgid "Axis"
+msgstr "Eix"
 
-#~ msgid "Progress mode"
-#~ msgstr "Mode de progrés"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
+msgid "Axis of rotation"
+msgstr "L'eix de rotació"
 
-#~ msgid "Object"
-#~ msgstr "Objecte"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
+msgid "Center X"
+msgstr "Centre X"
 
-#~ msgid "Object to which the animation applies"
-#~ msgstr "L'objecte al que s'aplica l'animació"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
+msgid "X coordinate of the center of rotation"
+msgstr "La coordenada X del centre de rotació"
 
-#~ msgid "The mode of the animation"
-#~ msgstr "El mode de l'animació"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
+msgid "Center Y"
+msgstr "Centre Y"
 
-#~ msgid "Duration of the animation, in milliseconds"
-#~ msgstr "Durada de l'animació, en mil·lisegons"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
+msgid "Y coordinate of the center of rotation"
+msgstr "La coordenada Y del centre de rotació"
 
-#~ msgid "Whether the animation should loop"
-#~ msgstr "Si l'animació s'hauria de repetir"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
+msgid "Center Z"
+msgstr "Centre Z"
 
-#~ msgid "The timeline used by the animation"
-#~ msgstr "La línia del temps que utilitzarà l'animació"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
+msgid "Z coordinate of the center of rotation"
+msgstr "La coordenada Z del centre de rotació"
 
-#~ msgid "Alpha"
-#~ msgstr "Alfa"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
+msgid "X Start Scale"
+msgstr "Escala inicial X"
 
-#~ msgid "The alpha used by the animation"
-#~ msgstr "L'alfa que utilitzarà l'animació"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
+msgid "Initial scale on the X axis"
+msgstr "L'escala inicial en l'eix de les X"
 
-#~ msgid "The duration of the animation"
-#~ msgstr "La durada de l'animació"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
+msgid "X End Scale"
+msgstr "Escala final X"
 
-#~ msgid "The timeline of the animation"
-#~ msgstr "La línia del temps de l'animació"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
+msgid "Final scale on the X axis"
+msgstr "L'escala final en l'eix de les X"
 
-#~ msgid "Alpha Object to drive the behaviour"
-#~ msgstr "L'objecte alfa que estableix el comportament"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
+msgid "Y Start Scale"
+msgstr "Escala inicial Y"
 
-#~ msgid "Start Depth"
-#~ msgstr "Profunditat inicial"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
+msgid "Initial scale on the Y axis"
+msgstr "L'escala inicial en l'eix de les Y"
 
-#~ msgid "Initial depth to apply"
-#~ msgstr "La profunditat inicial a aplicar"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
+msgid "Y End Scale"
+msgstr "Escala final Y"
 
-#~ msgid "End Depth"
-#~ msgstr "Profunditat final"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
+msgid "Final scale on the Y axis"
+msgstr "L'escala final en l'eix de les Y"
 
-#~ msgid "Final depth to apply"
-#~ msgstr "La profunditat final a aplicar"
+#: ../clutter/deprecated/clutter-box.c:261
+msgid "The background color of the box"
+msgstr "El color de fons de la caixa"
 
-#~ msgid "Start Angle"
-#~ msgstr "Angle d'inici"
+#: ../clutter/deprecated/clutter-box.c:274
+msgid "Color Set"
+msgstr "Té color"
 
-#~ msgid "Initial angle"
-#~ msgstr "Angle inicial"
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
+msgid "Surface Width"
+msgstr "Amplada de la superfície"
 
-#~ msgid "End Angle"
-#~ msgstr "Angle de fi"
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
+msgid "The width of the Cairo surface"
+msgstr "L'amplada de la superfície Cairo"
 
-#~ msgid "Final angle"
-#~ msgstr "Angle final"
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
+msgid "Surface Height"
+msgstr "Alçada de la superfície"
 
-#~ msgid "Angle x tilt"
-#~ msgstr "Angle d'inclinació X"
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
+msgid "The height of the Cairo surface"
+msgstr "L'alçada de la superfície Cairo"
 
-#~ msgid "Tilt of the ellipse around x axis"
-#~ msgstr "La inclinació de l'el·lipse al voltant de l'eix de les X"
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
+msgid "Auto Resize"
+msgstr "Redimensiona automàticament"
 
-#~ msgid "Angle y tilt"
-#~ msgstr "Angle d'inclinació Y"
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
+msgid "Whether the surface should match the allocation"
+msgstr "Si la superfície hauria de coincidir amb la ubicació"
 
-#~ msgid "Tilt of the ellipse around y axis"
-#~ msgstr "La inclinació de l'el·lipse al voltant de l'eix de les Y"
+#: ../clutter/deprecated/clutter-media.c:83
+msgid "URI"
+msgstr "URI"
 
-#~ msgid "Angle z tilt"
-#~ msgstr "Angle d'inclinació Z"
+#: ../clutter/deprecated/clutter-media.c:84
+msgid "URI of a media file"
+msgstr "L'URI d'un fitxer multimèdia"
 
-#~ msgid "Tilt of the ellipse around z axis"
-#~ msgstr "La inclinació de l'el·lipse al voltant de l'eix de les Z"
+#: ../clutter/deprecated/clutter-media.c:100
+msgid "Playing"
+msgstr "Reproducció"
 
-#~ msgid "Width of the ellipse"
-#~ msgstr "Amplada de l'el·lipse"
+#: ../clutter/deprecated/clutter-media.c:101
+msgid "Whether the actor is playing"
+msgstr "Si l'actor s'està reproduint"
 
-#~ msgid "Height of ellipse"
-#~ msgstr "Alçada de l'el·lipse"
+#: ../clutter/deprecated/clutter-media.c:118
+msgid "Progress"
+msgstr "Progrés"
 
-#~ msgid "Center"
-#~ msgstr "Centre"
+#: ../clutter/deprecated/clutter-media.c:119
+msgid "Current progress of the playback"
+msgstr "El progrés actual de la reproducció"
 
-#~ msgid "Center of ellipse"
-#~ msgstr "El centre de l'el·lipse"
+#: ../clutter/deprecated/clutter-media.c:135
+msgid "Subtitle URI"
+msgstr "URI dels subtítols"
 
-#~ msgid "Direction of rotation"
-#~ msgstr "Direcció de la rotació"
+#: ../clutter/deprecated/clutter-media.c:136
+msgid "URI of a subtitle file"
+msgstr "L'URI del fitxer de subtítols"
 
-#~ msgid "Opacity Start"
-#~ msgstr "Opacitat inicial"
+#: ../clutter/deprecated/clutter-media.c:154
+msgid "Subtitle Font Name"
+msgstr "Nom del tipus de lletra dels subtítols"
 
-#~ msgid "Initial opacity level"
-#~ msgstr "El nivell d'opacitat inicial"
+#: ../clutter/deprecated/clutter-media.c:155
+msgid "The font used to display subtitles"
+msgstr "El nom del tipus de lletra per mostrar els subtítols"
 
-#~ msgid "Opacity End"
-#~ msgstr "Opacitat final"
+#: ../clutter/deprecated/clutter-media.c:172
+msgid "Audio Volume"
+msgstr "Volum de l'àudio"
 
-#~ msgid "Final opacity level"
-#~ msgstr "El nivell d'opacitat final"
+#: ../clutter/deprecated/clutter-media.c:173
+msgid "The volume of the audio"
+msgstr "El volum de l'àudio"
 
-#~ msgid "The ClutterPath object representing the path to animate along"
-#~ msgstr "L'objecte «ClutterPath» que representa el camí en el que s'anima"
+#: ../clutter/deprecated/clutter-media.c:189
+msgid "Can Seek"
+msgstr "Pot cercar"
 
-#~ msgid "Angle Begin"
-#~ msgstr "Angle inicial"
+#: ../clutter/deprecated/clutter-media.c:190
+msgid "Whether the current stream is seekable"
+msgstr "Si el flux actual permet cercar"
 
-#~ msgid "Angle End"
-#~ msgstr "Angle final"
+#: ../clutter/deprecated/clutter-media.c:207
+msgid "Buffer Fill"
+msgstr "Emplenament de la memòria intermèdia"
 
-#~ msgid "Axis"
-#~ msgstr "Eix"
+#: ../clutter/deprecated/clutter-media.c:208
+msgid "The fill level of the buffer"
+msgstr "El nivell d'emplenament de la memòria intermèdia"
 
-#~ msgid "Axis of rotation"
-#~ msgstr "L'eix de rotació"
+#: ../clutter/deprecated/clutter-media.c:225
+msgid "The duration of the stream, in seconds"
+msgstr "La durada del flux, en segons"
 
-#~ msgid "Center X"
-#~ msgstr "Centre X"
+#: ../clutter/deprecated/clutter-rectangle.c:274
+msgid "The color of the rectangle"
+msgstr "El color del rectangle"
 
-#~ msgid "X coordinate of the center of rotation"
-#~ msgstr "La coordenada X del centre de rotació"
+#: ../clutter/deprecated/clutter-rectangle.c:287
+msgid "Border Color"
+msgstr "Color de la vora"
 
-#~ msgid "Center Y"
-#~ msgstr "Centre Y"
+#: ../clutter/deprecated/clutter-rectangle.c:288
+msgid "The color of the border of the rectangle"
+msgstr "El color de la vora del rectangle"
 
-#~ msgid "Y coordinate of the center of rotation"
-#~ msgstr "La coordenada Y del centre de rotació"
+#: ../clutter/deprecated/clutter-rectangle.c:303
+msgid "Border Width"
+msgstr "Amplada de la vora"
 
-#~ msgid "Center Z"
-#~ msgstr "Centre Z"
+#: ../clutter/deprecated/clutter-rectangle.c:304
+msgid "The width of the border of the rectangle"
+msgstr "L'amplada de la vora del rectangle"
 
-#~ msgid "Z coordinate of the center of rotation"
-#~ msgstr "La coordenada Z del centre de rotació"
+#: ../clutter/deprecated/clutter-rectangle.c:318
+msgid "Has Border"
+msgstr "Té vora"
 
-#~ msgid "X Start Scale"
-#~ msgstr "Escala inicial X"
+#: ../clutter/deprecated/clutter-rectangle.c:319
+msgid "Whether the rectangle should have a border"
+msgstr "Si el rectangle hauria de tindre vora"
 
-#~ msgid "Initial scale on the X axis"
-#~ msgstr "L'escala inicial en l'eix de les X"
+#: ../clutter/deprecated/clutter-shader.c:261
+msgid "Vertex Source"
+msgstr "Font del vèrtex"
 
-#~ msgid "X End Scale"
-#~ msgstr "Escala final X"
+#: ../clutter/deprecated/clutter-shader.c:262
+msgid "Source of vertex shader"
+msgstr "Font del shader del vèrtex"
 
-#~ msgid "Final scale on the X axis"
-#~ msgstr "L'escala final en l'eix de les X"
+#: ../clutter/deprecated/clutter-shader.c:278
+msgid "Fragment Source"
+msgstr "Font del fragment"
 
-#~ msgid "Y Start Scale"
-#~ msgstr "Escala inicial Y"
+#: ../clutter/deprecated/clutter-shader.c:279
+msgid "Source of fragment shader"
+msgstr "Font del shader del fragment"
 
-#~ msgid "Initial scale on the Y axis"
-#~ msgstr "L'escala inicial en l'eix de les Y"
+#: ../clutter/deprecated/clutter-shader.c:296
+msgid "Compiled"
+msgstr "Compilat"
 
-#~ msgid "Y End Scale"
-#~ msgstr "Escala final Y"
+#: ../clutter/deprecated/clutter-shader.c:297
+msgid "Whether the shader is compiled and linked"
+msgstr "Si el shader és compilat i enllaçat"
 
-#~ msgid "Final scale on the Y axis"
-#~ msgstr "L'escala final en l'eix de les Y"
+#: ../clutter/deprecated/clutter-shader.c:314
+msgid "Whether the shader is enabled"
+msgstr "Si el shader és habilitat"
 
-#~ msgid "The background color of the box"
-#~ msgstr "El color de fons de la caixa"
+#: ../clutter/deprecated/clutter-shader.c:525
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "Ha fallat la compilació del %s: %s"
 
-#~ msgid "Color Set"
-#~ msgstr "Té color"
+#: ../clutter/deprecated/clutter-shader.c:526
+msgid "Vertex shader"
+msgstr "Shader de vèrtex"
 
-#~ msgid "Surface Width"
-#~ msgstr "Amplada de la superfície"
+#: ../clutter/deprecated/clutter-shader.c:527
+msgid "Fragment shader"
+msgstr "Shader del fragment"
 
-#~ msgid "The width of the Cairo surface"
-#~ msgstr "L'amplada de la superfície Cairo"
+#: ../clutter/deprecated/clutter-state.c:1504
+msgid "State"
+msgstr "Estat"
 
-#~ msgid "Surface Height"
-#~ msgstr "Alçada de la superfície"
+#: ../clutter/deprecated/clutter-state.c:1505
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
+"L'estat establit actualment (potser encara no s'ha completat la transició a "
+"este estat)"
 
-#~ msgid "The height of the Cairo surface"
-#~ msgstr "L'alçada de la superfície Cairo"
+#: ../clutter/deprecated/clutter-state.c:1523
+msgid "Default transition duration"
+msgstr "La durada per defecte de la transició"
 
-#~ msgid "Auto Resize"
-#~ msgstr "Redimensiona automàticament"
+#: ../clutter/deprecated/clutter-texture.c:994
+msgid "Sync size of actor"
+msgstr "Sincronitza la mida de l'actor"
 
-#~ msgid "Whether the surface should match the allocation"
-#~ msgstr "Si la superfície hauria de coincidir amb la ubicació"
+#: ../clutter/deprecated/clutter-texture.c:995
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
+"Sincronitza automàticament la mida de l'actor amb les mides de la memòria de "
+"píxels de rerefons"
 
-#~ msgid "URI"
-#~ msgstr "URI"
+#: ../clutter/deprecated/clutter-texture.c:1002
+msgid "Disable Slicing"
+msgstr "Inhabilita el tallat"
 
-#~ msgid "URI of a media file"
-#~ msgstr "L'URI d'un fitxer multimèdia"
+#: ../clutter/deprecated/clutter-texture.c:1003
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
+"Força la textura de rerefons a ser una de sola i no estar formada per "
+"diverses de més petites"
 
-#~ msgid "Playing"
-#~ msgstr "Reproducció"
+#: ../clutter/deprecated/clutter-texture.c:1012
+msgid "Tile Waste"
+msgstr "Desaprofitament de quadre"
 
-#~ msgid "Whether the actor is playing"
-#~ msgstr "Si l'actor s'està reproduint"
+#: ../clutter/deprecated/clutter-texture.c:1013
+msgid "Maximum waste area of a sliced texture"
+msgstr "Àrea màxima de desaprofitament d'una textura tallada"
 
-#~ msgid "Progress"
-#~ msgstr "Progrés"
+#: ../clutter/deprecated/clutter-texture.c:1021
+msgid "Horizontal repeat"
+msgstr "Repetició horitzontal"
 
-#~ msgid "Current progress of the playback"
-#~ msgstr "El progrés actual de la reproducció"
+#: ../clutter/deprecated/clutter-texture.c:1022
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr "Repeteix els continguts en comptes d'escalar-los horitzontalment"
 
-#~ msgid "Subtitle URI"
-#~ msgstr "URI dels subtítols"
+#: ../clutter/deprecated/clutter-texture.c:1029
+msgid "Vertical repeat"
+msgstr "Repetició vertical"
 
-#~ msgid "URI of a subtitle file"
-#~ msgstr "L'URI del fitxer de subtítols"
+#: ../clutter/deprecated/clutter-texture.c:1030
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr "Repeteix els continguts en comptes d'escalar-los verticalment"
 
-#~ msgid "Subtitle Font Name"
-#~ msgstr "Nom del tipus de lletra dels subtítols"
+#: ../clutter/deprecated/clutter-texture.c:1037
+msgid "Filter Quality"
+msgstr "Qualitat del filtre"
 
-#~ msgid "The font used to display subtitles"
-#~ msgstr "El nom del tipus de lletra per mostrar els subtítols"
+#: ../clutter/deprecated/clutter-texture.c:1038
+msgid "Rendering quality used when drawing the texture"
+msgstr "La qualitat de la renderització quan es dibuixi una textura"
 
-#~ msgid "Audio Volume"
-#~ msgstr "Volum de l'àudio"
+#: ../clutter/deprecated/clutter-texture.c:1046
+msgid "Pixel Format"
+msgstr "Format del píxel"
 
-#~ msgid "The volume of the audio"
-#~ msgstr "El volum de l'àudio"
+#: ../clutter/deprecated/clutter-texture.c:1047
+msgid "The Cogl pixel format to use"
+msgstr "El format de píxel de Cogl a utilitzar"
 
-#~ msgid "Can Seek"
-#~ msgstr "Pot cercar"
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
+msgid "Cogl Texture"
+msgstr "Textura de Cogl"
 
-#~ msgid "Whether the current stream is seekable"
-#~ msgstr "Si el flux actual permet cercar"
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr ""
+"El gestor de la textura de Cogl de rerefons que s'utilitza per dibuixar este "
+"actor"
 
-#~ msgid "Buffer Fill"
-#~ msgstr "Emplenament de la memòria intermèdia"
+#: ../clutter/deprecated/clutter-texture.c:1063
+msgid "Cogl Material"
+msgstr "Material de Cogl"
 
-#~ msgid "The fill level of the buffer"
-#~ msgstr "El nivell d'emplenament de la memòria intermèdia"
+#: ../clutter/deprecated/clutter-texture.c:1064
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr ""
+"El gestor del material de Cogl de rerefons que s'utilitza per dibuixar este "
+"actor"
 
-#~ msgid "The duration of the stream, in seconds"
-#~ msgstr "La durada del flux, en segons"
+#: ../clutter/deprecated/clutter-texture.c:1083
+msgid "The path of the file containing the image data"
+msgstr "El camí al fitxer que conté les dades de la imatge"
 
-#~ msgid "The color of the rectangle"
-#~ msgstr "El color del rectangle"
+#: ../clutter/deprecated/clutter-texture.c:1090
+msgid "Keep Aspect Ratio"
+msgstr "Manté la relació d'aspecte"
 
-#~ msgid "Border Color"
-#~ msgstr "Color de la vora"
+#: ../clutter/deprecated/clutter-texture.c:1091
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
+"Manté la relació d'aspecte de la textura quan es soŀliciti una amplada o "
+"alçada preferida"
 
-#~ msgid "The color of the border of the rectangle"
-#~ msgstr "El color de la vora del rectangle"
+#: ../clutter/deprecated/clutter-texture.c:1119
+msgid "Load asynchronously"
+msgstr "Carrega asíncronament"
 
-#~ msgid "Border Width"
-#~ msgstr "Amplada de la vora"
+#: ../clutter/deprecated/clutter-texture.c:1120
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr ""
+"Carrega els fitxers en un altre fil d'execució per evitar el blocatge quan "
+"es carreguin imatges del disc"
 
-#~ msgid "The width of the border of the rectangle"
-#~ msgstr "L'amplada de la vora del rectangle"
+#: ../clutter/deprecated/clutter-texture.c:1138
+msgid "Load data asynchronously"
+msgstr "Carrega les dades asíncronament"
 
-#~ msgid "Has Border"
-#~ msgstr "Té vora"
+#: ../clutter/deprecated/clutter-texture.c:1139
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
+msgstr ""
+"Descodifica els fitxers de dades d'imatge en un altre fil d'execució per "
+"reduir el blocatge quan es carreguin imatges del disc"
 
-#~ msgid "Whether the rectangle should have a border"
-#~ msgstr "Si el rectangle hauria de tenir vora"
+#: ../clutter/deprecated/clutter-texture.c:1165
+msgid "Pick With Alpha"
+msgstr "Selecció amb transparència"
 
-#~ msgid "Vertex Source"
-#~ msgstr "Font del vèrtex"
+#: ../clutter/deprecated/clutter-texture.c:1166
+msgid "Shape actor with alpha channel when picking"
+msgstr "Modela l'actor amb un canal de transparència quan es seleccioni"
 
-#~ msgid "Source of vertex shader"
-#~ msgstr "Font del shader del vèrtex"
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
+#, c-format
+msgid "Failed to load the image data"
+msgstr "No s'han pogut carregar les dades de la imatge"
 
-#~ msgid "Fragment Source"
-#~ msgstr "Font del fragment"
+#: ../clutter/deprecated/clutter-texture.c:1758
+#, c-format
+msgid "YUV textures are not supported"
+msgstr "No es poden utilitzar textures YUV"
 
-#~ msgid "Source of fragment shader"
-#~ msgstr "Font del shader del fragment"
+#: ../clutter/deprecated/clutter-texture.c:1767
+#, c-format
+msgid "YUV2 textues are not supported"
+msgstr "No es poden utilitzar textures YUV2"
 
-#~ msgid "Compiled"
-#~ msgstr "Compilat"
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "Camí al sysfs"
 
-#~ msgid "Whether the shader is compiled and linked"
-#~ msgstr "Si el shader és compilat i enllaçat"
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "Camí al dispositiu a sysfs"
 
-#~ msgid "Whether the shader is enabled"
-#~ msgstr "Si el shader és habilitat"
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Camí al dispositiu"
 
-#~ msgid "%s compilation failed: %s"
-#~ msgstr "Ha fallat la compilació del %s: %s"
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Camí al node del dispositiu"
 
-#~ msgid "Vertex shader"
-#~ msgstr "Shader de vèrtex"
+#: ../clutter/gdk/clutter-backend-gdk.c:296
+#, c-format
+msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
+msgstr "No s'ha pogut trobar cap CoglWinsys per a una GdkDisplay del tipus %s"
 
-#~ msgid "Fragment shader"
-#~ msgstr "Shader del fragment"
+#: ../clutter/wayland/clutter-wayland-surface.c:423
+msgid "Surface"
+msgstr "Superfície"
 
-#~ msgid "State"
-#~ msgstr "Estat"
+#: ../clutter/wayland/clutter-wayland-surface.c:424
+msgid "The underlying wayland surface"
+msgstr "La superfície de Wayland de rerefons"
 
-#~ msgid ""
-#~ "Currently set state, (transition to this state might not be complete)"
-#~ msgstr ""
-#~ "L'estat establert actualment (potser encara no s'ha completat la "
-#~ "transició a aquest estat)"
+#: ../clutter/wayland/clutter-wayland-surface.c:431
+msgid "Surface width"
+msgstr "Amplada de la superfície"
 
-#~ msgid "Default transition duration"
-#~ msgstr "La durada per defecte de la transició"
+#: ../clutter/wayland/clutter-wayland-surface.c:432
+msgid "The width of the underlying wayland surface"
+msgstr "L'amplada de la superfície Wayland subjacent"
 
-#~ msgid "Horizontal Expand"
-#~ msgstr "Expansió horitzontal"
+#: ../clutter/wayland/clutter-wayland-surface.c:440
+msgid "Surface height"
+msgstr "Alçada de la superfície"
 
-#~ msgid "Allocate extra space for the child in horizontal axis"
-#~ msgstr "Ubica espai extra per al fill en l'eix horitzontal"
+#: ../clutter/wayland/clutter-wayland-surface.c:441
+msgid "The height of the underlying wayland surface"
+msgstr "L'alçada de la superfície Wayland subjacent"
 
-#~ msgid "Vertical Expand"
-#~ msgstr "Expansió vertical"
+#: ../clutter/x11/clutter-backend-x11.c:516
+msgid "X display to use"
+msgstr "El monitor d'X a utilitzar"
 
-#~ msgid "Allocate extra space for the child in vertical axis"
-#~ msgstr "Ubica espai extra per al fill en l'eix vertical"
+#: ../clutter/x11/clutter-backend-x11.c:522
+msgid "X screen to use"
+msgstr "La pantalla d'X a utilitzar"
 
-#~ msgid "Sync size of actor"
-#~ msgstr "Sincronitza la mida de l'actor"
+#: ../clutter/x11/clutter-backend-x11.c:527
+msgid "Make X calls synchronous"
+msgstr "Fes les crides síncrones a l'X"
 
-#~ msgid "Auto sync size of actor to underlying pixbuf dimensions"
-#~ msgstr ""
-#~ "Sincronitza automàticament la mida de l'actor amb les mides de la memòria "
-#~ "de píxels de rerefons"
+#: ../clutter/x11/clutter-backend-x11.c:534
+msgid "Enable XInput support"
+msgstr "Habilita l'XInput"
 
-#~ msgid "Disable Slicing"
-#~ msgstr "Inhabilita el tallat"
+#: ../clutter/x11/clutter-keymap-x11.c:317
+msgid "The Clutter backend"
+msgstr "El rerefons de la Clutter"
 
-#~ msgid ""
-#~ "Forces the underlying texture to be singular and not made of smaller "
-#~ "space saving individual textures"
-#~ msgstr ""
-#~ "Força la textura de rerefons a ser una de sola i no estar formada per "
-#~ "diverses de més petites"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
+msgid "Pixmap"
+msgstr "Mapa de píxels"
 
-#~ msgid "Tile Waste"
-#~ msgstr "Desaprofitament de quadre"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
+msgid "The X11 Pixmap to be bound"
+msgstr "El mapa de píxels X11 que es vincularà"
 
-#~ msgid "Maximum waste area of a sliced texture"
-#~ msgstr "Àrea màxima de desaprofitament d'una textura tallada"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
+msgid "Pixmap width"
+msgstr "Amplada del mapa de píxels"
 
-#~ msgid "Horizontal repeat"
-#~ msgstr "Repetició horitzontal"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
+msgid "The width of the pixmap bound to this texture"
+msgstr "L'amplada del mapa de píxels vinculat a esta textura"
 
-#~ msgid "Repeat the contents rather than scaling them horizontally"
-#~ msgstr "Repeteix els continguts en comptes d'escalar-los horitzontalment"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
+msgid "Pixmap height"
+msgstr "Alçada del mapa de píxels"
 
-#~ msgid "Vertical repeat"
-#~ msgstr "Repetició vertical"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
+msgid "The height of the pixmap bound to this texture"
+msgstr "L'alçada del mapa de píxels vinculat a esta textura"
 
-#~ msgid "Repeat the contents rather than scaling them vertically"
-#~ msgstr "Repeteix els continguts en comptes d'escalar-los verticalment"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
+msgid "Pixmap Depth"
+msgstr "Profunditat del mapa de píxels"
 
-#~ msgid "Filter Quality"
-#~ msgstr "Qualitat del filtre"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
+msgid "The depth (in number of bits) of the pixmap bound to this texture"
+msgstr ""
+"La profunditat (en nombre de bits) del mapa de píxels vinculat a esta textura"
 
-#~ msgid "Rendering quality used when drawing the texture"
-#~ msgstr "La qualitat de la renderització quan es dibuixi una textura"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
+msgid "Automatic Updates"
+msgstr "Actualitzacions automàtiques"
 
-#~ msgid "Pixel Format"
-#~ msgstr "Format del píxel"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
+msgid "If the texture should be kept in sync with any pixmap changes."
+msgstr ""
+"Si la textura s'hauria de mantindre sincronitzada amb els canvis al mapa de "
+"píxels."
 
-#~ msgid "The Cogl pixel format to use"
-#~ msgstr "El format de píxel de Cogl a utilitzar"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
+msgid "Window"
+msgstr "Finestra"
 
-#~ msgid "Cogl Material"
-#~ msgstr "Material de Cogl"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
+msgid "The X11 Window to be bound"
+msgstr "La finestra X11 que es vincularà"
 
-#~ msgid "The underlying Cogl material handle used to draw this actor"
-#~ msgstr ""
-#~ "El gestor del material de Cogl de rerefons que s'utilitza per dibuixar "
-#~ "aquest actor"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
+msgid "Window Redirect Automatic"
+msgstr "Redireccions automàtiques de finestres"
 
-#~ msgid "The path of the file containing the image data"
-#~ msgstr "El camí al fitxer que conté les dades de la imatge"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
+msgid "If composite window redirects are set to Automatic (or Manual if false)"
+msgstr ""
+"Si les redireccions de les finestres compostes són automàtiques (o manuals "
+"si «false» (fals))"
 
-#~ msgid "Keep Aspect Ratio"
-#~ msgstr "Manté la relació d'aspecte"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
+msgid "Window Mapped"
+msgstr "Finestra mapada"
 
-#~ msgid ""
-#~ "Keep the aspect ratio of the texture when requesting the preferred width "
-#~ "or height"
-#~ msgstr ""
-#~ "Manté la relació d'aspecte de la textura quan es sol·liciti una amplada o "
-#~ "alçada preferida"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
+msgid "If window is mapped"
+msgstr "Si la finestra és mapada"
 
-#~ msgid "Load asynchronously"
-#~ msgstr "Carrega asíncronament"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
+msgid "Destroyed"
+msgstr "Destruïda"
 
-#~ msgid ""
-#~ "Load files inside a thread to avoid blocking when loading images from disk"
-#~ msgstr ""
-#~ "Carrega els fitxers en un altre fil d'execució per evitar el blocatge "
-#~ "quan es carreguin imatges del disc"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
+msgid "If window has been destroyed"
+msgstr "Si s'ha destruït la finestra"
 
-#~ msgid "Load data asynchronously"
-#~ msgstr "Carrega les dades asíncronament"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
+msgid "Window X"
+msgstr "X de la finestra"
 
-#~ msgid ""
-#~ "Decode image data files inside a thread to reduce blocking when loading "
-#~ "images from disk"
-#~ msgstr ""
-#~ "Descodifica els fitxers de dades d'imatge en un altre fil d'execució per "
-#~ "reduir el blocatge quan es carreguin imatges del disc"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
+msgid "X position of window on screen according to X11"
+msgstr "La posició X de la finestra a la pantalla segons l'X11"
 
-#~ msgid "Pick With Alpha"
-#~ msgstr "Selecció amb transparència"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
+msgid "Window Y"
+msgstr "Y de la finestra"
 
-#~ msgid "Shape actor with alpha channel when picking"
-#~ msgstr "Modela l'actor amb un canal de transparència quan es seleccioni"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
+msgid "Y position of window on screen according to X11"
+msgstr "La posició Y de la finestra a la pantalla segons l'X11"
 
-#~ msgid "Failed to load the image data"
-#~ msgstr "No s'han pogut carregar les dades de la imatge"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
+msgid "Window Override Redirect"
+msgstr "Redirecció de la sobreescriptura de la finestra"
 
-#~ msgid "YUV textures are not supported"
-#~ msgstr "No es poden utilitzar textures YUV"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
+msgid "If this is an override-redirect window"
+msgstr "Si és una finestra de redirecció de la sobreescriptura"
 
-#~ msgid "YUV2 textues are not supported"
-#~ msgstr "No es poden utilitzar textures YUV2"
+#~ msgid "The layout manager used by the box"
+#~ msgstr "El gestor de disposició utilitzat per la caixa"
diff --git a/po/cs.po b/po/cs.po
index 77b82d7..5931d8c 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,11 +7,11 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: clutter\n"
+"Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-06-03 19:39+0000\n"
-"PO-Revision-Date: 2013-06-04 12:14+0200\n"
+"POT-Creation-Date: 2013-02-06 17:22+0000\n"
+"PO-Revision-Date: 2013-02-22 20:52+0100\n"
 "Last-Translator: Marek Černocký <marek manet cz>\n"
 "Language-Team: Czech <gnome-cs-list gnome org>\n"
 "Language: cs\n"
@@ -19,563 +19,668 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Gtranslator 2.91.6\n"
 
-#: ../clutter/clutter-actor.c:5585
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Souřadnice X"
 
-#: ../clutter/clutter-actor.c:5586
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Souřadnice X účastníka"
 
-#: ../clutter/clutter-actor.c:5604
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Souřadnice Y"
 
-#: ../clutter/clutter-actor.c:5605
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Souřadnice Y účastníka"
 
-#: ../clutter/clutter-actor.c:5627
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Poloha"
 
-#: ../clutter/clutter-actor.c:5628
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "Poloha počátku účastníka"
 
-#: ../clutter/clutter-actor.c:5645 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
 #: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Šířka"
 
-#: ../clutter/clutter-actor.c:5646
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Šířka účastníka"
 
-#: ../clutter/clutter-actor.c:5664 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
 #: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Výška"
 
-#: ../clutter/clutter-actor.c:5665
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Výška účastníka"
 
-#: ../clutter/clutter-actor.c:5686
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Velikost"
 
-#: ../clutter/clutter-actor.c:5687
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "Velikost účastníka"
 
-#: ../clutter/clutter-actor.c:5705
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "Pevná X"
 
-#: ../clutter/clutter-actor.c:5706
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Přikázaná poloha X účastníka"
 
-#: ../clutter/clutter-actor.c:5723
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Pevná Y"
 
-#: ../clutter/clutter-actor.c:5724
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Přikázaná poloha Y účastníka"
 
-#: ../clutter/clutter-actor.c:5739
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Nastavena pevná poloha"
 
-#: ../clutter/clutter-actor.c:5740
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Zda je použita pevná poloha pro účastníka"
 
-#: ../clutter/clutter-actor.c:5758
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Min. šířka"
 
-#: ../clutter/clutter-actor.c:5759
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Požadavek na nutnou minimální šířku účastníka"
 
-#: ../clutter/clutter-actor.c:5777
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Min. výška"
 
-#: ../clutter/clutter-actor.c:5778
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Požadavek na nutnou minimální výšku účastníka"
 
-#: ../clutter/clutter-actor.c:5796
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Přirozená šířka"
 
-#: ../clutter/clutter-actor.c:5797
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Požadavek na nutnou přirozenou šířku účastníka"
 
-#: ../clutter/clutter-actor.c:5815
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Přirozená výška"
 
-#: ../clutter/clutter-actor.c:5816
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Požadavek na nutnou přirozenou výšku účastníka"
 
-#: ../clutter/clutter-actor.c:5831
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Nastavena min. šířka"
 
-#: ../clutter/clutter-actor.c:5832
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Zda se má použit vlastnost min-width"
 
-#: ../clutter/clutter-actor.c:5846
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Nastavena min. výška"
 
-#: ../clutter/clutter-actor.c:5847
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Zda se má použit vlastnost min-height"
 
-#: ../clutter/clutter-actor.c:5861
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Nastavena přirozená šířka"
 
-#: ../clutter/clutter-actor.c:5862
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Zda se má použit vlastnost natural-width"
 
-#: ../clutter/clutter-actor.c:5876
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Nastavena přirozená výška"
 
-#: ../clutter/clutter-actor.c:5877
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Zda se má použit vlastnost natural-height"
 
-#: ../clutter/clutter-actor.c:5893
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Místo"
 
-#: ../clutter/clutter-actor.c:5894
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "Místo zabrané účastníkem"
 
-#: ../clutter/clutter-actor.c:5951
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Režim požadavku"
 
-#: ../clutter/clutter-actor.c:5952
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "Režim požadavku účastníka"
 
-#: ../clutter/clutter-actor.c:5976
+#: ../clutter/clutter-actor.c:6535
+msgid "Depth"
+msgstr "Hloubka"
+
+#: ../clutter/clutter-actor.c:6536
+msgid "Position on the Z axis"
+msgstr "Poloha na ose Z"
+
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Poloha Z"
 
-#: ../clutter/clutter-actor.c:5977
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Poloha účastníka na ose Z"
 
-#: ../clutter/clutter-actor.c:5994
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Krytí"
 
-#: ../clutter/clutter-actor.c:5995
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Úroveň krytí barev účastníka"
 
-#: ../clutter/clutter-actor.c:6015
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Přesměrování vykreslení v paměti"
 
-#: ../clutter/clutter-actor.c:6016
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Příznak řídící, zda se má účastník shrnout do jednoho obrázku"
 
-#: ../clutter/clutter-actor.c:6030
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Viditelnost"
 
-#: ../clutter/clutter-actor.c:6031
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Zda je účastník viditelný či ne"
 
-#: ../clutter/clutter-actor.c:6045
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Namapován"
 
-#: ../clutter/clutter-actor.c:6046
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Zda bude účastník kreslen"
 
-#: ../clutter/clutter-actor.c:6059
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Realizován"
 
-#: ../clutter/clutter-actor.c:6060
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Zda byl účastník realizován"
 
-#: ../clutter/clutter-actor.c:6075
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Reagující"
 
-#: ../clutter/clutter-actor.c:6076
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Zda účastník reaguje na události"
 
-#: ../clutter/clutter-actor.c:6087
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Má ořez"
 
-#: ../clutter/clutter-actor.c:6088
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Zda má účastník nastavené ořezání"
 
-#: ../clutter/clutter-actor.c:6107
+#: ../clutter/clutter-actor.c:6688
+msgid "Clip"
+msgstr "Ořez"
+
+#: ../clutter/clutter-actor.c:6689
+msgid "The clip region for the actor"
+msgstr "Oblast ořezání účastníka"
+
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Ořezový obdélník"
 
-#: ../clutter/clutter-actor.c:6108
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "Viditelná oblast účastníka"
 
-#: ../clutter/clutter-actor.c:6122 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Název"
 
-#: ../clutter/clutter-actor.c:6123
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Název účastníka"
 
-#: ../clutter/clutter-actor.c:6144
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Středový bod"
 
-#: ../clutter/clutter-actor.c:6145
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Bod, ke kterému se vztahuje škálování a otáčení"
 
-#: ../clutter/clutter-actor.c:6163
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Středový bod v Z"
 
-#: ../clutter/clutter-actor.c:6164
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Souřadnice Z středového bodu"
 
-#: ../clutter/clutter-actor.c:6182
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Měřítko v X"
 
-#: ../clutter/clutter-actor.c:6183
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Škálovací měřítko v ose X"
 
-#: ../clutter/clutter-actor.c:6201
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Měřítko v Y"
 
-#: ../clutter/clutter-actor.c:6202
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Škálovací měřítko v ose Y"
 
-#: ../clutter/clutter-actor.c:6220
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Měřítko v Z"
 
-#: ../clutter/clutter-actor.c:6221
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Škálovací měřítko v ose Z"
 
-#: ../clutter/clutter-actor.c:6239
+#: ../clutter/clutter-actor.c:6840
+msgid "Scale Center X"
+msgstr "Střed škálování v X"
+
+#: ../clutter/clutter-actor.c:6841
+msgid "Horizontal scale center"
+msgstr "Střed škálování ve vodorovném směru"
+
+#: ../clutter/clutter-actor.c:6859
+msgid "Scale Center Y"
+msgstr "Střed škálování v Y"
+
+#: ../clutter/clutter-actor.c:6860
+msgid "Vertical scale center"
+msgstr "Střed škálování ve svislém směru"
+
+#: ../clutter/clutter-actor.c:6878
+msgid "Scale Gravity"
+msgstr "Středobod škálování"
+
+#: ../clutter/clutter-actor.c:6879
+msgid "The center of scaling"
+msgstr "Střed škálování"
+
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Úhel natočení v X"
 
-#: ../clutter/clutter-actor.c:6240
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "Úhel natočení v ose X"
 
-#: ../clutter/clutter-actor.c:6258
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Úhel natočení v Y"
 
-#: ../clutter/clutter-actor.c:6259
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "Úhel natočení v ose Y"
 
-#: ../clutter/clutter-actor.c:6277
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Úhel natočení v Z"
 
-#: ../clutter/clutter-actor.c:6278
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "Úhel natočení v ose Z"
 
-#: ../clutter/clutter-actor.c:6297
+#: ../clutter/clutter-actor.c:6954
+msgid "Rotation Center X"
+msgstr "Střed natočení v X"
+
+#: ../clutter/clutter-actor.c:6955
+msgid "The rotation center on the X axis"
+msgstr "Souřadnice na ose X středu natočení"
+
+#: ../clutter/clutter-actor.c:6972
+msgid "Rotation Center Y"
+msgstr "Střed natočení v Y"
+
+#: ../clutter/clutter-actor.c:6973
+msgid "The rotation center on the Y axis"
+msgstr "Souřadnice na ose Y středu natočení"
+
+#: ../clutter/clutter-actor.c:6990
+msgid "Rotation Center Z"
+msgstr "Střed natočení v Z"
+
+#: ../clutter/clutter-actor.c:6991
+msgid "The rotation center on the Z axis"
+msgstr "Souřadnice na ose Z středu natočení"
+
+#: ../clutter/clutter-actor.c:7008
+msgid "Rotation Center Z Gravity"
+msgstr "Středobod natočení v ose Z"
+
+#: ../clutter/clutter-actor.c:7009
+msgid "Center point for rotation around the Z axis"
+msgstr "Středový bod pro natočení okolo osy Z"
+
+#: ../clutter/clutter-actor.c:7037
+msgid "Anchor X"
+msgstr "Kotva v X"
+
+#: ../clutter/clutter-actor.c:7038
+msgid "X coordinate of the anchor point"
+msgstr "Souřadnice X kotevního bodu"
+
+#: ../clutter/clutter-actor.c:7066
+msgid "Anchor Y"
+msgstr "Kotva v Y"
+
+#: ../clutter/clutter-actor.c:7067
+msgid "Y coordinate of the anchor point"
+msgstr "Souřadnice Y kotevního bodu"
+
+#: ../clutter/clutter-actor.c:7094
+msgid "Anchor Gravity"
+msgstr "Středobod kotvy"
+
+#: ../clutter/clutter-actor.c:7095
+msgid "The anchor point as a ClutterGravity"
+msgstr "Kotevní bod ve formě ClutterGravity"
+
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Translace v X"
 
-#: ../clutter/clutter-actor.c:6298
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Translace souřadnic ve směru osy X"
 
-#: ../clutter/clutter-actor.c:6317
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Translace v Y"
 
-#: ../clutter/clutter-actor.c:6318
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Translace souřadnic ve směru osy Y"
 
-#: ../clutter/clutter-actor.c:6337
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Translace v Z"
 
-#: ../clutter/clutter-actor.c:6338
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Translace souřadnic ve směru osy Z"
 
-#: ../clutter/clutter-actor.c:6366
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Transformace"
 
-#: ../clutter/clutter-actor.c:6367
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Transformační matice"
 
-#: ../clutter/clutter-actor.c:6380
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Transformace nastavena"
 
-#: ../clutter/clutter-actor.c:6381
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Zda je nastavena vlastnost transform"
 
-#: ../clutter/clutter-actor.c:6400
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Transformace potomka"
 
-#: ../clutter/clutter-actor.c:6401
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Transformační matice potomka"
 
-#: ../clutter/clutter-actor.c:6416
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Transformace potomka nastavena"
 
-#: ../clutter/clutter-actor.c:6417
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Zda je nastavena vlastnost child-transform"
 
-#: ../clutter/clutter-actor.c:6435
+#: ../clutter/clutter-actor.c:7257
+msgid "Show on set parent"
+msgstr "Zobrazit podle nastavení rodiče"
+
+#: ../clutter/clutter-actor.c:7258
+msgid "Whether the actor is shown when parented"
+msgstr "Zda je účastník zobrazen, když je zobrazen rodič"
+
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Ořez podle místa"
 
-#: ../clutter/clutter-actor.c:6436
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Mění oblast ořezu průběžně podle místa, na kterém je účastník"
 
-#: ../clutter/clutter-actor.c:6449
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Směr textu"
 
-#: ../clutter/clutter-actor.c:6450
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Směr textu"
 
-#: ../clutter/clutter-actor.c:6465
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Má ukazatel"
 
-#: ../clutter/clutter-actor.c:6466
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Zda účastník obsahuje ukazatel některého ze vstupních zařízení"
 
-#: ../clutter/clutter-actor.c:6479
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Akce"
 
-#: ../clutter/clutter-actor.c:6480
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Přidává do účastníka akci"
 
-#: ../clutter/clutter-actor.c:6493
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Omezení"
 
-#: ../clutter/clutter-actor.c:6494
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Přidává do účastníka omezení"
 
-#: ../clutter/clutter-actor.c:6507
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Efekt"
 
-#: ../clutter/clutter-actor.c:6508
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Přidává efekt aplikovaný na účastníka"
 
-#: ../clutter/clutter-actor.c:6522
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Správce rozvržení"
 
-#: ../clutter/clutter-actor.c:6523
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "Objekt ovládající rozvržení potomků účastníka"
 
-#: ../clutter/clutter-actor.c:6537
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Roztažení v X"
 
-#: ../clutter/clutter-actor.c:6538
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr ""
 "Zda by k účastníkovi mělo být ve vodorovném směru přidáno dodatečné volné "
 "místo"
 
-#: ../clutter/clutter-actor.c:6553
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Roztažení v Y"
 
-#: ../clutter/clutter-actor.c:6554
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr ""
 "Zda by k účastníkovi mělo být ve svislém směru přidáno dodatečné volné místo"
 
-#: ../clutter/clutter-actor.c:6570
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Zarovnání v X"
 
-#: ../clutter/clutter-actor.c:6571
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Vodorovné zarovnání účastníka v rámci jeho prostoru"
 
-#: ../clutter/clutter-actor.c:6586
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Zarovnání v Y"
 
-#: ../clutter/clutter-actor.c:6587
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Svislé zarovnání účastníka v rámci jeho prostoru"
 
-#: ../clutter/clutter-actor.c:6606
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Okraj nahoře"
 
-#: ../clutter/clutter-actor.c:6607
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Místo navíc na horní straně"
 
-#: ../clutter/clutter-actor.c:6628
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Okraj dole"
 
-#: ../clutter/clutter-actor.c:6629
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Místo navíc na spodní straně"
 
-#: ../clutter/clutter-actor.c:6650
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Okraj vlevo"
 
-#: ../clutter/clutter-actor.c:6651
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Místo navíc na levé straně"
 
-#: ../clutter/clutter-actor.c:6672
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Okraj vpravo"
 
-#: ../clutter/clutter-actor.c:6673
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Místo navíc na pravé straně"
 
-#: ../clutter/clutter-actor.c:6689
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Barva pozadí nastavena"
 
-#: ../clutter/clutter-actor.c:6690
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Zda je barva pozadí nastavena"
 
-#: ../clutter/clutter-actor.c:6706
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Barva pozadí"
 
-#: ../clutter/clutter-actor.c:6707
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "Barva pozadí účastníka"
 
-#: ../clutter/clutter-actor.c:6722
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "První potomek"
 
-#: ../clutter/clutter-actor.c:6723
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Účastníkův první potomek"
 
-#: ../clutter/clutter-actor.c:6736
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Poslední potomek"
 
-#: ../clutter/clutter-actor.c:6737
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "Účastníkův poslední potomek"
 
-#: ../clutter/clutter-actor.c:6751
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Obsah"
 
-#: ../clutter/clutter-actor.c:6752
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Delegace objektu pro kreslení obsahu účastníka"
 
-#: ../clutter/clutter-actor.c:6777
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Středobod obsahu"
 
-#: ../clutter/clutter-actor.c:6778
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Zarovnání obsahu účastníka"
 
-#: ../clutter/clutter-actor.c:6798
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Hranice obsahu"
 
-#: ../clutter/clutter-actor.c:6799
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "Oblast ohraničující obsah účastníka"
 
-#: ../clutter/clutter-actor.c:6807
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Zmenšovací filtr"
 
-#: ../clutter/clutter-actor.c:6808
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Filtr používaný při zmenšení velikosti obsahu"
 
-#: ../clutter/clutter-actor.c:6815
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Zvětšovací filtr"
 
-#: ../clutter/clutter-actor.c:6816
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Filtr používaný při zvětšení velikosti obsahu"
 
-#: ../clutter/clutter-actor.c:6830
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Opakování obsahu"
 
-#: ../clutter/clutter-actor.c:6831
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "Strategie opakování obsahu účastníka"
 
@@ -592,6 +697,7 @@ msgid "The name of the meta"
 msgstr "Název struktury"
 
 #: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Povolena"
 
@@ -626,11 +732,11 @@ msgstr "Faktor"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Faktor zarovnání, v rozmezí 0,0 a 1,0"
 
-#: ../clutter/clutter-backend.c:373
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Nelze inicializovat výkonné jádro Clutter"
 
-#: ../clutter/clutter-backend.c:447
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "Výkonné jádro typu „%s“ nepodporuje tvorbu více scén"
@@ -661,43 +767,141 @@ msgstr "Posun v pixelech, který se má použít k omezení"
 msgid "The unique name of the binding pool"
 msgstr "Jedinečný název skupiny klávesových zkratek"
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
+msgid "Horizontal Alignment"
+msgstr "Vodorovné zarovnání"
+
+#: ../clutter/clutter-bin-layout.c:241
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr "Vodorovné zarovnání pro účastníka uvnitř správce rozvržení"
+
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
+msgid "Vertical Alignment"
+msgstr "Svislé zarovnání"
+
+#: ../clutter/clutter-bin-layout.c:250
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr "Svislé zarovnání pro účastníka uvnitř správce rozvržení"
+
+#: ../clutter/clutter-bin-layout.c:656
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr "Výchozí vodorovné zarovnání pro účastníka uvnitř správce rozvržení"
+
+#: ../clutter/clutter-bin-layout.c:676
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr "Výchozí svislé zarovnání pro účastníka uvnitř správce rozvržení"
+
+#: ../clutter/clutter-box-layout.c:365
+msgid "Expand"
+msgstr "Roztáhnout"
+
+#: ../clutter/clutter-box-layout.c:366
+msgid "Allocate extra space for the child"
+msgstr "Vymezit místo navíc pro potomky"
+
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
+msgid "Horizontal Fill"
+msgstr "Vodorovné vyplnění"
+
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+"Zda by měl být potomek upřednostněn, když kontejner vymezuje nadbytečné "
+"místo ve směru vodorovné osy"
+
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
+msgid "Vertical Fill"
+msgstr "Svislé vyplnění"
+
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+"Zda by měl být potomek upřednostněn, když kontejner vymezuje nadbytečné "
+"místo ve směru svislé osy"
+
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
+msgid "Horizontal alignment of the actor within the cell"
+msgstr "Vodorovné zarovnání účastníka v rámci buňky"
+
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
+msgid "Vertical alignment of the actor within the cell"
+msgstr "Svislé zarovnání účastníka v rámci buňky"
+
+#: ../clutter/clutter-box-layout.c:1365
+msgid "Vertical"
+msgstr "Svisle"
+
+#: ../clutter/clutter-box-layout.c:1366
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "Zda by rozvržení mělo být raději svisle než vodorovně"
+
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
 #: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Natočení"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
 #: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "Natočení rozvržení"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogenní"
 
-#: ../clutter/clutter-box-layout.c:986
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Zda by rozvržení mělo být homogenní, tj. aby všichni potomci měli stejnou "
 "velikost"
 
-#: ../clutter/clutter-box-layout.c:1001
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Začátek balení"
 
-#: ../clutter/clutter-box-layout.c:1002
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Zda balit položky při spuštění boxu"
 
-#: ../clutter/clutter-box-layout.c:1015
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Rozestupy"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Rozestupy mezi potomky"
 
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
+msgid "Use Animations"
+msgstr "Použít animace"
+
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
+msgid "Whether layout changes should be animated"
+msgstr "Zda mají být změny rozložení animovány"
+
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
+msgid "Easing Mode"
+msgstr "Zjednodušující režim"
+
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
+msgid "The easing mode of the animations"
+msgstr "Zjednodušující režim animace"
+
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
+msgid "Easing Duration"
+msgstr "Doba trvání zjednodušené"
+
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
+msgid "The duration of the animations"
+msgstr "Doba trvání animace"
+
 #: ../clutter/clutter-brightness-contrast-effect.c:321
 msgid "Brightness"
 msgstr "Jas"
@@ -750,7 +954,7 @@ msgstr "Držení"
 msgid "Whether the clickable has a grab"
 msgstr "Zda má klikatelný objekt místu k uchopení"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Doba dlouhého zmáčknutí"
 
@@ -778,27 +982,27 @@ msgstr "Odstín"
 msgid "The tint to apply"
 msgstr "Barevný odstín, který se má použít"
 
-#: ../clutter/clutter-deform-effect.c:594
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Dlaždic vodorovně"
 
-#: ../clutter/clutter-deform-effect.c:595
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Počet dlaždic ve vodorovném směru"
 
-#: ../clutter/clutter-deform-effect.c:610
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Dlaždic svisle"
 
-#: ../clutter/clutter-deform-effect.c:611
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Počet dlaždic ve svislém směru"
 
-#: ../clutter/clutter-deform-effect.c:628
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Materiál pozadí"
 
-#: ../clutter/clutter-deform-effect.c:629
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Materiál, který se má použít při vykreslování pozadí účastníka"
 
@@ -816,120 +1020,108 @@ msgstr "Výkonné jádro"
 msgid "The ClutterBackend of the device manager"
 msgstr "Jádro ClutterBackend správce zařízení"
 
-#: ../clutter/clutter-drag-action.c:750
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Vodorovný práh tažení"
 
-#: ../clutter/clutter-drag-action.c:751
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "Počet pixelů ve vodorovném směru, nutný k tomu, aby započala funkce tažení"
 
-#: ../clutter/clutter-drag-action.c:778
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Svislý práh tažení"
 
-#: ../clutter/clutter-drag-action.c:779
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr ""
 "Počet pixelů ve svislém směru, nutný k tomu, aby započala funkce tažení"
 
-#: ../clutter/clutter-drag-action.c:800
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Tažen"
 
-#: ../clutter/clutter-drag-action.c:801
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "Účastník, který je tažen"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Osa tažení"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Omezení tažení na některou z os"
 
-#: ../clutter/clutter-drag-action.c:831
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Oblast tažení"
 
-#: ../clutter/clutter-drag-action.c:832
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Omezení tažení na obdélníkovou oblast"
 
-#: ../clutter/clutter-drag-action.c:845
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Oblast tažení nastavena"
 
-#: ../clutter/clutter-drag-action.c:846
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Zda je oblast tažení nastavena"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Zda by každá položka měla zabírat stejné místo"
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Rozestupy sloupců"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Rozestupy mezi sloupci"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Rozestupy řádků"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Rozestupy mezi řádky"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Minimální šířka sloupce"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Minimální šířka každého ze sloupců"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Maximální šířka sloupce"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Maximální šířka každého ze sloupců"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Minimální výška řádku"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Minimální výška každého z řádků"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Maximální výška řádku"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Maximální výška každého z řádků"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "Přichytávat k mřížce"
-
-#: ../clutter/clutter-gesture-action.c:644
-msgid "Number touch points"
-msgstr "Počet dotykových bodů"
-
-#: ../clutter/clutter-gesture-action.c:645
-msgid "Number of touch points"
-msgstr "Počet dotykových bodů"
-
 #: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Připojeno zleva"
@@ -1051,27 +1243,27 @@ msgstr "Počet os v zařízení"
 msgid "The backend instance"
 msgstr "Instance výkonného jádra"
 
-#: ../clutter/clutter-interval.c:489
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Typ hodnoty"
 
-#: ../clutter/clutter-interval.c:490
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Typ hodnoty v intervalu"
 
-#: ../clutter/clutter-interval.c:505
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Počáteční hodnota"
 
-#: ../clutter/clutter-interval.c:506
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Počáteční hodnota intervalu"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Koncová hodnota"
 
-#: ../clutter/clutter-interval.c:521
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Koncová hodnota intervalu"
 
@@ -1090,95 +1282,96 @@ msgstr "Správce, který vytvořil tato data"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:697
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1464
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Zobrazit počet snímků za sekundu"
 
-#: ../clutter/clutter-main.c:1466
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Výchozí snímková rychlost"
 
-#: ../clutter/clutter-main.c:1468
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Učinit všechna varování jako kritická"
 
-#: ../clutter/clutter-main.c:1471
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Směr textu"
 
-#: ../clutter/clutter-main.c:1474
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Vypnout mipmapping u textů"
 
-#: ../clutter/clutter-main.c:1477
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Použít přibližné („fuzzy“) vybírání"
 
-#: ../clutter/clutter-main.c:1480
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Příznaky ladění pro Clutter, které se mají zapnout"
 
-#: ../clutter/clutter-main.c:1482
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Příznaky ladění pro Clutter, které se mají vypnout"
 
-#: ../clutter/clutter-main.c:1486
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Příznaky profilování pro Clutter, které se mají zapnout"
 
-#: ../clutter/clutter-main.c:1488
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Příznaky profilování pro Clutter, které se mají vypnout"
 
-#: ../clutter/clutter-main.c:1491
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Zapnout zpřístupnění"
 
-#: ../clutter/clutter-main.c:1683
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Volby Clutter"
 
-#: ../clutter/clutter-main.c:1684
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Zobrazit volby Clutter"
 
-#: ../clutter/clutter-pan-action.c:444
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Osa tažení"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Omezení tažení na některou z os"
 
-#: ../clutter/clutter-pan-action.c:457
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolovat"
 
-#: ../clutter/clutter-pan-action.c:458
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Zda je povoleno šíření událostí interpolace"
 
-#: ../clutter/clutter-pan-action.c:472
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Zpomalení"
 
-#: ../clutter/clutter-pan-action.c:473
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Rychlost, při které interpolovaný posun začne zpomalovat"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Počáteční faktor zvýšení rychlosti"
 
-#: ../clutter/clutter-pan-action.c:489
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Faktor použitý na rychlost ve chvíli, kdy začne fáze interpolace"
 
 #: ../clutter/clutter-path-constraint.c:212
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Cesta"
 
@@ -1198,77 +1391,78 @@ msgstr "Název vlastnosti"
 msgid "The name of the property to animate"
 msgstr "Název vlastnosti, která se má animovat"
 
-#: ../clutter/clutter-script.c:350
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Název souboru nastaven"
 
-#: ../clutter/clutter-script.c:351
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Zda je nastavena vlastnost :filename"
 
-#: ../clutter/clutter-script.c:365
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Název souboru"
 
-#: ../clutter/clutter-script.c:366
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Cesta k právě zpracovávanému souboru"
 
-#: ../clutter/clutter-script.c:383
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Doména překladu"
 
-#: ../clutter/clutter-script.c:384
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Doména překladu, která se má použít k lokalizaci textů"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Režim posouvání"
 
-#: ../clutter/clutter-scroll-actor.c:191
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Směr posouvání"
 
-#: ../clutter/clutter-settings.c:424
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Čas dvojitého kliknutí"
 
-#: ../clutter/clutter-settings.c:425
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "Čas mezi dvěma kliknutími nutný k rozpoznání vícenásobného kliknutí"
 
-#: ../clutter/clutter-settings.c:440
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Vzdálenost dvojitého kliknutí"
 
-#: ../clutter/clutter-settings.c:441
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "Vzdálenost mezi dvěma kliknutími nutná k rozpoznání vícenásobného kliknutí"
 
-#: ../clutter/clutter-settings.c:456
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Práh tažení"
 
-#: ../clutter/clutter-settings.c:457
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "Vzdálenost, kterou musí kurzor urazit, než je započata funkce tažení"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3353
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Název písma"
 
-#: ../clutter/clutter-settings.c:473
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr "Popis výchozího písma, které by mohlo být zpracováno systémem Pango"
 
-#: ../clutter/clutter-settings.c:488
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Vyhlazování písma"
 
-#: ../clutter/clutter-settings.c:489
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1276,66 +1470,66 @@ msgstr ""
 "Zda používat vyhlazování (1 pro zapnutí, 0 pro vypnutí a -1 pro použití "
 "výchozího nastavení)"
 
-#: ../clutter/clutter-settings.c:505
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "DPI písma"
 
-#: ../clutter/clutter-settings.c:506
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "Rozlišení písma v 1024násobcích bodů na palec nebo -1 pro použití výchozího "
 "nastavení"
 
-#: ../clutter/clutter-settings.c:522
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Hinting písma"
 
-#: ../clutter/clutter-settings.c:523
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Zda se má použít hinting (1 zapnut, 0 vypnut a -1 pro použití výchozího "
 "nastavení)"
 
-#: ../clutter/clutter-settings.c:544
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Styl hintingu písma"
 
-#: ../clutter/clutter-settings.c:545
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr ""
 "Styl hintingu (hintnone – žádný, hintslight – lehký, hintmedium – střední, "
 "hintfull – plný)"
 
-#: ../clutter/clutter-settings.c:566
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Pořadí subpixelů písma"
 
-#: ../clutter/clutter-settings.c:567
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr ""
 "Typ vyhlazování subpixelů (none – žádný, rgb – červená vlevo, bgr – modrá "
 "vlevo, vrgb – červená nahoře, vbgr – modrá nahoře)"
 
-#: ../clutter/clutter-settings.c:584
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr ""
 "Minimální doba trvání pro gesto dlouhého zmáčknutí, aby bylo rozpoznáno"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Časové razítko nastavení fontconfig"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Časové razítko aktuálního nastavení fontconfig"
 
-#: ../clutter/clutter-settings.c:609
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Prodleva skrytí hesla"
 
-#: ../clutter/clutter-settings.c:610
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Jak dlouho zobrazovat poslední vložený znak ve skrývaných vstupních polích"
@@ -1372,119 +1566,168 @@ msgstr "Hrana účastníka, která by se měla přichytávat"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Posun v pixelech, při kterém se má použít omezení"
 
-#: ../clutter/clutter-stage.c:1818
+#: ../clutter/clutter-stage.c:1921
 msgid "Fullscreen Set"
 msgstr "Nastavena celá obrazovka"
 
-#: ../clutter/clutter-stage.c:1819
+#: ../clutter/clutter-stage.c:1922
 msgid "Whether the main stage is fullscreen"
 msgstr "Zda je hlavní scéna v režimu celé obrazovky"
 
-#: ../clutter/clutter-stage.c:1831 ../clutter/clutter-text.c:3453
+#: ../clutter/clutter-stage.c:1936
+msgid "Offscreen"
+msgstr "V paměti"
+
+#: ../clutter/clutter-stage.c:1937
+msgid "Whether the main stage should be rendered offscreen"
+msgstr "Zda by měla být hlavní scéna vykreslována v paměti bez zobrazení"
+
+#: ../clutter/clutter-stage.c:1949 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Kurzor viditelný"
 
-#: ../clutter/clutter-stage.c:1832
+#: ../clutter/clutter-stage.c:1950
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Zda je ukazatel myši viditelný na hlavní scéně"
 
-#: ../clutter/clutter-stage.c:1846
+#: ../clutter/clutter-stage.c:1964
 msgid "User Resizable"
 msgstr "Uživatelsky měnitelná velikost"
 
-#: ../clutter/clutter-stage.c:1847
+#: ../clutter/clutter-stage.c:1965
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Zda uživatel může interaktivně měnit velikost scény"
 
-#: ../clutter/clutter-stage.c:1862
+#: ../clutter/clutter-stage.c:1980 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
+msgid "Color"
+msgstr "Barva"
+
+#: ../clutter/clutter-stage.c:1981
+msgid "The color of the stage"
+msgstr "Barva scény"
+
+#: ../clutter/clutter-stage.c:1996
 msgid "Perspective"
 msgstr "Perspektiva"
 
-#: ../clutter/clutter-stage.c:1863
+#: ../clutter/clutter-stage.c:1997
 msgid "Perspective projection parameters"
 msgstr "Parametry perspektivní projekce"
 
-#: ../clutter/clutter-stage.c:1878
+#: ../clutter/clutter-stage.c:2012
 msgid "Title"
 msgstr "Název"
 
-#: ../clutter/clutter-stage.c:1879
+#: ../clutter/clutter-stage.c:2013
 msgid "Stage Title"
 msgstr "Název scény"
 
-#: ../clutter/clutter-stage.c:1895
+#: ../clutter/clutter-stage.c:2030
+msgid "Use Fog"
+msgstr "Použít zamlžení"
+
+#: ../clutter/clutter-stage.c:2031
+msgid "Whether to enable depth cueing"
+msgstr "Zda zapnout zvýraznění hloubky"
+
+#: ../clutter/clutter-stage.c:2047
+msgid "Fog"
+msgstr "Zamlžení"
+
+#: ../clutter/clutter-stage.c:2048
+msgid "Settings for the depth cueing"
+msgstr "Nastavení pro zvýraznění hloubky"
+
+#: ../clutter/clutter-stage.c:2064
 msgid "Use Alpha"
 msgstr "Použít alfu"
 
-#: ../clutter/clutter-stage.c:1896
+#: ../clutter/clutter-stage.c:2065
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Zda se řídit komponentou alfa z barvy scény"
 
-#: ../clutter/clutter-stage.c:1912
+#: ../clutter/clutter-stage.c:2081
 msgid "Key Focus"
 msgstr "Hlavní zaměření"
 
-#: ../clutter/clutter-stage.c:1913
+#: ../clutter/clutter-stage.c:2082
 msgid "The currently key focused actor"
 msgstr "Aktuálně hlavní zaměřený účastník"
 
-#: ../clutter/clutter-stage.c:1929
+#: ../clutter/clutter-stage.c:2098
 msgid "No Clear Hint"
 msgstr "Nemazat bez pokynu"
 
-#: ../clutter/clutter-stage.c:1930
+#: ../clutter/clutter-stage.c:2099
 msgid "Whether the stage should clear its contents"
 msgstr "Zda by scéna měla vymazat svůj obsah"
 
-#: ../clutter/clutter-stage.c:1943
+#: ../clutter/clutter-stage.c:2112
 msgid "Accept Focus"
 msgstr "Přijímat zaměření"
 
-#: ../clutter/clutter-stage.c:1944
+#: ../clutter/clutter-stage.c:2113
 msgid "Whether the stage should accept focus on show"
 msgstr "Zda by měla scéna při zobrazení přijímat zaměření"
 
-#: ../clutter/clutter-table-layout.c:331
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Číslo sloupce"
 
-#: ../clutter/clutter-table-layout.c:332
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "Sloupec, ve kterém je widget umístěn"
 
-#: ../clutter/clutter-table-layout.c:339
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Číslo řádku"
 
-#: ../clutter/clutter-table-layout.c:340
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "Řádek, ve kterém je widget umístěn"
 
-#: ../clutter/clutter-table-layout.c:347
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Překlenutí sloupců"
 
-#: ../clutter/clutter-table-layout.c:348
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "Počet sloupců, které widget překlenuje"
 
-#: ../clutter/clutter-table-layout.c:355
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Překlenutí řádků"
 
-#: ../clutter/clutter-table-layout.c:356
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "Počet řádků, které widget překlenuje"
 
-#: ../clutter/clutter-table-layout.c:1282
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Vodorovné roztažení"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Vymezit místo navíc pro potomky ve vodorovné ose"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Svislé roztažení"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Vymezit místo navíc pro potomky ve svislé ose"
+
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Mezery mezi sloupci"
 
-#: ../clutter/clutter-table-layout.c:1296
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Mezery mezi řádky"
 
-#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3384
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Text"
 
@@ -1509,251 +1752,266 @@ msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr ""
 "Nejvyšší dovolený počet znaků v tomto vstupním poli. Nula znamená neomezeno"
 
-#: ../clutter/clutter-text.c:3337
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Vyrovnávací paměť"
 
-#: ../clutter/clutter-text.c:3338
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "Vyrovnávací paměť pro text"
 
-#: ../clutter/clutter-text.c:3354
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "Písmo použité textem"
 
-#: ../clutter/clutter-text.c:3369
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Popis písma"
 
-#: ../clutter/clutter-text.c:3370
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "Popis písma, které se má použít"
 
-#: ../clutter/clutter-text.c:3385
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "Text, který se má vykreslit"
 
-#: ../clutter/clutter-text.c:3397
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Barva písma"
 
-#: ../clutter/clutter-text.c:3398
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "Barva písma použitá textem"
 
-#: ../clutter/clutter-text.c:3411
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Upravitelný"
 
-#: ../clutter/clutter-text.c:3412
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Zda je text možné upravovat"
 
-#: ../clutter/clutter-text.c:3425
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Vybratelný"
 
-#: ../clutter/clutter-text.c:3426
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Zda je text možné vybírat"
 
-#: ../clutter/clutter-text.c:3438
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Aktivovatelný"
 
-#: ../clutter/clutter-text.c:3439
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Zda zmáčknutí klávesy Enter způsobí vyslání signálu o aktivaci"
 
-#: ../clutter/clutter-text.c:3454
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Zda je viditelný kurzor vstupu"
 
-#: ../clutter/clutter-text.c:3466 ../clutter/clutter-text.c:3467
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Barva kurzoru"
 
-#: ../clutter/clutter-text.c:3480
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Barva kurzoru nastavena"
 
-#: ../clutter/clutter-text.c:3481
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Zda byla nastavena barva kurzoru"
 
-#: ../clutter/clutter-text.c:3494
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Velikost kurzoru"
 
-#: ../clutter/clutter-text.c:3495
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "Šířka kurzoru v pixelech"
 
-#: ../clutter/clutter-text.c:3507
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Poloha kurzoru"
 
-#: ../clutter/clutter-text.c:3508
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "Poloha kurzoru"
 
-#: ../clutter/clutter-text.c:3521
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Hranice výběru"
 
-#: ../clutter/clutter-text.c:3522
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "Poloha kurzoru druhého konce výběru"
 
-#: ../clutter/clutter-text.c:3535 ../clutter/clutter-text.c:3536
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Barva výběru"
 
-#: ../clutter/clutter-text.c:3549
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Barva výběru nastavena"
 
-#: ../clutter/clutter-text.c:3550
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Zda byla nastavena barva výběru"
 
-#: ../clutter/clutter-text.c:3563
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Atributy"
 
-#: ../clutter/clutter-text.c:3564
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Seznam atributů stylu, které se použijí na obsah účastníka"
 
-#: ../clutter/clutter-text.c:3584
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Použít značku"
 
-#: ../clutter/clutter-text.c:3585
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Zda text zahrnuje či nezahrnuje značku Pango"
 
-#: ../clutter/clutter-text.c:3599
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Zalamování řádků"
 
-#: ../clutter/clutter-text.c:3600
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Když je nastaveno, bude se příliš dlouhý text zalamovat"
 
-#: ../clutter/clutter-text.c:3613
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Režim zalamování řádků"
 
-#: ../clutter/clutter-text.c:3614
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Ovládá, jak je prováděno zalamování řádků"
 
-#: ../clutter/clutter-text.c:3627
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Zkrácení"
 
-#: ../clutter/clutter-text.c:3628
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "Upřednostňované místo pro zkrácení řetězce"
 
-#: ../clutter/clutter-text.c:3642
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Zarovnání řádku"
 
-#: ../clutter/clutter-text.c:3643
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Upřednostňované zarovnání pro text a víceřádkový text"
 
-#: ../clutter/clutter-text.c:3657
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Zarovnat do bloku"
 
-#: ../clutter/clutter-text.c:3658
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Zda by měl být text zarovnán do bloku"
 
-#: ../clutter/clutter-text.c:3671
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Znak hesla"
 
-#: ../clutter/clutter-text.c:3672
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr "Pokud je nenulový, použije se tento znak k zobrazení obsahu účastníka"
 
-#: ../clutter/clutter-text.c:3684
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Max. délka"
 
-#: ../clutter/clutter-text.c:3685
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Maximální délka textu uvnitř účastníka"
 
-#: ../clutter/clutter-text.c:3706
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Jednořádkový režim"
 
-#: ../clutter/clutter-text.c:3707
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Zda by měl být text jednořádkový"
 
-#: ../clutter/clutter-text.c:3719 ../clutter/clutter-text.c:3720
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Barva vybraného textu"
 
-#: ../clutter/clutter-text.c:3733
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Barva vybraného textu nastavena"
 
-#: ../clutter/clutter-text.c:3734
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Zda byla nastavena barva vybraného textu"
 
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
+msgid "Loop"
+msgstr "Smyčka"
+
 #: ../clutter/clutter-timeline.c:562
+msgid "Should the timeline automatically restart"
+msgstr "Zda by se měla časová osa automaticky spouštět znovu"
+
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Prodleva"
 
-#: ../clutter/clutter-timeline.c:563
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Prodleva před startem"
 
-#: ../clutter/clutter-timeline.c:578
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
+#: ../clutter/deprecated/clutter-media.c:224
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Doba"
 
-#: ../clutter/clutter-timeline.c:579
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Délka časové osy v milisekundách"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Směr"
 
-#: ../clutter/clutter-timeline.c:595
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Směr časové osy"
 
-#: ../clutter/clutter-timeline.c:610
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Automaticky obrátit"
 
-#: ../clutter/clutter-timeline.c:611
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Zda by se měl automaticky obrátit směr po dosažení konce"
 
-#: ../clutter/clutter-timeline.c:629
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Počet opakování"
 
-#: ../clutter/clutter-timeline.c:630
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Kolikrát by se měla časová osa zopakovat"
 
-#: ../clutter/clutter-timeline.c:644
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Režim průběhu"
 
-#: ../clutter/clutter-timeline.c:645
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Jak by měla časová osa počítat průběh"
 
@@ -1781,14 +2039,583 @@ msgstr "Odebrat po dokončení"
 msgid "Detach the transition when completed"
 msgstr "Po dokončení přechod odpojit"
 
-#: ../clutter/clutter-zoom-action.c:356
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Přiblížení v osách"
 
-#: ../clutter/clutter-zoom-action.c:357
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Omezení přiblížení na některou z os"
 
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
+msgid "Timeline"
+msgstr "Časová osa"
+
+#: ../clutter/deprecated/clutter-alpha.c:356
+msgid "Timeline used by the alpha"
+msgstr "Časová osa použitá alfou"
+
+#: ../clutter/deprecated/clutter-alpha.c:372
+msgid "Alpha value"
+msgstr "Hodnota alfa"
+
+#: ../clutter/deprecated/clutter-alpha.c:373
+msgid "Alpha value as computed by the alpha"
+msgstr "Hodnota alfa je počítána podle alfa"
+
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
+msgid "Mode"
+msgstr "Režim"
+
+#: ../clutter/deprecated/clutter-alpha.c:395
+msgid "Progress mode"
+msgstr "Režim průběhu"
+
+#: ../clutter/deprecated/clutter-animation.c:511
+msgid "Object"
+msgstr "Objekt"
+
+#: ../clutter/deprecated/clutter-animation.c:512
+msgid "Object to which the animation applies"
+msgstr "Objekt, na který je animace použita"
+
+#: ../clutter/deprecated/clutter-animation.c:529
+msgid "The mode of the animation"
+msgstr "Režim animace"
+
+#: ../clutter/deprecated/clutter-animation.c:545
+msgid "Duration of the animation, in milliseconds"
+msgstr "Doba trvání animace v milisekundách"
+
+#: ../clutter/deprecated/clutter-animation.c:561
+msgid "Whether the animation should loop"
+msgstr "Zda by měla animace běžet ve smyčce"
+
+#: ../clutter/deprecated/clutter-animation.c:576
+msgid "The timeline used by the animation"
+msgstr "Časová osa použitá animací"
+
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
+msgid "Alpha"
+msgstr "Alpha"
+
+#: ../clutter/deprecated/clutter-animation.c:593
+msgid "The alpha used by the animation"
+msgstr "Objekt Alpha použitý animací"
+
+#: ../clutter/deprecated/clutter-animator.c:1805
+msgid "The duration of the animation"
+msgstr "Doba animace"
+
+#: ../clutter/deprecated/clutter-animator.c:1822
+msgid "The timeline of the animation"
+msgstr "Časová osa animace"
+
+#: ../clutter/deprecated/clutter-behaviour.c:242
+msgid "Alpha Object to drive the behaviour"
+msgstr "Objekt Alfa řídící chování"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
+msgid "Start Depth"
+msgstr "Počáteční hloubka"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
+msgid "Initial depth to apply"
+msgstr "Hloubka, která se má použít na začátku"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
+msgid "End Depth"
+msgstr "Konečná hloubka"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
+msgid "Final depth to apply"
+msgstr "Hloubka, která se má použít na konci"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
+msgid "Start Angle"
+msgstr "Počáteční úhel"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
+msgid "Initial angle"
+msgstr "Úhle na začátku"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
+msgid "End Angle"
+msgstr "Konečný úhel"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
+msgid "Final angle"
+msgstr "Úhel na konci"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
+msgid "Angle x tilt"
+msgstr "Úhel náklonu X"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
+msgid "Tilt of the ellipse around x axis"
+msgstr "Náklon elipsy okolo osy X"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
+msgid "Angle y tilt"
+msgstr "Úhel náklonu Y"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
+msgid "Tilt of the ellipse around y axis"
+msgstr "Náklon elipsy okolo osy Y"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
+msgid "Angle z tilt"
+msgstr "Úhel náklonu Z"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
+msgid "Tilt of the ellipse around z axis"
+msgstr "Náklon elipsy okolo osy Z"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
+msgid "Width of the ellipse"
+msgstr "Šířka elipsy"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
+msgid "Height of ellipse"
+msgstr "Výška elipsy"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
+msgid "Center"
+msgstr "Střed"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
+msgid "Center of ellipse"
+msgstr "Střed elipsy"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
+msgid "Direction of rotation"
+msgstr "Směr otáčení"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
+msgid "Opacity Start"
+msgstr "Počáteční krytí"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
+msgid "Initial opacity level"
+msgstr "Úroveň krytí barev na začátku"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
+msgid "Opacity End"
+msgstr "Konečné krytí"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
+msgid "Final opacity level"
+msgstr "Úroveň krytí barev na konci"
+
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
+msgid "The ClutterPath object representing the path to animate along"
+msgstr "Objekt ClutterPath představující cestu, po které probíhá animace"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
+msgid "Angle Begin"
+msgstr "Úhel začátku"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
+msgid "Angle End"
+msgstr "Úhel konce"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
+msgid "Axis"
+msgstr "Osa"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
+msgid "Axis of rotation"
+msgstr "Osa otočení"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
+msgid "Center X"
+msgstr "Střed X"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
+msgid "X coordinate of the center of rotation"
+msgstr "Souřadnice X středu otočení"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
+msgid "Center Y"
+msgstr "Střed Y"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
+msgid "Y coordinate of the center of rotation"
+msgstr "Souřadnice Y středu otočení"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
+msgid "Center Z"
+msgstr "Střed Z"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
+msgid "Z coordinate of the center of rotation"
+msgstr "Souřadnice Z středu otočení"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
+msgid "X Start Scale"
+msgstr "Počáteční škálování X"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
+msgid "Initial scale on the X axis"
+msgstr "Škálování na ose X na počátku"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
+msgid "X End Scale"
+msgstr "Konečné škálování X"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
+msgid "Final scale on the X axis"
+msgstr "Škálování na ose X na konci"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
+msgid "Y Start Scale"
+msgstr "Počáteční škálování Y"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
+msgid "Initial scale on the Y axis"
+msgstr "Škálování na ose Y na počátku"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
+msgid "Y End Scale"
+msgstr "Konečné škálování Y"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
+msgid "Final scale on the Y axis"
+msgstr "Škálování na ose Y na konci"
+
+#: ../clutter/deprecated/clutter-box.c:261
+msgid "The background color of the box"
+msgstr "Barva pozadí boxu"
+
+#: ../clutter/deprecated/clutter-box.c:274
+msgid "Color Set"
+msgstr "Barva nastavena"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
+msgid "Surface Width"
+msgstr "Šířka plochy"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
+msgid "The width of the Cairo surface"
+msgstr "Šířka plochy Cairo"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
+msgid "Surface Height"
+msgstr "Výška plochy"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
+msgid "The height of the Cairo surface"
+msgstr "Výška plochy Cairo"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
+msgid "Auto Resize"
+msgstr "Automaticky měnit velikost"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
+msgid "Whether the surface should match the allocation"
+msgstr "Zda by se měla plocha přizpůsobit přidělenému místu"
+
+#: ../clutter/deprecated/clutter-media.c:83
+msgid "URI"
+msgstr "Adresa URI"
+
+#: ../clutter/deprecated/clutter-media.c:84
+msgid "URI of a media file"
+msgstr "Adresa URI mediálního souboru"
+
+#: ../clutter/deprecated/clutter-media.c:100
+msgid "Playing"
+msgstr "Přehrávání"
+
+#: ../clutter/deprecated/clutter-media.c:101
+msgid "Whether the actor is playing"
+msgstr "Zda je účastník přehráván"
+
+#: ../clutter/deprecated/clutter-media.c:118
+msgid "Progress"
+msgstr "Průběh"
+
+#: ../clutter/deprecated/clutter-media.c:119
+msgid "Current progress of the playback"
+msgstr "Aktuální průběh přehrávání"
+
+#: ../clutter/deprecated/clutter-media.c:135
+msgid "Subtitle URI"
+msgstr "URI titulků"
+
+#: ../clutter/deprecated/clutter-media.c:136
+msgid "URI of a subtitle file"
+msgstr "Adresa URI souboru s titulky"
+
+#: ../clutter/deprecated/clutter-media.c:154
+msgid "Subtitle Font Name"
+msgstr "Název písma titulků"
+
+#: ../clutter/deprecated/clutter-media.c:155
+msgid "The font used to display subtitles"
+msgstr "Písmo použité k zobrazení titulků"
+
+#: ../clutter/deprecated/clutter-media.c:172
+msgid "Audio Volume"
+msgstr "Hlasitost zvuku"
+
+#: ../clutter/deprecated/clutter-media.c:173
+msgid "The volume of the audio"
+msgstr "Hlasitost zvuku"
+
+#: ../clutter/deprecated/clutter-media.c:189
+msgid "Can Seek"
+msgstr "Umí posun"
+
+#: ../clutter/deprecated/clutter-media.c:190
+msgid "Whether the current stream is seekable"
+msgstr "Zda je možné se v aktuálním proudu posouvat"
+
+#: ../clutter/deprecated/clutter-media.c:207
+msgid "Buffer Fill"
+msgstr "Zaplnění vyrovnávací paměti"
+
+#: ../clutter/deprecated/clutter-media.c:208
+msgid "The fill level of the buffer"
+msgstr "Úroveň zaplnění vyrovnávací paměti"
+
+#: ../clutter/deprecated/clutter-media.c:225
+msgid "The duration of the stream, in seconds"
+msgstr "Délka trvání proudu v sekundách"
+
+#: ../clutter/deprecated/clutter-rectangle.c:274
+msgid "The color of the rectangle"
+msgstr "Barva obdélníku"
+
+#: ../clutter/deprecated/clutter-rectangle.c:287
+msgid "Border Color"
+msgstr "Barva ohraničení"
+
+#: ../clutter/deprecated/clutter-rectangle.c:288
+msgid "The color of the border of the rectangle"
+msgstr "Barva obrysu obdélníku"
+
+#: ../clutter/deprecated/clutter-rectangle.c:303
+msgid "Border Width"
+msgstr "Šířka obrysu"
+
+#: ../clutter/deprecated/clutter-rectangle.c:304
+msgid "The width of the border of the rectangle"
+msgstr "Šířka obrysu obdélníku"
+
+#: ../clutter/deprecated/clutter-rectangle.c:318
+msgid "Has Border"
+msgstr "Má obrys"
+
+#: ../clutter/deprecated/clutter-rectangle.c:319
+msgid "Whether the rectangle should have a border"
+msgstr "Zda by měl mít obdélník obrys"
+
+#: ../clutter/deprecated/clutter-shader.c:261
+msgid "Vertex Source"
+msgstr "Vertexový zdroj"
+
+#: ../clutter/deprecated/clutter-shader.c:262
+msgid "Source of vertex shader"
+msgstr "Zdroj shaderu typu vertex"
+
+#: ../clutter/deprecated/clutter-shader.c:278
+msgid "Fragment Source"
+msgstr "Fragmentový zdroj"
+
+#: ../clutter/deprecated/clutter-shader.c:279
+msgid "Source of fragment shader"
+msgstr "Zdroj shaderu typu fragment"
+
+#: ../clutter/deprecated/clutter-shader.c:296
+msgid "Compiled"
+msgstr "Přeložen"
+
+#: ../clutter/deprecated/clutter-shader.c:297
+msgid "Whether the shader is compiled and linked"
+msgstr "Zda je shader přeložen a slinkován"
+
+#: ../clutter/deprecated/clutter-shader.c:314
+msgid "Whether the shader is enabled"
+msgstr "Zda je shader povolen"
+
+#: ../clutter/deprecated/clutter-shader.c:525
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "Kompilace %s selhala: %s"
+
+#: ../clutter/deprecated/clutter-shader.c:526
+msgid "Vertex shader"
+msgstr "Shader typu vertex"
+
+#: ../clutter/deprecated/clutter-shader.c:527
+msgid "Fragment shader"
+msgstr "Shader typu fragment"
+
+#: ../clutter/deprecated/clutter-state.c:1505
+msgid "State"
+msgstr "Stav"
+
+#: ../clutter/deprecated/clutter-state.c:1506
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr "Aktuálně nastavený stav (přechod do tohoto stavu nemusí být dokončen)"
+
+#: ../clutter/deprecated/clutter-state.c:1524
+msgid "Default transition duration"
+msgstr "Výchozí doba přechodu"
+
+#: ../clutter/deprecated/clutter-texture.c:994
+msgid "Sync size of actor"
+msgstr "Synchronizovat velikost účastníka"
+
+#: ../clutter/deprecated/clutter-texture.c:995
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
+"Automaticky synchronizovat velikost účastníka k rozměrům podkladové pixelové "
+"paměti"
+
+#: ../clutter/deprecated/clutter-texture.c:1002
+msgid "Disable Slicing"
+msgstr "Zakázat dělení"
+
+#: ../clutter/deprecated/clutter-texture.c:1003
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
+"Způsobuje, že podkladová textura je v jediném celku a není tvořena z malých "
+"částí s jednotlivými texturami"
+
+#: ../clutter/deprecated/clutter-texture.c:1012
+msgid "Tile Waste"
+msgstr "Nevyužitá část dlaždice"
+
+#: ../clutter/deprecated/clutter-texture.c:1013
+msgid "Maximum waste area of a sliced texture"
+msgstr "Maximální nevyužitá oblast rozdělené textury"
+
+#: ../clutter/deprecated/clutter-texture.c:1021
+msgid "Horizontal repeat"
+msgstr "Opakování vodorovně"
+
+#: ../clutter/deprecated/clutter-texture.c:1022
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr "Obsah vodorovně raději opakovat než roztáhnout"
+
+#: ../clutter/deprecated/clutter-texture.c:1029
+msgid "Vertical repeat"
+msgstr "Opakování svisle"
+
+#: ../clutter/deprecated/clutter-texture.c:1030
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr "Obsah svisle raději opakovat než roztáhnout"
+
+#: ../clutter/deprecated/clutter-texture.c:1037
+msgid "Filter Quality"
+msgstr "Kvalita filtru"
+
+#: ../clutter/deprecated/clutter-texture.c:1038
+msgid "Rendering quality used when drawing the texture"
+msgstr "Kvalita vykreslování použitá při kreslení textury"
+
+#: ../clutter/deprecated/clutter-texture.c:1046
+msgid "Pixel Format"
+msgstr "Formát obrázku"
+
+#: ../clutter/deprecated/clutter-texture.c:1047
+msgid "The Cogl pixel format to use"
+msgstr "Formát obrázku Cogl, který se má použít"
+
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
+msgid "Cogl Texture"
+msgstr "Textura Cogl"
+
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr "Podkladová textura Cogl použitá k vykreslení účastníka"
+
+#: ../clutter/deprecated/clutter-texture.c:1063
+msgid "Cogl Material"
+msgstr "Materiál Cogl"
+
+#: ../clutter/deprecated/clutter-texture.c:1064
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr "Podkladový materiál Cogl použitý k vykreslení účastníka"
+
+#: ../clutter/deprecated/clutter-texture.c:1083
+msgid "The path of the file containing the image data"
+msgstr "Cesta k souboru obsahujícímu data obrázku"
+
+#: ../clutter/deprecated/clutter-texture.c:1090
+msgid "Keep Aspect Ratio"
+msgstr "Zachovat poměr stran"
+
+#: ../clutter/deprecated/clutter-texture.c:1091
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
+"Zachovat poměr stran textury, když je požadována přednastavená šířka nebo "
+"výška"
+
+#: ../clutter/deprecated/clutter-texture.c:1119
+msgid "Load asynchronously"
+msgstr "Načítat asynchronně"
+
+#: ../clutter/deprecated/clutter-texture.c:1120
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr ""
+"Načítat soubory ve zvláštním vlákně, aby se předešlo blokování při načítání "
+"obrázků z disku"
+
+#: ../clutter/deprecated/clutter-texture.c:1138
+msgid "Load data asynchronously"
+msgstr "Načítat data asynchronně"
+
+#: ../clutter/deprecated/clutter-texture.c:1139
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
+msgstr ""
+"Dekódovat soubory s daty obrázků ve zvláštním vlákně, aby se omezilo "
+"blokování při načítání obrázků z disku"
+
+#: ../clutter/deprecated/clutter-texture.c:1165
+msgid "Pick With Alpha"
+msgstr "Výběr s alfou"
+
+#: ../clutter/deprecated/clutter-texture.c:1166
+msgid "Shape actor with alpha channel when picking"
+msgstr "Tvar účastníka s alfakanálem při výběru"
+
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
+#, c-format
+msgid "Failed to load the image data"
+msgstr "Selhalo načtení dat obrázku"
+
+#: ../clutter/deprecated/clutter-texture.c:1758
+#, c-format
+msgid "YUV textures are not supported"
+msgstr "Textury YUV nejsou podporovány"
+
+#: ../clutter/deprecated/clutter-texture.c:1767
+#, c-format
+msgid "YUV2 textues are not supported"
+msgstr "Textury YUV2 nejsou podporovány"
+
 #: ../clutter/evdev/clutter-input-device-evdev.c:159
 msgid "sysfs Path"
 msgstr "Cesta sysfs"
@@ -1805,7 +2632,7 @@ msgstr "Cesta zařízení"
 msgid "Path of the device node"
 msgstr "Cesta uzlu zařízení"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:287
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "Nelze najít vyhovující CoglWinsys pro GdkDisplay typu „%s“"
@@ -1834,27 +2661,19 @@ msgstr "Výška plochy"
 msgid "The height of the underlying wayland surface"
 msgstr "Výška podkladové plochy Wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Textura Cogl"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr "Podkladová textura Cogl použitá k vykreslení účastníka"
-
-#: ../clutter/x11/clutter-backend-x11.c:508
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Displej X, který se má použít"
 
-#: ../clutter/x11/clutter-backend-x11.c:514
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Obrazovka X, která se má použít"
 
-#: ../clutter/x11/clutter-backend-x11.c:519
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Nastavit volání X jako synchronní"
 
-#: ../clutter/x11/clutter-backend-x11.c:526
+#: ../clutter/x11/clutter-backend-x11.c:534
 msgid "Disable XInput support"
 msgstr "Vypnout podporu XInput"
 
diff --git a/po/da.po b/po/da.po
index 8f8c864..416c3cc 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,10 +1,10 @@
 # Danish translation for clutter-1.0
-# Copyright (c) 2010, 2014 Rosetta Contributors and Canonical Ltd 2010, GNOME developers
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
 # This file is distributed under the same license as the clutter-1.0 package.
 #
 # Jonas Skovsgaard Christensen
 # Kenneth Nielsen <k nielsen81 gmail com>, 2012
-# Ask Hjorth Larsen <asklarsen gmail com>, 2011, 12, 2014
+# Ask Hjorth Larsen <asklarsen gmail com>, 2011, 12
 #
 # uafklaret:
 # vertex -> vertex
@@ -15,10 +15,10 @@ msgstr ""
 "Project-Id-Version: clutter-1.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter\n"
-"POT-Creation-Date: 2014-03-19 22:36+0100\n"
-"PO-Revision-Date: 2014-03-15 14:12+0100\n"
-"Last-Translator: Ask Hjorth Larsen <asklarsen gmail com>\n"
-"Language-Team: Danish <dansk dansk-gruppen dk>\n"
+"POT-Creation-Date: 2013-03-17 14:58+0100\n"
+"PO-Revision-Date: 2013-03-16 17:45+0100\n"
+"Last-Translator: Kenneth Nielsen <k nielsen81 gmail com>\n"
+"Language-Team: Danish <da li org>\n"
 "Language: da\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -26,563 +26,669 @@ msgstr ""
 "X-Launchpad-Export-Date: 2011-09-09 09:57+0000\n"
 "X-Generator: Launchpad (build 13900)\n"
 
-#: ../clutter/clutter-actor.c:5581
+#: ../clutter/clutter-actor.c:6175
 msgid "X coordinate"
 msgstr "X-koordinat"
 
-#: ../clutter/clutter-actor.c:5582
+#: ../clutter/clutter-actor.c:6176
 msgid "X coordinate of the actor"
 msgstr "Aktørens X-koordinat"
 
-#: ../clutter/clutter-actor.c:5600
+#: ../clutter/clutter-actor.c:6194
 msgid "Y coordinate"
 msgstr "Y-koordinat"
 
-#: ../clutter/clutter-actor.c:5601
+#: ../clutter/clutter-actor.c:6195
 msgid "Y coordinate of the actor"
 msgstr "Aktørens Y-koordinat"
 
-#: ../clutter/clutter-actor.c:5623
+#: ../clutter/clutter-actor.c:6217
 msgid "Position"
 msgstr "Position"
 
-#: ../clutter/clutter-actor.c:5624
+#: ../clutter/clutter-actor.c:6218
 msgid "The position of the origin of the actor"
 msgstr "Positionen for aktørens ankerpunkt"
 
-#: ../clutter/clutter-actor.c:5641 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-actor.c:6235 ../clutter/clutter-canvas.c:215
 #: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Bredde"
 
-#: ../clutter/clutter-actor.c:5642
+#: ../clutter/clutter-actor.c:6236
 msgid "Width of the actor"
 msgstr "Aktørens bredde"
 
-#: ../clutter/clutter-actor.c:5660 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-actor.c:6254 ../clutter/clutter-canvas.c:231
 #: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Højde"
 
-#: ../clutter/clutter-actor.c:5661
+#: ../clutter/clutter-actor.c:6255
 msgid "Height of the actor"
 msgstr "Aktørens højde"
 
-#: ../clutter/clutter-actor.c:5682
+#: ../clutter/clutter-actor.c:6276
 msgid "Size"
 msgstr "Størrelse"
 
-#: ../clutter/clutter-actor.c:5683
+#: ../clutter/clutter-actor.c:6277
 msgid "The size of the actor"
 msgstr "Aktørens størrelse"
 
-#: ../clutter/clutter-actor.c:5701
+#: ../clutter/clutter-actor.c:6295
 msgid "Fixed X"
 msgstr "Låst X"
 
-#: ../clutter/clutter-actor.c:5702
+#: ../clutter/clutter-actor.c:6296
 msgid "Forced X position of the actor"
 msgstr "Tvungen X-postion for aktøren"
 
-#: ../clutter/clutter-actor.c:5719
+#: ../clutter/clutter-actor.c:6313
 msgid "Fixed Y"
 msgstr "Låst Y"
 
-#: ../clutter/clutter-actor.c:5720
+#: ../clutter/clutter-actor.c:6314
 msgid "Forced Y position of the actor"
 msgstr "Låst Y-position for aktøren"
 
-#: ../clutter/clutter-actor.c:5735
+#: ../clutter/clutter-actor.c:6329
 msgid "Fixed position set"
 msgstr "Position fastlåst"
 
-#: ../clutter/clutter-actor.c:5736
+#: ../clutter/clutter-actor.c:6330
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Hvorvidt låst aktørposition bruges"
 
-#: ../clutter/clutter-actor.c:5754
+#: ../clutter/clutter-actor.c:6348
 msgid "Min Width"
 msgstr "Min. bredde"
 
-#: ../clutter/clutter-actor.c:5755
+#: ../clutter/clutter-actor.c:6349
 msgid "Forced minimum width request for the actor"
 msgstr "Forespørgsel om tvungen minimumsbredde  for aktøren"
 
-#: ../clutter/clutter-actor.c:5773
+#: ../clutter/clutter-actor.c:6367
 msgid "Min Height"
 msgstr "Min. højde"
 
-#: ../clutter/clutter-actor.c:5774
+#: ../clutter/clutter-actor.c:6368
 msgid "Forced minimum height request for the actor"
 msgstr "Forespørgsel om tvungen minimumshøjde for aktøren"
 
-#: ../clutter/clutter-actor.c:5792
+#: ../clutter/clutter-actor.c:6386
 msgid "Natural Width"
 msgstr "Naturlig bredde"
 
-#: ../clutter/clutter-actor.c:5793
+#: ../clutter/clutter-actor.c:6387
 msgid "Forced natural width request for the actor"
 msgstr "Forespørgsel om tvungen naturlig bredde for aktøren"
 
-#: ../clutter/clutter-actor.c:5811
+#: ../clutter/clutter-actor.c:6405
 msgid "Natural Height"
 msgstr "Naturlig højde"
 
-#: ../clutter/clutter-actor.c:5812
+#: ../clutter/clutter-actor.c:6406
 msgid "Forced natural height request for the actor"
 msgstr "Forespørgsel om tvungen naturlig højde for aktøren"
 
-#: ../clutter/clutter-actor.c:5827
+#: ../clutter/clutter-actor.c:6421
 msgid "Minimum width set"
 msgstr "Minimumsbredde sat"
 
-#: ../clutter/clutter-actor.c:5828
+#: ../clutter/clutter-actor.c:6422
 msgid "Whether to use the min-width property"
 msgstr "Om værdien for minimumsbredde bruges"
 
-#: ../clutter/clutter-actor.c:5842
+#: ../clutter/clutter-actor.c:6436
 msgid "Minimum height set"
 msgstr "Minimumshøjde sat"
 
-#: ../clutter/clutter-actor.c:5843
+#: ../clutter/clutter-actor.c:6437
 msgid "Whether to use the min-height property"
 msgstr "Om værdien for minimumshøjde bruges"
 
-#: ../clutter/clutter-actor.c:5857
+#: ../clutter/clutter-actor.c:6451
 msgid "Natural width set"
 msgstr "Naturlig bredde sat"
 
-#: ../clutter/clutter-actor.c:5858
+#: ../clutter/clutter-actor.c:6452
 msgid "Whether to use the natural-width property"
 msgstr "Om værdien for naturlig bredde bruges"
 
-#: ../clutter/clutter-actor.c:5872
+#: ../clutter/clutter-actor.c:6466
 msgid "Natural height set"
 msgstr "Naturlig højde sat"
 
-#: ../clutter/clutter-actor.c:5873
+#: ../clutter/clutter-actor.c:6467
 msgid "Whether to use the natural-height property"
 msgstr "Om værdien for naturlig højde bruges"
 
-#: ../clutter/clutter-actor.c:5889
+#: ../clutter/clutter-actor.c:6483
 msgid "Allocation"
 msgstr "Allokering"
 
-#: ../clutter/clutter-actor.c:5890
+#: ../clutter/clutter-actor.c:6484
 msgid "The actor's allocation"
 msgstr "Aktørens allokering"
 
-#: ../clutter/clutter-actor.c:5947
+#: ../clutter/clutter-actor.c:6541
 msgid "Request Mode"
 msgstr "Forespørgselstilstand"
 
-#: ../clutter/clutter-actor.c:5948
+#: ../clutter/clutter-actor.c:6542
 msgid "The actor's request mode"
 msgstr "Aktørens forespørgselstilstand"
 
-#: ../clutter/clutter-actor.c:5972
+#: ../clutter/clutter-actor.c:6566
+msgid "Depth"
+msgstr "Dybde"
+
+#: ../clutter/clutter-actor.c:6567
+msgid "Position on the Z axis"
+msgstr "Position på Z-aksen"
+
+#: ../clutter/clutter-actor.c:6594
 msgid "Z Position"
 msgstr "Z-position"
 
-#: ../clutter/clutter-actor.c:5973
+#: ../clutter/clutter-actor.c:6595
 msgid "The actor's position on the Z axis"
 msgstr "Aktørens position på Z-aksen"
 
-#: ../clutter/clutter-actor.c:5990
+#: ../clutter/clutter-actor.c:6612
 msgid "Opacity"
 msgstr "Ugennemsigtighed"
 
-#: ../clutter/clutter-actor.c:5991
+#: ../clutter/clutter-actor.c:6613
 msgid "Opacity of an actor"
 msgstr "En aktørs ugennemsigtighed"
 
 # ?
-#: ../clutter/clutter-actor.c:6011
+#: ../clutter/clutter-actor.c:6633
 msgid "Offscreen redirect"
 msgstr "Omstilling uden for skærmen"
 
-#: ../clutter/clutter-actor.c:6012
+#: ../clutter/clutter-actor.c:6634
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Flag der styrer hvornår aktøren fladgøres til et enkelt billede"
 
-#: ../clutter/clutter-actor.c:6026
+#: ../clutter/clutter-actor.c:6648
 msgid "Visible"
 msgstr "Synlig"
 
-#: ../clutter/clutter-actor.c:6027
+#: ../clutter/clutter-actor.c:6649
 msgid "Whether the actor is visible or not"
 msgstr "Aktør synlig eller ej"
 
-#: ../clutter/clutter-actor.c:6041
+#: ../clutter/clutter-actor.c:6663
 msgid "Mapped"
 msgstr "Afbildet"
 
-#: ../clutter/clutter-actor.c:6042
+#: ../clutter/clutter-actor.c:6664
 msgid "Whether the actor will be painted"
 msgstr "Hvorvidt aktøren farvelægges"
 
-#: ../clutter/clutter-actor.c:6055
+#: ../clutter/clutter-actor.c:6677
 msgid "Realized"
 msgstr "Realiseret"
 
-#: ../clutter/clutter-actor.c:6056
+#: ../clutter/clutter-actor.c:6678
 msgid "Whether the actor has been realized"
 msgstr "Hvorvidt aktøren er blevet realiseret"
 
-#: ../clutter/clutter-actor.c:6071
+#: ../clutter/clutter-actor.c:6693
 msgid "Reactive"
 msgstr "Reaktiv"
 
-#: ../clutter/clutter-actor.c:6072
+#: ../clutter/clutter-actor.c:6694
 msgid "Whether the actor is reactive to events"
 msgstr "Hvorvidt aktøren er reaktiv"
 
-#: ../clutter/clutter-actor.c:6083
+#: ../clutter/clutter-actor.c:6705
 msgid "Has Clip"
 msgstr "Har klip"
 
-#: ../clutter/clutter-actor.c:6084
+#: ../clutter/clutter-actor.c:6706
 msgid "Whether the actor has a clip set"
 msgstr "Om aktøren har klip angivet"
 
-#: ../clutter/clutter-actor.c:6103
+#: ../clutter/clutter-actor.c:6719
+msgid "Clip"
+msgstr "Klip"
+
+#: ../clutter/clutter-actor.c:6720
+msgid "The clip region for the actor"
+msgstr "Udklipsregionen for aktøren"
+
+#: ../clutter/clutter-actor.c:6739
 msgid "Clip Rectangle"
 msgstr "Beskær rektangel"
 
-#: ../clutter/clutter-actor.c:6104
+#: ../clutter/clutter-actor.c:6740
 msgid "The visible region of the actor"
 msgstr "Den synlige region for aktøren"
 
-#: ../clutter/clutter-actor.c:6118 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-actor.c:6754 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Navn"
 
-#: ../clutter/clutter-actor.c:6119
+#: ../clutter/clutter-actor.c:6755
 msgid "Name of the actor"
 msgstr "Aktørens navn"
 
-#: ../clutter/clutter-actor.c:6140
+#: ../clutter/clutter-actor.c:6776
 msgid "Pivot Point"
 msgstr "Omdrejningspunkt"
 
-#: ../clutter/clutter-actor.c:6141
+#: ../clutter/clutter-actor.c:6777
 msgid "The point around which the scaling and rotation occur"
 msgstr "Punktet omkring hvilket der foretages skalering og rotation"
 
-#: ../clutter/clutter-actor.c:6159
+#: ../clutter/clutter-actor.c:6795
 msgid "Pivot Point Z"
 msgstr "Z-værdi for omdrejningspunkt"
 
-#: ../clutter/clutter-actor.c:6160
+#: ../clutter/clutter-actor.c:6796
 msgid "Z component of the pivot point"
 msgstr "Z-koordinat for omdrejningspunkt"
 
-#: ../clutter/clutter-actor.c:6178
+#: ../clutter/clutter-actor.c:6814
 msgid "Scale X"
 msgstr "X-skalering"
 
-#: ../clutter/clutter-actor.c:6179
+#: ../clutter/clutter-actor.c:6815
 msgid "Scale factor on the X axis"
 msgstr "X-aksens skaleringsfaktor"
 
-#: ../clutter/clutter-actor.c:6197
+#: ../clutter/clutter-actor.c:6833
 msgid "Scale Y"
 msgstr "Y-skalering"
 
-#: ../clutter/clutter-actor.c:6198
+#: ../clutter/clutter-actor.c:6834
 msgid "Scale factor on the Y axis"
 msgstr "Y-aksens skaleringsfaktor"
 
-#: ../clutter/clutter-actor.c:6216
+#: ../clutter/clutter-actor.c:6852
 msgid "Scale Z"
 msgstr "Skalér Z"
 
-#: ../clutter/clutter-actor.c:6217
+#: ../clutter/clutter-actor.c:6853
 msgid "Scale factor on the Z axis"
 msgstr "Skaleringsfaktoren på Z-aksen"
 
-#: ../clutter/clutter-actor.c:6235
+#: ../clutter/clutter-actor.c:6871
+msgid "Scale Center X"
+msgstr "Skaleringscenter X"
+
+#: ../clutter/clutter-actor.c:6872
+msgid "Horizontal scale center"
+msgstr "Horisontalt skaleringscenter"
+
+#: ../clutter/clutter-actor.c:6890
+msgid "Scale Center Y"
+msgstr "Skaleringscenter Y"
+
+#: ../clutter/clutter-actor.c:6891
+msgid "Vertical scale center"
+msgstr "Vertikalt skaleringscenter"
+
+#: ../clutter/clutter-actor.c:6909
+msgid "Scale Gravity"
+msgstr "Skalér tyngdekraft"
+
+#: ../clutter/clutter-actor.c:6910
+msgid "The center of scaling"
+msgstr "Skaleringens centrum"
+
+#: ../clutter/clutter-actor.c:6928
 msgid "Rotation Angle X"
 msgstr "Rotationsvinkel X"
 
-#: ../clutter/clutter-actor.c:6236
+#: ../clutter/clutter-actor.c:6929
 msgid "The rotation angle on the X axis"
 msgstr "X-aksens rotationsvinkel"
 
-#: ../clutter/clutter-actor.c:6254
+#: ../clutter/clutter-actor.c:6947
 msgid "Rotation Angle Y"
 msgstr "Rotationsvinkel Y"
 
-#: ../clutter/clutter-actor.c:6255
+#: ../clutter/clutter-actor.c:6948
 msgid "The rotation angle on the Y axis"
 msgstr "Y-aksens rotationsvinkel"
 
-#: ../clutter/clutter-actor.c:6273
+#: ../clutter/clutter-actor.c:6966
 msgid "Rotation Angle Z"
 msgstr "Rotationsvinkel Z"
 
-#: ../clutter/clutter-actor.c:6274
+#: ../clutter/clutter-actor.c:6967
 msgid "The rotation angle on the Z axis"
 msgstr "Z-aksens rotationsvinkel"
 
-#: ../clutter/clutter-actor.c:6293
+#: ../clutter/clutter-actor.c:6985
+msgid "Rotation Center X"
+msgstr "Rotationscentrum X"
+
+#: ../clutter/clutter-actor.c:6986
+msgid "The rotation center on the X axis"
+msgstr "X-aksens rotationscentrum"
+
+#: ../clutter/clutter-actor.c:7003
+msgid "Rotation Center Y"
+msgstr "Rotationscentrum Y"
+
+#: ../clutter/clutter-actor.c:7004
+msgid "The rotation center on the Y axis"
+msgstr "Y-aksens rotationscentrum"
+
+#: ../clutter/clutter-actor.c:7021
+msgid "Rotation Center Z"
+msgstr "Rotationscentrum Z"
+
+#: ../clutter/clutter-actor.c:7022
+msgid "The rotation center on the Z axis"
+msgstr "Z-aksens rotationscentrum"
+
+#: ../clutter/clutter-actor.c:7039
+msgid "Rotation Center Z Gravity"
+msgstr "Rotationscentrum Z-tyngde"
+
+#: ../clutter/clutter-actor.c:7040
+msgid "Center point for rotation around the Z axis"
+msgstr "Centrumpunkt for rotation omkring Z-aksen"
+
+#: ../clutter/clutter-actor.c:7068
+msgid "Anchor X"
+msgstr "Forankring X"
+
+#: ../clutter/clutter-actor.c:7069
+msgid "X coordinate of the anchor point"
+msgstr "X-koordinat for forankring"
+
+#: ../clutter/clutter-actor.c:7097
+msgid "Anchor Y"
+msgstr "Forankring Y"
+
+#: ../clutter/clutter-actor.c:7098
+msgid "Y coordinate of the anchor point"
+msgstr "Y-koordinat for forankring"
+
+#: ../clutter/clutter-actor.c:7125
+msgid "Anchor Gravity"
+msgstr "Forankrings tyngde"
+
+#: ../clutter/clutter-actor.c:7126
+msgid "The anchor point as a ClutterGravity"
+msgstr "Forankring som ClutterGravity"
+
+#: ../clutter/clutter-actor.c:7145
 msgid "Translation X"
 msgstr "Forskydning X"
 
-#: ../clutter/clutter-actor.c:6294
+#: ../clutter/clutter-actor.c:7146
 msgid "Translation along the X axis"
 msgstr "Forskydning langs X-aksen"
 
-#: ../clutter/clutter-actor.c:6313
+#: ../clutter/clutter-actor.c:7165
 msgid "Translation Y"
 msgstr "Forskydning Y"
 
-#: ../clutter/clutter-actor.c:6314
+#: ../clutter/clutter-actor.c:7166
 msgid "Translation along the Y axis"
 msgstr "Forskydning langs Y-aksen"
 
-#: ../clutter/clutter-actor.c:6333
+#: ../clutter/clutter-actor.c:7185
 msgid "Translation Z"
 msgstr "Forskydning Z"
 
-#: ../clutter/clutter-actor.c:6334
+#: ../clutter/clutter-actor.c:7186
 msgid "Translation along the Z axis"
 msgstr "Forskydning langs Z-aksen"
 
-#: ../clutter/clutter-actor.c:6362
+#: ../clutter/clutter-actor.c:7216
 msgid "Transform"
 msgstr "Transformér"
 
-#: ../clutter/clutter-actor.c:6363
+#: ../clutter/clutter-actor.c:7217
 msgid "Transformation matrix"
 msgstr "Transformationsmatrix"
 
-#: ../clutter/clutter-actor.c:6376
+#: ../clutter/clutter-actor.c:7232
 msgid "Transform Set"
 msgstr "Transformation angivet"
 
-#: ../clutter/clutter-actor.c:6377
+#: ../clutter/clutter-actor.c:7233
 msgid "Whether the transform property is set"
 msgstr "Om transformeringsegenskaben (transform) er angivet"
 
-#: ../clutter/clutter-actor.c:6396
+#: ../clutter/clutter-actor.c:7254
 msgid "Child Transform"
 msgstr "Undertransformation"
 
-#: ../clutter/clutter-actor.c:6397
+#: ../clutter/clutter-actor.c:7255
 msgid "Children transformation matrix"
 msgstr "Transformationsmatrix for undertransformationer"
 
-#: ../clutter/clutter-actor.c:6412
+#: ../clutter/clutter-actor.c:7270
 msgid "Child Transform Set"
 msgstr "Undertransformation angivet"
 
-#: ../clutter/clutter-actor.c:6413
+#: ../clutter/clutter-actor.c:7271
 msgid "Whether the child-transform property is set"
 msgstr "Om undertransformationsegenskaben (child-transform) er angivet"
 
-#: ../clutter/clutter-actor.c:6431
+#: ../clutter/clutter-actor.c:7288
+msgid "Show on set parent"
+msgstr "Vis på angivet ophavselement"
+
+#: ../clutter/clutter-actor.c:7289
+msgid "Whether the actor is shown when parented"
+msgstr "Om aktøren vises når den har et ophavselement"
+
+#: ../clutter/clutter-actor.c:7306
 msgid "Clip to Allocation"
 msgstr "Klip til allokation"
 
-#: ../clutter/clutter-actor.c:6432
+#: ../clutter/clutter-actor.c:7307
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Sætter udklipsregionen til at overvåge aktørens allokering"
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:7320
 msgid "Text Direction"
 msgstr "Tekstretning"
 
-#: ../clutter/clutter-actor.c:6446
+#: ../clutter/clutter-actor.c:7321
 msgid "Direction of the text"
 msgstr "Tekstens retning"
 
 # ?
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:7336
 msgid "Has Pointer"
 msgstr "Har pointer"
 
 # ?
-#: ../clutter/clutter-actor.c:6462
+#: ../clutter/clutter-actor.c:7337
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Om aktøren indeholder pointeren til en inputenhed"
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:7350
 msgid "Actions"
 msgstr "Handlinger"
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:7351
 msgid "Adds an action to the actor"
 msgstr "Tilføjer en handling til aktøren"
 
-#: ../clutter/clutter-actor.c:6489
+#: ../clutter/clutter-actor.c:7364
 msgid "Constraints"
 msgstr "Begrænsninger"
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:7365
 msgid "Adds a constraint to the actor"
 msgstr "Tilføjer en begrænsning til aktøren"
 
-#: ../clutter/clutter-actor.c:6503
+#: ../clutter/clutter-actor.c:7378
 msgid "Effect"
 msgstr "Effekt"
 
-#: ../clutter/clutter-actor.c:6504
+#: ../clutter/clutter-actor.c:7379
 msgid "Add an effect to be applied on the actor"
 msgstr "Tilføj en effekt som skal anvendes på aktøren"
 
-#: ../clutter/clutter-actor.c:6518
+#: ../clutter/clutter-actor.c:7393
 msgid "Layout Manager"
 msgstr "Layout-manager"
 
-#: ../clutter/clutter-actor.c:6519
+#: ../clutter/clutter-actor.c:7394
 msgid "The object controlling the layout of an actor's children"
 msgstr "Objektet som kontrollerer layoutet af en aktørs underelementer"
 
-#: ../clutter/clutter-actor.c:6533
+#: ../clutter/clutter-actor.c:7408
 msgid "X Expand"
 msgstr "Udvid i X"
 
-#: ../clutter/clutter-actor.c:6534
+#: ../clutter/clutter-actor.c:7409
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Om der skal tildeles ekstra vandret plads til aktøren"
 
-#: ../clutter/clutter-actor.c:6549
+#: ../clutter/clutter-actor.c:7424
 msgid "Y Expand"
 msgstr "Udvid Y"
 
-#: ../clutter/clutter-actor.c:6550
+#: ../clutter/clutter-actor.c:7425
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Om der skal tildeles ekstra lodret plads til aktøren"
 
-#: ../clutter/clutter-actor.c:6566
+#: ../clutter/clutter-actor.c:7441
 msgid "X Alignment"
 msgstr "X-justering"
 
-#: ../clutter/clutter-actor.c:6567
+#: ../clutter/clutter-actor.c:7442
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Justeringen af aktøren på X-aksen inden for dens allokering"
 
-#: ../clutter/clutter-actor.c:6582
+#: ../clutter/clutter-actor.c:7457
 msgid "Y Alignment"
 msgstr "Y-justering"
 
-#: ../clutter/clutter-actor.c:6583
+#: ../clutter/clutter-actor.c:7458
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Justeringen af aktøren på Y-aksen inden for dens allokering"
 
-#: ../clutter/clutter-actor.c:6602
+#: ../clutter/clutter-actor.c:7477
 msgid "Margin Top"
 msgstr "Topmargin"
 
-#: ../clutter/clutter-actor.c:6603
+#: ../clutter/clutter-actor.c:7478
 msgid "Extra space at the top"
 msgstr "Ekstra plads i toppen"
 
-#: ../clutter/clutter-actor.c:6624
+#: ../clutter/clutter-actor.c:7499
 msgid "Margin Bottom"
 msgstr "Bundmargin"
 
-#: ../clutter/clutter-actor.c:6625
+#: ../clutter/clutter-actor.c:7500
 msgid "Extra space at the bottom"
 msgstr "Ekstra plads ved bunden"
 
-#: ../clutter/clutter-actor.c:6646
+#: ../clutter/clutter-actor.c:7521
 msgid "Margin Left"
 msgstr "Venstremargin"
 
-#: ../clutter/clutter-actor.c:6647
+#: ../clutter/clutter-actor.c:7522
 msgid "Extra space at the left"
 msgstr "Ekstra plads til venstre"
 
-#: ../clutter/clutter-actor.c:6668
+#: ../clutter/clutter-actor.c:7543
 msgid "Margin Right"
 msgstr "Højremargin"
 
-#: ../clutter/clutter-actor.c:6669
+#: ../clutter/clutter-actor.c:7544
 msgid "Extra space at the right"
 msgstr "Ekstra plads til højre"
 
 # Fra koden:
 # Whether the #ClutterActor:background-color property has been set.
-#: ../clutter/clutter-actor.c:6685
+#: ../clutter/clutter-actor.c:7560
 msgid "Background Color Set"
 msgstr "Baggrundsfarve indstillet"
 
-#: ../clutter/clutter-actor.c:6686
+#: ../clutter/clutter-actor.c:7561 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Om baggrundsfarven er angivet"
 
-#: ../clutter/clutter-actor.c:6702
+#: ../clutter/clutter-actor.c:7577
 msgid "Background color"
 msgstr "Baggrundsfarve"
 
-#: ../clutter/clutter-actor.c:6703
+#: ../clutter/clutter-actor.c:7578
 msgid "The actor's background color"
 msgstr "Aktørens baggrundsfarve"
 
-#: ../clutter/clutter-actor.c:6718
+#: ../clutter/clutter-actor.c:7593
 msgid "First Child"
 msgstr "Første underelement"
 
-#: ../clutter/clutter-actor.c:6719
+#: ../clutter/clutter-actor.c:7594
 msgid "The actor's first child"
 msgstr "Aktørens første underelement"
 
-#: ../clutter/clutter-actor.c:6732
+#: ../clutter/clutter-actor.c:7607
 msgid "Last Child"
 msgstr "Sidste underelement"
 
-#: ../clutter/clutter-actor.c:6733
+#: ../clutter/clutter-actor.c:7608
 msgid "The actor's last child"
 msgstr "Aktørens sidste underelement"
 
-#: ../clutter/clutter-actor.c:6747
+#: ../clutter/clutter-actor.c:7622
 msgid "Content"
 msgstr "Indhold"
 
-#: ../clutter/clutter-actor.c:6748
+#: ../clutter/clutter-actor.c:7623
 msgid "Delegate object for painting the actor's content"
 msgstr "Delegeringsobjekt til optegning af aktørens indhold"
 
-#: ../clutter/clutter-actor.c:6773
+#: ../clutter/clutter-actor.c:7648
 msgid "Content Gravity"
 msgstr "Indholdstyngdekraft"
 
-#: ../clutter/clutter-actor.c:6774
+#: ../clutter/clutter-actor.c:7649
 msgid "Alignment of the actor's content"
 msgstr "Justering af aktørens indhold"
 
-#: ../clutter/clutter-actor.c:6794
+#: ../clutter/clutter-actor.c:7669
 msgid "Content Box"
 msgstr "Indholdsboks"
 
-#: ../clutter/clutter-actor.c:6795
+#: ../clutter/clutter-actor.c:7670
 msgid "The bounding box of the actor's content"
 msgstr "Afgrænsningsboksen for aktørens indhold"
 
-#: ../clutter/clutter-actor.c:6803
+#: ../clutter/clutter-actor.c:7678
 msgid "Minification Filter"
 msgstr "Minimeringsfilter"
 
-#: ../clutter/clutter-actor.c:6804
+#: ../clutter/clutter-actor.c:7679
 msgid "The filter used when reducing the size of the content"
 msgstr "Det filter der bruges til at reducere indholdets størrelse"
 
-#: ../clutter/clutter-actor.c:6811
+#: ../clutter/clutter-actor.c:7686
 msgid "Magnification Filter"
 msgstr "Forstørrelsesfilter"
 
-#: ../clutter/clutter-actor.c:6812
+#: ../clutter/clutter-actor.c:7687
 msgid "The filter used when increasing the size of the content"
 msgstr "Det filter der bruges til at forøge indholdets størrelse"
 
-#: ../clutter/clutter-actor.c:6826
+#: ../clutter/clutter-actor.c:7701
 msgid "Content Repeat"
 msgstr "Indhold gentages"
 
-#: ../clutter/clutter-actor.c:6827
+#: ../clutter/clutter-actor.c:7702
 msgid "The repeat policy for the actor's content"
 msgstr "Gentagelsespolitikken for aktørens indhold"
 
@@ -599,6 +705,7 @@ msgid "The name of the meta"
 msgstr "Metas navn"
 
 #: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Slået til"
 
@@ -633,11 +740,11 @@ msgstr "Faktor"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Justeringsfaktoren, mellem 0,0 og 1,0"
 
-#: ../clutter/clutter-backend.c:373
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Ude af stand til at initialisere det underliggende Clutter-program"
 
-#: ../clutter/clutter-backend.c:447
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr ""
@@ -669,43 +776,144 @@ msgstr "Forskydningen i pixel der skal tilføjes bindingen"
 msgid "The unique name of the binding pool"
 msgstr "Det unikke navn for bindingspuljen"
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
+msgid "Horizontal Alignment"
+msgstr "Horisontal justering"
+
+#: ../clutter/clutter-bin-layout.c:241
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr "Horisontal justering for aktøren inden i layout-manager"
+
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
+msgid "Vertical Alignment"
+msgstr "Vertikal justering"
+
+#: ../clutter/clutter-bin-layout.c:250
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr "Vertikal justering for aktøren inden i layout-manager"
+
+#: ../clutter/clutter-bin-layout.c:656
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr ""
+"Standardværdi for vandret justering af aktører inden i layouthåndteringen"
+
+#: ../clutter/clutter-bin-layout.c:676
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr ""
+"Standardværdi for lodret justering af aktører inden i layouthåndteringen"
+
+#: ../clutter/clutter-box-layout.c:365
+msgid "Expand"
+msgstr "Udvid"
+
+#: ../clutter/clutter-box-layout.c:366
+msgid "Allocate extra space for the child"
+msgstr "Tildel ekstra plads til underelementet"
+
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
+msgid "Horizontal Fill"
+msgstr "Horisontal udfyldning"
+
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+"Om underelementet skal tildeles prioritet når beholderen allokerer fri plads "
+"på den vandrette akse"
+
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
+msgid "Vertical Fill"
+msgstr "Vertikal udfyldning"
+
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+"Om underelementet skal tildeles prioritet når beholderen tildeler fri plads "
+"på den lodrette akse"
+
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
+msgid "Horizontal alignment of the actor within the cell"
+msgstr "Horisontal justering af aktøren inden i cellen"
+
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
+msgid "Vertical alignment of the actor within the cell"
+msgstr "Vertikal justering af aktøren inden i cellen"
+
+#: ../clutter/clutter-box-layout.c:1365
+msgid "Vertical"
+msgstr "Vertikal"
+
+#: ../clutter/clutter-box-layout.c:1366
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "Hvorvidt layoutet skal forblive vertikalt frem for horisontalt"
+
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
 #: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientering"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
 #: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "Orienteringen af layoutet"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogent"
 
-#: ../clutter/clutter-box-layout.c:986
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Om layoutet skal være homogent, dvs. om alle underelementer får samme "
 "størrelse"
 
-#: ../clutter/clutter-box-layout.c:1001
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Pak ved start"
 
-#: ../clutter/clutter-box-layout.c:1002
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Om elementer pakkes fra boksens start"
 
-#: ../clutter/clutter-box-layout.c:1015
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Afstand"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Mellemrum mellem underelementer"
 
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
+msgid "Use Animations"
+msgstr "Brug animationer"
+
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
+msgid "Whether layout changes should be animated"
+msgstr "Hvorvidt layout-ændringer skal animeres"
+
+# http://docs.clutter-project.org/docs/clutter-cookbook/1.0/animations.html
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
+msgid "Easing Mode"
+msgstr "Blødgørelsestilstand"
+
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
+msgid "The easing mode of the animations"
+msgstr "Blødgørelsestilstanden (easing mode) for animationerne"
+
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
+msgid "Easing Duration"
+msgstr "Varighed for blødgørelse"
+
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
+msgid "The duration of the animations"
+msgstr "Animationernes varighed"
+
 #: ../clutter/clutter-brightness-contrast-effect.c:321
 msgid "Brightness"
 msgstr "Lysstyrke"
@@ -758,7 +966,7 @@ msgstr "Holdt nede"
 msgid "Whether the clickable has a grab"
 msgstr "Om det klikbare objekt har et greb"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:607
 msgid "Long Press Duration"
 msgstr "Lang trykvarighed"
 
@@ -825,118 +1033,106 @@ msgstr "Motor"
 msgid "The ClutterBackend of the device manager"
 msgstr "ClutterBackend for enhedshåndteringen"
 
-#: ../clutter/clutter-drag-action.c:750
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Tærskel for vandret træk"
 
-#: ../clutter/clutter-drag-action.c:751
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "Antallet af pixler der starter trækkeoperation vandret"
 
-#: ../clutter/clutter-drag-action.c:778
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Tærskel for vandret træk"
 
-#: ../clutter/clutter-drag-action.c:779
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Antallet af pixler der starter trækkeoperation lodret"
 
-#: ../clutter/clutter-drag-action.c:800
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Trækkehåndtag"
 
-#: ../clutter/clutter-drag-action.c:801
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "Aktøren der trækkes"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Trækkeakse"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Begrænser træk til en akse"
 
-#: ../clutter/clutter-drag-action.c:831
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Trækkeområde"
 
-#: ../clutter/clutter-drag-action.c:832
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Begrænser træk til et rektangel"
 
-#: ../clutter/clutter-drag-action.c:845
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Trækkeområde angivet"
 
-#: ../clutter/clutter-drag-action.c:846
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Om trækkeområdet er angivet"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Om hvert element skal tildeles samme plads"
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Kolonnemellemrum"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Mellemrum mellem kolonner"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Rækkemellemrum"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Mellemrum mellem rækker"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Mindste kolonnnebredde"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Mindste bredde af hver kolonne"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Største kolonnebredde"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Største bredde af hver kolonne"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Minimum for rækkehøjde"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Minimumshøjde for hver række"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Maksimum for rækkehøjde"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Maksimum højde for hver række"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "Klæb til gitter"
-
-#: ../clutter/clutter-gesture-action.c:644
-msgid "Number touch points"
-msgstr "Antal berøringspunkter"
-
-#: ../clutter/clutter-gesture-action.c:645
-msgid "Number of touch points"
-msgstr "Antal af berøringspunkter"
-
 #: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Venstre vedhæftning"
@@ -1058,27 +1254,27 @@ msgstr "Antallet af akser på enheden"
 msgid "The backend instance"
 msgstr "Motorinstansen"
 
-#: ../clutter/clutter-interval.c:489
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Værditype"
 
-#: ../clutter/clutter-interval.c:490
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Typer af værdier i intervallet"
 
-#: ../clutter/clutter-interval.c:505
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Begyndelsesværdi"
 
-#: ../clutter/clutter-interval.c:506
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Begyndelsesværdi på intervallet"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Slutværdi"
 
-#: ../clutter/clutter-interval.c:521
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Slutværdi på intervallet"
 
@@ -1097,95 +1293,96 @@ msgstr "Håndteringen som oprettede disse data"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:697
+#: ../clutter/clutter-main.c:795
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1464
+#: ../clutter/clutter-main.c:1669
 msgid "Show frames per second"
 msgstr "Vis antal billeder pr. sekund"
 
-#: ../clutter/clutter-main.c:1466
+#: ../clutter/clutter-main.c:1671
 msgid "Default frame rate"
 msgstr "Standardbilledfrekvens"
 
-#: ../clutter/clutter-main.c:1468
+#: ../clutter/clutter-main.c:1673
 msgid "Make all warnings fatal"
 msgstr "Gør alle advarsler fatale"
 
-#: ../clutter/clutter-main.c:1471
+#: ../clutter/clutter-main.c:1676
 msgid "Direction for the text"
 msgstr "Retning for teksten"
 
-#: ../clutter/clutter-main.c:1474
+#: ../clutter/clutter-main.c:1679
 msgid "Disable mipmapping on text"
 msgstr "Slå mipmapping fra i tekst"
 
-#: ../clutter/clutter-main.c:1477
+#: ../clutter/clutter-main.c:1682
 msgid "Use 'fuzzy' picking"
 msgstr "Brug \"blød\" udvælgelse"
 
-#: ../clutter/clutter-main.c:1480
+#: ../clutter/clutter-main.c:1685
 msgid "Clutter debugging flags to set"
 msgstr "Clutter-fejlsøgningsflag der skal sættes"
 
-#: ../clutter/clutter-main.c:1482
+#: ../clutter/clutter-main.c:1687
 msgid "Clutter debugging flags to unset"
 msgstr "Clutter-fejlsøgningsflag der skal fjernes"
 
-#: ../clutter/clutter-main.c:1486
+#: ../clutter/clutter-main.c:1691
 msgid "Clutter profiling flags to set"
 msgstr "Clutter-profileringsflag der skal sættes"
 
-#: ../clutter/clutter-main.c:1488
+#: ../clutter/clutter-main.c:1693
 msgid "Clutter profiling flags to unset"
 msgstr "Clutter-profileringsflag der skal fjernes"
 
-#: ../clutter/clutter-main.c:1491
+#: ../clutter/clutter-main.c:1696
 msgid "Enable accessibility"
 msgstr "Aktivér tilgængelighed"
 
-#: ../clutter/clutter-main.c:1683
+#: ../clutter/clutter-main.c:1888
 msgid "Clutter Options"
 msgstr "Clutter-valgmuligheder"
 
-#: ../clutter/clutter-main.c:1684
+#: ../clutter/clutter-main.c:1889
 msgid "Show Clutter Options"
 msgstr "Vis Clutter-valgmuligheder"
 
-#: ../clutter/clutter-pan-action.c:444
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Panoreringsakse"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Begrænser panorering til en akse"
 
-#: ../clutter/clutter-pan-action.c:457
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolér"
 
-#: ../clutter/clutter-pan-action.c:458
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Om interpoleret udsendelse af begivenheder er aktiveret."
 
-#: ../clutter/clutter-pan-action.c:472
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Deceleration"
 
-#: ../clutter/clutter-pan-action.c:473
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Hastighed hvormed den interpolerede panorering vil decelerere"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Begyndelsesaccelerationsfaktor"
 
-#: ../clutter/clutter-pan-action.c:489
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Faktor, som anvendes på impulsen når der startes en interpoleret fase"
 
 #: ../clutter/clutter-path-constraint.c:212
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Sti"
 
@@ -1205,27 +1402,28 @@ msgstr "Egenskabsnavn"
 msgid "The name of the property to animate"
 msgstr "Navnet på den egenskab som skal animeres"
 
-#: ../clutter/clutter-script.c:350
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Filnavn angivet"
 
-#: ../clutter/clutter-script.c:351
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Om egenskaben :filename er angivet"
 
-#: ../clutter/clutter-script.c:365
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Filnavn"
 
-#: ../clutter/clutter-script.c:366
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Stien af den nu fortolkede fil"
 
-#: ../clutter/clutter-script.c:383
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Oversættelsesdomæne"
 
-#: ../clutter/clutter-script.c:384
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Oversættelsesdomænet som bruges til at lokalisere strengen"
 
@@ -1237,47 +1435,47 @@ msgstr "Rulletilstand"
 msgid "The scrolling direction"
 msgstr "Rulleretningen"
 
-#: ../clutter/clutter-settings.c:424
+#: ../clutter/clutter-settings.c:448
 msgid "Double Click Time"
 msgstr "Dobbeltkliktid"
 
-#: ../clutter/clutter-settings.c:425
+#: ../clutter/clutter-settings.c:449
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr ""
 "Tidsrummet mellem klik, som er nødvendigt for registrering af flerdobbelte "
 "klik"
 
-#: ../clutter/clutter-settings.c:440
+#: ../clutter/clutter-settings.c:464
 msgid "Double Click Distance"
 msgstr "Dobbeltklikafstand"
 
-#: ../clutter/clutter-settings.c:441
+#: ../clutter/clutter-settings.c:465
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "Afstanden mellem klik som er nødvendig for registrering af flerdobbelte klik"
 
-#: ../clutter/clutter-settings.c:456
+#: ../clutter/clutter-settings.c:480
 msgid "Drag Threshold"
 msgstr "Trækketærskel"
 
-#: ../clutter/clutter-settings.c:457
+#: ../clutter/clutter-settings.c:481
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "Afstanden som markøren skal flyttes før der startes en trækkeoperation"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Skrifttypenavn"
 
-#: ../clutter/clutter-settings.c:473
+#: ../clutter/clutter-settings.c:497
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr "Beskrivelsen af standardskrifttypen til fortolkning af Pango"
 
-#: ../clutter/clutter-settings.c:488
+#: ../clutter/clutter-settings.c:512
 msgid "Font Antialias"
 msgstr "Skrifttypeudjævning"
 
-#: ../clutter/clutter-settings.c:489
+#: ../clutter/clutter-settings.c:513
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1285,62 +1483,62 @@ msgstr ""
 "Om der skal bruges udjævning/antialiasing (1 for at slå til, 0 for at slå "
 "fra, og -1 for at bruge standardværdien)"
 
-#: ../clutter/clutter-settings.c:505
+#: ../clutter/clutter-settings.c:529
 msgid "Font DPI"
 msgstr "Skrifttype-DPI"
 
-#: ../clutter/clutter-settings.c:506
+#: ../clutter/clutter-settings.c:530
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "Opløsning for skrifttypen angivet i 1024 * punkter/tomme eller -1 for at "
 "bruge standardværdien"
 
-#: ../clutter/clutter-settings.c:522
+#: ../clutter/clutter-settings.c:546
 msgid "Font Hinting"
 msgstr "Skrifttype-hinting"
 
-#: ../clutter/clutter-settings.c:523
+#: ../clutter/clutter-settings.c:547
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Om der skal bruges \"hinting\" (1 for at slå til, 0 for at slå fra og -1 for "
 "at bruge standardværdien)"
 
-#: ../clutter/clutter-settings.c:544
+#: ../clutter/clutter-settings.c:568
 msgid "Font Hint Style"
 msgstr "Stil for skrifttype-hint"
 
-#: ../clutter/clutter-settings.c:545
+#: ../clutter/clutter-settings.c:569
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Stilen til hinting (hintnone, hintslight, hintmedium, hintfull)"
 
 # ?
-#: ../clutter/clutter-settings.c:566
+#: ../clutter/clutter-settings.c:590
 msgid "Font Subpixel Order"
 msgstr "Underpixelrækkefølge for skrifttype"
 
-#: ../clutter/clutter-settings.c:567
+#: ../clutter/clutter-settings.c:591
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Typen af underpixeludjævning (none, rbg, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:584
+#: ../clutter/clutter-settings.c:608
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "Mindste varighed før en langvarig trykkegestus genkendes"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:615
 msgid "Fontconfig configuration timestamp"
 msgstr "Konfigurationstidsstempel til fontconfig"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:616
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Tidsstempel for nuværende fontconfig-konfiguration"
 
-#: ../clutter/clutter-settings.c:609
+#: ../clutter/clutter-settings.c:633
 msgid "Password Hint Time"
 msgstr "Tid for adgangskodefif"
 
-#: ../clutter/clutter-settings.c:610
+#: ../clutter/clutter-settings.c:634
 msgid "How long to show the last input character in hidden entries"
 msgstr "Hvor lang tid det sidst indtastede tegn i skjulte indtastninger vises"
 
@@ -1376,397 +1574,462 @@ msgstr "Kanten af kilden der skal fastgøres"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Forskydningen i pixler der anvendes på begrænsningen"
 
-#: ../clutter/clutter-stage.c:1830
+#: ../clutter/clutter-stage.c:1929
 msgid "Fullscreen Set"
 msgstr "Fuldskærm angivet"
 
 # "stage" skal forstås som "scene", jf. "actor"
-#: ../clutter/clutter-stage.c:1831
+#: ../clutter/clutter-stage.c:1930
 msgid "Whether the main stage is fullscreen"
 msgstr "Om hovedscenen er i fuldskærmstilstand"
 
-#: ../clutter/clutter-stage.c:1843 ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-stage.c:1944
+msgid "Offscreen"
+msgstr "Uden for skærmen"
+
+#: ../clutter/clutter-stage.c:1945
+msgid "Whether the main stage should be rendered offscreen"
+msgstr "Om hovedscenen skal optegnes uden for skærmen"
+
+#: ../clutter/clutter-stage.c:1957 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Markør synlig"
 
-#: ../clutter/clutter-stage.c:1844
+#: ../clutter/clutter-stage.c:1958
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Om musemarkøren er synlig på hovedscenen"
 
-#: ../clutter/clutter-stage.c:1858
+#: ../clutter/clutter-stage.c:1972
 msgid "User Resizable"
 msgstr "Bruger kan ændre størrelse"
 
-#: ../clutter/clutter-stage.c:1859
+#: ../clutter/clutter-stage.c:1973
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Om brugeren kan indstille scenens størrelse"
 
-#: ../clutter/clutter-stage.c:1874
+#: ../clutter/clutter-stage.c:1988 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
+msgid "Color"
+msgstr "Farve"
+
+#: ../clutter/clutter-stage.c:1989
+msgid "The color of the stage"
+msgstr "Farven på scenen"
+
+#: ../clutter/clutter-stage.c:2004
 msgid "Perspective"
 msgstr "Perspektiv"
 
-#: ../clutter/clutter-stage.c:1875
+#: ../clutter/clutter-stage.c:2005
 msgid "Perspective projection parameters"
 msgstr "Parametre for perspektivprojektion"
 
-#: ../clutter/clutter-stage.c:1890
+#: ../clutter/clutter-stage.c:2020
 msgid "Title"
 msgstr "Titel"
 
-#: ../clutter/clutter-stage.c:1891
+#: ../clutter/clutter-stage.c:2021
 msgid "Stage Title"
 msgstr "Scenetitel"
 
-#: ../clutter/clutter-stage.c:1907
+#: ../clutter/clutter-stage.c:2038
+msgid "Use Fog"
+msgstr "Brug tåge"
+
+#: ../clutter/clutter-stage.c:2039
+msgid "Whether to enable depth cueing"
+msgstr "Om der skal bruges dybdeperspektiv"
+
+#: ../clutter/clutter-stage.c:2055
+msgid "Fog"
+msgstr "Tåge"
+
+#: ../clutter/clutter-stage.c:2056
+msgid "Settings for the depth cueing"
+msgstr "Indstillinger for dybdeperspektiv"
+
+#: ../clutter/clutter-stage.c:2072
 msgid "Use Alpha"
 msgstr "Brug alfa"
 
-#: ../clutter/clutter-stage.c:1908
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Om alfakomponenten af scenefarven skal respekteres"
 
 # ?
-#: ../clutter/clutter-stage.c:1924
+#: ../clutter/clutter-stage.c:2089
 msgid "Key Focus"
 msgstr "Primær fokus"
 
 # ?
-#: ../clutter/clutter-stage.c:1925
+#: ../clutter/clutter-stage.c:2090
 msgid "The currently key focused actor"
 msgstr "Nuværende aktør med primær fokus"
 
 # ?
-#: ../clutter/clutter-stage.c:1941
+#: ../clutter/clutter-stage.c:2106
 msgid "No Clear Hint"
 msgstr "Intet klart hint"
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:2107
 msgid "Whether the stage should clear its contents"
 msgstr "Om scenen skal rydde dens indhold"
 
-#: ../clutter/clutter-stage.c:1955
+#: ../clutter/clutter-stage.c:2120
 msgid "Accept Focus"
 msgstr "Acceptér fokus"
 
-#: ../clutter/clutter-stage.c:1956
+#: ../clutter/clutter-stage.c:2121
 msgid "Whether the stage should accept focus on show"
 msgstr "Om scenen skal acceptere fokus ved visning"
 
-#: ../clutter/clutter-table-layout.c:331
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Kolonnenummer"
 
-#: ../clutter/clutter-table-layout.c:332
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "Kolonnen som kontrollen bor i"
 
-#: ../clutter/clutter-table-layout.c:339
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Rækkenummer"
 
-#: ../clutter/clutter-table-layout.c:340
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "Rækken som kontrollen bor i"
 
-#: ../clutter/clutter-table-layout.c:347
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Kolonnespænd"
 
-#: ../clutter/clutter-table-layout.c:348
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "Antallet af kolonner som kontrollen skal omfatte"
 
-#: ../clutter/clutter-table-layout.c:355
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Rækkespænd"
 
-#: ../clutter/clutter-table-layout.c:356
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "Antallet af rækker som kontrollen skal omfatte"
 
-#: ../clutter/clutter-table-layout.c:1282
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Udvid vandret"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Tildel ekstra plads til underelementet langs vandret akse"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Udvid lodret"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Tildel ekstra plads til underelementet langs lodret akse"
+
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Mellemrum mellem kolonner"
 
-#: ../clutter/clutter-table-layout.c:1296
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Mellemrum mellem rækker"
 
-#: ../clutter/clutter-text-buffer.c:349 ../clutter/clutter-text.c:3387
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Tekst"
 
-#: ../clutter/clutter-text-buffer.c:350
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Indholdet af bufferen"
 
-#: ../clutter/clutter-text-buffer.c:363
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Tekstlængde"
 
-#: ../clutter/clutter-text-buffer.c:364
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Længden af nuværende tekst i bufferen"
 
-#: ../clutter/clutter-text-buffer.c:377
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Maksimal længde"
 
-#: ../clutter/clutter-text-buffer.c:378
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Maksimalt antal af tegn i denne indtastning. Nul hvis intet maksimum"
 
-#: ../clutter/clutter-text.c:3340
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Buffer"
 
-#: ../clutter/clutter-text.c:3341
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "Bufferen for teksten"
 
-#: ../clutter/clutter-text.c:3357
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "Skrifttypen der bruges af teksten"
 
-#: ../clutter/clutter-text.c:3372
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Beskrivelse af skrifttype"
 
-#: ../clutter/clutter-text.c:3373
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "Skrifttypebeskrivelsen der skal bruges"
 
-#: ../clutter/clutter-text.c:3388
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "Tekst der skal vises"
 
-#: ../clutter/clutter-text.c:3400
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Skriftfarve"
 
 # hvad mener de mon med at en skrifttype kan have en farve.  En forfærdelig sætning!
-#: ../clutter/clutter-text.c:3401
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "Farven af skriften der bruges til teksten"
 
-#: ../clutter/clutter-text.c:3414
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Kan redigeres"
 
-#: ../clutter/clutter-text.c:3415
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Om teksten kan redigeres"
 
-#: ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Kan vælges"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Om teksten kan vælges"
 
-#: ../clutter/clutter-text.c:3441
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Kan aktiveres"
 
-#: ../clutter/clutter-text.c:3442
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Om tryk på retur bevirker udsendelse af aktiveringssignalet"
 
-#: ../clutter/clutter-text.c:3457
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Om inputmarkøren er synlig"
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Markørfarve"
 
-#: ../clutter/clutter-text.c:3483
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Markørfave angivet"
 
-#: ../clutter/clutter-text.c:3484
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Om markørfarven er blevet angivet"
 
-#: ../clutter/clutter-text.c:3497
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Markørstørrelse"
 
-#: ../clutter/clutter-text.c:3498
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "Bredden af markøren i pixler"
 
-#: ../clutter/clutter-text.c:3510
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Markørposition"
 
-#: ../clutter/clutter-text.c:3511
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "Markørens position"
 
-#: ../clutter/clutter-text.c:3524
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Markeringsgrænse"
 
-#: ../clutter/clutter-text.c:3525
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "Markørpositionen i den anden ende af markering"
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Markeringsfarve"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Markeringsfarve angivet"
 
-#: ../clutter/clutter-text.c:3553
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Om markeringsfarven er blevet angivet"
 
-#: ../clutter/clutter-text.c:3566
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Egenskaber"
 
-#: ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "En liste af stilegenskaber som anvendes på aktørens indhold"
 
-#: ../clutter/clutter-text.c:3587
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Brug opmærkning"
 
-#: ../clutter/clutter-text.c:3588
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Om teksten inkluderer Pango-opmærkning"
 
-#: ../clutter/clutter-text.c:3602
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Linjeombrydning"
 
-#: ../clutter/clutter-text.c:3603
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Hvis angivet, vil tekstlinjer ombrydes når de bliver for lange"
 
-#: ../clutter/clutter-text.c:3616
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Linjeombrydningstilstand"
 
-#: ../clutter/clutter-text.c:3617
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Styrer hvordan linjer ombrydes"
 
 # se nedenfor
-#: ../clutter/clutter-text.c:3630
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Ellipsegrænse"
 
 # ellipsegørelse ~ forkortelse af tekst med tre prikker
-#: ../clutter/clutter-text.c:3631
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "Det foretrukne sted at ellipsegøre strengen"
 
-#: ../clutter/clutter-text.c:3645
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Linjejustering"
 
-#: ../clutter/clutter-text.c:3646
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Den foretrukne justering af strengen til flerlinjetekst"
 
 # "Retrieves whether the label should justify the text on both margins."
 # http://www.gnu.org/software/guile-gnome/docs/clutter/html/ClutterLabel.html
-#: ../clutter/clutter-text.c:3660
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Lige margener"
 
-#: ../clutter/clutter-text.c:3661
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Om teksten skal strækkes til begge margener"
 
-#: ../clutter/clutter-text.c:3674
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Adgangskodetegn"
 
-#: ../clutter/clutter-text.c:3675
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Hvis forskelligt fra nul, bruges dette tegn til at vise aktørens tekstindhold"
 
-#: ../clutter/clutter-text.c:3687
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Maksimal længde"
 
-#: ../clutter/clutter-text.c:3688
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Maksimal længde af teksten i aktøren"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Enlinjetilstand"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Om teksten skal vises i en enkelt linje"
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Farve på markeret tekst"
 
-#: ../clutter/clutter-text.c:3736
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Farve på markeret tekst angivet"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Om farven på markeret tekst er blevet angivet"
 
-#: ../clutter/clutter-timeline.c:562
+#: ../clutter/clutter-timeline.c:594
+#: ../clutter/deprecated/clutter-animation.c:560
+msgid "Loop"
+msgstr "Gentagelse"
+
+# afviger fra originalstreng med vilje
+#: ../clutter/clutter-timeline.c:595
+msgid "Should the timeline automatically restart"
+msgstr "Om tidslinjen automatisk genstartes"
+
+#: ../clutter/clutter-timeline.c:609
 msgid "Delay"
 msgstr "Ventetid"
 
-#: ../clutter/clutter-timeline.c:563
+#: ../clutter/clutter-timeline.c:610
 msgid "Delay before start"
 msgstr "Ventetid før start"
 
-#: ../clutter/clutter-timeline.c:578
+#: ../clutter/clutter-timeline.c:625
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
+#: ../clutter/deprecated/clutter-media.c:224
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Varighed"
 
-#: ../clutter/clutter-timeline.c:579
+#: ../clutter/clutter-timeline.c:626
 msgid "Duration of the timeline in milliseconds"
 msgstr "Varighed af tidslinje i millisekunder"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:641
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Retning"
 
-#: ../clutter/clutter-timeline.c:595
+#: ../clutter/clutter-timeline.c:642
 msgid "Direction of the timeline"
 msgstr "Retning på tidslinjen"
 
-#: ../clutter/clutter-timeline.c:610
+#: ../clutter/clutter-timeline.c:657
 msgid "Auto Reverse"
 msgstr "Autoomvending"
 
-#: ../clutter/clutter-timeline.c:611
+#: ../clutter/clutter-timeline.c:658
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Om retningen skal vendes når slutningen nås"
 
-#: ../clutter/clutter-timeline.c:629
+#: ../clutter/clutter-timeline.c:676
 msgid "Repeat Count"
 msgstr "Gentagelsesantal"
 
-#: ../clutter/clutter-timeline.c:630
+#: ../clutter/clutter-timeline.c:677
 msgid "How many times the timeline should repeat"
 msgstr "Hvor mange gange tidslinjen skal gentages"
 
-#: ../clutter/clutter-timeline.c:644
+#: ../clutter/clutter-timeline.c:691
 msgid "Progress Mode"
 msgstr "Fremskridtstilstand"
 
-#: ../clutter/clutter-timeline.c:645
+#: ../clutter/clutter-timeline.c:692
 msgid "How the timeline should compute the progress"
 msgstr "Hvordan tidslinjen skal udregne fremskridtet"
 
@@ -1794,842 +2057,753 @@ msgstr "Fjern ved færdiggørelse"
 msgid "Detach the transition when completed"
 msgstr "Frigør overgangen ved færdiggørelse"
 
-#: ../clutter/clutter-zoom-action.c:356
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Zoom-akse"
 
-#: ../clutter/clutter-zoom-action.c:357
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Begrænser zoom til en akse"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:159
-msgid "sysfs Path"
-msgstr "Sti til sysfs"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:160
-msgid "Path of the device in sysfs"
-msgstr "Sti til enheden i sysfs"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:175
-msgid "Device Path"
-msgstr "Enhedssti"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:176
-msgid "Path of the device node"
-msgstr "Sti for enhedsknuden"
-
-#: ../clutter/gdk/clutter-backend-gdk.c:287
-#, c-format
-msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
-msgstr "Kunne ikke finde en passende CoglWinsys for en GdkDisplay af typen %s"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:423
-msgid "Surface"
-msgstr "Overflade"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:424
-msgid "The underlying wayland surface"
-msgstr "Den underliggende wayland-overflade"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:431
-msgid "Surface width"
-msgstr "Overfladebredde"
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
+msgid "Timeline"
+msgstr "Tidslinje"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:432
-msgid "The width of the underlying wayland surface"
-msgstr "Bredden af den underliggende wayland-overflade"
+#: ../clutter/deprecated/clutter-alpha.c:356
+msgid "Timeline used by the alpha"
+msgstr "Tidslinje brugt af alfa"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:440
-msgid "Surface height"
-msgstr "Overfladehøjde"
+#: ../clutter/deprecated/clutter-alpha.c:372
+msgid "Alpha value"
+msgstr "Alfaværdi"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:441
-msgid "The height of the underlying wayland surface"
-msgstr "Højden af den underliggende wayland-overflade"
+#: ../clutter/deprecated/clutter-alpha.c:373
+msgid "Alpha value as computed by the alpha"
+msgstr "Alfaværdi som udregnet af alfa"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Cogl-tekstur"
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
+msgid "Mode"
+msgstr "Tilstand"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr ""
-"Det underliggende Cogl-teksturhåndtag der bruges til at tegne denne aktør"
-
-#: ../clutter/x11/clutter-backend-x11.c:508
-msgid "X display to use"
-msgstr "X-visning der skal bruges"
-
-#: ../clutter/x11/clutter-backend-x11.c:514
-msgid "X screen to use"
-msgstr "X-skærm der skal bruges"
-
-#: ../clutter/x11/clutter-backend-x11.c:519
-msgid "Make X calls synchronous"
-msgstr "Gør X-kald synkrone"
-
-#: ../clutter/x11/clutter-backend-x11.c:526
-msgid "Disable XInput support"
-msgstr "Deaktivér understøttelse af XInput"
-
-#: ../clutter/x11/clutter-keymap-x11.c:322
-msgid "The Clutter backend"
-msgstr "Clutter-motoren"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
-msgid "Pixmap"
-msgstr "Pixmap"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
-msgid "The X11 Pixmap to be bound"
-msgstr "X11-Pixmappen der skal bindes"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
-msgid "Pixmap width"
-msgstr "Pixmapbredde"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
-msgid "The width of the pixmap bound to this texture"
-msgstr "Bredden af pixmappen bundet til denne tekstur"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
-msgid "Pixmap height"
-msgstr "Pixmaphøjde"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
-msgid "The height of the pixmap bound to this texture"
-msgstr "Højden af pixmappen bundet til denne tekstur"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
-msgid "Pixmap Depth"
-msgstr "Pixmapdybde"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
-msgid "The depth (in number of bits) of the pixmap bound to this texture"
-msgstr "Dybden (i antal bit) af pixmappen bundet til denne tekstur"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
-msgid "Automatic Updates"
-msgstr "Automatiske opdateringer"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
-msgid "If the texture should be kept in sync with any pixmap changes."
-msgstr "Om teksturen skal holdes synkroniseret med nogen pixmapændringer."
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
-msgid "Window"
-msgstr "Vindue"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
-msgid "The X11 Window to be bound"
-msgstr "X11-vinduet der skal bindes"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
-msgid "Window Redirect Automatic"
-msgstr "Automatisk vinduesomdirigering"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
-msgid "If composite window redirects are set to Automatic (or Manual if false)"
-msgstr ""
-"Om sammensatte vinduesomdirigeringer er sat til automatisk (eller Manuel "
-"hvis falsk)"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
-msgid "Window Mapped"
-msgstr "Vindue afbildet"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
-msgid "If window is mapped"
-msgstr "Om vindue er afbildet"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
-msgid "Destroyed"
-msgstr "Destrueret"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
-msgid "If window has been destroyed"
-msgstr "Om vinduet er blevet destrueret"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
-msgid "Window X"
-msgstr "Vindue X"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
-msgid "X position of window on screen according to X11"
-msgstr "X-position af vinduet på skærmen ifølge X11"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
-msgid "Window Y"
-msgstr "Vindue Y"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
-msgid "Y position of window on screen according to X11"
-msgstr "Y-position af vinduet på skærmen ifølge X11"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
-msgid "Window Override Redirect"
-msgstr "Vindue tilsidesætter omdirigering"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
-msgid "If this is an override-redirect window"
-msgstr "Om dette er et vindue som tilsidesætter omdirigering"
-
-#~ msgid "Depth"
-#~ msgstr "Dybde"
-
-#~ msgid "Position on the Z axis"
-#~ msgstr "Position på Z-aksen"
-
-#~ msgid "Clip"
-#~ msgstr "Klip"
-
-#~ msgid "The clip region for the actor"
-#~ msgstr "Udklipsregionen for aktøren"
-
-#~ msgid "Scale Center X"
-#~ msgstr "Skaleringscenter X"
-
-#~ msgid "Horizontal scale center"
-#~ msgstr "Horisontalt skaleringscenter"
-
-#~ msgid "Scale Center Y"
-#~ msgstr "Skaleringscenter Y"
-
-#~ msgid "Vertical scale center"
-#~ msgstr "Vertikalt skaleringscenter"
-
-#~ msgid "Scale Gravity"
-#~ msgstr "Skalér tyngdekraft"
-
-#~ msgid "The center of scaling"
-#~ msgstr "Skaleringens centrum"
-
-#~ msgid "Rotation Center X"
-#~ msgstr "Rotationscentrum X"
-
-#~ msgid "The rotation center on the X axis"
-#~ msgstr "X-aksens rotationscentrum"
-
-#~ msgid "Rotation Center Y"
-#~ msgstr "Rotationscentrum Y"
-
-#~ msgid "The rotation center on the Y axis"
-#~ msgstr "Y-aksens rotationscentrum"
-
-#~ msgid "Rotation Center Z"
-#~ msgstr "Rotationscentrum Z"
-
-#~ msgid "The rotation center on the Z axis"
-#~ msgstr "Z-aksens rotationscentrum"
-
-#~ msgid "Rotation Center Z Gravity"
-#~ msgstr "Rotationscentrum Z-tyngde"
-
-#~ msgid "Center point for rotation around the Z axis"
-#~ msgstr "Centrumpunkt for rotation omkring Z-aksen"
-
-#~ msgid "Anchor X"
-#~ msgstr "Forankring X"
-
-#~ msgid "X coordinate of the anchor point"
-#~ msgstr "X-koordinat for forankring"
-
-#~ msgid "Anchor Y"
-#~ msgstr "Forankring Y"
-
-#~ msgid "Y coordinate of the anchor point"
-#~ msgstr "Y-koordinat for forankring"
-
-#~ msgid "Anchor Gravity"
-#~ msgstr "Forankrings tyngde"
-
-#~ msgid "The anchor point as a ClutterGravity"
-#~ msgstr "Forankring som ClutterGravity"
-
-#~ msgid "Show on set parent"
-#~ msgstr "Vis på angivet ophavselement"
-
-#~ msgid "Whether the actor is shown when parented"
-#~ msgstr "Om aktøren vises når den har et ophavselement"
-
-#~ msgid "Horizontal Alignment"
-#~ msgstr "Horisontal justering"
-
-#~ msgid "Horizontal alignment for the actor inside the layout manager"
-#~ msgstr "Horisontal justering for aktøren inden i layout-manager"
-
-#~ msgid "Vertical Alignment"
-#~ msgstr "Vertikal justering"
-
-#~ msgid "Vertical alignment for the actor inside the layout manager"
-#~ msgstr "Vertikal justering for aktøren inden i layout-manager"
-
-#~ msgid ""
-#~ "Default horizontal alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "Standardværdi for vandret justering af aktører inden i layouthåndteringen"
-
-#~ msgid "Default vertical alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "Standardværdi for lodret justering af aktører inden i layouthåndteringen"
-
-#~ msgid "Expand"
-#~ msgstr "Udvid"
-
-#~ msgid "Allocate extra space for the child"
-#~ msgstr "Tildel ekstra plads til underelementet"
-
-#~ msgid "Horizontal Fill"
-#~ msgstr "Horisontal udfyldning"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the horizontal axis"
-#~ msgstr ""
-#~ "Om underelementet skal tildeles prioritet når beholderen allokerer fri "
-#~ "plads på den vandrette akse"
-
-#~ msgid "Vertical Fill"
-#~ msgstr "Vertikal udfyldning"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the vertical axis"
-#~ msgstr ""
-#~ "Om underelementet skal tildeles prioritet når beholderen tildeler fri "
-#~ "plads på den lodrette akse"
-
-#~ msgid "Horizontal alignment of the actor within the cell"
-#~ msgstr "Horisontal justering af aktøren inden i cellen"
-
-#~ msgid "Vertical alignment of the actor within the cell"
-#~ msgstr "Vertikal justering af aktøren inden i cellen"
-
-#~ msgid "Vertical"
-#~ msgstr "Vertikal"
-
-#~ msgid "Whether the layout should be vertical, rather than horizontal"
-#~ msgstr "Hvorvidt layoutet skal forblive vertikalt frem for horisontalt"
-
-#~ msgid "Use Animations"
-#~ msgstr "Brug animationer"
-
-#~ msgid "Whether layout changes should be animated"
-#~ msgstr "Hvorvidt layout-ændringer skal animeres"
-
-# http://docs.clutter-project.org/docs/clutter-cookbook/1.0/animations.html
-#~ msgid "Easing Mode"
-#~ msgstr "Blødgørelsestilstand"
+#: ../clutter/deprecated/clutter-alpha.c:395
+msgid "Progress mode"
+msgstr "Fremskridtstilstand"
 
-#~ msgid "The easing mode of the animations"
-#~ msgstr "Blødgørelsestilstanden (easing mode) for animationerne"
+#: ../clutter/deprecated/clutter-animation.c:511
+msgid "Object"
+msgstr "Objekt"
 
-#~ msgid "Easing Duration"
-#~ msgstr "Varighed for blødgørelse"
+#: ../clutter/deprecated/clutter-animation.c:512
+msgid "Object to which the animation applies"
+msgstr "Objekt for hvilket animationen gælder"
 
-#~ msgid "The duration of the animations"
-#~ msgstr "Animationernes varighed"
+#: ../clutter/deprecated/clutter-animation.c:529
+msgid "The mode of the animation"
+msgstr "Animationens tilstand"
 
-#~ msgid "Scale Factor Set"
-#~ msgstr "Skaleringsfaktor sat"
+#: ../clutter/deprecated/clutter-animation.c:545
+msgid "Duration of the animation, in milliseconds"
+msgstr "Animationens varighed i millisekunder"
 
-#~ msgid "Whether the scale-factor property is set"
-#~ msgstr "Om egenskaben skaleringsfaktor (scale-factor) er sat"
+#: ../clutter/deprecated/clutter-animation.c:561
+msgid "Whether the animation should loop"
+msgstr "Hvorvidt animationen skal gentages"
 
-#~ msgid "Scale Factor"
-#~ msgstr "Skaleringsfaktor"
+#: ../clutter/deprecated/clutter-animation.c:576
+msgid "The timeline used by the animation"
+msgstr "Den tidslinje animationen benytter"
 
-#~ msgid "The scaling factor for the surface"
-#~ msgstr "Skaleringsfaktoren for overfladen"
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
+msgid "Alpha"
+msgstr "Alfa"
 
-#~ msgid "Threshold Trigger Edge"
-#~ msgstr "Kantudløsertærskel"
+#: ../clutter/deprecated/clutter-animation.c:593
+msgid "The alpha used by the animation"
+msgstr "Alfa brugt af animation"
 
-#~ msgid "The trigger edge used by the action"
-#~ msgstr "Udløsningskanten, som handlingen bruger"
+#: ../clutter/deprecated/clutter-animator.c:1805
+msgid "The duration of the animation"
+msgstr "Animationens varighed"
 
-#~ msgid "Threshold Trigger Horizontal Distance"
-#~ msgstr "Vandret afstand for udløsertærskel"
+#: ../clutter/deprecated/clutter-animator.c:1822
+msgid "The timeline of the animation"
+msgstr "Animationens tidslinje"
 
-#~ msgid "The horizontal trigger distance used by the action"
-#~ msgstr "Den vandrette udløsertærksel, som handlingen bruger"
+#: ../clutter/deprecated/clutter-behaviour.c:242
+msgid "Alpha Object to drive the behaviour"
+msgstr "Alfa-objekt som styrer opførslen"
 
-#~ msgid "Threshold Trigger Vertical Distance"
-#~ msgstr "Lodret afstand for udløsertærskel"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
+msgid "Start Depth"
+msgstr "Startdybde"
 
-#~ msgid "The vertical trigger distance used by the action"
-#~ msgstr "Den lodrette udløsertærksel, som handlingen bruger"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
+msgid "Initial depth to apply"
+msgstr "Indledende anvendt dybde"
 
-#~ msgid "Window Scaling Factor"
-#~ msgstr "Vinduesskaleringsfaktor"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
+msgid "End Depth"
+msgstr "Afsluttende dybde"
 
-#~ msgid "The scaling factor to be applied to windows"
-#~ msgstr "Skaleringsfaktoren, som skal anvendes på vinduer"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
+msgid "Final depth to apply"
+msgstr "Afsluttende anvendt dybde"
 
-#~ msgid "Offscreen"
-#~ msgstr "Uden for skærmen"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
+msgid "Start Angle"
+msgstr "Startvinkel"
 
-#~ msgid "Whether the main stage should be rendered offscreen"
-#~ msgstr "Om hovedscenen skal optegnes uden for skærmen"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
+msgid "Initial angle"
+msgstr "Indledende vinkel"
 
-#~ msgid "Color"
-#~ msgstr "Farve"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
+msgid "End Angle"
+msgstr "Afsluttende vinkel"
 
-#~ msgid "The color of the stage"
-#~ msgstr "Farven på scenen"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
+msgid "Final angle"
+msgstr "Slutvinkel"
 
-#~ msgid "Use Fog"
-#~ msgstr "Brug tåge"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
+msgid "Angle x tilt"
+msgstr "x-drejningsvinkel"
 
-#~ msgid "Whether to enable depth cueing"
-#~ msgstr "Om der skal bruges dybdeperspektiv"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
+msgid "Tilt of the ellipse around x axis"
+msgstr "Drejningsvinkel for ellipsen omkring x-aksen"
 
-#~ msgid "Fog"
-#~ msgstr "Tåge"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
+msgid "Angle y tilt"
+msgstr "y-drejningsvinkel"
 
-#~ msgid "Settings for the depth cueing"
-#~ msgstr "Indstillinger for dybdeperspektiv"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
+msgid "Tilt of the ellipse around y axis"
+msgstr "Drejningsvinkel for ellipsen omkring y-aksen"
 
-#~ msgid "Loop"
-#~ msgstr "Gentagelse"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
+msgid "Angle z tilt"
+msgstr "z-drejningsvinkel"
 
-# afviger fra originalstreng med vilje
-#~ msgid "Should the timeline automatically restart"
-#~ msgstr "Om tidslinjen automatisk genstartes"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
+msgid "Tilt of the ellipse around z axis"
+msgstr "Drejningsvinkel for ellipsen omkring z-aksen"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
+msgid "Width of the ellipse"
+msgstr "Ellipsens bredde"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
+msgid "Height of ellipse"
+msgstr "Ellipsens højde"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
+msgid "Center"
+msgstr "Centrum"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
+msgid "Center of ellipse"
+msgstr "Ellipsens centrum"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
+msgid "Direction of rotation"
+msgstr "Rotationsretning"
 
-#~ msgid "Timeline"
-#~ msgstr "Tidslinje"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
+msgid "Opacity Start"
+msgstr "Startpunkt for uigennemsigtighed"
 
-#~ msgid "Timeline used by the alpha"
-#~ msgstr "Tidslinje brugt af alfa"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
+msgid "Initial opacity level"
+msgstr "Indledende uigennemsigtighedsniveau"
 
-#~ msgid "Alpha value"
-#~ msgstr "Alfaværdi"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
+msgid "Opacity End"
+msgstr "Slutpunkt for uigennemsigtighed"
 
-#~ msgid "Alpha value as computed by the alpha"
-#~ msgstr "Alfaværdi som udregnet af alfa"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
+msgid "Final opacity level"
+msgstr "Afsluttende uigennemsigtighedsniveau"
 
-#~ msgid "Mode"
-#~ msgstr "Tilstand"
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
+msgid "The ClutterPath object representing the path to animate along"
+msgstr ""
+"ClutterPath-objektet der repræsenterer stien, langs hvilken der animeres"
 
-#~ msgid "Progress mode"
-#~ msgstr "Fremskridtstilstand"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
+msgid "Angle Begin"
+msgstr "Vinkels begyndelse"
 
-#~ msgid "Object"
-#~ msgstr "Objekt"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
+msgid "Angle End"
+msgstr "Vinkels slutning"
 
-#~ msgid "Object to which the animation applies"
-#~ msgstr "Objekt for hvilket animationen gælder"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
+msgid "Axis"
+msgstr "Akse"
 
-#~ msgid "The mode of the animation"
-#~ msgstr "Animationens tilstand"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
+msgid "Axis of rotation"
+msgstr "Akses rotation"
 
-#~ msgid "Duration of the animation, in milliseconds"
-#~ msgstr "Animationens varighed i millisekunder"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
+msgid "Center X"
+msgstr "Centrum X"
 
-#~ msgid "Whether the animation should loop"
-#~ msgstr "Hvorvidt animationen skal gentages"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
+msgid "X coordinate of the center of rotation"
+msgstr "Rotationscentrums X-koordinat"
 
-#~ msgid "The timeline used by the animation"
-#~ msgstr "Den tidslinje animationen benytter"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
+msgid "Center Y"
+msgstr "Centrum Y"
 
-#~ msgid "Alpha"
-#~ msgstr "Alfa"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
+msgid "Y coordinate of the center of rotation"
+msgstr "Rotationscentrums Y-koordinat"
 
-#~ msgid "The alpha used by the animation"
-#~ msgstr "Alfa brugt af animation"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
+msgid "Center Z"
+msgstr "Center Z"
 
-#~ msgid "The duration of the animation"
-#~ msgstr "Animationens varighed"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
+msgid "Z coordinate of the center of rotation"
+msgstr "Rotationscentrums Z-koordinat"
 
-#~ msgid "The timeline of the animation"
-#~ msgstr "Animationens tidslinje"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
+msgid "X Start Scale"
+msgstr "X-startskala"
 
-#~ msgid "Alpha Object to drive the behaviour"
-#~ msgstr "Alfa-objekt som styrer opførslen"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
+msgid "Initial scale on the X axis"
+msgstr "Indledende skala på X-aksen"
 
-#~ msgid "Start Depth"
-#~ msgstr "Startdybde"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
+msgid "X End Scale"
+msgstr "X-slutskala"
 
-#~ msgid "Initial depth to apply"
-#~ msgstr "Indledende anvendt dybde"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
+msgid "Final scale on the X axis"
+msgstr "Afsluttende skala på X-aksen"
 
-#~ msgid "End Depth"
-#~ msgstr "Afsluttende dybde"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
+msgid "Y Start Scale"
+msgstr "Y-startskala"
 
-#~ msgid "Final depth to apply"
-#~ msgstr "Afsluttende anvendt dybde"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
+msgid "Initial scale on the Y axis"
+msgstr "Indledende skala på Y-aksen"
 
-#~ msgid "Start Angle"
-#~ msgstr "Startvinkel"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
+msgid "Y End Scale"
+msgstr "Y-slutskala"
 
-#~ msgid "Initial angle"
-#~ msgstr "Indledende vinkel"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
+msgid "Final scale on the Y axis"
+msgstr "Afsluttende skala på Y-aksen"
 
-#~ msgid "End Angle"
-#~ msgstr "Afsluttende vinkel"
+#: ../clutter/deprecated/clutter-box.c:261
+msgid "The background color of the box"
+msgstr "Baggrundsfarve på boksen"
 
-#~ msgid "Final angle"
-#~ msgstr "Slutvinkel"
+#: ../clutter/deprecated/clutter-box.c:274
+msgid "Color Set"
+msgstr "Farve angivet"
 
-#~ msgid "Angle x tilt"
-#~ msgstr "x-drejningsvinkel"
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
+msgid "Surface Width"
+msgstr "Overfladebredde"
 
-#~ msgid "Tilt of the ellipse around x axis"
-#~ msgstr "Drejningsvinkel for ellipsen omkring x-aksen"
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
+msgid "The width of the Cairo surface"
+msgstr "Cairo-overfladens bredde"
 
-#~ msgid "Angle y tilt"
-#~ msgstr "y-drejningsvinkel"
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
+msgid "Surface Height"
+msgstr "Overfladehøjde"
 
-#~ msgid "Tilt of the ellipse around y axis"
-#~ msgstr "Drejningsvinkel for ellipsen omkring y-aksen"
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
+msgid "The height of the Cairo surface"
+msgstr "Cairo-overfladens højde"
 
-#~ msgid "Angle z tilt"
-#~ msgstr "z-drejningsvinkel"
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
+msgid "Auto Resize"
+msgstr "Automatisk størrelse"
 
-#~ msgid "Tilt of the ellipse around z axis"
-#~ msgstr "Drejningsvinkel for ellipsen omkring z-aksen"
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
+msgid "Whether the surface should match the allocation"
+msgstr "Om overfladen skal tilpasses pladstildelingen"
 
-#~ msgid "Width of the ellipse"
-#~ msgstr "Ellipsens bredde"
+#: ../clutter/deprecated/clutter-media.c:83
+msgid "URI"
+msgstr "URI"
 
-#~ msgid "Height of ellipse"
-#~ msgstr "Ellipsens højde"
+#: ../clutter/deprecated/clutter-media.c:84
+msgid "URI of a media file"
+msgstr "En mediefils URI"
 
-#~ msgid "Center"
-#~ msgstr "Centrum"
+#: ../clutter/deprecated/clutter-media.c:100
+msgid "Playing"
+msgstr "Spiller"
 
-#~ msgid "Center of ellipse"
-#~ msgstr "Ellipsens centrum"
+#: ../clutter/deprecated/clutter-media.c:101
+msgid "Whether the actor is playing"
+msgstr "Om aktøren afspiller"
 
-#~ msgid "Direction of rotation"
-#~ msgstr "Rotationsretning"
+#: ../clutter/deprecated/clutter-media.c:118
+msgid "Progress"
+msgstr "Status"
 
-#~ msgid "Opacity Start"
-#~ msgstr "Startpunkt for uigennemsigtighed"
+#: ../clutter/deprecated/clutter-media.c:119
+msgid "Current progress of the playback"
+msgstr "Afspilningens nuværende position"
 
-#~ msgid "Initial opacity level"
-#~ msgstr "Indledende uigennemsigtighedsniveau"
+#: ../clutter/deprecated/clutter-media.c:135
+msgid "Subtitle URI"
+msgstr "Undertekst-URI"
 
-#~ msgid "Opacity End"
-#~ msgstr "Slutpunkt for uigennemsigtighed"
+#: ../clutter/deprecated/clutter-media.c:136
+msgid "URI of a subtitle file"
+msgstr "URI for en undertekstfil"
 
-#~ msgid "Final opacity level"
-#~ msgstr "Afsluttende uigennemsigtighedsniveau"
+#: ../clutter/deprecated/clutter-media.c:154
+msgid "Subtitle Font Name"
+msgstr "Navn på skrifttype til undertekster"
 
-#~ msgid "The ClutterPath object representing the path to animate along"
-#~ msgstr ""
-#~ "ClutterPath-objektet der repræsenterer stien, langs hvilken der animeres"
+#: ../clutter/deprecated/clutter-media.c:155
+msgid "The font used to display subtitles"
+msgstr "Skrifttypen der bruges til at vise undertekster"
 
-#~ msgid "Angle Begin"
-#~ msgstr "Vinkels begyndelse"
+#: ../clutter/deprecated/clutter-media.c:172
+msgid "Audio Volume"
+msgstr "Lydstyrke"
 
-#~ msgid "Angle End"
-#~ msgstr "Vinkels slutning"
+#: ../clutter/deprecated/clutter-media.c:173
+msgid "The volume of the audio"
+msgstr "Lydstyrken"
 
-#~ msgid "Axis"
-#~ msgstr "Akse"
+#: ../clutter/deprecated/clutter-media.c:189
+msgid "Can Seek"
+msgstr "Kan søge"
 
-#~ msgid "Axis of rotation"
-#~ msgstr "Akses rotation"
+#: ../clutter/deprecated/clutter-media.c:190
+msgid "Whether the current stream is seekable"
+msgstr "Om der kan søges i den nuværende strøm"
 
-#~ msgid "Center X"
-#~ msgstr "Centrum X"
+#: ../clutter/deprecated/clutter-media.c:207
+msgid "Buffer Fill"
+msgstr "Buffer-udfyldning"
 
-#~ msgid "X coordinate of the center of rotation"
-#~ msgstr "Rotationscentrums X-koordinat"
+#: ../clutter/deprecated/clutter-media.c:208
+msgid "The fill level of the buffer"
+msgstr "Udfyldningsniveauet for bufferen"
 
-#~ msgid "Center Y"
-#~ msgstr "Centrum Y"
+#: ../clutter/deprecated/clutter-media.c:225
+msgid "The duration of the stream, in seconds"
+msgstr "Varigheden af strømmen i sekunder"
 
-#~ msgid "Y coordinate of the center of rotation"
-#~ msgstr "Rotationscentrums Y-koordinat"
+#: ../clutter/deprecated/clutter-rectangle.c:274
+msgid "The color of the rectangle"
+msgstr "Rektanglets farve"
 
-#~ msgid "Center Z"
-#~ msgstr "Center Z"
+#: ../clutter/deprecated/clutter-rectangle.c:287
+msgid "Border Color"
+msgstr "Kantfarve"
 
-#~ msgid "Z coordinate of the center of rotation"
-#~ msgstr "Rotationscentrums Z-koordinat"
+#: ../clutter/deprecated/clutter-rectangle.c:288
+msgid "The color of the border of the rectangle"
+msgstr "Farven på rektanglets kant"
 
-#~ msgid "X Start Scale"
-#~ msgstr "X-startskala"
+#: ../clutter/deprecated/clutter-rectangle.c:303
+msgid "Border Width"
+msgstr "Kantbredde"
 
-#~ msgid "Initial scale on the X axis"
-#~ msgstr "Indledende skala på X-aksen"
+#: ../clutter/deprecated/clutter-rectangle.c:304
+msgid "The width of the border of the rectangle"
+msgstr "Bredden af rektanglets kant"
 
-#~ msgid "X End Scale"
-#~ msgstr "X-slutskala"
+#: ../clutter/deprecated/clutter-rectangle.c:318
+msgid "Has Border"
+msgstr "Har kant"
 
-#~ msgid "Final scale on the X axis"
-#~ msgstr "Afsluttende skala på X-aksen"
+#: ../clutter/deprecated/clutter-rectangle.c:319
+msgid "Whether the rectangle should have a border"
+msgstr "Om rektanglet skal have en kant"
 
-#~ msgid "Y Start Scale"
-#~ msgstr "Y-startskala"
+# ?
+#: ../clutter/deprecated/clutter-shader.c:261
+msgid "Vertex Source"
+msgstr "Vertex-kilde"
 
-#~ msgid "Initial scale on the Y axis"
-#~ msgstr "Indledende skala på Y-aksen"
+# ?
+#: ../clutter/deprecated/clutter-shader.c:262
+msgid "Source of vertex shader"
+msgstr "Kilde for vertex-skyggelægger"
 
-#~ msgid "Y End Scale"
-#~ msgstr "Y-slutskala"
+#: ../clutter/deprecated/clutter-shader.c:278
+msgid "Fragment Source"
+msgstr "Fragmentkilde"
 
-#~ msgid "Final scale on the Y axis"
-#~ msgstr "Afsluttende skala på Y-aksen"
+# ?
+#: ../clutter/deprecated/clutter-shader.c:279
+msgid "Source of fragment shader"
+msgstr "Kilde for fragment-skyggelægger"
 
-#~ msgid "The background color of the box"
-#~ msgstr "Baggrundsfarve på boksen"
+#: ../clutter/deprecated/clutter-shader.c:296
+msgid "Compiled"
+msgstr "Kompileret"
 
-#~ msgid "Color Set"
-#~ msgstr "Farve angivet"
+# ?
+#: ../clutter/deprecated/clutter-shader.c:297
+msgid "Whether the shader is compiled and linked"
+msgstr "Om skyggelæggeren er kompileret og lænket"
 
-#~ msgid "Surface Width"
-#~ msgstr "Overfladebredde"
+# ?
+#: ../clutter/deprecated/clutter-shader.c:314
+msgid "Whether the shader is enabled"
+msgstr "Om skyggelæggeren er aktiveret"
 
-#~ msgid "The width of the Cairo surface"
-#~ msgstr "Cairo-overfladens bredde"
+#: ../clutter/deprecated/clutter-shader.c:525
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "%s-kompilering fejlet: %s"
 
-#~ msgid "Surface Height"
-#~ msgstr "Overfladehøjde"
+#: ../clutter/deprecated/clutter-shader.c:526
+msgid "Vertex shader"
+msgstr "Vertex-skyggelægger"
 
-#~ msgid "The height of the Cairo surface"
-#~ msgstr "Cairo-overfladens højde"
+#: ../clutter/deprecated/clutter-shader.c:527
+msgid "Fragment shader"
+msgstr "Fragment-skyggelægger"
 
-#~ msgid "Auto Resize"
-#~ msgstr "Automatisk størrelse"
+#: ../clutter/deprecated/clutter-state.c:1505
+msgid "State"
+msgstr "Tilstand"
 
-#~ msgid "Whether the surface should match the allocation"
-#~ msgstr "Om overfladen skal tilpasses pladstildelingen"
+#: ../clutter/deprecated/clutter-state.c:1506
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
+"Nuværende tilstand (overgangen til denne tilstand er måske ikke fuldendt)"
 
-#~ msgid "URI"
-#~ msgstr "URI"
+#: ../clutter/deprecated/clutter-state.c:1524
+msgid "Default transition duration"
+msgstr "Standardvarighed af overgang"
 
-#~ msgid "URI of a media file"
-#~ msgstr "En mediefils URI"
+#: ../clutter/deprecated/clutter-texture.c:994
+msgid "Sync size of actor"
+msgstr "Synkronisér aktørstørrelse"
 
-#~ msgid "Playing"
-#~ msgstr "Spiller"
+#: ../clutter/deprecated/clutter-texture.c:995
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
+"Synkronisér størrelsen af aktøren automatisk med størrelsen af den "
+"underliggende pixbuf"
 
-#~ msgid "Whether the actor is playing"
-#~ msgstr "Om aktøren afspiller"
+#: ../clutter/deprecated/clutter-texture.c:1002
+msgid "Disable Slicing"
+msgstr "Deaktivér skæring"
 
-#~ msgid "Progress"
-#~ msgstr "Status"
+#: ../clutter/deprecated/clutter-texture.c:1003
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
+"Tvinger den underliggende tekstur til at være uopdelt, frem for at være "
+"sammensat af flere mindre teksturer for at spare plads"
 
-#~ msgid "Current progress of the playback"
-#~ msgstr "Afspilningens nuværende position"
+#: ../clutter/deprecated/clutter-texture.c:1012
+msgid "Tile Waste"
+msgstr "Spild ved fliselægning"
 
-#~ msgid "Subtitle URI"
-#~ msgstr "Undertekst-URI"
+#: ../clutter/deprecated/clutter-texture.c:1013
+msgid "Maximum waste area of a sliced texture"
+msgstr "Maksimalt spildområde af en skåret tekstur"
 
-#~ msgid "URI of a subtitle file"
-#~ msgstr "URI for en undertekstfil"
+#: ../clutter/deprecated/clutter-texture.c:1021
+msgid "Horizontal repeat"
+msgstr "Gentag vandret"
 
-#~ msgid "Subtitle Font Name"
-#~ msgstr "Navn på skrifttype til undertekster"
+#: ../clutter/deprecated/clutter-texture.c:1022
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr "Gentag indholdet frem for at skalere det vandret"
 
-#~ msgid "The font used to display subtitles"
-#~ msgstr "Skrifttypen der bruges til at vise undertekster"
+#: ../clutter/deprecated/clutter-texture.c:1029
+msgid "Vertical repeat"
+msgstr "Gentag lodret"
 
-#~ msgid "Audio Volume"
-#~ msgstr "Lydstyrke"
+#: ../clutter/deprecated/clutter-texture.c:1030
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr "Gentag indholdet frem for at skalere det lodret"
 
-#~ msgid "The volume of the audio"
-#~ msgstr "Lydstyrken"
+#: ../clutter/deprecated/clutter-texture.c:1037
+msgid "Filter Quality"
+msgstr "Filterkvalitet"
 
-#~ msgid "Can Seek"
-#~ msgstr "Kan søge"
+#: ../clutter/deprecated/clutter-texture.c:1038
+msgid "Rendering quality used when drawing the texture"
+msgstr "Kvalitet til tegning af teksturen"
 
-#~ msgid "Whether the current stream is seekable"
-#~ msgstr "Om der kan søges i den nuværende strøm"
+#: ../clutter/deprecated/clutter-texture.c:1046
+msgid "Pixel Format"
+msgstr "Pixelformat"
 
-#~ msgid "Buffer Fill"
-#~ msgstr "Buffer-udfyldning"
+#: ../clutter/deprecated/clutter-texture.c:1047
+msgid "The Cogl pixel format to use"
+msgstr "Cogl-pixelformatet der skal bruges"
 
-#~ msgid "The fill level of the buffer"
-#~ msgstr "Udfyldningsniveauet for bufferen"
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
+msgid "Cogl Texture"
+msgstr "Cogl-tekstur"
 
-#~ msgid "The duration of the stream, in seconds"
-#~ msgstr "Varigheden af strømmen i sekunder"
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr ""
+"Det underliggende Cogl-teksturhåndtag der bruges til at tegne denne aktør"
 
-#~ msgid "The color of the rectangle"
-#~ msgstr "Rektanglets farve"
+#: ../clutter/deprecated/clutter-texture.c:1063
+msgid "Cogl Material"
+msgstr "Cogl-materiale"
 
-#~ msgid "Border Color"
-#~ msgstr "Kantfarve"
+#: ../clutter/deprecated/clutter-texture.c:1064
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr ""
+"Det underliggende Cogl-materialehåndtag der bruges til at tegne denne aktør"
 
-#~ msgid "The color of the border of the rectangle"
-#~ msgstr "Farven på rektanglets kant"
+#: ../clutter/deprecated/clutter-texture.c:1083
+msgid "The path of the file containing the image data"
+msgstr "Stien til filen der indeholder billeddataene"
 
-#~ msgid "Border Width"
-#~ msgstr "Kantbredde"
+#: ../clutter/deprecated/clutter-texture.c:1090
+msgid "Keep Aspect Ratio"
+msgstr "Bevar højde-/breddeforhold"
 
-#~ msgid "The width of the border of the rectangle"
-#~ msgstr "Bredden af rektanglets kant"
+#: ../clutter/deprecated/clutter-texture.c:1091
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
+"Behold forholdet mellem højde og bredde af teksturen ved forespørgsel om "
+"foretrukken bredde eller højde"
 
-#~ msgid "Has Border"
-#~ msgstr "Har kant"
+#: ../clutter/deprecated/clutter-texture.c:1119
+msgid "Load asynchronously"
+msgstr "Indlæs asynkront"
 
-#~ msgid "Whether the rectangle should have a border"
-#~ msgstr "Om rektanglet skal have en kant"
+#: ../clutter/deprecated/clutter-texture.c:1120
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr "Indlæs filer inden i en tråd for at undgå blokering"
 
-# ?
-#~ msgid "Vertex Source"
-#~ msgstr "Vertex-kilde"
+#: ../clutter/deprecated/clutter-texture.c:1138
+msgid "Load data asynchronously"
+msgstr "Indlæs data asynkront"
 
-# ?
-#~ msgid "Source of vertex shader"
-#~ msgstr "Kilde for vertex-skyggelægger"
+#: ../clutter/deprecated/clutter-texture.c:1139
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
+msgstr ""
+"Afkod billeddatafiler inden i en tråd for at reducere blokering ved "
+"indlæsning fra disken"
 
-#~ msgid "Fragment Source"
-#~ msgstr "Fragmentkilde"
+# ? tror picking er noget med at den bestemmer formen af en aktør
+#: ../clutter/deprecated/clutter-texture.c:1165
+msgid "Pick With Alpha"
+msgstr "Udvælg ved hjælp af alfa"
+
+#: ../clutter/deprecated/clutter-texture.c:1166
+msgid "Shape actor with alpha channel when picking"
+msgstr "Giv form til aktør ved hjælp af alfakanal når der udvælges"
+
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
+#, c-format
+msgid "Failed to load the image data"
+msgstr "Kunne ikke indlæse billeddata"
 
-# ?
-#~ msgid "Source of fragment shader"
-#~ msgstr "Kilde for fragment-skyggelægger"
+#: ../clutter/deprecated/clutter-texture.c:1758
+#, c-format
+msgid "YUV textures are not supported"
+msgstr "YUV-teksturer understøttes ikke"
 
-#~ msgid "Compiled"
-#~ msgstr "Kompileret"
+#: ../clutter/deprecated/clutter-texture.c:1767
+#, c-format
+msgid "YUV2 textues are not supported"
+msgstr "YUV2-teksturer understøttes ikke"
 
-# ?
-#~ msgid "Whether the shader is compiled and linked"
-#~ msgstr "Om skyggelæggeren er kompileret og lænket"
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "Sti til sysfs"
 
-# ?
-#~ msgid "Whether the shader is enabled"
-#~ msgstr "Om skyggelæggeren er aktiveret"
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "Sti til enheden i sysfs"
 
-#~ msgid "%s compilation failed: %s"
-#~ msgstr "%s-kompilering fejlet: %s"
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Enhedssti"
 
-#~ msgid "Vertex shader"
-#~ msgstr "Vertex-skyggelægger"
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Sti for enhedsknuden"
 
-#~ msgid "Fragment shader"
-#~ msgstr "Fragment-skyggelægger"
+#: ../clutter/gdk/clutter-backend-gdk.c:287
+#, c-format
+msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
+msgstr "Kunne ikke finde en passende CoglWinsys for en GdkDisplay af typen %s"
 
-#~ msgid "State"
-#~ msgstr "Tilstand"
+#: ../clutter/wayland/clutter-wayland-surface.c:423
+msgid "Surface"
+msgstr "Overflade"
 
-#~ msgid ""
-#~ "Currently set state, (transition to this state might not be complete)"
-#~ msgstr ""
-#~ "Nuværende tilstand (overgangen til denne tilstand er måske ikke fuldendt)"
+#: ../clutter/wayland/clutter-wayland-surface.c:424
+msgid "The underlying wayland surface"
+msgstr "Den underliggende wayland-overflade"
 
-#~ msgid "Default transition duration"
-#~ msgstr "Standardvarighed af overgang"
+#: ../clutter/wayland/clutter-wayland-surface.c:431
+msgid "Surface width"
+msgstr "Overfladebredde"
 
-#~ msgid "Horizontal Expand"
-#~ msgstr "Udvid vandret"
+#: ../clutter/wayland/clutter-wayland-surface.c:432
+msgid "The width of the underlying wayland surface"
+msgstr "Bredden af den underliggende wayland-overflade"
 
-#~ msgid "Allocate extra space for the child in horizontal axis"
-#~ msgstr "Tildel ekstra plads til underelementet langs vandret akse"
+#: ../clutter/wayland/clutter-wayland-surface.c:440
+msgid "Surface height"
+msgstr "Overfladehøjde"
 
-#~ msgid "Vertical Expand"
-#~ msgstr "Udvid lodret"
+#: ../clutter/wayland/clutter-wayland-surface.c:441
+msgid "The height of the underlying wayland surface"
+msgstr "Højden af den underliggende wayland-overflade"
 
-#~ msgid "Allocate extra space for the child in vertical axis"
-#~ msgstr "Tildel ekstra plads til underelementet langs lodret akse"
+#: ../clutter/x11/clutter-backend-x11.c:507
+msgid "X display to use"
+msgstr "X-visning der skal bruges"
 
-#~ msgid "Sync size of actor"
-#~ msgstr "Synkronisér aktørstørrelse"
+#: ../clutter/x11/clutter-backend-x11.c:513
+msgid "X screen to use"
+msgstr "X-skærm der skal bruges"
 
-#~ msgid "Auto sync size of actor to underlying pixbuf dimensions"
-#~ msgstr ""
-#~ "Synkronisér størrelsen af aktøren automatisk med størrelsen af den "
-#~ "underliggende pixbuf"
+#: ../clutter/x11/clutter-backend-x11.c:518
+msgid "Make X calls synchronous"
+msgstr "Gør X-kald synkrone"
 
-#~ msgid "Disable Slicing"
-#~ msgstr "Deaktivér skæring"
+#: ../clutter/x11/clutter-backend-x11.c:525
+msgid "Disable XInput support"
+msgstr "Deaktivér understøttelse af XInput"
 
-#~ msgid ""
-#~ "Forces the underlying texture to be singular and not made of smaller "
-#~ "space saving individual textures"
-#~ msgstr ""
-#~ "Tvinger den underliggende tekstur til at være uopdelt, frem for at være "
-#~ "sammensat af flere mindre teksturer for at spare plads"
+#: ../clutter/x11/clutter-keymap-x11.c:322
+msgid "The Clutter backend"
+msgstr "Clutter-motoren"
 
-#~ msgid "Tile Waste"
-#~ msgstr "Spild ved fliselægning"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
+msgid "Pixmap"
+msgstr "Pixmap"
 
-#~ msgid "Maximum waste area of a sliced texture"
-#~ msgstr "Maksimalt spildområde af en skåret tekstur"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
+msgid "The X11 Pixmap to be bound"
+msgstr "X11-Pixmappen der skal bindes"
 
-#~ msgid "Horizontal repeat"
-#~ msgstr "Gentag vandret"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
+msgid "Pixmap width"
+msgstr "Pixmapbredde"
 
-#~ msgid "Repeat the contents rather than scaling them horizontally"
-#~ msgstr "Gentag indholdet frem for at skalere det vandret"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
+msgid "The width of the pixmap bound to this texture"
+msgstr "Bredden af pixmappen bundet til denne tekstur"
 
-#~ msgid "Vertical repeat"
-#~ msgstr "Gentag lodret"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
+msgid "Pixmap height"
+msgstr "Pixmaphøjde"
 
-#~ msgid "Repeat the contents rather than scaling them vertically"
-#~ msgstr "Gentag indholdet frem for at skalere det lodret"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
+msgid "The height of the pixmap bound to this texture"
+msgstr "Højden af pixmappen bundet til denne tekstur"
 
-#~ msgid "Filter Quality"
-#~ msgstr "Filterkvalitet"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
+msgid "Pixmap Depth"
+msgstr "Pixmapdybde"
 
-#~ msgid "Rendering quality used when drawing the texture"
-#~ msgstr "Kvalitet til tegning af teksturen"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
+msgid "The depth (in number of bits) of the pixmap bound to this texture"
+msgstr "Dybden (i antal bit) af pixmappen bundet til denne tekstur"
 
-#~ msgid "Pixel Format"
-#~ msgstr "Pixelformat"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
+msgid "Automatic Updates"
+msgstr "Automatiske opdateringer"
 
-#~ msgid "The Cogl pixel format to use"
-#~ msgstr "Cogl-pixelformatet der skal bruges"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
+msgid "If the texture should be kept in sync with any pixmap changes."
+msgstr "Om teksturen skal holdes synkroniseret med nogen pixmapændringer."
 
-#~ msgid "Cogl Material"
-#~ msgstr "Cogl-materiale"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
+msgid "Window"
+msgstr "Vindue"
 
-#~ msgid "The underlying Cogl material handle used to draw this actor"
-#~ msgstr ""
-#~ "Det underliggende Cogl-materialehåndtag der bruges til at tegne denne "
-#~ "aktør"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
+msgid "The X11 Window to be bound"
+msgstr "X11-vinduet der skal bindes"
 
-#~ msgid "The path of the file containing the image data"
-#~ msgstr "Stien til filen der indeholder billeddataene"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
+msgid "Window Redirect Automatic"
+msgstr "Automatisk vinduesomdirigering"
 
-#~ msgid "Keep Aspect Ratio"
-#~ msgstr "Bevar højde-/breddeforhold"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
+msgid "If composite window redirects are set to Automatic (or Manual if false)"
+msgstr ""
+"Om sammensatte vinduesomdirigeringer er sat til automatisk (eller Manuel "
+"hvis falsk)"
 
-#~ msgid ""
-#~ "Keep the aspect ratio of the texture when requesting the preferred width "
-#~ "or height"
-#~ msgstr ""
-#~ "Behold forholdet mellem højde og bredde af teksturen ved forespørgsel om "
-#~ "foretrukken bredde eller højde"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
+msgid "Window Mapped"
+msgstr "Vindue afbildet"
 
-#~ msgid "Load asynchronously"
-#~ msgstr "Indlæs asynkront"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
+msgid "If window is mapped"
+msgstr "Om vindue er afbildet"
 
-#~ msgid ""
-#~ "Load files inside a thread to avoid blocking when loading images from disk"
-#~ msgstr "Indlæs filer inden i en tråd for at undgå blokering"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
+msgid "Destroyed"
+msgstr "Destrueret"
 
-#~ msgid "Load data asynchronously"
-#~ msgstr "Indlæs data asynkront"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
+msgid "If window has been destroyed"
+msgstr "Om vinduet er blevet destrueret"
 
-#~ msgid ""
-#~ "Decode image data files inside a thread to reduce blocking when loading "
-#~ "images from disk"
-#~ msgstr ""
-#~ "Afkod billeddatafiler inden i en tråd for at reducere blokering ved "
-#~ "indlæsning fra disken"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
+msgid "Window X"
+msgstr "Vindue X"
 
-# ? tror picking er noget med at den bestemmer formen af en aktør
-#~ msgid "Pick With Alpha"
-#~ msgstr "Udvælg ved hjælp af alfa"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
+msgid "X position of window on screen according to X11"
+msgstr "X-position af vinduet på skærmen ifølge X11"
 
-#~ msgid "Shape actor with alpha channel when picking"
-#~ msgstr "Giv form til aktør ved hjælp af alfakanal når der udvælges"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
+msgid "Window Y"
+msgstr "Vindue Y"
 
-#~ msgid "Failed to load the image data"
-#~ msgstr "Kunne ikke indlæse billeddata"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
+msgid "Y position of window on screen according to X11"
+msgstr "Y-position af vinduet på skærmen ifølge X11"
 
-#~ msgid "YUV textures are not supported"
-#~ msgstr "YUV-teksturer understøttes ikke"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
+msgid "Window Override Redirect"
+msgstr "Vindue tilsidesætter omdirigering"
 
-#~ msgid "YUV2 textues are not supported"
-#~ msgstr "YUV2-teksturer understøttes ikke"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
+msgid "If this is an override-redirect window"
+msgstr "Om dette er et vindue som tilsidesætter omdirigering"
 
 #~ msgid "The layout manager used by the box"
 #~ msgstr "Layouthåndteringen der bruges af boksen"
diff --git a/po/de.po b/po/de.po
index b4cb044..96c24c5 100644
--- a/po/de.po
+++ b/po/de.po
@@ -12,707 +12,708 @@ msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-08-12 18:13+0000\n"
-"PO-Revision-Date: 2013-09-16 18:58+0100\n"
-"Last-Translator: Benjamin Steinwender <b stbe at>\n"
+"POT-Creation-Date: 2013-02-06 19:31+0000\n"
+"PO-Revision-Date: 2013-03-03 21:18+0100\n"
+"Last-Translator: Mario Blättermann <mario blaettermann gmail com>\n"
 "Language-Team: Deutsch <gnome-de gnome org>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+"X-Generator: Gtranslator 2.91.5\n"
 
-#: ../clutter/clutter-actor.c:6177
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "X-Koordinate"
 
-#: ../clutter/clutter-actor.c:6178
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "X-Koordinate des Akteurs"
 
-#: ../clutter/clutter-actor.c:6196
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Y-Koordinate"
 
-#: ../clutter/clutter-actor.c:6197
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Y-Koordinate des Akteurs"
 
-#: ../clutter/clutter-actor.c:6219
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Position"
 
-#: ../clutter/clutter-actor.c:6220
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "Die Ursprungsposition des Akteurs"
 
-#: ../clutter/clutter-actor.c:6237 ../clutter/clutter-canvas.c:224
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Breite"
 
-#: ../clutter/clutter-actor.c:6238
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Breite des Akteurs"
 
-#: ../clutter/clutter-actor.c:6256 ../clutter/clutter-canvas.c:240
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Höhe"
 
-#: ../clutter/clutter-actor.c:6257
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Höhe des Akteurs"
 
-#: ../clutter/clutter-actor.c:6278
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Größe"
 
-#: ../clutter/clutter-actor.c:6279
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "Die Größe des Akteurs"
 
-#: ../clutter/clutter-actor.c:6297
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "Fixiertes X"
 
-#: ../clutter/clutter-actor.c:6298
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Erzwungene X-Position des Akteurs"
 
-#: ../clutter/clutter-actor.c:6315
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Fixiertes Y"
 
-#: ../clutter/clutter-actor.c:6316
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Erzwungene Y-Position des Akteurs"
 
-#: ../clutter/clutter-actor.c:6331
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Fixierte Position gesetzt"
 
-#: ../clutter/clutter-actor.c:6332
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Legt fest, ob eine fixierte Position für den Akteur verwendet wird"
 
-#: ../clutter/clutter-actor.c:6350
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Minimale Breite"
 
-#: ../clutter/clutter-actor.c:6351
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Anfrage nach erzwungener minimale Breite des Akteurs"
 
-#: ../clutter/clutter-actor.c:6369
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Minimale Höhe"
 
-#: ../clutter/clutter-actor.c:6370
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Anfrage nach erzwungener minimale Höhe des Akteurs"
 
-#: ../clutter/clutter-actor.c:6388
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Natürliche Breite"
 
-#: ../clutter/clutter-actor.c:6389
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Anfrage nach natürlicher Breite des Akteurs"
 
-#: ../clutter/clutter-actor.c:6407
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Natürliche Höhe"
 
-#: ../clutter/clutter-actor.c:6408
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Anfrage nach natürlicher Höhe des Akteurs"
 
-#: ../clutter/clutter-actor.c:6423
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Minimale Breite gesetzt"
 
-#: ../clutter/clutter-actor.c:6424
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Legt fest, ob die Eigenschaft »min-width« verwendet werden soll"
 
-#: ../clutter/clutter-actor.c:6438
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Minimale Höhe gesetzt"
 
-#: ../clutter/clutter-actor.c:6439
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Legt fest, ob die Eigenschaft »min-height« verwendet werden soll"
 
-#: ../clutter/clutter-actor.c:6453
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Natürliche Breite gesetzt"
 
-#: ../clutter/clutter-actor.c:6454
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Legt fest, ob die Eigenschaft »natural-width« verwendet werden soll"
 
-#: ../clutter/clutter-actor.c:6468
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Natürliche Höhe gesetzt"
 
-#: ../clutter/clutter-actor.c:6469
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Legt fest, ob die Eigenschaft »natural-height« verwendet werden soll"
 
-#: ../clutter/clutter-actor.c:6485
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Zuordnung"
 
-#: ../clutter/clutter-actor.c:6486
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "Die Anforderung des Akteurs"
 
-#: ../clutter/clutter-actor.c:6543
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Anforderungsmodus"
 
-#: ../clutter/clutter-actor.c:6544
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "Der Anforderungsmodus des Akteurs"
 
-#: ../clutter/clutter-actor.c:6568
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Tiefe"
 
-#: ../clutter/clutter-actor.c:6569
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Position auf der Z-Achse"
 
-#: ../clutter/clutter-actor.c:6596
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Z-Position"
 
-#: ../clutter/clutter-actor.c:6597
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Die Position des Akteurs auf der Z-Achse"
 
-#: ../clutter/clutter-actor.c:6614
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Deckkraft"
 
-#: ../clutter/clutter-actor.c:6615
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Deckkraft des Akteurs"
 
-#: ../clutter/clutter-actor.c:6635
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Umleitung auf abseits des Bildschirms"
 
-#: ../clutter/clutter-actor.c:6636
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Legt fest, wann der Akteur in ein einziges Bild abgeflacht werden soll"
 
-#: ../clutter/clutter-actor.c:6650
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Sichtbar"
 
-#: ../clutter/clutter-actor.c:6651
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Legt fest, ob der Akteur sichtbar ist oder nicht"
 
-#: ../clutter/clutter-actor.c:6665
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Abgebildet"
 
-#: ../clutter/clutter-actor.c:6666
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Legt fest, ob der Akteur dargestellt wird"
 
-#: ../clutter/clutter-actor.c:6679
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Realisiert"
 
-#: ../clutter/clutter-actor.c:6680
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Gibt an, ob der Akteur realisiert wird"
 
-#: ../clutter/clutter-actor.c:6695
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Reagierend"
 
-#: ../clutter/clutter-actor.c:6696
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Legt fest, ob der Akteur auf Ereignisse reagiert"
 
-#: ../clutter/clutter-actor.c:6707
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Clip vorhanden"
 
-#: ../clutter/clutter-actor.c:6708
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Gibt an, ob für den Akteur ein Clip gesetzt ist"
 
-#: ../clutter/clutter-actor.c:6721
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Clip"
 
-#: ../clutter/clutter-actor.c:6722
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "Der Clip-Bereich dieses Akteurs"
 
-#: ../clutter/clutter-actor.c:6741
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Clip-Rechteck"
 
-#: ../clutter/clutter-actor.c:6742
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "Der sichtbare Bereich dieses Akteurs"
 
-#: ../clutter/clutter-actor.c:6756 ../clutter/clutter-actor-meta.c:205
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Name"
 
-#: ../clutter/clutter-actor.c:6757
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Name des Akteurs"
 
-#: ../clutter/clutter-actor.c:6778
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Drehpunkt"
 
-#: ../clutter/clutter-actor.c:6779
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Der Punkt, um den die Skalierung und die Rotation stattfindet"
 
-#: ../clutter/clutter-actor.c:6797
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Z-Drehpunkt"
 
-#: ../clutter/clutter-actor.c:6798
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Z-Komponente des Drehpunktes"
 
-#: ../clutter/clutter-actor.c:6816
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "X-Skalierung"
 
-#: ../clutter/clutter-actor.c:6817
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Skalierungsfaktor für die X-Achse"
 
-#: ../clutter/clutter-actor.c:6835
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Y-Skalierung"
 
-#: ../clutter/clutter-actor.c:6836
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Skalierungsfaktor für die Y-Achse"
 
-#: ../clutter/clutter-actor.c:6854
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Z-Skalierung"
 
-#: ../clutter/clutter-actor.c:6855
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Skalierungsfaktor für die Z-Achse"
 
-#: ../clutter/clutter-actor.c:6873
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Skalierungszentrum X"
 
-#: ../clutter/clutter-actor.c:6874
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Horizontales Skalierungszentrum"
 
-#: ../clutter/clutter-actor.c:6892
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Skalierungszentrum Y"
 
-#: ../clutter/clutter-actor.c:6893
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Vertikales Skalierungszentrum"
 
-#: ../clutter/clutter-actor.c:6911
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Skalierungsanziehungskraft"
 
-#: ../clutter/clutter-actor.c:6912
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "Skalierungszentrum"
 
-#: ../clutter/clutter-actor.c:6930
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Rotationswinkel X"
 
-#: ../clutter/clutter-actor.c:6931
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "Der Rotationswinkel auf der X-Achse"
 
-#: ../clutter/clutter-actor.c:6949
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Rotationswinkel Y"
 
-#: ../clutter/clutter-actor.c:6950
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "Der Rotationswinkel auf der Y-Achse"
 
-#: ../clutter/clutter-actor.c:6968
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Rotationswinkel Z"
 
-#: ../clutter/clutter-actor.c:6969
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "Der Rotationswinkel auf der Z-Achse"
 
-#: ../clutter/clutter-actor.c:6987
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Rotationszentrum X"
 
-#: ../clutter/clutter-actor.c:6988
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "Das Rotationszentrum auf der X-Achse"
 
-#: ../clutter/clutter-actor.c:7005
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Rotationszentrum Y"
 
-#: ../clutter/clutter-actor.c:7006
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "Das Rotationszentrum auf der Y-Achse"
 
-#: ../clutter/clutter-actor.c:7023
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Rotationszentrum Z"
 
-#: ../clutter/clutter-actor.c:7024
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "Das Rotationszentrum auf der Z-Achse"
 
-#: ../clutter/clutter-actor.c:7041
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Anziehungskraft des Rotationszentrums Z"
 
-#: ../clutter/clutter-actor.c:7042
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Rotationsmittelpunkt um die Z-Achse"
 
-#: ../clutter/clutter-actor.c:7070
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Anker X"
 
-#: ../clutter/clutter-actor.c:7071
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "X-Koordinate des Ankerpunktes"
 
-#: ../clutter/clutter-actor.c:7099
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Anker Y"
 
-#: ../clutter/clutter-actor.c:7100
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Y-Koordinate des Ankerpunktes"
 
-#: ../clutter/clutter-actor.c:7127
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Anker-Anziehungskraft"
 
-#: ../clutter/clutter-actor.c:7128
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "Der Ankerpunkt als ClutterGravity"
 
-#: ../clutter/clutter-actor.c:7147
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "X-Translation"
 
-#: ../clutter/clutter-actor.c:7148
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Die Translation entlang der X-Achse"
 
-#: ../clutter/clutter-actor.c:7167
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Y-Translation"
 
-#: ../clutter/clutter-actor.c:7168
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Die Translation entlang der Y-Achse"
 
-#: ../clutter/clutter-actor.c:7187
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Z-Translation"
 
-#: ../clutter/clutter-actor.c:7188
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Die Translation entlang der Z-Achse"
 
-#: ../clutter/clutter-actor.c:7218
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Transformieren"
 
-#: ../clutter/clutter-actor.c:7219
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Transformierungsmatrix"
 
-#: ../clutter/clutter-actor.c:7234
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Transformation gesetzt"
 
-#: ../clutter/clutter-actor.c:7235
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Gibt an, ob die transform-Eigenschaft gesetzt ist"
 
-#: ../clutter/clutter-actor.c:7256
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Unterelement-Transformation"
 
-#: ../clutter/clutter-actor.c:7257
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Unterelement-Transformationsmatrix"
 
-#: ../clutter/clutter-actor.c:7272
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Unterelement-Transformation gesetzt"
 
-#: ../clutter/clutter-actor.c:7273
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Gibt an, ob die child-transform-Eigenschaft gesetzt ist"
 
 # If %TRUE, the actor is automatically shown when parented.
-#: ../clutter/clutter-actor.c:7290
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Anzeige bei Überordnung"
 
-#: ../clutter/clutter-actor.c:7291
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Legt fest, ob der Akteur bei Überordnung angezeigt wird"
 
-#: ../clutter/clutter-actor.c:7308
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Auf Zuteilung beschneiden"
 
-#: ../clutter/clutter-actor.c:7309
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Der Zuschneidebereich folgt der Belegung des Akteurs"
 
-#: ../clutter/clutter-actor.c:7322
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Textrichtung"
 
-#: ../clutter/clutter-actor.c:7323
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Richtung des Textes"
 
-#: ../clutter/clutter-actor.c:7338
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Besitzt Zeiger"
 
-#: ../clutter/clutter-actor.c:7339
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Legt fest, ob der Akteur den Zeiger eines Eingabegeräts enthält"
 
-#: ../clutter/clutter-actor.c:7352
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Aktionen"
 
-#: ../clutter/clutter-actor.c:7353
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Fügt dem Akteur eine Aktion hinzu"
 
-#: ../clutter/clutter-actor.c:7366
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Einschränkungen"
 
-#: ../clutter/clutter-actor.c:7367
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Fügt dem Akteur eine Beschränkung hinzu"
 
-#: ../clutter/clutter-actor.c:7380
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Effekt"
 
-#: ../clutter/clutter-actor.c:7381
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Einen Effekt hinzufügen, der auf den Akteur angewendet werden soll"
 
-#: ../clutter/clutter-actor.c:7395
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Layout-Manager"
 
-#: ../clutter/clutter-actor.c:7396
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "Das Objekt, welches das Layout des Akteur-Unterelements kontrolliert"
 
-#: ../clutter/clutter-actor.c:7410
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "X-Ausdehnung"
 
 # Controls whether the #ClutterCairoTexture should automatically resize the Cairo surface whenever the 
actor's allocation changes.
-#: ../clutter/clutter-actor.c:7411
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr ""
-"Legt fest, ob zusätzlicher horizontaler Raum dem Akteur zugeordnet werden "
-"soll"
+"Legt fest, ob zusätzlicher horizontaler Raum dem Akteur zugeordnet werden soll"
 
-#: ../clutter/clutter-actor.c:7426
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Y-Ausdehnung"
 
 # Controls whether the #ClutterCairoTexture should automatically resize the Cairo surface whenever the 
actor's allocation changes.
-#: ../clutter/clutter-actor.c:7427
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr ""
 "Legt fest, ob zusätzlicher vertikaler Raum dem Akteur zugeordnet werden soll"
 
-#: ../clutter/clutter-actor.c:7443
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "X-Ausrichtung"
 
-#: ../clutter/clutter-actor.c:7444
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Ausrichtung des Akteurs auf der X-Achse innerhalb dessen Zuordnung"
 
-#: ../clutter/clutter-actor.c:7459
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Y-Ausrichtung"
 
-#: ../clutter/clutter-actor.c:7460
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Ausrichtung des Akteurs auf der Y-Achse innerhalb dessen Zuordnung"
 
-#: ../clutter/clutter-actor.c:7479
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Abstand Oben"
 
-#: ../clutter/clutter-actor.c:7480
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Zusätzlicher Abstand oben"
 
-#: ../clutter/clutter-actor.c:7501
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Abstand Unten"
 
-#: ../clutter/clutter-actor.c:7502
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Zusätzlicher Abstand unten"
 
-#: ../clutter/clutter-actor.c:7523
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Abstand Links"
 
-#: ../clutter/clutter-actor.c:7524
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Zusätzlicher Abstand links"
 
-#: ../clutter/clutter-actor.c:7545
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Abstand Rechts"
 
-#: ../clutter/clutter-actor.c:7546
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Zusätzlicher Abstand rechts"
 
-#: ../clutter/clutter-actor.c:7562
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Hintergrund-Farbpalette"
 
-#: ../clutter/clutter-actor.c:7563 ../clutter/deprecated/clutter-box.c:271
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Legt fest, ob die Hintergrundfarbe gesetzt ist"
 
-#: ../clutter/clutter-actor.c:7579
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Hintergrundfarbe"
 
-#: ../clutter/clutter-actor.c:7580
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "Die Hintergrundfarbe des Akteurs"
 
-#: ../clutter/clutter-actor.c:7595
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Erstes Unterobjekt"
 
-#: ../clutter/clutter-actor.c:7596
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Das erste Unterelement des Akteurs"
 
-#: ../clutter/clutter-actor.c:7609
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Letztes Unterobjekt"
 
-#: ../clutter/clutter-actor.c:7610
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "Die letzte Unterebene des Akteurs"
 
-#: ../clutter/clutter-actor.c:7624
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Inhalt"
 
-#: ../clutter/clutter-actor.c:7625
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Das Vertreter-Objekt zum Darstellen des Inhalts des Akteurs"
 
-#: ../clutter/clutter-actor.c:7650
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Schwerkraft des Inhalts"
 
-#: ../clutter/clutter-actor.c:7651
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Ausrichtung des Inhalts der Akteurs"
 
-#: ../clutter/clutter-actor.c:7671
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Inhalts-Box"
 
-#: ../clutter/clutter-actor.c:7672
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "Die Begrenzung des Inhalts des Akteurs"
 
-#: ../clutter/clutter-actor.c:7680
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Verkleinerungsfilter"
 
-#: ../clutter/clutter-actor.c:7681
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Das für das Verringern der Inhaltsgröße zu verwendende Filter"
 
-#: ../clutter/clutter-actor.c:7688
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Vergrößerungsfilter"
 
-#: ../clutter/clutter-actor.c:7689
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Das für das Vergrößern der Inhaltsgröße zu verwendende Filter"
 
-#: ../clutter/clutter-actor.c:7703
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Inhaltswiederholung"
 
-#: ../clutter/clutter-actor.c:7704
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "Die Wiederholungsregeln für den Inhalt des Akteurs"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Akteur"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "Der an den Meta angehängte Akteur"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "Der Name des Meta"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:337
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Aktiviert"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Legt fest, ob der Meta aktiviert wird"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Quelle"
@@ -738,11 +739,11 @@ msgstr "Faktor"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Der Ausrichtungsfaktor (zwischen 0.0 und 1.0)"
 
-#: ../clutter/clutter-backend.c:376
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Initialisierung des Clutter-Backends nicht möglich"
 
-#: ../clutter/clutter-backend.c:450
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr ""
@@ -775,50 +776,50 @@ msgstr "Der Versatz in Pixeln, der auf die Bindung angewendet werden soll"
 msgid "The unique name of the binding pool"
 msgstr "Der eindeutige Name des Bindungs-Pools"
 
-#: ../clutter/clutter-bin-layout.c:238 ../clutter/clutter-bin-layout.c:651
-#: ../clutter/clutter-box-layout.c:388 ../clutter/clutter-table-layout.c:604
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Horizontale Ausrichtung"
 
-#: ../clutter/clutter-bin-layout.c:239
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "Horizontal Ausrichtung des Akteurs innerhalb des Layout-Managers"
 
-#: ../clutter/clutter-bin-layout.c:247 ../clutter/clutter-bin-layout.c:671
-#: ../clutter/clutter-box-layout.c:397 ../clutter/clutter-table-layout.c:619
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Vertikale Ausrichtung"
 
-#: ../clutter/clutter-bin-layout.c:248
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "Vertikale Ausrichtung des Akteurs innerhalb des Layout-Managers"
 
-#: ../clutter/clutter-bin-layout.c:652
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr ""
 "Voreingestellte horizontale Ausrichtung des Akteurs innerhalb des Layout-"
 "Managers"
 
-#: ../clutter/clutter-bin-layout.c:672
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr ""
 "Voreingestellte vertikale Ausrichtung des Akteurs innerhalb des Layout-"
 "Managers"
 
-#: ../clutter/clutter-box-layout.c:363
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Ausdehnen"
 
 # Nur ein Vorschlag, aber »Kind« finde ich in dem Zusammenhang scheußlich
-#: ../clutter/clutter-box-layout.c:364
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Zusätzlichen Platz für das Unterelement anfordern"
 
-#: ../clutter/clutter-box-layout.c:370 ../clutter/clutter-table-layout.c:583
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Horizontale Füllung"
 
-#: ../clutter/clutter-box-layout.c:371 ../clutter/clutter-table-layout.c:584
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -826,11 +827,11 @@ msgstr ""
 "Legt fest, ob das Unterelement bevorzugt behandelt werden soll, wenn der "
 "Container freien Platz auf der horizontalen Achse zuweist"
 
-#: ../clutter/clutter-box-layout.c:379 ../clutter/clutter-table-layout.c:590
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Vertikale Füllung"
 
-#: ../clutter/clutter-box-layout.c:380 ../clutter/clutter-table-layout.c:591
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -838,80 +839,80 @@ msgstr ""
 "Legt fest, ob das Unterelement bevorzugt behandelt werden soll, wenn der "
 "Container freien Platz auf der vertikalen Achse zuweist"
 
-#: ../clutter/clutter-box-layout.c:389 ../clutter/clutter-table-layout.c:605
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Horizontal Ausrichtung des Akteurs innerhalb der Zelle"
 
-#: ../clutter/clutter-box-layout.c:398 ../clutter/clutter-table-layout.c:620
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Vertikale Ausrichtung des Akteurs innerhalb der Zelle"
 
-#: ../clutter/clutter-box-layout.c:1361
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Vertikal"
 
-#: ../clutter/clutter-box-layout.c:1362
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Legt fest, ob das Layout vertikal statt horizontal sein soll"
 
-#: ../clutter/clutter-box-layout.c:1379 ../clutter/clutter-flow-layout.c:942
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Ausrichtung"
 
-#: ../clutter/clutter-box-layout.c:1380 ../clutter/clutter-flow-layout.c:943
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "Die Ausrichtung des Layouts"
 
-#: ../clutter/clutter-box-layout.c:1396 ../clutter/clutter-flow-layout.c:958
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Gleichmäßig"
 
-#: ../clutter/clutter-box-layout.c:1397
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
-"Legt fest, ob das Layout gleichmäßig sein soll, d.h. alle Unterelemente "
-"haben die gleiche Größe"
+"Legt fest, ob das Layout gleichmäßig sein soll, d.h. alle Unterelemente haben "
+"die gleiche Größe"
 
-#: ../clutter/clutter-box-layout.c:1412
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Packen am Beginn"
 
-#: ../clutter/clutter-box-layout.c:1413
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Gibt an, ob Objekte am Beginn der Box gepackt werden sollen"
 
-#: ../clutter/clutter-box-layout.c:1426
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Abstand"
 
-#: ../clutter/clutter-box-layout.c:1427
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Abstand zwischen Unterelementen"
 
-#: ../clutter/clutter-box-layout.c:1444 ../clutter/clutter-table-layout.c:1667
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Animationen verwenden"
 
-#: ../clutter/clutter-box-layout.c:1445 ../clutter/clutter-table-layout.c:1668
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Legt fest, ob Layout-Änderungen animiert werden sollen"
 
-#: ../clutter/clutter-box-layout.c:1469 ../clutter/clutter-table-layout.c:1692
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Easing-Modus"
 
-#: ../clutter/clutter-box-layout.c:1470 ../clutter/clutter-table-layout.c:1693
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "Der Easing-Modus der Animationen"
 
-#: ../clutter/clutter-box-layout.c:1490 ../clutter/clutter-table-layout.c:1713
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Easing-Dauer"
 
-#: ../clutter/clutter-box-layout.c:1491 ../clutter/clutter-table-layout.c:1714
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "Die Dauer der Animationen"
 
@@ -931,11 +932,11 @@ msgstr "Kontrast"
 msgid "The contrast change to apply"
 msgstr "Die anzuwendende Kontraständerung"
 
-#: ../clutter/clutter-canvas.c:225
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "Die Breite der Zeichenfläche"
 
-#: ../clutter/clutter-canvas.c:241
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "Die Höhe der Zeichenfläche"
 
@@ -951,40 +952,40 @@ msgstr "Der Container, der diese Daten erzeugt hat"
 msgid "The actor wrapped by this data"
 msgstr "Der durch diese Daten eingefasste Akteur"
 
-#: ../clutter/clutter-click-action.c:557
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Gedrückt"
 
-#: ../clutter/clutter-click-action.c:558
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Legt fest, ob das klickbare Objekt in gedrücktem Zustand sein soll"
 
 # Whether the clickable has a grab
-#: ../clutter/clutter-click-action.c:571
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
 msgstr "Anfasspunkt"
 
-#: ../clutter/clutter-click-action.c:572
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Legt fest, ob das klickbare Objekt einen Anfasser haben soll"
 
-#: ../clutter/clutter-click-action.c:589 ../clutter/clutter-settings.c:607
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Dauer des langen Drucks"
 
-#: ../clutter/clutter-click-action.c:590
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "Die minimale Dauer eines langen Drucks zur Erkennung der Geste"
 
-#: ../clutter/clutter-click-action.c:608
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Schwellwert für langen Druck"
 
-#: ../clutter/clutter-click-action.c:609
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "Der maximale Schwellwert, bevor ein langer Druck abgebrochen wird"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Legt den Akteur fest, der geklont werden soll"
 
@@ -996,221 +997,206 @@ msgstr "Färbung"
 msgid "The tint to apply"
 msgstr "Die anzuwendende Färbung"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Horizontale Kacheln"
 
-#: ../clutter/clutter-deform-effect.c:593
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Die Anzahl horizontaler Kacheln"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Vertikale Kacheln"
 
-#: ../clutter/clutter-deform-effect.c:609
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Die Anzahl vertikaler Kacheln"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Hintergrundmaterial"
 
-#: ../clutter/clutter-deform-effect.c:627
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
-msgstr ""
-"Das für das Darstellen des Akteur-Hintergrundes zu verwendende Material"
+msgstr "Das für das Darstellen des Akteur-Hintergrundes zu verwendende Material"
 
 #: ../clutter/clutter-desaturate-effect.c:271
 msgid "The desaturation factor"
 msgstr "Der Entsättigungsfaktor"
 
-#: ../clutter/clutter-device-manager.c:127
+#: ../clutter/clutter-device-manager.c:131
 #: ../clutter/clutter-input-device.c:366
 #: ../clutter/x11/clutter-keymap-x11.c:321
 msgid "Backend"
 msgstr "Backend"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "Das ClutterBackend der Geräteverwaltung"
 
-#: ../clutter/clutter-drag-action.c:740
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Schwelle für horizontales Ziehen"
 
-#: ../clutter/clutter-drag-action.c:741
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "Die Anzahl horizontaler Pixel, die für einen Ziehvorgang benötigt werden"
 
-#: ../clutter/clutter-drag-action.c:768
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Schwelle für vertikales Ziehen"
 
-#: ../clutter/clutter-drag-action.c:769
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Die Anzahl vertikaler Pixel, die für einen Ziehvorgang benötigt werden"
 
-#: ../clutter/clutter-drag-action.c:790
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Grifffeld"
 
-#: ../clutter/clutter-drag-action.c:791
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "Der Akteur, der gezogen werden soll"
 
-#: ../clutter/clutter-drag-action.c:804
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Ziehachse"
 
-#: ../clutter/clutter-drag-action.c:805
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Beschränkt den Ziehvorgang auf eine Achse"
 
-#: ../clutter/clutter-drag-action.c:821
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Ziehbereich"
 
-#: ../clutter/clutter-drag-action.c:822
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Beschränkt den Ziehvorgang auf eine Ebene"
 
-#: ../clutter/clutter-drag-action.c:835
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Ziehbereich festgelegt"
 
-#: ../clutter/clutter-drag-action.c:836
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Gibt an, ob der Ziehbereich festgelegt worden ist"
 
-#: ../clutter/clutter-flow-layout.c:959
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Legt fest, ob jedes Objekt die gleiche Zuweisung erhalten soll"
 
-#: ../clutter/clutter-flow-layout.c:974 ../clutter/clutter-table-layout.c:1629
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Spaltenabstand"
 
-#: ../clutter/clutter-flow-layout.c:975
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Der Leerraum zwischen Spalten"
 
-#: ../clutter/clutter-flow-layout.c:991 ../clutter/clutter-table-layout.c:1643
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Zeilenabstand"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Der Leerraum zwischen Zeilen"
 
-#: ../clutter/clutter-flow-layout.c:1006
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Minimale Breite der Spalte"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Die minimale Breite jeder Spalte"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Maximale Breite der Spalte"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Die maximale Breite jeder Spalte"
 
-#: ../clutter/clutter-flow-layout.c:1037
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Minimale Zeilenhöhe"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Minimale Zeilenhöhe jeder Reihe"
 
-#: ../clutter/clutter-flow-layout.c:1053
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Maximale Zeilenhöhe"
 
-#: ../clutter/clutter-flow-layout.c:1054
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Maximale Zeilenhöhe jeder Reihe"
 
-#: ../clutter/clutter-flow-layout.c:1069 ../clutter/clutter-flow-layout.c:1070
-msgid "Snap to grid"
-msgstr "Am Gitter ausrichten"
-
-#: ../clutter/clutter-gesture-action.c:646
-#| msgid "Number of Axes"
-msgid "Number touch points"
-msgstr "Anzahl der Berührungspunkte"
-
-#: ../clutter/clutter-gesture-action.c:647
-#| msgid "Number of Axes"
-msgid "Number of touch points"
-msgstr "Anzahl der Berührungspunkte"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Linker Anhang"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr ""
 "Die Spaltennummer, an welche die linke Seite des Unterelements angehängt wird"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Oberer Anhang"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr ""
 "Die Zeilennummer, an welche die obere Seite eines Unterelement-Widgets "
 "angehängt wird"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "Die Anzahl der Spalten, über die sich das Unterelement erstrecken soll"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "Die Anzahl der Zeilen, über die sich das Unterelement erstrecken soll"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1565
 msgid "Row spacing"
 msgstr "Reihenabstand"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1566
 msgid "The amount of space between two consecutive rows"
 msgstr "Die Größe des Platzes zwischen zwei aufeinanderfolgenden Reihen"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1579
 msgid "Column spacing"
 msgstr "Spaltenabstand"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1580
 msgid "The amount of space between two consecutive columns"
 msgstr "Die Größe des Platzes zwischen zwei aufeinanderfolgenden Spalten"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1594
 msgid "Row Homogeneous"
 msgstr "Gleichmäßige Zeile"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1595
 msgid "If TRUE, the rows are all the same height"
 msgstr "Falls dies WAHR ist, haben die Reihen alle die selbe Höhe"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1608
 msgid "Column Homogeneous"
 msgstr "Gleichmäßige Spalte"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1609
 msgid "If TRUE, the columns are all the same width"
 msgstr "Falls dies WAHR ist, haben alle Spalten die selbe Höhe"
 
-#: ../clutter/clutter-image.c:246 ../clutter/clutter-image.c:309
-#: ../clutter/clutter-image.c:397
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Bilddaten können nicht geladen werden"
 
@@ -1274,27 +1260,27 @@ msgstr "Die Anzahl der Achsen des Geräts"
 msgid "The backend instance"
 msgstr "Die Backend-Instanz"
 
-#: ../clutter/clutter-interval.c:503
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Wertetyp"
 
-#: ../clutter/clutter-interval.c:504
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Der Typ der Werte im Intervall"
 
-#: ../clutter/clutter-interval.c:519
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Initialer Wert"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Initialer Wert des Intervalls"
 
-#: ../clutter/clutter-interval.c:534
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Finaler Wert"
 
-#: ../clutter/clutter-interval.c:535
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Finaler Wert des Intervalls"
 
@@ -1313,98 +1299,97 @@ msgstr "Der Manager, der diese Daten erzeugt hat"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1669
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Bilder pro Sekunde anzeigen"
 
-#: ../clutter/clutter-main.c:1671
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Vorgabebildfrequenz"
 
-#: ../clutter/clutter-main.c:1673
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Alle Warnungen fatal machen"
 
-#: ../clutter/clutter-main.c:1676
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Richtung des Textes"
 
-#: ../clutter/clutter-main.c:1679
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Mip-Mapping für Text ausschalten"
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "»Unscharfes« Herausgreifen benutzen"
 
-#: ../clutter/clutter-main.c:1685
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Zu setzende Clutter-Fehlersuchmerkmale"
 
-#: ../clutter/clutter-main.c:1687
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Zu entfernende Clutter-Fehlersuchmerkmale"
 
-#: ../clutter/clutter-main.c:1691
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Zu setzende Clutter-Fehlersuchmerkmale"
 
-#: ../clutter/clutter-main.c:1693
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Zu entfernende Clutter-Fehlersuchmerkmale"
 
-#: ../clutter/clutter-main.c:1696
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Barrierefreiheit aktivieren"
 
-#: ../clutter/clutter-main.c:1888
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Clutter-Optionen"
 
-#: ../clutter/clutter-main.c:1889
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Clutter-Optionen anzeigen"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Ziehachse"
 
-#: ../clutter/clutter-pan-action.c:446
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Beschränkt den Ziehvorgang auf eine Achse"
 
-#: ../clutter/clutter-pan-action.c:460
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolieren"
 
-#: ../clutter/clutter-pan-action.c:461
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Legt fest, ob die Ausgabe interpolierter Ereignisse aktiviert ist"
 
-#: ../clutter/clutter-pan-action.c:477
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Abbremsung"
 
-#: ../clutter/clutter-pan-action.c:478
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Das Maß, um welches die interpolierte Verschiebung abgebremst wird"
 
-#: ../clutter/clutter-pan-action.c:495
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Anfänglicher Beschleunigungsfaktor"
 
-#: ../clutter/clutter-pan-action.c:496
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr ""
-"Faktor, der beim Start der interpolierten Phase auf den Impuls angewendet "
-"wird"
+"Faktor, der beim Start der interpolierten Phase auf den Impuls angewendet wird"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Pfad"
 
@@ -1416,90 +1401,88 @@ msgstr "Der Pfad zur Beschränkung eines Akteurs"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "Der Versatz entlang des Pfades, zwischen -1.0 und 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Name der Eigenschaft"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Der Name der Eigenschaft der Animation"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Dateiname gesetzt"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Gibt an, ob die :filename-Eigenschaft gesetzt ist"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481 ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Dateiname"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Der Pfad zur aktuell eingelesenen Datei"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Übersetzung"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Die zur Übersetzung verwendete Domäne"
 
-#: ../clutter/clutter-scroll-actor.c:189
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Bildlaufmodus"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Die Bildlaufrichtung"
 
-#: ../clutter/clutter-settings.c:448
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Doppelklick-Zeit"
 
-#: ../clutter/clutter-settings.c:449
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
-msgstr ""
-"Die zur Erkennung eines Mehrfachklicks nötige Zeit zwischen zwei Klicks"
+msgstr "Die zur Erkennung eines Mehrfachklicks nötige Zeit zwischen zwei Klicks"
 
-#: ../clutter/clutter-settings.c:464
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Doppelklick-Intervall"
 
-#: ../clutter/clutter-settings.c:465
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "Die zur Erkennung eines Mehrfachklicks nötige Entfernung zwischen zwei Klicks"
 
-#: ../clutter/clutter-settings.c:480
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Ziehschwellwert"
 
-#: ../clutter/clutter-settings.c:481
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr ""
 "Die vom Zeiger zurückzulegende Entfernung, um einen Ziehvorgang zu beginnen"
 
-#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3393
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Schriftname"
 
-#: ../clutter/clutter-settings.c:497
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "Die Beschreibung der Vorgabeschrift, so wie sie durch Pango verarbeitet "
 "werden kann"
 
-#: ../clutter/clutter-settings.c:512
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Schriftglättung"
 
-#: ../clutter/clutter-settings.c:513
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1507,70 +1490,69 @@ msgstr ""
 "Gibt an, ob Antialiasing verwendet werden soll (1 aktiviert, 0 deaktiviert "
 "und -1 verwendet die Vorgabe)"
 
-#: ../clutter/clutter-settings.c:529
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "Schriftauflösung"
 
-#: ../clutter/clutter-settings.c:530
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
-msgstr ""
-"Die Schriftauflösung in 1024 * Punkte/Zoll, oder -1 für den Vorgabewert"
+msgstr "Die Schriftauflösung in 1024 * Punkte/Zoll, oder -1 für den Vorgabewert"
 
-#: ../clutter/clutter-settings.c:546
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Schrift-Hinting"
 
-#: ../clutter/clutter-settings.c:547
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Gibt an, ob Hinting verwendet werden soll (1 aktiviert, 0 deaktiviert und -1 "
 "verwendet die Vorgabe)"
 
-#: ../clutter/clutter-settings.c:568
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Hinting-Stil der Schrift"
 
-#: ../clutter/clutter-settings.c:569
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Der Stil des Hintings (hintnone, hintslight, hintmedium, hintfull)"
 
-#: ../clutter/clutter-settings.c:590
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Subpixel-Anordnung der Schrift"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Typ der Subpixel-Kantenglättung (none (keine), rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:608
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "Die minimale Dauer zur Erkennung eines langen Drucks für eine Geste"
 
-#: ../clutter/clutter-settings.c:615
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Fontconfig-Zeitstempel"
 
-#: ../clutter/clutter-settings.c:616
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Zeitstempel der aktuellen Fontconfig-Konfiguration"
 
-#: ../clutter/clutter-settings.c:633
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Passwort-Hinweis-Zeit"
 
-#: ../clutter/clutter-settings.c:634
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "So lange soll das letzte eingegebene Zeichen in versteckten Einträgen "
 "angezeigt werden"
 
-#: ../clutter/clutter-shader-effect.c:485
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Shader-Typ"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "Der verwendete Shader-Typ"
 
@@ -1598,489 +1580,489 @@ msgstr "Die Kante der Quelle, an der eingerastet werden soll"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Der Versatz in Pixel, auf den die Einschränkung angewendet werden soll"
 
-#: ../clutter/clutter-stage.c:1945
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "Vollbild gesetzt"
 
-#: ../clutter/clutter-stage.c:1946
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Legt fest, ob die Hauptszene ein Vollbild ist"
 
-#: ../clutter/clutter-stage.c:1960
+#: ../clutter/clutter-stage.c:1910
 msgid "Offscreen"
 msgstr "Abseits des Bildschirms"
 
-#: ../clutter/clutter-stage.c:1961
+#: ../clutter/clutter-stage.c:1911
 msgid "Whether the main stage should be rendered offscreen"
 msgstr ""
 "Legt fest, ob die Hauptszene abseits des Bildschirms erstellt werden soll"
 
-#: ../clutter/clutter-stage.c:1973 ../clutter/clutter-text.c:3507
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Zeiger sichtbar"
 
-#: ../clutter/clutter-stage.c:1974
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Legt fest, ob der Mauszeiger in der Hauptszene sichtbar sein soll"
 
-#: ../clutter/clutter-stage.c:1988
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Größenänderung durch Benutzer"
 
-#: ../clutter/clutter-stage.c:1989
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr ""
 "Legt fest, ob eine Größenänderung der Szene durch den Benutzer möglich ist"
 
-#: ../clutter/clutter-stage.c:2004 ../clutter/deprecated/clutter-box.c:256
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Farbe"
 
-#: ../clutter/clutter-stage.c:2005
+#: ../clutter/clutter-stage.c:1955
 msgid "The color of the stage"
 msgstr "Die Farbe der Szene"
 
-#: ../clutter/clutter-stage.c:2020
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Perspektive"
 
-#: ../clutter/clutter-stage.c:2021
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Projektionsparameter der Perspektive"
 
-#: ../clutter/clutter-stage.c:2036
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Titel"
 
-#: ../clutter/clutter-stage.c:2037
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Szenentitel"
 
-#: ../clutter/clutter-stage.c:2054
+#: ../clutter/clutter-stage.c:2004
 msgid "Use Fog"
 msgstr "Nebel verwenden"
 
-#: ../clutter/clutter-stage.c:2055
+#: ../clutter/clutter-stage.c:2005
 msgid "Whether to enable depth cueing"
 msgstr "Legt fest, ob Tiefenanordnung aktiviert werden soll"
 
-#: ../clutter/clutter-stage.c:2071
+#: ../clutter/clutter-stage.c:2021
 msgid "Fog"
 msgstr "Nebel"
 
-#: ../clutter/clutter-stage.c:2072
+#: ../clutter/clutter-stage.c:2022
 msgid "Settings for the depth cueing"
 msgstr "Einstellungen für die Tiefenanordnung"
 
-#: ../clutter/clutter-stage.c:2088
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Alpha verwenden"
 
-#: ../clutter/clutter-stage.c:2089
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr ""
 "Gibt an, ob die Alpha-Komponente für die Szenenfarbe berücksichtigt werden "
 "soll"
 
-#: ../clutter/clutter-stage.c:2105
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Tastaturfokus"
 
-#: ../clutter/clutter-stage.c:2106
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "Der aktuelle Akteur im Tastaturfokus"
 
-#: ../clutter/clutter-stage.c:2122
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Keine Leeren-Anweisung"
 
-#: ../clutter/clutter-stage.c:2123
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Gibt an, ob die Szene ihren Inhalt leeren soll"
 
-#: ../clutter/clutter-stage.c:2136
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Fokus annehmen"
 
-#: ../clutter/clutter-stage.c:2137
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Legt fest, ob die Szene bei Anzeige Fokus annehmen soll"
 
-#: ../clutter/clutter-table-layout.c:537
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Spaltennummer"
 
-#: ../clutter/clutter-table-layout.c:538
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "Die Spalte, in dem sich das Widget befindet"
 
-#: ../clutter/clutter-table-layout.c:545
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Zeilennummer"
 
-#: ../clutter/clutter-table-layout.c:546
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "Die Zeile, in dem sich das Widget befindet"
 
-#: ../clutter/clutter-table-layout.c:553
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Spaltenbelegung"
 
-#: ../clutter/clutter-table-layout.c:554
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "Die Anzahl der Spalten, die das Widget belegen soll"
 
-#: ../clutter/clutter-table-layout.c:561
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Zeilenbelegung"
 
-#: ../clutter/clutter-table-layout.c:562
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "Die Anzahl der Zeilen, über die sich das Widget erstrecken soll"
 
-#: ../clutter/clutter-table-layout.c:569
+#: ../clutter/clutter-table-layout.c:575
 msgid "Horizontal Expand"
 msgstr "Horizontal ausdehnen"
 
-#: ../clutter/clutter-table-layout.c:570
+#: ../clutter/clutter-table-layout.c:576
 msgid "Allocate extra space for the child in horizontal axis"
 msgstr ""
 "Zusätzlichen Platz in der horizontalen Achse für das Unterelement zuweisen"
 
-#: ../clutter/clutter-table-layout.c:576
+#: ../clutter/clutter-table-layout.c:582
 msgid "Vertical Expand"
 msgstr "Vertikal ausdehnen"
 
-#: ../clutter/clutter-table-layout.c:577
+#: ../clutter/clutter-table-layout.c:583
 msgid "Allocate extra space for the child in vertical axis"
 msgstr ""
 "Zusätzlichen Platz in der vertikalen Achse für das Unterelement zuweisen"
 
-#: ../clutter/clutter-table-layout.c:1630
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Abstand zwischen Spalten"
 
-#: ../clutter/clutter-table-layout.c:1644
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Abstand zwischen Zeilen"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Text"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Der Inhalt des Puffers"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Textlänge"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Aktuelle Länge des Textes im Puffer"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Maximale Länge"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr ""
 "Maximale Zeichen-Anzahl für diesen Eintrag. Null, wenn es kein Maximum gibt. "
 
-#: ../clutter/clutter-text.c:3375
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Puffer"
 
-#: ../clutter/clutter-text.c:3376
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "Der Text-Puffer"
 
-#: ../clutter/clutter-text.c:3394
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "Die Schriftart des Texts"
 
-#: ../clutter/clutter-text.c:3411
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Schriftartenbeschreibung"
 
-#: ../clutter/clutter-text.c:3412
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "Die zu verwendende Schriftartenbeschreibung"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "Der darzustellende Text"
 
-#: ../clutter/clutter-text.c:3443
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Textfarbe"
 
-#: ../clutter/clutter-text.c:3444
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "Die Farbe des Texts"
 
-#: ../clutter/clutter-text.c:3459
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Bearbeitbar"
 
-#: ../clutter/clutter-text.c:3460
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Legt fest, ob der Text bearbeitet werden kann"
 
-#: ../clutter/clutter-text.c:3475
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Markierbar"
 
-#: ../clutter/clutter-text.c:3476
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Legt fest, ob der Text markierbar ist"
 
-#: ../clutter/clutter-text.c:3490
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Aktivierbar"
 
-#: ../clutter/clutter-text.c:3491
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Legt fest, ob die Eingabetaste ein Senden des aktiven Signals auslöst"
 
-#: ../clutter/clutter-text.c:3508
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Gibt an, ob der Eingabezeiger sichtbar ist"
 
-#: ../clutter/clutter-text.c:3522 ../clutter/clutter-text.c:3523
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Zeigerfarbe"
 
-#: ../clutter/clutter-text.c:3538
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Zeigerfarbe gesetzt"
 
-#: ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Legt fest, ob die Zeigerfarbe festgelegt ist"
 
-#: ../clutter/clutter-text.c:3554
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Zeigergröße"
 
-#: ../clutter/clutter-text.c:3555
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "Die Breite des Zeigers in Pixel"
 
-#: ../clutter/clutter-text.c:3571 ../clutter/clutter-text.c:3589
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Zeigerposition"
 
-#: ../clutter/clutter-text.c:3572 ../clutter/clutter-text.c:3590
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "Die Zeigerposition"
 
-#: ../clutter/clutter-text.c:3605
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Auswahlgrenze"
 
-#: ../clutter/clutter-text.c:3606
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "Die Zeigerposition am anderen Ende der Auswahl"
 
-#: ../clutter/clutter-text.c:3621 ../clutter/clutter-text.c:3622
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Auswahlfarbe"
 
-#: ../clutter/clutter-text.c:3637
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Auswahlfarbe festgelegt"
 
-#: ../clutter/clutter-text.c:3638
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Legt fest, ob die Auswahlfarbe festgelegt ist"
 
-#: ../clutter/clutter-text.c:3653
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Attribute"
 
-#: ../clutter/clutter-text.c:3654
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr ""
 "Eine Liste der Stilattribute, die auf den Inhalt des Akteurs angewendet "
 "werden sollen"
 
-#: ../clutter/clutter-text.c:3676
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Syntax-Hervorhebung verwenden"
 
-#: ../clutter/clutter-text.c:3677
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Legt fest, ob der Text Pango-Markup enthält"
 
-#: ../clutter/clutter-text.c:3693
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Zeilenumbruch"
 
 # Die booleschen Werte sollten wir auf echte GConf- und dconf-Schlüssel beschränken.
-#: ../clutter/clutter-text.c:3694
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Falls gesetzt, Zeilen umbrechen, wenn der Text zu lang wird"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Zeilenumbruchmodus"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Legt fest, wie Zeilen umgebrochen werden"
 
-#: ../clutter/clutter-text.c:3725
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Auslassungen"
 
-#: ../clutter/clutter-text.c:3726
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "Der bevorzugte Ort für Auslassungspunkte in der Zeichenkette"
 
-#: ../clutter/clutter-text.c:3742
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Zeilenausrichtung"
 
-#: ../clutter/clutter-text.c:3743
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Die bevorzugte Zeilenausrichtung für den Text, bei mehrzeiligem Text"
 
-#: ../clutter/clutter-text.c:3759
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Ausrichten"
 
-#: ../clutter/clutter-text.c:3760
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Gibt an, ob der Text ausgerichtet werden soll"
 
-#: ../clutter/clutter-text.c:3775
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Password-Zeichen"
 
-#: ../clutter/clutter-text.c:3776
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Falls nicht Null, so wird dieses Zeichen zum Anzeigen des Akteurinhalts "
 "verwendet"
 
-#: ../clutter/clutter-text.c:3790
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Maximale Länge"
 
-#: ../clutter/clutter-text.c:3791
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Maximale Textlänge innerhalb des Akteurs"
 
-#: ../clutter/clutter-text.c:3814
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Einzeilen-Modus"
 
-#: ../clutter/clutter-text.c:3815
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Legt fest, ob der Text in einer Zeile dargestellt werden soll"
 
-#: ../clutter/clutter-text.c:3829 ../clutter/clutter-text.c:3830
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Auswahltextfarbe"
 
-#: ../clutter/clutter-text.c:3845
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Auswahltextfarbe festgelegt"
 
-#: ../clutter/clutter-text.c:3846
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Legt fest, ob die Auswahltextfarbe festgelegt ist"
 
-#: ../clutter/clutter-timeline.c:593
-#: ../clutter/deprecated/clutter-animation.c:557
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Endlosschleife"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Automatischer Neustart der Zeitlinie"
 
-#: ../clutter/clutter-timeline.c:608
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Verzögerung"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Verzögerung vor dem Start"
 
-#: ../clutter/clutter-timeline.c:624
-#: ../clutter/deprecated/clutter-animation.c:541
-#: ../clutter/deprecated/clutter-animator.c:1801
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1517
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Dauer"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Dauer der Zeitlinie in Millisekunden"
 
-#: ../clutter/clutter-timeline.c:640
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Richtung"
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Richtung der Zeitlinie"
 
-#: ../clutter/clutter-timeline.c:656
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Automatische Umkehrung"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr ""
 "Legt fest, ob die Richtung beim Erreichen des Endes automatisch umgekehrt "
 "werden soll"
 
-#: ../clutter/clutter-timeline.c:675
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Anzahl der Wiederholungen"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "So oft soll sich die Zeitachse wiederholen"
 
-#: ../clutter/clutter-timeline.c:690
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Fortschrittsmodus"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Legt fest, wie die Zeitlinie den Fortschritt berechnen soll"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Intervall"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "Das Zeitintervall der Werte zum Animieren"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Animierbar"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "Das animierbare Objekt"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Bei Abschluss entfernen"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Die Überblendung bei Abschluss abkoppeln"
 
@@ -2092,281 +2074,281 @@ msgstr "Zoom-Achse"
 msgid "Constraints the zoom to an axis"
 msgstr "Beschränkt den Zoom in Richtung einer Achse"
 
-#: ../clutter/deprecated/clutter-alpha.c:354
-#: ../clutter/deprecated/clutter-animation.c:572
-#: ../clutter/deprecated/clutter-animator.c:1818
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "Timeline"
 msgstr "Zeitleiste"
 
-#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "Von Alpha verwendete Zeitlinie"
 
-#: ../clutter/deprecated/clutter-alpha.c:371
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Alpha-Wert"
 
-#: ../clutter/deprecated/clutter-alpha.c:372
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "Alpha-Wert, wie vom Alpha berechnet"
 
-#: ../clutter/deprecated/clutter-alpha.c:393
-#: ../clutter/deprecated/clutter-animation.c:525
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Modus"
 
-#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Fortschrittsmodus"
 
-#: ../clutter/deprecated/clutter-animation.c:508
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Objekt"
 
-#: ../clutter/deprecated/clutter-animation.c:509
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "Objekt, für welches die Animation gilt"
 
-#: ../clutter/deprecated/clutter-animation.c:526
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "Animationsmodus"
 
-#: ../clutter/deprecated/clutter-animation.c:542
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "Dauer der Animation in Millisekunden"
 
-#: ../clutter/deprecated/clutter-animation.c:558
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Legt fest, ob die Animation endlos wiederholt wird"
 
-#: ../clutter/deprecated/clutter-animation.c:573
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "Die von der Animation benutzte Zeitleiste"
 
-#: ../clutter/deprecated/clutter-animation.c:589
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alpha"
 
-#: ../clutter/deprecated/clutter-animation.c:590
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "Der von der Animation verwendete Alpha-Wert"
 
-#: ../clutter/deprecated/clutter-animator.c:1802
+#: ../clutter/deprecated/clutter-animator.c:1805
 msgid "The duration of the animation"
 msgstr "Die Dauer der Animation"
 
-#: ../clutter/deprecated/clutter-animator.c:1819
+#: ../clutter/deprecated/clutter-animator.c:1822
 msgid "The timeline of the animation"
 msgstr "Die Zeitleiste der Animation"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Alpha-Objekt zum Umsetzen des Verhaltens"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Starttiefe"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Anzuwendende initiale Tiefe"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Endtiefe"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Anzuwendende finale Tiefe"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Startwinkel"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Initialer Winkel"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Endwinkel"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Finaler Winkel"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Neigungswinkel der x-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "Neigung der Ellipse an der x-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Neigungswinkel der y-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "Neigung der Ellipse an der y-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Neigungswinkel der z-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "Neigung der Ellipse an der z-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Breite der Ellipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Höhe der Ellipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Mittelpunkt"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Mittelpunkt der Ellipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Rotationsrichtung"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Start-Deckungskraft"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Initialer Deckungskraftgrad"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "End-Deckungskraft"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Finaler Deckungskraftgrad"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr ""
 "Das ClutterPath-Objekt, das den Pfad darstellt, entlang dessen animiert "
 "werden soll"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Anfangswinkel"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Endwinkel"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Rotationsachse"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Mittelpunkt-X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "X-Koordinate des Rotationszentrums"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Mittelpunkt-Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Y-Koordinate des Rotationszentrums"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Mittelpunkt-Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Z-Koordinate des Rotationszentrums"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Startskalierung in X-Richtung"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Initiale Skalierung auf der X-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Endskalierung in X-Richtung"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Finale Skalierung auf der X-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Startskalierung in Y-Richtung"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Initiale Skalierung auf der Y-Achse"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Endskalierung in Y-Richtung"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Finale Skalierung auf der Y-Achse"
 
-#: ../clutter/deprecated/clutter-box.c:257
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "Die Hintergrundfarbe der Box"
 
-#: ../clutter/deprecated/clutter-box.c:270
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Farbe gesetzt"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:593
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Zeichenflächenbreite"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:594
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "Die Breite der Cairo-Zeichenfläche"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:611
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Zeichenflächenhöhe"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:612
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "Die Höhe der Cairo-Zeichenfläche"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:632
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Größe automatisch anpassen"
 
 # Controls whether the #ClutterCairoTexture should automatically resize the Cairo surface whenever the 
actor's allocation changes.
-#: ../clutter/deprecated/clutter-cairo-texture.c:633
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Legt fest, ob die Zeichenfläche mit der Zuordnung übereinstimmen soll"
 
@@ -2438,104 +2420,104 @@ msgstr "Der Füllstand des Puffers"
 msgid "The duration of the stream, in seconds"
 msgstr "Die Dauer des Datenstroms in Sekunden"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "Die Farbe des Rechtecks"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Rahmenfarbe"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "Die Randfarbe des Rechtecks"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Rahmenbreite"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "Die Randbreite des Rechtecks"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Hat Rand"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Gibt an, ob das Rechteck einen Rand haben soll"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Vertex-Quelle"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Quelle des Vertex-Shaders"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Fragment-Quelle"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Quelle des Fragment-Shaders"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Compiliert"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Legt fest, ob der Shader compiliert und gelinkt ist"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Legt fest, ob der Shader aktiviert ist"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "%s-Kompilierung fehlgeschlagen: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Vertex-Shader"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Fragment-Shader"
 
-#: ../clutter/deprecated/clutter-state.c:1499
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "State"
 msgstr "Status"
 
-#: ../clutter/deprecated/clutter-state.c:1500
+#: ../clutter/deprecated/clutter-state.c:1506
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "Gegenwärtig gesetzter Status (Überblendung in diesen Status könnte noch "
 "unvollständig sein)"
 
-#: ../clutter/deprecated/clutter-state.c:1518
+#: ../clutter/deprecated/clutter-state.c:1524
 msgid "Default transition duration"
 msgstr "Voreingestellte Überblenddauer"
 
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Größe des Akteurs abgleichen"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Die Größe des Akteurs automatisch auf die Abmessungen des zugrunde liegenden "
 "Pixbufs abgleichen"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Kacheln deaktivieren"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2543,100 +2525,100 @@ msgstr ""
 "Erzwingt die Singularität der zugrunde liegenden Textur und verhindert die "
 "Erzeugung kleinerer, Platz sparender individueller Texturen"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Kachelverschnitt"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Maximaler Verschnitt einer gekachelten Struktur"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Horizontal wiederholen"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Inhalt wird horizontal wiederholt, anstatt zu skalieren"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Vertikal wiederholen"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Inhalt wird vertikal wiederholt, anstatt zu skalieren"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Filterqualität"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "Darstellungsqualität beim Zeichnen der Textur"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Pixelformat"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "Das zu verwendende Cogl-Pixelformat"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Cogl-Textur"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr ""
 "Das unterliegende Handle der Cogl-Textur, das zum Zeichnen dieses Akteurs "
 "verwendet wird"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Cogl-Material"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 "Das unterliegende Handle des Cogl-Materials, das zum Zeichnen dieses Akteurs "
 "verwendet wird"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "Der Pfad zur Datei, welche die Bilddaten enthält"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Seitenverhältnis beibehalten"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
 msgstr ""
-"Das Seitenverhältnis der Textur beibehalten, wenn eine gewünschte Breite "
-"oder Höhe angefordert wird"
+"Das Seitenverhältnis der Textur beibehalten, wenn eine gewünschte Breite oder "
+"Höhe angefordert wird"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Asynchron laden"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Dateien in einem separaten Thread laden, um ein Blockieren beim Laden von "
 "einem Datenträger zu vermeiden"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Daten asynchron laden"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2644,92 +2626,93 @@ msgstr ""
 "Bilddaten in einem separaten Thread dekodieren, um Blockieren beim Laden von "
 "einem Datenträger zu verringern"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Mit Alpha wählen"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Akteur mit Alphakanal bei der Auswahl formen"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Bilddaten konnten nicht geladen werden"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "YUV-Texturen werden nicht unterstützt"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "YUV2-Texturen werden nicht unterstützt"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:152
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
 msgid "sysfs Path"
 msgstr "sysfs-Pfad"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:153
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
 msgid "Path of the device in sysfs"
 msgstr "Pfad des Geräts in sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:168
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
 msgid "Device Path"
 msgstr "Gerätepfad"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:169
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
 msgid "Path of the device node"
 msgstr "Pfad des Geräteknotens"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr ""
 "Es konnte kein passendes CoglWinsys für ein GdkDisplay des Typs %s gefunden "
 "werden"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Oberfläche"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "Die zugrunde liegende Wayland-Fläche"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Oberflächenbreite"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "Die Weite der zugrunde liegenden Wayland-Fläche"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Oberflächenhöhe"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "Die Höhe der zugrunde liegenden Wayland-Fläche"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:511
 msgid "X display to use"
 msgstr "Zu benutzende X-Anzeige"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:517
 msgid "X screen to use"
 msgstr "Zu benutzender X-Bildschirm"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "Make X calls synchronous"
 msgstr "X-Aufrufe synchronisieren"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
+#: ../clutter/x11/clutter-backend-x11.c:529
+#| msgid "Enable XInput support"
 msgid "Disable XInput support"
 msgstr "XInput-Unterstützung ausschalten"
 
@@ -2737,103 +2720,103 @@ msgstr "XInput-Unterstützung ausschalten"
 msgid "The Clutter backend"
 msgstr "Das Clutter-Backend"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "Zu bindendes X11-Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Breite der Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "Die Breite der an diese Textur gebundenen Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Höhe der Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "Die Höhe der an diese Textur gebundenen Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Tiefe der Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr "Die Tiefe (in Bit) der an diese Textur gebundenen Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Automatische Aktualisierungen"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Legt fest, ob die Textur stets mit Änderungen der Pixmap abgeglichen werden "
 "soll."
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Fenster"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "Das X11-Fenster zur Bindung"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Automatische Fensterumleitung"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Legt fest, ob die Composite-Fensterumleitung automatisch erfolgt (oder "
 "manuell, wenn falsch)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Fenster abgebildet"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Left fest, ob das Fenster abgebildet wird"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Zerstört"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Gibt an, ob das Fenster zerstört worden ist"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "X des Fensters"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "X-Position des Fensters auf dem Bildschirm laut X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Y des Fensters"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "Y-Position des Fensters auf dem Bildschirm laut X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "»Override-Redirect« von Fenster"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Legt fest, ob es sich um ein »Override-Redirect«-Fenster handelt"
 
diff --git a/po/es.po b/po/es.po
index 2df29ad..5b2045c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2,576 +2,682 @@
 # Copyright (C) 2011 clutter's COPYRIGHT HOLDER
 # This file is distributed under the same license as the clutter package.
 # Jorge González <jorgegonz svn gnome org>, 2011.
-# Daniel Mustieles <daniel mustieles gmail com>, 2011, 2012, 2014.
+# Daniel Mustieles <daniel mustieles gmail com>, 2011, 2012.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-05-08 15:06+0000\n"
-"PO-Revision-Date: 2014-05-10 18:14+0200\n"
+"POT-Creation-Date: 2012-12-18 02:00+0000\n"
+"PO-Revision-Date: 2012-12-19 11:02+0100\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
-"Language-Team: Español; Castellano <gnome-es-list gnome org>\n"
+"Language-Team: Español <gnome-es-list gnome org>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: Gtranslator 2.91.5\n"
 
-#: ../clutter/clutter-actor.c:5581
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Coordenada X"
 
-#: ../clutter/clutter-actor.c:5582
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Coordenada X del actor"
 
-#: ../clutter/clutter-actor.c:5600
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Coordenada Y"
 
-#: ../clutter/clutter-actor.c:5601
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Coordenada Y del actor"
 
-#: ../clutter/clutter-actor.c:5623
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Posición"
 
-#: ../clutter/clutter-actor.c:5624
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "La posición de origen del actor"
 
-#: ../clutter/clutter-actor.c:5641 ../clutter/clutter-canvas.c:220
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
 #: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Anchura"
 
-#: ../clutter/clutter-actor.c:5642
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Anchura del actor"
 
-#: ../clutter/clutter-actor.c:5660 ../clutter/clutter-canvas.c:236
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
 #: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Altura"
 
-#: ../clutter/clutter-actor.c:5661
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Altura del actor"
 
-#: ../clutter/clutter-actor.c:5682
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Tamaño"
 
-#: ../clutter/clutter-actor.c:5683
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "El tamaño del actor"
 
-#: ../clutter/clutter-actor.c:5701
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "X fija"
 
-#: ../clutter/clutter-actor.c:5702
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Posición X forzada del actor"
 
-#: ../clutter/clutter-actor.c:5719
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Y fija"
 
-#: ../clutter/clutter-actor.c:5720
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Posición Y forzada del actor"
 
-#: ../clutter/clutter-actor.c:5735
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Posición fija establecida"
 
-#: ../clutter/clutter-actor.c:5736
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Indica si se usa una posición fija para el actor"
 
-#: ../clutter/clutter-actor.c:5754
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Anchura mínima"
 
-#: ../clutter/clutter-actor.c:5755
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Solicitud de anchura mínima forzada para el actor"
 
-#: ../clutter/clutter-actor.c:5773
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Altura mínima"
 
-#: ../clutter/clutter-actor.c:5774
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Solicitud de altura mínima forzada para el actor"
 
-#: ../clutter/clutter-actor.c:5792
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Anchura natural"
 
-#: ../clutter/clutter-actor.c:5793
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Solicitud de anchura natural forzada para el actor"
 
-#: ../clutter/clutter-actor.c:5811
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Altura natural"
 
-#: ../clutter/clutter-actor.c:5812
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Solicitud de altura natural forzada para el actor"
 
-#: ../clutter/clutter-actor.c:5827
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Anchura mínima establecida"
 
-#: ../clutter/clutter-actor.c:5828
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Indica si se usa la propiedad «anchura mínima»"
 
-#: ../clutter/clutter-actor.c:5842
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Altura mínima establecida"
 
-#: ../clutter/clutter-actor.c:5843
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Indica si se usa la propiedad «altura mínima»"
 
-#: ../clutter/clutter-actor.c:5857
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Anchura natural establecida"
 
-#: ../clutter/clutter-actor.c:5858
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Indica si se usa la propiedad «anchura natural»"
 
-#: ../clutter/clutter-actor.c:5872
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Altura natural establecida"
 
-#: ../clutter/clutter-actor.c:5873
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Indica si se usa la propiedad «altura natural»"
 
-#: ../clutter/clutter-actor.c:5889
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Asignación"
 
-#: ../clutter/clutter-actor.c:5890
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "La asignación del actor"
 
-#: ../clutter/clutter-actor.c:5947
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Modo de solicitud"
 
-#: ../clutter/clutter-actor.c:5948
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "El modo de solicitud del actor"
 
-#: ../clutter/clutter-actor.c:5972
+#: ../clutter/clutter-actor.c:6535
+msgid "Depth"
+msgstr "Profundidad"
+
+#: ../clutter/clutter-actor.c:6536
+msgid "Position on the Z axis"
+msgstr "Posición en el eje Z"
+
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Posición Z"
 
-#: ../clutter/clutter-actor.c:5973
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Posición del actor en el eje Z"
 
-#: ../clutter/clutter-actor.c:5990
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Opacidad"
 
-#: ../clutter/clutter-actor.c:5991
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Opacidad de un actor"
 
-#: ../clutter/clutter-actor.c:6011
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Redirección fuera de la pantalla"
 
-#: ../clutter/clutter-actor.c:6012
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Opciones que controlan si se debe aplanar el actor en una única imagen"
 
-#: ../clutter/clutter-actor.c:6026
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Visible"
 
-#: ../clutter/clutter-actor.c:6027
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Indica si el actor es visible o no"
 
-#: ../clutter/clutter-actor.c:6041
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Mapeado"
 
-#: ../clutter/clutter-actor.c:6042
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Indica si se dibujará el actor"
 
-#: ../clutter/clutter-actor.c:6055
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Realizado"
 
-#: ../clutter/clutter-actor.c:6056
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Indica si el actor se ha realizado"
 
-#: ../clutter/clutter-actor.c:6071
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Reactivo"
 
-#: ../clutter/clutter-actor.c:6072
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Indica si el actor es reactivo a eventos"
 
-#: ../clutter/clutter-actor.c:6083
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Tiene recorte"
 
-#: ../clutter/clutter-actor.c:6084
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Indica si el actor tiene un conjunto de recortes"
 
-#: ../clutter/clutter-actor.c:6103
+#: ../clutter/clutter-actor.c:6688
+msgid "Clip"
+msgstr "Recortar"
+
+#: ../clutter/clutter-actor.c:6689
+msgid "The clip region for the actor"
+msgstr "La región de recorte del actor"
+
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Recortar rectángulo"
 
-#: ../clutter/clutter-actor.c:6104
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "La región visible del actor"
 
-#: ../clutter/clutter-actor.c:6118 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nombre"
 
-#: ../clutter/clutter-actor.c:6119
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Nombre del actor"
 
-#: ../clutter/clutter-actor.c:6140
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Punto de pivote"
 
-#: ../clutter/clutter-actor.c:6141
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "El punto alrededor del cual sucede el escalado y la rotación"
 
-#: ../clutter/clutter-actor.c:6159
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Punto de pivote Z"
 
-#: ../clutter/clutter-actor.c:6160
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Componente Z del punto de anclado"
 
-#: ../clutter/clutter-actor.c:6178
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Escala en X"
 
-#: ../clutter/clutter-actor.c:6179
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Factor de escala en el eje X"
 
-#: ../clutter/clutter-actor.c:6197
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Escala en Y"
 
-#: ../clutter/clutter-actor.c:6198
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Factor de escala en el eje Y"
 
-#: ../clutter/clutter-actor.c:6216
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Escala en Z"
 
-#: ../clutter/clutter-actor.c:6217
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Factor de escala en el eje Z"
 
-#: ../clutter/clutter-actor.c:6235
+#: ../clutter/clutter-actor.c:6840
+msgid "Scale Center X"
+msgstr "Centro X del escalado"
+
+#: ../clutter/clutter-actor.c:6841
+msgid "Horizontal scale center"
+msgstr "Centro de la escala horizontal"
+
+#: ../clutter/clutter-actor.c:6859
+msgid "Scale Center Y"
+msgstr "Centro Y del escalado"
+
+#: ../clutter/clutter-actor.c:6860
+msgid "Vertical scale center"
+msgstr "Centro de la escala vertical"
+
+#: ../clutter/clutter-actor.c:6878
+msgid "Scale Gravity"
+msgstr "Gravedad del escalado"
+
+#: ../clutter/clutter-actor.c:6879
+msgid "The center of scaling"
+msgstr "El centro del escalado"
+
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Ángulo de rotación X"
 
-#: ../clutter/clutter-actor.c:6236
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "El ángulo de rotación en el eje X"
 
-#: ../clutter/clutter-actor.c:6254
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Ángulo de rotación Y"
 
-#: ../clutter/clutter-actor.c:6255
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "El ángulo de rotación en el eje Y"
 
-#: ../clutter/clutter-actor.c:6273
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Ángulo de rotación Z"
 
-#: ../clutter/clutter-actor.c:6274
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "El ángulo de rotación en el eje Z"
 
-#: ../clutter/clutter-actor.c:6293
+#: ../clutter/clutter-actor.c:6954
+msgid "Rotation Center X"
+msgstr "Centro de rotación X"
+
+#: ../clutter/clutter-actor.c:6955
+msgid "The rotation center on the X axis"
+msgstr "El ángulo de rotación en el eje Y"
+
+#: ../clutter/clutter-actor.c:6972
+msgid "Rotation Center Y"
+msgstr "Centro de rotación Y"
+
+#: ../clutter/clutter-actor.c:6973
+msgid "The rotation center on the Y axis"
+msgstr "En centro de la rotación en el eje Y"
+
+#: ../clutter/clutter-actor.c:6990
+msgid "Rotation Center Z"
+msgstr "Centro de rotación Z"
+
+#: ../clutter/clutter-actor.c:6991
+msgid "The rotation center on the Z axis"
+msgstr "El ángulo de rotación en el eje Z"
+
+#: ../clutter/clutter-actor.c:7008
+msgid "Rotation Center Z Gravity"
+msgstr "Gravedad del centro de rotación Z"
+
+#: ../clutter/clutter-actor.c:7009
+msgid "Center point for rotation around the Z axis"
+msgstr "Punto central de la rotación alrededor del eje Z"
+
+#: ../clutter/clutter-actor.c:7037
+msgid "Anchor X"
+msgstr "Ancla X"
+
+#: ../clutter/clutter-actor.c:7038
+msgid "X coordinate of the anchor point"
+msgstr "Coordenada X del punto de anclado"
+
+#: ../clutter/clutter-actor.c:7066
+msgid "Anchor Y"
+msgstr "Ancla Y"
+
+#: ../clutter/clutter-actor.c:7067
+msgid "Y coordinate of the anchor point"
+msgstr "Coordenada Y del punto de anclado"
+
+#: ../clutter/clutter-actor.c:7094
+msgid "Anchor Gravity"
+msgstr "Gravedad del ancla"
+
+#: ../clutter/clutter-actor.c:7095
+msgid "The anchor point as a ClutterGravity"
+msgstr "El punto de anclado como un «ClutterGravity»"
+
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Traslación X"
 
-#: ../clutter/clutter-actor.c:6294
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Traslación en el eje X"
 
-#: ../clutter/clutter-actor.c:6313
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Traslación Y"
 
-#: ../clutter/clutter-actor.c:6314
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Traslación en el eje Y"
 
-#: ../clutter/clutter-actor.c:6333
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Traslación Z"
 
-#: ../clutter/clutter-actor.c:6334
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Traslación en el eje Z"
 
-#: ../clutter/clutter-actor.c:6362
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Transformar"
 
-#: ../clutter/clutter-actor.c:6363
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Matriz de transformación"
 
-#: ../clutter/clutter-actor.c:6376
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Transformar conjunto"
 
-#: ../clutter/clutter-actor.c:6377
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Indica si la propiedad de transformación está establecida"
 
-#: ../clutter/clutter-actor.c:6396
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Transformar hijo"
 
-#: ../clutter/clutter-actor.c:6397
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Matriz de transformación del hijo"
 
-#: ../clutter/clutter-actor.c:6412
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Transformar hijo establecida"
 
-#: ../clutter/clutter-actor.c:6413
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Indica si la propiedad de transformación del hijo está establecida"
 
-#: ../clutter/clutter-actor.c:6431
+#: ../clutter/clutter-actor.c:7257
+msgid "Show on set parent"
+msgstr "Mostrar en el conjunto padre"
+
+#: ../clutter/clutter-actor.c:7258
+msgid "Whether the actor is shown when parented"
+msgstr "Indica si el actor se muestra cuando tiene padre"
+
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Recortar a la asignación"
 
-#: ../clutter/clutter-actor.c:6432
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Configura la región de recorte para seguir la ubicación del actor"
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Dirección del texto"
 
-#: ../clutter/clutter-actor.c:6446
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Dirección del texto"
 
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Tiene puntero"
 
-#: ../clutter/clutter-actor.c:6462
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Indica si el actor contiene un puntero a un dispositivo de entrada"
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Acciones"
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Añade una acción al actor"
 
-#: ../clutter/clutter-actor.c:6489
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Restricciones"
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Añade una restricción al actor"
 
-#: ../clutter/clutter-actor.c:6503
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Efecto"
 
-#: ../clutter/clutter-actor.c:6504
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Añadir un efecto que aplicar al actor"
 
-#: ../clutter/clutter-actor.c:6518
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Gestor de distribución"
 
-#: ../clutter/clutter-actor.c:6519
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "El objeto que controla la distribución del hijo de un actor"
 
-#: ../clutter/clutter-actor.c:6533
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Expansión X"
 
-#: ../clutter/clutter-actor.c:6534
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Indica si se debe asignar al actor el espacio horizontal adicional"
 
-#: ../clutter/clutter-actor.c:6549
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Expansión Y"
 
-#: ../clutter/clutter-actor.c:6550
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Indica si se debe asignar al actor el espacio vertical adicional"
 
-#: ../clutter/clutter-actor.c:6566
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Alineación X"
 
-#: ../clutter/clutter-actor.c:6567
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "La alineación del actor en el eje X en su asignación"
 
-#: ../clutter/clutter-actor.c:6582
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Alineación Y"
 
-#: ../clutter/clutter-actor.c:6583
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "La alineación del actor en el eje Y en su asignación"
 
-#: ../clutter/clutter-actor.c:6602
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Margen superior"
 
-#: ../clutter/clutter-actor.c:6603
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Espacio superior adicional"
 
-#: ../clutter/clutter-actor.c:6624
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Margen inferior"
 
-#: ../clutter/clutter-actor.c:6625
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Espacio inferior adicional"
 
-#: ../clutter/clutter-actor.c:6646
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Margen izquierdo"
 
-#: ../clutter/clutter-actor.c:6647
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Espacio adicional a la izquierda"
 
-#: ../clutter/clutter-actor.c:6668
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Margen derecho"
 
-#: ../clutter/clutter-actor.c:6669
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Espacio adicional a la derecha"
 
-#: ../clutter/clutter-actor.c:6685
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Conjunto de colores de fondo"
 
-#: ../clutter/clutter-actor.c:6686
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Indica si el color de fondo está establecido"
 
-#: ../clutter/clutter-actor.c:6702
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Color de fondo"
 
-#: ../clutter/clutter-actor.c:6703
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "El color de fondo del actor"
 
-#: ../clutter/clutter-actor.c:6718
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Primer hijo"
 
-#: ../clutter/clutter-actor.c:6719
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "El primer hijo del actor"
 
-#: ../clutter/clutter-actor.c:6732
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Último hijo"
 
-#: ../clutter/clutter-actor.c:6733
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "La último hijo del actor"
 
-#: ../clutter/clutter-actor.c:6747
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Contenido"
 
-#: ../clutter/clutter-actor.c:6748
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Delegar objeto para pintar el contenido del actor"
 
-#: ../clutter/clutter-actor.c:6773
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Gravedad del contenido"
 
-#: ../clutter/clutter-actor.c:6774
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Alineación del contenido del actor"
 
-#: ../clutter/clutter-actor.c:6794
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Caja del contenido"
 
-#: ../clutter/clutter-actor.c:6795
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "La caja que rodea al contenido del actor"
 
-#: ../clutter/clutter-actor.c:6803
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Filtro de reducción"
 
-#: ../clutter/clutter-actor.c:6804
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "El filtro usado al reducir el tamaño del contenido"
 
-#: ../clutter/clutter-actor.c:6811
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Filtro de ampliación"
 
-#: ../clutter/clutter-actor.c:6812
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "El filtro usado al aumentar el tamaño del contenido"
 
-#: ../clutter/clutter-actor.c:6826
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Repetir contenido"
 
-#: ../clutter/clutter-actor.c:6827
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "La política de repetición del contenido del actor"
 
@@ -588,6 +694,7 @@ msgid "The name of the meta"
 msgstr "El nombre de la meta"
 
 #: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Activada"
 
@@ -622,15 +729,14 @@ msgstr "Factor"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "El factor de alineación, entre 0.0 y 1.0"
 
-#: ../clutter/clutter-backend.c:373
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "No se pudo inicializar el backend de Clutter"
 
-#: ../clutter/clutter-backend.c:447
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
-msgstr ""
-"El backend del tipo «%s» no soporta la creación de múltiples escenarios"
+msgstr "El backend del tipo «%s» no soporta la creación de múltiples escenarios"
 
 #: ../clutter/clutter-bind-constraint.c:359
 msgid "The source of the binding"
@@ -658,43 +764,145 @@ msgstr "El desplazamiento en píxeles que aplicar a la asociación"
 msgid "The unique name of the binding pool"
 msgstr "El nombre único de la asociación de la agrupación"
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
+msgid "Horizontal Alignment"
+msgstr "Alineación horizontal"
+
+#: ../clutter/clutter-bin-layout.c:241
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr "Alineación horizontal del actor dentro del gestor de distribución"
+
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
+msgid "Vertical Alignment"
+msgstr "Alineación vertical"
+
+#: ../clutter/clutter-bin-layout.c:250
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr "Alineación vertical del actor dentro del gestor de distribución"
+
+#: ../clutter/clutter-bin-layout.c:656
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr ""
+"Alineación horizontal predeterminada de los actores dentro del gestor de "
+"distribución"
+
+#: ../clutter/clutter-bin-layout.c:676
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr ""
+"Alineación vertical predeterminada de los actores dentro del gestor de "
+"distribución"
+
+#: ../clutter/clutter-box-layout.c:365
+msgid "Expand"
+msgstr "Expandir"
+
+#: ../clutter/clutter-box-layout.c:366
+msgid "Allocate extra space for the child"
+msgstr "Asignar espacio adicional para el hijo"
+
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
+msgid "Horizontal Fill"
+msgstr "Relleno horizontal"
+
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+"Indica si el hijo debe tener prioridad cuando el contenedor reserve espacio "
+"libre en el eje horizontal"
+
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
+msgid "Vertical Fill"
+msgstr "Relleno vertical"
+
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+"Indica si el hijo debe tener prioridad cuando el contenedor reserve espacio "
+"libre en el eje vertical"
+
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
+msgid "Horizontal alignment of the actor within the cell"
+msgstr "Alineación horizontal del actor en la celda"
+
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
+msgid "Vertical alignment of the actor within the cell"
+msgstr "Alineación vertical del actor en la celda"
+
+#: ../clutter/clutter-box-layout.c:1365
+msgid "Vertical"
+msgstr "Vertical"
+
+#: ../clutter/clutter-box-layout.c:1366
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "Indica si la distribución debe ser vertical, en lugar de horizontal"
+
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
 #: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientación"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
 #: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "La orientación de la disposición"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogénea"
 
-#: ../clutter/clutter-box-layout.c:986
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Indica si la distribución debe ser homogénea, ej. todos los hijos tienen el "
 "mismo tamaño"
 
-#: ../clutter/clutter-box-layout.c:1001
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Empaquetar al principio"
 
-#: ../clutter/clutter-box-layout.c:1002
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Indica si se empaquetan los elementos al principio de la caja"
 
-#: ../clutter/clutter-box-layout.c:1015
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Espaciado"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Espaciado entre hijos"
 
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
+msgid "Use Animations"
+msgstr "Usar animaciones"
+
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
+msgid "Whether layout changes should be animated"
+msgstr "Indica si se deben animar lo cambios en la distribución"
+
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
+msgid "Easing Mode"
+msgstr "Modo de desaceleración"
+
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
+msgid "The easing mode of the animations"
+msgstr "El modo de desaceleración de las animaciones"
+
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
+msgid "Easing Duration"
+msgstr "Duración de la desaceleración"
+
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
+msgid "The duration of the animations"
+msgstr "La duración de las animaciones"
+
 #: ../clutter/clutter-brightness-contrast-effect.c:321
 msgid "Brightness"
 msgstr "Brillo"
@@ -711,11 +919,11 @@ msgstr "Contraste"
 msgid "The contrast change to apply"
 msgstr "El cambio del contraste que aplicar"
 
-#: ../clutter/clutter-canvas.c:221
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "La anchura del lienzo"
 
-#: ../clutter/clutter-canvas.c:237
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "La altura del lienzo"
 
@@ -747,7 +955,7 @@ msgstr "Retenido"
 msgid "Whether the clickable has a grab"
 msgstr "Indica si el dispositivo tiene un tirador"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Duración de la pulsación larga"
 
@@ -775,27 +983,27 @@ msgstr "Matiz"
 msgid "The tint to apply"
 msgstr "El matiz que aplicar"
 
-#: ../clutter/clutter-deform-effect.c:594
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Cuadros horizontales"
 
-#: ../clutter/clutter-deform-effect.c:595
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "El número de cuadros horizontales"
 
-#: ../clutter/clutter-deform-effect.c:610
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Cuadros verticales"
 
-#: ../clutter/clutter-deform-effect.c:611
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "El número de cuadros verticales"
 
-#: ../clutter/clutter-deform-effect.c:628
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Material trasero"
 
-#: ../clutter/clutter-deform-effect.c:629
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "El material que usar para pintar la parte trasera del actor"
 
@@ -805,7 +1013,7 @@ msgstr "El factor de desaturación"
 
 #: ../clutter/clutter-device-manager.c:131
 #: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Backend"
 
@@ -813,121 +1021,107 @@ msgstr "Backend"
 msgid "The ClutterBackend of the device manager"
 msgstr "El «ClutterBackend» del gestor de dispositivos"
 
-#: ../clutter/clutter-drag-action.c:750
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Umbral de arrastre horizontal"
 
-#: ../clutter/clutter-drag-action.c:751
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "La cantidad de píxeles horizontales requeridos para empezar a arrastrar"
 
-#: ../clutter/clutter-drag-action.c:778
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Umbral de arrastre vertical"
 
-#: ../clutter/clutter-drag-action.c:779
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "La cantidad de píxeles verticales requeridos para empezar a arrastrar"
 
-#: ../clutter/clutter-drag-action.c:800
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Arrastrar el tirador"
 
-#: ../clutter/clutter-drag-action.c:801
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "El actor que se está arrastrando"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Arrastrar ejes"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Restringe el arrastrado a un eje"
 
-#: ../clutter/clutter-drag-action.c:831
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Arrastrar área"
 
-#: ../clutter/clutter-drag-action.c:832
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Restringe el arrastrado a un rectángulo"
 
-#: ../clutter/clutter-drag-action.c:845
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Arrastrar área establecida"
 
-#: ../clutter/clutter-drag-action.c:846
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Indica si la propiedad de arrastrar área está establecida"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Indica si cada elemento debe recibir la misma asignación"
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Espaciado entre columnas"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "El espaciado entre columnas"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Espaciado entre filas"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "El espaciado entre filas"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Anchura mínima de la columna"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Anchura mínima de cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Anchura máxima de la columna"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Anchura máxima de cada columna"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Altura mínima de la fila"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Altura mínima de cada fila"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Altura máxima de la fila"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Altura máxima de cada fila"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "Ajustar a la cuadrícula"
-
-#: ../clutter/clutter-gesture-action.c:644
-#| msgid "Number of Axes"
-msgid "Number touch points"
-msgstr "Numerar puntos táctiles"
-
-#: ../clutter/clutter-gesture-action.c:645
-#| msgid "Number of Axes"
-msgid "Number of touch points"
-msgstr "Número de puntos táctiles"
-
 #: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Acoplado izquierdo"
@@ -1049,27 +1243,27 @@ msgstr "El número de ejes en el dispositivo"
 msgid "The backend instance"
 msgstr "La instancia del backend"
 
-#: ../clutter/clutter-interval.c:489
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Tipo de valor"
 
-#: ../clutter/clutter-interval.c:490
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "El tipo de valores en el intervalo"
 
-#: ../clutter/clutter-interval.c:505
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valor inicial"
 
-#: ../clutter/clutter-interval.c:506
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Valor inicial del intervalo"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valor final"
 
-#: ../clutter/clutter-interval.c:521
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Valor final del intervalo"
 
@@ -1088,95 +1282,96 @@ msgstr "El gestor que ha creado este dato"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:697
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1463
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Mostrar fotogramas por segundo"
 
-#: ../clutter/clutter-main.c:1465
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Velocidad de fotogramas predeterminada"
 
-#: ../clutter/clutter-main.c:1467
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Hacer que todos los avisos actúen como errores"
 
-#: ../clutter/clutter-main.c:1470
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Dirección del texto"
 
-#: ../clutter/clutter-main.c:1473
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Desactivar «mipmapping» en el texto"
 
-#: ../clutter/clutter-main.c:1476
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Usar selección «difusa»"
 
-#: ../clutter/clutter-main.c:1479
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Opciones de depuración de Clutter que establecer"
 
-#: ../clutter/clutter-main.c:1481
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Opciones de depuración de Clutter que no establecer"
 
-#: ../clutter/clutter-main.c:1485
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Opciones de perfil de Clutter que establecer"
 
-#: ../clutter/clutter-main.c:1487
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Opciones de perfil de Clutter que no establecer"
 
-#: ../clutter/clutter-main.c:1490
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Activar accesibilidad"
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Opciones de Clutter"
 
-#: ../clutter/clutter-main.c:1683
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Mostrar las opciones de Clutter"
 
-#: ../clutter/clutter-pan-action.c:444
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Eje de movimiento horizontal"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Restringe el movimiento horizontal a un eje"
 
-#: ../clutter/clutter-pan-action.c:457
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolar"
 
-#: ../clutter/clutter-pan-action.c:458
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Indica si la emisión de eventos interpolados está activada."
 
-#: ../clutter/clutter-pan-action.c:472
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Deceleración"
 
-#: ../clutter/clutter-pan-action.c:473
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Tasa a la que el movimiento horizontal interpolado decelerará"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Factor inicial de aceleración"
 
-#: ../clutter/clutter-pan-action.c:489
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Factor aplicado al momento al iniciar la fase de interpolación"
 
 #: ../clutter/clutter-path-constraint.c:212
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Ruta"
 
@@ -1196,80 +1391,81 @@ msgstr "Nombre de la propiedad"
 msgid "The name of the property to animate"
 msgstr "El nombre de la propiedad que animar"
 
-#: ../clutter/clutter-script.c:350
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Conjunto de nombres de archivo"
 
-#: ../clutter/clutter-script.c:351
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Indica si la propiedad «:filename» está establecida"
 
-#: ../clutter/clutter-script.c:365
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nombre de archivo"
 
-#: ../clutter/clutter-script.c:366
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "La ruta del archivo analizado actualmente"
 
-#: ../clutter/clutter-script.c:383
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Dominio de traducción"
 
-#: ../clutter/clutter-script.c:384
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "El dominio de traducción usado para localizar cadenas"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Modo de desplazamiento"
 
-#: ../clutter/clutter-scroll-actor.c:191
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "La dirección del desplazamiento"
 
-#: ../clutter/clutter-settings.c:424
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Tiempo de la doble pulsación"
 
-#: ../clutter/clutter-settings.c:425
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr ""
 "El tiempo necesario entre pulsaciones para detectar una pulsación múltiple"
 
-#: ../clutter/clutter-settings.c:440
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Distancia de la doble pulsación"
 
-#: ../clutter/clutter-settings.c:441
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "La distancia necesaria entre pulsaciones para detectar una pulsación múltiple"
 
-#: ../clutter/clutter-settings.c:456
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Umbral de arrastre"
 
-#: ../clutter/clutter-settings.c:457
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "La distancia que el cursor debe recorrer antes de empezar a arrastrar"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3369
 msgid "Font Name"
 msgstr "Nombre de la tipografía"
 
-#: ../clutter/clutter-settings.c:473
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "La descripción de la tipografía predeterminada, como una que Pango pueda "
 "analizar"
 
-#: ../clutter/clutter-settings.c:488
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Alisado de la tipografía"
 
-#: ../clutter/clutter-settings.c:489
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1277,63 +1473,62 @@ msgstr ""
 "Indica si se debe usar alisado (1 para activar, 0 para desactivar y -1 para "
 "usar la opción predeterminada)"
 
-#: ../clutter/clutter-settings.c:505
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "PPP de la tipografía"
 
-#: ../clutter/clutter-settings.c:506
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "La resolución de la tipografía, en 1024 * puntos/pulgada, o -1 para usar la "
 "predeterminada"
 
-#: ../clutter/clutter-settings.c:522
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Contorno de la tipografía"
 
-#: ../clutter/clutter-settings.c:523
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Indica si se debe usar contorno (1 para activar, 0 para desactivar y -1 para "
 "usar la opción predeterminada)"
 
-#: ../clutter/clutter-settings.c:544
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Estilo de contorno de la tipografía"
 
-#: ../clutter/clutter-settings.c:545
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr ""
 "El estilo del contorno («hintnone», «hintslight», «hintmedium», «hintfull»)"
 
-#: ../clutter/clutter-settings.c:566
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Orden de tipografías del subpíxel"
 
-#: ../clutter/clutter-settings.c:567
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
-msgstr ""
-"El tipo de suavizado del subpíxel («none», «rgb», «bgr», «vrgb», «vbgr»)"
+msgstr "El tipo de suavizado del subpíxel («none», «rgb», «bgr», «vrgb», «vbgr»)"
 
-#: ../clutter/clutter-settings.c:584
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "La duración mínima de una pulsación larga para reconocer el gesto"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Configuración de la marca de tiempo de fontconfig"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Marca de tiempo de la configuración actual de fontconfig"
 
-#: ../clutter/clutter-settings.c:609
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Tiempo de la sugerencia de la contraseña"
 
-#: ../clutter/clutter-settings.c:610
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr "Cuánto tiempo mostrar el último carácter en entradas ocultas"
 
@@ -1369,391 +1564,456 @@ msgstr "El borde de la fuente que se debe romper"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "El desplazamiento en píxeles que aplicar a la restricción"
 
-#: ../clutter/clutter-stage.c:1830
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "Conjunto a pantalla completa"
 
-#: ../clutter/clutter-stage.c:1831
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Indica si el escenario principal está a pantalla completa"
 
-#: ../clutter/clutter-stage.c:1843 ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-stage.c:1910
+msgid "Offscreen"
+msgstr "Fuera de la pantalla"
+
+#: ../clutter/clutter-stage.c:1911
+msgid "Whether the main stage should be rendered offscreen"
+msgstr ""
+"Indica si el escenario principal se debe renderizar fuera de la pantalla"
+
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3483
 msgid "Cursor Visible"
 msgstr "Cursor visible"
 
-#: ../clutter/clutter-stage.c:1844
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Indica si el puntero del ratón es visible en el escenario principal"
 
-#: ../clutter/clutter-stage.c:1858
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Redimensionable por el usuario"
 
-#: ../clutter/clutter-stage.c:1859
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr ""
 "Indica si el escenario se puede redimensionar mediante interacción del "
 "usuario"
 
-#: ../clutter/clutter-stage.c:1874
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
+msgid "Color"
+msgstr "Color"
+
+#: ../clutter/clutter-stage.c:1955
+msgid "The color of the stage"
+msgstr "El color del escenario"
+
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Perspectiva"
 
-#: ../clutter/clutter-stage.c:1875
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Parámetros de proyección de perspectiva"
 
-#: ../clutter/clutter-stage.c:1890
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Título"
 
-#: ../clutter/clutter-stage.c:1891
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Título del escenario"
 
-#: ../clutter/clutter-stage.c:1907
+#: ../clutter/clutter-stage.c:2004
+msgid "Use Fog"
+msgstr "Usar niebla"
+
+#: ../clutter/clutter-stage.c:2005
+msgid "Whether to enable depth cueing"
+msgstr "Indica si activar el indicador de profundidad"
+
+#: ../clutter/clutter-stage.c:2021
+msgid "Fog"
+msgstr "Niebla"
+
+#: ../clutter/clutter-stage.c:2022
+msgid "Settings for the depth cueing"
+msgstr "Configuración para el indicador de profundidad"
+
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Usar alfa"
 
-#: ../clutter/clutter-stage.c:1908
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Indica si se usa la componente alfa del color del escenario"
 
-#: ../clutter/clutter-stage.c:1924
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Foco de la tecla"
 
-#: ../clutter/clutter-stage.c:1925
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "El actor que actualmente tiene el foco"
 
-#: ../clutter/clutter-stage.c:1941
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "No limpiar el contorno"
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Indica si el escenario debe limpiar su contenido"
 
-#: ../clutter/clutter-stage.c:1955
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Aceptar foco"
 
-#: ../clutter/clutter-stage.c:1956
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Indica si el escenario debe aceptar el foco al mostrarse"
 
-#: ../clutter/clutter-table-layout.c:331
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Número de columna"
 
-#: ../clutter/clutter-table-layout.c:332
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "La columna en la que está en widget"
 
-#: ../clutter/clutter-table-layout.c:339
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Número de fila"
 
-#: ../clutter/clutter-table-layout.c:340
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "La fila en la que está en widget"
 
-#: ../clutter/clutter-table-layout.c:347
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Espaciado entre columnas"
 
-#: ../clutter/clutter-table-layout.c:348
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "El número de columnas que el widget debe expandirse"
 
-#: ../clutter/clutter-table-layout.c:355
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Espaciado entre filas"
 
-#: ../clutter/clutter-table-layout.c:356
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "El número de filas que el widget debe expandirse"
 
-#: ../clutter/clutter-table-layout.c:1282
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Expansión horizontal"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Asignar espacio adicional para el hijo en el eje horizontal"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Expansión vertical"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Asignar espacio adicional para el hijo en el eje vertical"
+
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Espaciado entre columnas"
 
-#: ../clutter/clutter-table-layout.c:1296
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Espaciado entre filas"
 
-#: ../clutter/clutter-text-buffer.c:349 ../clutter/clutter-text.c:3387
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3404
 msgid "Text"
 msgstr "Texto"
 
-#: ../clutter/clutter-text-buffer.c:350
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "El contenido del búfer"
 
-#: ../clutter/clutter-text-buffer.c:363
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Longitud del texto"
 
-#: ../clutter/clutter-text-buffer.c:364
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Longitud del texto actualmente en el búfer"
 
-#: ../clutter/clutter-text-buffer.c:377
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Longitud máxima"
 
-#: ../clutter/clutter-text-buffer.c:378
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Número máximo de caracteres para esta entrada. Cero si no hay máximo"
 
-#: ../clutter/clutter-text.c:3340
+#: ../clutter/clutter-text.c:3351
 msgid "Buffer"
 msgstr "Búfer"
 
-#: ../clutter/clutter-text.c:3341
+#: ../clutter/clutter-text.c:3352
 msgid "The buffer for the text"
 msgstr "El búfer para el texto"
 
-#: ../clutter/clutter-text.c:3357
+#: ../clutter/clutter-text.c:3370
 msgid "The font to be used by the text"
 msgstr "La tipografía usada para el texto"
 
-#: ../clutter/clutter-text.c:3372
+#: ../clutter/clutter-text.c:3387
 msgid "Font Description"
 msgstr "Descripción de la tipografía"
 
-#: ../clutter/clutter-text.c:3373
+#: ../clutter/clutter-text.c:3388
 msgid "The font description to be used"
 msgstr "La descripción de la tipografía que usar"
 
-#: ../clutter/clutter-text.c:3388
+#: ../clutter/clutter-text.c:3405
 msgid "The text to render"
 msgstr "El texto que renderizar"
 
-#: ../clutter/clutter-text.c:3400
+#: ../clutter/clutter-text.c:3419
 msgid "Font Color"
 msgstr "Color de la tipografía"
 
-#: ../clutter/clutter-text.c:3401
+#: ../clutter/clutter-text.c:3420
 msgid "Color of the font used by the text"
 msgstr "Color de la tipografía usada por el texto"
 
-#: ../clutter/clutter-text.c:3414
+#: ../clutter/clutter-text.c:3435
 msgid "Editable"
 msgstr "Editable"
 
-#: ../clutter/clutter-text.c:3415
+#: ../clutter/clutter-text.c:3436
 msgid "Whether the text is editable"
 msgstr "Indica si el texto es editable"
 
-#: ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text.c:3451
 msgid "Selectable"
 msgstr "Seleccionable"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3452
 msgid "Whether the text is selectable"
 msgstr "Indica si el texto es seleccionable"
 
-#: ../clutter/clutter-text.c:3441
+#: ../clutter/clutter-text.c:3466
 msgid "Activatable"
 msgstr "Activable"
 
-#: ../clutter/clutter-text.c:3442
+#: ../clutter/clutter-text.c:3467
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Indica si al pulsar «Intro» hace que se emita la señal de activación"
 
-#: ../clutter/clutter-text.c:3457
+#: ../clutter/clutter-text.c:3484
 msgid "Whether the input cursor is visible"
 msgstr "Indica si el cursor de entrada es visible"
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: ../clutter/clutter-text.c:3498 ../clutter/clutter-text.c:3499
 msgid "Cursor Color"
 msgstr "Color del cursor"
 
-#: ../clutter/clutter-text.c:3483
+#: ../clutter/clutter-text.c:3514
 msgid "Cursor Color Set"
 msgstr "Conjunto de colores del cursor"
 
-#: ../clutter/clutter-text.c:3484
+#: ../clutter/clutter-text.c:3515
 msgid "Whether the cursor color has been set"
 msgstr "Indica si se ha establecido el color del cursor"
 
-#: ../clutter/clutter-text.c:3497
+#: ../clutter/clutter-text.c:3530
 msgid "Cursor Size"
 msgstr "Tamaño del cursor"
 
-#: ../clutter/clutter-text.c:3498
+#: ../clutter/clutter-text.c:3531
 msgid "The width of the cursor, in pixels"
 msgstr "La anchura del cursor, en píxeles"
 
-#: ../clutter/clutter-text.c:3510
+#: ../clutter/clutter-text.c:3547 ../clutter/clutter-text.c:3565
 msgid "Cursor Position"
 msgstr "Posición del cursor"
 
-#: ../clutter/clutter-text.c:3511
+#: ../clutter/clutter-text.c:3548 ../clutter/clutter-text.c:3566
 msgid "The cursor position"
 msgstr "La posición del cursor"
 
-#: ../clutter/clutter-text.c:3524
+#: ../clutter/clutter-text.c:3581
 msgid "Selection-bound"
 msgstr "Destino de la selección"
 
-#: ../clutter/clutter-text.c:3525
+#: ../clutter/clutter-text.c:3582
 msgid "The cursor position of the other end of the selection"
 msgstr "La posición del cursor del otro final de la selección"
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3597 ../clutter/clutter-text.c:3598
 msgid "Selection Color"
 msgstr "Selección de color"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3613
 msgid "Selection Color Set"
 msgstr "Conjunto de selección de colores"
 
-#: ../clutter/clutter-text.c:3553
+#: ../clutter/clutter-text.c:3614
 msgid "Whether the selection color has been set"
 msgstr "Indica si se ha establecido el color de la selección"
 
-#: ../clutter/clutter-text.c:3566
+#: ../clutter/clutter-text.c:3629
 msgid "Attributes"
 msgstr "Atributos"
 
-#: ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3630
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr ""
 "Una lista de atributos de estilo que aplicar a los contenidos del actor"
 
-#: ../clutter/clutter-text.c:3587
+#: ../clutter/clutter-text.c:3652
 msgid "Use markup"
 msgstr "Usar marcado"
 
-#: ../clutter/clutter-text.c:3588
+#: ../clutter/clutter-text.c:3653
 msgid "Whether or not the text includes Pango markup"
 msgstr "Indica si el texto incluye o no el marcado de Pango"
 
-#: ../clutter/clutter-text.c:3602
+#: ../clutter/clutter-text.c:3669
 msgid "Line wrap"
 msgstr "Ajuste de línea"
 
-#: ../clutter/clutter-text.c:3603
+#: ../clutter/clutter-text.c:3670
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr ""
 "Si está definido, ajustar las líneas si el texto se vuelve demasiado ancho"
 
-#: ../clutter/clutter-text.c:3616
+#: ../clutter/clutter-text.c:3685
 msgid "Line wrap mode"
 msgstr "Modo de ajuste de línea"
 
-#: ../clutter/clutter-text.c:3617
+#: ../clutter/clutter-text.c:3686
 msgid "Control how line-wrapping is done"
 msgstr "Controlar cómo se hace el ajuste de línea"
 
-#: ../clutter/clutter-text.c:3630
+#: ../clutter/clutter-text.c:3701
 msgid "Ellipsize"
 msgstr "Crear elipse"
 
-#: ../clutter/clutter-text.c:3631
+#: ../clutter/clutter-text.c:3702
 msgid "The preferred place to ellipsize the string"
 msgstr "El lugar preferido para crear la cadena elíptica"
 
-#: ../clutter/clutter-text.c:3645
+#: ../clutter/clutter-text.c:3718
 msgid "Line Alignment"
 msgstr "Alineación de línea"
 
-#: ../clutter/clutter-text.c:3646
+#: ../clutter/clutter-text.c:3719
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "La alineación preferida para la cadena, para texto multilínea"
 
-#: ../clutter/clutter-text.c:3660
+#: ../clutter/clutter-text.c:3735
 msgid "Justify"
 msgstr "Justificar"
 
-#: ../clutter/clutter-text.c:3661
+#: ../clutter/clutter-text.c:3736
 msgid "Whether the text should be justified"
 msgstr "Indica si el texto se debe justificar"
 
-#: ../clutter/clutter-text.c:3674
+#: ../clutter/clutter-text.c:3751
 msgid "Password Character"
 msgstr "Carácter de la contraseña"
 
-#: ../clutter/clutter-text.c:3675
+#: ../clutter/clutter-text.c:3752
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr "Si no es cero, usar este carácter para mostrar el contenido del actor"
 
-#: ../clutter/clutter-text.c:3687
+#: ../clutter/clutter-text.c:3766
 msgid "Max Length"
 msgstr "Longitud máxima"
 
-#: ../clutter/clutter-text.c:3688
+#: ../clutter/clutter-text.c:3767
 msgid "Maximum length of the text inside the actor"
 msgstr "Longitud máxima del texto dentro del actor"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3790
 msgid "Single Line Mode"
 msgstr "Modo de línea única"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3791
 msgid "Whether the text should be a single line"
 msgstr "Indica si el texto debe estar en una única línea"
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: ../clutter/clutter-text.c:3805 ../clutter/clutter-text.c:3806
 msgid "Selected Text Color"
 msgstr "Color del texto seleccionado"
 
-#: ../clutter/clutter-text.c:3736
+#: ../clutter/clutter-text.c:3821
 msgid "Selected Text Color Set"
 msgstr "Conjunto de colores del texto seleccionado"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3822
 msgid "Whether the selected text color has been set"
 msgstr "Indica si se ha establecido el color del texto seleccionado"
 
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
+msgid "Loop"
+msgstr "Bucle"
+
 #: ../clutter/clutter-timeline.c:562
+msgid "Should the timeline automatically restart"
+msgstr "Indica si la línea de tiempo se debe reiniciar automáticamente"
+
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Retardo"
 
-#: ../clutter/clutter-timeline.c:563
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Retardo antes de empezar"
 
-#: ../clutter/clutter-timeline.c:578
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
+#: ../clutter/deprecated/clutter-media.c:224
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Duración"
 
-#: ../clutter/clutter-timeline.c:579
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Duración de la línea de tiempo, en milisegundos"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Dirección"
 
-#: ../clutter/clutter-timeline.c:595
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Dirección de la línea de tiempo"
 
-#: ../clutter/clutter-timeline.c:610
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Invertir automáticamente"
 
-#: ../clutter/clutter-timeline.c:611
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Indica si se debe invertir la dirección al llegar al final"
 
-#: ../clutter/clutter-timeline.c:629
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Repetir cuenta"
 
-#: ../clutter/clutter-timeline.c:630
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Cuántas veces se debe repetir la línea de tiempo"
 
-#: ../clutter/clutter-timeline.c:644
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Modo de progreso"
 
-#: ../clutter/clutter-timeline.c:645
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Cómo debería calcula el progreso la línea de tiempo"
 
@@ -1781,805 +2041,753 @@ msgstr "Quitar al completar"
 msgid "Detach the transition when completed"
 msgstr "Quitar la transición cuando se complete"
 
-#: ../clutter/clutter-zoom-action.c:356
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Ampliar eje"
 
-#: ../clutter/clutter-zoom-action.c:357
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Restringe la ampliación a un eje"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:159
-msgid "sysfs Path"
-msgstr "Ruta de sysfs"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:160
-msgid "Path of the device in sysfs"
-msgstr "Ruta del dispositivo en sysfs"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:175
-msgid "Device Path"
-msgstr "Ruta del dispositivo"
-
-#: ../clutter/evdev/clutter-input-device-evdev.c:176
-msgid "Path of the device node"
-msgstr "Ruta al nodo del dispositivo"
-
-#: ../clutter/gdk/clutter-backend-gdk.c:287
-#, c-format
-msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
-msgstr ""
-"No se pudo encontrar un CoglWinsys adecuado para un GdkDisplay de tipo %s"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:423
-msgid "Surface"
-msgstr "Superficie"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:424
-msgid "The underlying wayland surface"
-msgstr "La superficie Wayland subyacente"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:431
-msgid "Surface width"
-msgstr "Anchura de la superficie"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:432
-msgid "The width of the underlying wayland surface"
-msgstr "La anchura de la superficie Wayland subyacente"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:440
-msgid "Surface height"
-msgstr "Altura de la superficie"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:441
-msgid "The height of the underlying wayland surface"
-msgstr "La altura de la superficie Wayland subyacente"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Textura de Cogl"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr "La textura Cogl subyacente usada para dibujar este actor"
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
+msgid "Timeline"
+msgstr "Línea de tiempo"
 
-#: ../clutter/x11/clutter-backend-x11.c:508
-msgid "X display to use"
-msgstr "Pantalla X que usar"
+#: ../clutter/deprecated/clutter-alpha.c:356
+msgid "Timeline used by the alpha"
+msgstr "Línea de tiempo usada por el alfa"
 
-#: ../clutter/x11/clutter-backend-x11.c:514
-msgid "X screen to use"
-msgstr "Pantalla (screen) X que usar"
+#: ../clutter/deprecated/clutter-alpha.c:372
+msgid "Alpha value"
+msgstr "Valor alfa"
 
-#: ../clutter/x11/clutter-backend-x11.c:519
-msgid "Make X calls synchronous"
-msgstr "Hacer llamadas a X síncronas"
+#: ../clutter/deprecated/clutter-alpha.c:373
+msgid "Alpha value as computed by the alpha"
+msgstr "Valor alfa calculado por el alfa"
 
-#: ../clutter/x11/clutter-backend-x11.c:526
-msgid "Disable XInput support"
-msgstr "Desactivar el soporte de XInput"
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
+msgid "Mode"
+msgstr "Modo"
 
-#: ../clutter/x11/clutter-keymap-x11.c:322
-msgid "The Clutter backend"
-msgstr "El backend de Clutter"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
-msgid "Pixmap"
-msgstr "Mapa de píxeles"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
-msgid "The X11 Pixmap to be bound"
-msgstr "EL mapa de píxeles X11 que asociar"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
-msgid "Pixmap width"
-msgstr "Anchura del mapa de píxeles"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
-msgid "The width of the pixmap bound to this texture"
-msgstr "La anchura del mapa de píxeles asociado a esta textura"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
-msgid "Pixmap height"
-msgstr "Altura del mapa de píxeles"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
-msgid "The height of the pixmap bound to this texture"
-msgstr "La altura del mapa de píxeles asociado a esta textura"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
-msgid "Pixmap Depth"
-msgstr "Profundidad del mapa de píxeles"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
-msgid "The depth (in number of bits) of the pixmap bound to this texture"
-msgstr ""
-"La profundidad (en número de bits) del mapa de píxeles asociado a esta "
-"textura"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
-msgid "Automatic Updates"
-msgstr "Actualizaciones automáticas"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
-msgid "If the texture should be kept in sync with any pixmap changes."
-msgstr ""
-"Indica si la textura se debe sincronizar con cualquier cambio en el mapa de "
-"píxeles."
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
-msgid "Window"
-msgstr "Ventana"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
-msgid "The X11 Window to be bound"
-msgstr "La ventana X11 que asociar"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
-msgid "Window Redirect Automatic"
-msgstr "Redirección automática de la ventana"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
-msgid "If composite window redirects are set to Automatic (or Manual if false)"
-msgstr ""
-"Indica si la redirección de la ventana compuesta está establecida a "
-"«Automática» (o «Manual» si es falso)"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
-msgid "Window Mapped"
-msgstr "Ventana mapeada"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
-msgid "If window is mapped"
-msgstr "Indica si la ventana está mapeada"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
-msgid "Destroyed"
-msgstr "Destruida"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
-msgid "If window has been destroyed"
-msgstr "Indica si se ha destruido la ventana"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
-msgid "Window X"
-msgstr "Ventana X"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
-msgid "X position of window on screen according to X11"
-msgstr "Posición X de la ventana en la pantalla, de acuerdo con X11"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
-msgid "Window Y"
-msgstr "Ventana Y"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
-msgid "Y position of window on screen according to X11"
-msgstr "Posición Y de la ventana en la pantalla, de acuerdo con X11"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
-msgid "Window Override Redirect"
-msgstr "Omitir redirección de la ventana"
-
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
-msgid "If this is an override-redirect window"
-msgstr "Indica si esta es una ventana que omite la redirección"
-
-#~ msgid "Depth"
-#~ msgstr "Profundidad"
-
-#~ msgid "Position on the Z axis"
-#~ msgstr "Posición en el eje Z"
-
-#~ msgid "Clip"
-#~ msgstr "Recortar"
-
-#~ msgid "The clip region for the actor"
-#~ msgstr "La región de recorte del actor"
-
-#~ msgid "Scale Center X"
-#~ msgstr "Centro X del escalado"
-
-#~ msgid "Horizontal scale center"
-#~ msgstr "Centro de la escala horizontal"
-
-#~ msgid "Scale Center Y"
-#~ msgstr "Centro Y del escalado"
-
-#~ msgid "Vertical scale center"
-#~ msgstr "Centro de la escala vertical"
-
-#~ msgid "Scale Gravity"
-#~ msgstr "Gravedad del escalado"
-
-#~ msgid "The center of scaling"
-#~ msgstr "El centro del escalado"
-
-#~ msgid "Rotation Center X"
-#~ msgstr "Centro de rotación X"
-
-#~ msgid "The rotation center on the X axis"
-#~ msgstr "El ángulo de rotación en el eje Y"
-
-#~ msgid "Rotation Center Y"
-#~ msgstr "Centro de rotación Y"
-
-#~ msgid "The rotation center on the Y axis"
-#~ msgstr "En centro de la rotación en el eje Y"
-
-#~ msgid "Rotation Center Z"
-#~ msgstr "Centro de rotación Z"
-
-#~ msgid "The rotation center on the Z axis"
-#~ msgstr "El ángulo de rotación en el eje Z"
-
-#~ msgid "Rotation Center Z Gravity"
-#~ msgstr "Gravedad del centro de rotación Z"
-
-#~ msgid "Center point for rotation around the Z axis"
-#~ msgstr "Punto central de la rotación alrededor del eje Z"
-
-#~ msgid "Anchor X"
-#~ msgstr "Ancla X"
-
-#~ msgid "X coordinate of the anchor point"
-#~ msgstr "Coordenada X del punto de anclado"
-
-#~ msgid "Anchor Y"
-#~ msgstr "Ancla Y"
-
-#~ msgid "Y coordinate of the anchor point"
-#~ msgstr "Coordenada Y del punto de anclado"
-
-#~ msgid "Anchor Gravity"
-#~ msgstr "Gravedad del ancla"
-
-#~ msgid "The anchor point as a ClutterGravity"
-#~ msgstr "El punto de anclado como un «ClutterGravity»"
-
-#~ msgid "Show on set parent"
-#~ msgstr "Mostrar en el conjunto padre"
-
-#~ msgid "Whether the actor is shown when parented"
-#~ msgstr "Indica si el actor se muestra cuando tiene padre"
-
-#~ msgid "Horizontal Alignment"
-#~ msgstr "Alineación horizontal"
-
-#~ msgid "Horizontal alignment for the actor inside the layout manager"
-#~ msgstr "Alineación horizontal del actor dentro del gestor de distribución"
-
-#~ msgid "Vertical Alignment"
-#~ msgstr "Alineación vertical"
-
-#~ msgid "Vertical alignment for the actor inside the layout manager"
-#~ msgstr "Alineación vertical del actor dentro del gestor de distribución"
-
-#~ msgid ""
-#~ "Default horizontal alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "Alineación horizontal predeterminada de los actores dentro del gestor de "
-#~ "distribución"
-
-#~ msgid "Default vertical alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "Alineación vertical predeterminada de los actores dentro del gestor de "
-#~ "distribución"
-
-#~ msgid "Expand"
-#~ msgstr "Expandir"
-
-#~ msgid "Allocate extra space for the child"
-#~ msgstr "Asignar espacio adicional para el hijo"
-
-#~ msgid "Horizontal Fill"
-#~ msgstr "Relleno horizontal"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the horizontal axis"
-#~ msgstr ""
-#~ "Indica si el hijo debe tener prioridad cuando el contenedor reserve "
-#~ "espacio libre en el eje horizontal"
-
-#~ msgid "Vertical Fill"
-#~ msgstr "Relleno vertical"
+#: ../clutter/deprecated/clutter-alpha.c:395
+msgid "Progress mode"
+msgstr "Modo de progreso"
 
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the vertical axis"
-#~ msgstr ""
-#~ "Indica si el hijo debe tener prioridad cuando el contenedor reserve "
-#~ "espacio libre en el eje vertical"
+#: ../clutter/deprecated/clutter-animation.c:511
+msgid "Object"
+msgstr "Objeto"
 
-#~ msgid "Horizontal alignment of the actor within the cell"
-#~ msgstr "Alineación horizontal del actor en la celda"
+#: ../clutter/deprecated/clutter-animation.c:512
+msgid "Object to which the animation applies"
+msgstr "Objeto al que se aplica la animación"
 
-#~ msgid "Vertical alignment of the actor within the cell"
-#~ msgstr "Alineación vertical del actor en la celda"
+#: ../clutter/deprecated/clutter-animation.c:529
+msgid "The mode of the animation"
+msgstr "El modo de la animación"
 
-#~ msgid "Vertical"
-#~ msgstr "Vertical"
+#: ../clutter/deprecated/clutter-animation.c:545
+msgid "Duration of the animation, in milliseconds"
+msgstr "Duración de la animación, en milisegundos"
 
-#~ msgid "Whether the layout should be vertical, rather than horizontal"
-#~ msgstr "Indica si la distribución debe ser vertical, en lugar de horizontal"
+#: ../clutter/deprecated/clutter-animation.c:561
+msgid "Whether the animation should loop"
+msgstr "Indica si la animación debería ser un bucle"
 
-#~ msgid "Use Animations"
-#~ msgstr "Usar animaciones"
+#: ../clutter/deprecated/clutter-animation.c:576
+msgid "The timeline used by the animation"
+msgstr "La línea de tiempo usada por la animación"
 
-#~ msgid "Whether layout changes should be animated"
-#~ msgstr "Indica si se deben animar lo cambios en la distribución"
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
+msgid "Alpha"
+msgstr "Alfa"
 
-#~ msgid "Easing Mode"
-#~ msgstr "Modo de desaceleración"
+#: ../clutter/deprecated/clutter-animation.c:593
+msgid "The alpha used by the animation"
+msgstr "El alfa usado por la animación"
 
-#~ msgid "The easing mode of the animations"
-#~ msgstr "El modo de desaceleración de las animaciones"
+#: ../clutter/deprecated/clutter-animator.c:1805
+msgid "The duration of the animation"
+msgstr "La duración de la animación"
 
-#~ msgid "Easing Duration"
-#~ msgstr "Duración de la desaceleración"
+#: ../clutter/deprecated/clutter-animator.c:1822
+msgid "The timeline of the animation"
+msgstr "La línea de tiempo de la animación"
 
-#~ msgid "The duration of the animations"
-#~ msgstr "La duración de las animaciones"
+#: ../clutter/deprecated/clutter-behaviour.c:242
+msgid "Alpha Object to drive the behaviour"
+msgstr "Objeto alfa para dirigir el comportamiento"
 
-#~ msgid "Offscreen"
-#~ msgstr "Fuera de la pantalla"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
+msgid "Start Depth"
+msgstr "Profundidad inicial"
 
-#~ msgid "Whether the main stage should be rendered offscreen"
-#~ msgstr ""
-#~ "Indica si el escenario principal se debe renderizar fuera de la pantalla"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
+msgid "Initial depth to apply"
+msgstr "Profundidad inicial que aplicar"
 
-#~ msgid "Color"
-#~ msgstr "Color"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
+msgid "End Depth"
+msgstr "Profundidad final"
 
-#~ msgid "The color of the stage"
-#~ msgstr "El color del escenario"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
+msgid "Final depth to apply"
+msgstr "Profundidad final que aplicar"
 
-#~ msgid "Use Fog"
-#~ msgstr "Usar niebla"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
+msgid "Start Angle"
+msgstr "Ángulo inicial"
 
-#~ msgid "Whether to enable depth cueing"
-#~ msgstr "Indica si activar el indicador de profundidad"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
+msgid "Initial angle"
+msgstr "Ángulo inicial"
 
-#~ msgid "Fog"
-#~ msgstr "Niebla"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
+msgid "End Angle"
+msgstr "Ángulo final"
 
-#~ msgid "Settings for the depth cueing"
-#~ msgstr "Configuración para el indicador de profundidad"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
+msgid "Final angle"
+msgstr "Ángulo final"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
+msgid "Angle x tilt"
+msgstr "Inclinación X del ángulo"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
+msgid "Tilt of the ellipse around x axis"
+msgstr "Inclinación de la elipse sobre el eje X"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
+msgid "Angle y tilt"
+msgstr "Inclinación Y del ángulo"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
+msgid "Tilt of the ellipse around y axis"
+msgstr "Inclinación de la elipse sobre el eje Y"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
+msgid "Angle z tilt"
+msgstr "Inclinación Z del ángulo"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
+msgid "Tilt of the ellipse around z axis"
+msgstr "Inclinación de la elipse sobre el eje Z"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
+msgid "Width of the ellipse"
+msgstr "Anchura de la elipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
+msgid "Height of ellipse"
+msgstr "Altura de la elipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
+msgid "Center"
+msgstr "Centro"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
+msgid "Center of ellipse"
+msgstr "Centro de la elipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
+msgid "Direction of rotation"
+msgstr "Dirección de la rotación"
 
-#~ msgid "Horizontal Expand"
-#~ msgstr "Expansión horizontal"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
+msgid "Opacity Start"
+msgstr "Opacidad inicial"
 
-#~ msgid "Allocate extra space for the child in horizontal axis"
-#~ msgstr "Asignar espacio adicional para el hijo en el eje horizontal"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
+msgid "Initial opacity level"
+msgstr "Nivel inicial de opacidad"
 
-#~ msgid "Vertical Expand"
-#~ msgstr "Expansión vertical"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
+msgid "Opacity End"
+msgstr "Opacidad final"
 
-#~ msgid "Allocate extra space for the child in vertical axis"
-#~ msgstr "Asignar espacio adicional para el hijo en el eje vertical"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
+msgid "Final opacity level"
+msgstr "Nivel final de opacidad"
 
-#~ msgid "Loop"
-#~ msgstr "Bucle"
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
+msgid "The ClutterPath object representing the path to animate along"
+msgstr "El objeto «ClutterPath» que representa la ruta sobre la que animar"
 
-#~ msgid "Should the timeline automatically restart"
-#~ msgstr "Indica si la línea de tiempo se debe reiniciar automáticamente"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
+msgid "Angle Begin"
+msgstr "Ángulo inicial"
 
-#~ msgid "Timeline"
-#~ msgstr "Línea de tiempo"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
+msgid "Angle End"
+msgstr "Ángulo final"
 
-#~ msgid "Timeline used by the alpha"
-#~ msgstr "Línea de tiempo usada por el alfa"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
+msgid "Axis"
+msgstr "Eje"
 
-#~ msgid "Alpha value"
-#~ msgstr "Valor alfa"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
+msgid "Axis of rotation"
+msgstr "Eje de rotación"
 
-#~ msgid "Alpha value as computed by the alpha"
-#~ msgstr "Valor alfa calculado por el alfa"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
+msgid "Center X"
+msgstr "Centro X"
 
-#~ msgid "Mode"
-#~ msgstr "Modo"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
+msgid "X coordinate of the center of rotation"
+msgstr "Coordenada X del centro de rotación"
 
-#~ msgid "Progress mode"
-#~ msgstr "Modo de progreso"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
+msgid "Center Y"
+msgstr "Centro Y"
 
-#~ msgid "Object"
-#~ msgstr "Objeto"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
+msgid "Y coordinate of the center of rotation"
+msgstr "Coordenada Y del centro de rotación"
 
-#~ msgid "Object to which the animation applies"
-#~ msgstr "Objeto al que se aplica la animación"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
+msgid "Center Z"
+msgstr "Centro Z"
 
-#~ msgid "The mode of the animation"
-#~ msgstr "El modo de la animación"
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
+msgid "Z coordinate of the center of rotation"
+msgstr "Coordenada Z del centro de rotación"
 
-#~ msgid "Duration of the animation, in milliseconds"
-#~ msgstr "Duración de la animación, en milisegundos"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
+msgid "X Start Scale"
+msgstr "Escala X inicial"
 
-#~ msgid "Whether the animation should loop"
-#~ msgstr "Indica si la animación debería ser un bucle"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
+msgid "Initial scale on the X axis"
+msgstr "Escala inicial en el eje X"
 
-#~ msgid "The timeline used by the animation"
-#~ msgstr "La línea de tiempo usada por la animación"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
+msgid "X End Scale"
+msgstr "Escala X final"
 
-#~ msgid "Alpha"
-#~ msgstr "Alfa"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
+msgid "Final scale on the X axis"
+msgstr "Escala final en el eje X"
 
-#~ msgid "The alpha used by the animation"
-#~ msgstr "El alfa usado por la animación"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
+msgid "Y Start Scale"
+msgstr "Escala Y inicial"
 
-#~ msgid "The duration of the animation"
-#~ msgstr "La duración de la animación"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
+msgid "Initial scale on the Y axis"
+msgstr "Escala inicial en el eje Y"
 
-#~ msgid "The timeline of the animation"
-#~ msgstr "La línea de tiempo de la animación"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
+msgid "Y End Scale"
+msgstr "Escala Y final"
 
-#~ msgid "Alpha Object to drive the behaviour"
-#~ msgstr "Objeto alfa para dirigir el comportamiento"
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
+msgid "Final scale on the Y axis"
+msgstr "Escala final en el eje Y"
 
-#~ msgid "Start Depth"
-#~ msgstr "Profundidad inicial"
+#: ../clutter/deprecated/clutter-box.c:261
+msgid "The background color of the box"
+msgstr "El color de fondo de la caja"
 
-#~ msgid "Initial depth to apply"
-#~ msgstr "Profundidad inicial que aplicar"
+#: ../clutter/deprecated/clutter-box.c:274
+msgid "Color Set"
+msgstr "Conjunto de colores"
 
-#~ msgid "End Depth"
-#~ msgstr "Profundidad final"
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
+msgid "Surface Width"
+msgstr "Anchura de la superficie"
 
-#~ msgid "Final depth to apply"
-#~ msgstr "Profundidad final que aplicar"
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
+msgid "The width of the Cairo surface"
+msgstr "La anchura de la superficie Cairo"
 
-#~ msgid "Start Angle"
-#~ msgstr "Ángulo inicial"
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
+msgid "Surface Height"
+msgstr "Altura de la superficie"
 
-#~ msgid "Initial angle"
-#~ msgstr "Ángulo inicial"
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
+msgid "The height of the Cairo surface"
+msgstr "La altura de la superficie Cairo"
 
-#~ msgid "End Angle"
-#~ msgstr "Ángulo final"
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
+msgid "Auto Resize"
+msgstr "Redimensionar automáticamente"
 
-#~ msgid "Final angle"
-#~ msgstr "Ángulo final"
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
+msgid "Whether the surface should match the allocation"
+msgstr "Indica si la superficie debe coincidir con la asignación"
 
-#~ msgid "Angle x tilt"
-#~ msgstr "Inclinación X del ángulo"
+#: ../clutter/deprecated/clutter-media.c:83
+msgid "URI"
+msgstr "URI"
 
-#~ msgid "Tilt of the ellipse around x axis"
-#~ msgstr "Inclinación de la elipse sobre el eje X"
+#: ../clutter/deprecated/clutter-media.c:84
+msgid "URI of a media file"
+msgstr "URI de un archivo multimedia"
 
-#~ msgid "Angle y tilt"
-#~ msgstr "Inclinación Y del ángulo"
+#: ../clutter/deprecated/clutter-media.c:100
+msgid "Playing"
+msgstr "Reproduciendo"
 
-#~ msgid "Tilt of the ellipse around y axis"
-#~ msgstr "Inclinación de la elipse sobre el eje Y"
+#: ../clutter/deprecated/clutter-media.c:101
+msgid "Whether the actor is playing"
+msgstr "Indica si el actor se está reproduciendo"
 
-#~ msgid "Angle z tilt"
-#~ msgstr "Inclinación Z del ángulo"
+#: ../clutter/deprecated/clutter-media.c:118
+msgid "Progress"
+msgstr "Progreso"
 
-#~ msgid "Tilt of the ellipse around z axis"
-#~ msgstr "Inclinación de la elipse sobre el eje Z"
+#: ../clutter/deprecated/clutter-media.c:119
+msgid "Current progress of the playback"
+msgstr "Progreso actual de la reproducción"
 
-#~ msgid "Width of the ellipse"
-#~ msgstr "Anchura de la elipse"
+#: ../clutter/deprecated/clutter-media.c:135
+msgid "Subtitle URI"
+msgstr "URI del subtítulo"
 
-#~ msgid "Height of ellipse"
-#~ msgstr "Altura de la elipse"
+#: ../clutter/deprecated/clutter-media.c:136
+msgid "URI of a subtitle file"
+msgstr "URI de un archivo de subtítulos"
 
-#~ msgid "Center"
-#~ msgstr "Centro"
+#: ../clutter/deprecated/clutter-media.c:154
+msgid "Subtitle Font Name"
+msgstr "Nombre de la tipografía de los subtítulos"
 
-#~ msgid "Center of ellipse"
-#~ msgstr "Centro de la elipse"
+#: ../clutter/deprecated/clutter-media.c:155
+msgid "The font used to display subtitles"
+msgstr "La tipografía usada para mostrar subtítulos"
 
-#~ msgid "Direction of rotation"
-#~ msgstr "Dirección de la rotación"
+#: ../clutter/deprecated/clutter-media.c:172
+msgid "Audio Volume"
+msgstr "Volumen del sonido"
 
-#~ msgid "Opacity Start"
-#~ msgstr "Opacidad inicial"
+#: ../clutter/deprecated/clutter-media.c:173
+msgid "The volume of the audio"
+msgstr "El volumen del sonido"
 
-#~ msgid "Initial opacity level"
-#~ msgstr "Nivel inicial de opacidad"
+#: ../clutter/deprecated/clutter-media.c:189
+msgid "Can Seek"
+msgstr "Puede buscar"
 
-#~ msgid "Opacity End"
-#~ msgstr "Opacidad final"
+#: ../clutter/deprecated/clutter-media.c:190
+msgid "Whether the current stream is seekable"
+msgstr "Indica si flujo actual se puede buscar"
 
-#~ msgid "Final opacity level"
-#~ msgstr "Nivel final de opacidad"
+#: ../clutter/deprecated/clutter-media.c:207
+msgid "Buffer Fill"
+msgstr "Llenado del búfer"
 
-#~ msgid "The ClutterPath object representing the path to animate along"
-#~ msgstr "El objeto «ClutterPath» que representa la ruta sobre la que animar"
+#: ../clutter/deprecated/clutter-media.c:208
+msgid "The fill level of the buffer"
+msgstr "El nivel de llenado del búfer"
 
-#~ msgid "Angle Begin"
-#~ msgstr "Ángulo inicial"
+#: ../clutter/deprecated/clutter-media.c:225
+msgid "The duration of the stream, in seconds"
+msgstr "La duración del flujo, en segundos"
 
-#~ msgid "Angle End"
-#~ msgstr "Ángulo final"
+#: ../clutter/deprecated/clutter-rectangle.c:274
+msgid "The color of the rectangle"
+msgstr "El color del rectángulo"
 
-#~ msgid "Axis"
-#~ msgstr "Eje"
+#: ../clutter/deprecated/clutter-rectangle.c:287
+msgid "Border Color"
+msgstr "Color del borde"
 
-#~ msgid "Axis of rotation"
-#~ msgstr "Eje de rotación"
+#: ../clutter/deprecated/clutter-rectangle.c:288
+msgid "The color of the border of the rectangle"
+msgstr "El color del borde del rectángulo"
 
-#~ msgid "Center X"
-#~ msgstr "Centro X"
+#: ../clutter/deprecated/clutter-rectangle.c:303
+msgid "Border Width"
+msgstr "Anchura del borde"
 
-#~ msgid "X coordinate of the center of rotation"
-#~ msgstr "Coordenada X del centro de rotación"
+#: ../clutter/deprecated/clutter-rectangle.c:304
+msgid "The width of the border of the rectangle"
+msgstr "La anchura del borde del rectángulo"
 
-#~ msgid "Center Y"
-#~ msgstr "Centro Y"
+#: ../clutter/deprecated/clutter-rectangle.c:318
+msgid "Has Border"
+msgstr "Tiene borde"
 
-#~ msgid "Y coordinate of the center of rotation"
-#~ msgstr "Coordenada Y del centro de rotación"
+#: ../clutter/deprecated/clutter-rectangle.c:319
+msgid "Whether the rectangle should have a border"
+msgstr "Indica si el rectángulo debe tener borde"
 
-#~ msgid "Center Z"
-#~ msgstr "Centro Z"
+#: ../clutter/deprecated/clutter-shader.c:261
+msgid "Vertex Source"
+msgstr "Origen del vértice"
 
-#~ msgid "Z coordinate of the center of rotation"
-#~ msgstr "Coordenada Z del centro de rotación"
+#: ../clutter/deprecated/clutter-shader.c:262
+msgid "Source of vertex shader"
+msgstr "Origen del sombreado del vértice"
 
-#~ msgid "X Start Scale"
-#~ msgstr "Escala X inicial"
+#: ../clutter/deprecated/clutter-shader.c:278
+msgid "Fragment Source"
+msgstr "Origen del fragmento"
 
-#~ msgid "Initial scale on the X axis"
-#~ msgstr "Escala inicial en el eje X"
+#: ../clutter/deprecated/clutter-shader.c:279
+msgid "Source of fragment shader"
+msgstr "Origen del sombreado del fragmento"
 
-#~ msgid "X End Scale"
-#~ msgstr "Escala X final"
+#: ../clutter/deprecated/clutter-shader.c:296
+msgid "Compiled"
+msgstr "Compilado"
 
-#~ msgid "Final scale on the X axis"
-#~ msgstr "Escala final en el eje X"
+#: ../clutter/deprecated/clutter-shader.c:297
+msgid "Whether the shader is compiled and linked"
+msgstr "Indica si el sombreado está compilado y enlazado"
 
-#~ msgid "Y Start Scale"
-#~ msgstr "Escala Y inicial"
+#: ../clutter/deprecated/clutter-shader.c:314
+msgid "Whether the shader is enabled"
+msgstr "Indica si el sombreado está activado"
 
-#~ msgid "Initial scale on the Y axis"
-#~ msgstr "Escala inicial en el eje Y"
+#: ../clutter/deprecated/clutter-shader.c:525
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "falló la compilación de %s: %s"
 
-#~ msgid "Y End Scale"
-#~ msgstr "Escala Y final"
+#: ../clutter/deprecated/clutter-shader.c:526
+msgid "Vertex shader"
+msgstr "Sombreado del vértice"
 
-#~ msgid "Final scale on the Y axis"
-#~ msgstr "Escala final en el eje Y"
+#: ../clutter/deprecated/clutter-shader.c:527
+msgid "Fragment shader"
+msgstr "Sombreado del fragmento"
 
-#~ msgid "The background color of the box"
-#~ msgstr "El color de fondo de la caja"
+#: ../clutter/deprecated/clutter-state.c:1505
+msgid "State"
+msgstr "Estado"
 
-#~ msgid "Color Set"
-#~ msgstr "Conjunto de colores"
+#: ../clutter/deprecated/clutter-state.c:1506
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
+"Estado establecido actualmente, (la transición a este estado puede no estar "
+"completa)"
 
-#~ msgid "Surface Width"
-#~ msgstr "Anchura de la superficie"
+#: ../clutter/deprecated/clutter-state.c:1524
+msgid "Default transition duration"
+msgstr "Duración de la transición predeterminada"
 
-#~ msgid "The width of the Cairo surface"
-#~ msgstr "La anchura de la superficie Cairo"
+#: ../clutter/deprecated/clutter-texture.c:994
+msgid "Sync size of actor"
+msgstr "Sincronizar tamaño del actor"
 
-#~ msgid "Surface Height"
-#~ msgstr "Altura de la superficie"
+#: ../clutter/deprecated/clutter-texture.c:995
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
+"Sincronizar automáticamente el tamaño del actor a las dimensiones de «pixbuf» "
+"subyacente"
 
-#~ msgid "The height of the Cairo surface"
-#~ msgstr "La altura de la superficie Cairo"
+#: ../clutter/deprecated/clutter-texture.c:1002
+msgid "Disable Slicing"
+msgstr "Desactivar troceado"
 
-#~ msgid "Auto Resize"
-#~ msgstr "Redimensionar automáticamente"
+#: ../clutter/deprecated/clutter-texture.c:1003
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
+"Fuerza a la textura subyacente a ser singular y a que no esté hecha de un "
+"espacio menor guardando texturas individuales"
 
-#~ msgid "Whether the surface should match the allocation"
-#~ msgstr "Indica si la superficie debe coincidir con la asignación"
+#: ../clutter/deprecated/clutter-texture.c:1012
+msgid "Tile Waste"
+msgstr "Cuadrado sobrante"
 
-#~ msgid "URI"
-#~ msgstr "URI"
+#: ../clutter/deprecated/clutter-texture.c:1013
+msgid "Maximum waste area of a sliced texture"
+msgstr "Área máxima sobrante de una textura troceada"
 
-#~ msgid "URI of a media file"
-#~ msgstr "URI de un archivo multimedia"
+#: ../clutter/deprecated/clutter-texture.c:1021
+msgid "Horizontal repeat"
+msgstr "Repetición horizontal"
 
-#~ msgid "Playing"
-#~ msgstr "Reproduciendo"
+#: ../clutter/deprecated/clutter-texture.c:1022
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr "Repite el contenido en vez de escalarlo horizontalmente"
 
-#~ msgid "Whether the actor is playing"
-#~ msgstr "Indica si el actor se está reproduciendo"
+#: ../clutter/deprecated/clutter-texture.c:1029
+msgid "Vertical repeat"
+msgstr "Repetición vertical"
 
-#~ msgid "Progress"
-#~ msgstr "Progreso"
+#: ../clutter/deprecated/clutter-texture.c:1030
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr "Repite el contenido en vez de escalarlo verticalmente"
 
-#~ msgid "Current progress of the playback"
-#~ msgstr "Progreso actual de la reproducción"
+#: ../clutter/deprecated/clutter-texture.c:1037
+msgid "Filter Quality"
+msgstr "Calidad del filtro"
 
-#~ msgid "Subtitle URI"
-#~ msgstr "URI del subtítulo"
+#: ../clutter/deprecated/clutter-texture.c:1038
+msgid "Rendering quality used when drawing the texture"
+msgstr "Calidad de renderizado usada al dibujar la textura"
 
-#~ msgid "URI of a subtitle file"
-#~ msgstr "URI de un archivo de subtítulos"
+#: ../clutter/deprecated/clutter-texture.c:1046
+msgid "Pixel Format"
+msgstr "Formato del píxel"
 
-#~ msgid "Subtitle Font Name"
-#~ msgstr "Nombre de la tipografía de los subtítulos"
+#: ../clutter/deprecated/clutter-texture.c:1047
+msgid "The Cogl pixel format to use"
+msgstr "El formato de píxel Cogl que usar"
 
-#~ msgid "The font used to display subtitles"
-#~ msgstr "La tipografía usada para mostrar subtítulos"
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
+msgid "Cogl Texture"
+msgstr "Textura de Cogl"
 
-#~ msgid "Audio Volume"
-#~ msgstr "Volumen del sonido"
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr "La textura Cogl subyacente usada para dibujar este actor"
 
-#~ msgid "The volume of the audio"
-#~ msgstr "El volumen del sonido"
+#: ../clutter/deprecated/clutter-texture.c:1063
+msgid "Cogl Material"
+msgstr "Material de Cogl"
 
-#~ msgid "Can Seek"
-#~ msgstr "Puede buscar"
+#: ../clutter/deprecated/clutter-texture.c:1064
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr "El material de Cogl subyacente usado para dibujar este actor"
 
-#~ msgid "Whether the current stream is seekable"
-#~ msgstr "Indica si flujo actual se puede buscar"
+#: ../clutter/deprecated/clutter-texture.c:1083
+msgid "The path of the file containing the image data"
+msgstr "La ruta del archivo que contiene los datos de la imagen"
 
-#~ msgid "Buffer Fill"
-#~ msgstr "Llenado del búfer"
+#: ../clutter/deprecated/clutter-texture.c:1090
+msgid "Keep Aspect Ratio"
+msgstr "Mantener proporción de aspecto"
 
-#~ msgid "The fill level of the buffer"
-#~ msgstr "El nivel de llenado del búfer"
+#: ../clutter/deprecated/clutter-texture.c:1091
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
+"Mantener la relación de aspecto de la textura al solicitar la anchura o la "
+"altura preferidas"
 
-#~ msgid "The duration of the stream, in seconds"
-#~ msgstr "La duración del flujo, en segundos"
+#: ../clutter/deprecated/clutter-texture.c:1119
+msgid "Load asynchronously"
+msgstr "Cargar de forma asíncrona"
 
-#~ msgid "The color of the rectangle"
-#~ msgstr "El color del rectángulo"
+#: ../clutter/deprecated/clutter-texture.c:1120
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr ""
+"Cargar archivos en un hilo para evitar bloqueos al cargar imágenes desde el "
+"disco"
 
-#~ msgid "Border Color"
-#~ msgstr "Color del borde"
+#: ../clutter/deprecated/clutter-texture.c:1138
+msgid "Load data asynchronously"
+msgstr "Cargar datos de forma asíncrona"
 
-#~ msgid "The color of the border of the rectangle"
-#~ msgstr "El color del borde del rectángulo"
+#: ../clutter/deprecated/clutter-texture.c:1139
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
+msgstr ""
+"Decodificar los archivos de datos de imágenes en un hilo para reducir los "
+"bloqueos al cargar imágenes desde el disco"
 
-#~ msgid "Border Width"
-#~ msgstr "Anchura del borde"
+#: ../clutter/deprecated/clutter-texture.c:1165
+msgid "Pick With Alpha"
+msgstr "Seleccionar con alfa"
 
-#~ msgid "The width of the border of the rectangle"
-#~ msgstr "La anchura del borde del rectángulo"
+#: ../clutter/deprecated/clutter-texture.c:1166
+msgid "Shape actor with alpha channel when picking"
+msgstr "Dar forma al actor con canal alfa al seleccionarlo"
 
-#~ msgid "Has Border"
-#~ msgstr "Tiene borde"
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
+#, c-format
+msgid "Failed to load the image data"
+msgstr "Fallo al cargar los datos de la imagen"
 
-#~ msgid "Whether the rectangle should have a border"
-#~ msgstr "Indica si el rectángulo debe tener borde"
+#: ../clutter/deprecated/clutter-texture.c:1758
+#, c-format
+msgid "YUV textures are not supported"
+msgstr "Las texturas YUV no están soportadas"
 
-#~ msgid "Vertex Source"
-#~ msgstr "Origen del vértice"
+#: ../clutter/deprecated/clutter-texture.c:1767
+#, c-format
+msgid "YUV2 textues are not supported"
+msgstr "Las texturas YUV2 no están soportadas"
 
-#~ msgid "Source of vertex shader"
-#~ msgstr "Origen del sombreado del vértice"
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "Ruta de sysfs"
 
-#~ msgid "Fragment Source"
-#~ msgstr "Origen del fragmento"
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "Ruta del dispositivo en sysfs"
 
-#~ msgid "Source of fragment shader"
-#~ msgstr "Origen del sombreado del fragmento"
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Ruta del dispositivo"
 
-#~ msgid "Compiled"
-#~ msgstr "Compilado"
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Ruta al nodo del dispositivo"
 
-#~ msgid "Whether the shader is compiled and linked"
-#~ msgstr "Indica si el sombreado está compilado y enlazado"
+#: ../clutter/gdk/clutter-backend-gdk.c:296
+#, c-format
+msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
+msgstr ""
+"No se pudo encontrar un CoglWinsys adecuado para un GdkDisplay de tipo %s"
 
-#~ msgid "Whether the shader is enabled"
-#~ msgstr "Indica si el sombreado está activado"
+#: ../clutter/wayland/clutter-wayland-surface.c:423
+msgid "Surface"
+msgstr "Superficie"
 
-#~ msgid "%s compilation failed: %s"
-#~ msgstr "falló la compilación de %s: %s"
+#: ../clutter/wayland/clutter-wayland-surface.c:424
+msgid "The underlying wayland surface"
+msgstr "La superficie Wayland subyacente"
 
-#~ msgid "Vertex shader"
-#~ msgstr "Sombreado del vértice"
+#: ../clutter/wayland/clutter-wayland-surface.c:431
+msgid "Surface width"
+msgstr "Anchura de la superficie"
 
-#~ msgid "Fragment shader"
-#~ msgstr "Sombreado del fragmento"
+#: ../clutter/wayland/clutter-wayland-surface.c:432
+msgid "The width of the underlying wayland surface"
+msgstr "La anchura de la superficie Wayland subyacente"
 
-#~ msgid "State"
-#~ msgstr "Estado"
+#: ../clutter/wayland/clutter-wayland-surface.c:440
+msgid "Surface height"
+msgstr "Altura de la superficie"
 
-#~ msgid ""
-#~ "Currently set state, (transition to this state might not be complete)"
-#~ msgstr ""
-#~ "Estado establecido actualmente, (la transición a este estado puede no "
-#~ "estar completa)"
+#: ../clutter/wayland/clutter-wayland-surface.c:441
+msgid "The height of the underlying wayland surface"
+msgstr "La altura de la superficie Wayland subyacente"
 
-#~ msgid "Default transition duration"
-#~ msgstr "Duración de la transición predeterminada"
+#: ../clutter/x11/clutter-backend-x11.c:516
+msgid "X display to use"
+msgstr "Pantalla X que usar"
 
-#~ msgid "Sync size of actor"
-#~ msgstr "Sincronizar tamaño del actor"
+#: ../clutter/x11/clutter-backend-x11.c:522
+msgid "X screen to use"
+msgstr "Pantalla (screen) X que usar"
 
-#~ msgid "Auto sync size of actor to underlying pixbuf dimensions"
-#~ msgstr ""
-#~ "Sincronizar automáticamente el tamaño del actor a las dimensiones de "
-#~ "«pixbuf» subyacente"
+#: ../clutter/x11/clutter-backend-x11.c:527
+msgid "Make X calls synchronous"
+msgstr "Hacer llamadas a X síncronas"
 
-#~ msgid "Disable Slicing"
-#~ msgstr "Desactivar troceado"
+#: ../clutter/x11/clutter-backend-x11.c:534
+#| msgid "Enable XInput support"
+msgid "Disable XInput support"
+msgstr "Desactivar el soporte de XInput"
 
-#~ msgid ""
-#~ "Forces the underlying texture to be singular and not made of smaller "
-#~ "space saving individual textures"
-#~ msgstr ""
-#~ "Fuerza a la textura subyacente a ser singular y a que no esté hecha de un "
-#~ "espacio menor guardando texturas individuales"
+#: ../clutter/x11/clutter-keymap-x11.c:317
+msgid "The Clutter backend"
+msgstr "El backend de Clutter"
 
-#~ msgid "Tile Waste"
-#~ msgstr "Cuadrado sobrante"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
+msgid "Pixmap"
+msgstr "Mapa de píxeles"
 
-#~ msgid "Maximum waste area of a sliced texture"
-#~ msgstr "Área máxima sobrante de una textura troceada"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
+msgid "The X11 Pixmap to be bound"
+msgstr "EL mapa de píxeles X11 que asociar"
 
-#~ msgid "Horizontal repeat"
-#~ msgstr "Repetición horizontal"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
+msgid "Pixmap width"
+msgstr "Anchura del mapa de píxeles"
 
-#~ msgid "Repeat the contents rather than scaling them horizontally"
-#~ msgstr "Repite el contenido en vez de escalarlo horizontalmente"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
+msgid "The width of the pixmap bound to this texture"
+msgstr "La anchura del mapa de píxeles asociado a esta textura"
 
-#~ msgid "Vertical repeat"
-#~ msgstr "Repetición vertical"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
+msgid "Pixmap height"
+msgstr "Altura del mapa de píxeles"
 
-#~ msgid "Repeat the contents rather than scaling them vertically"
-#~ msgstr "Repite el contenido en vez de escalarlo verticalmente"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
+msgid "The height of the pixmap bound to this texture"
+msgstr "La altura del mapa de píxeles asociado a esta textura"
 
-#~ msgid "Filter Quality"
-#~ msgstr "Calidad del filtro"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
+msgid "Pixmap Depth"
+msgstr "Profundidad del mapa de píxeles"
 
-#~ msgid "Rendering quality used when drawing the texture"
-#~ msgstr "Calidad de renderizado usada al dibujar la textura"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
+msgid "The depth (in number of bits) of the pixmap bound to this texture"
+msgstr ""
+"La profundidad (en número de bits) del mapa de píxeles asociado a esta "
+"textura"
 
-#~ msgid "Pixel Format"
-#~ msgstr "Formato del píxel"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
+msgid "Automatic Updates"
+msgstr "Actualizaciones automáticas"
 
-#~ msgid "The Cogl pixel format to use"
-#~ msgstr "El formato de píxel Cogl que usar"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
+msgid "If the texture should be kept in sync with any pixmap changes."
+msgstr ""
+"Indica si la textura se debe sincronizar con cualquier cambio en el mapa de "
+"píxeles."
 
-#~ msgid "Cogl Material"
-#~ msgstr "Material de Cogl"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
+msgid "Window"
+msgstr "Ventana"
 
-#~ msgid "The underlying Cogl material handle used to draw this actor"
-#~ msgstr "El material de Cogl subyacente usado para dibujar este actor"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
+msgid "The X11 Window to be bound"
+msgstr "La ventana X11 que asociar"
 
-#~ msgid "The path of the file containing the image data"
-#~ msgstr "La ruta del archivo que contiene los datos de la imagen"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
+msgid "Window Redirect Automatic"
+msgstr "Redirección automática de la ventana"
 
-#~ msgid "Keep Aspect Ratio"
-#~ msgstr "Mantener proporción de aspecto"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
+msgid "If composite window redirects are set to Automatic (or Manual if false)"
+msgstr ""
+"Indica si la redirección de la ventana compuesta está establecida a "
+"«Automática» (o «Manual» si es falso)"
 
-#~ msgid ""
-#~ "Keep the aspect ratio of the texture when requesting the preferred width "
-#~ "or height"
-#~ msgstr ""
-#~ "Mantener la relación de aspecto de la textura al solicitar la anchura o "
-#~ "la altura preferidas"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
+msgid "Window Mapped"
+msgstr "Ventana mapeada"
 
-#~ msgid "Load asynchronously"
-#~ msgstr "Cargar de forma asíncrona"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
+msgid "If window is mapped"
+msgstr "Indica si la ventana está mapeada"
 
-#~ msgid ""
-#~ "Load files inside a thread to avoid blocking when loading images from disk"
-#~ msgstr ""
-#~ "Cargar archivos en un hilo para evitar bloqueos al cargar imágenes desde "
-#~ "el disco"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
+msgid "Destroyed"
+msgstr "Destruida"
 
-#~ msgid "Load data asynchronously"
-#~ msgstr "Cargar datos de forma asíncrona"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
+msgid "If window has been destroyed"
+msgstr "Indica si se ha destruido la ventana"
 
-#~ msgid ""
-#~ "Decode image data files inside a thread to reduce blocking when loading "
-#~ "images from disk"
-#~ msgstr ""
-#~ "Decodificar los archivos de datos de imágenes en un hilo para reducir los "
-#~ "bloqueos al cargar imágenes desde el disco"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
+msgid "Window X"
+msgstr "Ventana X"
 
-#~ msgid "Pick With Alpha"
-#~ msgstr "Seleccionar con alfa"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
+msgid "X position of window on screen according to X11"
+msgstr "Posición X de la ventana en la pantalla, de acuerdo con X11"
 
-#~ msgid "Shape actor with alpha channel when picking"
-#~ msgstr "Dar forma al actor con canal alfa al seleccionarlo"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
+msgid "Window Y"
+msgstr "Ventana Y"
 
-#~ msgid "Failed to load the image data"
-#~ msgstr "Fallo al cargar los datos de la imagen"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
+msgid "Y position of window on screen according to X11"
+msgstr "Posición Y de la ventana en la pantalla, de acuerdo con X11"
 
-#~ msgid "YUV textures are not supported"
-#~ msgstr "Las texturas YUV no están soportadas"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
+msgid "Window Override Redirect"
+msgstr "Omitir redirección de la ventana"
 
-#~ msgid "YUV2 textues are not supported"
-#~ msgstr "Las texturas YUV2 no están soportadas"
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
+msgid "If this is an override-redirect window"
+msgstr "Indica si esta es una ventana que omite la redirección"
 
 #~ msgid "Easing Delay"
 #~ msgstr "Retardo de la desaceleración"
diff --git a/po/fr.po b/po/fr.po
index 4256bcf..9a0b36d 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,708 +11,701 @@ msgstr ""
 "Project-Id-Version: clutter 1.3.14\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-21 08:31+0000\n"
-"PO-Revision-Date: 2013-08-22 14:22+0200\n"
-"Last-Translator: Christophe Fergeau <teuf gnome org>\n"
+"POT-Creation-Date: 2013-02-16 20:16+0000\n"
+"PO-Revision-Date: 2013-02-20 21:23+0100\n"
+"Last-Translator: Alain Lojewski <Allomervan gmail com>\n"
 "Language-Team: GNOME French Team <gnomefr traduc org>\n"
-"Language: fr\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../clutter/clutter-actor.c:6224
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Coordonnée X"
 
-#: ../clutter/clutter-actor.c:6225
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Coordonnée X de l'acteur"
 
-#: ../clutter/clutter-actor.c:6243
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Coordonnée Y"
 
-#: ../clutter/clutter-actor.c:6244
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Coordonnée Y de l'acteur"
 
-#: ../clutter/clutter-actor.c:6266
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Position"
 
-#: ../clutter/clutter-actor.c:6267
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "La position de l'origine de l'acteur"
 
-#: ../clutter/clutter-actor.c:6284 ../clutter/clutter-canvas.c:242
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Largeur"
 
-#: ../clutter/clutter-actor.c:6285
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Largeur de l'acteur"
 
-#: ../clutter/clutter-actor.c:6303 ../clutter/clutter-canvas.c:258
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Hauteur"
 
-#: ../clutter/clutter-actor.c:6304
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Hauteur de l'acteur"
 
-#: ../clutter/clutter-actor.c:6325
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Taille"
 
-#: ../clutter/clutter-actor.c:6326
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "La taille de l'acteur"
 
-#: ../clutter/clutter-actor.c:6344
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "X fixé"
 
-#: ../clutter/clutter-actor.c:6345
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Position fixe de l'acteur sur l'axe X"
 
-#: ../clutter/clutter-actor.c:6362
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Y fixé"
 
-#: ../clutter/clutter-actor.c:6363
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Position fixe de l'acteur sur l'axe Y"
 
-#: ../clutter/clutter-actor.c:6378
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Position fixe définie"
 
-#: ../clutter/clutter-actor.c:6379
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Indique si l'acteur utilise un positionnement fixe"
 
-#: ../clutter/clutter-actor.c:6397
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Largeur minimale"
 
-#: ../clutter/clutter-actor.c:6398
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Requête de largeur minimale forcée pour l'acteur"
 
-#: ../clutter/clutter-actor.c:6416
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Hauteur minimale"
 
-#: ../clutter/clutter-actor.c:6417
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Requête de hauteur minimale forcée pour l'acteur"
 
-#: ../clutter/clutter-actor.c:6435
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Largeur naturelle"
 
-#: ../clutter/clutter-actor.c:6436
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Requête de largeur naturelle forcée pour l'acteur"
 
-#: ../clutter/clutter-actor.c:6454
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Hauteur Naturelle"
 
-#: ../clutter/clutter-actor.c:6455
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Requête de hauteur naturelle forcée pour l'acteur"
 
-#: ../clutter/clutter-actor.c:6470
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Largeur minimale définie"
 
-#: ../clutter/clutter-actor.c:6471
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
-msgstr ""
-"Indique s'il faut utiliser la propriété « min-width » (largeur minimale)"
+msgstr "Indique s'il faut utiliser la propriété largeur minimale"
 
-#: ../clutter/clutter-actor.c:6485
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Hauteur minimale définie"
 
-#: ../clutter/clutter-actor.c:6486
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
-msgstr ""
-"Indique s'il faut utiliser la propriété « min-height » (hauteur minimale)"
+msgstr "Indique s'il faut utiliser la propriété hauteur minimale"
 
-#: ../clutter/clutter-actor.c:6500
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Largeur naturelle définie"
 
-#: ../clutter/clutter-actor.c:6501
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
-msgstr ""
-"Indique s'il faut utiliser la propriété « natural-width » (largeur naturelle)"
+msgstr "Indique s'il faut utiliser la propriété largeur naturelle"
 
-#: ../clutter/clutter-actor.c:6515
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Hauteur naturelle définie"
 
-#: ../clutter/clutter-actor.c:6516
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
-msgstr ""
-"Indique s'il faut utiliser la propriété « natural-height » (hauteur "
-"naturelle)"
+msgstr "Indique s'il faut utiliser la propriété hauteur naturelle"
 
-#: ../clutter/clutter-actor.c:6532
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Allocation"
 
-#: ../clutter/clutter-actor.c:6533
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "L'allocation de l'acteur"
 
-#: ../clutter/clutter-actor.c:6590
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Mode de requête"
 
-#: ../clutter/clutter-actor.c:6591
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "Le mode de requête de l'acteur"
 
-#: ../clutter/clutter-actor.c:6615
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Profondeur"
 
-#: ../clutter/clutter-actor.c:6616
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Position sur l'axe Z"
 
-#: ../clutter/clutter-actor.c:6643
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Position Z"
 
-#: ../clutter/clutter-actor.c:6644
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Position de l'acteur sur l'axe Z"
 
-#: ../clutter/clutter-actor.c:6661
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Opacité"
 
-#: ../clutter/clutter-actor.c:6662
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Opacité d'un acteur"
 
-#: ../clutter/clutter-actor.c:6682
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Redirection hors écran"
 
-#: ../clutter/clutter-actor.c:6683
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Drapeaux contrôlant la mise à plat de l'acteur sur une seule image"
 
-#: ../clutter/clutter-actor.c:6697
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Visible"
 
-#: ../clutter/clutter-actor.c:6698
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Indique si un acteur est visible ou non"
 
-#: ../clutter/clutter-actor.c:6712
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Tracé"
 
-#: ../clutter/clutter-actor.c:6713
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Indique si l'acteur sera peint"
 
-#: ../clutter/clutter-actor.c:6726
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Réalisé"
 
-#: ../clutter/clutter-actor.c:6727
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Indique si l'acteur a été réalisé"
 
-#: ../clutter/clutter-actor.c:6742
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Réactif"
 
-#: ../clutter/clutter-actor.c:6743
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Indique si l'acteur est réactif aux événements"
 
-#: ../clutter/clutter-actor.c:6754
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Possède une zone de rognage"
 
-#: ../clutter/clutter-actor.c:6755
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Indique si l'acteur possède une zone de rognage définie"
 
-#: ../clutter/clutter-actor.c:6768
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Rognage"
 
-#: ../clutter/clutter-actor.c:6769
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "La zone de rognage de l'acteur"
 
-#: ../clutter/clutter-actor.c:6788
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Rectangle de rognage"
 
-#: ../clutter/clutter-actor.c:6789
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "La zone visible de l'acteur"
 
-#: ../clutter/clutter-actor.c:6803 ../clutter/clutter-actor-meta.c:205
-#: ../clutter/clutter-binding-pool.c:318 ../clutter/clutter-input-device.c:247
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nom"
 
-#: ../clutter/clutter-actor.c:6804
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Nom de l'acteur"
 
-#: ../clutter/clutter-actor.c:6825
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Point pivot"
 
-#: ../clutter/clutter-actor.c:6826
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Le point pivot autour duquel s'organisent l'homothétie et la rotation"
 
-#: ../clutter/clutter-actor.c:6844
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Point pivot Z"
 
-#: ../clutter/clutter-actor.c:6845
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Composant Z du point pivot"
 
-#: ../clutter/clutter-actor.c:6863
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Homothétie (X)"
 
-#: ../clutter/clutter-actor.c:6864
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Facteur d'homothétie sur l'axe X"
 
-#: ../clutter/clutter-actor.c:6882
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Homothétie (Y)"
 
-#: ../clutter/clutter-actor.c:6883
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Facteur d'homothétie sur l'axe Y"
 
-#: ../clutter/clutter-actor.c:6901
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Homothétie (Z)"
 
-#: ../clutter/clutter-actor.c:6902
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Facteur d'homothétie sur l'axe Z"
 
-#: ../clutter/clutter-actor.c:6920
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Centre d'homothétie (X)"
 
-#: ../clutter/clutter-actor.c:6921
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Centre d'homothétie horizontale"
 
-#: ../clutter/clutter-actor.c:6939
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Centre d'homothétie (Y)"
 
-#: ../clutter/clutter-actor.c:6940
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Centre d'homothétie verticale"
 
-#: ../clutter/clutter-actor.c:6958
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Homothétie par rapport au centre de gravité"
 
-#: ../clutter/clutter-actor.c:6959
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "Le centre d'homothétie"
 
-#: ../clutter/clutter-actor.c:6977
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Angle de rotation (X)"
 
-#: ../clutter/clutter-actor.c:6978
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "L'angle de rotation autour de l'axe X"
 
-#: ../clutter/clutter-actor.c:6996
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Angle de rotation (Y)"
 
-#: ../clutter/clutter-actor.c:6997
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "L'angle de rotation autour de l'axe Y"
 
-#: ../clutter/clutter-actor.c:7015
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Angle de rotation (Z)"
 
-#: ../clutter/clutter-actor.c:7016
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "L'angle de rotation autour de l'axe Z"
 
-#: ../clutter/clutter-actor.c:7034
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Centre de rotation (X)"
 
-#: ../clutter/clutter-actor.c:7035
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "Le centre de rotation sur l'axe X"
 
-#: ../clutter/clutter-actor.c:7052
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Centre de rotation (Y)"
 
-#: ../clutter/clutter-actor.c:7053
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "Le centre de rotation sur l'axe Y"
 
-#: ../clutter/clutter-actor.c:7070
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Centre de rotation (Z)"
 
-#: ../clutter/clutter-actor.c:7071
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "Le centre de rotation sur l'axe Z"
 
-#: ../clutter/clutter-actor.c:7088
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Rotation autour du centre de gravité suivant Z"
 
-#: ../clutter/clutter-actor.c:7089
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Point central pour la rotation autour de l'axe Z"
 
-#: ../clutter/clutter-actor.c:7117
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Ancre (X)"
 
-#: ../clutter/clutter-actor.c:7118
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "Coordonnée X du point d'ancrage"
 
-#: ../clutter/clutter-actor.c:7146
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Ancre (Y)"
 
-#: ../clutter/clutter-actor.c:7147
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Coordonnée Y du point d'ancrage"
 
-#: ../clutter/clutter-actor.c:7174
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Centre de gravité de l'ancre"
 
-#: ../clutter/clutter-actor.c:7175
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "Le point d'ancrage comme un « ClutterGravity »"
 
-#: ../clutter/clutter-actor.c:7194
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Translation X"
 
-#: ../clutter/clutter-actor.c:7195
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Translation le long de l'axe X"
 
-#: ../clutter/clutter-actor.c:7214
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Translation Y"
 
-#: ../clutter/clutter-actor.c:7215
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Translation le long de l'axe Y"
 
-#: ../clutter/clutter-actor.c:7234
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Translation Z"
 
-#: ../clutter/clutter-actor.c:7235
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Translation le long de l'axe Z"
 
-#: ../clutter/clutter-actor.c:7265
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Transformation"
 
-#: ../clutter/clutter-actor.c:7266
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Matrice de transformation"
 
-#: ../clutter/clutter-actor.c:7281
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Définition de la transformation"
 
-#: ../clutter/clutter-actor.c:7282
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
-msgstr "Indique si la propriété « transform » (transformation) est définie"
+msgstr "Indique si la propriété transformation est définie"
 
-#: ../clutter/clutter-actor.c:7303
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Transformation de l'enfant"
 
-#: ../clutter/clutter-actor.c:7304
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Matrice de transformation de l'enfant"
 
-#: ../clutter/clutter-actor.c:7319
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Définition de la transformation de l'enfant"
 
-#: ../clutter/clutter-actor.c:7320
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
-msgstr ""
-"Indique si la propriété « child-transform » (transformation de l'enfant) est "
-"définie"
+msgstr "Indique si la propriété transformer-enfant est définie"
 
-#: ../clutter/clutter-actor.c:7337
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Afficher le parent défini"
 
-#: ../clutter/clutter-actor.c:7338
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Indique si l'acteur s'affiche quand son parent est défini"
 
-#: ../clutter/clutter-actor.c:7355
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Coupure d'allocation"
 
-#: ../clutter/clutter-actor.c:7356
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Définit la région de la coupure pour détecter l'allocation de l'acteur"
 
-#: ../clutter/clutter-actor.c:7369
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Direction du texte"
 
-#: ../clutter/clutter-actor.c:7370
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "La direction du texte"
 
-#: ../clutter/clutter-actor.c:7385
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Contient le pointeur"
 
-#: ../clutter/clutter-actor.c:7386
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Indique si l'acteur contient le pointer d'un périphérique d'entrée"
 
-#: ../clutter/clutter-actor.c:7399
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Actions"
 
-#: ../clutter/clutter-actor.c:7400
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Ajoute une action à l'acteur"
 
-#: ../clutter/clutter-actor.c:7413
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Contraintes"
 
-#: ../clutter/clutter-actor.c:7414
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Ajoute une contrainte à l'acteur"
 
-#: ../clutter/clutter-actor.c:7427
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Effet"
 
-#: ../clutter/clutter-actor.c:7428
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Ajoute un effet à appliquer à l'acteur"
 
-#: ../clutter/clutter-actor.c:7442
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Gestionnaire de disposition"
 
-#: ../clutter/clutter-actor.c:7443
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "L'objet contrôlant la disposition des enfants d'un acteur"
 
-#: ../clutter/clutter-actor.c:7457
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Étendre suivant X"
 
-#: ../clutter/clutter-actor.c:7458
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr ""
 "Indique si l'espace horizontal supplémentaire doit être attribué à l'acteur"
 
-#: ../clutter/clutter-actor.c:7473
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Étendre suivant Y"
 
-#: ../clutter/clutter-actor.c:7474
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr ""
 "Indique si l'espace vertical supplémentaire doit être attribué à l'acteur"
 
-#: ../clutter/clutter-actor.c:7490
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Alignement X"
 
-#: ../clutter/clutter-actor.c:7491
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "L'alignement de l'acteur sur l'axe X dans l'espace alloué"
 
-#: ../clutter/clutter-actor.c:7506
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Alignement Y"
 
-#: ../clutter/clutter-actor.c:7507
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "L'alignement de l'acteur sur l'axe Y dans l'espace alloué"
 
-#: ../clutter/clutter-actor.c:7526
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Marge supérieure"
 
-#: ../clutter/clutter-actor.c:7527
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Espace supplémentaire en haut"
 
-#: ../clutter/clutter-actor.c:7548
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Marge inférieure"
 
-#: ../clutter/clutter-actor.c:7549
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Espace supplémentaire en bas"
 
-#: ../clutter/clutter-actor.c:7570
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Marge de gauche"
 
-#: ../clutter/clutter-actor.c:7571
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Espace supplémentaire à gauche"
 
-#: ../clutter/clutter-actor.c:7592
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Marge de droite"
 
-#: ../clutter/clutter-actor.c:7593
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Espace supplémentaire à droite"
 
-#: ../clutter/clutter-actor.c:7609
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Couleur de fond définie"
 
-#: ../clutter/clutter-actor.c:7610 ../clutter/deprecated/clutter-box.c:269
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Indique si la couleur de fond a été définie"
 
-#: ../clutter/clutter-actor.c:7626
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Couleur de fond"
 
-#: ../clutter/clutter-actor.c:7627
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "La couleur de fond de l'acteur"
 
-#: ../clutter/clutter-actor.c:7642
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Premier enfant"
 
-#: ../clutter/clutter-actor.c:7643
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Le premier enfant de l'acteur"
 
-#: ../clutter/clutter-actor.c:7656
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Dernier enfant"
 
-#: ../clutter/clutter-actor.c:7657
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "Le dernier enfant de l'acteur"
 
-#: ../clutter/clutter-actor.c:7671
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Contenu"
 
-#: ../clutter/clutter-actor.c:7672
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Délègue l'objet au dessin du contenu de l'acteur"
 
-#: ../clutter/clutter-actor.c:7697
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Centre de gravité du contenu"
 
-#: ../clutter/clutter-actor.c:7698
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Alignement du contenu de l'acteur"
 
-#: ../clutter/clutter-actor.c:7718
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Boîte du contenu"
 
-#: ../clutter/clutter-actor.c:7719
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "La boîte délimitant le contenu de l'acteur"
 
-#: ../clutter/clutter-actor.c:7727
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Filtre de réduction"
 
-#: ../clutter/clutter-actor.c:7728
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Le filtre utilisé pour réduire la taille du contenu"
 
-#: ../clutter/clutter-actor.c:7735
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Filtre d'agrandissement"
 
-#: ../clutter/clutter-actor.c:7736
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Le filtre utilisé pour augmenter la taille du contenu"
 
-#: ../clutter/clutter-actor.c:7750
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Répétition du contenu"
 
-#: ../clutter/clutter-actor.c:7751
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "La règle de répétition du contenu de l'acteur"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Acteur"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "L'acteur attaché au méta"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "Le nom du méta"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:326
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Activé"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Indique si le méta est activé"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:343 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Source"
@@ -738,93 +731,89 @@ msgstr "Facteur"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Le facteur d'alignement, entre 0.0 et 1.0"
 
-#: ../clutter/clutter-backend.c:380
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Impossible d'initialiser le moteur Clutter"
 
-#: ../clutter/clutter-backend.c:454
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr ""
 "Le moteur du type « %s » ne prend pas en charge la création de plusieurs "
 "scènes"
 
-#: ../clutter/clutter-bind-constraint.c:344
+#: ../clutter/clutter-bind-constraint.c:359
 msgid "The source of the binding"
 msgstr "La source du lien"
 
-#: ../clutter/clutter-bind-constraint.c:357
+#: ../clutter/clutter-bind-constraint.c:372
 msgid "Coordinate"
 msgstr "Coordonnée"
 
-#: ../clutter/clutter-bind-constraint.c:358
+#: ../clutter/clutter-bind-constraint.c:373
 msgid "The coordinate to bind"
 msgstr "La coordonnée à lier"
 
-#: ../clutter/clutter-bind-constraint.c:372
+#: ../clutter/clutter-bind-constraint.c:387
 #: ../clutter/clutter-path-constraint.c:226
 #: ../clutter/clutter-snap-constraint.c:366
 msgid "Offset"
 msgstr "Décalage"
 
-#: ../clutter/clutter-bind-constraint.c:373
+#: ../clutter/clutter-bind-constraint.c:388
 msgid "The offset in pixels to apply to the binding"
 msgstr "Le décalage, en pixels, à appliquer au lien"
 
-#: ../clutter/clutter-binding-pool.c:319
+#: ../clutter/clutter-binding-pool.c:320
 msgid "The unique name of the binding pool"
 msgstr "Le nom unique de l'ensemble des liens"
 
-#: ../clutter/clutter-bin-layout.c:220 ../clutter/clutter-bin-layout.c:633
-#: ../clutter/clutter-box-layout.c:374
-#: ../clutter/deprecated/clutter-table-layout.c:602
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Alignement horizontal"
 
-#: ../clutter/clutter-bin-layout.c:221
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr ""
 "Alignement horizontal de l'acteur à l'intérieur du gestionnaire de "
 "disposition"
 
-#: ../clutter/clutter-bin-layout.c:229 ../clutter/clutter-bin-layout.c:653
-#: ../clutter/clutter-box-layout.c:383
-#: ../clutter/deprecated/clutter-table-layout.c:617
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Alignement vertical"
 
-#: ../clutter/clutter-bin-layout.c:230
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr ""
 "Alignement vertical de l'acteur à l'intérieur du gestionnaire de disposition"
 
-#: ../clutter/clutter-bin-layout.c:634
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr ""
 "Alignement horizontal par défaut des acteurs à l'intérieur du gestionnaire "
 "de disposition"
 
-#: ../clutter/clutter-bin-layout.c:654
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr ""
 "Alignement vertical par défaut des acteurs à l'intérieur du gestionnaire de "
 "disposition"
 
-#: ../clutter/clutter-box-layout.c:349
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Étendre"
 
-#: ../clutter/clutter-box-layout.c:350
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Alloue de l'espace supplémentaire pour l'enfant"
 
-#: ../clutter/clutter-box-layout.c:356
-#: ../clutter/deprecated/clutter-table-layout.c:581
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Remplissage horizontal"
 
-#: ../clutter/clutter-box-layout.c:357
-#: ../clutter/deprecated/clutter-table-layout.c:582
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -832,13 +821,11 @@ msgstr ""
 "Indique si l'enfant doit être prioritaire lorsque le conteneur alloue de "
 "l'espace supplémentaire sur l'axe horizontal"
 
-#: ../clutter/clutter-box-layout.c:365
-#: ../clutter/deprecated/clutter-table-layout.c:588
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Remplissage vertical"
 
-#: ../clutter/clutter-box-layout.c:366
-#: ../clutter/deprecated/clutter-table-layout.c:589
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -846,88 +833,80 @@ msgstr ""
 "Indique si l'enfant doit être prioritaire lorsque le conteneur alloue de "
 "l'espace supplémentaire sur l'axe vertical"
 
-#: ../clutter/clutter-box-layout.c:375
-#: ../clutter/deprecated/clutter-table-layout.c:603
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Alignement horizontal de l'acteur dans la cellule"
 
-#: ../clutter/clutter-box-layout.c:384
-#: ../clutter/deprecated/clutter-table-layout.c:618
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Alignement vertical de l'acteur dans la cellule"
 
-#: ../clutter/clutter-box-layout.c:1345
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Vertical"
 
-#: ../clutter/clutter-box-layout.c:1346
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Indique si l'agencement doit être vertical plutôt qu'horizontal"
 
-#: ../clutter/clutter-box-layout.c:1363 ../clutter/clutter-flow-layout.c:927
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientation"
 
-#: ../clutter/clutter-box-layout.c:1364 ../clutter/clutter-flow-layout.c:928
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "L'orientation de la disposition"
 
-#: ../clutter/clutter-box-layout.c:1380 ../clutter/clutter-flow-layout.c:943
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogène"
 
-#: ../clutter/clutter-box-layout.c:1381
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Indique si l'agencement doit être homogène, c.-à-d. si tous les enfants "
 "doivent avoir la même taille"
 
-#: ../clutter/clutter-box-layout.c:1396
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Empaqueter au début"
 
-#: ../clutter/clutter-box-layout.c:1397
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Indique s'il faut empaqueter les éléments au début de la boîte"
 
-#: ../clutter/clutter-box-layout.c:1410
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Espacement"
 
-#: ../clutter/clutter-box-layout.c:1411
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Espacement entre les enfants"
 
-#: ../clutter/clutter-box-layout.c:1428
-#: ../clutter/deprecated/clutter-table-layout.c:1669
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Utilise les animations"
 
-#: ../clutter/clutter-box-layout.c:1429
-#: ../clutter/deprecated/clutter-table-layout.c:1670
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Indique si les changements de position doivent être animés ou non"
 
-#: ../clutter/clutter-box-layout.c:1453
-#: ../clutter/deprecated/clutter-table-layout.c:1694
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Mode d'animation"
 
-#: ../clutter/clutter-box-layout.c:1454
-#: ../clutter/deprecated/clutter-table-layout.c:1695
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "Le mode d'animation des animations"
 
-#: ../clutter/clutter-box-layout.c:1474
-#: ../clutter/deprecated/clutter-table-layout.c:1715
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Durée d'animation"
 
-#: ../clutter/clutter-box-layout.c:1475
-#: ../clutter/deprecated/clutter-table-layout.c:1716
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "La durée des animations"
 
@@ -947,31 +926,14 @@ msgstr "Contraste"
 msgid "The contrast change to apply"
 msgstr "La modification de contraste à appliquer"
 
-#: ../clutter/clutter-canvas.c:243
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "La largeur du canevas"
 
-#: ../clutter/clutter-canvas.c:259
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "La hauteur du canevas"
 
-#: ../clutter/clutter-canvas.c:278
-msgid "Scale Factor Set"
-msgstr "Facteur d'homothétie renseigné"
-
-#: ../clutter/clutter-canvas.c:279
-msgid "Whether the scale-factor property is set"
-msgstr ""
-"Indique si la propriété « scale-factor » (facteur d'homothétie) est définie"
-
-#: ../clutter/clutter-canvas.c:300
-msgid "Scale Factor"
-msgstr "Facteur d'homothétie"
-
-#: ../clutter/clutter-canvas.c:301
-msgid "The scaling factor for the surface"
-msgstr "Le facteur d'homothétie de la surface Cairo"
-
 #: ../clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "Conteneur"
@@ -984,39 +946,39 @@ msgstr "Le conteneur qui a créé cette donnée"
 msgid "The actor wrapped by this data"
 msgstr "L'acteur contenu dans ces données"
 
-#: ../clutter/clutter-click-action.c:586
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Enfoncé"
 
-#: ../clutter/clutter-click-action.c:587
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Indique si l'objet cliquable doit être dans l'état enfoncé"
 
-#: ../clutter/clutter-click-action.c:600
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
 msgstr "Attrapé"
 
-#: ../clutter/clutter-click-action.c:601
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Indique si l'objet cliquable peut être attrapé"
 
-#: ../clutter/clutter-click-action.c:618 ../clutter/clutter-settings.c:651
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:607
 msgid "Long Press Duration"
 msgstr "Durée de l'appui long"
 
-#: ../clutter/clutter-click-action.c:619
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "La durée minimale d'un appui long pour reconnaître le mouvement"
 
-#: ../clutter/clutter-click-action.c:637
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Expiration de l'appui long"
 
-#: ../clutter/clutter-click-action.c:638
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "La durée maximale avant qu'un appui long soit annulé"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Définit l'acteur à cloner"
 
@@ -1028,27 +990,27 @@ msgstr "Teinte"
 msgid "The tint to apply"
 msgstr "La teinte à appliquer"
 
-#: ../clutter/clutter-deform-effect.c:591
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Tuiles horizontales"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Le nombre de tuiles horizontales"
 
-#: ../clutter/clutter-deform-effect.c:607
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Tuiles verticales"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Le nombre de tuiles verticales"
 
-#: ../clutter/clutter-deform-effect.c:625
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Matériau du dos"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Le matériau à utiliser pour dessiner le dos de l'acteur"
 
@@ -1056,297 +1018,259 @@ msgstr "Le matériau à utiliser pour dessiner le dos de l'acteur"
 msgid "The desaturation factor"
 msgstr "Le facteur de désaturation"
 
-#: ../clutter/clutter-device-manager.c:127
-#: ../clutter/clutter-input-device.c:355
-#: ../clutter/x11/clutter-keymap-x11.c:457
+#: ../clutter/clutter-device-manager.c:131
+#: ../clutter/clutter-input-device.c:366
+#: ../clutter/x11/clutter-keymap-x11.c:321
 msgid "Backend"
 msgstr "Backend"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "Le ClutterBackend du gestionnaire de périphérique"
 
-#: ../clutter/clutter-drag-action.c:733
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Seuil de déplacement horizontal"
 
-#: ../clutter/clutter-drag-action.c:734
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "Le nombre horizontal de pixels nécessaire pour déclencher un déplacement"
 
-#: ../clutter/clutter-drag-action.c:761
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Seuil de déplacement vertical"
 
-#: ../clutter/clutter-drag-action.c:762
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Le nombre vertical de pixels nécessaire pour déclencher un déplacement"
 
-#: ../clutter/clutter-drag-action.c:783
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Poignée de déplacement"
 
-#: ../clutter/clutter-drag-action.c:784
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "L'acteur en cours de déplacement"
 
-#: ../clutter/clutter-drag-action.c:797
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Axe de déplacement"
 
-#: ../clutter/clutter-drag-action.c:798
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Oblige le déplacement selon un axe"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Zone de déplacement"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Limite le déplacement dans un rectangle donné"
 
-#: ../clutter/clutter-drag-action.c:828
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Définition d'une zone de déplacement"
 
-#: ../clutter/clutter-drag-action.c:829
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Indique si la zone de déplacement est définie"
 
-#: ../clutter/clutter-flow-layout.c:944
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Indique si chaque élément doit recevoir la même allocation"
 
-#: ../clutter/clutter-flow-layout.c:959
-#: ../clutter/deprecated/clutter-table-layout.c:1629
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Espacement des colonnes"
 
-#: ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "L'espace entre les colonnes"
 
-#: ../clutter/clutter-flow-layout.c:976
-#: ../clutter/deprecated/clutter-table-layout.c:1645
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Espacement des lignes"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "L'espace entre les lignes"
 
-#: ../clutter/clutter-flow-layout.c:991
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Largeur minimale de la colonne"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Largeur minimale de chaque colonne"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Largeur maximale de la colonne"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Largeur maximale de chaque colonne"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Hauteur minimale de la ligne"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Hauteur minimale de chaque ligne"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Hauteur maximale de la ligne"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Hauteur maximale de chaque ligne"
 
-#: ../clutter/clutter-flow-layout.c:1054 ../clutter/clutter-flow-layout.c:1055
-msgid "Snap to grid"
-msgstr "Attraper la grille"
-
-#: ../clutter/clutter-gesture-action.c:668
-msgid "Number touch points"
-msgstr "Nombre de points tactiles"
-
-#: ../clutter/clutter-gesture-action.c:669
-msgid "Number of touch points"
-msgstr "Nombre de points tactiles"
-
-#: ../clutter/clutter-gesture-action.c:684
-msgid "Threshold Trigger Edge"
-msgstr "Seuil de déclenchement sur les bords"
-
-#: ../clutter/clutter-gesture-action.c:685
-msgid "The trigger edge used by the action"
-msgstr "Le bord de déclenchement utilisé pour l'action"
-
-#: ../clutter/clutter-gesture-action.c:704
-msgid "Threshold Trigger Horizontal Distance"
-msgstr "Seuil pour la distance de déclenchement horizontale"
-
-#: ../clutter/clutter-gesture-action.c:705
-msgid "The horizontal trigger distance used by the action"
-msgstr "La distance de déclenchement horizontale utilisée par l'action"
-
-#: ../clutter/clutter-gesture-action.c:723
-msgid "Threshold Trigger Vertical Distance"
-msgstr "Seuil pour la distance de déclenchement verticale"
-
-#: ../clutter/clutter-gesture-action.c:724
-msgid "The vertical trigger distance used by the action"
-msgstr "La distance de déclenchement verticale utilisée par l'action"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Collage à gauche"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr "Le numéro de colonne à laquelle coller la partie gauche de l'enfant"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Collage en haut"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr "Le numéro de ligne à laquelle coller la partie supérieure de l'enfant"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "Le nombre de colonnes sur lequel s'étend l'enfant"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "Le nombre de lignes sur lequel s'étend l'enfant"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1565
 msgid "Row spacing"
 msgstr "Espacement des lignes"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1566
 msgid "The amount of space between two consecutive rows"
 msgstr "L'espace entre deux lignes consécutives"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1579
 msgid "Column spacing"
 msgstr "Espacement des colonnes"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1580
 msgid "The amount of space between two consecutive columns"
 msgstr "L'espace entre deux colonnes consécutives"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1594
 msgid "Row Homogeneous"
 msgstr "Homogénéité des lignes"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1595
 msgid "If TRUE, the rows are all the same height"
 msgstr "Si TRUE, toutes les lignes ont la même hauteur"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1608
 msgid "Column Homogeneous"
 msgstr "Homogénéité des colonnes"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1609
 msgid "If TRUE, the columns are all the same width"
 msgstr "Si TRUE, toutes les colonnes ont la même largeur"
 
-#: ../clutter/clutter-image.c:246 ../clutter/clutter-image.c:309
-#: ../clutter/clutter-image.c:397
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Impossible de charger les données de l'image"
 
-#: ../clutter/clutter-input-device.c:231
+#: ../clutter/clutter-input-device.c:242
 msgid "Id"
 msgstr "Id"
 
-#: ../clutter/clutter-input-device.c:232
+#: ../clutter/clutter-input-device.c:243
 msgid "Unique identifier of the device"
 msgstr "L'identifiant unique du périphérique"
 
-#: ../clutter/clutter-input-device.c:248
+#: ../clutter/clutter-input-device.c:259
 msgid "The name of the device"
 msgstr "Le nom du périphérique"
 
-#: ../clutter/clutter-input-device.c:262
+#: ../clutter/clutter-input-device.c:273
 msgid "Device Type"
 msgstr "Type de périphérique"
 
-#: ../clutter/clutter-input-device.c:263
+#: ../clutter/clutter-input-device.c:274
 msgid "The type of the device"
 msgstr "Le type du périphérique"
 
-#: ../clutter/clutter-input-device.c:278
+#: ../clutter/clutter-input-device.c:289
 msgid "Device Manager"
 msgstr "Gestionnaire de périphériques"
 
-#: ../clutter/clutter-input-device.c:279
+#: ../clutter/clutter-input-device.c:290
 msgid "The device manager instance"
 msgstr "L'instance du gestionnaire de périphériques"
 
-#: ../clutter/clutter-input-device.c:292
+#: ../clutter/clutter-input-device.c:303
 msgid "Device Mode"
 msgstr "Mode du périphérique"
 
-#: ../clutter/clutter-input-device.c:293
+#: ../clutter/clutter-input-device.c:304
 msgid "The mode of the device"
 msgstr "Le mode du périphérique"
 
-#: ../clutter/clutter-input-device.c:307
+#: ../clutter/clutter-input-device.c:318
 msgid "Has Cursor"
 msgstr "Possède un curseur"
 
-#: ../clutter/clutter-input-device.c:308
+#: ../clutter/clutter-input-device.c:319
 msgid "Whether the device has a cursor"
 msgstr "Indique si le périphérique possède un curseur"
 
-#: ../clutter/clutter-input-device.c:327
+#: ../clutter/clutter-input-device.c:338
 msgid "Whether the device is enabled"
 msgstr "Indique si le périphérique est activé"
 
-#: ../clutter/clutter-input-device.c:340
+#: ../clutter/clutter-input-device.c:351
 msgid "Number of Axes"
 msgstr "Nombre d'axes"
 
-#: ../clutter/clutter-input-device.c:341
+#: ../clutter/clutter-input-device.c:352
 msgid "The number of axes on the device"
 msgstr "Le nombre d'axes du périphérique"
 
-#: ../clutter/clutter-input-device.c:356
+#: ../clutter/clutter-input-device.c:367
 msgid "The backend instance"
 msgstr "L'instance du moteur"
 
-#: ../clutter/clutter-interval.c:557
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Type de valeur"
 
-#: ../clutter/clutter-interval.c:558
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Le type des valeurs dans l'intervalle"
 
-#: ../clutter/clutter-interval.c:573
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valeur initiale"
 
-#: ../clutter/clutter-interval.c:574
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Valeur initiale de l'intervalle"
 
-#: ../clutter/clutter-interval.c:588
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valeur finale"
 
-#: ../clutter/clutter-interval.c:589
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Valeur finale de l'intervalle"
 
@@ -1365,96 +1289,96 @@ msgstr "Le gestionnaire qui a créé ces données"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:751
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1578
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Afficher le nombre d'images par seconde"
 
-#: ../clutter/clutter-main.c:1580
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Nombre d'images par seconde par défaut"
 
-#: ../clutter/clutter-main.c:1582
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Rendre tous les avertissements fatals"
 
-#: ../clutter/clutter-main.c:1585
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Sens du texte"
 
-#: ../clutter/clutter-main.c:1588
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Désactiver le MIP mapping pour le texte"
 
-#: ../clutter/clutter-main.c:1591
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Utiliser la sélection « approximative »"
 
-#: ../clutter/clutter-main.c:1594
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Drapeau de débogage de Clutter à activer"
 
-#: ../clutter/clutter-main.c:1596
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Drapeau de débogage de Clutter à désactiver"
 
-#: ../clutter/clutter-main.c:1600
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Drapeau de profilage de Clutter à activer"
 
-#: ../clutter/clutter-main.c:1602
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Drapeau de profilage de Clutter à désactiver"
 
-#: ../clutter/clutter-main.c:1605
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Activer l'accessibilité"
 
-#: ../clutter/clutter-main.c:1797
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Options de Clutter"
 
-#: ../clutter/clutter-main.c:1798
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Afficher les options de Clutter"
 
-#: ../clutter/clutter-pan-action.c:455
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Axe de déplacement"
 
-#: ../clutter/clutter-pan-action.c:456
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Oblige le déplacement selon un axe"
 
-#: ../clutter/clutter-pan-action.c:470
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolation"
 
-#: ../clutter/clutter-pan-action.c:471
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Indique si l'émission d'événements interpolés est activée"
 
-#: ../clutter/clutter-pan-action.c:487
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Décélération"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Taux de décélération du déplacement interpolé"
 
-#: ../clutter/clutter-pan-action.c:505
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Facteur d'accélération initial"
 
-#: ../clutter/clutter-pan-action.c:506
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Facteur appliqué au moment au démarrage de la phase d'interpolation"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Chemin"
 
@@ -1466,89 +1390,89 @@ msgstr "Le chemin utilisé pour contraindre un acteur"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "Le décalage le long du chemin, entre -1.0 et 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Nom de la propriété"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Le nom de la propriété à animer"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "« Filename » défini"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
-msgstr "Indique si la propriété « :filename » (nom de fichier) est définie"
+msgstr "Indique si la propriété :filename est définie"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nom de fichier"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Le chemin du fichier actuellement analysé"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Domaine de traduction"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr ""
 "Le domaine de traduction utilisé pour localiser la chaîne de caractères"
 
-#: ../clutter/clutter-scroll-actor.c:184
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Mode de défilement"
 
-#: ../clutter/clutter-scroll-actor.c:185
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Le sens du défilement"
 
-#: ../clutter/clutter-settings.c:486
+#: ../clutter/clutter-settings.c:448
 msgid "Double Click Time"
 msgstr "Délai du double-clic"
 
-#: ../clutter/clutter-settings.c:487
+#: ../clutter/clutter-settings.c:449
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "Le délai nécessaire entre les clics pour détecter un clic multiple"
 
-#: ../clutter/clutter-settings.c:502
+#: ../clutter/clutter-settings.c:464
 msgid "Double Click Distance"
 msgstr "Espacement du double-clic"
 
-#: ../clutter/clutter-settings.c:503
+#: ../clutter/clutter-settings.c:465
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "La distance nécessaire entre les clics pour détecter un clic multiple"
 
-#: ../clutter/clutter-settings.c:518
+#: ../clutter/clutter-settings.c:480
 msgid "Drag Threshold"
 msgstr "Seuil de déplacement"
 
-#: ../clutter/clutter-settings.c:519
+#: ../clutter/clutter-settings.c:481
 msgid "The distance the cursor should travel before starting to drag"
 msgstr ""
 "La distance que doit parcourir le curseur avant le début d'un déplacement"
 
-#: ../clutter/clutter-settings.c:534 ../clutter/clutter-text.c:3437
+#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Nom de la police"
 
-#: ../clutter/clutter-settings.c:535
+#: ../clutter/clutter-settings.c:497
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "La description de la police par défaut, sous une forme telle qu'elle "
 "pourrait être analysée par Pango"
 
-#: ../clutter/clutter-settings.c:550
+#: ../clutter/clutter-settings.c:512
 msgid "Font Antialias"
 msgstr "Lissage des polices"
 
-#: ../clutter/clutter-settings.c:551
+#: ../clutter/clutter-settings.c:513
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1556,79 +1480,71 @@ msgstr ""
 "Définit s'il faut utiliser le lissage (1 pour activer, 0 pour désactiver et "
 "-1 pour utiliser la valeur par défaut)"
 
-#: ../clutter/clutter-settings.c:567 ../clutter/clutter-settings.c:575
+#: ../clutter/clutter-settings.c:529
 msgid "Font DPI"
 msgstr "PPP de la police"
 
-#: ../clutter/clutter-settings.c:568 ../clutter/clutter-settings.c:576
+#: ../clutter/clutter-settings.c:530
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "La résolution de la police, en 1024 × points/pouces, ou -1 pour utiliser la "
 "valeur par défaut"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:546
 msgid "Font Hinting"
 msgstr "Optimisation de la police"
 
-#: ../clutter/clutter-settings.c:593
+#: ../clutter/clutter-settings.c:547
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Définit s'il faut utiliser l'optimisation (1 pour activer, 0 pour désactiver "
 "et -1 pour utiliser la valeur par défaut)"
 
-#: ../clutter/clutter-settings.c:613
+#: ../clutter/clutter-settings.c:568
 msgid "Font Hint Style"
 msgstr "Style d'optimisation des polices"
 
-#: ../clutter/clutter-settings.c:614
+#: ../clutter/clutter-settings.c:569
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Le style d'optimisation (hintnone, hintslight, hintmedium, hintfull)"
 
-#: ../clutter/clutter-settings.c:634
+#: ../clutter/clutter-settings.c:590
 msgid "Font Subpixel Order"
 msgstr "Ordre sous-pixel des polices"
 
-#: ../clutter/clutter-settings.c:635
+#: ../clutter/clutter-settings.c:591
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Le type de lissage sous-pixel (none, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:652
+#: ../clutter/clutter-settings.c:608
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "La durée minimale pour qu'un appui long soit identifié"
 
-#: ../clutter/clutter-settings.c:659
-msgid "Window Scaling Factor"
-msgstr "Facteur d'homothétie pour les fenêtres"
-
-#: ../clutter/clutter-settings.c:660
-msgid "The scaling factor to be applied to windows"
-msgstr "Le facteur d'homothétie à appliquer aux fenêtres"
-
-#: ../clutter/clutter-settings.c:667
+#: ../clutter/clutter-settings.c:615
 msgid "Fontconfig configuration timestamp"
 msgstr "Horodatage de la configuration de fontconfig"
 
-#: ../clutter/clutter-settings.c:668
+#: ../clutter/clutter-settings.c:616
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Horodatage de la configuration actuelle de fontconfig"
 
-#: ../clutter/clutter-settings.c:685
+#: ../clutter/clutter-settings.c:633
 msgid "Password Hint Time"
 msgstr "Durée avant masquage du mot de passe"
 
-#: ../clutter/clutter-settings.c:686
+#: ../clutter/clutter-settings.c:634
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Définit le temps d'affichage du dernier caractère saisi dans les entrées "
 "masquées"
 
-#: ../clutter/clutter-shader-effect.c:487
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Type de shader"
 
-#: ../clutter/clutter-shader-effect.c:488
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "Le type de shader utilisé"
 
@@ -1656,711 +1572,767 @@ msgstr "Le bord de la source qui doit être attrapé"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Le décalage, en pixels, à appliquer à la contrainte"
 
-#: ../clutter/clutter-stage.c:1918
+#: ../clutter/clutter-stage.c:1929
 msgid "Fullscreen Set"
 msgstr "Plein écran activé"
 
-#: ../clutter/clutter-stage.c:1919
+#: ../clutter/clutter-stage.c:1930
 msgid "Whether the main stage is fullscreen"
 msgstr "Indique si la scène principale est en plein écran"
 
-#: ../clutter/clutter-stage.c:1933
+#: ../clutter/clutter-stage.c:1944
 msgid "Offscreen"
 msgstr "Hors écran"
 
-#: ../clutter/clutter-stage.c:1934
+#: ../clutter/clutter-stage.c:1945
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Indique si la scène principale doit être rendue hors écran"
 
-#: ../clutter/clutter-stage.c:1946 ../clutter/clutter-text.c:3551
+#: ../clutter/clutter-stage.c:1957 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Curseur visible"
 
-#: ../clutter/clutter-stage.c:1947
+#: ../clutter/clutter-stage.c:1958
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr ""
 "Indique si le pointeur de la souris est visible sur la scène principale"
 
-#: ../clutter/clutter-stage.c:1961
+#: ../clutter/clutter-stage.c:1972
 msgid "User Resizable"
 msgstr "Redimensionnable par l'utilisateur"
 
-#: ../clutter/clutter-stage.c:1962
+#: ../clutter/clutter-stage.c:1973
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr ""
 "Indique si la scène peut être redimensionnée par des interactions de "
 "l'utilisateur"
 
-#: ../clutter/clutter-stage.c:1977 ../clutter/deprecated/clutter-box.c:254
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1988 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Couleur"
 
-#: ../clutter/clutter-stage.c:1978
+#: ../clutter/clutter-stage.c:1989
 msgid "The color of the stage"
 msgstr "La couleur de la scène"
 
-#: ../clutter/clutter-stage.c:1993
+#: ../clutter/clutter-stage.c:2004
 msgid "Perspective"
 msgstr "Perspective"
 
-#: ../clutter/clutter-stage.c:1994
+#: ../clutter/clutter-stage.c:2005
 msgid "Perspective projection parameters"
 msgstr "Paramètres de projection de la perspective"
 
-#: ../clutter/clutter-stage.c:2009
+#: ../clutter/clutter-stage.c:2020
 msgid "Title"
 msgstr "Titre"
 
-#: ../clutter/clutter-stage.c:2010
+#: ../clutter/clutter-stage.c:2021
 msgid "Stage Title"
 msgstr "Titre de la scène"
 
-#: ../clutter/clutter-stage.c:2027
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Fog"
 msgstr "Utiliser le brouillard"
 
-#: ../clutter/clutter-stage.c:2028
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to enable depth cueing"
 msgstr "Indique s'il faut activer la troncature d'arrière-plan"
 
-#: ../clutter/clutter-stage.c:2044
+#: ../clutter/clutter-stage.c:2055
 msgid "Fog"
 msgstr "Brouillard"
 
-#: ../clutter/clutter-stage.c:2045
+#: ../clutter/clutter-stage.c:2056
 msgid "Settings for the depth cueing"
 msgstr "Paramétrages de la troncature d'arrière-plan"
 
-#: ../clutter/clutter-stage.c:2061
+#: ../clutter/clutter-stage.c:2072
 msgid "Use Alpha"
 msgstr "Utiliser l'alpha"
 
-#: ../clutter/clutter-stage.c:2062
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether to honour the alpha component of the stage color"
 msgstr ""
 "Indique s'il faut respecter le composant alpha de la couleur de la scène"
 
-#: ../clutter/clutter-stage.c:2078
+#: ../clutter/clutter-stage.c:2089
 msgid "Key Focus"
 msgstr "Focus clavier"
 
-#: ../clutter/clutter-stage.c:2079
+#: ../clutter/clutter-stage.c:2090
 msgid "The currently key focused actor"
 msgstr "L'acteur possédant actuellement le focus"
 
-#: ../clutter/clutter-stage.c:2095
+#: ../clutter/clutter-stage.c:2106
 msgid "No Clear Hint"
 msgstr "Aucun indicateur d'effacement"
 
-#: ../clutter/clutter-stage.c:2096
+#: ../clutter/clutter-stage.c:2107
 msgid "Whether the stage should clear its contents"
 msgstr "Indique si la scène doit effacer son contenu"
 
-#: ../clutter/clutter-stage.c:2109
+#: ../clutter/clutter-stage.c:2120
 msgid "Accept Focus"
 msgstr "Accepte le focus"
 
-#: ../clutter/clutter-stage.c:2110
+#: ../clutter/clutter-stage.c:2121
 msgid "Whether the stage should accept focus on show"
 msgstr "Indique si la scène doit accepter le focus à l'affichage"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3472
+#: ../clutter/clutter-table-layout.c:543
+msgid "Column Number"
+msgstr "Numéro de la colonne"
+
+#: ../clutter/clutter-table-layout.c:544
+msgid "The column the widget resides in"
+msgstr "La colonne dans laquelle l'élément graphique se situe"
+
+#: ../clutter/clutter-table-layout.c:551
+msgid "Row Number"
+msgstr "Numéro de la ligne"
+
+#: ../clutter/clutter-table-layout.c:552
+msgid "The row the widget resides in"
+msgstr "La ligne sur laquelle l'élément graphique se situe"
+
+#: ../clutter/clutter-table-layout.c:559
+msgid "Column Span"
+msgstr "Extension de colonne"
+
+#: ../clutter/clutter-table-layout.c:560
+msgid "The number of columns the widget should span"
+msgstr "Le nombre de colonnes sur lequel s'étend l'élément graphique"
+
+#: ../clutter/clutter-table-layout.c:567
+msgid "Row Span"
+msgstr "Extension de ligne"
+
+#: ../clutter/clutter-table-layout.c:568
+msgid "The number of rows the widget should span"
+msgstr "Le nombre de lignes sur lequel s'étend l'élément graphique"
+
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Extension horizontale"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Alloue de l'espace supplémentaire pour l'enfant sur l'axe horizontal"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Extension verticale"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Alloue de l'espace supplémentaire pour l'enfant sur l'axe vertical"
+
+#: ../clutter/clutter-table-layout.c:1638
+msgid "Spacing between columns"
+msgstr "Espacement entre les colonnes"
+
+#: ../clutter/clutter-table-layout.c:1652
+msgid "Spacing between rows"
+msgstr "Espacement entre les lignes"
+
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Texte"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Le contenu du buffer"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Longueur du texte"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "La longueur du texte actuellement dans le buffer"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Longueur maximale"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Nombre maximum de caractères pour cette entrée. Zéro si pas de maximum"
 
-#: ../clutter/clutter-text.c:3419
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Buffer"
 
-#: ../clutter/clutter-text.c:3420
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "Le buffer pour le texte"
 
-#: ../clutter/clutter-text.c:3438
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "La police à utiliser par le texte"
 
-#: ../clutter/clutter-text.c:3455
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Description de la police"
 
-#: ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "La description de la police à utiliser"
 
-#: ../clutter/clutter-text.c:3473
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "Le texte à afficher"
 
-#: ../clutter/clutter-text.c:3487
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Couleur de la police"
 
-#: ../clutter/clutter-text.c:3488
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "La couleur de la police utilisée par le texte"
 
-#: ../clutter/clutter-text.c:3503
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Modifiable"
 
-#: ../clutter/clutter-text.c:3504
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Indique si le texte est modifiable"
 
-#: ../clutter/clutter-text.c:3519
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Sélectionnable"
 
-#: ../clutter/clutter-text.c:3520
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Indique si le texte est sélectionnable"
 
-#: ../clutter/clutter-text.c:3534
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Activable"
 
-#: ../clutter/clutter-text.c:3535
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr ""
 "Indique si une pression sur la touche entrée entraîne l'émission du signal "
 "activé"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Indique si le curseur de saisie est visible"
 
-#: ../clutter/clutter-text.c:3566 ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "La couleur du curseur"
 
-#: ../clutter/clutter-text.c:3582
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Couleur du curseur renseignée"
 
-#: ../clutter/clutter-text.c:3583
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Indique si la couleur du curseur a été renseignée ou non"
 
-#: ../clutter/clutter-text.c:3598
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Taille du curseur"
 
-#: ../clutter/clutter-text.c:3599
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "La taille du curseur, en pixels"
 
-#: ../clutter/clutter-text.c:3615 ../clutter/clutter-text.c:3633
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Position du curseur"
 
-#: ../clutter/clutter-text.c:3616 ../clutter/clutter-text.c:3634
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "La position du curseur"
 
-#: ../clutter/clutter-text.c:3649
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Lien à la sélection"
 
-#: ../clutter/clutter-text.c:3650
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "La position de curseur de l'autre bout de la sélection"
 
-#: ../clutter/clutter-text.c:3665 ../clutter/clutter-text.c:3666
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Couleur de la sélection"
 
-#: ../clutter/clutter-text.c:3681
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Couleur de la sélection renseignée"
 
-#: ../clutter/clutter-text.c:3682
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Indique si la couleur de la sélection a été renseignée"
 
-#: ../clutter/clutter-text.c:3697
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Attributs"
 
-#: ../clutter/clutter-text.c:3698
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Une liste d'attributs stylistiques à appliquer au contenu de l'acteur"
 
-#: ../clutter/clutter-text.c:3720
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Utiliser le balisage"
 
-#: ../clutter/clutter-text.c:3721
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Indique si le texte inclut ou non des balises Pango"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Coupure des lignes"
 
-#: ../clutter/clutter-text.c:3738
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Si défini, coupe les lignes si le texte devient trop long"
 
-#: ../clutter/clutter-text.c:3753
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Mode de coupure des lignes"
 
-#: ../clutter/clutter-text.c:3754
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Contrôle la façon dont les lignes sont coupées"
 
-#: ../clutter/clutter-text.c:3769
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Faire une ellipse"
 
-#: ../clutter/clutter-text.c:3770
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "L'emplacement préféré pour faire une ellipse dans la chaîne"
 
-#: ../clutter/clutter-text.c:3786
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Alignement des lignes"
 
-#: ../clutter/clutter-text.c:3787
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr ""
 "L'alignement préféré de la chaîne, pour les textes sur plusieurs lignes"
 
-#: ../clutter/clutter-text.c:3803
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Justifié"
 
-#: ../clutter/clutter-text.c:3804
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Indique si le texte doit être justifié"
 
-#: ../clutter/clutter-text.c:3819
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Caractère de mot de passe"
 
-#: ../clutter/clutter-text.c:3820
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Si différent de zéro, utilise ce caractère pour afficher le contenu de "
 "l'acteur"
 
-#: ../clutter/clutter-text.c:3834
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Longueur maximale"
 
-#: ../clutter/clutter-text.c:3835
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Longueur maximale du texte à l'intérieur de l'acteur"
 
-#: ../clutter/clutter-text.c:3858
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Mode ligne unique"
 
-#: ../clutter/clutter-text.c:3859
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Indique si le texte doit être affiché sur une seule ligne"
 
-#: ../clutter/clutter-text.c:3873 ../clutter/clutter-text.c:3874
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Choix de la couleur du texte"
 
-#: ../clutter/clutter-text.c:3889
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Couleur du texte définie"
 
-#: ../clutter/clutter-text.c:3890
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Indique si le choix de la couleur du texte a été définie"
 
-#: ../clutter/clutter-timeline.c:591
-#: ../clutter/deprecated/clutter-animation.c:506
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Boucler"
 
-#: ../clutter/clutter-timeline.c:592
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Est-ce que l'axe temporel doit redémarrer automatiquement"
 
-#: ../clutter/clutter-timeline.c:606
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Délai"
 
-#: ../clutter/clutter-timeline.c:607
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Le délai avant de démarrer"
 
-#: ../clutter/clutter-timeline.c:622
-#: ../clutter/deprecated/clutter-animation.c:490
-#: ../clutter/deprecated/clutter-animator.c:1792
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1515
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Durée"
 
-#: ../clutter/clutter-timeline.c:623
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "La durée de l'axe temporel, en millisecondes"
 
-#: ../clutter/clutter-timeline.c:638
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Direction"
 
-#: ../clutter/clutter-timeline.c:639
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Direction de l'animation"
 
-#: ../clutter/clutter-timeline.c:654
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Retour automatique"
 
-#: ../clutter/clutter-timeline.c:655
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Indique si le sens doit-être inversé lorsque la fin est atteinte"
 
-#: ../clutter/clutter-timeline.c:673
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Nombre de répétition"
 
-#: ../clutter/clutter-timeline.c:674
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Combien de fois l'axe temporel doit être répété"
 
-#: ../clutter/clutter-timeline.c:688
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Mode de progression"
 
-#: ../clutter/clutter-timeline.c:689
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Comment l'axe temporel doit calculer la progression"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Intervalle"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "L'intervalle des valeurs pour la transition"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Animable"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "L'objet animable"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Retirer après réalisation"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Détacher la transition après sa réalisation"
 
-#: ../clutter/clutter-zoom-action.c:365
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Axe du zoom"
 
-#: ../clutter/clutter-zoom-action.c:366
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Oblige le déplacement du zoom selon un axe"
 
-#: ../clutter/deprecated/clutter-alpha.c:347
-#: ../clutter/deprecated/clutter-animation.c:521
-#: ../clutter/deprecated/clutter-animator.c:1809
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "Timeline"
 msgstr "Axe temporel"
 
-#: ../clutter/deprecated/clutter-alpha.c:348
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "L'axe temporel utilisé par l'alpha"
 
-#: ../clutter/deprecated/clutter-alpha.c:364
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Valeur de l'alpha"
 
-#: ../clutter/deprecated/clutter-alpha.c:365
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "La valeur alpha telle que calculée par l'alpha"
 
-#: ../clutter/deprecated/clutter-alpha.c:386
-#: ../clutter/deprecated/clutter-animation.c:474
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Mode"
 
-#: ../clutter/deprecated/clutter-alpha.c:387
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Mode de progression"
 
-#: ../clutter/deprecated/clutter-animation.c:457
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Objet"
 
-#: ../clutter/deprecated/clutter-animation.c:458
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "L'objet auquel s'applique l'animation"
 
-#: ../clutter/deprecated/clutter-animation.c:475
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "Le mode d'animation"
 
-#: ../clutter/deprecated/clutter-animation.c:491
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "La durée de l'animation, en millisecondes"
 
-#: ../clutter/deprecated/clutter-animation.c:507
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Indique si l'animation doit boucler"
 
-#: ../clutter/deprecated/clutter-animation.c:522
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "L'axe temporel utilisé par l'animation"
 
-#: ../clutter/deprecated/clutter-animation.c:538
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alpha"
 
-#: ../clutter/deprecated/clutter-animation.c:539
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "L'alpha utilisé par l'animation"
 
-#: ../clutter/deprecated/clutter-animator.c:1793
+#: ../clutter/deprecated/clutter-animator.c:1805
 msgid "The duration of the animation"
 msgstr "La durée de l'animation"
 
-#: ../clutter/deprecated/clutter-animator.c:1810
+#: ../clutter/deprecated/clutter-animator.c:1822
 msgid "The timeline of the animation"
 msgstr "L'axe temporel de l'animation"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Objet alpha a partir duquel dériver le comportement"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Profondeur de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Profondeur initiale à appliquer"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Profondeur d'arrivée"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Profondeur finale à appliquer"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Angle de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Angle initial"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Angle d'arrivée"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Angle final"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Angle d'inclinaison x"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "Inclinaison de l'ellipse autour de l'axe x"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Angle d'inclinaison y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "Inclinaison de l'ellipse autour de l'axe y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Angle d'inclinaison z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "Inclinaison de l'ellipse autour de l'axe z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Largeur de l'ellipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Hauteur de l'ellipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Centre"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Centre de l'ellipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Direction de la rotation"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Opacité de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Niveau initial d'opacité"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Opacité d'arrivée"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Niveau final d'opacité"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "L'objet ClutterPath qui représente le chemin que l'animation suit"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Angle de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Angle d'arrivée"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Axe"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Axe de rotation"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Centre (X)"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "Coordonnée X du centre de rotation"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Centre (Y)"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Coordonnée Y du centre de rotation"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Centre (Z)"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Coordonnée Z du centre de rotation"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Homothétie (X) de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Facteur initial d'homothétie selon l'axe X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Homothétie (X) de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Facteur final d'homothétie selon l'axe X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Homothétie (Y) de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Facteur initial d'homothétie selon l'axe Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Homothétie (Y) de départ"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Facteur final d'homothétie selon l'axe X"
 
-#: ../clutter/deprecated/clutter-box.c:255
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "La couleur de fond de la boîte"
 
-#: ../clutter/deprecated/clutter-box.c:268
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Couleur définie"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:585
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Largeur de la surface"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:586
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "La largeur de la surface Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:603
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Hauteur de la surface"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:604
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "La hauteur de la surface Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:624
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Redimensionnement automatique"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:625
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Indique si la surface doit correspondre à celle allouée"
 
@@ -2432,160 +2404,104 @@ msgstr "Le niveau de remplissage du buffer"
 msgid "The duration of the stream, in seconds"
 msgstr "La durée du flux, en secondes"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "La couleur du rectangle"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Couleur de la bordure"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "La couleur de la bordure du rectangle"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Largeur de la bordure"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "La largeur de la bordure du rectangle"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Possède une bordure"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Indique si le rectangle doit posséder une bordure"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Source de vertex"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Source du shader vertex"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Source de fragment"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Source du shader fragment"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Compilé"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Indique si le shader est compilé et lié"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Indique si le shader est activé"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "Échec de la compilation de %s : %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Shader vertex"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Shader fragment"
 
-#: ../clutter/deprecated/clutter-state.c:1497
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "State"
 msgstr "État"
 
-#: ../clutter/deprecated/clutter-state.c:1498
+#: ../clutter/deprecated/clutter-state.c:1506
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "Indique l'état actuellement défini (il se peut que la transition vers cet "
 "état ne soit pas achevée)"
 
-#: ../clutter/deprecated/clutter-state.c:1516
+#: ../clutter/deprecated/clutter-state.c:1524
 msgid "Default transition duration"
 msgstr "Durée de la transition par défaut"
 
-#: ../clutter/deprecated/clutter-table-layout.c:535
-msgid "Column Number"
-msgstr "Numéro de la colonne"
-
-#: ../clutter/deprecated/clutter-table-layout.c:536
-msgid "The column the widget resides in"
-msgstr "La colonne dans laquelle l'élément graphique se situe"
-
-#: ../clutter/deprecated/clutter-table-layout.c:543
-msgid "Row Number"
-msgstr "Numéro de la ligne"
-
-#: ../clutter/deprecated/clutter-table-layout.c:544
-msgid "The row the widget resides in"
-msgstr "La ligne sur laquelle l'élément graphique se situe"
-
-#: ../clutter/deprecated/clutter-table-layout.c:551
-msgid "Column Span"
-msgstr "Extension de colonne"
-
-#: ../clutter/deprecated/clutter-table-layout.c:552
-msgid "The number of columns the widget should span"
-msgstr "Le nombre de colonnes sur lequel s'étend l'élément graphique"
-
-#: ../clutter/deprecated/clutter-table-layout.c:559
-msgid "Row Span"
-msgstr "Extension de ligne"
-
-#: ../clutter/deprecated/clutter-table-layout.c:560
-msgid "The number of rows the widget should span"
-msgstr "Le nombre de lignes sur lequel s'étend l'élément graphique"
-
-#: ../clutter/deprecated/clutter-table-layout.c:567
-msgid "Horizontal Expand"
-msgstr "Extension horizontale"
-
-#: ../clutter/deprecated/clutter-table-layout.c:568
-msgid "Allocate extra space for the child in horizontal axis"
-msgstr "Alloue de l'espace supplémentaire pour l'enfant sur l'axe horizontal"
-
-#: ../clutter/deprecated/clutter-table-layout.c:574
-msgid "Vertical Expand"
-msgstr "Extension verticale"
-
-#: ../clutter/deprecated/clutter-table-layout.c:575
-msgid "Allocate extra space for the child in vertical axis"
-msgstr "Alloue de l'espace supplémentaire pour l'enfant sur l'axe vertical"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1630
-msgid "Spacing between columns"
-msgstr "Espacement entre les colonnes"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1646
-msgid "Spacing between rows"
-msgstr "Espacement entre les lignes"
-
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Synchronise la taille de l'acteur"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Synchronise automatiquement la taille de l'acteur avec les dimensions du "
 "pixbuf sous-jacent"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Désactive le découpage"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2593,74 +2509,74 @@ msgstr ""
 "Force la texture sous-jacente à être singulière et non composée de plus "
 "petites sous-textures économes en espace"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Perte de mosaïque"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Zone maximale de perte d'une texture par morceaux"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Répétition horizontale"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Répète le contenu plutôt que de le redimensionner horizontalement"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Répétition verticale"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Répète le contenu plutôt que de le redimensionner verticalement"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Qualité de filtrage"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "La qualité de rendu utilisée lors du dessin de la texture"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Format des pixels"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "Le format des pixels Cogl à utiliser"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Texture Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr "L'animateur de texture Cogl sous-jacent utilisé pour tracer cet acteur"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Matériel Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 "L'animateur de matériel Cogl sous-jacent utilisé pour tracer cet acteur"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "Le chemin du fichier contenant les données de l'image"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Conserver le rapport d'affichage"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
@@ -2668,22 +2584,22 @@ msgstr ""
 "Conserve le rapport d'affichage de la texture au moment d'une requête de "
 "largeur ou hauteur préférée"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Chargement asynchrone"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Charge les fichiers à l'intérieur d'un thread pour éviter un blocage lors du "
 "chargement des images à partir du disque"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Charger les données de manière asynchrone"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2691,190 +2607,194 @@ msgstr ""
 "Décode les fichiers de données d'image à l'intérieur d'un thread pour éviter "
 "un blocage lors du chargement des images à partir du disque"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Sélection avec alpha"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Acteur de forme avec canal alpha lors d'une sélection"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Impossible de charger les données de l'image"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "Les textures YUV ne sont pas prises en charge"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "Les textures YUV2 ne sont pas prises en charge"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "Chemin sysfs"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "Le chemin du périphérique dans sysfs"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Chemin du périphérique"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Le chemin du nœud du périphérique"
+
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr ""
 "Impossible de trouver un CoglWinsys approprié pour un GdkDisplay de type %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Surface"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "La surface wayland sous-jacente"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Largeur de la surface"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "La largeur de la surface wayland sous-jacente"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Hauteur de la surface"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "La hauteur de la surface wayland sous-jacente"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Affichage X à utiliser"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Écran X à utiliser"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Rendre les appels X synchrones"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
+#: ../clutter/x11/clutter-backend-x11.c:534
 msgid "Disable XInput support"
 msgstr "Désactiver la prise en charge de XInput"
 
-#: ../clutter/x11/clutter-keymap-x11.c:458
+#: ../clutter/x11/clutter-keymap-x11.c:322
 msgid "The Clutter backend"
 msgstr "Le moteur Clutter"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "Le pixmap X11 à lier"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Largeur du pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "La largeur du pixmap lié à cette texture"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Hauteur du pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "La hauteur du pixmap lié à cette texture"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Profondeur du pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr "La profondeur (en nombre de bits) du pixmap lié à cette texture"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Mises à jour automatiques"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Indique si la texture doit rester synchronisée avec les modifications du "
 "pixmap."
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Fenêtre"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "La fenêtre X11 à lier"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Canal de fenêtre automatique"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Indique si le canal de la fenêtre composite est défini à « Automatic » (ou "
 "« Manual » si faux)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Fenêtre tracée"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Indique si la fenêtre est tracée"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Détruite"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Indique si la fenêtre a été détruite"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "Fenêtre (X)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "La coordonnée X de la fenêtre selon X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Fenêtre (Y)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "La coordonnée Y de la fenêtre selon X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Override Redirect de la fenêtre"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Indique si cette fenêtre possède l'attribut override-redirect"
-
-#~ msgid "sysfs Path"
-#~ msgstr "Chemin sysfs"
-
-#~ msgid "Path of the device in sysfs"
-#~ msgstr "Le chemin du périphérique dans sysfs"
-
-#~ msgid "Device Path"
-#~ msgstr "Chemin du périphérique"
-
-#~ msgid "Path of the device node"
-#~ msgstr "Le chemin du nœud du périphérique"
diff --git a/po/he.po b/po/he.po
index 91d622f..31fc311 100644
--- a/po/he.po
+++ b/po/he.po
@@ -2,17 +2,16 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # Yaron Shahrabani <sh yaron gmail com>, 2011.
-# Yosef Or Boczko <yoseforb gnome org>, 2014.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Clutter\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
+"Report-Msgid-Bugs-To: http://bugzilla.clutter-project.org/enter_bug.cgi?";
 "product=clutter\n"
-"POT-Creation-Date: 2014-05-16 04:28+0300\n"
-"PO-Revision-Date: 2014-05-16 04:34+0300\n"
-"Last-Translator: Yosef Or Boczko <yoseforb gnome org>\n"
-"Language-Team: עברית <>\n"
+"POT-Creation-Date: 2012-03-09 16:01+0100\n"
+"PO-Revision-Date: 2011-10-22 15:48+0200\n"
+"Last-Translator: Yaron Shahrabani <sh yaron gmail com>\n"
+"Language-Team: Yaron Shahrabani <sh yaron gmail com>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -21,1063 +20,1193 @@ msgstr ""
 "X-Poedit-Language: Hebrew\n"
 "X-Poedit-Country: ISRAEL\n"
 "X-Poedit-SourceCharset: UTF-8\n"
-"X-Generator: Gtranslator 2.91.6\n"
 
-#: ../clutter/clutter-actor.c:5581
+#: ../clutter/clutter-actor.c:3877
 msgid "X coordinate"
-msgstr "X coordinate"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5582
+#: ../clutter/clutter-actor.c:3878
 msgid "X coordinate of the actor"
-msgstr "X coordinate of the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5600
+#: ../clutter/clutter-actor.c:3893
 msgid "Y coordinate"
-msgstr "Y coordinate"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5601
+#: ../clutter/clutter-actor.c:3894
 msgid "Y coordinate of the actor"
-msgstr "Y coordinate of the actor"
-
-#: ../clutter/clutter-actor.c:5623
-msgid "Position"
-msgstr "Position"
-
-#: ../clutter/clutter-actor.c:5624
-msgid "The position of the origin of the actor"
-msgstr "The position of the origin of the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5641 ../clutter/clutter-canvas.c:220
-#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/clutter-actor.c:3909
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:479
 msgid "Width"
-msgstr "Width"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5642
+#: ../clutter/clutter-actor.c:3910
 msgid "Width of the actor"
-msgstr "Width of the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5660 ../clutter/clutter-canvas.c:236
-#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/clutter-actor.c:3924
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:495
 msgid "Height"
-msgstr "Height"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5661
+#: ../clutter/clutter-actor.c:3925
 msgid "Height of the actor"
-msgstr "Height of the actor"
-
-#: ../clutter/clutter-actor.c:5682
-msgid "Size"
-msgstr "Size"
-
-#: ../clutter/clutter-actor.c:5683
-msgid "The size of the actor"
-msgstr "The size of the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5701
+#: ../clutter/clutter-actor.c:3943
 msgid "Fixed X"
-msgstr "Fixed X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5702
+#: ../clutter/clutter-actor.c:3944
 msgid "Forced X position of the actor"
-msgstr "Forced X position of the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5719
+#: ../clutter/clutter-actor.c:3962
 msgid "Fixed Y"
-msgstr "Fixed Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5720
+#: ../clutter/clutter-actor.c:3963
 msgid "Forced Y position of the actor"
-msgstr "Forced Y position of the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5735
+#: ../clutter/clutter-actor.c:3979
 msgid "Fixed position set"
-msgstr "Fixed position set"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5736
+#: ../clutter/clutter-actor.c:3980
 msgid "Whether to use fixed positioning for the actor"
-msgstr "Whether to use fixed positioning for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5754
+#: ../clutter/clutter-actor.c:4002
 msgid "Min Width"
-msgstr "Min Width"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5755
+#: ../clutter/clutter-actor.c:4003
 msgid "Forced minimum width request for the actor"
-msgstr "Forced minimum width request for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5773
+#: ../clutter/clutter-actor.c:4022
 msgid "Min Height"
-msgstr "Min Height"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5774
+#: ../clutter/clutter-actor.c:4023
 msgid "Forced minimum height request for the actor"
-msgstr "Forced minimum height request for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5792
+#: ../clutter/clutter-actor.c:4042
 msgid "Natural Width"
-msgstr "Natural Width"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5793
+#: ../clutter/clutter-actor.c:4043
 msgid "Forced natural width request for the actor"
-msgstr "Forced natural width request for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5811
+#: ../clutter/clutter-actor.c:4062
 msgid "Natural Height"
-msgstr "Natural Height"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5812
+#: ../clutter/clutter-actor.c:4063
 msgid "Forced natural height request for the actor"
-msgstr "Forced natural height request for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5827
+#: ../clutter/clutter-actor.c:4079
 msgid "Minimum width set"
-msgstr "Minimum width set"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5828
+#: ../clutter/clutter-actor.c:4080
 msgid "Whether to use the min-width property"
-msgstr "Whether to use the min-width property"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5842
+#: ../clutter/clutter-actor.c:4095
 msgid "Minimum height set"
-msgstr "Minimum height set"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5843
+#: ../clutter/clutter-actor.c:4096
 msgid "Whether to use the min-height property"
-msgstr "Whether to use the min-height property"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5857
+#: ../clutter/clutter-actor.c:4111
 msgid "Natural width set"
-msgstr "Natural width set"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5858
+#: ../clutter/clutter-actor.c:4112
 msgid "Whether to use the natural-width property"
-msgstr "Whether to use the natural-width property"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5872
+#: ../clutter/clutter-actor.c:4129
 msgid "Natural height set"
-msgstr "Natural height set"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5873
+#: ../clutter/clutter-actor.c:4130
 msgid "Whether to use the natural-height property"
-msgstr "Whether to use the natural-height property"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5889
+#: ../clutter/clutter-actor.c:4149
 msgid "Allocation"
-msgstr "Allocation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5890
+#: ../clutter/clutter-actor.c:4150
 msgid "The actor's allocation"
-msgstr "The actor's allocation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5947
+#: ../clutter/clutter-actor.c:4206
 msgid "Request Mode"
-msgstr "Request Mode"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5948
+#: ../clutter/clutter-actor.c:4207
 msgid "The actor's request mode"
-msgstr "The actor's request mode"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5972
-msgid "Z Position"
-msgstr "Z Position"
+#: ../clutter/clutter-actor.c:4222
+msgid "Depth"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5973
-msgid "The actor's position on the Z axis"
-msgstr "The actor's position on the Z axis"
+#: ../clutter/clutter-actor.c:4223
+msgid "Position on the Z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5990
+#: ../clutter/clutter-actor.c:4237
 msgid "Opacity"
-msgstr "Opacity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5991
+#: ../clutter/clutter-actor.c:4238
 msgid "Opacity of an actor"
-msgstr "Opacity of an actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6011
+#: ../clutter/clutter-actor.c:4257
 msgid "Offscreen redirect"
-msgstr "Offscreen redirect"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6012
+#: ../clutter/clutter-actor.c:4258
 msgid "Flags controlling when to flatten the actor into a single image"
-msgstr "Flags controlling when to flatten the actor into a single image"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6026
+#: ../clutter/clutter-actor.c:4276
 msgid "Visible"
-msgstr "Visible"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6027
+#: ../clutter/clutter-actor.c:4277
 msgid "Whether the actor is visible or not"
-msgstr "Whether the actor is visible or not"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6041
+#: ../clutter/clutter-actor.c:4292
 msgid "Mapped"
-msgstr "Mapped"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6042
+#: ../clutter/clutter-actor.c:4293
 msgid "Whether the actor will be painted"
-msgstr "Whether the actor will be painted"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6055
+#: ../clutter/clutter-actor.c:4307
 msgid "Realized"
-msgstr "Realized"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6056
+#: ../clutter/clutter-actor.c:4308
 msgid "Whether the actor has been realized"
-msgstr "Whether the actor has been realized"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6071
+#: ../clutter/clutter-actor.c:4324
 msgid "Reactive"
-msgstr "Reactive"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6072
+#: ../clutter/clutter-actor.c:4325
 msgid "Whether the actor is reactive to events"
-msgstr "Whether the actor is reactive to events"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6083
+#: ../clutter/clutter-actor.c:4337
 msgid "Has Clip"
-msgstr "Has Clip"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6084
+#: ../clutter/clutter-actor.c:4338
 msgid "Whether the actor has a clip set"
-msgstr "Whether the actor has a clip set"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6103
-msgid "Clip Rectangle"
-msgstr "Clip Rectangle"
+#: ../clutter/clutter-actor.c:4353
+msgid "Clip"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6104
-msgid "The visible region of the actor"
-msgstr "The visible region of the actor"
+#: ../clutter/clutter-actor.c:4354
+msgid "The clip region for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6118 ../clutter/clutter-actor-meta.c:207
-#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
+#: ../clutter/clutter-actor.c:4368
+#: ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-binding-pool.c:319
+#: ../clutter/clutter-input-device.c:236
 msgid "Name"
-msgstr "Name"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6119
+#: ../clutter/clutter-actor.c:4369
 msgid "Name of the actor"
-msgstr "Name of the actor"
-
-#: ../clutter/clutter-actor.c:6140
-msgid "Pivot Point"
-msgstr "Pivot Point"
-
-#: ../clutter/clutter-actor.c:6141
-msgid "The point around which the scaling and rotation occur"
-msgstr "The point around which the scaling and rotation occur"
-
-#: ../clutter/clutter-actor.c:6159
-msgid "Pivot Point Z"
-msgstr "Pivot Point Z"
-
-#: ../clutter/clutter-actor.c:6160
-msgid "Z component of the pivot point"
-msgstr "Z component of the pivot point"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6178
+#: ../clutter/clutter-actor.c:4383
 msgid "Scale X"
-msgstr "Scale X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6179
+#: ../clutter/clutter-actor.c:4384
 msgid "Scale factor on the X axis"
-msgstr "Scale factor on the X axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6197
+#: ../clutter/clutter-actor.c:4399
 msgid "Scale Y"
-msgstr "Scale Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6198
+#: ../clutter/clutter-actor.c:4400
 msgid "Scale factor on the Y axis"
-msgstr "Scale factor on the Y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6216
-msgid "Scale Z"
-msgstr "Scale Z"
+#: ../clutter/clutter-actor.c:4415
+msgid "Scale Center X"
+msgstr ""
+
+#: ../clutter/clutter-actor.c:4416
+msgid "Horizontal scale center"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6217
-msgid "Scale factor on the Z axis"
-msgstr "Scale factor on the Z axis"
+#: ../clutter/clutter-actor.c:4431
+msgid "Scale Center Y"
+msgstr ""
+
+#: ../clutter/clutter-actor.c:4432
+msgid "Vertical scale center"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6235
+#: ../clutter/clutter-actor.c:4447
+msgid "Scale Gravity"
+msgstr ""
+
+#: ../clutter/clutter-actor.c:4448
+msgid "The center of scaling"
+msgstr ""
+
+#: ../clutter/clutter-actor.c:4465
 msgid "Rotation Angle X"
-msgstr "Rotation Angle X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6236
+#: ../clutter/clutter-actor.c:4466
 msgid "The rotation angle on the X axis"
-msgstr "The rotation angle on the X axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6254
+#: ../clutter/clutter-actor.c:4481
 msgid "Rotation Angle Y"
-msgstr "Rotation Angle Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6255
+#: ../clutter/clutter-actor.c:4482
 msgid "The rotation angle on the Y axis"
-msgstr "The rotation angle on the Y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6273
+#: ../clutter/clutter-actor.c:4497
 msgid "Rotation Angle Z"
-msgstr "Rotation Angle Z"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6274
+#: ../clutter/clutter-actor.c:4498
 msgid "The rotation angle on the Z axis"
-msgstr "The rotation angle on the Z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6293
-msgid "Translation X"
-msgstr "Translation X"
+#: ../clutter/clutter-actor.c:4513
+msgid "Rotation Center X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6294
-msgid "Translation along the X axis"
-msgstr "Translation along the X axis"
+#: ../clutter/clutter-actor.c:4514
+msgid "The rotation center on the X axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6313
-msgid "Translation Y"
-msgstr "Translation Y"
+#: ../clutter/clutter-actor.c:4530
+msgid "Rotation Center Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6314
-msgid "Translation along the Y axis"
-msgstr "Translation along the Y axis"
+#: ../clutter/clutter-actor.c:4531
+msgid "The rotation center on the Y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6333
-msgid "Translation Z"
-msgstr "Translation Z"
+#: ../clutter/clutter-actor.c:4547
+msgid "Rotation Center Z"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6334
-msgid "Translation along the Z axis"
-msgstr "Translation along the Z axis"
+#: ../clutter/clutter-actor.c:4548
+msgid "The rotation center on the Z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6362
-msgid "Transform"
-msgstr "Transform"
+#: ../clutter/clutter-actor.c:4564
+msgid "Rotation Center Z Gravity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6363
-msgid "Transformation matrix"
-msgstr "Transformation matrix"
+#: ../clutter/clutter-actor.c:4565
+msgid "Center point for rotation around the Z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6376
-msgid "Transform Set"
-msgstr "Transform Set"
+#: ../clutter/clutter-actor.c:4583
+msgid "Anchor X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6377
-msgid "Whether the transform property is set"
-msgstr "Whether the transform property is set"
+#: ../clutter/clutter-actor.c:4584
+msgid "X coordinate of the anchor point"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6396
-msgid "Child Transform"
-msgstr "Child Transform"
+#: ../clutter/clutter-actor.c:4600
+msgid "Anchor Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6397
-msgid "Children transformation matrix"
-msgstr "Children transformation matrix"
+#: ../clutter/clutter-actor.c:4601
+msgid "Y coordinate of the anchor point"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6412
-msgid "Child Transform Set"
-msgstr "Child Transform Set"
+#: ../clutter/clutter-actor.c:4616
+msgid "Anchor Gravity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6413
-msgid "Whether the child-transform property is set"
-msgstr "Whether the child-transform property is set"
+#: ../clutter/clutter-actor.c:4617
+msgid "The anchor point as a ClutterGravity"
+msgstr ""
+
+#: ../clutter/clutter-actor.c:4636
+msgid "Show on set parent"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6431
+#: ../clutter/clutter-actor.c:4637
+msgid "Whether the actor is shown when parented"
+msgstr ""
+
+#: ../clutter/clutter-actor.c:4657
 msgid "Clip to Allocation"
-msgstr "Clip to Allocation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6432
+#: ../clutter/clutter-actor.c:4658
 msgid "Sets the clip region to track the actor's allocation"
-msgstr "Sets the clip region to track the actor's allocation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:4668
 msgid "Text Direction"
-msgstr "Text Direction"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6446
+#: ../clutter/clutter-actor.c:4669
 msgid "Direction of the text"
-msgstr "Direction of the text"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:4687
 msgid "Has Pointer"
-msgstr "Has Pointer"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6462
+#: ../clutter/clutter-actor.c:4688
 msgid "Whether the actor contains the pointer of an input device"
-msgstr "Whether the actor contains the pointer of an input device"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:4705
 msgid "Actions"
-msgstr "Actions"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:4706
 msgid "Adds an action to the actor"
-msgstr "Adds an action to the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6489
+#: ../clutter/clutter-actor.c:4720
 msgid "Constraints"
-msgstr "Constraints"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:4721
 msgid "Adds a constraint to the actor"
-msgstr "Adds a constraint to the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6503
+#: ../clutter/clutter-actor.c:4735
 msgid "Effect"
-msgstr "Effect"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6504
+#: ../clutter/clutter-actor.c:4736
 msgid "Add an effect to be applied on the actor"
-msgstr "Add an effect to be applied on the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6518
-msgid "Layout Manager"
-msgstr "Layout Manager"
+#: ../clutter/clutter-actor-meta.c:193
+#: ../clutter/clutter-child-meta.c:142
+msgid "Actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6519
-msgid "The object controlling the layout of an actor's children"
-msgstr "The object controlling the layout of an actor's children"
+#: ../clutter/clutter-actor-meta.c:194
+msgid "The actor attached to the meta"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6533
-msgid "X Expand"
-msgstr "X Expand"
+#: ../clutter/clutter-actor-meta.c:208
+msgid "The name of the meta"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6534
-msgid "Whether extra horizontal space should be assigned to the actor"
-msgstr "Whether extra horizontal space should be assigned to the actor"
+#: ../clutter/clutter-actor-meta.c:221
+#: ../clutter/clutter-input-device.c:315
+#: ../clutter/deprecated/clutter-shader.c:309
+msgid "Enabled"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6549
-msgid "Y Expand"
-msgstr "Y Expand"
+#: ../clutter/clutter-actor-meta.c:222
+msgid "Whether the meta is enabled"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6550
-msgid "Whether extra vertical space should be assigned to the actor"
-msgstr "Whether extra vertical space should be assigned to the actor"
+#: ../clutter/clutter-align-constraint.c:281
+#: ../clutter/clutter-bind-constraint.c:349
+#: ../clutter/clutter-clone.c:345
+#: ../clutter/clutter-snap-constraint.c:321
+msgid "Source"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6566
-msgid "X Alignment"
-msgstr "X Alignment"
+#: ../clutter/clutter-align-constraint.c:282
+msgid "The source of the alignment"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6567
-msgid "The alignment of the actor on the X axis within its allocation"
-msgstr "The alignment of the actor on the X axis within its allocation"
+#: ../clutter/clutter-align-constraint.c:295
+msgid "Align Axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6582
-msgid "Y Alignment"
-msgstr "Y Alignment"
+#: ../clutter/clutter-align-constraint.c:296
+msgid "The axis to align the position to"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6583
-msgid "The alignment of the actor on the Y axis within its allocation"
-msgstr "The alignment of the actor on the Y axis within its allocation"
+#: ../clutter/clutter-align-constraint.c:315
+#: ../clutter/clutter-desaturate-effect.c:304
+msgid "Factor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6602
-msgid "Margin Top"
-msgstr "Margin Top"
+#: ../clutter/clutter-align-constraint.c:316
+msgid "The alignment factor, between 0.0 and 1.0"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6603
-msgid "Extra space at the top"
-msgstr "Extra space at the top"
+#: ../clutter/clutter-alpha.c:345
+#: ../clutter/clutter-animation.c:538
+#: ../clutter/clutter-animator.c:1802
+msgid "Timeline"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6624
-msgid "Margin Bottom"
-msgstr "Margin Bottom"
+#: ../clutter/clutter-alpha.c:346
+msgid "Timeline used by the alpha"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6625
-msgid "Extra space at the bottom"
-msgstr "Extra space at the bottom"
+#: ../clutter/clutter-alpha.c:361
+msgid "Alpha value"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6646
-msgid "Margin Left"
-msgstr "Margin Left"
+#: ../clutter/clutter-alpha.c:362
+msgid "Alpha value as computed by the alpha"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6647
-msgid "Extra space at the left"
-msgstr "Extra space at the left"
+#: ../clutter/clutter-alpha.c:382
+#: ../clutter/clutter-animation.c:494
+msgid "Mode"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6668
-msgid "Margin Right"
-msgstr "Margin Right"
+#: ../clutter/clutter-alpha.c:383
+msgid "Progress mode"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6669
-msgid "Extra space at the right"
-msgstr "Extra space at the right"
+#: ../clutter/clutter-animation.c:478
+msgid "Object"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6685
-msgid "Background Color Set"
-msgstr "Background Color Set"
+#: ../clutter/clutter-animation.c:479
+msgid "Object to which the animation applies"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6686
-msgid "Whether the background color is set"
-msgstr "Whether the background color is set"
+#: ../clutter/clutter-animation.c:495
+msgid "The mode of the animation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6702
-msgid "Background color"
-msgstr "Background color"
+#: ../clutter/clutter-animation.c:509
+#: ../clutter/clutter-animator.c:1786
+#: ../clutter/clutter-media.c:194
+#: ../clutter/clutter-state.c:1486
+#: ../clutter/clutter-timeline.c:294
+msgid "Duration"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6703
-msgid "The actor's background color"
-msgstr "The actor's background color"
+#: ../clutter/clutter-animation.c:510
+msgid "Duration of the animation, in milliseconds"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6718
-msgid "First Child"
-msgstr "First Child"
+#: ../clutter/clutter-animation.c:524
+#: ../clutter/clutter-timeline.c:263
+msgid "Loop"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6719
-msgid "The actor's first child"
-msgstr "The actor's first child"
+#: ../clutter/clutter-animation.c:525
+msgid "Whether the animation should loop"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6732
-msgid "Last Child"
-msgstr "Last Child"
+#: ../clutter/clutter-animation.c:539
+msgid "The timeline used by the animation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6733
-msgid "The actor's last child"
-msgstr "The actor's last child"
+#: ../clutter/clutter-animation.c:552
+#: ../clutter/deprecated/clutter-behaviour.c:240
+msgid "Alpha"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6747
-msgid "Content"
-msgstr "Content"
+#: ../clutter/clutter-animation.c:553
+msgid "The alpha used by the animation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6748
-msgid "Delegate object for painting the actor's content"
-msgstr "Delegate object for painting the actor's content"
+#: ../clutter/clutter-animator.c:1787
+msgid "The duration of the animation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6773
-msgid "Content Gravity"
-msgstr "Content Gravity"
+#: ../clutter/clutter-animator.c:1803
+msgid "The timeline of the animation"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6774
-msgid "Alignment of the actor's content"
-msgstr "Alignment of the actor's content"
+#: ../clutter/deprecated/clutter-behaviour.c:241
+msgid "Alpha Object to drive the behaviour"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6794
-msgid "Content Box"
-msgstr "Content Box"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+msgid "Start Depth"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6795
-msgid "The bounding box of the actor's content"
-msgstr "The bounding box of the actor's content"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+msgid "Initial depth to apply"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6803
-msgid "Minification Filter"
-msgstr "Minification Filter"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+msgid "End Depth"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6804
-msgid "The filter used when reducing the size of the content"
-msgstr "The filter used when reducing the size of the content"
+#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+msgid "Final depth to apply"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6811
-msgid "Magnification Filter"
-msgstr "Magnification Filter"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:399
+msgid "Start Angle"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6812
-msgid "The filter used when increasing the size of the content"
-msgstr "The filter used when increasing the size of the content"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:400
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:282
+msgid "Initial angle"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6826
-msgid "Content Repeat"
-msgstr "Content Repeat"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:415
+msgid "End Angle"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6827
-msgid "The repeat policy for the actor's content"
-msgstr "The repeat policy for the actor's content"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:416
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:300
+msgid "Final angle"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
-msgid "Actor"
-msgstr "Actor"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:431
+msgid "Angle x tilt"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:194
-msgid "The actor attached to the meta"
-msgstr "The actor attached to the meta"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:432
+msgid "Tilt of the ellipse around x axis"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:208
-msgid "The name of the meta"
-msgstr "The name of the meta"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:447
+msgid "Angle y tilt"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
-msgid "Enabled"
-msgstr "Enabled"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:448
+msgid "Tilt of the ellipse around y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:222
-msgid "Whether the meta is enabled"
-msgstr "Whether the meta is enabled"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:463
+msgid "Angle z tilt"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
-#: ../clutter/clutter-snap-constraint.c:321
-msgid "Source"
-msgstr "Source"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:464
+msgid "Tilt of the ellipse around z axis"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:280
-msgid "The source of the alignment"
-msgstr "The source of the alignment"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:480
+msgid "Width of the ellipse"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:293
-msgid "Align Axis"
-msgstr "Align Axis"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:496
+msgid "Height of ellipse"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:294
-msgid "The axis to align the position to"
-msgstr "The axis to align the position to"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:511
+msgid "Center"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:313
-#: ../clutter/clutter-desaturate-effect.c:270
-msgid "Factor"
-msgstr "Factor"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:512
+msgid "Center of ellipse"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:314
-msgid "The alignment factor, between 0.0 and 1.0"
-msgstr "The alignment factor, between 0.0 and 1.0"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:526
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:335
+#: ../clutter/clutter-timeline.c:310
+msgid "Direction"
+msgstr ""
 
-#: ../clutter/clutter-backend.c:373
-msgid "Unable to initialize the Clutter backend"
-msgstr "Unable to initialize the Clutter backend"
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:527
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:336
+msgid "Direction of rotation"
+msgstr ""
 
-#: ../clutter/clutter-backend.c:447
-#, c-format
-msgid "The backend of type '%s' does not support creating multiple stages"
-msgstr "The backend of type '%s' does not support creating multiple stages"
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:183
+msgid "Opacity Start"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
+msgid "Initial opacity level"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:201
+msgid "Opacity End"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
+msgid "Final opacity level"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-path.c:224
+#: ../clutter/clutter-path-constraint.c:212
+msgid "Path"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
+msgid "The ClutterPath object representing the path to animate along"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:281
+msgid "Angle Begin"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:299
+msgid "Angle End"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:317
+msgid "Axis"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:318
+msgid "Axis of rotation"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:353
+msgid "Center X"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:354
+msgid "X coordinate of the center of rotation"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:371
+msgid "Center Y"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:372
+msgid "Y coordinate of the center of rotation"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:389
+msgid "Center Z"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:390
+msgid "Z coordinate of the center of rotation"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:224
+msgid "X Start Scale"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:225
+msgid "Initial scale on the X axis"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:243
+msgid "X End Scale"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:359
+#: ../clutter/deprecated/clutter-behaviour-scale.c:244
+msgid "Final scale on the X axis"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:262
+msgid "Y Start Scale"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:263
+msgid "Initial scale on the Y axis"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:281
+msgid "Y End Scale"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:282
+msgid "Final scale on the Y axis"
+msgstr ""
+
+#: ../clutter/clutter-bind-constraint.c:350
 msgid "The source of the binding"
-msgstr "The source of the binding"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:372
+#: ../clutter/clutter-bind-constraint.c:363
 msgid "Coordinate"
-msgstr "Coordinate"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:373
+#: ../clutter/clutter-bind-constraint.c:364
 msgid "The coordinate to bind"
-msgstr "The coordinate to bind"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:387
+#: ../clutter/clutter-bind-constraint.c:378
 #: ../clutter/clutter-path-constraint.c:226
 #: ../clutter/clutter-snap-constraint.c:366
 msgid "Offset"
-msgstr "Offset"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:388
+#: ../clutter/clutter-bind-constraint.c:379
 msgid "The offset in pixels to apply to the binding"
-msgstr "The offset in pixels to apply to the binding"
+msgstr ""
 
 #: ../clutter/clutter-binding-pool.c:320
 msgid "The unique name of the binding pool"
-msgstr "The unique name of the binding pool"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
-#: ../clutter/clutter-grid-layout.c:1550
-msgid "Orientation"
-msgstr "Orientation"
+#: ../clutter/clutter-bin-layout.c:261
+#: ../clutter/clutter-bin-layout.c:585
+#: ../clutter/clutter-box-layout.c:395
+#: ../clutter/clutter-table-layout.c:652
+msgid "Horizontal Alignment"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
-#: ../clutter/clutter-grid-layout.c:1551
-msgid "The orientation of the layout"
-msgstr "The orientation of the layout"
+#: ../clutter/clutter-bin-layout.c:262
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr ""
+
+#: ../clutter/clutter-bin-layout.c:270
+#: ../clutter/clutter-bin-layout.c:602
+#: ../clutter/clutter-box-layout.c:404
+#: ../clutter/clutter-table-layout.c:667
+msgid "Vertical Alignment"
+msgstr ""
+
+#: ../clutter/clutter-bin-layout.c:271
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr ""
+
+#: ../clutter/clutter-bin-layout.c:586
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr ""
+
+#: ../clutter/clutter-bin-layout.c:603
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr ""
+
+#: ../clutter/clutter-box.c:544
+msgid "Layout Manager"
+msgstr ""
+
+#: ../clutter/clutter-box.c:545
+msgid "The layout manager used by the box"
+msgstr ""
+
+#: ../clutter/clutter-box.c:564
+#: ../clutter/clutter-rectangle.c:267
+#: ../clutter/clutter-stage.c:1790
+msgid "Color"
+msgstr ""
+
+#: ../clutter/clutter-box.c:565
+msgid "The background color of the box"
+msgstr ""
+
+#: ../clutter/clutter-box.c:579
+msgid "Color Set"
+msgstr ""
+
+#: ../clutter/clutter-box.c:580
+msgid "Whether the background color is set"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:370
+msgid "Expand"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:371
+msgid "Allocate extra space for the child"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:377
+#: ../clutter/clutter-table-layout.c:631
+msgid "Horizontal Fill"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:378
+#: ../clutter/clutter-table-layout.c:632
+msgid "Whether the child should receive priority when the container is allocating spare space on the 
horizontal axis"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:386
+#: ../clutter/clutter-table-layout.c:638
+msgid "Vertical Fill"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:387
+#: ../clutter/clutter-table-layout.c:639
+msgid "Whether the child should receive priority when the container is allocating spare space on the 
vertical axis"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:396
+#: ../clutter/clutter-table-layout.c:653
+msgid "Horizontal alignment of the actor within the cell"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:405
+#: ../clutter/clutter-table-layout.c:668
+msgid "Vertical alignment of the actor within the cell"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:1303
+msgid "Vertical"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:1304
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-box-layout.c:1319
+#: ../clutter/clutter-flow-layout.c:901
 msgid "Homogeneous"
-msgstr "Homogeneous"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:986
-msgid ""
-"Whether the layout should be homogeneous, i.e. all childs get the same size"
+#: ../clutter/clutter-box-layout.c:1320
+msgid "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
-"Whether the layout should be homogeneous, i.e. all childs get the same size"
 
-#: ../clutter/clutter-box-layout.c:1001
+#: ../clutter/clutter-box-layout.c:1335
 msgid "Pack Start"
-msgstr "Pack Start"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1002
+#: ../clutter/clutter-box-layout.c:1336
 msgid "Whether to pack items at the start of the box"
-msgstr "Whether to pack items at the start of the box"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1015
+#: ../clutter/clutter-box-layout.c:1349
 msgid "Spacing"
-msgstr "Spacing"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1016
+#: ../clutter/clutter-box-layout.c:1350
 msgid "Spacing between children"
-msgstr "Spacing between children"
+msgstr ""
 
-#: ../clutter/clutter-brightness-contrast-effect.c:321
-msgid "Brightness"
-msgstr "Brightness"
+#: ../clutter/clutter-box-layout.c:1364
+#: ../clutter/clutter-table-layout.c:1742
+msgid "Use Animations"
+msgstr ""
 
-#: ../clutter/clutter-brightness-contrast-effect.c:322
-msgid "The brightness change to apply"
-msgstr "The brightness change to apply"
+#: ../clutter/clutter-box-layout.c:1365
+#: ../clutter/clutter-table-layout.c:1743
+msgid "Whether layout changes should be animated"
+msgstr ""
 
-#: ../clutter/clutter-brightness-contrast-effect.c:341
-msgid "Contrast"
-msgstr "Contrast"
+#: ../clutter/clutter-box-layout.c:1386
+#: ../clutter/clutter-table-layout.c:1764
+msgid "Easing Mode"
+msgstr ""
 
-#: ../clutter/clutter-brightness-contrast-effect.c:342
-msgid "The contrast change to apply"
-msgstr "The contrast change to apply"
+#: ../clutter/clutter-box-layout.c:1387
+#: ../clutter/clutter-table-layout.c:1765
+msgid "The easing mode of the animations"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:1404
+#: ../clutter/clutter-table-layout.c:1782
+msgid "Easing Duration"
+msgstr ""
+
+#: ../clutter/clutter-box-layout.c:1405
+#: ../clutter/clutter-table-layout.c:1783
+msgid "The duration of the animations"
+msgstr ""
+
+#: ../clutter/clutter-cairo-texture.c:582
+msgid "Surface Width"
+msgstr ""
+
+#: ../clutter/clutter-cairo-texture.c:583
+msgid "The width of the Cairo surface"
+msgstr ""
 
-#: ../clutter/clutter-canvas.c:221
-msgid "The width of the canvas"
-msgstr "The width of the canvas"
+#: ../clutter/clutter-cairo-texture.c:597
+msgid "Surface Height"
+msgstr ""
 
-#: ../clutter/clutter-canvas.c:237
-msgid "The height of the canvas"
-msgstr "The height of the canvas"
+#: ../clutter/clutter-cairo-texture.c:598
+msgid "The height of the Cairo surface"
+msgstr ""
+
+#: ../clutter/clutter-cairo-texture.c:615
+msgid "Auto Resize"
+msgstr ""
+
+#: ../clutter/clutter-cairo-texture.c:616
+msgid "Whether the surface should match the allocation"
+msgstr ""
 
 #: ../clutter/clutter-child-meta.c:127
 msgid "Container"
-msgstr "Container"
+msgstr ""
 
 #: ../clutter/clutter-child-meta.c:128
 msgid "The container that created this data"
-msgstr "The container that created this data"
+msgstr ""
 
 #: ../clutter/clutter-child-meta.c:143
 msgid "The actor wrapped by this data"
-msgstr "The actor wrapped by this data"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:559
+#: ../clutter/clutter-click-action.c:542
 msgid "Pressed"
-msgstr "Pressed"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:560
+#: ../clutter/clutter-click-action.c:543
 msgid "Whether the clickable should be in pressed state"
-msgstr "Whether the clickable should be in pressed state"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:573
+#: ../clutter/clutter-click-action.c:556
 msgid "Held"
-msgstr "Held"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:574
+#: ../clutter/clutter-click-action.c:557
 msgid "Whether the clickable has a grab"
-msgstr "Whether the clickable has a grab"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: ../clutter/clutter-click-action.c:574
+#: ../clutter/clutter-settings.c:598
 msgid "Long Press Duration"
-msgstr "Long Press Duration"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:592
+#: ../clutter/clutter-click-action.c:575
 msgid "The minimum duration of a long press to recognize the gesture"
-msgstr "The minimum duration of a long press to recognize the gesture"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:610
+#: ../clutter/clutter-click-action.c:593
 msgid "Long Press Threshold"
-msgstr "Long Press Threshold"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:611
+#: ../clutter/clutter-click-action.c:594
 msgid "The maximum threshold before a long press is cancelled"
-msgstr "The maximum threshold before a long press is cancelled"
+msgstr ""
 
 #: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
-msgstr "Specifies the actor to be cloned"
+msgstr ""
 
-#: ../clutter/clutter-colorize-effect.c:251
+#: ../clutter/clutter-colorize-effect.c:307
 msgid "Tint"
-msgstr "Tint"
+msgstr ""
 
-#: ../clutter/clutter-colorize-effect.c:252
+#: ../clutter/clutter-colorize-effect.c:308
 msgid "The tint to apply"
-msgstr "The tint to apply"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:594
+#: ../clutter/clutter-deform-effect.c:547
 msgid "Horizontal Tiles"
-msgstr "Horizontal Tiles"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:595
+#: ../clutter/clutter-deform-effect.c:548
 msgid "The number of horizontal tiles"
-msgstr "The number of horizontal tiles"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:610
+#: ../clutter/clutter-deform-effect.c:563
 msgid "Vertical Tiles"
-msgstr "Vertical Tiles"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:611
+#: ../clutter/clutter-deform-effect.c:564
 msgid "The number of vertical tiles"
-msgstr "The number of vertical tiles"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:628
+#: ../clutter/clutter-deform-effect.c:581
 msgid "Back Material"
-msgstr "Back Material"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:629
+#: ../clutter/clutter-deform-effect.c:582
 msgid "The material to be used when painting the back of the actor"
-msgstr "The material to be used when painting the back of the actor"
+msgstr ""
 
-#: ../clutter/clutter-desaturate-effect.c:271
+#: ../clutter/clutter-desaturate-effect.c:305
 msgid "The desaturation factor"
-msgstr "The desaturation factor"
+msgstr ""
 
 #: ../clutter/clutter-device-manager.c:131
-#: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: ../clutter/clutter-input-device.c:344
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
-msgstr "Backend"
+msgstr ""
 
 #: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
-msgstr "The ClutterBackend of the device manager"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:750
+#: ../clutter/clutter-drag-action.c:596
 msgid "Horizontal Drag Threshold"
-msgstr "Horizontal Drag Threshold"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:751
+#: ../clutter/clutter-drag-action.c:597
 msgid "The horizontal amount of pixels required to start dragging"
-msgstr "The horizontal amount of pixels required to start dragging"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:778
+#: ../clutter/clutter-drag-action.c:624
 msgid "Vertical Drag Threshold"
-msgstr "Vertical Drag Threshold"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:779
+#: ../clutter/clutter-drag-action.c:625
 msgid "The vertical amount of pixels required to start dragging"
-msgstr "The vertical amount of pixels required to start dragging"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:800
+#: ../clutter/clutter-drag-action.c:646
 msgid "Drag Handle"
-msgstr "Drag Handle"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:801
+#: ../clutter/clutter-drag-action.c:647
 msgid "The actor that is being dragged"
-msgstr "The actor that is being dragged"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:660
 msgid "Drag Axis"
-msgstr "Drag Axis"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:661
 msgid "Constraints the dragging to an axis"
-msgstr "Constraints the dragging to an axis"
-
-#: ../clutter/clutter-drag-action.c:831
-msgid "Drag Area"
-msgstr "Drag Area"
-
-#: ../clutter/clutter-drag-action.c:832
-msgid "Constrains the dragging to a rectangle"
-msgstr "Constrains the dragging to a rectangle"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:845
-msgid "Drag Area Set"
-msgstr "Drag Area Set"
+#: ../clutter/clutter-flow-layout.c:885
+msgid "Orientation"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:846
-msgid "Whether the drag area is set"
-msgstr "Whether the drag area is set"
+#: ../clutter/clutter-flow-layout.c:886
+msgid "The orientation of the layout"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:961
+#: ../clutter/clutter-flow-layout.c:902
 msgid "Whether each item should receive the same allocation"
-msgstr "Whether each item should receive the same allocation"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: ../clutter/clutter-flow-layout.c:917
+#: ../clutter/clutter-table-layout.c:1713
 msgid "Column Spacing"
-msgstr "Column Spacing"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:918
 msgid "The spacing between columns"
-msgstr "The spacing between columns"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: ../clutter/clutter-flow-layout.c:934
+#: ../clutter/clutter-table-layout.c:1727
 msgid "Row Spacing"
-msgstr "Row Spacing"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:994
+#: ../clutter/clutter-flow-layout.c:935
 msgid "The spacing between rows"
-msgstr "The spacing between rows"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:949
 msgid "Minimum Column Width"
-msgstr "Minimum Column Width"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: ../clutter/clutter-flow-layout.c:950
 msgid "Minimum width for each column"
-msgstr "Minimum width for each column"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: ../clutter/clutter-flow-layout.c:965
 msgid "Maximum Column Width"
-msgstr "Maximum Column Width"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: ../clutter/clutter-flow-layout.c:966
 msgid "Maximum width for each column"
-msgstr "Maximum width for each column"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:980
 msgid "Minimum Row Height"
-msgstr "Minimum Row Height"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: ../clutter/clutter-flow-layout.c:981
 msgid "Minimum height for each row"
-msgstr "Minimum height for each row"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: ../clutter/clutter-flow-layout.c:996
 msgid "Maximum Row Height"
-msgstr "Maximum Row Height"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: ../clutter/clutter-flow-layout.c:997
 msgid "Maximum height for each row"
-msgstr "Maximum height for each row"
-
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "Snap to grid"
-
-#: ../clutter/clutter-gesture-action.c:644
-msgid "Number touch points"
-msgstr "Number touch points"
-
-#: ../clutter/clutter-gesture-action.c:645
-msgid "Number of touch points"
-msgstr "Number of touch points"
-
-#: ../clutter/clutter-grid-layout.c:1222
-msgid "Left attachment"
-msgstr "Left attachment"
-
-#: ../clutter/clutter-grid-layout.c:1223
-msgid "The column number to attach the left side of the child to"
-msgstr "The column number to attach the left side of the child to"
-
-#: ../clutter/clutter-grid-layout.c:1230
-msgid "Top attachment"
-msgstr "Top attachment"
-
-#: ../clutter/clutter-grid-layout.c:1231
-msgid "The row number to attach the top side of a child widget to"
-msgstr "The row number to attach the top side of a child widget to"
-
-#: ../clutter/clutter-grid-layout.c:1239
-msgid "The number of columns that a child spans"
-msgstr "The number of columns that a child spans"
-
-#: ../clutter/clutter-grid-layout.c:1246
-msgid "The number of rows that a child spans"
-msgstr "The number of rows that a child spans"
-
-#: ../clutter/clutter-grid-layout.c:1565
-msgid "Row spacing"
-msgstr "Row spacing"
-
-#: ../clutter/clutter-grid-layout.c:1566
-msgid "The amount of space between two consecutive rows"
-msgstr "The amount of space between two consecutive rows"
-
-#: ../clutter/clutter-grid-layout.c:1579
-msgid "Column spacing"
-msgstr "Column spacing"
-
-#: ../clutter/clutter-grid-layout.c:1580
-msgid "The amount of space between two consecutive columns"
-msgstr "The amount of space between two consecutive columns"
-
-#: ../clutter/clutter-grid-layout.c:1594
-msgid "Row Homogeneous"
-msgstr "Row Homogeneous"
-
-#: ../clutter/clutter-grid-layout.c:1595
-msgid "If TRUE, the rows are all the same height"
-msgstr "If TRUE, the rows are all the same height"
-
-#: ../clutter/clutter-grid-layout.c:1608
-msgid "Column Homogeneous"
-msgstr "Column Homogeneous"
-
-#: ../clutter/clutter-grid-layout.c:1609
-msgid "If TRUE, the columns are all the same width"
-msgstr "If TRUE, the columns are all the same width"
-
-#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
-#: ../clutter/clutter-image.c:399
-msgid "Unable to load image data"
-msgstr "Unable to load image data"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:242
+#: ../clutter/clutter-input-device.c:220
 msgid "Id"
-msgstr "Id"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:243
+#: ../clutter/clutter-input-device.c:221
 msgid "Unique identifier of the device"
-msgstr "Unique identifier of the device"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:259
+#: ../clutter/clutter-input-device.c:237
 msgid "The name of the device"
-msgstr "The name of the device"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:273
+#: ../clutter/clutter-input-device.c:251
 msgid "Device Type"
-msgstr "Device Type"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:274
+#: ../clutter/clutter-input-device.c:252
 msgid "The type of the device"
-msgstr "The type of the device"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:289
+#: ../clutter/clutter-input-device.c:267
 msgid "Device Manager"
-msgstr "Device Manager"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:290
+#: ../clutter/clutter-input-device.c:268
 msgid "The device manager instance"
-msgstr "The device manager instance"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:303
+#: ../clutter/clutter-input-device.c:281
 msgid "Device Mode"
-msgstr "Device Mode"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:304
+#: ../clutter/clutter-input-device.c:282
 msgid "The mode of the device"
-msgstr "The mode of the device"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:318
+#: ../clutter/clutter-input-device.c:296
 msgid "Has Cursor"
-msgstr "Has Cursor"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:319
+#: ../clutter/clutter-input-device.c:297
 msgid "Whether the device has a cursor"
-msgstr "Whether the device has a cursor"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:338
+#: ../clutter/clutter-input-device.c:316
 msgid "Whether the device is enabled"
-msgstr "Whether the device is enabled"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:351
+#: ../clutter/clutter-input-device.c:329
 msgid "Number of Axes"
-msgstr "Number of Axes"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:352
+#: ../clutter/clutter-input-device.c:330
 msgid "The number of axes on the device"
-msgstr "The number of axes on the device"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:367
+#: ../clutter/clutter-input-device.c:345
 msgid "The backend instance"
-msgstr "The backend instance"
+msgstr ""
 
-#: ../clutter/clutter-interval.c:489
+#: ../clutter/clutter-interval.c:397
 msgid "Value Type"
-msgstr "Value Type"
+msgstr ""
 
-#: ../clutter/clutter-interval.c:490
+#: ../clutter/clutter-interval.c:398
 msgid "The type of the values in the interval"
-msgstr "The type of the values in the interval"
-
-#: ../clutter/clutter-interval.c:505
-msgid "Initial Value"
-msgstr "Initial Value"
-
-#: ../clutter/clutter-interval.c:506
-msgid "Initial value of the interval"
-msgstr "Initial value of the interval"
-
-#: ../clutter/clutter-interval.c:520
-msgid "Final Value"
-msgstr "Final Value"
-
-#: ../clutter/clutter-interval.c:521
-msgid "Final value of the interval"
-msgstr "Final value of the interval"
+msgstr ""
 
 #: ../clutter/clutter-layout-meta.c:117
 msgid "Manager"
-msgstr "Manager"
+msgstr ""
 
 #: ../clutter/clutter-layout-meta.c:118
 msgid "The manager that created this data"
-msgstr "The manager that created this data"
+msgstr ""
 
 #. Translators: Leave this UNTRANSLATED if your language is
 #. * left-to-right.  If your language is right-to-left
@@ -1086,862 +1215,1001 @@ msgstr "The manager that created this data"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:697
+#: ../clutter/clutter-main.c:713
+#: clutter/clutter-main.c:763
 msgid "default:LTR"
 msgstr "default:RTL"
 
-#: ../clutter/clutter-main.c:1463
+#: ../clutter/clutter-main.c:1524
 msgid "Show frames per second"
-msgstr "Show frames per second"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1465
+#: ../clutter/clutter-main.c:1526
 msgid "Default frame rate"
-msgstr "Default frame rate"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1467
+#: ../clutter/clutter-main.c:1528
 msgid "Make all warnings fatal"
-msgstr "Make all warnings fatal"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1470
+#: ../clutter/clutter-main.c:1531
 msgid "Direction for the text"
-msgstr "Direction for the text"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1473
+#: ../clutter/clutter-main.c:1534
 msgid "Disable mipmapping on text"
-msgstr "Disable mipmapping on text"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1476
+#: ../clutter/clutter-main.c:1537
 msgid "Use 'fuzzy' picking"
-msgstr "Use 'fuzzy' picking"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1479
+#: ../clutter/clutter-main.c:1540
 msgid "Clutter debugging flags to set"
-msgstr "Clutter debugging flags to set"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1481
+#: ../clutter/clutter-main.c:1542
 msgid "Clutter debugging flags to unset"
-msgstr "Clutter debugging flags to unset"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1485
+#: ../clutter/clutter-main.c:1546
 msgid "Clutter profiling flags to set"
-msgstr "Clutter profiling flags to set"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1487
+#: ../clutter/clutter-main.c:1548
 msgid "Clutter profiling flags to unset"
-msgstr "Clutter profiling flags to unset"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1490
+#: ../clutter/clutter-main.c:1551
 msgid "Enable accessibility"
-msgstr "Enable accessibility"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1739
 msgid "Clutter Options"
-msgstr "Clutter Options"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1683
+#: ../clutter/clutter-main.c:1740
 msgid "Show Clutter Options"
-msgstr "Show Clutter Options"
+msgstr ""
+
+#: ../clutter/clutter-media.c:77
+msgid "URI"
+msgstr ""
+
+#: ../clutter/clutter-media.c:78
+msgid "URI of a media file"
+msgstr ""
+
+#: ../clutter/clutter-media.c:91
+msgid "Playing"
+msgstr ""
+
+#: ../clutter/clutter-media.c:92
+msgid "Whether the actor is playing"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:444
-msgid "Pan Axis"
-msgstr "Pan Axis"
+#: ../clutter/clutter-media.c:106
+msgid "Progress"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:445
-msgid "Constraints the panning to an axis"
-msgstr "Constraints the panning to an axis"
+#: ../clutter/clutter-media.c:107
+msgid "Current progress of the playback"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:457
-msgid "Interpolate"
-msgstr "Interpolate"
+#: ../clutter/clutter-media.c:120
+msgid "Subtitle URI"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:458
-msgid "Whether interpolated events emission is enabled."
-msgstr "Whether interpolated events emission is enabled."
+#: ../clutter/clutter-media.c:121
+msgid "URI of a subtitle file"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:472
-msgid "Deceleration"
-msgstr "Deceleration"
+#: ../clutter/clutter-media.c:136
+msgid "Subtitle Font Name"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:473
-msgid "Rate at which the interpolated panning will decelerate in"
-msgstr "Rate at which the interpolated panning will decelerate in"
+#: ../clutter/clutter-media.c:137
+msgid "The font used to display subtitles"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:488
-msgid "Initial acceleration factor"
-msgstr "Initial acceleration factor"
+#: ../clutter/clutter-media.c:151
+msgid "Audio Volume"
+msgstr ""
 
-#: ../clutter/clutter-pan-action.c:489
-msgid "Factor applied to the momentum when starting the interpolated phase"
-msgstr "Factor applied to the momentum when starting the interpolated phase"
+#: ../clutter/clutter-media.c:152
+msgid "The volume of the audio"
+msgstr ""
 
-#: ../clutter/clutter-path-constraint.c:212
-msgid "Path"
-msgstr "Path"
+#: ../clutter/clutter-media.c:165
+msgid "Can Seek"
+msgstr ""
+
+#: ../clutter/clutter-media.c:166
+msgid "Whether the current stream is seekable"
+msgstr ""
+
+#: ../clutter/clutter-media.c:180
+msgid "Buffer Fill"
+msgstr ""
+
+#: ../clutter/clutter-media.c:181
+msgid "The fill level of the buffer"
+msgstr ""
+
+#: ../clutter/clutter-media.c:195
+msgid "The duration of the stream, in seconds"
+msgstr ""
 
 #: ../clutter/clutter-path-constraint.c:213
 msgid "The path used to constrain an actor"
-msgstr "The path used to constrain an actor"
+msgstr ""
 
 #: ../clutter/clutter-path-constraint.c:227
 msgid "The offset along the path, between -1.0 and 2.0"
-msgstr "The offset along the path, between -1.0 and 2.0"
+msgstr ""
 
-#: ../clutter/clutter-property-transition.c:271
-msgid "Property Name"
-msgstr "Property Name"
+#: ../clutter/clutter-rectangle.c:268
+msgid "The color of the rectangle"
+msgstr ""
 
-#: ../clutter/clutter-property-transition.c:272
-msgid "The name of the property to animate"
-msgstr "The name of the property to animate"
+#: ../clutter/clutter-rectangle.c:281
+msgid "Border Color"
+msgstr ""
 
-#: ../clutter/clutter-script.c:350
-msgid "Filename Set"
-msgstr "Filename Set"
+#: ../clutter/clutter-rectangle.c:282
+msgid "The color of the border of the rectangle"
+msgstr ""
 
-#: ../clutter/clutter-script.c:351
-msgid "Whether the :filename property is set"
-msgstr "Whether the :filename property is set"
+#: ../clutter/clutter-rectangle.c:297
+msgid "Border Width"
+msgstr ""
 
-#: ../clutter/clutter-script.c:365
-msgid "Filename"
-msgstr "Filename"
+#: ../clutter/clutter-rectangle.c:298
+msgid "The width of the border of the rectangle"
+msgstr ""
 
-#: ../clutter/clutter-script.c:366
-msgid "The path of the currently parsed file"
-msgstr "The path of the currently parsed file"
+#: ../clutter/clutter-rectangle.c:312
+msgid "Has Border"
+msgstr ""
+
+#: ../clutter/clutter-rectangle.c:313
+msgid "Whether the rectangle should have a border"
+msgstr ""
 
-#: ../clutter/clutter-script.c:383
-msgid "Translation Domain"
-msgstr "Translation Domain"
+#: ../clutter/clutter-script.c:434
+msgid "Filename Set"
+msgstr ""
 
-#: ../clutter/clutter-script.c:384
-msgid "The translation domain used to localize string"
-msgstr "The translation domain used to localize string"
+#: ../clutter/clutter-script.c:435
+msgid "Whether the :filename property is set"
+msgstr ""
 
-#: ../clutter/clutter-scroll-actor.c:190
-msgid "Scroll Mode"
-msgstr "Scroll Mode"
+#: ../clutter/clutter-script.c:449
+#: ../clutter/clutter-texture.c:1071
+msgid "Filename"
+msgstr ""
 
-#: ../clutter/clutter-scroll-actor.c:191
-msgid "The scrolling direction"
-msgstr "The scrolling direction"
+#: ../clutter/clutter-script.c:450
+msgid "The path of the currently parsed file"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:424
+#: ../clutter/clutter-settings.c:439
 msgid "Double Click Time"
-msgstr "Double Click Time"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:425
+#: ../clutter/clutter-settings.c:440
 msgid "The time between clicks necessary to detect a multiple click"
-msgstr "The time between clicks necessary to detect a multiple click"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:440
+#: ../clutter/clutter-settings.c:455
 msgid "Double Click Distance"
-msgstr "Double Click Distance"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:441
+#: ../clutter/clutter-settings.c:456
 msgid "The distance between clicks necessary to detect a multiple click"
-msgstr "The distance between clicks necessary to detect a multiple click"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:456
+#: ../clutter/clutter-settings.c:471
 msgid "Drag Threshold"
-msgstr "Drag Threshold"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:457
+#: ../clutter/clutter-settings.c:472
 msgid "The distance the cursor should travel before starting to drag"
-msgstr "The distance the cursor should travel before starting to drag"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: ../clutter/clutter-settings.c:487
+#: ../clutter/clutter-text.c:2995
 msgid "Font Name"
-msgstr "Font Name"
-
-#: ../clutter/clutter-settings.c:473
-msgid ""
-"The description of the default font, as one that could be parsed by Pango"
 msgstr ""
-"The description of the default font, as one that could be parsed by Pango"
 
 #: ../clutter/clutter-settings.c:488
+msgid "The description of the default font, as one that could be parsed by Pango"
+msgstr ""
+
+#: ../clutter/clutter-settings.c:503
 msgid "Font Antialias"
-msgstr "Font Antialias"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:489
-msgid ""
-"Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
-"default)"
+#: ../clutter/clutter-settings.c:504
+msgid "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the default)"
 msgstr ""
-"Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
-"default)"
 
-#: ../clutter/clutter-settings.c:505
+#: ../clutter/clutter-settings.c:520
 msgid "Font DPI"
-msgstr "Font DPI"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:506
-msgid ""
-"The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
+#: ../clutter/clutter-settings.c:521
+msgid "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
-"The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 
-#: ../clutter/clutter-settings.c:522
+#: ../clutter/clutter-settings.c:537
 msgid "Font Hinting"
-msgstr "Font Hinting"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:523
-msgid ""
-"Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
+#: ../clutter/clutter-settings.c:538
+msgid "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
-"Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 
-#: ../clutter/clutter-settings.c:544
+#: ../clutter/clutter-settings.c:559
 msgid "Font Hint Style"
-msgstr "Font Hint Style"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:545
+#: ../clutter/clutter-settings.c:560
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
-msgstr "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:566
+#: ../clutter/clutter-settings.c:581
 msgid "Font Subpixel Order"
-msgstr "Font Subpixel Order"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:567
+#: ../clutter/clutter-settings.c:582
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
-msgstr "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:584
+#: ../clutter/clutter-settings.c:599
 msgid "The minimum duration for a long press gesture to be recognized"
-msgstr "The minimum duration for a long press gesture to be recognized"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:606
 msgid "Fontconfig configuration timestamp"
-msgstr "Fontconfig configuration timestamp"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:607
 msgid "Timestamp of the current fontconfig configuration"
-msgstr "Timestamp of the current fontconfig configuration"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:609
+#: ../clutter/clutter-settings.c:624
 msgid "Password Hint Time"
-msgstr "Password Hint Time"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:610
+#: ../clutter/clutter-settings.c:625
 msgid "How long to show the last input character in hidden entries"
-msgstr "How long to show the last input character in hidden entries"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:257
+msgid "Vertex Source"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:258
+msgid "Source of vertex shader"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:274
+msgid "Fragment Source"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:275
+msgid "Source of fragment shader"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:292
+msgid "Compiled"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:293
+msgid "Whether the shader is compiled and linked"
+msgstr ""
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/deprecated/clutter-shader.c:310
+msgid "Whether the shader is enabled"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:521
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:522
+msgid "Vertex shader"
+msgstr ""
+
+#: ../clutter/deprecated/clutter-shader.c:523
+msgid "Fragment shader"
+msgstr ""
+
+#: ../clutter/clutter-shader-effect.c:482
 msgid "Shader Type"
-msgstr "Shader Type"
+msgstr ""
 
-#: ../clutter/clutter-shader-effect.c:487
+#: ../clutter/clutter-shader-effect.c:483
 msgid "The type of shader used"
-msgstr "The type of shader used"
+msgstr ""
 
 #: ../clutter/clutter-snap-constraint.c:322
 msgid "The source of the constraint"
-msgstr "The source of the constraint"
+msgstr ""
 
 #: ../clutter/clutter-snap-constraint.c:335
 msgid "From Edge"
-msgstr "From Edge"
+msgstr ""
 
 #: ../clutter/clutter-snap-constraint.c:336
 msgid "The edge of the actor that should be snapped"
-msgstr "The edge of the actor that should be snapped"
+msgstr ""
 
 #: ../clutter/clutter-snap-constraint.c:350
 msgid "To Edge"
-msgstr "To Edge"
+msgstr ""
 
 #: ../clutter/clutter-snap-constraint.c:351
 msgid "The edge of the source that should be snapped"
-msgstr "The edge of the source that should be snapped"
+msgstr ""
 
 #: ../clutter/clutter-snap-constraint.c:367
 msgid "The offset in pixels to apply to the constraint"
-msgstr "The offset in pixels to apply to the constraint"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1830
+#: ../clutter/clutter-stage.c:1732
 msgid "Fullscreen Set"
-msgstr "Fullscreen Set"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1831
+#: ../clutter/clutter-stage.c:1733
 msgid "Whether the main stage is fullscreen"
-msgstr "Whether the main stage is fullscreen"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1749
+msgid "Offscreen"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1843 ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-stage.c:1750
+msgid "Whether the main stage should be rendered offscreen"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1762
+#: ../clutter/clutter-text.c:3108
 msgid "Cursor Visible"
-msgstr "Cursor Visible"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1844
+#: ../clutter/clutter-stage.c:1763
 msgid "Whether the mouse pointer is visible on the main stage"
-msgstr "Whether the mouse pointer is visible on the main stage"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1858
+#: ../clutter/clutter-stage.c:1777
 msgid "User Resizable"
-msgstr "User Resizable"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1859
+#: ../clutter/clutter-stage.c:1778
 msgid "Whether the stage is able to be resized via user interaction"
-msgstr "Whether the stage is able to be resized via user interaction"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1874
+#: ../clutter/clutter-stage.c:1791
+msgid "The color of the stage"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1805
 msgid "Perspective"
-msgstr "Perspective"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1875
+#: ../clutter/clutter-stage.c:1806
 msgid "Perspective projection parameters"
-msgstr "Perspective projection parameters"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1890
+#: ../clutter/clutter-stage.c:1821
 msgid "Title"
-msgstr "Title"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1891
+#: ../clutter/clutter-stage.c:1822
 msgid "Stage Title"
-msgstr "Stage Title"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1907
+#: ../clutter/clutter-stage.c:1837
+msgid "Use Fog"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1838
+msgid "Whether to enable depth cueing"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1852
+msgid "Fog"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1853
+msgid "Settings for the depth cueing"
+msgstr ""
+
+#: ../clutter/clutter-stage.c:1869
 msgid "Use Alpha"
-msgstr "Use Alpha"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1908
+#: ../clutter/clutter-stage.c:1870
 msgid "Whether to honour the alpha component of the stage color"
-msgstr "Whether to honour the alpha component of the stage color"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1924
+#: ../clutter/clutter-stage.c:1886
 msgid "Key Focus"
-msgstr "Key Focus"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1925
+#: ../clutter/clutter-stage.c:1887
 msgid "The currently key focused actor"
-msgstr "The currently key focused actor"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1941
+#: ../clutter/clutter-stage.c:1903
 msgid "No Clear Hint"
-msgstr "No Clear Hint"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:1904
 msgid "Whether the stage should clear its contents"
-msgstr "Whether the stage should clear its contents"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1955
+#: ../clutter/clutter-stage.c:1917
 msgid "Accept Focus"
-msgstr "Accept Focus"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1956
+#: ../clutter/clutter-stage.c:1918
 msgid "Whether the stage should accept focus on show"
-msgstr "Whether the stage should accept focus on show"
+msgstr ""
+
+#: ../clutter/clutter-state.c:1472
+msgid "State"
+msgstr ""
+
+#: ../clutter/clutter-state.c:1473
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:331
+#: ../clutter/clutter-state.c:1487
+msgid "Default transition duration"
+msgstr ""
+
+#: ../clutter/clutter-table-layout.c:585
 msgid "Column Number"
-msgstr "Column Number"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:332
+#: ../clutter/clutter-table-layout.c:586
 msgid "The column the widget resides in"
-msgstr "The column the widget resides in"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:339
+#: ../clutter/clutter-table-layout.c:593
 msgid "Row Number"
-msgstr "Row Number"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:340
+#: ../clutter/clutter-table-layout.c:594
 msgid "The row the widget resides in"
-msgstr "The row the widget resides in"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:347
+#: ../clutter/clutter-table-layout.c:601
 msgid "Column Span"
-msgstr "Column Span"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:348
+#: ../clutter/clutter-table-layout.c:602
 msgid "The number of columns the widget should span"
-msgstr "The number of columns the widget should span"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:355
+#: ../clutter/clutter-table-layout.c:609
 msgid "Row Span"
-msgstr "Row Span"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:356
+#: ../clutter/clutter-table-layout.c:610
 msgid "The number of rows the widget should span"
-msgstr "The number of rows the widget should span"
-
-#: ../clutter/clutter-table-layout.c:1282
-msgid "Spacing between columns"
-msgstr "Spacing between columns"
-
-#: ../clutter/clutter-table-layout.c:1296
-msgid "Spacing between rows"
-msgstr "Spacing between rows"
-
-#: ../clutter/clutter-text-buffer.c:349 ../clutter/clutter-text.c:3387
-msgid "Text"
-msgstr "Text"
-
-#: ../clutter/clutter-text-buffer.c:350
-msgid "The contents of the buffer"
-msgstr "The contents of the buffer"
+msgstr ""
 
-#: ../clutter/clutter-text-buffer.c:363
-msgid "Text length"
-msgstr "Text length"
+#: ../clutter/clutter-table-layout.c:617
+msgid "Horizontal Expand"
+msgstr ""
 
-#: ../clutter/clutter-text-buffer.c:364
-msgid "Length of the text currently in the buffer"
-msgstr "Length of the text currently in the buffer"
+#: ../clutter/clutter-table-layout.c:618
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr ""
 
-#: ../clutter/clutter-text-buffer.c:377
-msgid "Maximum length"
-msgstr "Maximum length"
+#: ../clutter/clutter-table-layout.c:624
+msgid "Vertical Expand"
+msgstr ""
 
-#: ../clutter/clutter-text-buffer.c:378
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Maximum number of characters for this entry. Zero if no maximum"
+#: ../clutter/clutter-table-layout.c:625
+msgid "Allocate extra space for the child in vertical axis"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3340
-msgid "Buffer"
-msgstr "Buffer"
+#: ../clutter/clutter-table-layout.c:1714
+msgid "Spacing between columns"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3341
-msgid "The buffer for the text"
-msgstr "The buffer for the text"
+#: ../clutter/clutter-table-layout.c:1728
+msgid "Spacing between rows"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3357
+#: ../clutter/clutter-text.c:2996
 msgid "The font to be used by the text"
-msgstr "The font to be used by the text"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3372
+#: ../clutter/clutter-text.c:3013
 msgid "Font Description"
-msgstr "Font Description"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3373
+#: ../clutter/clutter-text.c:3014
 msgid "The font description to be used"
-msgstr "The font description to be used"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3388
+#: ../clutter/clutter-text.c:3030
+msgid "Text"
+msgstr ""
+
+#: ../clutter/clutter-text.c:3031
 msgid "The text to render"
-msgstr "The text to render"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3400
+#: ../clutter/clutter-text.c:3045
 msgid "Font Color"
-msgstr "Font Color"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3401
+#: ../clutter/clutter-text.c:3046
 msgid "Color of the font used by the text"
-msgstr "Color of the font used by the text"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3414
+#: ../clutter/clutter-text.c:3060
 msgid "Editable"
-msgstr "Editable"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3415
+#: ../clutter/clutter-text.c:3061
 msgid "Whether the text is editable"
-msgstr "Whether the text is editable"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text.c:3076
 msgid "Selectable"
-msgstr "Selectable"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3077
 msgid "Whether the text is selectable"
-msgstr "Whether the text is selectable"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3441
+#: ../clutter/clutter-text.c:3091
 msgid "Activatable"
-msgstr "Activatable"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3442
+#: ../clutter/clutter-text.c:3092
 msgid "Whether pressing return causes the activate signal to be emitted"
-msgstr "Whether pressing return causes the activate signal to be emitted"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3457
+#: ../clutter/clutter-text.c:3109
 msgid "Whether the input cursor is visible"
-msgstr "Whether the input cursor is visible"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: ../clutter/clutter-text.c:3123
+#: ../clutter/clutter-text.c:3124
 msgid "Cursor Color"
-msgstr "Cursor Color"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3483
+#: ../clutter/clutter-text.c:3138
 msgid "Cursor Color Set"
-msgstr "Cursor Color Set"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3484
+#: ../clutter/clutter-text.c:3139
 msgid "Whether the cursor color has been set"
-msgstr "Whether the cursor color has been set"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3497
+#: ../clutter/clutter-text.c:3154
 msgid "Cursor Size"
-msgstr "Cursor Size"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3498
+#: ../clutter/clutter-text.c:3155
 msgid "The width of the cursor, in pixels"
-msgstr "The width of the cursor, in pixels"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3510
+#: ../clutter/clutter-text.c:3169
 msgid "Cursor Position"
-msgstr "Cursor Position"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3511
+#: ../clutter/clutter-text.c:3170
 msgid "The cursor position"
-msgstr "The cursor position"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3524
+#: ../clutter/clutter-text.c:3185
 msgid "Selection-bound"
-msgstr "Selection-bound"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3525
+#: ../clutter/clutter-text.c:3186
 msgid "The cursor position of the other end of the selection"
-msgstr "The cursor position of the other end of the selection"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3201
+#: ../clutter/clutter-text.c:3202
 msgid "Selection Color"
-msgstr "Selection Color"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3216
 msgid "Selection Color Set"
-msgstr "Selection Color Set"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3553
+#: ../clutter/clutter-text.c:3217
 msgid "Whether the selection color has been set"
-msgstr "Whether the selection color has been set"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3566
+#: ../clutter/clutter-text.c:3232
 msgid "Attributes"
-msgstr "Attributes"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3233
 msgid "A list of style attributes to apply to the contents of the actor"
-msgstr "A list of style attributes to apply to the contents of the actor"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3587
+#: ../clutter/clutter-text.c:3255
 msgid "Use markup"
-msgstr "Use markup"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3588
+#: ../clutter/clutter-text.c:3256
 msgid "Whether or not the text includes Pango markup"
-msgstr "Whether or not the text includes Pango markup"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3602
+#: ../clutter/clutter-text.c:3272
 msgid "Line wrap"
-msgstr "Line wrap"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3603
+#: ../clutter/clutter-text.c:3273
 msgid "If set, wrap the lines if the text becomes too wide"
-msgstr "If set, wrap the lines if the text becomes too wide"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3616
+#: ../clutter/clutter-text.c:3288
 msgid "Line wrap mode"
-msgstr "Line wrap mode"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3617
+#: ../clutter/clutter-text.c:3289
 msgid "Control how line-wrapping is done"
-msgstr "Control how line-wrapping is done"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3630
+#: ../clutter/clutter-text.c:3304
 msgid "Ellipsize"
-msgstr "Ellipsize"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3631
+#: ../clutter/clutter-text.c:3305
 msgid "The preferred place to ellipsize the string"
-msgstr "The preferred place to ellipsize the string"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3645
+#: ../clutter/clutter-text.c:3321
 msgid "Line Alignment"
-msgstr "Line Alignment"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3646
+#: ../clutter/clutter-text.c:3322
 msgid "The preferred alignment for the string, for multi-line text"
-msgstr "The preferred alignment for the string, for multi-line text"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3660
+#: ../clutter/clutter-text.c:3338
 msgid "Justify"
-msgstr "Justify"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3661
+#: ../clutter/clutter-text.c:3339
 msgid "Whether the text should be justified"
-msgstr "Whether the text should be justified"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3674
+#: ../clutter/clutter-text.c:3354
 msgid "Password Character"
-msgstr "Password Character"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3675
+#: ../clutter/clutter-text.c:3355
 msgid "If non-zero, use this character to display the actor's contents"
-msgstr "If non-zero, use this character to display the actor's contents"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3687
+#: ../clutter/clutter-text.c:3369
 msgid "Max Length"
-msgstr "Max Length"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3688
+#: ../clutter/clutter-text.c:3370
 msgid "Maximum length of the text inside the actor"
-msgstr "Maximum length of the text inside the actor"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3393
 msgid "Single Line Mode"
-msgstr "Single Line Mode"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3394
 msgid "Whether the text should be a single line"
-msgstr "Whether the text should be a single line"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: ../clutter/clutter-text.c:3408
+#: ../clutter/clutter-text.c:3409
 msgid "Selected Text Color"
-msgstr "Selected Text Color"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3736
+#: ../clutter/clutter-text.c:3423
 msgid "Selected Text Color Set"
-msgstr "Selected Text Color Set"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3424
 msgid "Whether the selected text color has been set"
-msgstr "Whether the selected text color has been set"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:562
-msgid "Delay"
-msgstr "Delay"
+#: ../clutter/clutter-texture.c:985
+msgid "Sync size of actor"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:563
-msgid "Delay before start"
-msgstr "Delay before start"
+#: ../clutter/clutter-texture.c:986
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:578
-msgid "Duration"
-msgstr "Duration"
+#: ../clutter/clutter-texture.c:993
+msgid "Disable Slicing"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:579
-msgid "Duration of the timeline in milliseconds"
-msgstr "Duration of the timeline in milliseconds"
+#: ../clutter/clutter-texture.c:994
+msgid "Forces the underlying texture to be singular and not made of smaller space saving individual textures"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:594
-msgid "Direction"
-msgstr "Direction"
+#: ../clutter/clutter-texture.c:1003
+msgid "Tile Waste"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:595
-msgid "Direction of the timeline"
-msgstr "Direction of the timeline"
+#: ../clutter/clutter-texture.c:1004
+msgid "Maximum waste area of a sliced texture"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:610
-msgid "Auto Reverse"
-msgstr "Auto Reverse"
+#: ../clutter/clutter-texture.c:1012
+msgid "Horizontal repeat"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:611
-msgid "Whether the direction should be reversed when reaching the end"
-msgstr "Whether the direction should be reversed when reaching the end"
+#: ../clutter/clutter-texture.c:1013
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:629
-msgid "Repeat Count"
-msgstr "Repeat Count"
+#: ../clutter/clutter-texture.c:1020
+msgid "Vertical repeat"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:630
-msgid "How many times the timeline should repeat"
-msgstr "How many times the timeline should repeat"
+#: ../clutter/clutter-texture.c:1021
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:644
-msgid "Progress Mode"
-msgstr "Progress Mode"
+#: ../clutter/clutter-texture.c:1028
+msgid "Filter Quality"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:645
-msgid "How the timeline should compute the progress"
-msgstr "How the timeline should compute the progress"
+#: ../clutter/clutter-texture.c:1029
+msgid "Rendering quality used when drawing the texture"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:246
-msgid "Interval"
-msgstr "Interval"
+#: ../clutter/clutter-texture.c:1037
+msgid "Pixel Format"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:247
-msgid "The interval of values to transition"
-msgstr "The interval of values to transition"
+#: ../clutter/clutter-texture.c:1038
+msgid "The Cogl pixel format to use"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:261
-msgid "Animatable"
-msgstr "Animatable"
+#: ../clutter/clutter-texture.c:1046
+msgid "Cogl Texture"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:262
-msgid "The animatable object"
-msgstr "The animatable object"
+#: ../clutter/clutter-texture.c:1047
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:283
-msgid "Remove on Complete"
-msgstr "Remove on Complete"
+#: ../clutter/clutter-texture.c:1054
+msgid "Cogl Material"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:284
-msgid "Detach the transition when completed"
-msgstr "Detach the transition when completed"
+#: ../clutter/clutter-texture.c:1055
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr ""
 
-#: ../clutter/clutter-zoom-action.c:356
-msgid "Zoom Axis"
-msgstr "Zoom Axis"
+#: ../clutter/clutter-texture.c:1072
+msgid "The path of the file containing the image data"
+msgstr ""
 
-#: ../clutter/clutter-zoom-action.c:357
-msgid "Constraints the zoom to an axis"
-msgstr "Constraints the zoom to an axis"
+#: ../clutter/clutter-texture.c:1079
+msgid "Keep Aspect Ratio"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:159
-msgid "sysfs Path"
-msgstr "sysfs Path"
+#: ../clutter/clutter-texture.c:1080
+msgid "Keep the aspect ratio of the texture when requesting the preferred width or height"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:160
-msgid "Path of the device in sysfs"
-msgstr "Path of the device in sysfs"
+#: ../clutter/clutter-texture.c:1106
+msgid "Load asynchronously"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:175
-msgid "Device Path"
-msgstr "Device Path"
+#: ../clutter/clutter-texture.c:1107
+msgid "Load files inside a thread to avoid blocking when loading images from disk"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:176
-msgid "Path of the device node"
-msgstr "Path of the device node"
+#: ../clutter/clutter-texture.c:1123
+msgid "Load data asynchronously"
+msgstr ""
+
+#: ../clutter/clutter-texture.c:1124
+msgid "Decode image data files inside a thread to reduce blocking when loading images from disk"
+msgstr ""
+
+#: ../clutter/clutter-texture.c:1148
+msgid "Pick With Alpha"
+msgstr ""
 
-#: ../clutter/gdk/clutter-backend-gdk.c:287
+#: ../clutter/clutter-texture.c:1149
+msgid "Shape actor with alpha channel when picking"
+msgstr ""
+
+#: ../clutter/clutter-texture.c:1547
+#: ../clutter/clutter-texture.c:1930
+#: ../clutter/clutter-texture.c:2024
+#: ../clutter/clutter-texture.c:2305
 #, c-format
-msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
-msgstr "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
+msgid "Failed to load the image data"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:423
-msgid "Surface"
-msgstr "Surface"
+#: ../clutter/clutter-texture.c:1693
+#, c-format
+msgid "YUV textures are not supported"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:424
-msgid "The underlying wayland surface"
-msgstr "The underlying wayland surface"
+#: ../clutter/clutter-texture.c:1702
+#, c-format
+msgid "YUV2 textues are not supported"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:431
-msgid "Surface width"
-msgstr "Surface width"
+#: ../clutter/clutter-timeline.c:264
+msgid "Should the timeline automatically restart"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:432
-msgid "The width of the underlying wayland surface"
-msgstr "The width of the underlying wayland surface"
+#: ../clutter/clutter-timeline.c:278
+msgid "Delay"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:440
-msgid "Surface height"
-msgstr "Surface height"
+#: ../clutter/clutter-timeline.c:279
+msgid "Delay before start"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:441
-msgid "The height of the underlying wayland surface"
-msgstr "The height of the underlying wayland surface"
+#: ../clutter/clutter-timeline.c:295
+msgid "Duration of the timeline in milliseconds"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Cogl Texture"
+#: ../clutter/clutter-timeline.c:311
+msgid "Direction of the timeline"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr "The underlying Cogl texture handle used to draw this actor"
+#: ../clutter/clutter-timeline.c:326
+msgid "Auto Reverse"
+msgstr ""
+
+#: ../clutter/clutter-timeline.c:327
+msgid "Whether the direction should be reversed when reaching the end"
+msgstr ""
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:147
+msgid "sysfs Path"
+msgstr ""
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:148
+msgid "Path of the device in sysfs"
+msgstr ""
 
-#: ../clutter/x11/clutter-backend-x11.c:508
+#: ../clutter/evdev/clutter-input-device-evdev.c:163
+msgid "Device Path"
+msgstr ""
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:164
+msgid "Path of the device node"
+msgstr ""
+
+#: ../clutter/x11/clutter-backend-x11.c:483
 msgid "X display to use"
-msgstr "X display to use"
+msgstr ""
 
-#: ../clutter/x11/clutter-backend-x11.c:514
+#: ../clutter/x11/clutter-backend-x11.c:489
 msgid "X screen to use"
-msgstr "X screen to use"
+msgstr ""
 
-#: ../clutter/x11/clutter-backend-x11.c:519
+#: ../clutter/x11/clutter-backend-x11.c:494
 msgid "Make X calls synchronous"
-msgstr "Make X calls synchronous"
+msgstr ""
 
-#: ../clutter/x11/clutter-backend-x11.c:526
-msgid "Disable XInput support"
-msgstr "Disable XInput support"
+#: ../clutter/x11/clutter-backend-x11.c:501
+msgid "Enable XInput support"
+msgstr ""
 
-#: ../clutter/x11/clutter-keymap-x11.c:322
+#: ../clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
-msgstr "The Clutter backend"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:545
 msgid "Pixmap"
-msgstr "Pixmap"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:546
 msgid "The X11 Pixmap to be bound"
-msgstr "The X11 Pixmap to be bound"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:554
 msgid "Pixmap width"
-msgstr "Pixmap width"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:555
 msgid "The width of the pixmap bound to this texture"
-msgstr "The width of the pixmap bound to this texture"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:563
 msgid "Pixmap height"
-msgstr "Pixmap height"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:564
 msgid "The height of the pixmap bound to this texture"
-msgstr "The height of the pixmap bound to this texture"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:572
 msgid "Pixmap Depth"
-msgstr "Pixmap Depth"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:573
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
-msgstr "The depth (in number of bits) of the pixmap bound to this texture"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:581
 msgid "Automatic Updates"
-msgstr "Automatic Updates"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:582
 msgid "If the texture should be kept in sync with any pixmap changes."
-msgstr "If the texture should be kept in sync with any pixmap changes."
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:590
 msgid "Window"
-msgstr "Window"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:591
 msgid "The X11 Window to be bound"
-msgstr "The X11 Window to be bound"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
 msgid "Window Redirect Automatic"
-msgstr "Window Redirect Automatic"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
-"If composite window redirects are set to Automatic (or Manual if false)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
 msgid "Window Mapped"
-msgstr "Window Mapped"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:611
 msgid "If window is mapped"
-msgstr "If window is mapped"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:620
 msgid "Destroyed"
-msgstr "Destroyed"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:621
 msgid "If window has been destroyed"
-msgstr "If window has been destroyed"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:629
 msgid "Window X"
-msgstr "Window X"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:630
 msgid "X position of window on screen according to X11"
-msgstr "X position of window on screen according to X11"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:638
 msgid "Window Y"
-msgstr "Window Y"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:639
 msgid "Y position of window on screen according to X11"
-msgstr "Y position of window on screen according to X11"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:646
 msgid "Window Override Redirect"
-msgstr "Window Override Redirect"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:647
 msgid "If this is an override-redirect window"
-msgstr "If this is an override-redirect window"
+msgstr ""
+
diff --git a/po/it.po b/po/it.po
index 2c7ef74..2cecc84 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,713 +1,712 @@
 # clutter Italian translation
-# Copyright (C) 2012, 2013, 2014 The Free Software Foundation
+# Copyright (C) 2012, 2013 The Free Software Foundation
 # This file is distributed under the same license as the clutter package.
-# Milo Casagrande <milo ubuntu com>, 2012, 2013, 2014.
+# Milo Casagrande <milo ubuntu com>, 2012, 2013.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: clutter\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
-"product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-02-16 04:09+0000\n"
-"PO-Revision-Date: 2014-02-16 12:20+0100\n"
+"product=clutter\n"
+"POT-Creation-Date: 2013-01-27 18:16+0100\n"
+"PO-Revision-Date: 2013-01-27 18:17+0100\n"
 "Last-Translator: Milo Casagrande <milo ubuntu com>\n"
 "Language-Team: Italian <tp lists linux it>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Generator: Poedit 1.6.4\n"
 
-#: ../clutter/clutter-actor.c:6214
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Coordinata X"
 
-#: ../clutter/clutter-actor.c:6215
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Coordinata X dell'attore"
 
-#: ../clutter/clutter-actor.c:6233
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Coordinata Y"
 
-#: ../clutter/clutter-actor.c:6234
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Coordinata Y dell'attore"
 
-#: ../clutter/clutter-actor.c:6256
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Posizione"
 
-#: ../clutter/clutter-actor.c:6257
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "La posizione dell'origine dell'attore"
 
-#: ../clutter/clutter-actor.c:6274 ../clutter/clutter-canvas.c:247
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Larghezza"
 
-#: ../clutter/clutter-actor.c:6275
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Larghezza dell'attore"
 
-#: ../clutter/clutter-actor.c:6293 ../clutter/clutter-canvas.c:263
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Altezza"
 
-#: ../clutter/clutter-actor.c:6294
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Altezza dell'attore"
 
-#: ../clutter/clutter-actor.c:6315
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Dimensione"
 
-#: ../clutter/clutter-actor.c:6316
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "La dimensione dell'attore"
 
-#: ../clutter/clutter-actor.c:6334
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "Fissata X"
 
-#: ../clutter/clutter-actor.c:6335
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Posizione X forzata dell'attore"
 
-#: ../clutter/clutter-actor.c:6352
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Fissata Y"
 
-#: ../clutter/clutter-actor.c:6353
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Posizione Y forzata dell'attore"
 
-#: ../clutter/clutter-actor.c:6368
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Imposta posizione fissa"
 
-#: ../clutter/clutter-actor.c:6369
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
-msgstr "Indica se usare il posizionamento fisso per l'attore"
+msgstr "Se usare il posizionamento fisso per l'attore"
 
-#: ../clutter/clutter-actor.c:6387
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Larghezza minima"
 
-#: ../clutter/clutter-actor.c:6388
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Larghezza minima forzata richiesta per l'attore"
 
-#: ../clutter/clutter-actor.c:6406
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Altezza minima"
 
-#: ../clutter/clutter-actor.c:6407
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Altezza minima forzata richiesta per l'attore"
 
-#: ../clutter/clutter-actor.c:6425
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Larghezza naturale"
 
-#: ../clutter/clutter-actor.c:6426
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Larghezza naturale forzata richiesta per l'attore"
 
-#: ../clutter/clutter-actor.c:6444
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Altezza naturale"
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Altezza naturale forzata richiesta per l'attore"
 
-#: ../clutter/clutter-actor.c:6460
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Imposta larghezza minima"
 
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
-msgstr "Indica se utilizzare la proprietà larghezza minima"
+msgstr "Se utilizzare la proprietà larghezza minima"
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Imposta altezza minima"
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
-msgstr "Indica se usare la proprietà altezza minima"
+msgstr "Se usare la proprietà altezza minima"
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Imposta larghezza naturale"
 
-#: ../clutter/clutter-actor.c:6491
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
-msgstr "Indica se usare la proprietà larghezza naturale"
+msgstr "Se usare la proprietà larghezza naturale"
 
-#: ../clutter/clutter-actor.c:6505
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Imposta altezza naturale"
 
-#: ../clutter/clutter-actor.c:6506
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
-msgstr "Indica se usare la proprietà altezza naturale"
+msgstr "Se usare la proprietà altezza naturale"
 
-#: ../clutter/clutter-actor.c:6522
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Allocazione"
 
-#: ../clutter/clutter-actor.c:6523
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "Assegnazione dell'attore"
 
-#: ../clutter/clutter-actor.c:6580
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Modalità richiesta"
 
-#: ../clutter/clutter-actor.c:6581
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "La modalità richiesta dell'attore"
 
-#: ../clutter/clutter-actor.c:6605
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Profondità"
 
-#: ../clutter/clutter-actor.c:6606
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Posizione sull'asse Z"
 
-#: ../clutter/clutter-actor.c:6633
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Posizione Z"
 
-#: ../clutter/clutter-actor.c:6634
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "La posizione dell'attore sull'asse Z"
 
-#: ../clutter/clutter-actor.c:6651
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Opacità"
 
-#: ../clutter/clutter-actor.c:6652
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Opacità di un attore"
 
-#: ../clutter/clutter-actor.c:6672
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Redirect fuori schermo"
 
-#: ../clutter/clutter-actor.c:6673
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Flag per controllare quanto appiattire l'attore in una sola immagine"
 
-#: ../clutter/clutter-actor.c:6687
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Visibile"
 
-#: ../clutter/clutter-actor.c:6688
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
-msgstr "Indica se l'attore è visibile o meno"
+msgstr "Se l'attore è visibile o meno"
 
-#: ../clutter/clutter-actor.c:6702
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Mappato"
 
-#: ../clutter/clutter-actor.c:6703
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
-msgstr "Indica se l'attore sarà disegnato"
+msgstr "Se l'attore sarà disegnato"
 
-#: ../clutter/clutter-actor.c:6716
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Realizzato"
 
-#: ../clutter/clutter-actor.c:6717
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
-msgstr "Indica se l'attore è stato realizzato"
+msgstr "Se l'attore è stato realizzato"
 
-#: ../clutter/clutter-actor.c:6732
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Reattivo"
 
-#: ../clutter/clutter-actor.c:6733
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
-msgstr "Indica se l'attore è reattivo agli eventi"
+msgstr "Se l'attore è reattivo agli eventi"
 
-#: ../clutter/clutter-actor.c:6744
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Ha clip"
 
-#: ../clutter/clutter-actor.c:6745
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Indica se l'attore ha un clip impostato"
 
-#: ../clutter/clutter-actor.c:6758
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Clip"
 
-#: ../clutter/clutter-actor.c:6759
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "La regione clip dell'attore"
 
-#: ../clutter/clutter-actor.c:6778
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Rettangolo clip"
 
-#: ../clutter/clutter-actor.c:6779
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "La regione visibile dell'attore"
 
-#: ../clutter/clutter-actor.c:6793 ../clutter/clutter-actor-meta.c:205
-#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:247
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nome"
 
-#: ../clutter/clutter-actor.c:6794
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Nome dell'attore"
 
-#: ../clutter/clutter-actor.c:6815
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Punto di perno"
 
-#: ../clutter/clutter-actor.c:6816
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Il punto su cui il ridimensionamento e la rotazione hanno luogo"
 
-#: ../clutter/clutter-actor.c:6834
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Punto di perno Z"
 
-#: ../clutter/clutter-actor.c:6835
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Componente Z del punto di perno"
 
-#: ../clutter/clutter-actor.c:6853
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Scala X"
 
-#: ../clutter/clutter-actor.c:6854
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Fattore di scala sull'asse X"
 
-#: ../clutter/clutter-actor.c:6872
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Scala Y"
 
-#: ../clutter/clutter-actor.c:6873
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Fattore di scala sull'asse Y"
 
-#: ../clutter/clutter-actor.c:6891
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Scala Z"
 
-#: ../clutter/clutter-actor.c:6892
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Fattore di scala sull'asse Z"
 
-#: ../clutter/clutter-actor.c:6910
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Scala centrale X"
 
-#: ../clutter/clutter-actor.c:6911
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Scala centrale orizzontale"
 
-#: ../clutter/clutter-actor.c:6929
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Scala centrale Y"
 
-#: ../clutter/clutter-actor.c:6930
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Scala centrale verticale"
 
-#: ../clutter/clutter-actor.c:6948
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Scala di gravità"
 
-#: ../clutter/clutter-actor.c:6949
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "Il centro della scala"
 
-#: ../clutter/clutter-actor.c:6967
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Angolo di rotazione X"
 
-#: ../clutter/clutter-actor.c:6968
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "L'angolo di rotazione sull'asse X"
 
-#: ../clutter/clutter-actor.c:6986
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Angolo di rotazione Y"
 
-#: ../clutter/clutter-actor.c:6987
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "L'angolo di rotazione sull'asse Y"
 
-#: ../clutter/clutter-actor.c:7005
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Angolo di rotazione Z"
 
-#: ../clutter/clutter-actor.c:7006
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "L'angolo di rotazione sull'asse Z"
 
-#: ../clutter/clutter-actor.c:7024
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Rotazione centrale X"
 
-#: ../clutter/clutter-actor.c:7025
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "La rotazione centrale sull'asse X"
 
-#: ../clutter/clutter-actor.c:7042
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Rotazione centrale Y"
 
-#: ../clutter/clutter-actor.c:7043
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "La rotazione centrale sull'asse Y"
 
-#: ../clutter/clutter-actor.c:7060
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Rotazione centrale Z"
 
-#: ../clutter/clutter-actor.c:7061
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "La rotazione centrale sull'asse Z"
 
-#: ../clutter/clutter-actor.c:7078
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Gravità della rotazione centrale Z"
 
-#: ../clutter/clutter-actor.c:7079
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Punto centrale per la rotazione sull'asse Z"
 
-#: ../clutter/clutter-actor.c:7107
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Ancoraggio X"
 
-#: ../clutter/clutter-actor.c:7108
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "Coordinata X del punto di ancoraggio"
 
-#: ../clutter/clutter-actor.c:7136
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Ancoraggio Y"
 
-#: ../clutter/clutter-actor.c:7137
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Coordinata Y del punto di ancoraggio"
 
-#: ../clutter/clutter-actor.c:7164
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Gravità di ancoraggio"
 
-#: ../clutter/clutter-actor.c:7165
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "Il punto di ancoraggio come ClutterGravity"
 
-#: ../clutter/clutter-actor.c:7184
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Traslazione X"
 
-#: ../clutter/clutter-actor.c:7185
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Traslazione lungo l'asse X"
 
-#: ../clutter/clutter-actor.c:7204
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Traslazione Y"
 
-#: ../clutter/clutter-actor.c:7205
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Traslazione lungo l'asse Y"
 
-#: ../clutter/clutter-actor.c:7224
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Traslazione Z"
 
-#: ../clutter/clutter-actor.c:7225
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Traslazione lungo l'asse Z"
 
-#: ../clutter/clutter-actor.c:7255
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Trasformazione"
 
-#: ../clutter/clutter-actor.c:7256
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Matrice di trasformazione"
 
-#: ../clutter/clutter-actor.c:7271
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Imposta trasformazione"
 
-#: ../clutter/clutter-actor.c:7272
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Indica se la proprietà di trasformazione è impostata"
 
-#: ../clutter/clutter-actor.c:7293
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Trasformazione figlio"
 
-#: ../clutter/clutter-actor.c:7294
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Matrice di trasformazione dei figli"
 
-#: ../clutter/clutter-actor.c:7309
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Imposta trasformazione figlio"
 
-#: ../clutter/clutter-actor.c:7310
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Indica se la proprietà di trasformazione del figlio è impostata"
 
-#: ../clutter/clutter-actor.c:7327
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Mostra su imposta genitore"
 
-#: ../clutter/clutter-actor.c:7328
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Se l'attore è mostrato quando genitore"
 
-#: ../clutter/clutter-actor.c:7345
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Clip all'allocazione"
 
-#: ../clutter/clutter-actor.c:7346
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Imposta la regione del clip per tracciare l'allocazione dell'attore"
 
-#: ../clutter/clutter-actor.c:7359
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Direzione del testo"
 
-#: ../clutter/clutter-actor.c:7360
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Direzione del testo"
 
-#: ../clutter/clutter-actor.c:7375
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Ha il puntatore"
 
-#: ../clutter/clutter-actor.c:7376
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Se l'attore contiene il puntatore di un dispositivo di input"
 
-#: ../clutter/clutter-actor.c:7389
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Azioni"
 
-#: ../clutter/clutter-actor.c:7390
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Aggiunge un'azione per l'attore"
 
-#: ../clutter/clutter-actor.c:7403
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Vincoli"
 
-#: ../clutter/clutter-actor.c:7404
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Aggiunge un vincolo per l'attore"
 
-#: ../clutter/clutter-actor.c:7417
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Effetto"
 
-#: ../clutter/clutter-actor.c:7418
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Aggiunge un effetto da applicare all'attore"
 
-#: ../clutter/clutter-actor.c:7432
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Gestore di layout"
 
-#: ../clutter/clutter-actor.c:7433
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "L'oggetto che controlla il layout del figlio di un attore"
 
-#: ../clutter/clutter-actor.c:7447
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Espansione X"
 
-#: ../clutter/clutter-actor.c:7448
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr ""
 "Indica se deve essere assegnato dello spazio orizzontale aggiuntivo "
 "all'attore"
 
-#: ../clutter/clutter-actor.c:7463
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Espansione Y"
 
-#: ../clutter/clutter-actor.c:7464
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr ""
 "Indica se deve essere assegnato dello spazio verticale aggiuntivo all'attore"
 
-#: ../clutter/clutter-actor.c:7480
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Allineamento X"
 
-#: ../clutter/clutter-actor.c:7481
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr ""
 "L'allineamento dell'attore sull'asse X all'interno della propria allocazione"
 
-#: ../clutter/clutter-actor.c:7496
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Allineamento Y"
 
-#: ../clutter/clutter-actor.c:7497
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr ""
 "L'allineamento dell'attore sull'asse Y all'interno della propria allocazione"
 
-#: ../clutter/clutter-actor.c:7516
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Margine superiore"
 
-#: ../clutter/clutter-actor.c:7517
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Spazio aggiuntivo in alto"
 
-#: ../clutter/clutter-actor.c:7538
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Margine inferiore"
 
-#: ../clutter/clutter-actor.c:7539
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Spazio aggiuntivo in basso"
 
-#: ../clutter/clutter-actor.c:7560
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Margine sinistro"
 
-#: ../clutter/clutter-actor.c:7561
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Spazio aggiuntivo a sinistra"
 
-#: ../clutter/clutter-actor.c:7582
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Margine destro"
 
-#: ../clutter/clutter-actor.c:7583
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Spazio aggiuntivo a destra"
 
-#: ../clutter/clutter-actor.c:7599
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Imposta colore di sfondo"
 
-#: ../clutter/clutter-actor.c:7600 ../clutter/deprecated/clutter-box.c:271
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Indica se il colore di sfondo è impostato"
 
-#: ../clutter/clutter-actor.c:7616
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Colore di sfondo"
 
-#: ../clutter/clutter-actor.c:7617
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "Il colore di sfondo dell'attore"
 
-#: ../clutter/clutter-actor.c:7632
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Primo figlio"
 
-#: ../clutter/clutter-actor.c:7633
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Il primo discendente diretto dell'attore"
 
-#: ../clutter/clutter-actor.c:7646
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Ultimo figlio"
 
-#: ../clutter/clutter-actor.c:7647
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "L'ultimo discendente diretto dell'attore"
 
-#: ../clutter/clutter-actor.c:7661
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Contenuto"
 
-#: ../clutter/clutter-actor.c:7662
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "L'oggetto delegato al disegno del contenuto dell'attore"
 
-#: ../clutter/clutter-actor.c:7687
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Gravità del contenuto"
 
-#: ../clutter/clutter-actor.c:7688
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "L'allineamento del contenuto dell'attore"
 
-#: ../clutter/clutter-actor.c:7708
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Contenitore"
 
-#: ../clutter/clutter-actor.c:7709
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "Il contenitore per il contenuto dell'attore"
 
-#: ../clutter/clutter-actor.c:7717
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Filtro di rimpicciolimento"
 
-#: ../clutter/clutter-actor.c:7718
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Il filtro da usare per rimpicciolire la dimensione del cotenuto"
 
-#: ../clutter/clutter-actor.c:7725
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Filtro d'ingrandimento"
 
-#: ../clutter/clutter-actor.c:7726
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Il filtro da usare per ingrandire la dimensione del contenuto"
 
-#: ../clutter/clutter-actor.c:7740
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Ripetizione cotenuto"
 
-#: ../clutter/clutter-actor.c:7741
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "La regola di ripetizione del contenuto dell'attore"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Attore"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "L'attore collegato al meta"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "Il nome del meta"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:326
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Attivato"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Se il meta è attivato"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Origine"
@@ -733,11 +732,11 @@ msgstr "Fattore"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Il fattore di allineamento, tra 0.0 e 1.0"
 
-#: ../clutter/clutter-backend.c:380
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Impossibile inizializzare il backend Clutter"
 
-#: ../clutter/clutter-backend.c:454
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "Il backend di tipo «%s» non supporta la creazione di stadi multipli"
@@ -768,51 +767,47 @@ msgstr "Lo spostamento in pixel da applicare all'associazione"
 msgid "The unique name of the binding pool"
 msgstr "Il nome unico dell'insieme di associazione"
 
-#: ../clutter/clutter-bin-layout.c:238 ../clutter/clutter-bin-layout.c:651
-#: ../clutter/clutter-box-layout.c:388
-#: ../clutter/deprecated/clutter-table-layout.c:610
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Allineamento orizzontale"
 
-#: ../clutter/clutter-bin-layout.c:239
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "Allineamento orizzontale per l'attore dentro il gestore di layout"
 
-#: ../clutter/clutter-bin-layout.c:247 ../clutter/clutter-bin-layout.c:671
-#: ../clutter/clutter-box-layout.c:397
-#: ../clutter/deprecated/clutter-table-layout.c:625
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Allineamento verticale"
 
-#: ../clutter/clutter-bin-layout.c:248
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "Allineamento verticale per l'attore dentro il gestore di layout"
 
-#: ../clutter/clutter-bin-layout.c:652
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr ""
 "Allineamento orizzontale predefinito per l'attore dentro il gestore di layout"
 
-#: ../clutter/clutter-bin-layout.c:672
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr ""
 "Allineamento verticale predefinito per l'attore dentro il gestore di layout"
 
-#: ../clutter/clutter-box-layout.c:363
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Espandere"
 
-#: ../clutter/clutter-box-layout.c:364
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Alloca spazio extra per il figlio"
 
-#: ../clutter/clutter-box-layout.c:370
-#: ../clutter/deprecated/clutter-table-layout.c:589
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Riempimento orizzontale"
 
-#: ../clutter/clutter-box-layout.c:371
-#: ../clutter/deprecated/clutter-table-layout.c:590
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -820,13 +815,11 @@ msgstr ""
 "Se il figlio dovrebbe ricevere priorità quando il contenitore sta allocando "
 "spazio aggiuntivo sull'asse orizzontale"
 
-#: ../clutter/clutter-box-layout.c:379
-#: ../clutter/deprecated/clutter-table-layout.c:596
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Riempimento verticale"
 
-#: ../clutter/clutter-box-layout.c:380
-#: ../clutter/deprecated/clutter-table-layout.c:597
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -834,88 +827,80 @@ msgstr ""
 "Se il figlio dovrebbe ricevere priorità quando il contenitore sta allocando "
 "spazio aggiuntivo sull'asse verticale"
 
-#: ../clutter/clutter-box-layout.c:389
-#: ../clutter/deprecated/clutter-table-layout.c:611
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Allineamento orizzontale dell'attore all'interno della cella"
 
-#: ../clutter/clutter-box-layout.c:398
-#: ../clutter/deprecated/clutter-table-layout.c:626
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Allineamento verticale dell'attore all'interno della cella"
 
-#: ../clutter/clutter-box-layout.c:1359
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Verticale"
 
-#: ../clutter/clutter-box-layout.c:1360
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Se il layout dovrebbe essere verticale, invece che orizzontale"
 
-#: ../clutter/clutter-box-layout.c:1377 ../clutter/clutter-flow-layout.c:942
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientamento"
 
-#: ../clutter/clutter-box-layout.c:1378 ../clutter/clutter-flow-layout.c:943
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "L'orientamento del layout"
 
-#: ../clutter/clutter-box-layout.c:1394 ../clutter/clutter-flow-layout.c:958
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Omogeneo"
 
-#: ../clutter/clutter-box-layout.c:1395
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Se il layout dovrebbe essere omogeneo, per esempoi tutti i figli alla stessa "
 "dimensione"
 
-#: ../clutter/clutter-box-layout.c:1410
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Raggruppamento iniziale"
 
-#: ../clutter/clutter-box-layout.c:1411
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Se raggruppare gli elementi all'inizio del box"
 
-#: ../clutter/clutter-box-layout.c:1424
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Spaziatura"
 
-#: ../clutter/clutter-box-layout.c:1425
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Spaziatura tra i figli"
 
-#: ../clutter/clutter-box-layout.c:1442
-#: ../clutter/deprecated/clutter-table-layout.c:1677
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Usa animazioni"
 
-#: ../clutter/clutter-box-layout.c:1443
-#: ../clutter/deprecated/clutter-table-layout.c:1678
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Se i cambiamenti al layout dovrebbero essere animati"
 
-#: ../clutter/clutter-box-layout.c:1467
-#: ../clutter/deprecated/clutter-table-layout.c:1702
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Modalità facilitata"
 
-#: ../clutter/clutter-box-layout.c:1468
-#: ../clutter/deprecated/clutter-table-layout.c:1703
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "La modalità facilitata delle animazioni"
 
-#: ../clutter/clutter-box-layout.c:1488
-#: ../clutter/deprecated/clutter-table-layout.c:1723
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Durata modalità facilitata"
 
-#: ../clutter/clutter-box-layout.c:1489
-#: ../clutter/deprecated/clutter-table-layout.c:1724
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "La durata delle animazioni"
 
@@ -935,30 +920,14 @@ msgstr "Contrasto"
 msgid "The contrast change to apply"
 msgstr "Il contrasto da applicare"
 
-#: ../clutter/clutter-canvas.c:248
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "La larghezza della superficie"
 
-#: ../clutter/clutter-canvas.c:264
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "L'altezza della superficie"
 
-#: ../clutter/clutter-canvas.c:283
-msgid "Scale Factor Set"
-msgstr "Imposta il fattore di scala"
-
-#: ../clutter/clutter-canvas.c:284
-msgid "Whether the scale-factor property is set"
-msgstr "Indica se la proprietà scale-factor è impostata"
-
-#: ../clutter/clutter-canvas.c:305
-msgid "Scale Factor"
-msgstr "Fattore di scala"
-
-#: ../clutter/clutter-canvas.c:306
-msgid "The scaling factor for the surface"
-msgstr "Il fattore di scala per la superficie"
-
 #: ../clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "Contenitore"
@@ -971,39 +940,39 @@ msgstr "Il contenitore che ha creato questo dato"
 msgid "The actor wrapped by this data"
 msgstr "L'attore contenuto in questo dato"
 
-#: ../clutter/clutter-click-action.c:586
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Premuto"
 
-#: ../clutter/clutter-click-action.c:587
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Se il cliccabile dovrebbe essere in stato premuto"
 
-#: ../clutter/clutter-click-action.c:600
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
 msgstr "Mantenuto"
 
-#: ../clutter/clutter-click-action.c:601
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Se il cliccabile ha la maniglia"
 
-#: ../clutter/clutter-click-action.c:618 ../clutter/clutter-settings.c:653
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Durata pressione lunga"
 
-#: ../clutter/clutter-click-action.c:619
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "La durata minima di una pressione lunga per riconoscere il gesto"
 
-#: ../clutter/clutter-click-action.c:637
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Soglia pressione lunga"
 
-#: ../clutter/clutter-click-action.c:638
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "La soglia massima prima che una pressione lunga venga annullata"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Specifica l'attore da clonare"
 
@@ -1015,27 +984,27 @@ msgstr "Tinta"
 msgid "The tint to apply"
 msgstr "La tinta da applicare"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Caselle orizzontali"
 
-#: ../clutter/clutter-deform-effect.c:593
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Il numero di caselle orizzontali"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Caselle verticali"
 
-#: ../clutter/clutter-deform-effect.c:609
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Il numero di caselle verticali"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Materiale posteriore"
 
-#: ../clutter/clutter-deform-effect.c:627
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Il materiale da usare nel disegno del posteriore dell'attore"
 
@@ -1043,302 +1012,260 @@ msgstr "Il materiale da usare nel disegno del posteriore dell'attore"
 msgid "The desaturation factor"
 msgstr "Il fattore desaturazione"
 
-#: ../clutter/clutter-device-manager.c:127
-#: ../clutter/clutter-input-device.c:355
+#: ../clutter/clutter-device-manager.c:131
+#: ../clutter/clutter-input-device.c:366
 #: ../clutter/x11/clutter-keymap-x11.c:321
 msgid "Backend"
 msgstr "Backend"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "Il ClutterBackend del gestore di dispositivo"
 
-#: ../clutter/clutter-drag-action.c:741
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Soglia di trascinamento orizzontale"
 
-#: ../clutter/clutter-drag-action.c:742
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "Il numero di pixel orizzontali richiesto per iniziare il trascinamento"
 
-#: ../clutter/clutter-drag-action.c:769
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Soglia di trascinamento verticale"
 
-#: ../clutter/clutter-drag-action.c:770
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Il numero di pixel verticali richiesto per iniziare il trascinamento"
 
-#: ../clutter/clutter-drag-action.c:791
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Maniglia di trascinamento"
 
-#: ../clutter/clutter-drag-action.c:792
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "L'attore che si sta trascinando"
 
-#: ../clutter/clutter-drag-action.c:805
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Asse di trascinamento"
 
-#: ../clutter/clutter-drag-action.c:806
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Vincoli di trascinamento di un asse"
 
-#: ../clutter/clutter-drag-action.c:822
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Area di trascinamento"
 
-#: ../clutter/clutter-drag-action.c:823
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Limita il trascinamento a un rettangolo"
 
-#: ../clutter/clutter-drag-action.c:836
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Imposta l'area di trascinamento"
 
-#: ../clutter/clutter-drag-action.c:837
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Indica se l'area di trascinamento è impostata"
 
-#: ../clutter/clutter-flow-layout.c:959
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Se ogni elemento dovrebbe ricevere la stessa allocazione"
 
-#: ../clutter/clutter-flow-layout.c:974
-#: ../clutter/deprecated/clutter-table-layout.c:1637
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Spaziatura di colonna"
 
-#: ../clutter/clutter-flow-layout.c:975
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Lo spazio tra le colonne"
 
-#: ../clutter/clutter-flow-layout.c:991
-#: ../clutter/deprecated/clutter-table-layout.c:1653
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Spaziatura di riga"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Lo spazio tra le righe"
 
-#: ../clutter/clutter-flow-layout.c:1006
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Larghezza di colonna minima"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Larghezza minima di ogni colonna"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Larghezza di colonna massima"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Larghezza massima di ogni colonna"
 
-#: ../clutter/clutter-flow-layout.c:1037
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Altezza di riga minima"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Altezza minima di ogni riga"
 
-#: ../clutter/clutter-flow-layout.c:1053
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Altezza di riga massima"
 
-#: ../clutter/clutter-flow-layout.c:1054
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Altezza massima di ogni riga"
 
-#: ../clutter/clutter-flow-layout.c:1069 ../clutter/clutter-flow-layout.c:1070
-msgid "Snap to grid"
-msgstr "Aggancia alla griglia"
-
-#: ../clutter/clutter-gesture-action.c:668
-msgid "Number touch points"
-msgstr "Numero di punti di contatto"
-
-#: ../clutter/clutter-gesture-action.c:669
-msgid "Number of touch points"
-msgstr "Numero di punti di contatto"
-
-#: ../clutter/clutter-gesture-action.c:684
-msgid "Threshold Trigger Edge"
-msgstr "Bordo per la soglia di attivazione"
-
-#: ../clutter/clutter-gesture-action.c:685
-msgid "The trigger edge used by the action"
-msgstr "Il bordo di attivazione usato dall'azione"
-
-#: ../clutter/clutter-gesture-action.c:704
-#| msgid "Threshold Trigger Edge"
-msgid "Threshold Trigger Horizontal Distance"
-msgstr "Distanza per la soglia di attivazione orizzontale"
-
-#: ../clutter/clutter-gesture-action.c:705
-#| msgid "The trigger edge used by the action"
-msgid "The horizontal trigger distance used by the action"
-msgstr "La distanza di attivazione orizzontale usata dall'azione"
-
-#: ../clutter/clutter-gesture-action.c:723
-#| msgid "Threshold Trigger Edge"
-msgid "Threshold Trigger Vertical Distance"
-msgstr "Distanza per la soglia di attivazione verticale"
-
-#: ../clutter/clutter-gesture-action.c:724
-#| msgid "The trigger edge used by the action"
-msgid "The vertical trigger distance used by the action"
-msgstr "La distanza di attivazione verticale usata dall'azione"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Allegato sinistro"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr ""
 "Il numero della colonna su cui allegare la parte sinistra di un widget figlio"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Allegato superiore"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr ""
 "Il numero della riga su cui allegare la parte superiore di un widget figlio"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "Il numero di colonne attraversate da un figlio"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "Il numero di righe attraversate da un figlio"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1565
 msgid "Row spacing"
 msgstr "Spaziatura riga"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1566
 msgid "The amount of space between two consecutive rows"
 msgstr "Lo spazio tra due righe consecutive"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1579
 msgid "Column spacing"
 msgstr "Spaziatura colonna"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1580
 msgid "The amount of space between two consecutive columns"
 msgstr "Lo spazio tra due colonne consecutive"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1594
 msgid "Row Homogeneous"
 msgstr "Righe omogenee"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1595
 msgid "If TRUE, the rows are all the same height"
 msgstr "Se VERO, le righe hanno tutte la stessa altezza"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1608
 msgid "Column Homogeneous"
 msgstr "Colonne omogenee"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1609
 msgid "If TRUE, the columns are all the same width"
 msgstr "Se VERO, le colonne hanno tutte la stessa larghezza"
 
-#: ../clutter/clutter-image.c:249 ../clutter/clutter-image.c:312
-#: ../clutter/clutter-image.c:400
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Impossibile caricare i dati dell'immagine"
 
-#: ../clutter/clutter-input-device.c:231
+#: ../clutter/clutter-input-device.c:242
 msgid "Id"
 msgstr "Id"
 
-#: ../clutter/clutter-input-device.c:232
+#: ../clutter/clutter-input-device.c:243
 msgid "Unique identifier of the device"
 msgstr "Identificativo unico del dispositivo"
 
-#: ../clutter/clutter-input-device.c:248
+#: ../clutter/clutter-input-device.c:259
 msgid "The name of the device"
 msgstr "Il nome del dispositivo"
 
-#: ../clutter/clutter-input-device.c:262
+#: ../clutter/clutter-input-device.c:273
 msgid "Device Type"
 msgstr "Tipo di dispositivo"
 
-#: ../clutter/clutter-input-device.c:263
+#: ../clutter/clutter-input-device.c:274
 msgid "The type of the device"
 msgstr "Il tipo di dispositivo"
 
-#: ../clutter/clutter-input-device.c:278
+#: ../clutter/clutter-input-device.c:289
 msgid "Device Manager"
 msgstr "Gestore dispositivo"
 
-#: ../clutter/clutter-input-device.c:279
+#: ../clutter/clutter-input-device.c:290
 msgid "The device manager instance"
 msgstr "L'istanza del gestore del dispositivo"
 
-#: ../clutter/clutter-input-device.c:292
+#: ../clutter/clutter-input-device.c:303
 msgid "Device Mode"
 msgstr "Modalità dispositivo"
 
-#: ../clutter/clutter-input-device.c:293
+#: ../clutter/clutter-input-device.c:304
 msgid "The mode of the device"
 msgstr "La modalità del dispositivo"
 
-#: ../clutter/clutter-input-device.c:307
+#: ../clutter/clutter-input-device.c:318
 msgid "Has Cursor"
 msgstr "Ha il cursore"
 
-#: ../clutter/clutter-input-device.c:308
+#: ../clutter/clutter-input-device.c:319
 msgid "Whether the device has a cursor"
 msgstr "Indica se il dispositivo ha un cursore"
 
-#: ../clutter/clutter-input-device.c:327
+#: ../clutter/clutter-input-device.c:338
 msgid "Whether the device is enabled"
 msgstr "Indica se il dispositivo è abilitato"
 
-#: ../clutter/clutter-input-device.c:340
+#: ../clutter/clutter-input-device.c:351
 msgid "Number of Axes"
 msgstr "Numero di assi"
 
-#: ../clutter/clutter-input-device.c:341
+#: ../clutter/clutter-input-device.c:352
 msgid "The number of axes on the device"
 msgstr "Il numero di assi del dispositivo"
 
-#: ../clutter/clutter-input-device.c:356
+#: ../clutter/clutter-input-device.c:367
 msgid "The backend instance"
 msgstr "L'istanza del backend"
 
-#: ../clutter/clutter-interval.c:553
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Tipo di valore"
 
-#: ../clutter/clutter-interval.c:554
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Il tipo di valori nell'intervallo"
 
-#: ../clutter/clutter-interval.c:569
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valore iniziale"
 
-#: ../clutter/clutter-interval.c:570
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Valore iniziale dell'intervallo"
 
-#: ../clutter/clutter-interval.c:584
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valore finale"
 
-#: ../clutter/clutter-interval.c:585
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Valore finale dell'intervallo"
 
@@ -1357,97 +1284,97 @@ msgstr "Il gestore che ha creato questo dato"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1622
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Mostra i fotogrammi per secondo"
 
-#: ../clutter/clutter-main.c:1624
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Framerate predefinito"
 
-#: ../clutter/clutter-main.c:1626
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Rende tutti i warning critici"
 
-#: ../clutter/clutter-main.c:1629
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Direzione del testo"
 
-#: ../clutter/clutter-main.c:1632
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Disabilita il mipmapping sul testo"
 
-#: ../clutter/clutter-main.c:1635
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Usa il picking \"fuzzy\""
 
-#: ../clutter/clutter-main.c:1638
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Flag per il debug di Clutter da attivare"
 
-#: ../clutter/clutter-main.c:1640
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Flag per il debug di Clutter da disattivare"
 
-#: ../clutter/clutter-main.c:1644
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Flag per il profiling di Clutter da attivare"
 
-#: ../clutter/clutter-main.c:1646
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Flag per il profiling di Clutter da disattivare"
 
-#: ../clutter/clutter-main.c:1649
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Attiva l'accessibilità"
 
-#: ../clutter/clutter-main.c:1841
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Opzioni di Clutter"
 
-#: ../clutter/clutter-main.c:1842
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Mostra le opzioni di Clutter"
 
-#: ../clutter/clutter-pan-action.c:455
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Asse per la panoramica"
 
-#: ../clutter/clutter-pan-action.c:456
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Vincola la panoramica a un solo asse"
 
-#: ../clutter/clutter-pan-action.c:470
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolazione"
 
-#: ../clutter/clutter-pan-action.c:471
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Indica se l'emissione di eventi interpolati è abilitata"
 
-#: ../clutter/clutter-pan-action.c:487
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Decelerazione"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "A che velocità viene rallentata la panoramica interpolata"
 
-#: ../clutter/clutter-pan-action.c:505
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Fattore iniziale di accelerazione"
 
-#: ../clutter/clutter-pan-action.c:506
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr ""
 "Fattore applicato al momento quando viene avviata la fase di interpolazione"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Percorso"
 
@@ -1459,87 +1386,87 @@ msgstr "Il percorso usato per vincolare un attore"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "L'offset sul percorso, tra -1.0 e 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Nome proprietà"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Il nome della proprietà da animare"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Imposta il nome del file"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Se la proprietà nome del file è impostata"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nome del file"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Il percorso del file attuale analizzato"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Dominio di traduzione"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Il dominio di traduzione utilizzato per tradurre una stringa"
 
-#: ../clutter/clutter-scroll-actor.c:189
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Modalità scorrimento"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "La direzione di scorrimento"
 
-#: ../clutter/clutter-settings.c:486
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Durata doppio-clic"
 
-#: ../clutter/clutter-settings.c:487
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "Il tempo tra i clic per determinare un clic multiplo"
 
-#: ../clutter/clutter-settings.c:502
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Distanza doppio-clic"
 
-#: ../clutter/clutter-settings.c:503
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "La distanza tra i clic per determinare un clic multiplo"
 
-#: ../clutter/clutter-settings.c:518
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Soglia di trascinamento"
 
-#: ../clutter/clutter-settings.c:519
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "La distanza coperta dal cursore prima di avviare il trascinamento"
 
-#: ../clutter/clutter-settings.c:534 ../clutter/clutter-text.c:3404
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Nome carattere"
 
-#: ../clutter/clutter-settings.c:535
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "La descrizione del carattere predefinito, come una descrizione leggibile da "
 "Pango"
 
-#: ../clutter/clutter-settings.c:550
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Antialas carattere"
 
-#: ../clutter/clutter-settings.c:551
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1547,80 +1474,72 @@ msgstr ""
 "Indica se usare l'antialias (1 per abilitare, 0 per disabilitare e -1 per il "
 "predefinito)"
 
-#: ../clutter/clutter-settings.c:567 ../clutter/clutter-settings.c:575
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "DPI carattere"
 
-#: ../clutter/clutter-settings.c:568 ../clutter/clutter-settings.c:576
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "La risoluzione del carattere, espressa come 1024 * dot/inch o -1 per il "
 "valore predefinito"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Hinting del carattere"
 
-#: ../clutter/clutter-settings.c:593
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Indica se usare l'hinting (1 per abilitare, 0 per disabilitare e -1 per il "
 "predefinito)"
 
-#: ../clutter/clutter-settings.c:614
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Stile di hint del carattere"
 
-#: ../clutter/clutter-settings.c:615
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Lo stile dell'hinting (hintnone, hintslight, hintmedium, hintfull)"
 
-#: ../clutter/clutter-settings.c:636
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Ordine sub-pixel del carattere"
 
-#: ../clutter/clutter-settings.c:637
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Il tipo di antialias sub-pixel (none, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:654
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr ""
 "La durata minima di una pressione lunga per essere riconosciuta come gesto"
 
-#: ../clutter/clutter-settings.c:661
-msgid "Window Scaling Factor"
-msgstr "Fattore di scala della finestra"
-
-#: ../clutter/clutter-settings.c:662
-msgid "The scaling factor to be applied to windows"
-msgstr "Il fattore di scala da applicare alle finestre"
-
-#: ../clutter/clutter-settings.c:669
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Marcatura oraria della configurazione fontconfig"
 
-#: ../clutter/clutter-settings.c:670
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Marcatura oraria della configurazione fontconfig corrente"
 
-#: ../clutter/clutter-settings.c:687
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Tempo suggerimento della password"
 
-#: ../clutter/clutter-settings.c:688
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Quanto a lungo deve essere mostrato l'ultimo carattere nei campi di testo "
 "segreti"
 
-#: ../clutter/clutter-shader-effect.c:485
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Tipo di shader"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "Il tipo di shader usato"
 
@@ -1648,705 +1567,761 @@ msgstr "Il bordo della fonte che dovrebbe essere spezzato"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Lo spostamento in pixel da applicare al vincolo"
 
-#: ../clutter/clutter-stage.c:1899
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "Imposta a schermo intero"
 
-#: ../clutter/clutter-stage.c:1900
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Se il livello principale è a schermo intero"
 
-#: ../clutter/clutter-stage.c:1914
+#: ../clutter/clutter-stage.c:1910
 msgid "Offscreen"
 msgstr "Fuorischermo"
 
-#: ../clutter/clutter-stage.c:1915
+#: ../clutter/clutter-stage.c:1911
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Se il livello principale dovrebbe essere renderizzato fuori schermo"
 
-#: ../clutter/clutter-stage.c:1927 ../clutter/clutter-text.c:3518
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Cursore visibile"
 
-#: ../clutter/clutter-stage.c:1928
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Se il puntatore del mouse è visibile sul livello principale"
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Ridimensionabile dall'utente"
 
-#: ../clutter/clutter-stage.c:1943
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr ""
 "Se il livello può essere ridimensionato attraverso l'interazione dell'utente"
 
-#: ../clutter/clutter-stage.c:1958 ../clutter/deprecated/clutter-box.c:256
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Colore"
 
-#: ../clutter/clutter-stage.c:1959
+#: ../clutter/clutter-stage.c:1955
 msgid "The color of the stage"
 msgstr "Il colore del livello"
 
-#: ../clutter/clutter-stage.c:1974
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Prospettiva"
 
-#: ../clutter/clutter-stage.c:1975
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Parametri di proiezione prospettica"
 
-#: ../clutter/clutter-stage.c:1990
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Titolo"
 
-#: ../clutter/clutter-stage.c:1991
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Titolo del livello"
 
-#: ../clutter/clutter-stage.c:2008
+#: ../clutter/clutter-stage.c:2004
 msgid "Use Fog"
 msgstr "Usa nebbia"
 
-#: ../clutter/clutter-stage.c:2009
+#: ../clutter/clutter-stage.c:2005
 msgid "Whether to enable depth cueing"
 msgstr "Indica se abilitare il depth cueing"
 
-#: ../clutter/clutter-stage.c:2025
+#: ../clutter/clutter-stage.c:2021
 msgid "Fog"
 msgstr "Nebbia"
 
-#: ../clutter/clutter-stage.c:2026
+#: ../clutter/clutter-stage.c:2022
 msgid "Settings for the depth cueing"
 msgstr "Impostazioni per il depth cueing"
 
-#: ../clutter/clutter-stage.c:2042
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Usa Alpha"
 
-#: ../clutter/clutter-stage.c:2043
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Se rispettare il componente alpha del colore del livello"
 
-#: ../clutter/clutter-stage.c:2059
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Fuoco chiave"
 
-#: ../clutter/clutter-stage.c:2060
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "L'attore chiave attuale con fuoco"
 
-#: ../clutter/clutter-stage.c:2076
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Suggerimento per nessuna pulizia"
 
-#: ../clutter/clutter-stage.c:2077
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Indica se lo stadio debba ripulire il proprio contenuto"
 
-#: ../clutter/clutter-stage.c:2090
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Accetta il focus"
 
-#: ../clutter/clutter-stage.c:2091
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Indica se lo stadio debba accettare il focus alla visualizzazione"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3439
+#: ../clutter/clutter-table-layout.c:543
+msgid "Column Number"
+msgstr "Numero colonna"
+
+#: ../clutter/clutter-table-layout.c:544
+msgid "The column the widget resides in"
+msgstr "La colonna su cui risiede il widget"
+
+#: ../clutter/clutter-table-layout.c:551
+msgid "Row Number"
+msgstr "Numero riga"
+
+#: ../clutter/clutter-table-layout.c:552
+msgid "The row the widget resides in"
+msgstr "La riga su cui risiede il widget"
+
+#: ../clutter/clutter-table-layout.c:559
+msgid "Column Span"
+msgstr "Estensione colonna"
+
+#: ../clutter/clutter-table-layout.c:560
+msgid "The number of columns the widget should span"
+msgstr "Il numero di colonne che il widget dovrebbe coprire"
+
+#: ../clutter/clutter-table-layout.c:567
+msgid "Row Span"
+msgstr "Estensione riga"
+
+#: ../clutter/clutter-table-layout.c:568
+msgid "The number of rows the widget should span"
+msgstr "Il numero di righe che il widget dovrebbe coprire"
+
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Espansione orizzontale"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Alloca spazio aggiuntivo sull'asse orizzontale per il figlio"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Espansione verticale"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Alloca spazio aggiuntivo sull'asse verticale per il figlio"
+
+#: ../clutter/clutter-table-layout.c:1638
+msgid "Spacing between columns"
+msgstr "Lo spazio tra le colonne"
+
+#: ../clutter/clutter-table-layout.c:1652
+msgid "Spacing between rows"
+msgstr "Lo spazio tra le righe"
+
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Testo"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Il contenuto del buffer"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Lunghezza testo"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "La lunghezza del testo attualmente nel buffer"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Lunghezza massima"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Il massimo numero di caratteri per questa voce, 0 per nessun massimo"
 
-#: ../clutter/clutter-text.c:3386
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Buffer"
 
-#: ../clutter/clutter-text.c:3387
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "Il buffer per il testo"
 
-#: ../clutter/clutter-text.c:3405
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "Il carattere utilizzato dal testo"
 
-#: ../clutter/clutter-text.c:3422
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Descrizione carattere"
 
-#: ../clutter/clutter-text.c:3423
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "La descrizione del carattere da usare"
 
-#: ../clutter/clutter-text.c:3440
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "Il testo da riprodurre"
 
-#: ../clutter/clutter-text.c:3454
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Colore carattere"
 
-#: ../clutter/clutter-text.c:3455
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "Il colore del carattere usato dal testo"
 
-#: ../clutter/clutter-text.c:3470
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Modificabile"
 
-#: ../clutter/clutter-text.c:3471
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Se il testo è modificabile"
 
-#: ../clutter/clutter-text.c:3486
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Selezionabile"
 
-#: ../clutter/clutter-text.c:3487
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Se il testo è selezionabile"
 
-#: ../clutter/clutter-text.c:3501
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Attivabile"
 
-#: ../clutter/clutter-text.c:3502
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Se la pressione di invio causa l'emissione del segnale activate"
 
-#: ../clutter/clutter-text.c:3519
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Se il cursore di input è visibile"
 
-#: ../clutter/clutter-text.c:3533 ../clutter/clutter-text.c:3534
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Colore del cursore"
 
-#: ../clutter/clutter-text.c:3549
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Imposta colore cursore"
 
-#: ../clutter/clutter-text.c:3550
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Se il colore del cursore è stato impostato"
 
-#: ../clutter/clutter-text.c:3565
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Dimensione cursore"
 
-#: ../clutter/clutter-text.c:3566
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "La larghezza del cursore, in pixel"
 
-#: ../clutter/clutter-text.c:3582 ../clutter/clutter-text.c:3600
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Posizione cursore"
 
-#: ../clutter/clutter-text.c:3583 ../clutter/clutter-text.c:3601
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "La posizione del cursore"
 
-#: ../clutter/clutter-text.c:3616
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Rettangolo di selezione"
 
-#: ../clutter/clutter-text.c:3617
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "La posizione del cursore dell'altro capo della selezione"
 
-#: ../clutter/clutter-text.c:3632 ../clutter/clutter-text.c:3633
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Colore selezione"
 
-#: ../clutter/clutter-text.c:3648
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Imposta il colore selezione"
 
-#: ../clutter/clutter-text.c:3649
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Se il colore della selezione è stato impostato"
 
-#: ../clutter/clutter-text.c:3664
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Attributi"
 
-#: ../clutter/clutter-text.c:3665
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Una lista di attributi di stile da applicare ai contenuti degli attori"
 
-#: ../clutter/clutter-text.c:3687
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Usa marcatura"
 
-#: ../clutter/clutter-text.c:3688
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Se il testo include o meno la marcatura Pango"
 
-#: ../clutter/clutter-text.c:3704
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Ritorno a capo"
 
-#: ../clutter/clutter-text.c:3705
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Se impostato, manda a capo le righe se il testo diviene troppo largo"
 
-#: ../clutter/clutter-text.c:3720
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Modalità ritorno a capo"
 
-#: ../clutter/clutter-text.c:3721
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Controlla come il ritorno a capo è fatto"
 
-#: ../clutter/clutter-text.c:3736
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Punteggiatura"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "Il punto preferito per punteggiare la stringa"
 
-#: ../clutter/clutter-text.c:3753
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Allineamento riga"
 
-#: ../clutter/clutter-text.c:3754
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "L'allineamento preferito per la stringa, per il testo a righe multiple"
 
-#: ../clutter/clutter-text.c:3770
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Giustifica"
 
-#: ../clutter/clutter-text.c:3771
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Se il testo dovrebbe essere giustificato"
 
-#: ../clutter/clutter-text.c:3786
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Carattere password"
 
-#: ../clutter/clutter-text.c:3787
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Se non zero, usa questo carattere per mostrare il contenuto degli attori"
 
-#: ../clutter/clutter-text.c:3801
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Lunghezza massima"
 
-#: ../clutter/clutter-text.c:3802
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Lunghezza massima del testo all'interno dell'attore"
 
-#: ../clutter/clutter-text.c:3825
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Modalità linea singola"
 
-#: ../clutter/clutter-text.c:3826
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Se il testo dovrebbe essere in una linea singola"
 
-#: ../clutter/clutter-text.c:3840 ../clutter/clutter-text.c:3841
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Colore del testo selezionato"
 
-#: ../clutter/clutter-text.c:3856
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Imposta il colore del testo selezionato"
 
-#: ../clutter/clutter-text.c:3857
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Indica se il colore del testo selezionato è stato impostato"
 
-#: ../clutter/clutter-timeline.c:593
-#: ../clutter/deprecated/clutter-animation.c:557
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Ciclo"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Se la timeline deve ricominciare automaticamente"
 
-#: ../clutter/clutter-timeline.c:608
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Ritardo"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Ritardo prima di iniziare"
 
-#: ../clutter/clutter-timeline.c:624
-#: ../clutter/deprecated/clutter-animation.c:541
-#: ../clutter/deprecated/clutter-animator.c:1801
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1517
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Durata"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Durata della timeline in millisecondi"
 
-#: ../clutter/clutter-timeline.c:640
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Direzione"
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Direzione della timeline"
 
-#: ../clutter/clutter-timeline.c:656
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Inversione automatica"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr ""
 "Indica se la direzione deve essere invertita quando si raggiunge la fine"
 
-#: ../clutter/clutter-timeline.c:675
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Conteggio ripetizioni"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Quante volte la timeline deve ripetere"
 
-#: ../clutter/clutter-timeline.c:690
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Modalità di avanzamento"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Come la timeline dovrebbe calcolare l'avanzamento"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Intervallo"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "L'intervallo di valori per la transizione"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Animabile"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "L'oggetto che può essere animato"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Rimozione al completamento"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Scollega la transizione quando completata"
 
-#: ../clutter/clutter-zoom-action.c:365
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Asse di zoom"
 
-#: ../clutter/clutter-zoom-action.c:366
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Vincola lo zoom a un asse"
 
-#: ../clutter/deprecated/clutter-alpha.c:354
-#: ../clutter/deprecated/clutter-animation.c:572
-#: ../clutter/deprecated/clutter-animator.c:1818
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "Timeline"
 msgstr "Timeline"
 
-#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "La timeline usata dall'alpha"
 
-#: ../clutter/deprecated/clutter-alpha.c:371
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Valore alpha"
 
-#: ../clutter/deprecated/clutter-alpha.c:372
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "Valore alpha come calcolato dall'alpha"
 
-#: ../clutter/deprecated/clutter-alpha.c:393
-#: ../clutter/deprecated/clutter-animation.c:525
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Modalità"
 
-#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Modalità di avanzamento"
 
-#: ../clutter/deprecated/clutter-animation.c:508
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Oggetto"
 
-#: ../clutter/deprecated/clutter-animation.c:509
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "Oggetto a cui l'animazione si applica"
 
-#: ../clutter/deprecated/clutter-animation.c:526
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "La modalità di animazione"
 
-#: ../clutter/deprecated/clutter-animation.c:542
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "Durata dell'animazione, in millisecondi"
 
-#: ../clutter/deprecated/clutter-animation.c:558
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Se l'animazione deve ciclare"
 
-#: ../clutter/deprecated/clutter-animation.c:573
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "La timeline usata dall'animazione"
 
-#: ../clutter/deprecated/clutter-animation.c:589
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alpha"
 
-#: ../clutter/deprecated/clutter-animation.c:590
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "L'alpha usato dall'animazione"
 
-#: ../clutter/deprecated/clutter-animator.c:1802
+#: ../clutter/deprecated/clutter-animator.c:1805
 msgid "The duration of the animation"
 msgstr "La durata dell'animazione"
 
-#: ../clutter/deprecated/clutter-animator.c:1819
+#: ../clutter/deprecated/clutter-animator.c:1822
 msgid "The timeline of the animation"
 msgstr "La timeline dell'animazione"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Oggetto alpha per guidare il comportamento"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Profondità iniziale"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Profondità iniziale da applicare"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Profondità finale"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Profondità finale da applicare"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Angolo iniziale"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Angolo iniziale"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Angolo finale"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Angolo finale"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Inclinazione angolare X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "L'inclinazione dell'ellisse sull'asse X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Inclinazione angolare Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "L'inclinazione dell'ellisse sull'asse Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Inclinazione angolare Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "L'inclinazione dell'ellisse sull'asse Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Larghezza dell'ellisse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Altezza dell'ellisse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Centro"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Centro dell'ellisse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Direzione della rotazione"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Opacità iniziale"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Livello di opacità iniziale"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Opacità finale"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Livello di opacità finale"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "L'oggetto ClutterPath che rappresenta il percorso dell'animazione"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Angolo iniziale"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Angolo finale"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Assi"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Assi di rotazione"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Centro X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "Coordinata X del centro di rotazione"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Centro Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Coordinata Y del centro di rotazione"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Centro"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Coordinata Z del centro di rotazione"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Scala iniziale X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Scala iniziale sull'asse X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Scala finale X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Scala finale sull'asse X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Scala iniziale Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Scala iniziale sull'asse U"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Scala finale Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Scala finale sull'asse Y"
 
-#: ../clutter/deprecated/clutter-box.c:257
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "Il colore di sfondo del box"
 
-#: ../clutter/deprecated/clutter-box.c:270
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Imposta colore"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:593
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Larghezza superficie"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:594
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "La larghezza della superficie Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:611
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Altezza superficie"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:612
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "L'altezza della superficie Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:632
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Ridimensionamento automatico"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:633
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Indica se la superficie deve corrispondere all'allocazione"
 
@@ -2418,160 +2393,104 @@ msgstr "Il livello di riempimento del buffer"
 msgid "The duration of the stream, in seconds"
 msgstr "La durata del flusso, in secondi"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "Il colore del rettangolo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Colore del bordo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "Il colore del bordo del rettangolo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Spessore bordo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "La larghezza del bordo del rettangolo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Ha bordo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Se il rettangolo dovrebbe avere un bordo"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Origine vertice"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Origine del vertex shader"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Origine frammento"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Origine del fragment shader"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Compilato"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Se lo shader è compilato e collegato"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Se lo shader è abilitato"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "Compilazione di %s non riuscita: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Vertex shader"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Fragment shader"
 
-#: ../clutter/deprecated/clutter-state.c:1499
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "State"
 msgstr "Stato"
 
-#: ../clutter/deprecated/clutter-state.c:1500
+#: ../clutter/deprecated/clutter-state.c:1506
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "Stato attualmente impostato (la transizione a questo stato potrebbe non "
 "essere completa)"
 
-#: ../clutter/deprecated/clutter-state.c:1518
+#: ../clutter/deprecated/clutter-state.c:1524
 msgid "Default transition duration"
 msgstr "Durata predefinita delle transazioni"
 
-#: ../clutter/deprecated/clutter-table-layout.c:543
-msgid "Column Number"
-msgstr "Numero colonna"
-
-#: ../clutter/deprecated/clutter-table-layout.c:544
-msgid "The column the widget resides in"
-msgstr "La colonna su cui risiede il widget"
-
-#: ../clutter/deprecated/clutter-table-layout.c:551
-msgid "Row Number"
-msgstr "Numero riga"
-
-#: ../clutter/deprecated/clutter-table-layout.c:552
-msgid "The row the widget resides in"
-msgstr "La riga su cui risiede il widget"
-
-#: ../clutter/deprecated/clutter-table-layout.c:559
-msgid "Column Span"
-msgstr "Estensione colonna"
-
-#: ../clutter/deprecated/clutter-table-layout.c:560
-msgid "The number of columns the widget should span"
-msgstr "Il numero di colonne che il widget dovrebbe coprire"
-
-#: ../clutter/deprecated/clutter-table-layout.c:567
-msgid "Row Span"
-msgstr "Estensione riga"
-
-#: ../clutter/deprecated/clutter-table-layout.c:568
-msgid "The number of rows the widget should span"
-msgstr "Il numero di righe che il widget dovrebbe coprire"
-
-#: ../clutter/deprecated/clutter-table-layout.c:575
-msgid "Horizontal Expand"
-msgstr "Espansione orizzontale"
-
-#: ../clutter/deprecated/clutter-table-layout.c:576
-msgid "Allocate extra space for the child in horizontal axis"
-msgstr "Alloca spazio aggiuntivo sull'asse orizzontale per il figlio"
-
-#: ../clutter/deprecated/clutter-table-layout.c:582
-msgid "Vertical Expand"
-msgstr "Espansione verticale"
-
-#: ../clutter/deprecated/clutter-table-layout.c:583
-msgid "Allocate extra space for the child in vertical axis"
-msgstr "Alloca spazio aggiuntivo sull'asse verticale per il figlio"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1638
-msgid "Spacing between columns"
-msgstr "Lo spazio tra le colonne"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1654
-msgid "Spacing between rows"
-msgstr "Lo spazio tra le righe"
-
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Sincronizza dimensione dell'attore"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Sincronizza automaticamente la dimensione dell'attore alle dimensioni "
 "sottostanti del pixbuf"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Disabilita segmentazione"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2579,73 +2498,73 @@ msgstr ""
 "Forza la texture sottostante ad essere singola e non composta di segmenti di "
 "texture più piccoli"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Scarto"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Area di scarto massima per una texture tagliata"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Ripetizione orizzontale"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Ripetere il contenuto invece di adattarlo orizzontalmente"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Ripetizione verticale"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Ripetere il contenuto invece di adattarlo verticalmente"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Qualità filtro"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "Qualità di render utilizzato nel disegnare le texture"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Formato pixel"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "Il formato di pixel Cogl da usare"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Cogl Texture"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr "La gestione della texture Cogl sottostante per disegnare questo attore"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Materiale Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr "La gestione del materiale Cogl sottostante per disegnare questo attore"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "Il percorso del file contenente i dati dell'immagine"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Mantieni rapporto dimensioni"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
@@ -2653,22 +2572,22 @@ msgstr ""
 "Mantieni il rapporto delle dimensioni della texture quando è richiesta una "
 "larghezza o altezza preferita"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Carica in maniera asincrona"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Carica i files dentro un thread per evitare il blocco durante il caricamento "
 "delle immagini da disco"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Carica i dati in maniera asincrona"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2676,90 +2595,90 @@ msgstr ""
 "Decodifica i dati dei files immagine dentro un thread per ridurre il blocco "
 "nel caricamento delle immagini da disco"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Cattura con Alpha"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Attore di forma con canale alpha nella cattura"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Impossibile caricare i dati dell'immagine"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "Le texture YUV non sono supportate"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "Le texture YUV2 non sono supportate"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:154
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
 msgid "sysfs Path"
 msgstr "Percorso sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:155
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
 msgid "Path of the device in sysfs"
 msgstr "Il percorso del dispositivo in sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:170
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
 msgid "Device Path"
 msgstr "Percorso dispositivo"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:171
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
 msgid "Path of the device node"
 msgstr "Il percorso del nodo del dispositivo"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "Impossibile trovare un CoglWinsys valido per un GdkDisplay di tipo %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Superficie"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "La superficie Wayland sottostante"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Larghezza superficie"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "La larghezza della superficie Wayland sottostante"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Altezza superficie"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "L'altezza della superficie Wayland sottostante"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Display X da usare"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Schermo X da usare"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Rende le chiamate a X sincrone"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
+#: ../clutter/x11/clutter-backend-x11.c:534
 msgid "Disable XInput support"
 msgstr "Disabilita il supporto a XInput"
 
@@ -2767,102 +2686,102 @@ msgstr "Disabilita il supporto a XInput"
 msgid "The Clutter backend"
 msgstr "Il backend clutter"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "La pixmap X11 da associare"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Larghezza pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "La larghezza della pixmap associata a questa texture"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Altezza pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "L'altezza della pixmap associata a questa texture"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Profondità pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr ""
 "La profondità (in numero di bit) della pixmap associata a questa texture"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Aggiornamenti automatici"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Se la texture dovrebbe essere sincronizzata con ogni cambiamento della pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "La finestra X11 da associare"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Redirezione finestra automatica"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Se le redirezioni della finestra composita sono impostate su Automatico (o "
 "Manuale se falso)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Finestra mappata"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Se la finestra è mappata"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Distrutta"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Se la finestra è stata distrutta"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "X Finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "Posizione X della finestra sullo schermo in accordo con X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Y Finestra"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "Posizione Y della finestra sullo schermo in accordo con X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Finestra con override-redirect"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Indica se questa è una finestra con override-redirect"
diff --git a/po/lv.po b/po/lv.po
index 618c607..72ab6f4 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -2,14 +2,14 @@
 # Copyright (C) 2011 clutter's COPYRIGHT HOLDER
 # This file is distributed under the same license as the clutter package.
 #
-# Rūdofls Mazurs <rudolfs mazurs gmail com>, 2011, 2012, 2013, 2014.
+# Rūdofls Mazurs <rudolfs mazurs gmail com>, 2011, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
-"product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-07 04:08+0000\n"
-"PO-Revision-Date: 2014-03-08 19:45+0200\n"
+"product=clutter\n"
+"POT-Creation-Date: 2012-09-24 23:05+0300\n"
+"PO-Revision-Date: 2012-09-24 23:24+0300\n"
 "Last-Translator: Rūdolfs Mazurs <rudolfs mazurs gmail com>\n"
 "Language-Team: Latvian <lata-l10n googlegroups com>\n"
 "Language: lv\n"
@@ -18,692 +18,692 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
 "2);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 1.4\n"
 
-#: ../clutter/clutter-actor.c:6214
+#: ../clutter/clutter-actor.c:6125
 msgid "X coordinate"
 msgstr "X koordināta"
 
-#: ../clutter/clutter-actor.c:6215
+#: ../clutter/clutter-actor.c:6126
 msgid "X coordinate of the actor"
 msgstr "Izpildītāja X koordināta"
 
-#: ../clutter/clutter-actor.c:6233
+#: ../clutter/clutter-actor.c:6144
 msgid "Y coordinate"
 msgstr "Y koordināta"
 
-#: ../clutter/clutter-actor.c:6234
+#: ../clutter/clutter-actor.c:6145
 msgid "Y coordinate of the actor"
 msgstr "Izpildītāja Y koordināta"
 
-#: ../clutter/clutter-actor.c:6256
+#: ../clutter/clutter-actor.c:6167
 msgid "Position"
 msgstr "Pozīcija"
 
-#: ../clutter/clutter-actor.c:6257
+#: ../clutter/clutter-actor.c:6168
 msgid "The position of the origin of the actor"
 msgstr "Sākotnējā izpildītāja pozīcija"
 
-#: ../clutter/clutter-actor.c:6274 ../clutter/clutter-canvas.c:247
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6185 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Platums"
 
-#: ../clutter/clutter-actor.c:6275
+#: ../clutter/clutter-actor.c:6186
 msgid "Width of the actor"
 msgstr "Izpildītāja platums"
 
-#: ../clutter/clutter-actor.c:6293 ../clutter/clutter-canvas.c:263
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Augstums"
 
-#: ../clutter/clutter-actor.c:6294
+#: ../clutter/clutter-actor.c:6205
 msgid "Height of the actor"
 msgstr "Izpildītāja augstums"
 
-#: ../clutter/clutter-actor.c:6315
+#: ../clutter/clutter-actor.c:6226
 msgid "Size"
 msgstr "Izmērs"
 
-#: ../clutter/clutter-actor.c:6316
+#: ../clutter/clutter-actor.c:6227
 msgid "The size of the actor"
 msgstr "Izpildītāja izmērs"
 
-#: ../clutter/clutter-actor.c:6334
+#: ../clutter/clutter-actor.c:6245
 msgid "Fixed X"
 msgstr "Fiksēts X"
 
-#: ../clutter/clutter-actor.c:6335
+#: ../clutter/clutter-actor.c:6246
 msgid "Forced X position of the actor"
 msgstr "Fiksēta izpildītāja X pozīcija"
 
-#: ../clutter/clutter-actor.c:6352
+#: ../clutter/clutter-actor.c:6263
 msgid "Fixed Y"
 msgstr "Fiksēts Y"
 
-#: ../clutter/clutter-actor.c:6353
+#: ../clutter/clutter-actor.c:6264
 msgid "Forced Y position of the actor"
 msgstr "Fiksēta izpildītāja Y pozīcija"
 
-#: ../clutter/clutter-actor.c:6368
+#: ../clutter/clutter-actor.c:6279
 msgid "Fixed position set"
 msgstr "Fiksēta pozīcija iestatīta"
 
-#: ../clutter/clutter-actor.c:6369
+#: ../clutter/clutter-actor.c:6280
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Vai izpildītājam izmantot fiksētu pozicionēšanu"
 
-#: ../clutter/clutter-actor.c:6387
+#: ../clutter/clutter-actor.c:6298
 msgid "Min Width"
 msgstr "Min. platums"
 
-#: ../clutter/clutter-actor.c:6388
+#: ../clutter/clutter-actor.c:6299
 msgid "Forced minimum width request for the actor"
 msgstr "Aktiem forsēts minimālā platuma pieprasījums"
 
-#: ../clutter/clutter-actor.c:6406
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Height"
 msgstr "Min. augstums"
 
-#: ../clutter/clutter-actor.c:6407
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum height request for the actor"
 msgstr "Aktiem forsēts minimālā augstuma pieprasījums"
 
-#: ../clutter/clutter-actor.c:6425
+#: ../clutter/clutter-actor.c:6336
 msgid "Natural Width"
 msgstr "Dabīgais platums"
 
-#: ../clutter/clutter-actor.c:6426
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced natural width request for the actor"
 msgstr "Aktiem forsēts dabīgā platuma pieprasījums"
 
-#: ../clutter/clutter-actor.c:6444
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Height"
 msgstr "Dabīgais augstums"
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural height request for the actor"
 msgstr "Aktiem forsēts dabīgā augstuma pieprasījums"
 
-#: ../clutter/clutter-actor.c:6460
+#: ../clutter/clutter-actor.c:6371
 msgid "Minimum width set"
 msgstr "Minimālais platums iestatīts"
 
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:6372
 msgid "Whether to use the min-width property"
 msgstr "Vai izmantot minimālā platuma īpašību"
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:6386
 msgid "Minimum height set"
 msgstr "Minimālais augstums iestatīts"
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:6387
 msgid "Whether to use the min-height property"
 msgstr "Vai izmantot minimālā augstuma īpašību"
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:6401
 msgid "Natural width set"
 msgstr "Dabīgs platums iestatīts"
 
-#: ../clutter/clutter-actor.c:6491
+#: ../clutter/clutter-actor.c:6402
 msgid "Whether to use the natural-width property"
 msgstr "Vai izmantot dabīgā platuma īpašību"
 
-#: ../clutter/clutter-actor.c:6505
+#: ../clutter/clutter-actor.c:6416
 msgid "Natural height set"
 msgstr "Dabīgs augstums iestatīts"
 
-#: ../clutter/clutter-actor.c:6506
+#: ../clutter/clutter-actor.c:6417
 msgid "Whether to use the natural-height property"
 msgstr "Vai izmantot dabīgā augstuma īpašību"
 
-#: ../clutter/clutter-actor.c:6522
+#: ../clutter/clutter-actor.c:6433
 msgid "Allocation"
 msgstr "Piešķiršana"
 
-#: ../clutter/clutter-actor.c:6523
+#: ../clutter/clutter-actor.c:6434
 msgid "The actor's allocation"
 msgstr "Izpildītāja piešķiršana"
 
-#: ../clutter/clutter-actor.c:6580
+#: ../clutter/clutter-actor.c:6491
 msgid "Request Mode"
 msgstr "Pieprasīšanas režīms"
 
-#: ../clutter/clutter-actor.c:6581
+#: ../clutter/clutter-actor.c:6492
 msgid "The actor's request mode"
 msgstr "Izpildītāja pieprasīšanas režīms"
 
-#: ../clutter/clutter-actor.c:6605
+#: ../clutter/clutter-actor.c:6516
 msgid "Depth"
 msgstr "Dziļums"
 
-#: ../clutter/clutter-actor.c:6606
+#: ../clutter/clutter-actor.c:6517
 msgid "Position on the Z axis"
 msgstr "Z ass pozīcija"
 
-#: ../clutter/clutter-actor.c:6633
+#: ../clutter/clutter-actor.c:6544
 msgid "Z Position"
 msgstr "Z pozīcija"
 
-#: ../clutter/clutter-actor.c:6634
+#: ../clutter/clutter-actor.c:6545
 msgid "The actor's position on the Z axis"
 msgstr "Izpildītāja pozīcija uz Z ass"
 
-#: ../clutter/clutter-actor.c:6651
+#: ../clutter/clutter-actor.c:6562
 msgid "Opacity"
 msgstr "Necaurspīdīgums"
 
-#: ../clutter/clutter-actor.c:6652
+#: ../clutter/clutter-actor.c:6563
 msgid "Opacity of an actor"
 msgstr "Izpildītāja necaurspīdīgums"
 
-#: ../clutter/clutter-actor.c:6672
+#: ../clutter/clutter-actor.c:6583
 msgid "Offscreen redirect"
 msgstr "Ārpus ekrāna pārsūtīšana"
 
-#: ../clutter/clutter-actor.c:6673
+#: ../clutter/clutter-actor.c:6584
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Atzīme, kas nosaka, kad saplacināt izpildītāju uz vienu attēlu"
 
-#: ../clutter/clutter-actor.c:6687
+#: ../clutter/clutter-actor.c:6598
 msgid "Visible"
 msgstr "Redzams"
 
-#: ../clutter/clutter-actor.c:6688
+#: ../clutter/clutter-actor.c:6599
 msgid "Whether the actor is visible or not"
 msgstr "Vai izpildītājs ir redzams vai neredzams"
 
-#: ../clutter/clutter-actor.c:6702
+#: ../clutter/clutter-actor.c:6613
 msgid "Mapped"
 msgstr "Kartēts"
 
-#: ../clutter/clutter-actor.c:6703
+#: ../clutter/clutter-actor.c:6614
 msgid "Whether the actor will be painted"
 msgstr "Vai izpildītājs tiks uzzīmēts"
 
-#: ../clutter/clutter-actor.c:6716
+#: ../clutter/clutter-actor.c:6627
 msgid "Realized"
 msgstr "Realizēts"
 
-#: ../clutter/clutter-actor.c:6717
+#: ../clutter/clutter-actor.c:6628
 msgid "Whether the actor has been realized"
 msgstr "Vai izpildītājs tika realizēts"
 
-#: ../clutter/clutter-actor.c:6732
+#: ../clutter/clutter-actor.c:6643
 msgid "Reactive"
 msgstr "Reaktīvs"
 
-#: ../clutter/clutter-actor.c:6733
+#: ../clutter/clutter-actor.c:6644
 msgid "Whether the actor is reactive to events"
 msgstr "Vai izpildītājs uz notikumiem ir reaktīvs"
 
-#: ../clutter/clutter-actor.c:6744
+#: ../clutter/clutter-actor.c:6655
 msgid "Has Clip"
 msgstr "Ir klips"
 
-#: ../clutter/clutter-actor.c:6745
+#: ../clutter/clutter-actor.c:6656
 msgid "Whether the actor has a clip set"
 msgstr "Vai izpildītājam ir klipu kopa"
 
-#: ../clutter/clutter-actor.c:6758
+#: ../clutter/clutter-actor.c:6669
 msgid "Clip"
 msgstr "Klips"
 
-#: ../clutter/clutter-actor.c:6759
+#: ../clutter/clutter-actor.c:6670
 msgid "The clip region for the actor"
 msgstr "Klipa apgabals izpildītājam"
 
-#: ../clutter/clutter-actor.c:6778
+#: ../clutter/clutter-actor.c:6689
 msgid "Clip Rectangle"
 msgstr "Klipa taisnstūris"
 
-#: ../clutter/clutter-actor.c:6779
+#: ../clutter/clutter-actor.c:6690
 msgid "The visible region of the actor"
 msgstr "Izpildītāja redzamais apgabals"
 
-#: ../clutter/clutter-actor.c:6793 ../clutter/clutter-actor-meta.c:205
-#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:247
+#: ../clutter/clutter-actor.c:6704 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nosaukums"
 
-#: ../clutter/clutter-actor.c:6794
+#: ../clutter/clutter-actor.c:6705
 msgid "Name of the actor"
 msgstr "Nosaukums izpildītāja"
 
-#: ../clutter/clutter-actor.c:6815
+#: ../clutter/clutter-actor.c:6726
 msgid "Pivot Point"
 msgstr "Ass punkts"
 
-#: ../clutter/clutter-actor.c:6816
+#: ../clutter/clutter-actor.c:6727
 msgid "The point around which the scaling and rotation occur"
 msgstr "Punkts, ap ko notiek izmēra maiņa un pagriešana"
 
-#: ../clutter/clutter-actor.c:6834
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point Z"
 msgstr "Ass punkts Z"
 
-#: ../clutter/clutter-actor.c:6835
+#: ../clutter/clutter-actor.c:6746
 msgid "Z component of the pivot point"
 msgstr "Ass punkta Z komponente"
 
-#: ../clutter/clutter-actor.c:6853
+#: ../clutter/clutter-actor.c:6764
 msgid "Scale X"
 msgstr "Mērogs X"
 
-#: ../clutter/clutter-actor.c:6854
+#: ../clutter/clutter-actor.c:6765
 msgid "Scale factor on the X axis"
 msgstr "Mēroga koeficients uz X ass"
 
-#: ../clutter/clutter-actor.c:6872
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale Y"
 msgstr "Mērogs Y"
 
-#: ../clutter/clutter-actor.c:6873
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the Y axis"
 msgstr "Mēroga koeficients uz Y ass"
 
-#: ../clutter/clutter-actor.c:6891
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Z"
 msgstr "Mērogs Z"
 
-#: ../clutter/clutter-actor.c:6892
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Z axis"
 msgstr "Mēroga koeficients uz Z ass"
 
-#: ../clutter/clutter-actor.c:6910
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Center X"
 msgstr "Mēroga vidus X"
 
-#: ../clutter/clutter-actor.c:6911
+#: ../clutter/clutter-actor.c:6822
 msgid "Horizontal scale center"
 msgstr "Horizontālā mēroga vidus"
 
-#: ../clutter/clutter-actor.c:6929
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center Y"
 msgstr "Mēroga vidus Y"
 
-#: ../clutter/clutter-actor.c:6930
+#: ../clutter/clutter-actor.c:6841
 msgid "Vertical scale center"
 msgstr "Vertikālā mēroga vidus"
 
-#: ../clutter/clutter-actor.c:6948
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Gravity"
 msgstr "Mēroga svars"
 
-#: ../clutter/clutter-actor.c:6949
+#: ../clutter/clutter-actor.c:6860
 msgid "The center of scaling"
 msgstr "Mērogošanas vidus"
 
-#: ../clutter/clutter-actor.c:6967
+#: ../clutter/clutter-actor.c:6878
 msgid "Rotation Angle X"
 msgstr "Rotācijas leņķis X"
 
-#: ../clutter/clutter-actor.c:6968
+#: ../clutter/clutter-actor.c:6879
 msgid "The rotation angle on the X axis"
 msgstr "X ass rotācijas leņķis"
 
-#: ../clutter/clutter-actor.c:6986
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle Y"
 msgstr "Rotācijas leņķis Y"
 
-#: ../clutter/clutter-actor.c:6987
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the Y axis"
 msgstr "Y ass rotācijas leņķis"
 
-#: ../clutter/clutter-actor.c:7005
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Z"
 msgstr "Rotācijas leņķis Z"
 
-#: ../clutter/clutter-actor.c:7006
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Z axis"
 msgstr "Z ass rotācijas leņķis"
 
-#: ../clutter/clutter-actor.c:7024
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Center X"
 msgstr "Rotācijas centrs X"
 
-#: ../clutter/clutter-actor.c:7025
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation center on the X axis"
 msgstr "X ass rotācijas centrs"
 
-#: ../clutter/clutter-actor.c:7042
+#: ../clutter/clutter-actor.c:6953
 msgid "Rotation Center Y"
 msgstr "Rotācijas centrs Y"
 
-#: ../clutter/clutter-actor.c:7043
+#: ../clutter/clutter-actor.c:6954
 msgid "The rotation center on the Y axis"
 msgstr "Y ass rotācijas centrs"
 
-#: ../clutter/clutter-actor.c:7060
+#: ../clutter/clutter-actor.c:6971
 msgid "Rotation Center Z"
 msgstr "Rotācijas centrs Z"
 
-#: ../clutter/clutter-actor.c:7061
+#: ../clutter/clutter-actor.c:6972
 msgid "The rotation center on the Z axis"
 msgstr "Z ass rotācijas centrs"
 
-#: ../clutter/clutter-actor.c:7078
+#: ../clutter/clutter-actor.c:6989
 msgid "Rotation Center Z Gravity"
 msgstr "Rotācijas centra Z svars"
 
-#: ../clutter/clutter-actor.c:7079
+#: ../clutter/clutter-actor.c:6990
 msgid "Center point for rotation around the Z axis"
 msgstr "Viduspunkts rotācijai ap Z asi"
 
-#: ../clutter/clutter-actor.c:7107
+#: ../clutter/clutter-actor.c:7018
 msgid "Anchor X"
 msgstr "Enkurs X"
 
-#: ../clutter/clutter-actor.c:7108
+#: ../clutter/clutter-actor.c:7019
 msgid "X coordinate of the anchor point"
 msgstr "Enkura punkta X koordināta"
 
-#: ../clutter/clutter-actor.c:7136
+#: ../clutter/clutter-actor.c:7047
 msgid "Anchor Y"
 msgstr "Enkurs Y"
 
-#: ../clutter/clutter-actor.c:7137
+#: ../clutter/clutter-actor.c:7048
 msgid "Y coordinate of the anchor point"
 msgstr "Enkura punkta Y koordināta"
 
-#: ../clutter/clutter-actor.c:7164
+#: ../clutter/clutter-actor.c:7075
 msgid "Anchor Gravity"
 msgstr "Enkura svars"
 
-#: ../clutter/clutter-actor.c:7165
+#: ../clutter/clutter-actor.c:7076
 msgid "The anchor point as a ClutterGravity"
 msgstr "Enkura punkts kā ClutterGravity"
 
-#: ../clutter/clutter-actor.c:7184
+#: ../clutter/clutter-actor.c:7095
 msgid "Translation X"
 msgstr "Translācija X"
 
-#: ../clutter/clutter-actor.c:7185
+#: ../clutter/clutter-actor.c:7096
 msgid "Translation along the X axis"
 msgstr "Translācija gar X asi"
 
-#: ../clutter/clutter-actor.c:7204
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation Y"
 msgstr "Translācija Y"
 
-#: ../clutter/clutter-actor.c:7205
+#: ../clutter/clutter-actor.c:7116
 msgid "Translation along the Y axis"
 msgstr "Translācija gar Y asi"
 
-#: ../clutter/clutter-actor.c:7224
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation Z"
 msgstr "Translācija Z"
 
-#: ../clutter/clutter-actor.c:7225
+#: ../clutter/clutter-actor.c:7136
 msgid "Translation along the Z axis"
 msgstr "Translācija gar Z asi"
 
-#: ../clutter/clutter-actor.c:7255
+#: ../clutter/clutter-actor.c:7166
 msgid "Transform"
 msgstr "Pārveidot"
 
-#: ../clutter/clutter-actor.c:7256
+#: ../clutter/clutter-actor.c:7167
 msgid "Transformation matrix"
 msgstr "Pārveidojumu matrica"
 
-#: ../clutter/clutter-actor.c:7271
+#: ../clutter/clutter-actor.c:7182
 msgid "Transform Set"
 msgstr "Pārveidošana iestatīta"
 
-#: ../clutter/clutter-actor.c:7272
+#: ../clutter/clutter-actor.c:7183
 msgid "Whether the transform property is set"
 msgstr "Vai pārveidošanas īpašība ir iestatīta"
 
-#: ../clutter/clutter-actor.c:7293
+#: ../clutter/clutter-actor.c:7204
 msgid "Child Transform"
 msgstr "Bērna pārveidošana"
 
-#: ../clutter/clutter-actor.c:7294
+#: ../clutter/clutter-actor.c:7205
 msgid "Children transformation matrix"
 msgstr "Bērna pārveidošanas matrica"
 
-#: ../clutter/clutter-actor.c:7309
+#: ../clutter/clutter-actor.c:7220
 msgid "Child Transform Set"
 msgstr "Bērna pārveidošana iestatīta"
 
-#: ../clutter/clutter-actor.c:7310
+#: ../clutter/clutter-actor.c:7221
 msgid "Whether the child-transform property is set"
 msgstr "Vai bērna pārveidošanas īpašība ir iestatīta"
 
-#: ../clutter/clutter-actor.c:7327
+#: ../clutter/clutter-actor.c:7238
 msgid "Show on set parent"
 msgstr "Rādīt uz vecāka iestatīts"
 
-#: ../clutter/clutter-actor.c:7328
+#: ../clutter/clutter-actor.c:7239
 msgid "Whether the actor is shown when parented"
 msgstr "Vai izpildītājs ir redzams, kad ar vecāku"
 
-#: ../clutter/clutter-actor.c:7345
+#: ../clutter/clutter-actor.c:7256
 msgid "Clip to Allocation"
 msgstr "Klips pie piešķiršanas"
 
-#: ../clutter/clutter-actor.c:7346
+#: ../clutter/clutter-actor.c:7257
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Iestata klipa reģionu, lai izsekotu izpildītāja piešķīrumu"
 
-#: ../clutter/clutter-actor.c:7359
+#: ../clutter/clutter-actor.c:7270
 msgid "Text Direction"
 msgstr "Teksta virziens"
 
-#: ../clutter/clutter-actor.c:7360
+#: ../clutter/clutter-actor.c:7271
 msgid "Direction of the text"
 msgstr "Teksta virziens"
 
-#: ../clutter/clutter-actor.c:7375
+#: ../clutter/clutter-actor.c:7286
 msgid "Has Pointer"
 msgstr "Ir rādītājs"
 
-#: ../clutter/clutter-actor.c:7376
+#: ../clutter/clutter-actor.c:7287
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Vai izpildītājs satur ievades ierīces norādi"
 
-#: ../clutter/clutter-actor.c:7389
+#: ../clutter/clutter-actor.c:7300
 msgid "Actions"
 msgstr "Darbības"
 
-#: ../clutter/clutter-actor.c:7390
+#: ../clutter/clutter-actor.c:7301
 msgid "Adds an action to the actor"
 msgstr "Izpildītājam pievieno darbību"
 
-#: ../clutter/clutter-actor.c:7403
+#: ../clutter/clutter-actor.c:7314
 msgid "Constraints"
 msgstr "Ierobežojumi"
 
-#: ../clutter/clutter-actor.c:7404
+#: ../clutter/clutter-actor.c:7315
 msgid "Adds a constraint to the actor"
 msgstr "Izpildītājam pievieno ierobežojumu"
 
-#: ../clutter/clutter-actor.c:7417
+#: ../clutter/clutter-actor.c:7328
 msgid "Effect"
 msgstr "Efekts"
 
-#: ../clutter/clutter-actor.c:7418
+#: ../clutter/clutter-actor.c:7329
 msgid "Add an effect to be applied on the actor"
 msgstr "Izpildītājam pievieno efektu"
 
-#: ../clutter/clutter-actor.c:7432
+#: ../clutter/clutter-actor.c:7343
 msgid "Layout Manager"
 msgstr "Slāņu pārvaldnieks"
 
-#: ../clutter/clutter-actor.c:7433
+#: ../clutter/clutter-actor.c:7344
 msgid "The object controlling the layout of an actor's children"
 msgstr "Objekts, kas nosaka izpildītāja bērna izkārtojumu"
 
-#: ../clutter/clutter-actor.c:7447
+#: ../clutter/clutter-actor.c:7358
 msgid "X Expand"
 msgstr "X izvērst"
 
-#: ../clutter/clutter-actor.c:7448
+#: ../clutter/clutter-actor.c:7359
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Vai horizontālajai telpai jābūt piešķirtai izpildītājam"
 
-#: ../clutter/clutter-actor.c:7463
+#: ../clutter/clutter-actor.c:7374
 msgid "Y Expand"
 msgstr "Y izvērst"
 
-#: ../clutter/clutter-actor.c:7464
+#: ../clutter/clutter-actor.c:7375
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Vai vertikālajai telpai jābūt piešķirtai izpildītājam"
 
-#: ../clutter/clutter-actor.c:7480
+#: ../clutter/clutter-actor.c:7391
 msgid "X Alignment"
 msgstr "X līdzinājums"
 
-#: ../clutter/clutter-actor.c:7481
+#: ../clutter/clutter-actor.c:7392
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Izpildītāja līdzinājums uz X ass savā piešķīrumā"
 
-#: ../clutter/clutter-actor.c:7496
+#: ../clutter/clutter-actor.c:7407
 msgid "Y Alignment"
 msgstr "Y līdzinājums"
 
-#: ../clutter/clutter-actor.c:7497
+#: ../clutter/clutter-actor.c:7408
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Izpildītāja līdzinājums uz Y ass savā piešķīrumā"
 
-#: ../clutter/clutter-actor.c:7516
+#: ../clutter/clutter-actor.c:7427
 msgid "Margin Top"
 msgstr "Mala augšpusē"
 
-#: ../clutter/clutter-actor.c:7517
+#: ../clutter/clutter-actor.c:7428
 msgid "Extra space at the top"
 msgstr "Papildu vieta augšpusē"
 
-#: ../clutter/clutter-actor.c:7538
+#: ../clutter/clutter-actor.c:7449
 msgid "Margin Bottom"
 msgstr "Mala apakšā"
 
-#: ../clutter/clutter-actor.c:7539
+#: ../clutter/clutter-actor.c:7450
 msgid "Extra space at the bottom"
 msgstr "Papildu vieta apakšpusē"
 
-#: ../clutter/clutter-actor.c:7560
+#: ../clutter/clutter-actor.c:7471
 msgid "Margin Left"
 msgstr "Mala pa kreisi"
 
-#: ../clutter/clutter-actor.c:7561
+#: ../clutter/clutter-actor.c:7472
 msgid "Extra space at the left"
 msgstr "Papildu vieta pa kreisi"
 
-#: ../clutter/clutter-actor.c:7582
+#: ../clutter/clutter-actor.c:7493
 msgid "Margin Right"
 msgstr "Mala pa labi"
 
-#: ../clutter/clutter-actor.c:7583
+#: ../clutter/clutter-actor.c:7494
 msgid "Extra space at the right"
 msgstr "Papildu vieta pa labi"
 
-#: ../clutter/clutter-actor.c:7599
+#: ../clutter/clutter-actor.c:7510
 msgid "Background Color Set"
 msgstr "Fona krāsas iestatījums"
 
-#: ../clutter/clutter-actor.c:7600 ../clutter/deprecated/clutter-box.c:271
+#: ../clutter/clutter-actor.c:7511 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Vai ir iestatīta fona krāsa"
 
-#: ../clutter/clutter-actor.c:7616
+#: ../clutter/clutter-actor.c:7527
 msgid "Background color"
 msgstr "Fona krāsa"
 
-#: ../clutter/clutter-actor.c:7617
+#: ../clutter/clutter-actor.c:7528
 msgid "The actor's background color"
 msgstr "Izpildītāja fona krāsa"
 
-#: ../clutter/clutter-actor.c:7632
+#: ../clutter/clutter-actor.c:7543
 msgid "First Child"
 msgstr "Pirmais bērns"
 
-#: ../clutter/clutter-actor.c:7633
+#: ../clutter/clutter-actor.c:7544
 msgid "The actor's first child"
 msgstr "Izpildītāja pirmais bērns"
 
-#: ../clutter/clutter-actor.c:7646
+#: ../clutter/clutter-actor.c:7557
 msgid "Last Child"
 msgstr "Pēdējais bērns"
 
-#: ../clutter/clutter-actor.c:7647
+#: ../clutter/clutter-actor.c:7558
 msgid "The actor's last child"
 msgstr "Izpildītāja pēdējais bērns"
 
-#: ../clutter/clutter-actor.c:7661
+#: ../clutter/clutter-actor.c:7572
 msgid "Content"
 msgstr "Saturs"
 
-#: ../clutter/clutter-actor.c:7662
+#: ../clutter/clutter-actor.c:7573
 msgid "Delegate object for painting the actor's content"
 msgstr "Deleģēt objektus izpildītāja satura krāsošanai"
 
-#: ../clutter/clutter-actor.c:7687
+#: ../clutter/clutter-actor.c:7598
 msgid "Content Gravity"
 msgstr "Satura svars"
 
-#: ../clutter/clutter-actor.c:7688
+#: ../clutter/clutter-actor.c:7599
 msgid "Alignment of the actor's content"
 msgstr "Izpildītāja satura līdzinājums"
 
-#: ../clutter/clutter-actor.c:7708
+#: ../clutter/clutter-actor.c:7619
 msgid "Content Box"
 msgstr "Satura kaste"
 
-#: ../clutter/clutter-actor.c:7709
+#: ../clutter/clutter-actor.c:7620
 msgid "The bounding box of the actor's content"
 msgstr "Izpildītāja satura ierobežojošā kaste"
 
-#: ../clutter/clutter-actor.c:7717
+#: ../clutter/clutter-actor.c:7628
 msgid "Minification Filter"
 msgstr "Samazinājuma filtrs"
 
-#: ../clutter/clutter-actor.c:7718
+#: ../clutter/clutter-actor.c:7629
 msgid "The filter used when reducing the size of the content"
 msgstr "Filtrs, ko izmantot, kad samazina satura izmēru"
 
-#: ../clutter/clutter-actor.c:7725
+#: ../clutter/clutter-actor.c:7636
 msgid "Magnification Filter"
 msgstr "Palielinājuma filtrs"
 
-#: ../clutter/clutter-actor.c:7726
+#: ../clutter/clutter-actor.c:7637
 msgid "The filter used when increasing the size of the content"
 msgstr "Filtrs, ko izmantot, kad palielina satura izmēru"
 
-#: ../clutter/clutter-actor.c:7740
+#: ../clutter/clutter-actor.c:7651
 msgid "Content Repeat"
 msgstr "Satura atkārtojums"
 
-#: ../clutter/clutter-actor.c:7741
+#: ../clutter/clutter-actor.c:7652
 msgid "The repeat policy for the actor's content"
 msgstr "Izpildītāja satura atkārtošanas politika"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Izpildītājs"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "Pie meta pievienotais izpildītājs"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "Šī meta nosaukums"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:326
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Aktivēts"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Vai meta ir aktivēts"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Avots"
@@ -729,11 +729,11 @@ msgstr "Koeficients"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Līdzināšanas koeficients, starp 0.0 un 1.0"
 
-#: ../clutter/clutter-backend.c:380
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Nevar inicializēt Clutter aizmuguri"
 
-#: ../clutter/clutter-backend.c:454
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "Aizmugure ar tipu '%s' neatbalsta vairāku skatuvju veidošanu"
@@ -764,49 +764,45 @@ msgstr "Nobīde pikseļos, ko pielietot saistījumiem"
 msgid "The unique name of the binding pool"
 msgstr "Unikāls nosaukums saistījumu pūls"
 
-#: ../clutter/clutter-bin-layout.c:238 ../clutter/clutter-bin-layout.c:651
-#: ../clutter/clutter-box-layout.c:388
-#: ../clutter/deprecated/clutter-table-layout.c:610
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Horizontālā līdzināšana"
 
-#: ../clutter/clutter-bin-layout.c:239
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "Horizontālais līdzinājums izpildītājam slāņu pārvaldniekā"
 
-#: ../clutter/clutter-bin-layout.c:247 ../clutter/clutter-bin-layout.c:671
-#: ../clutter/clutter-box-layout.c:397
-#: ../clutter/deprecated/clutter-table-layout.c:625
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Vertikālā līdzināšana"
 
-#: ../clutter/clutter-bin-layout.c:248
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "Vertikālais līdzinājums izpildītājam slāņu pārvaldniekā"
 
-#: ../clutter/clutter-bin-layout.c:652
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr "Noklusētais horizontālais līdzinājums izpildītājiem slāņu pārvaldniekā"
 
-#: ../clutter/clutter-bin-layout.c:672
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr "Noklusētais vertikālais līdzinājums izpildītājiem slāņu pārvaldniekā"
 
-#: ../clutter/clutter-box-layout.c:363
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Izvērst"
 
-#: ../clutter/clutter-box-layout.c:364
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Bērnam piešķirt papildu vietu"
 
-#: ../clutter/clutter-box-layout.c:370
-#: ../clutter/deprecated/clutter-table-layout.c:589
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Horizontālais aizpildījums"
 
-#: ../clutter/clutter-box-layout.c:371
-#: ../clutter/deprecated/clutter-table-layout.c:590
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -814,13 +810,11 @@ msgstr ""
 "Vai bērnam vajadzētu saņemt prioritāti, kad konteineris piešķir papildu "
 "vietu uz horizontālās ass"
 
-#: ../clutter/clutter-box-layout.c:379
-#: ../clutter/deprecated/clutter-table-layout.c:596
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Vertikālais aizpildījums"
 
-#: ../clutter/clutter-box-layout.c:380
-#: ../clutter/deprecated/clutter-table-layout.c:597
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -828,87 +822,79 @@ msgstr ""
 "Vai bērnam vajadzētu saņemt prioritāti, kad konteineris piešķir papildu "
 "vietu uz vertikālās ass"
 
-#: ../clutter/clutter-box-layout.c:389
-#: ../clutter/deprecated/clutter-table-layout.c:611
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Izpildītāja horizontālais līdzinājums šūnā"
 
-#: ../clutter/clutter-box-layout.c:398
-#: ../clutter/deprecated/clutter-table-layout.c:626
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Izpildītāja vertikālais līdzinājums šūnā"
 
-#: ../clutter/clutter-box-layout.c:1359
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Vertikāls"
 
-#: ../clutter/clutter-box-layout.c:1360
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Vai izkārtojumam jābūt drīzāk vertikālam, nevis horizontālam"
 
-#: ../clutter/clutter-box-layout.c:1377 ../clutter/clutter-flow-layout.c:942
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1547
 msgid "Orientation"
 msgstr "Virziens"
 
-#: ../clutter/clutter-box-layout.c:1378 ../clutter/clutter-flow-layout.c:943
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1548
 msgid "The orientation of the layout"
 msgstr "Izkārtojuma virziens"
 
-#: ../clutter/clutter-box-layout.c:1394 ../clutter/clutter-flow-layout.c:958
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Viendabīgs"
 
-#: ../clutter/clutter-box-layout.c:1395
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Vai izkārtojumam jābūt viendabīgam, tas ir, visiem bērniem ir vienāds izmērs"
 
-#: ../clutter/clutter-box-layout.c:1410
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Pakas sākums"
 
-#: ../clutter/clutter-box-layout.c:1411
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Vai pakot vienumus kastes sākumā"
 
-#: ../clutter/clutter-box-layout.c:1424
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Atstatums"
 
-#: ../clutter/clutter-box-layout.c:1425
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Atstarpes starp bērniem"
 
-#: ../clutter/clutter-box-layout.c:1442
-#: ../clutter/deprecated/clutter-table-layout.c:1677
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Lietot animācijas"
 
-#: ../clutter/clutter-box-layout.c:1443
-#: ../clutter/deprecated/clutter-table-layout.c:1678
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Vai vajadzētu animēt izkārtojuma izmaiņas"
 
-#: ../clutter/clutter-box-layout.c:1467
-#: ../clutter/deprecated/clutter-table-layout.c:1702
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Vienkāršošanas režīms"
 
-#: ../clutter/clutter-box-layout.c:1468
-#: ../clutter/deprecated/clutter-table-layout.c:1703
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "Animāciju vienkāršošanas režīms"
 
-#: ../clutter/clutter-box-layout.c:1488
-#: ../clutter/deprecated/clutter-table-layout.c:1723
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Vienkāršošanas ilgums"
 
-#: ../clutter/clutter-box-layout.c:1489
-#: ../clutter/deprecated/clutter-table-layout.c:1724
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "Animāciju ilgums"
 
@@ -928,34 +914,14 @@ msgstr "Kontrasts"
 msgid "The contrast change to apply"
 msgstr "Kontrasta izmaiņas, ko izmantot"
 
-#: ../clutter/clutter-canvas.c:248
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "Audekla platums"
 
-#: ../clutter/clutter-canvas.c:264
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "Audekla augstums"
 
-#: ../clutter/clutter-canvas.c:283
-#| msgid "Selection Color Set"
-msgid "Scale Factor Set"
-msgstr "Iestatīts mērogs"
-
-#: ../clutter/clutter-canvas.c:284
-#| msgid "Whether the transform property is set"
-msgid "Whether the scale-factor property is set"
-msgstr "Vai ir iestatīta mēroga īpašība"
-
-#: ../clutter/clutter-canvas.c:305
-#| msgid "Factor"
-msgid "Scale Factor"
-msgstr "Mērogs"
-
-#: ../clutter/clutter-canvas.c:306
-#| msgid "The height of the Cairo surface"
-msgid "The scaling factor for the surface"
-msgstr "Virsmas mērogs"
-
 #: ../clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "Konteineris"
@@ -968,39 +934,39 @@ msgstr "Konteineris, kas izveidoja šos datus"
 msgid "The actor wrapped by this data"
 msgstr "Izpildītājs, ko šie dati ietina"
 
-#: ../clutter/clutter-click-action.c:586
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Piespiests"
 
-#: ../clutter/clutter-click-action.c:587
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Vai klikšķināmajam būtu jābūt piespiestā stāvoklī"
 
-#: ../clutter/clutter-click-action.c:600
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
 msgstr "Turēts"
 
-#: ../clutter/clutter-click-action.c:601
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Vai klikšķināmajam ir satvēriens"
 
-#: ../clutter/clutter-click-action.c:618 ../clutter/clutter-settings.c:653
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Ilgās piespiešanas ilgums"
 
-#: ../clutter/clutter-click-action.c:619
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "Ilgās piespiešanas ilgums, līdz to atpazīst kā mājienu"
 
-#: ../clutter/clutter-click-action.c:637
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Ilgās piespiešanas slieksnis"
 
-#: ../clutter/clutter-click-action.c:638
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "Maksimālais slieksnis, pirms ilgā piespiešana tiek atcelta"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Norāda izpildītāju, ko klonēt"
 
@@ -1012,27 +978,27 @@ msgstr "Tonis"
 msgid "The tint to apply"
 msgstr "Tonis, ko izmantot"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Horizontālās flīzes"
 
-#: ../clutter/clutter-deform-effect.c:593
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Horizontālo flīžu skaits"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Vertikālas flīzes"
 
-#: ../clutter/clutter-deform-effect.c:609
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Vertikālo flīžu skaits"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Melns materiāls"
 
-#: ../clutter/clutter-deform-effect.c:627
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Materiāls, kuru izmantot izpildītāja aizmugures drukāšanai"
 
@@ -1040,299 +1006,258 @@ msgstr "Materiāls, kuru izmantot izpildītāja aizmugures drukāšanai"
 msgid "The desaturation factor"
 msgstr "Piesātinājuma mazinājuma koeficients"
 
-#: ../clutter/clutter-device-manager.c:127
-#: ../clutter/clutter-input-device.c:355
-#: ../clutter/x11/clutter-keymap-x11.c:457
+#: ../clutter/clutter-device-manager.c:131
+#: ../clutter/clutter-input-device.c:366
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Aizmugure"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "ClutterBackend ierīces pārvaldnieks"
 
-#: ../clutter/clutter-drag-action.c:741
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Horizontālās vilkšanas aizture"
 
-#: ../clutter/clutter-drag-action.c:742
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "Horizontālais pikseļu skaits, lai sāktu vilkšanu"
 
-#: ../clutter/clutter-drag-action.c:769
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Vertikālās vilkšanas aizture"
 
-#: ../clutter/clutter-drag-action.c:770
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Vertikālais pikseļu skaits, lai sāktu vilkšanu"
 
-#: ../clutter/clutter-drag-action.c:791
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Vilkt turi"
 
-#: ../clutter/clutter-drag-action.c:792
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "Izpildītājs, kas tiek vilkts"
 
-#: ../clutter/clutter-drag-action.c:805
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Vilkt asi"
 
-#: ../clutter/clutter-drag-action.c:806
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Ierobežo vilkšanu pie ass"
 
-#: ../clutter/clutter-drag-action.c:822
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Vilkt laukumu"
 
-#: ../clutter/clutter-drag-action.c:823
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Ierobežo taisnstūra vilkšanu"
 
-#: ../clutter/clutter-drag-action.c:836
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Vilkšanas laukums iestatīts"
 
-#: ../clutter/clutter-drag-action.c:837
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Vai ir iestatīts vilkšanas laukums"
 
-#: ../clutter/clutter-flow-layout.c:959
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Vai katram vienumam vajadzēt saņemt to pašu piešķīrumu"
 
-#: ../clutter/clutter-flow-layout.c:974
-#: ../clutter/deprecated/clutter-table-layout.c:1637
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Kolonnu atstarpe"
 
-#: ../clutter/clutter-flow-layout.c:975
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Atstarpe starp kolonnām"
 
-#: ../clutter/clutter-flow-layout.c:991
-#: ../clutter/deprecated/clutter-table-layout.c:1653
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Rindu atstarpe"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Atstarpe starp rindām"
 
-#: ../clutter/clutter-flow-layout.c:1006
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Minimālais kolonnas platums"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Minimālais platums katrai kolonnai"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Maksimālais kolonnas platums"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Maksimālais platums katrai kolonnai"
 
-#: ../clutter/clutter-flow-layout.c:1037
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Minimālais rindas augstums"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Minimālais augstums katrai rindai"
 
-#: ../clutter/clutter-flow-layout.c:1053
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Maksimālais rindas augstums"
 
-#: ../clutter/clutter-flow-layout.c:1054
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Maksimālais augstums katrai rindai"
 
-#: ../clutter/clutter-flow-layout.c:1069 ../clutter/clutter-flow-layout.c:1070
-msgid "Snap to grid"
-msgstr "Pievilkt pie režģa"
-
-#: ../clutter/clutter-gesture-action.c:668
-msgid "Number touch points"
-msgstr "Skārienu punktu skaits"
-
-#: ../clutter/clutter-gesture-action.c:669
-msgid "Number of touch points"
-msgstr "Skārienu punktu skaits"
-
-#: ../clutter/clutter-gesture-action.c:684
-msgid "Threshold Trigger Edge"
-msgstr "Trigera malas slieksnis"
-
-#: ../clutter/clutter-gesture-action.c:685
-#| msgid "The timeline used by the animation"
-msgid "The trigger edge used by the action"
-msgstr "Trigera mala, ko izmantot šai darbībai"
-
-#: ../clutter/clutter-gesture-action.c:704
-msgid "Threshold Trigger Horizontal Distance"
-msgstr "Trigera malas horizontālais attālums"
-
-#: ../clutter/clutter-gesture-action.c:705
-#| msgid "The timeline used by the animation"
-msgid "The horizontal trigger distance used by the action"
-msgstr "Horizontālā trigera attālums, ko izmanto darbība"
-
-#: ../clutter/clutter-gesture-action.c:723
-msgid "Threshold Trigger Vertical Distance"
-msgstr "Trigera malas vertikālais attālums"
-
-#: ../clutter/clutter-gesture-action.c:724
-#| msgid "The timeline used by the animation"
-msgid "The vertical trigger distance used by the action"
-msgstr "Vertikālais trigera attālums, ko izmanto darbība"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Kreisā piesaistne"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr "Kolonnas numurs, ko piesaistīt bērnam kreisajā pusē"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Augšas piesaistne"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr "Rindas numurs, ko piesaistīt bērna augšas logdaļai"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "Kolonnu skaits, ko bērns izvērš"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "Rindu skaits, ko bērns izvērš"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1562
 msgid "Row spacing"
 msgstr "Rindu atstarpe"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1563
 msgid "The amount of space between two consecutive rows"
 msgstr "Atstarpe starp divām secīgām rindām"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1576
 msgid "Column spacing"
 msgstr "Kolonnu atstarpe"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1577
 msgid "The amount of space between two consecutive columns"
 msgstr "Atstarpe starp divām secīgām kolonnām"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1591
 msgid "Row Homogeneous"
 msgstr "Rindu viendabīgums"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1592
 msgid "If TRUE, the rows are all the same height"
 msgstr "Ja PATIESS, visas rindas ir ar vienādu augstumu"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1605
 msgid "Column Homogeneous"
 msgstr "Kolonnu viendabīgums"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1606
 msgid "If TRUE, the columns are all the same width"
 msgstr "Ja PATIESS, visas kolonnas ir ar vienādu platumu"
 
-#: ../clutter/clutter-image.c:249 ../clutter/clutter-image.c:312
-#: ../clutter/clutter-image.c:400
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Neizdevās ielādēt attēla datus"
 
-#: ../clutter/clutter-input-device.c:231
+#: ../clutter/clutter-input-device.c:242
 msgid "Id"
 msgstr "ID"
 
-#: ../clutter/clutter-input-device.c:232
+#: ../clutter/clutter-input-device.c:243
 msgid "Unique identifier of the device"
 msgstr "Unikāls ierīces identifikators"
 
-#: ../clutter/clutter-input-device.c:248
+#: ../clutter/clutter-input-device.c:259
 msgid "The name of the device"
 msgstr "Ierīces nosaukums"
 
-#: ../clutter/clutter-input-device.c:262
+#: ../clutter/clutter-input-device.c:273
 msgid "Device Type"
 msgstr "Ierīces tips"
 
-#: ../clutter/clutter-input-device.c:263
+#: ../clutter/clutter-input-device.c:274
 msgid "The type of the device"
 msgstr "Ierīces tips"
 
-#: ../clutter/clutter-input-device.c:278
+#: ../clutter/clutter-input-device.c:289
 msgid "Device Manager"
 msgstr "Ierīču pārvaldnieks"
 
-#: ../clutter/clutter-input-device.c:279
+#: ../clutter/clutter-input-device.c:290
 msgid "The device manager instance"
 msgstr "Ierīces pārvaldnieka instance"
 
-#: ../clutter/clutter-input-device.c:292
+#: ../clutter/clutter-input-device.c:303
 msgid "Device Mode"
 msgstr "Ierīces režīms"
 
-#: ../clutter/clutter-input-device.c:293
+#: ../clutter/clutter-input-device.c:304
 msgid "The mode of the device"
 msgstr "Ierīces režīms"
 
-#: ../clutter/clutter-input-device.c:307
+#: ../clutter/clutter-input-device.c:318
 msgid "Has Cursor"
 msgstr "Ir kursors"
 
-#: ../clutter/clutter-input-device.c:308
+#: ../clutter/clutter-input-device.c:319
 msgid "Whether the device has a cursor"
 msgstr "Vai ierīcei ir kursors"
 
-#: ../clutter/clutter-input-device.c:327
+#: ../clutter/clutter-input-device.c:338
 msgid "Whether the device is enabled"
 msgstr "Vai ierīce ir aktivēta"
 
-#: ../clutter/clutter-input-device.c:340
+#: ../clutter/clutter-input-device.c:351
 msgid "Number of Axes"
 msgstr "Asu skaits"
 
-#: ../clutter/clutter-input-device.c:341
+#: ../clutter/clutter-input-device.c:352
 msgid "The number of axes on the device"
 msgstr "Asu skaits ierīcē"
 
-#: ../clutter/clutter-input-device.c:356
+#: ../clutter/clutter-input-device.c:367
 msgid "The backend instance"
 msgstr "Aizmugures instance"
 
-#: ../clutter/clutter-interval.c:553
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Vērtības tips"
 
-#: ../clutter/clutter-interval.c:554
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Vērtību tipi intervālā"
 
-#: ../clutter/clutter-interval.c:569
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Sākotnējā vērtība"
 
-#: ../clutter/clutter-interval.c:570
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Intervāla sākotnējā vērtība"
 
-#: ../clutter/clutter-interval.c:584
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Beigu vērība"
 
-#: ../clutter/clutter-interval.c:585
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Intervāla beigu vērtība"
 
@@ -1351,96 +1276,96 @@ msgstr "Pārvaldnieks, kas ir izveidojis šos datus"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:762
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1622
+#: ../clutter/clutter-main.c:1636
 msgid "Show frames per second"
 msgstr "Rādīt kadrus sekundē"
 
-#: ../clutter/clutter-main.c:1624
+#: ../clutter/clutter-main.c:1638
 msgid "Default frame rate"
 msgstr "Noklusētais kadru ātrums"
 
-#: ../clutter/clutter-main.c:1626
+#: ../clutter/clutter-main.c:1640
 msgid "Make all warnings fatal"
 msgstr "Atzīmēt visus brīdinājumus kā fatālus"
 
-#: ../clutter/clutter-main.c:1629
+#: ../clutter/clutter-main.c:1643
 msgid "Direction for the text"
 msgstr "Teksta virziens"
 
-#: ../clutter/clutter-main.c:1632
+#: ../clutter/clutter-main.c:1646
 msgid "Disable mipmapping on text"
 msgstr "Deaktivēt mip-kartēšanu uz teksta"
 
-#: ../clutter/clutter-main.c:1635
+#: ../clutter/clutter-main.c:1649
 msgid "Use 'fuzzy' picking"
 msgstr "Lietot 'aptuveno' izvēli"
 
-#: ../clutter/clutter-main.c:1638
+#: ../clutter/clutter-main.c:1652
 msgid "Clutter debugging flags to set"
 msgstr "Iestatāmie Clutter atkļūdošanas karodziņi"
 
-#: ../clutter/clutter-main.c:1640
+#: ../clutter/clutter-main.c:1654
 msgid "Clutter debugging flags to unset"
 msgstr "Noņemamie Clutter atkļūdošanas karodziņi"
 
-#: ../clutter/clutter-main.c:1644
+#: ../clutter/clutter-main.c:1658
 msgid "Clutter profiling flags to set"
 msgstr "Iestatāmie Clutter profilēšanas karodziņi"
 
-#: ../clutter/clutter-main.c:1646
+#: ../clutter/clutter-main.c:1660
 msgid "Clutter profiling flags to unset"
 msgstr "Noņemamie Clutter profilēšanas karodziņi"
 
-#: ../clutter/clutter-main.c:1649
+#: ../clutter/clutter-main.c:1663
 msgid "Enable accessibility"
 msgstr "Ieslēgt pieejamību"
 
-#: ../clutter/clutter-main.c:1841
+#: ../clutter/clutter-main.c:1855
 msgid "Clutter Options"
 msgstr "Clutter opcijas"
 
-#: ../clutter/clutter-main.c:1842
+#: ../clutter/clutter-main.c:1856
 msgid "Show Clutter Options"
 msgstr "Rādīt Clutter opcijas"
 
-#: ../clutter/clutter-pan-action.c:455
+#: ../clutter/clutter-pan-action.c:451
 msgid "Pan Axis"
 msgstr "Panoramēšanas ass"
 
-#: ../clutter/clutter-pan-action.c:456
+#: ../clutter/clutter-pan-action.c:452
 msgid "Constraints the panning to an axis"
 msgstr "Ierobežo panoramēšanu pie ass"
 
-#: ../clutter/clutter-pan-action.c:470
+#: ../clutter/clutter-pan-action.c:466
 msgid "Interpolate"
 msgstr "Interpolēt"
 
-#: ../clutter/clutter-pan-action.c:471
+#: ../clutter/clutter-pan-action.c:467
 msgid "Whether interpolated events emission is enabled."
 msgstr "Vai ir aktivēta notikumu izlaišanas interpolācija"
 
-#: ../clutter/clutter-pan-action.c:487
+#: ../clutter/clutter-pan-action.c:483
 msgid "Deceleration"
 msgstr "Deklarācija"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:484
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Ātrums, ar kādu interpolētā panoramēšana deklarēs"
 
-#: ../clutter/clutter-pan-action.c:505
+#: ../clutter/clutter-pan-action.c:501
 msgid "Initial acceleration factor"
 msgstr "Sākotnējais paātrinājuma koeficients"
 
-#: ../clutter/clutter-pan-action.c:506
+#: ../clutter/clutter-pan-action.c:502
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Koeficients, kas pielikts momentam, kad sākas interpolētā fāze"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Ceļš"
 
@@ -1452,87 +1377,87 @@ msgstr "Ceļš, ko izmantot izpildītāja ierobežošanai"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "Nobīde gar ceļu, starp -1.0 un 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Īpašības nosaukums"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Īpašības, kuru animēt, nosaukums"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Datnes nosaukums iestatīts"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Vai :filename īpašība tiek iestatīta"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Datnes nosaukums"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Pašlaik parsētās datnes ceļš"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Tulkošanas domēns"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Tulkošanas domēns, kuru izmanto virknes lokalizēšanai"
 
-#: ../clutter/clutter-scroll-actor.c:189
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Ritināšanas režīms"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Ritināšanas virziens"
 
-#: ../clutter/clutter-settings.c:486
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Dubultklikšķa laiks"
 
-#: ../clutter/clutter-settings.c:487
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr ""
 "Laiks starp klikšķiem, kas nepieciešams, lai noteiktu vairākus klikšķus"
 
-#: ../clutter/clutter-settings.c:502
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Dubultklikšķa attālums"
 
-#: ../clutter/clutter-settings.c:503
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "Attālums starp klikšķiem, kas nepieciešams, lai noteiktu vairākus klikšķus"
 
-#: ../clutter/clutter-settings.c:518
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Vilkšanas slieksnis"
 
-#: ../clutter/clutter-settings.c:519
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "Attālums, kas jāveic kursoram, pirms sākt vilkt"
 
-#: ../clutter/clutter-settings.c:534 ../clutter/clutter-text.c:3437
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3368
 msgid "Font Name"
 msgstr "Fonta nosaukums"
 
-#: ../clutter/clutter-settings.c:535
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr "Noklusētā fonta apraksts, kādu var parsēt Pango"
 
-#: ../clutter/clutter-settings.c:550
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Fonta nogludināšana"
 
-#: ../clutter/clutter-settings.c:551
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1540,78 +1465,69 @@ msgstr ""
 "Vai lietot nogludināšanu (1, lai aktivētu; 0, lai deaktivētu; -1, lai "
 "izmantotu noklusēto)"
 
-#: ../clutter/clutter-settings.c:567 ../clutter/clutter-settings.c:575
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "Fonta DPI"
 
-#: ../clutter/clutter-settings.c:568 ../clutter/clutter-settings.c:576
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "Fonta izšķirtspēja, izteikta 1024 * punkti/colla, vai -1, lai izmantotu "
 "noklusēto"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Fonta norādīšana"
 
-#: ../clutter/clutter-settings.c:593
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Vai lietot norādīšanu (1, lai aktivētu; 0, lai deaktivētu; -1, lai izmantotu "
 "noklusēto)"
 
-#: ../clutter/clutter-settings.c:614
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Datnes norādīšanas stils"
 
-#: ../clutter/clutter-settings.c:615
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Norādīšanas stils (hintnone, hintslight, hintmedium, hintfull)"
 
-#: ../clutter/clutter-settings.c:636
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Fonta apakšpikseļu secība"
 
-#: ../clutter/clutter-settings.c:637
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Apakšpikseļu gludināšanas tips (nekāds, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:654
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "Minimālais ilgums, līdz tiek atpazīts ilgās piespiešanas žests"
 
-#: ../clutter/clutter-settings.c:661
-msgid "Window Scaling Factor"
-msgstr "Loga mērogs"
-
-#: ../clutter/clutter-settings.c:662
-#| msgid "Add an effect to be applied on the actor"
-msgid "The scaling factor to be applied to windows"
-msgstr "Loga mērogs, ko izmanto logiem"
-
-#: ../clutter/clutter-settings.c:669
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Fontconfig konfigurācijas laika spiedogs"
 
-#: ../clutter/clutter-settings.c:670
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Pašreizējās fontconfig konfigurācijas laika spiedogs"
 
-#: ../clutter/clutter-settings.c:687
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Paroles padoma laiks"
 
-#: ../clutter/clutter-settings.c:688
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr "Cik ilgi rādīt ievades rakstzīmes slēptajās ievadēs"
 
-#: ../clutter/clutter-shader-effect.c:485
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Ēnotāja tips"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "Izmantojamā ēnotāja tips"
 
@@ -1639,702 +1555,758 @@ msgstr "Avota mala, kas būtu jāpievelk"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Nobīde pikseļos, ko pielietot konstante"
 
-#: ../clutter/clutter-stage.c:1899
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "Pilnekrāna iestatījums"
 
-#: ../clutter/clutter-stage.c:1900
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Vai galvenajai skatuvei ir jābūt pilnekrāna"
 
-#: ../clutter/clutter-stage.c:1914
+#: ../clutter/clutter-stage.c:1910
 msgid "Offscreen"
 msgstr "Ārpus ekrāna"
 
-#: ../clutter/clutter-stage.c:1915
+#: ../clutter/clutter-stage.c:1911
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Vai galvenajai skatuvei ir jābūt renderētai ārpus ekrāna"
 
-#: ../clutter/clutter-stage.c:1927 ../clutter/clutter-text.c:3551
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3482
 msgid "Cursor Visible"
 msgstr "Kursora redzamība"
 
-#: ../clutter/clutter-stage.c:1928
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Vai peles rādītājam ir jābūt redzamam galvenajā skatuvē"
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Lietotājs var mainīt izmēru"
 
-#: ../clutter/clutter-stage.c:1943
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Vai lietotāja mijiedarbība var mainīt skatuves izmēru"
 
-#: ../clutter/clutter-stage.c:1958 ../clutter/deprecated/clutter-box.c:256
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Krāsa"
 
-#: ../clutter/clutter-stage.c:1959
+#: ../clutter/clutter-stage.c:1955
 msgid "The color of the stage"
 msgstr "Skatuves krāsa"
 
-#: ../clutter/clutter-stage.c:1974
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Perspektīva"
 
-#: ../clutter/clutter-stage.c:1975
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Perspektīvas projekcijas parametri"
 
-#: ../clutter/clutter-stage.c:1990
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Nosaukums"
 
-#: ../clutter/clutter-stage.c:1991
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Skatuves nosaukums"
 
-#: ../clutter/clutter-stage.c:2008
+#: ../clutter/clutter-stage.c:2004
 msgid "Use Fog"
 msgstr "Lietot miglu"
 
-#: ../clutter/clutter-stage.c:2009
+#: ../clutter/clutter-stage.c:2005
 msgid "Whether to enable depth cueing"
 msgstr "Vai aktivēt dziļuma norādīšanu"
 
-#: ../clutter/clutter-stage.c:2025
+#: ../clutter/clutter-stage.c:2021
 msgid "Fog"
 msgstr "Migla"
 
-#: ../clutter/clutter-stage.c:2026
+#: ../clutter/clutter-stage.c:2022
 msgid "Settings for the depth cueing"
 msgstr "Iestatījumi dziļuma norādīšanai"
 
-#: ../clutter/clutter-stage.c:2042
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Lietot alfa"
 
-#: ../clutter/clutter-stage.c:2043
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Vai ņemt vērā skatuves krāsas alfa komponenti"
 
-#: ../clutter/clutter-stage.c:2059
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Atslēgas fokuss"
 
-#: ../clutter/clutter-stage.c:2060
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "Pašreizējais atslēgas fokusētais izpildītājs"
 
-#: ../clutter/clutter-stage.c:2076
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Nav attīrīšanas norādes"
 
-#: ../clutter/clutter-stage.c:2077
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Vai skatuvei vajadzētu attīrīt savu saturu"
 
-#: ../clutter/clutter-stage.c:2090
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Pieņemt fokusu"
 
-#: ../clutter/clutter-stage.c:2091
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Vai skatuvei šovā vajadzētu pieņemt fokusu"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3472
+#: ../clutter/clutter-table-layout.c:543
+msgid "Column Number"
+msgstr "Kolonnas numurs"
+
+#: ../clutter/clutter-table-layout.c:544
+msgid "The column the widget resides in"
+msgstr "Kolonna, kurā atrodas logdaļa"
+
+#: ../clutter/clutter-table-layout.c:551
+msgid "Row Number"
+msgstr "Rindas numurs"
+
+#: ../clutter/clutter-table-layout.c:552
+msgid "The row the widget resides in"
+msgstr "Rinda, kurā atrodas logdaļa"
+
+#: ../clutter/clutter-table-layout.c:559
+msgid "Column Span"
+msgstr "Kolonnu apvienojums"
+
+#: ../clutter/clutter-table-layout.c:560
+msgid "The number of columns the widget should span"
+msgstr "Kolonnu skaits, ko logdaļai apvienot"
+
+#: ../clutter/clutter-table-layout.c:567
+msgid "Row Span"
+msgstr "Rindu apvienojums"
+
+#: ../clutter/clutter-table-layout.c:568
+msgid "The number of rows the widget should span"
+msgstr "Rindu skaits, ko logdaļai apvienot"
+
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Horizontāli izvērsts"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Bērnam piešķirt papildu vietu uz horizontālās ass"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Vertikāli izvērsts"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Bērnam piešķirt papildu vietu uz vertikālās ass"
+
+#: ../clutter/clutter-table-layout.c:1638
+msgid "Spacing between columns"
+msgstr "Atstarpe starp kolonnām"
+
+#: ../clutter/clutter-table-layout.c:1652
+msgid "Spacing between rows"
+msgstr "Atstarpe starp rindām"
+
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3403
 msgid "Text"
 msgstr "Teksts"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Bufera saturs"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Teksta garums"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Garums tekstam, kas pašlaik ir buferī"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Maksimālais garums"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Maksimālais rakstzīmju daudzums šim ierakstam. Nulle, ja nav maksimuma"
 
-#: ../clutter/clutter-text.c:3419
+#: ../clutter/clutter-text.c:3350
 msgid "Buffer"
 msgstr "Buferis"
 
-#: ../clutter/clutter-text.c:3420
+#: ../clutter/clutter-text.c:3351
 msgid "The buffer for the text"
 msgstr "Buferis tekstam"
 
-#: ../clutter/clutter-text.c:3438
+#: ../clutter/clutter-text.c:3369
 msgid "The font to be used by the text"
 msgstr "Fonts, kuru izmantot tekstam"
 
-#: ../clutter/clutter-text.c:3455
+#: ../clutter/clutter-text.c:3386
 msgid "Font Description"
 msgstr "Fonta apraksts"
 
-#: ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-text.c:3387
 msgid "The font description to be used"
 msgstr "Izmantojamais fonta apraksts"
 
-#: ../clutter/clutter-text.c:3473
+#: ../clutter/clutter-text.c:3404
 msgid "The text to render"
 msgstr "Teksts renderēšanai"
 
-#: ../clutter/clutter-text.c:3487
+#: ../clutter/clutter-text.c:3418
 msgid "Font Color"
 msgstr "Fonta krāsa"
 
-#: ../clutter/clutter-text.c:3488
+#: ../clutter/clutter-text.c:3419
 msgid "Color of the font used by the text"
 msgstr "Krāsa fontam, kuru izmantot tekstam"
 
-#: ../clutter/clutter-text.c:3503
+#: ../clutter/clutter-text.c:3434
 msgid "Editable"
 msgstr "Rediģējams"
 
-#: ../clutter/clutter-text.c:3504
+#: ../clutter/clutter-text.c:3435
 msgid "Whether the text is editable"
 msgstr "Vai teksts ir rediģējams"
 
-#: ../clutter/clutter-text.c:3519
+#: ../clutter/clutter-text.c:3450
 msgid "Selectable"
 msgstr "Izvēlams"
 
-#: ../clutter/clutter-text.c:3520
+#: ../clutter/clutter-text.c:3451
 msgid "Whether the text is selectable"
 msgstr "Vai tekstu var izvēlēties"
 
-#: ../clutter/clutter-text.c:3534
+#: ../clutter/clutter-text.c:3465
 msgid "Activatable"
 msgstr "Aktivizējams"
 
-#: ../clutter/clutter-text.c:3535
+#: ../clutter/clutter-text.c:3466
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Vai “Enter” piespiešana liek raidīt aktivizēšanas signālu"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3483
 msgid "Whether the input cursor is visible"
 msgstr "Vai ir redzams ievades kursors"
 
-#: ../clutter/clutter-text.c:3566 ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3497 ../clutter/clutter-text.c:3498
 msgid "Cursor Color"
 msgstr "Kursora krāsa"
 
-#: ../clutter/clutter-text.c:3582
+#: ../clutter/clutter-text.c:3513
 msgid "Cursor Color Set"
 msgstr "Kursora krāsa iestatīta"
 
-#: ../clutter/clutter-text.c:3583
+#: ../clutter/clutter-text.c:3514
 msgid "Whether the cursor color has been set"
 msgstr "Vai kursora krāsa ir iestatīta"
 
-#: ../clutter/clutter-text.c:3598
+#: ../clutter/clutter-text.c:3529
 msgid "Cursor Size"
 msgstr "Kursora izmērs"
 
-#: ../clutter/clutter-text.c:3599
+#: ../clutter/clutter-text.c:3530
 msgid "The width of the cursor, in pixels"
 msgstr "Kursora platums, pikseļos"
 
-#: ../clutter/clutter-text.c:3615 ../clutter/clutter-text.c:3633
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "Cursor Position"
 msgstr "Kursora pozīcija"
 
-#: ../clutter/clutter-text.c:3616 ../clutter/clutter-text.c:3634
+#: ../clutter/clutter-text.c:3547 ../clutter/clutter-text.c:3565
 msgid "The cursor position"
 msgstr "Kursora novietojums"
 
-#: ../clutter/clutter-text.c:3649
+#: ../clutter/clutter-text.c:3580
 msgid "Selection-bound"
 msgstr "Izvēles ierobežojums"
 
-#: ../clutter/clutter-text.c:3650
+#: ../clutter/clutter-text.c:3581
 msgid "The cursor position of the other end of the selection"
 msgstr "Kursora pozīcija otrā izvēles galā"
 
-#: ../clutter/clutter-text.c:3665 ../clutter/clutter-text.c:3666
+#: ../clutter/clutter-text.c:3596 ../clutter/clutter-text.c:3597
 msgid "Selection Color"
 msgstr "Izvēles krāsa"
 
-#: ../clutter/clutter-text.c:3681
+#: ../clutter/clutter-text.c:3612
 msgid "Selection Color Set"
 msgstr "Izvēles krāsa iestatīta"
 
-#: ../clutter/clutter-text.c:3682
+#: ../clutter/clutter-text.c:3613
 msgid "Whether the selection color has been set"
 msgstr "Vai izvēles krāsa ir iestatīta"
 
-#: ../clutter/clutter-text.c:3697
+#: ../clutter/clutter-text.c:3628
 msgid "Attributes"
 msgstr "Atribūti"
 
-#: ../clutter/clutter-text.c:3698
+#: ../clutter/clutter-text.c:3629
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Stila atribūtu saraksts, kuru pielietot izpildītāja saturam"
 
-#: ../clutter/clutter-text.c:3720
+#: ../clutter/clutter-text.c:3651
 msgid "Use markup"
 msgstr "Lietot marķējumu"
 
-#: ../clutter/clutter-text.c:3721
+#: ../clutter/clutter-text.c:3652
 msgid "Whether or not the text includes Pango markup"
 msgstr "Vai tekstam jāiekļauj Pango marķējums"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3668
 msgid "Line wrap"
 msgstr "Rindiņu aplaušana"
 
-#: ../clutter/clutter-text.c:3738
+#: ../clutter/clutter-text.c:3669
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Ja iestatīts, aplauzt rindas, ja teksts kļūst pārāk plašs"
 
-#: ../clutter/clutter-text.c:3753
+#: ../clutter/clutter-text.c:3684
 msgid "Line wrap mode"
 msgstr "Rindiņu aplaušanas režīms"
 
-#: ../clutter/clutter-text.c:3754
+#: ../clutter/clutter-text.c:3685
 msgid "Control how line-wrapping is done"
 msgstr "Kontrolēt, kā notiek rindiņu aplaušana"
 
-#: ../clutter/clutter-text.c:3769
+#: ../clutter/clutter-text.c:3700
 msgid "Ellipsize"
 msgstr "Īsināt ar daudzpunkti"
 
-#: ../clutter/clutter-text.c:3770
+#: ../clutter/clutter-text.c:3701
 msgid "The preferred place to ellipsize the string"
 msgstr "Vēlamā vieta, kur virkni īsināt ar daudzpunkti"
 
-#: ../clutter/clutter-text.c:3786
+#: ../clutter/clutter-text.c:3717
 msgid "Line Alignment"
 msgstr "Rindu līdzināšana"
 
-#: ../clutter/clutter-text.c:3787
+#: ../clutter/clutter-text.c:3718
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Vēlamais virknes līdzinājums vairāku rindiņu tekstam"
 
-#: ../clutter/clutter-text.c:3803
+#: ../clutter/clutter-text.c:3734
 msgid "Justify"
 msgstr "Izlīdzināt"
 
-#: ../clutter/clutter-text.c:3804
+#: ../clutter/clutter-text.c:3735
 msgid "Whether the text should be justified"
 msgstr "Vai teksts būtu jāizlīdzina"
 
-#: ../clutter/clutter-text.c:3819
+#: ../clutter/clutter-text.c:3750
 msgid "Password Character"
 msgstr "Paroles rakstzīme"
 
-#: ../clutter/clutter-text.c:3820
+#: ../clutter/clutter-text.c:3751
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr "Ja nav nulle, lietot šo rakstzīmi, lai attēlotu izpildītāja saturu"
 
-#: ../clutter/clutter-text.c:3834
+#: ../clutter/clutter-text.c:3765
 msgid "Max Length"
 msgstr "Maks. garums"
 
-#: ../clutter/clutter-text.c:3835
+#: ../clutter/clutter-text.c:3766
 msgid "Maximum length of the text inside the actor"
 msgstr "Maksimālais teksta garums izpildītājā"
 
-#: ../clutter/clutter-text.c:3858
+#: ../clutter/clutter-text.c:3789
 msgid "Single Line Mode"
 msgstr "Vienas rindas režīms"
 
-#: ../clutter/clutter-text.c:3859
+#: ../clutter/clutter-text.c:3790
 msgid "Whether the text should be a single line"
 msgstr "Vai tekstam jābūt vienā rindiņā"
 
-#: ../clutter/clutter-text.c:3873 ../clutter/clutter-text.c:3874
+#: ../clutter/clutter-text.c:3804 ../clutter/clutter-text.c:3805
 msgid "Selected Text Color"
 msgstr "Izvēlētā teksta krāsa"
 
-#: ../clutter/clutter-text.c:3889
+#: ../clutter/clutter-text.c:3820
 msgid "Selected Text Color Set"
 msgstr "Izvēlētā teksta krāsa iestatīta"
 
-#: ../clutter/clutter-text.c:3890
+#: ../clutter/clutter-text.c:3821
 msgid "Whether the selected text color has been set"
 msgstr "Vai izvēlētā teksta krāsa ir iestatīta"
 
-#: ../clutter/clutter-timeline.c:593
-#: ../clutter/deprecated/clutter-animation.c:557
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Cikls"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Vai automātiski jāpārstartē laika skalas"
 
-#: ../clutter/clutter-timeline.c:608
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Aizture"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Aizture pirms sākt"
 
-#: ../clutter/clutter-timeline.c:624
-#: ../clutter/deprecated/clutter-animation.c:541
-#: ../clutter/deprecated/clutter-animator.c:1801
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1803
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1517
+#: ../clutter/deprecated/clutter-state.c:1522
 msgid "Duration"
 msgstr "Ilgums"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Laika skalas ilgums milisekundēs"
 
-#: ../clutter/clutter-timeline.c:640
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Virziens"
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Laika skalas virziens"
 
-#: ../clutter/clutter-timeline.c:656
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Autom. apgriezt"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Vai virziens būtu jāapgriež, kas sasniedz beigas"
 
-#: ../clutter/clutter-timeline.c:675
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Atkārtot skaitu"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Cik reizes vajadzētu atkārtot laika skalu"
 
-#: ../clutter/clutter-timeline.c:690
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Progresa režīms"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Kā laika skalai vajadzētu aprēķināt progresu"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Intervāls"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "Intervāls vērtībai uz pāreju"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Animējams"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "Animējams objekts"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Pie izpildes izņemt"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Kad pabeigts, atvienot pāreju"
 
-#: ../clutter/clutter-zoom-action.c:365
+#: ../clutter/clutter-zoom-action.c:353
 msgid "Zoom Axis"
 msgstr "Mēroga ass"
 
-#: ../clutter/clutter-zoom-action.c:366
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Constraints the zoom to an axis"
 msgstr "Ierobežo mērogu pie ass"
 
-#: ../clutter/deprecated/clutter-alpha.c:354
-#: ../clutter/deprecated/clutter-animation.c:572
-#: ../clutter/deprecated/clutter-animator.c:1818
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1820
 msgid "Timeline"
 msgstr "Laika skala"
 
-#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "Laika skala, ko izmanto alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:371
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Alfa vērtība"
 
-#: ../clutter/deprecated/clutter-alpha.c:372
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "Alfa vērtība, kādu izskaitļo alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:393
-#: ../clutter/deprecated/clutter-animation.c:525
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Režīms"
 
-#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Progresa režīms"
 
-#: ../clutter/deprecated/clutter-animation.c:508
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Objekts"
 
-#: ../clutter/deprecated/clutter-animation.c:509
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "Objekts, uz ko attiecināma animācija"
 
-#: ../clutter/deprecated/clutter-animation.c:526
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "Animācijas režīms"
 
-#: ../clutter/deprecated/clutter-animation.c:542
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "Animācijas ilgums milisekundēs"
 
-#: ../clutter/deprecated/clutter-animation.c:558
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Vai animācijai jāciklojas"
 
-#: ../clutter/deprecated/clutter-animation.c:573
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "Laika skala, ko izmanto animācija"
 
-#: ../clutter/deprecated/clutter-animation.c:589
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alfa"
 
-#: ../clutter/deprecated/clutter-animation.c:590
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "Alfa, ko izmanto animācija"
 
-#: ../clutter/deprecated/clutter-animator.c:1802
+#: ../clutter/deprecated/clutter-animator.c:1804
 msgid "The duration of the animation"
 msgstr "Animācijas ilgums"
 
-#: ../clutter/deprecated/clutter-animator.c:1819
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "The timeline of the animation"
 msgstr "Animācijas laika skala"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Alfas objekts, kas nosaka uzvedību"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Sākuma dziļums"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Sākotnējais dziļums, ko pielietot"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Beigu dziļums"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Beigu dziļums, ko pielietot"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Starta leņķis"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Sākotnējais leņķis"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Finiša leņķis"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Beigu leņķis"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Leņķa x slīpums"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "Elipses slīpums ap x asi"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Leņķa y slīpums"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "Elipses slīpums ap y asi"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Leņķa z slīpums"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "Elipses slīpums ap z asi"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Elipses platums"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Elipses augstums"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Vidus"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Elipses vidus"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Rotācijas virziens"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Necaurspīdīguma sākums"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Sākotnējais necaurspīdīguma līmenis"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Necaurspīdīguma beigas"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Beidzamais necaurspīdīguma līmenis"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "ClutterPath objekts, kas norāda ceļu, gar ko jāanimē"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Leņķa sākums"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Leņķa beigas"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Ass"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Rotācijas ass"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Centrs X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "Rotācijas centra X koordināta"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Centrs Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Rotācijas centra Y koordināta"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Centrs Z"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Rotācijas centra Z koordināta"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "X sākuma mērogs"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Sākuma mērogs uz X ass"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "X beigu mērogs"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Beigu mērogs uz X ass"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Y sākuma mērogs"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Sākuma mērogs uz Y ass"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Y beigu mērogs"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Beigu mērogs uz Y ass"
 
-#: ../clutter/deprecated/clutter-box.c:257
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "Kastes fona krāsa"
 
-#: ../clutter/deprecated/clutter-box.c:270
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Krāsa iestatīta"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:593
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Virsmas platums"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:594
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "Cairo virsmas platums"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:611
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Virsmas augstums"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:612
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "Cairo virsmas augstums"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:632
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Autom. mainīt izmēru"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:633
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Vai virsmai būtu jāatbilst piešķīrumam"
 
@@ -2406,159 +2378,103 @@ msgstr "Bufera aizpildījuma līmenis"
 msgid "The duration of the stream, in seconds"
 msgstr "Straumes ilgums, sekundēs"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "Taisnstūra krāsa"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Malas krāsa"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "Taisnstūra malas krāsa"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Malas platums"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "Taisnstūra malas platums"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Ir mala"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Vai taisnstūrim ir vajadzīga mala"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Virsotnes avots"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Virsotnes ēnotāja avots"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Fragmenta avots"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Fragmenta ēnotāja avots"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Kompilēts"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Kad ēnotājs ir kompilēts un piesaistīts"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Kad ēnotājs ir aktivēts"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "%s kompilēšana neizdevās: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Virsotnes ēnotājs"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Fragmenta ēnotājs"
 
-#: ../clutter/deprecated/clutter-state.c:1499
+#: ../clutter/deprecated/clutter-state.c:1504
 msgid "State"
 msgstr "Stāvoklis"
 
-#: ../clutter/deprecated/clutter-state.c:1500
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "Pašlaik iestatītais stāvoklis, (pāreja uz šo stāvokli varētu nebūt pabeigta)"
 
-#: ../clutter/deprecated/clutter-state.c:1518
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Default transition duration"
 msgstr "Noklusētais pārejas ilgums"
 
-#: ../clutter/deprecated/clutter-table-layout.c:543
-msgid "Column Number"
-msgstr "Kolonnas numurs"
-
-#: ../clutter/deprecated/clutter-table-layout.c:544
-msgid "The column the widget resides in"
-msgstr "Kolonna, kurā atrodas logdaļa"
-
-#: ../clutter/deprecated/clutter-table-layout.c:551
-msgid "Row Number"
-msgstr "Rindas numurs"
-
-#: ../clutter/deprecated/clutter-table-layout.c:552
-msgid "The row the widget resides in"
-msgstr "Rinda, kurā atrodas logdaļa"
-
-#: ../clutter/deprecated/clutter-table-layout.c:559
-msgid "Column Span"
-msgstr "Kolonnu apvienojums"
-
-#: ../clutter/deprecated/clutter-table-layout.c:560
-msgid "The number of columns the widget should span"
-msgstr "Kolonnu skaits, ko logdaļai apvienot"
-
-#: ../clutter/deprecated/clutter-table-layout.c:567
-msgid "Row Span"
-msgstr "Rindu apvienojums"
-
-#: ../clutter/deprecated/clutter-table-layout.c:568
-msgid "The number of rows the widget should span"
-msgstr "Rindu skaits, ko logdaļai apvienot"
-
-#: ../clutter/deprecated/clutter-table-layout.c:575
-msgid "Horizontal Expand"
-msgstr "Horizontāli izvērsts"
-
-#: ../clutter/deprecated/clutter-table-layout.c:576
-msgid "Allocate extra space for the child in horizontal axis"
-msgstr "Bērnam piešķirt papildu vietu uz horizontālās ass"
-
-#: ../clutter/deprecated/clutter-table-layout.c:582
-msgid "Vertical Expand"
-msgstr "Vertikāli izvērsts"
-
-#: ../clutter/deprecated/clutter-table-layout.c:583
-msgid "Allocate extra space for the child in vertical axis"
-msgstr "Bērnam piešķirt papildu vietu uz vertikālās ass"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1638
-msgid "Spacing between columns"
-msgstr "Atstarpe starp kolonnām"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1654
-msgid "Spacing between rows"
-msgstr "Atstarpe starp rindām"
-
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Izpildītājā sinhronizēšanas izmērs"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Automātiski sinhronizēt izpildītāja izmēru uz apakšējā pikseļu bufera "
 "dimensijām"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Deaktivēt sagriešanu"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2566,95 +2482,95 @@ msgstr ""
 "Piespiež apakšējo tekstūru būt viengabalainai un nevis veidotai no mazākām "
 "telpām, kas satur atsevišķas tekstūras"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Flīžu zudumi"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Maksimālais izniekotais sagrieztas tekstūras laukums"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Horizontālā atkārtošana"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Atkārtot saturu, nevis to horizontāli mērogot"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Vertikālā atkārtošana"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Atkārtot saturu, nevis to vertikāli mērogot"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Filtra kvalitāte"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "Renderēšanas kvalitāte, zīmējot tekstūru"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Pikseļu formāts"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "Izmantojamais Cogl pikseļu formāts"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Cogl tekstūra"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr "Apakšējais Cogl tekstūras turis, ko izmanto šī izpildītāja zīmēšanai"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Cogl materiāls"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr "Apakšējais Cogl materiāla turis, ko izmanto šī izpildītāja zīmēšanai"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "Datnes ceļš, kas satur attēla datus"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Paturēt izmēra attiecību"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
 msgstr ""
 "Paturēt tekstūras izmēra attiecību, kad pieprasa vēlamo platumu vai augstumu"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Ielādēt asinhroni"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Ielādēt datnes pavedienā, lai izvairītos no bloķēšanas, kad ielādē attēlus "
 "no diska"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Ielādēt datus asinhroni"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2662,191 +2578,195 @@ msgstr ""
 "Atšifrēt attēla datu datnes pavedienā, lai samazinātu bloķēšanu, kad ielādē "
 "attēlus no diska"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Paņemt ar alfa"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Formēt izpildītāju ar alfa kanālu, kad paņem"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Neizdevās ielādēt attēla datus"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "YUV tekstūras nav atbalstītas"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "YUV2 tekstūras nav atbalstītas"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "sysfs ceļš"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "sysfs ierīces ceļš"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Ierīces ceļš"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Ierīces mezgla ceļš"
+
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "Nevarēja atrast piemērotu CoglWinsys priekš GdkDisplay tipa %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Virsma"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "Apakšējā wayland virsma"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Virsmas platums"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "Apakšējās wayland virsmas platums"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Virsmas augstums"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "Apakšējās wayland virsmas augstums"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Lietojamais X displejs"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Izmantojamais X ekrāns"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Padarīt X izsaukumus sinhronus"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
-msgid "Disable XInput support"
-msgstr "Deaktivēt XInput atbalstu"
+#: ../clutter/x11/clutter-backend-x11.c:534
+msgid "Enable XInput support"
+msgstr "Aktivēt XInput atbalstu"
 
-#: ../clutter/x11/clutter-keymap-x11.c:458
+#: ../clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
 msgstr "Clutter aizmugure"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Pikseļu karte"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "X11 pikseļu karte, ko saistīt"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Pikseļu kartes platums"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "Platums pikseļu kartei, kas saistīta uz šīs tekstūras"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Pikseļu kartes augstums"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "Augstums pikseļu kartei, kas saistīta uz šīs tekstūras"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Pikseļu kartes dziļums"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr ""
 "Dziļums (izteikts bitu skaitā) pikseļu kartei, kas saistīta uz šīs tekstūras"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Automātiska atjaunināšana"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr "Ja tekstūru jāuztur sinhronu ar jebkādām pikseļu kartes izmaiņām."
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Logs"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "X11 logs, ko saistīt"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Loga pārsūtīšana automātiska"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Vai kompozītloga pārsūtījumi ir iestatīti kā Automātiski (vai Manuāli, ja "
 "aplams)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Loga kartējums"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Vai logs ir kartēts"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Iznīcināts"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Vai logs tika iznīcināts"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "Logs X"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "Loga X novietojums uz ekrāna, pēc X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Logs Y"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "Loga Y novietojums uz ekrāna, pēc X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Loga pārrakstīšanas pārsūtīšana"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Vai šis ir pārrakstīšanas-pārsūtīšanas logs"
 
-#~ msgid "sysfs Path"
-#~ msgstr "sysfs ceļš"
-
-#~ msgid "Path of the device in sysfs"
-#~ msgstr "sysfs ierīces ceļš"
-
-#~ msgid "Device Path"
-#~ msgstr "Ierīces ceļš"
-
-#~ msgid "Path of the device node"
-#~ msgstr "Ierīces mezgla ceļš"
-
 #~ msgid "The layout manager used by the box"
 #~ msgstr "Izkārtojuma pārvaldnieks, ko izmanto kaste"
diff --git a/po/pl.po b/po/pl.po
index 61e42f9..3d4f968 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -11,8 +11,8 @@ msgstr ""
 "Project-Id-Version: clutter\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter\n"
-"POT-Creation-Date: 2013-08-20 22:13+0200\n"
-"PO-Revision-Date: 2013-08-20 22:14+0200\n"
+"POT-Creation-Date: 2013-02-16 21:15+0100\n"
+"PO-Revision-Date: 2013-02-16 21:16+0100\n"
 "Last-Translator: Piotr Drąg <piotrdrag gmail com>\n"
 "Language-Team: Polish <gnomepl aviary pl>\n"
 "Language: pl\n"
@@ -24,694 +24,694 @@ msgstr ""
 "X-Poedit-Language: Polish\n"
 "X-Poedit-Country: Poland\n"
 
-#: ../clutter/clutter-actor.c:6205
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Współrzędna X"
 
-#: ../clutter/clutter-actor.c:6206
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Współrzędna X aktora"
 
-#: ../clutter/clutter-actor.c:6224
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Współrzędna Y"
 
-#: ../clutter/clutter-actor.c:6225
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Współrzędna Y aktora"
 
-#: ../clutter/clutter-actor.c:6247
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Położenie"
 
-#: ../clutter/clutter-actor.c:6248
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "Pierwotne położenie aktora"
 
-#: ../clutter/clutter-actor.c:6265 ../clutter/clutter-canvas.c:224
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Szerokość"
 
-#: ../clutter/clutter-actor.c:6266
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Szerokość aktora"
 
-#: ../clutter/clutter-actor.c:6284 ../clutter/clutter-canvas.c:240
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Wysokość"
 
-#: ../clutter/clutter-actor.c:6285
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Wysokość aktora"
 
-#: ../clutter/clutter-actor.c:6306
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Rozmiar"
 
-#: ../clutter/clutter-actor.c:6307
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "Rozmiar aktora"
 
-#: ../clutter/clutter-actor.c:6325
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "Stała współrzędna X"
 
-#: ../clutter/clutter-actor.c:6326
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Wymuszone położenie X aktora"
 
-#: ../clutter/clutter-actor.c:6343
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Stała współrzędna Y"
 
-#: ../clutter/clutter-actor.c:6344
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Wymuszone położenie Y aktora"
 
-#: ../clutter/clutter-actor.c:6359
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Ustawienie stałego położenia"
 
-#: ../clutter/clutter-actor.c:6360
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Określa, czy używać stałego położenia aktora"
 
-#: ../clutter/clutter-actor.c:6378
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Minimalna szerokość"
 
-#: ../clutter/clutter-actor.c:6379
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Wymuszone żądanie minimalnej szerokości aktora"
 
-#: ../clutter/clutter-actor.c:6397
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Minimalna wysokość"
 
-#: ../clutter/clutter-actor.c:6398
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Wymuszone żądanie minimalnej wysokości aktora"
 
-#: ../clutter/clutter-actor.c:6416
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Naturalna szerokość"
 
-#: ../clutter/clutter-actor.c:6417
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Wymuszone żądanie naturalnej szerokości aktora"
 
-#: ../clutter/clutter-actor.c:6435
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Naturalna wysokość"
 
-#: ../clutter/clutter-actor.c:6436
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Wymuszone żądanie naturalnej wysokości aktora"
 
-#: ../clutter/clutter-actor.c:6451
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Ustawienie minimalnej szerokości"
 
-#: ../clutter/clutter-actor.c:6452
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Określa, czy używać właściwości \"min-width\""
 
-#: ../clutter/clutter-actor.c:6466
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Ustawienie minimalnej wysokości"
 
-#: ../clutter/clutter-actor.c:6467
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Określa, czy używać właściwości \"min-height\""
 
-#: ../clutter/clutter-actor.c:6481
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Ustawienie naturalnej szerokości"
 
-#: ../clutter/clutter-actor.c:6482
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Określa, czy używać właściwości \"natural-width\""
 
-#: ../clutter/clutter-actor.c:6496
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Ustawienie naturalnej wysokości"
 
-#: ../clutter/clutter-actor.c:6497
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Określa, czy używać właściwości \"natural-height\""
 
-#: ../clutter/clutter-actor.c:6513
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Przydzielenie"
 
-#: ../clutter/clutter-actor.c:6514
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "Przydzielenie aktora"
 
-#: ../clutter/clutter-actor.c:6571
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Tryb żądania"
 
-#: ../clutter/clutter-actor.c:6572
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "Tryb żądania aktora"
 
-#: ../clutter/clutter-actor.c:6596
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Głębia"
 
-#: ../clutter/clutter-actor.c:6597
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Położenie na osi Z"
 
-#: ../clutter/clutter-actor.c:6624
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Położenie na osi Z"
 
-#: ../clutter/clutter-actor.c:6625
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Położenie aktora na osi Z"
 
-#: ../clutter/clutter-actor.c:6642
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Nieprzezroczystość"
 
-#: ../clutter/clutter-actor.c:6643
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Nieprzezroczystość aktora"
 
-#: ../clutter/clutter-actor.c:6663
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Przekierowanie poza ekranem"
 
-#: ../clutter/clutter-actor.c:6664
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Flaga kontrolująca, kiedy spłaszczać aktora do pojedynczego obrazu"
 
-#: ../clutter/clutter-actor.c:6678
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Widoczny"
 
-#: ../clutter/clutter-actor.c:6679
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Określa, czy aktor jest widoczny"
 
-#: ../clutter/clutter-actor.c:6693
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Mapowany"
 
-#: ../clutter/clutter-actor.c:6694
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Określa, czy aktor będzie pomalowany"
 
-#: ../clutter/clutter-actor.c:6707
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Zrealizowany"
 
-#: ../clutter/clutter-actor.c:6708
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Określa, czy aktor został zrealizowany"
 
-#: ../clutter/clutter-actor.c:6723
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Reakcyjny"
 
-#: ../clutter/clutter-actor.c:6724
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Określa, czy aktor reaguje na zdarzenia"
 
-#: ../clutter/clutter-actor.c:6735
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Posiada klamrę"
 
-#: ../clutter/clutter-actor.c:6736
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Określa, czy aktor posiada ustawioną klamrę"
 
-#: ../clutter/clutter-actor.c:6749
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Klamra"
 
-#: ../clutter/clutter-actor.c:6750
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "Obszar klamry aktora"
 
-#: ../clutter/clutter-actor.c:6769
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Prostokąt klamry"
 
-#: ../clutter/clutter-actor.c:6770
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "Widoczny obszar aktora"
 
-#: ../clutter/clutter-actor.c:6784 ../clutter/clutter-actor-meta.c:205
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nazwa"
 
-#: ../clutter/clutter-actor.c:6785
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Nazwa aktora"
 
-#: ../clutter/clutter-actor.c:6806
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Punkt obrotu"
 
-#: ../clutter/clutter-actor.c:6807
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Punkt, wokół którego następuje skalowanie i obracanie"
 
-#: ../clutter/clutter-actor.c:6825
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Punkt Z obrotu"
 
-#: ../clutter/clutter-actor.c:6826
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Składnik Z punktu obrotu"
 
-#: ../clutter/clutter-actor.c:6844
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Skalowanie współrzędnej X"
 
-#: ../clutter/clutter-actor.c:6845
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Czynnik skalowania na osi X"
 
-#: ../clutter/clutter-actor.c:6863
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Skalowanie współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:6864
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Czynnik skalowania na osi Y"
 
-#: ../clutter/clutter-actor.c:6882
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Skalowanie współrzędnej X"
 
-#: ../clutter/clutter-actor.c:6883
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Czynnik skalowania na osi Z"
 
-#: ../clutter/clutter-actor.c:6901
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Środek skalowania współrzędnej X"
 
-#: ../clutter/clutter-actor.c:6902
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Poziomy środek skalowania"
 
-#: ../clutter/clutter-actor.c:6920
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Środek skalowania współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:6921
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Pionowy środek skalowania"
 
-#: ../clutter/clutter-actor.c:6939
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Grawitacja skalowania"
 
-#: ../clutter/clutter-actor.c:6940
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "Środek skalowania"
 
-#: ../clutter/clutter-actor.c:6958
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Kąt obrotu współrzędnej X"
 
-#: ../clutter/clutter-actor.c:6959
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "Kąt obrotu na osi X"
 
-#: ../clutter/clutter-actor.c:6977
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Kąt obrotu współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:6978
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "Kąt obrotu na osi Y"
 
-#: ../clutter/clutter-actor.c:6996
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Kąt obrotu współrzędnej Z"
 
-#: ../clutter/clutter-actor.c:6997
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "Kąt obrotu na osi Z"
 
-#: ../clutter/clutter-actor.c:7015
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Środek obrotu współrzędnej X"
 
-#: ../clutter/clutter-actor.c:7016
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "Środek obrotu na osi X"
 
-#: ../clutter/clutter-actor.c:7033
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Środek obrotu współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:7034
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "Środek obrotu na osi Y"
 
-#: ../clutter/clutter-actor.c:7051
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Środek obrotu współrzędnej Z"
 
-#: ../clutter/clutter-actor.c:7052
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "Środek obrotu na osi Z"
 
-#: ../clutter/clutter-actor.c:7069
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Grawitacja środka obrotu współrzędnej Z"
 
-#: ../clutter/clutter-actor.c:7070
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Punkt środkowy dla obrotu wokół osi Z"
 
-#: ../clutter/clutter-actor.c:7098
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Kotwica współrzędnej X"
 
-#: ../clutter/clutter-actor.c:7099
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "Współrzędna X punktu kotwicy"
 
-#: ../clutter/clutter-actor.c:7127
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Kotwica współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:7128
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Współrzędna Y punktu kotwicy"
 
-#: ../clutter/clutter-actor.c:7155
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Grawitacja kotwicy"
 
-#: ../clutter/clutter-actor.c:7156
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "Punkt kotwicy jako \"ClutterGravity\""
 
-#: ../clutter/clutter-actor.c:7175
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Współrzędna X tłumaczenia"
 
-#: ../clutter/clutter-actor.c:7176
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Tłumaczenie na osi X"
 
-#: ../clutter/clutter-actor.c:7195
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Współrzędna Y tłumaczenia"
 
-#: ../clutter/clutter-actor.c:7196
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Tłumaczenie na osi Y"
 
-#: ../clutter/clutter-actor.c:7215
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Współrzędna Z tłumaczenia"
 
-#: ../clutter/clutter-actor.c:7216
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Tłumaczenie na osi Z"
 
-#: ../clutter/clutter-actor.c:7246
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Przekształcanie"
 
-#: ../clutter/clutter-actor.c:7247
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Macierz przekształceń"
 
-#: ../clutter/clutter-actor.c:7262
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Ustawienie przekształcania"
 
-#: ../clutter/clutter-actor.c:7263
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Określa, czy właściwość \"transform\" jest ustawiona"
 
-#: ../clutter/clutter-actor.c:7284
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Przekształcanie elementu potomnego"
 
-#: ../clutter/clutter-actor.c:7285
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Macierz przekształcania elementów potomnych"
 
-#: ../clutter/clutter-actor.c:7300
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Ustawienie przekształcania elementu potomnego"
 
-#: ../clutter/clutter-actor.c:7301
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Określa, czy właściwość \"child-transform\" jest ustawiona"
 
-#: ../clutter/clutter-actor.c:7318
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Wyświetlanie na ustawionym rodzicu"
 
-#: ../clutter/clutter-actor.c:7319
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Określa, czy aktor jest wyświetlany, kiedy posiada rodzica"
 
-#: ../clutter/clutter-actor.c:7336
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Klamra do przydziału"
 
-#: ../clutter/clutter-actor.c:7337
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Ustawia obszar klamry do śledzenia przydzielenia aktora"
 
-#: ../clutter/clutter-actor.c:7350
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Kierunek tekstu"
 
-#: ../clutter/clutter-actor.c:7351
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Kierunek tekstu"
 
-#: ../clutter/clutter-actor.c:7366
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Posiada kursor"
 
-#: ../clutter/clutter-actor.c:7367
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Określa, czy aktor zawiera kursor urządzenia wejścia"
 
-#: ../clutter/clutter-actor.c:7380
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Działania"
 
-#: ../clutter/clutter-actor.c:7381
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Dodaje działania do aktora"
 
-#: ../clutter/clutter-actor.c:7394
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Ograniczenia"
 
-#: ../clutter/clutter-actor.c:7395
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Dodaje ograniczenie do aktora"
 
-#: ../clutter/clutter-actor.c:7408
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Efekt"
 
-#: ../clutter/clutter-actor.c:7409
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Dodaje efekt do aktora"
 
-#: ../clutter/clutter-actor.c:7423
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Menedżer warstw"
 
-#: ../clutter/clutter-actor.c:7424
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "Obiekt kontrolujący układ potomków aktora"
 
-#: ../clutter/clutter-actor.c:7438
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Rozwinięcie współrzędnej X"
 
-#: ../clutter/clutter-actor.c:7439
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr ""
 "Określa, czy dodatkowa powierzchnia pozioma powinna być przydzielona do "
 "aktora"
 
-#: ../clutter/clutter-actor.c:7454
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Rozwinięcie współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:7455
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr ""
 "Określa, czy dodatkowa powierzchnia pionowa powinna być przydzielona do "
 "aktora"
 
-#: ../clutter/clutter-actor.c:7471
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Wyrównanie współrzędnej X"
 
-#: ../clutter/clutter-actor.c:7472
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Wyrównanie aktora na osi X wewnątrz jego przydziału"
 
-#: ../clutter/clutter-actor.c:7487
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Wyrównanie współrzędnej Y"
 
-#: ../clutter/clutter-actor.c:7488
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Wyrównanie aktora na osi Y wewnątrz jego przydziału"
 
-#: ../clutter/clutter-actor.c:7507
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Górny margines"
 
-#: ../clutter/clutter-actor.c:7508
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Dodatkowe miejsce na górze"
 
-#: ../clutter/clutter-actor.c:7529
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Dolny margines"
 
-#: ../clutter/clutter-actor.c:7530
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Dodatkowe miejsce na dole"
 
-#: ../clutter/clutter-actor.c:7551
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Lewy margines"
 
-#: ../clutter/clutter-actor.c:7552
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Dodatkowe miejsce po lewej"
 
-#: ../clutter/clutter-actor.c:7573
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Prawy margines"
 
-#: ../clutter/clutter-actor.c:7574
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Dodatkowe miejsce po prawej"
 
-#: ../clutter/clutter-actor.c:7590
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Ustawienie koloru tła"
 
-#: ../clutter/clutter-actor.c:7591 ../clutter/deprecated/clutter-box.c:271
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Określa, czy kolor tła jest ustawiony"
 
-#: ../clutter/clutter-actor.c:7607
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Kolor tła"
 
-#: ../clutter/clutter-actor.c:7608
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "Kolor tła aktora"
 
-#: ../clutter/clutter-actor.c:7623
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Pierwszy potomek"
 
-#: ../clutter/clutter-actor.c:7624
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Pierwszy potomek aktora"
 
-#: ../clutter/clutter-actor.c:7637
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Ostatni potomek"
 
-#: ../clutter/clutter-actor.c:7638
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "Ostatni potomek aktora"
 
-#: ../clutter/clutter-actor.c:7652
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Zawartość"
 
-#: ../clutter/clutter-actor.c:7653
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Deleguje obiekt do malowania zawartości aktora"
 
-#: ../clutter/clutter-actor.c:7678
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Grawitacja zawartości"
 
-#: ../clutter/clutter-actor.c:7679
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Wyrównanie zawartości aktora"
 
-#: ../clutter/clutter-actor.c:7699
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Pole zawartości"
 
-#: ../clutter/clutter-actor.c:7700
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "Pole dookoła zawartości aktora"
 
-#: ../clutter/clutter-actor.c:7708
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Filtr pomniejszenia"
 
-#: ../clutter/clutter-actor.c:7709
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Filtr używany podczas zmniejszania rozmiaru zawartości"
 
-#: ../clutter/clutter-actor.c:7716
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Filtr powiększenia"
 
-#: ../clutter/clutter-actor.c:7717
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Filtr używany podczas zwiększania rozmiaru zawartości"
 
-#: ../clutter/clutter-actor.c:7731
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Powtarzanie zawartości"
 
-#: ../clutter/clutter-actor.c:7732
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "Polityka powtarzania dla zawartości aktora"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Aktor"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "Aktor dołączony do mety"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "Nazwa mety"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:337
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Włączone"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Określa, czy meta jest włączona"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Źródło"
@@ -737,11 +737,11 @@ msgstr "Czynnik"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Czynnik wyrównania, między 0.0 a 1.0"
 
-#: ../clutter/clutter-backend.c:376
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Nie można zainicjować mechanizmu biblioteki Clutter"
 
-#: ../clutter/clutter-backend.c:450
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "Mechanizm typu \"%s\" nie obsługuje tworzenia wielu scen"
@@ -772,45 +772,45 @@ msgstr "Offset w pikselach do zastosowania do dowiązania"
 msgid "The unique name of the binding pool"
 msgstr "Unikalna nazwa puli dowiązania"
 
-#: ../clutter/clutter-bin-layout.c:238 ../clutter/clutter-bin-layout.c:651
-#: ../clutter/clutter-box-layout.c:388 ../clutter/clutter-table-layout.c:604
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Wyrównanie poziome"
 
-#: ../clutter/clutter-bin-layout.c:239
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "Poziome wyrównanie aktora wewnątrz menedżera warstw"
 
-#: ../clutter/clutter-bin-layout.c:247 ../clutter/clutter-bin-layout.c:671
-#: ../clutter/clutter-box-layout.c:397 ../clutter/clutter-table-layout.c:619
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Wyrównanie pionowe"
 
-#: ../clutter/clutter-bin-layout.c:248
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "Pionowe wyrównanie aktora wewnątrz menedżera warstw"
 
-#: ../clutter/clutter-bin-layout.c:652
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr "Domyślne poziome wyrównanie aktora wewnątrz menedżera warstw"
 
-#: ../clutter/clutter-bin-layout.c:672
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr "Domyślne pionowe wyrównanie aktora wewnątrz menedżera warstw"
 
-#: ../clutter/clutter-box-layout.c:363
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Rozwinięcie"
 
-#: ../clutter/clutter-box-layout.c:364
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Przydziela dodatkowe miejsca na potomka"
 
-#: ../clutter/clutter-box-layout.c:370 ../clutter/clutter-table-layout.c:583
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Wypełnienie poziome"
 
-#: ../clutter/clutter-box-layout.c:371 ../clutter/clutter-table-layout.c:584
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -818,11 +818,11 @@ msgstr ""
 "Określa, czy potomek powinien otrzymać priorytet, kiedy kontener przydziela "
 "zapasowe miejsce na osi poziomej"
 
-#: ../clutter/clutter-box-layout.c:379 ../clutter/clutter-table-layout.c:590
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Wypełnienie pionowe"
 
-#: ../clutter/clutter-box-layout.c:380 ../clutter/clutter-table-layout.c:591
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -830,80 +830,80 @@ msgstr ""
 "Określa, czy potomek powinien otrzymać priorytet, kiedy kontener przydziela "
 "zapasowe miejsce na osi pionowej"
 
-#: ../clutter/clutter-box-layout.c:389 ../clutter/clutter-table-layout.c:605
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Poziome wyrównanie aktora wewnątrz komórki"
 
-#: ../clutter/clutter-box-layout.c:398 ../clutter/clutter-table-layout.c:620
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Pionowe wyrównanie aktora wewnątrz komórki"
 
-#: ../clutter/clutter-box-layout.c:1361
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Pionowe"
 
-#: ../clutter/clutter-box-layout.c:1362
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Określa, czy układ powinien być pionowy, zamiast poziomego"
 
-#: ../clutter/clutter-box-layout.c:1379 ../clutter/clutter-flow-layout.c:942
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientacja"
 
-#: ../clutter/clutter-box-layout.c:1380 ../clutter/clutter-flow-layout.c:943
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "Orientacja układu"
 
-#: ../clutter/clutter-box-layout.c:1396 ../clutter/clutter-flow-layout.c:958
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogeniczny"
 
-#: ../clutter/clutter-box-layout.c:1397
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Określa, czy układ powinien być homogeniczny, tzn. wszyscy potomkowie "
 "otrzymują ten sam rozmiar"
 
-#: ../clutter/clutter-box-layout.c:1412
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Początek pakowania"
 
-#: ../clutter/clutter-box-layout.c:1413
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Określa, czy pakować elementy na początku pola"
 
-#: ../clutter/clutter-box-layout.c:1426
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Odstęp"
 
-#: ../clutter/clutter-box-layout.c:1427
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Odstęp między potomkami"
 
-#: ../clutter/clutter-box-layout.c:1444 ../clutter/clutter-table-layout.c:1667
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Użycie animacji"
 
-#: ../clutter/clutter-box-layout.c:1445 ../clutter/clutter-table-layout.c:1668
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Określa, czy zmiany układu powinny być animowane"
 
-#: ../clutter/clutter-box-layout.c:1469 ../clutter/clutter-table-layout.c:1692
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Tryb upraszczania"
 
-#: ../clutter/clutter-box-layout.c:1470 ../clutter/clutter-table-layout.c:1693
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "Tryb upraszczania animacji"
 
-#: ../clutter/clutter-box-layout.c:1490 ../clutter/clutter-table-layout.c:1713
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Czas trwania upraszczania"
 
-#: ../clutter/clutter-box-layout.c:1491 ../clutter/clutter-table-layout.c:1714
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "Czas trwania animacji"
 
@@ -923,11 +923,11 @@ msgstr "Kontrast"
 msgid "The contrast change to apply"
 msgstr "Zmiana kontrastu do zastosowania"
 
-#: ../clutter/clutter-canvas.c:225
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "Szerokość płótna"
 
-#: ../clutter/clutter-canvas.c:241
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "Wysokość płótna"
 
@@ -943,39 +943,39 @@ msgstr "Kontener, który utworzył te dane"
 msgid "The actor wrapped by this data"
 msgstr "Aktor opakowany przez te dane"
 
-#: ../clutter/clutter-click-action.c:557
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Wciśnięte"
 
-#: ../clutter/clutter-click-action.c:558
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Określa, czy element klikalny jest w stanie wciśniętym"
 
-#: ../clutter/clutter-click-action.c:571
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
 msgstr "Przytrzymane"
 
-#: ../clutter/clutter-click-action.c:572
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Określa, czy element klikalny posiada przytrzymanie"
 
-#: ../clutter/clutter-click-action.c:589 ../clutter/clutter-settings.c:607
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:607
 msgid "Long Press Duration"
 msgstr "Czas trwania długiego przyciśnięcia"
 
-#: ../clutter/clutter-click-action.c:590
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "Minimalny czas trwania długiego przyciśnięcia, aby rozpoznać gest"
 
-#: ../clutter/clutter-click-action.c:608
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Próg długiego przyciśnięcia"
 
-#: ../clutter/clutter-click-action.c:609
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "Maksymalny próg, zanim długie przyciśnięcie zostanie anulowane"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Podaje aktora do sklonowania"
 
@@ -987,27 +987,27 @@ msgstr "Odcień"
 msgid "The tint to apply"
 msgstr "Odcień do zastosowania"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Kafle poziome"
 
-#: ../clutter/clutter-deform-effect.c:593
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Liczba poziomych kafli"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Kafle pionowe"
 
-#: ../clutter/clutter-deform-effect.c:609
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Liczba pionowych kafli"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Materiał tyłu"
 
-#: ../clutter/clutter-deform-effect.c:627
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Materiał używany podczas malowania tyłu aktora"
 
@@ -1015,190 +1015,178 @@ msgstr "Materiał używany podczas malowania tyłu aktora"
 msgid "The desaturation factor"
 msgstr "Czynnik usuwania nasycenia"
 
-#: ../clutter/clutter-device-manager.c:127
+#: ../clutter/clutter-device-manager.c:131
 #: ../clutter/clutter-input-device.c:366
 #: ../clutter/x11/clutter-keymap-x11.c:321
 msgid "Backend"
 msgstr "Mechanizm"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "Mechanizm \"ClutterBackend\" menedżera urządzeń"
 
-#: ../clutter/clutter-drag-action.c:740
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Poziomy próg przeciągania"
 
-#: ../clutter/clutter-drag-action.c:741
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "Liczba poziomych pikseli wymaganych do rozpoczęcia przeciągania"
 
-#: ../clutter/clutter-drag-action.c:768
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Pionowy próg przeciągania"
 
-#: ../clutter/clutter-drag-action.c:769
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Liczba pionowych pikseli wymaganych do rozpoczęcia przeciągania"
 
-#: ../clutter/clutter-drag-action.c:790
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Uchwyt przeciągania"
 
-#: ../clutter/clutter-drag-action.c:791
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "Przeciągany aktor"
 
-#: ../clutter/clutter-drag-action.c:804
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Osie przeciągania"
 
-#: ../clutter/clutter-drag-action.c:805
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Ogranicza przeciąganie do osi"
 
-#: ../clutter/clutter-drag-action.c:821
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Obszar przeciągania"
 
-#: ../clutter/clutter-drag-action.c:822
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Ogranicza przeciąganie do prostokąta"
 
-#: ../clutter/clutter-drag-action.c:835
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Ustawienie obszaru przeciągania"
 
-#: ../clutter/clutter-drag-action.c:836
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Określa, czy obszar przeciągania jest ustawiony"
 
-#: ../clutter/clutter-flow-layout.c:959
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Określa, czy każdy element powinien otrzymać to samo przydzielenie"
 
-#: ../clutter/clutter-flow-layout.c:974 ../clutter/clutter-table-layout.c:1629
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Odstępy kolumn"
 
-#: ../clutter/clutter-flow-layout.c:975
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Odstęp między kolumnami"
 
-#: ../clutter/clutter-flow-layout.c:991 ../clutter/clutter-table-layout.c:1643
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Odstępy wierszy"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Odstęp między wierszami"
 
-#: ../clutter/clutter-flow-layout.c:1006
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Minimalna szerokość kolumny"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Minimalna szerokość każdej kolumny"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Maksymalna szerokość kolumny"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Maksymalna szerokość każdej kolumny"
 
-#: ../clutter/clutter-flow-layout.c:1037
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Minimalna wysokość wiersza"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Minimalna wysokość każdego wiersza"
 
-#: ../clutter/clutter-flow-layout.c:1053
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Maksymalna wysokość wiersza"
 
-#: ../clutter/clutter-flow-layout.c:1054
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Maksymalna wysokość każdego wiersza"
 
-#: ../clutter/clutter-flow-layout.c:1069 ../clutter/clutter-flow-layout.c:1070
-msgid "Snap to grid"
-msgstr "Przyciąganie do siatki"
-
-#: ../clutter/clutter-gesture-action.c:646
-msgid "Number touch points"
-msgstr "Liczba punktów dotykowych"
-
-#: ../clutter/clutter-gesture-action.c:647
-msgid "Number of touch points"
-msgstr "Liczba punktów dotykowych"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Lewy załącznik"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr "Numer kolumny, do której dołączyć lewą stronę elementu potomnego"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Górny załącznik"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr "Numer rzędu, do którego dołączyć górną stronę widżetu potomnego"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "Liczba kolumn, na które rozciąga się element potomny"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "Liczba rzędów, na które rozciąga się element potomny"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1565
 msgid "Row spacing"
 msgstr "Odstępy wierszy"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1566
 msgid "The amount of space between two consecutive rows"
 msgstr "Ilość miejsca między dwoma kolejnymi rzędami"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1579
 msgid "Column spacing"
 msgstr "Odstępy kolumn"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1580
 msgid "The amount of space between two consecutive columns"
 msgstr "Ilość miejsca między dwiema kolejnymi kolumnami"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1594
 msgid "Row Homogeneous"
 msgstr "Rzędy homogeniczne"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1595
 msgid "If TRUE, the rows are all the same height"
 msgstr ""
 "Jeśli jest ustawione na wartość \"true\", to wszystkie rzędy mają taką samą "
 "wysokość"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1608
 msgid "Column Homogeneous"
 msgstr "Kolumny homogeniczne"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1609
 msgid "If TRUE, the columns are all the same width"
 msgstr ""
 "Jeśli jest ustawione na wartość \"true\", to wszystkie kolumny mają taką "
 "samą szerokość"
 
-#: ../clutter/clutter-image.c:246 ../clutter/clutter-image.c:309
-#: ../clutter/clutter-image.c:397
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Nie można wczytać danych obrazu"
 
@@ -1262,27 +1250,27 @@ msgstr "Liczba osi urządzenia"
 msgid "The backend instance"
 msgstr "Wystąpienie mechanizmu"
 
-#: ../clutter/clutter-interval.c:503
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Typ wartości"
 
-#: ../clutter/clutter-interval.c:504
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Typ wartości w okresie"
 
-#: ../clutter/clutter-interval.c:519
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Początkowa wartość"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Początkowa wartość odstępu"
 
-#: ../clutter/clutter-interval.c:534
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Wartość końcowa"
 
-#: ../clutter/clutter-interval.c:535
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Końcowa wartość odstępu"
 
@@ -1301,97 +1289,97 @@ msgstr "Menedżer, który utworzył te dane"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1669
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Wyświetla liczbę klatek na sekundę"
 
-#: ../clutter/clutter-main.c:1671
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Domyślna liczba klatek na sekundę"
 
-#: ../clutter/clutter-main.c:1673
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Wszystkie ostrzeżenia są krytyczne"
 
-#: ../clutter/clutter-main.c:1676
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Kierunek tekstu"
 
-#: ../clutter/clutter-main.c:1679
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Wyłącza mipmapowanie na tekście"
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Używa wybierania \"rozmytego\""
 
-#: ../clutter/clutter-main.c:1685
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Flagi debugowania biblioteki Clutter do ustawienia"
 
-#: ../clutter/clutter-main.c:1687
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Flagi debugowania biblioteki Clutter do usunięcia"
 
-#: ../clutter/clutter-main.c:1691
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Flagi profilowania biblioteki Clutter do ustawienia"
 
-#: ../clutter/clutter-main.c:1693
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Flagi profilowania biblioteki Clutter do usunięcia"
 
-#: ../clutter/clutter-main.c:1696
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Włącza dostępność"
 
-#: ../clutter/clutter-main.c:1888
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Opcje biblioteki Clutter"
 
-#: ../clutter/clutter-main.c:1889
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Wyświetla opcje biblioteki Clutter"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Osie balansu"
 
-#: ../clutter/clutter-pan-action.c:446
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Ogranicza balans do osi"
 
-#: ../clutter/clutter-pan-action.c:460
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolacja"
 
-#: ../clutter/clutter-pan-action.c:461
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Określa, czy emitowanie interpolowanych zdarzeń jest włączone."
 
-#: ../clutter/clutter-pan-action.c:477
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Zwolnienie"
 
-#: ../clutter/clutter-pan-action.c:478
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Prędkość, po jakiej interpolowany balans zwolni"
 
-#: ../clutter/clutter-pan-action.c:495
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Początkowy czynnik przyspieszenia"
 
-#: ../clutter/clutter-pan-action.c:496
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr ""
 "Czynnik zastosowywany do pędu podczas rozpoczynania fazy interpolowanej"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Ścieżka"
 
@@ -1403,44 +1391,44 @@ msgstr "Ścieżka używana do ograniczenia aktora"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "Offset ścieżki, między -1.0 a 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Nazwa właściwości"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Nazwa właściwości do animowania"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Ustawienie nazwy pliku"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Określa, czy właściwość \":filename\" jest ustawiona"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nazwa pliku"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Ścieżka do obecnie przetwarzanego pliku"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Domena tłumaczeń"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Domena tłumaczeń używana do lokalizowania tekstów"
 
-#: ../clutter/clutter-scroll-actor.c:189
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Tryb przewijania"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Kierunek przewijania"
 
@@ -1470,7 +1458,7 @@ msgid "The distance the cursor should travel before starting to drag"
 msgstr ""
 "Odległość, jaką musi przemierzyć kursor przed rozpoczęciem przeciągania"
 
-#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3393
+#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Nazwa czcionki"
 
@@ -1549,11 +1537,11 @@ msgstr "Czas wskazówki hasła"
 msgid "How long to show the last input character in hidden entries"
 msgstr "Jak długo wyświetlać ostatni znak w ukrytych wpisach"
 
-#: ../clutter/clutter-shader-effect.c:485
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Typ cieniowania"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "Typ używanego cieniowania"
 
@@ -1581,477 +1569,477 @@ msgstr "Krawędź źródła, która powinna być przełamana"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Offset w pikselach do zastosowania do ograniczenia"
 
-#: ../clutter/clutter-stage.c:1947
+#: ../clutter/clutter-stage.c:1929
 msgid "Fullscreen Set"
 msgstr "Ustawienie pełnego ekranu"
 
-#: ../clutter/clutter-stage.c:1948
+#: ../clutter/clutter-stage.c:1930
 msgid "Whether the main stage is fullscreen"
 msgstr "Określa, czy główna scena jest na pełnym ekranie"
 
-#: ../clutter/clutter-stage.c:1962
+#: ../clutter/clutter-stage.c:1944
 msgid "Offscreen"
 msgstr "Poza ekranem"
 
-#: ../clutter/clutter-stage.c:1963
+#: ../clutter/clutter-stage.c:1945
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Określa, czy główna scena powinna być wyświetlana poza ekranem"
 
-#: ../clutter/clutter-stage.c:1975 ../clutter/clutter-text.c:3507
+#: ../clutter/clutter-stage.c:1957 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Widoczność kursora"
 
-#: ../clutter/clutter-stage.c:1976
+#: ../clutter/clutter-stage.c:1958
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Określa, czy kursor myszy jest widoczny na głównej scenie"
 
-#: ../clutter/clutter-stage.c:1990
+#: ../clutter/clutter-stage.c:1972
 msgid "User Resizable"
 msgstr "Użytkownik może zmieniać rozmiar"
 
-#: ../clutter/clutter-stage.c:1991
+#: ../clutter/clutter-stage.c:1973
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Określa, czy można zmieniać rozmiar sceny przez działania użytkownika"
 
-#: ../clutter/clutter-stage.c:2006 ../clutter/deprecated/clutter-box.c:256
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1988 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Kolor"
 
-#: ../clutter/clutter-stage.c:2007
+#: ../clutter/clutter-stage.c:1989
 msgid "The color of the stage"
 msgstr "Kolor sceny"
 
-#: ../clutter/clutter-stage.c:2022
+#: ../clutter/clutter-stage.c:2004
 msgid "Perspective"
 msgstr "Perspektywa"
 
-#: ../clutter/clutter-stage.c:2023
+#: ../clutter/clutter-stage.c:2005
 msgid "Perspective projection parameters"
 msgstr "Parametry projekcji perspektywy"
 
-#: ../clutter/clutter-stage.c:2038
+#: ../clutter/clutter-stage.c:2020
 msgid "Title"
 msgstr "Tytuł"
 
-#: ../clutter/clutter-stage.c:2039
+#: ../clutter/clutter-stage.c:2021
 msgid "Stage Title"
 msgstr "Tytuł sceny"
 
-#: ../clutter/clutter-stage.c:2056
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Fog"
 msgstr "Użycie mgły"
 
-#: ../clutter/clutter-stage.c:2057
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to enable depth cueing"
 msgstr "Określa, czy włączyć wskazówki głębi"
 
-#: ../clutter/clutter-stage.c:2073
+#: ../clutter/clutter-stage.c:2055
 msgid "Fog"
 msgstr "Mgła"
 
-#: ../clutter/clutter-stage.c:2074
+#: ../clutter/clutter-stage.c:2056
 msgid "Settings for the depth cueing"
 msgstr "Ustawienia dla wskazówek głębi"
 
-#: ../clutter/clutter-stage.c:2090
+#: ../clutter/clutter-stage.c:2072
 msgid "Use Alpha"
 msgstr "Użycie alfy"
 
-#: ../clutter/clutter-stage.c:2091
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Określa, czy uwzględniać składnik alfa koloru sceny"
 
-#: ../clutter/clutter-stage.c:2107
+#: ../clutter/clutter-stage.c:2089
 msgid "Key Focus"
 msgstr "Aktywny klawisz"
 
-#: ../clutter/clutter-stage.c:2108
+#: ../clutter/clutter-stage.c:2090
 msgid "The currently key focused actor"
 msgstr "Aktor obecnie posiadający aktywny klawisz"
 
-#: ../clutter/clutter-stage.c:2124
+#: ../clutter/clutter-stage.c:2106
 msgid "No Clear Hint"
 msgstr "Bez wskazówki czyszczenia"
 
-#: ../clutter/clutter-stage.c:2125
+#: ../clutter/clutter-stage.c:2107
 msgid "Whether the stage should clear its contents"
 msgstr "Określa, czy scena powinna czyścić swoją zawartość"
 
-#: ../clutter/clutter-stage.c:2138
+#: ../clutter/clutter-stage.c:2120
 msgid "Accept Focus"
 msgstr "Akceptowanie aktywności"
 
-#: ../clutter/clutter-stage.c:2139
+#: ../clutter/clutter-stage.c:2121
 msgid "Whether the stage should accept focus on show"
 msgstr "Określa, czy scena powinna akceptować aktywność podczas wyświetlania"
 
-#: ../clutter/clutter-table-layout.c:537
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Numer kolumny"
 
-#: ../clutter/clutter-table-layout.c:538
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "Kolumna, w której znajdują się widżety"
 
-#: ../clutter/clutter-table-layout.c:545
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Numer wiersza"
 
-#: ../clutter/clutter-table-layout.c:546
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "Wiersz, w którym znajdują się widżety"
 
-#: ../clutter/clutter-table-layout.c:553
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Rozciągnięcie kolumny"
 
-#: ../clutter/clutter-table-layout.c:554
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "Liczba kolumn, na które powinien rozciągać się widżet"
 
-#: ../clutter/clutter-table-layout.c:561
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Rozciągnięcie wiersza"
 
-#: ../clutter/clutter-table-layout.c:562
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "Liczba rzędów, na które powinien rozciągać się widżet"
 
-#: ../clutter/clutter-table-layout.c:569
+#: ../clutter/clutter-table-layout.c:575
 msgid "Horizontal Expand"
 msgstr "Rozszerzenie poziome"
 
-#: ../clutter/clutter-table-layout.c:570
+#: ../clutter/clutter-table-layout.c:576
 msgid "Allocate extra space for the child in horizontal axis"
 msgstr "Przydziela dodatkowe miejsca na potomka w osi poziomej"
 
-#: ../clutter/clutter-table-layout.c:576
+#: ../clutter/clutter-table-layout.c:582
 msgid "Vertical Expand"
 msgstr "Rozszerzenie pionowe"
 
-#: ../clutter/clutter-table-layout.c:577
+#: ../clutter/clutter-table-layout.c:583
 msgid "Allocate extra space for the child in vertical axis"
 msgstr "Przydziela dodatkowe miejsca na potomka w osi pionowej"
 
-#: ../clutter/clutter-table-layout.c:1630
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Odstęp między kolumnami"
 
-#: ../clutter/clutter-table-layout.c:1644
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Odstęp między wierszami"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Tekst"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Zawartość bufora"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Długość tekstu"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Długość tekstu znajdującego się obecnie w buforze"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Maksymalna długość"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Maksymalna liczba znaków dla tego wpisu. Zero, jeśli nie ma maksimum"
 
-#: ../clutter/clutter-text.c:3375
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Bufor"
 
-#: ../clutter/clutter-text.c:3376
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "Bufor dla tekstu"
 
-#: ../clutter/clutter-text.c:3394
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "Czcionka używana przez tekst"
 
-#: ../clutter/clutter-text.c:3411
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Opis czcionki"
 
-#: ../clutter/clutter-text.c:3412
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "Używany opis czcionki"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "Tekst do wyświetlenia"
 
-#: ../clutter/clutter-text.c:3443
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Kolor czcionki"
 
-#: ../clutter/clutter-text.c:3444
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "Kolor czcionki używanej przez tekst"
 
-#: ../clutter/clutter-text.c:3459
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Można modyfikować"
 
-#: ../clutter/clutter-text.c:3460
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Określa, czy tekst można modyfikować"
 
-#: ../clutter/clutter-text.c:3475
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Można skalować"
 
-#: ../clutter/clutter-text.c:3476
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Określa, czy tekst można skalować"
 
-#: ../clutter/clutter-text.c:3490
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Można aktywować"
 
-#: ../clutter/clutter-text.c:3491
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr ""
 "Określa, czy wciśnięcie klawisza Return powoduje wysłanie sygnały aktywacji"
 
-#: ../clutter/clutter-text.c:3508
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Określa, czy kursor wejścia jest widoczny"
 
-#: ../clutter/clutter-text.c:3522 ../clutter/clutter-text.c:3523
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Kolor kursora"
 
-#: ../clutter/clutter-text.c:3538
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Ustawienie koloru kursora"
 
-#: ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Określa, czy kolor kursora został ustawiony"
 
-#: ../clutter/clutter-text.c:3554
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Rozmiar kursora"
 
-#: ../clutter/clutter-text.c:3555
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "Szerokość kursora w pikselach"
 
-#: ../clutter/clutter-text.c:3571 ../clutter/clutter-text.c:3589
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Położenie kursora"
 
-#: ../clutter/clutter-text.c:3572 ../clutter/clutter-text.c:3590
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "Położenie kursora"
 
-#: ../clutter/clutter-text.c:3605
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Powiązanie zaznaczenia"
 
-#: ../clutter/clutter-text.c:3606
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "Położenie kursora na drugim końcu zaznaczenia"
 
-#: ../clutter/clutter-text.c:3621 ../clutter/clutter-text.c:3622
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Kolor zaznaczenia"
 
-#: ../clutter/clutter-text.c:3637
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Ustawienie koloru zaznaczenia"
 
-#: ../clutter/clutter-text.c:3638
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Określa, czy kolor zaznaczenia został ustawiony"
 
-#: ../clutter/clutter-text.c:3653
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Atrybuty"
 
-#: ../clutter/clutter-text.c:3654
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Lista atrybutów stylu do zastosowania do zawartości aktora"
 
-#: ../clutter/clutter-text.c:3676
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Użycie znaczników"
 
-#: ../clutter/clutter-text.c:3677
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Określa, czy tekst zawiera znaczniki biblioteki Pango"
 
-#: ../clutter/clutter-text.c:3693
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Zawijanie wierszy"
 
-#: ../clutter/clutter-text.c:3694
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Jeśli ustawione, zawija wiersze, jeśli tekst staje się za szeroki"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Tryb zawijania wierszy"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Kontroluje, jak wykonywać zawijanie wierszy"
 
-#: ../clutter/clutter-text.c:3725
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Przycięcie"
 
-#: ../clutter/clutter-text.c:3726
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "Preferowane miejsce do przycięcia ciągu"
 
-#: ../clutter/clutter-text.c:3742
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Wyrównanie wiersza"
 
-#: ../clutter/clutter-text.c:3743
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Preferowane wyrównanie ciągu dla tekstu wielowierszowego"
 
-#: ../clutter/clutter-text.c:3759
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Justowanie"
 
-#: ../clutter/clutter-text.c:3760
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Określa, czy tekst powinien być justowany"
 
-#: ../clutter/clutter-text.c:3775
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Znak hasła"
 
-#: ../clutter/clutter-text.c:3776
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Jeśli nie wynosi zero, używa tego znaku do wyświetlania zawartości aktora"
 
-#: ../clutter/clutter-text.c:3790
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Maksymalna długość"
 
-#: ../clutter/clutter-text.c:3791
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Maksymalna długość tekstu w aktorze"
 
-#: ../clutter/clutter-text.c:3814
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Tryb pojedynczego wiersza"
 
-#: ../clutter/clutter-text.c:3815
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Określa, czy tekst powinien być pojedynczym wierszem"
 
-#: ../clutter/clutter-text.c:3829 ../clutter/clutter-text.c:3830
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Kolor zaznaczonego tekstu"
 
-#: ../clutter/clutter-text.c:3845
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Ustawienie koloru zaznaczonego tekstu"
 
-#: ../clutter/clutter-text.c:3846
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Określa, czy kolor zaznaczonego tekstu został ustawiony"
 
-#: ../clutter/clutter-timeline.c:593
-#: ../clutter/deprecated/clutter-animation.c:557
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Pętla"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Czy oś czasu powinna być automatycznie rozpoczynana od początku"
 
-#: ../clutter/clutter-timeline.c:608
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Opóźnienie"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Opóźnienie przed rozpoczęciem"
 
-#: ../clutter/clutter-timeline.c:624
-#: ../clutter/deprecated/clutter-animation.c:541
-#: ../clutter/deprecated/clutter-animator.c:1801
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1517
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Czas trwania"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Czas trwania osi czasu, w milisekundach"
 
-#: ../clutter/clutter-timeline.c:640
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Kierunek"
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Kierunek osi czasu"
 
-#: ../clutter/clutter-timeline.c:656
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Automatyczne odwracanie"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Określa, czy kierunek powinien być odwracany po dojściu do końca"
 
-#: ../clutter/clutter-timeline.c:675
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Liczba powtórzeń"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Ile razy oś czasu powinna być powtarzana"
 
-#: ../clutter/clutter-timeline.c:690
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Tryb postępu"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Jak oś czasu powinna obliczać postęp"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Okres czasu"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "Okres czasu wartości do przejścia"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Można animować"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "Obiekt, który można animować"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Usunięcie po ukończeniu"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Odłącza przejście po ukończeniu"
 
@@ -2063,278 +2051,278 @@ msgstr "Powiększanie na osi"
 msgid "Constraints the zoom to an axis"
 msgstr "Ogranicza powiększanie do osi"
 
-#: ../clutter/deprecated/clutter-alpha.c:354
-#: ../clutter/deprecated/clutter-animation.c:572
-#: ../clutter/deprecated/clutter-animator.c:1818
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "Timeline"
 msgstr "Oś czasu"
 
-#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "Oś czasu używana przez alfę"
 
-#: ../clutter/deprecated/clutter-alpha.c:371
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Wartość alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:372
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "Wartość alfa obliczona przez alfę"
 
-#: ../clutter/deprecated/clutter-alpha.c:393
-#: ../clutter/deprecated/clutter-animation.c:525
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Tryb"
 
-#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Tryb postępu"
 
-#: ../clutter/deprecated/clutter-animation.c:508
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Obiekt"
 
-#: ../clutter/deprecated/clutter-animation.c:509
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "Obiekt, do którego animacja jest zastosowywana"
 
-#: ../clutter/deprecated/clutter-animation.c:526
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "Tryb animacji"
 
-#: ../clutter/deprecated/clutter-animation.c:542
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "Czas trwania animacji, w milisekundach"
 
-#: ../clutter/deprecated/clutter-animation.c:558
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Określa, czy animacja powinna być zapętlona"
 
-#: ../clutter/deprecated/clutter-animation.c:573
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "Oś czasu używana przez animację"
 
-#: ../clutter/deprecated/clutter-animation.c:589
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alfa"
 
-#: ../clutter/deprecated/clutter-animation.c:590
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "Alfa używana przez animację"
 
-#: ../clutter/deprecated/clutter-animator.c:1802
+#: ../clutter/deprecated/clutter-animator.c:1805
 msgid "The duration of the animation"
 msgstr "Czas trwania animacji"
 
-#: ../clutter/deprecated/clutter-animator.c:1819
+#: ../clutter/deprecated/clutter-animator.c:1822
 msgid "The timeline of the animation"
 msgstr "Oś czasu animacji"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Obiekt alfa prowadzący zachowanie"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Głębia początkowa"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Początkowa głębia do zastosowania"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Głębia końcowa"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Końcowa głębia do zastosowania"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Kąt początkowy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Kąt początkowy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Kąt końcowy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Kąt końcowy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Nachylenie kąta współrzędnej X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "Nachylenie elipsy wokół osi X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Nachylenie kąta współrzędnej Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "Nachylenie elipsy wokół osi Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Nachylenie kąta współrzędnej Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "Nachylenie elipsy wokół osi Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Szerokość alipsy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Wysokość elipsy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Środek"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Środek elipsy"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Kierunek obrotu"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Początkowa nieprzezroczystość"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Początkowy poziom nieprzezroczystości"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Końcowa nieprzezroczystość"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Końcowy poziom nieprzezroczystości"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "Obiekt \"ClutterPath\" przedstawiający ścieżkę, na której animować"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Kąt początkowy"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Kąt końcowy"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Oś"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Oś obrotu"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Środek współrzędnej X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "Współrzędna X środka obrotu"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Środek współrzędnej Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Współrzędna Y środka obrotu"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Środek współrzędnej Z"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Współrzędna Z środka obrotu"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Początkowe skalowanie współrzędnej X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Początkowe skalowanie na osi X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Końcowe skalowanie współrzędnej X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Końcowe skalowanie na osi X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Początkowe skalowanie współrzędnej Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Początkowe skalowanie na osi Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Końcowe skalowanie współrzędnej Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Końcowe skalowanie na osi Y"
 
-#: ../clutter/deprecated/clutter-box.c:257
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "Kolor tła pola"
 
-#: ../clutter/deprecated/clutter-box.c:270
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Ustawienie koloru"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:593
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Szerokość powierzchni"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:594
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "Szerokość powierzchni biblioteki cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:611
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Wysokość powierzchni"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:612
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "Wysokość powierzchni biblioteki cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:632
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Automatyczna zmiana rozmiaru"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:633
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Określa, czy powierzchnia powinna pasować do przydzielenia"
 
@@ -2406,103 +2394,103 @@ msgstr "Poziom wypełnienia bufora"
 msgid "The duration of the stream, in seconds"
 msgstr "Czas trwania strumienia w sekundach"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "Kolor prostokąta"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Kolor krawędzi"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "Kolor krawędzi prostokąta"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Szerokość krawędzi"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "Szerokość krawędzi prostokąta"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Posiada krawędź"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Określa, czy prostokąt powinien posiadać krawędź"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Źródło wierzchołków"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Źródło cieniowania wierzchołkowego"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Źródło fragmentów"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Źródło cieniowania fragmentów"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Skompilowany"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Określa, czy cieniowanie jest skompilowane i skonsolidowane"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Określa, czy cieniowanie jest włączone"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "Kompilacja %s się nie powiodła: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Cieniowanie wierzchołkowe"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Cieniowanie fragmentów"
 
-#: ../clutter/deprecated/clutter-state.c:1499
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "State"
 msgstr "Stan"
 
-#: ../clutter/deprecated/clutter-state.c:1500
+#: ../clutter/deprecated/clutter-state.c:1506
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "Obecnie ustawiony stan (przejście do tego stanu może nie zostać ukończone)"
 
-#: ../clutter/deprecated/clutter-state.c:1518
+#: ../clutter/deprecated/clutter-state.c:1524
 msgid "Default transition duration"
 msgstr "Domyślny czas trwania przejścia"
 
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Synchronizacja rozmiaru aktora"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Automatycznie synchronizuje rozmiar aktora z wymiarami podstawowej mapy "
 "pikseli"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Wyłączenie dzielenia"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2510,77 +2498,77 @@ msgstr ""
 "Wymusza pojedynczą teksturę podstawową, zamiast mniejszych tekstur "
 "zachowujących miejsce"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Marnowanie kafla"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Maksymalny marnowany obszar podzielonej tekstury"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Powtórzenie poziome"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Powtarza zawartość, zamiast skalowania poziomego"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Powtarzanie pionowe"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Powtarza zawartość, zamiast skalowania pionowego"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Jakość filtru"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "Jakość wyświetlania tekstury"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Format pikseli"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "Używany format pikseli biblioteki Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Tekstura biblioteki Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr ""
 "Podstawowy uchwyt tekstury biblioteki Cogl używany do wyświetlania tego "
 "aktora"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Materiał biblioteki Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 "Podstawowy uchwyt materiału biblioteki Cogl używany do wyświetlania tego "
 "aktora"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "Ścieżka pliku zawierającego dane obrazu"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Utrzymywanie współczynnika proporcji"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
@@ -2588,22 +2576,22 @@ msgstr ""
 "Utrzymuje współczynnik proporcji tekstury podczas żądania preferowanej "
 "szerokości lub wysokości"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Wczytywanie asynchroniczne"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Wczytuje pliki wewnątrz wątku, aby unikać blokowanie podczas wczytywania "
 "obrazów z dysku"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Asynchroniczne wczytywanie danych"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2611,90 +2599,90 @@ msgstr ""
 "Dekoduje pliki danych obrazów wewnątrz wątku, aby zmniejszyć blokowanie "
 "podczas wczytywania obrazów z dysku"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Wybieranie za pomocą alfy"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Kształtowanie aktora za pomocą kanału alfa podczas wybierania"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Wczytanie danych obrazu się nie powiodło"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "Tekstury YUV nie są obsługiwane"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "Tekstury YUV2 nie są obsługiwane"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:154
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
 msgid "sysfs Path"
 msgstr "Ścieżka sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:155
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
 msgid "Path of the device in sysfs"
 msgstr "Ścieżka urządzenia w sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:170
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
 msgid "Device Path"
 msgstr "Ścieżka urządzenia"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:171
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
 msgid "Path of the device node"
 msgstr "Ścieżka węzła urządzenia"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "Nie można odnaleźć odpowiedniego CoglWinsys dla GdkDisplay typu %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Powierzchnia"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "Podstawowa powierzchnia systemu Wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Szerokość powierzchni"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "Szerokość podstawowej powierzchni systemu Wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Wysokość powierzchni"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "Wysokość podstawowej powierzchni systemu Wayland"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Używany ekran X"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Używany ekran X"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Synchroniczne wywołania X"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
+#: ../clutter/x11/clutter-backend-x11.c:534
 msgid "Disable XInput support"
 msgstr "Wyłącza obsługę XInput"
 
@@ -2702,102 +2690,102 @@ msgstr "Wyłącza obsługę XInput"
 msgid "The Clutter backend"
 msgstr "Mechanizm biblioteki Clutter"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Mapa pikseli"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "Mapa pikseli X11 do powiązania"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Szerokość mapy pikseli"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "Szerokość mapy pikseli powiązanej z tą teksturą"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Wysokość mapy pikseli"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "Wysokość mapy pikseli powiązanej z tą teksturą"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Głębia mapy pikseli"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr "Głębia (w liczbie bitów) mapy pikseli powiązanej z tą teksturą"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Automatyczne aktualizacje"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Czy tekstura powinna być utrzymywana w synchronizacji ze wszystkimi zmianami "
 "mapy pikseli."
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Okno"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "Okno X11 do powiązania"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Automatyczne przekierowanie okien"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Czy składane przekierowania składanych okien powinny być automatyczne (lub "
 "ręczne, jeśli ustawione na fałsz)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Mapowanie okien"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Czy okna są mapowane"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Zniszczone"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Czy okno zostało zniszczone"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "Współrzędna X okna"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "Współrzędna X okna na ekranie według X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Współrzędna Y okna"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "Współrzędna Y okna na ekranie według X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Przekierowanie zastąpienia okna"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Czy to jest okno zastąpienia przekierowania"
diff --git a/po/pt.po b/po/pt.po
index 8c0c610..a007e89 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,11 +5,11 @@
 # 
 msgid ""
 msgstr ""
-"Project-Id-Version: 3.10\n"
+"Project-Id-Version: 3.8\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter\n"
-"POT-Creation-Date: 2013-09-23 00:04+0100\n"
-"PO-Revision-Date: 2013-09-23 00:10+0000\n"
+"POT-Creation-Date: 2013-03-15 14:30+0000\n"
+"PO-Revision-Date: 2013-03-15 14:35+0000\n"
 "Last-Translator: Duarte Loreto <happyguy_pt hotmail com>\n"
 "Language-Team: Portuguese <gnome_pt yahoogroups com>\n"
 "Language: pt\n"
@@ -17,558 +17,664 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../clutter/clutter-actor.c:5583
+#: ../clutter/clutter-actor.c:6175
 msgid "X coordinate"
 msgstr "Coordenada X"
 
-#: ../clutter/clutter-actor.c:5584
+#: ../clutter/clutter-actor.c:6176
 msgid "X coordinate of the actor"
 msgstr "Coordenada X do ator"
 
-#: ../clutter/clutter-actor.c:5602
+#: ../clutter/clutter-actor.c:6194
 msgid "Y coordinate"
 msgstr "Coordenada Y"
 
-#: ../clutter/clutter-actor.c:5603
+#: ../clutter/clutter-actor.c:6195
 msgid "Y coordinate of the actor"
 msgstr "Coordenada Y do ator"
 
-#: ../clutter/clutter-actor.c:5625
+#: ../clutter/clutter-actor.c:6217
 msgid "Position"
 msgstr "Posição"
 
-#: ../clutter/clutter-actor.c:5626
+#: ../clutter/clutter-actor.c:6218
 msgid "The position of the origin of the actor"
 msgstr "A posição da origem do ator"
 
-#: ../clutter/clutter-actor.c:5643 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-actor.c:6235 ../clutter/clutter-canvas.c:215
 #: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Largura"
 
-#: ../clutter/clutter-actor.c:5644
+#: ../clutter/clutter-actor.c:6236
 msgid "Width of the actor"
 msgstr "Largura do ator"
 
-#: ../clutter/clutter-actor.c:5662 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-actor.c:6254 ../clutter/clutter-canvas.c:231
 #: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Altura"
 
-#: ../clutter/clutter-actor.c:5663
+#: ../clutter/clutter-actor.c:6255
 msgid "Height of the actor"
 msgstr "Altura do ator"
 
-#: ../clutter/clutter-actor.c:5684
+#: ../clutter/clutter-actor.c:6276
 msgid "Size"
 msgstr "Tamanho"
 
-#: ../clutter/clutter-actor.c:5685
+#: ../clutter/clutter-actor.c:6277
 msgid "The size of the actor"
 msgstr "O tamanho do ator"
 
-#: ../clutter/clutter-actor.c:5703
+#: ../clutter/clutter-actor.c:6295
 msgid "Fixed X"
 msgstr "X Fixo"
 
-#: ../clutter/clutter-actor.c:5704
+#: ../clutter/clutter-actor.c:6296
 msgid "Forced X position of the actor"
 msgstr "Posição X forçada do ator"
 
-#: ../clutter/clutter-actor.c:5721
+#: ../clutter/clutter-actor.c:6313
 msgid "Fixed Y"
 msgstr "Y Fixo"
 
-#: ../clutter/clutter-actor.c:5722
+#: ../clutter/clutter-actor.c:6314
 msgid "Forced Y position of the actor"
 msgstr "Posição Y forçada do ator"
 
-#: ../clutter/clutter-actor.c:5737
+#: ../clutter/clutter-actor.c:6329
 msgid "Fixed position set"
 msgstr "Conjunto de posição fixa"
 
-#: ../clutter/clutter-actor.c:5738
+#: ../clutter/clutter-actor.c:6330
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Se utilizar ou não posição forçada para o ator"
 
-#: ../clutter/clutter-actor.c:5756
+#: ../clutter/clutter-actor.c:6348
 msgid "Min Width"
 msgstr "Largura Mín"
 
-#: ../clutter/clutter-actor.c:5757
+#: ../clutter/clutter-actor.c:6349
 msgid "Forced minimum width request for the actor"
 msgstr "Largura forçada mínima requerida para o ator"
 
-#: ../clutter/clutter-actor.c:5775
+#: ../clutter/clutter-actor.c:6367
 msgid "Min Height"
 msgstr "Altura Mín"
 
-#: ../clutter/clutter-actor.c:5776
+#: ../clutter/clutter-actor.c:6368
 msgid "Forced minimum height request for the actor"
 msgstr "Altura forçada mínima requerida para o ator"
 
-#: ../clutter/clutter-actor.c:5794
+#: ../clutter/clutter-actor.c:6386
 msgid "Natural Width"
 msgstr "Largura Natural"
 
-#: ../clutter/clutter-actor.c:5795
+#: ../clutter/clutter-actor.c:6387
 msgid "Forced natural width request for the actor"
 msgstr "Largura forçada natural requerida para o ator"
 
-#: ../clutter/clutter-actor.c:5813
+#: ../clutter/clutter-actor.c:6405
 msgid "Natural Height"
 msgstr "Altura Natural"
 
-#: ../clutter/clutter-actor.c:5814
+#: ../clutter/clutter-actor.c:6406
 msgid "Forced natural height request for the actor"
 msgstr "Altura forçada natural requerida para o ator"
 
-#: ../clutter/clutter-actor.c:5829
+#: ../clutter/clutter-actor.c:6421
 msgid "Minimum width set"
 msgstr "Conjunto de largura mínima"
 
-#: ../clutter/clutter-actor.c:5830
+#: ../clutter/clutter-actor.c:6422
 msgid "Whether to use the min-width property"
 msgstr "Se utilizar ou não a propriedade min-width"
 
-#: ../clutter/clutter-actor.c:5844
+#: ../clutter/clutter-actor.c:6436
 msgid "Minimum height set"
 msgstr "Conjunto de altura mínima"
 
-#: ../clutter/clutter-actor.c:5845
+#: ../clutter/clutter-actor.c:6437
 msgid "Whether to use the min-height property"
 msgstr "Se utilizar ou não a propriedade min-height"
 
-#: ../clutter/clutter-actor.c:5859
+#: ../clutter/clutter-actor.c:6451
 msgid "Natural width set"
 msgstr "Conjunto de largura natural"
 
-#: ../clutter/clutter-actor.c:5860
+#: ../clutter/clutter-actor.c:6452
 msgid "Whether to use the natural-width property"
 msgstr "Se utilizar ou não a propriedade natural-width"
 
-#: ../clutter/clutter-actor.c:5874
+#: ../clutter/clutter-actor.c:6466
 msgid "Natural height set"
 msgstr "Conjunto de altura natural"
 
-#: ../clutter/clutter-actor.c:5875
+#: ../clutter/clutter-actor.c:6467
 msgid "Whether to use the natural-height property"
 msgstr "Se utilizar ou não a propriedade natural-height"
 
-#: ../clutter/clutter-actor.c:5891
+#: ../clutter/clutter-actor.c:6483
 msgid "Allocation"
 msgstr "Alocação"
 
-#: ../clutter/clutter-actor.c:5892
+#: ../clutter/clutter-actor.c:6484
 msgid "The actor's allocation"
 msgstr "A alocação do ator"
 
-#: ../clutter/clutter-actor.c:5949
+#: ../clutter/clutter-actor.c:6541
 msgid "Request Mode"
 msgstr "Modo de Pedido"
 
-#: ../clutter/clutter-actor.c:5950
+#: ../clutter/clutter-actor.c:6542
 msgid "The actor's request mode"
 msgstr "O modo de pedido do ator"
 
-#: ../clutter/clutter-actor.c:5974
+#: ../clutter/clutter-actor.c:6566
+msgid "Depth"
+msgstr "Profundidade"
+
+#: ../clutter/clutter-actor.c:6567
+msgid "Position on the Z axis"
+msgstr "Posição no eixo Z"
+
+#: ../clutter/clutter-actor.c:6594
 msgid "Z Position"
 msgstr "Posição Z"
 
-#: ../clutter/clutter-actor.c:5975
+#: ../clutter/clutter-actor.c:6595
 msgid "The actor's position on the Z axis"
 msgstr "A posição do ator no eixo Z"
 
-#: ../clutter/clutter-actor.c:5992
+#: ../clutter/clutter-actor.c:6612
 msgid "Opacity"
 msgstr "Opacidade"
 
-#: ../clutter/clutter-actor.c:5993
+#: ../clutter/clutter-actor.c:6613
 msgid "Opacity of an actor"
 msgstr "Opacidade do ator"
 
-#: ../clutter/clutter-actor.c:6013
+#: ../clutter/clutter-actor.c:6633
 msgid "Offscreen redirect"
 msgstr "Redireccionamento fora de ecrã"
 
-#: ../clutter/clutter-actor.c:6014
+#: ../clutter/clutter-actor.c:6634
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Parâmetros que controlam quando alisar o ator numa única imagem"
 
-#: ../clutter/clutter-actor.c:6028
+#: ../clutter/clutter-actor.c:6648
 msgid "Visible"
 msgstr "Visível"
 
-#: ../clutter/clutter-actor.c:6029
+#: ../clutter/clutter-actor.c:6649
 msgid "Whether the actor is visible or not"
 msgstr "Se o ator é ou não visível"
 
-#: ../clutter/clutter-actor.c:6043
+#: ../clutter/clutter-actor.c:6663
 msgid "Mapped"
 msgstr "Mapeado"
 
-#: ../clutter/clutter-actor.c:6044
+#: ../clutter/clutter-actor.c:6664
 msgid "Whether the actor will be painted"
 msgstr "Se o ator será ou não pintado"
 
-#: ../clutter/clutter-actor.c:6057
+#: ../clutter/clutter-actor.c:6677
 msgid "Realized"
 msgstr "Criado"
 
-#: ../clutter/clutter-actor.c:6058
+#: ../clutter/clutter-actor.c:6678
 msgid "Whether the actor has been realized"
 msgstr "Se o ator foi ou não criado"
 
-#: ../clutter/clutter-actor.c:6073
+#: ../clutter/clutter-actor.c:6693
 msgid "Reactive"
 msgstr "Reativo"
 
-#: ../clutter/clutter-actor.c:6074
+#: ../clutter/clutter-actor.c:6694
 msgid "Whether the actor is reactive to events"
 msgstr "Se o ator é ou não reativo a eventos"
 
-#: ../clutter/clutter-actor.c:6085
+#: ../clutter/clutter-actor.c:6705
 msgid "Has Clip"
 msgstr "Tem Corte"
 
-#: ../clutter/clutter-actor.c:6086
+#: ../clutter/clutter-actor.c:6706
 msgid "Whether the actor has a clip set"
 msgstr "Se o ator tem ou não um conjunto de corte"
 
-#: ../clutter/clutter-actor.c:6105
+#: ../clutter/clutter-actor.c:6719
+msgid "Clip"
+msgstr "Corte"
+
+#: ../clutter/clutter-actor.c:6720
+msgid "The clip region for the actor"
+msgstr "A região de corte do ator"
+
+#: ../clutter/clutter-actor.c:6739
 msgid "Clip Rectangle"
 msgstr "Retângulo de Corte"
 
-#: ../clutter/clutter-actor.c:6106
+#: ../clutter/clutter-actor.c:6740
 msgid "The visible region of the actor"
 msgstr "A região visível do ator"
 
-#: ../clutter/clutter-actor.c:6120 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-actor.c:6754 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nome"
 
-#: ../clutter/clutter-actor.c:6121
+#: ../clutter/clutter-actor.c:6755
 msgid "Name of the actor"
 msgstr "Nome do ator"
 
-#: ../clutter/clutter-actor.c:6142
+#: ../clutter/clutter-actor.c:6776
 msgid "Pivot Point"
 msgstr "Ponto de Pivot"
 
-#: ../clutter/clutter-actor.c:6143
+#: ../clutter/clutter-actor.c:6777
 msgid "The point around which the scaling and rotation occur"
 msgstr "O ponto em torno do qual ocorre o escalar e a rotação"
 
-#: ../clutter/clutter-actor.c:6161
+#: ../clutter/clutter-actor.c:6795
 msgid "Pivot Point Z"
 msgstr "Ponto Pivot Z"
 
-#: ../clutter/clutter-actor.c:6162
+#: ../clutter/clutter-actor.c:6796
 msgid "Z component of the pivot point"
 msgstr "Componente Z do ponto de pivot"
 
-#: ../clutter/clutter-actor.c:6180
+#: ../clutter/clutter-actor.c:6814
 msgid "Scale X"
 msgstr "Escala X"
 
-#: ../clutter/clutter-actor.c:6181
+#: ../clutter/clutter-actor.c:6815
 msgid "Scale factor on the X axis"
 msgstr "Fator de escala do eixo X"
 
-#: ../clutter/clutter-actor.c:6199
+#: ../clutter/clutter-actor.c:6833
 msgid "Scale Y"
 msgstr "Escala Y"
 
-#: ../clutter/clutter-actor.c:6200
+#: ../clutter/clutter-actor.c:6834
 msgid "Scale factor on the Y axis"
 msgstr "Fator de escala do eixo Y"
 
-#: ../clutter/clutter-actor.c:6218
+#: ../clutter/clutter-actor.c:6852
 msgid "Scale Z"
 msgstr "Escala Z"
 
-#: ../clutter/clutter-actor.c:6219
+#: ../clutter/clutter-actor.c:6853
 msgid "Scale factor on the Z axis"
 msgstr "Fator de escala do eixo Z"
 
-#: ../clutter/clutter-actor.c:6237
+#: ../clutter/clutter-actor.c:6871
+msgid "Scale Center X"
+msgstr "Centro da Escala X"
+
+#: ../clutter/clutter-actor.c:6872
+msgid "Horizontal scale center"
+msgstr "Centro da escala horizontal"
+
+#: ../clutter/clutter-actor.c:6890
+msgid "Scale Center Y"
+msgstr "Centro da Escala Y"
+
+#: ../clutter/clutter-actor.c:6891
+msgid "Vertical scale center"
+msgstr "Centro da escala vertical"
+
+#: ../clutter/clutter-actor.c:6909
+msgid "Scale Gravity"
+msgstr "Gravidade da Escala"
+
+#: ../clutter/clutter-actor.c:6910
+msgid "The center of scaling"
+msgstr "O centro da escala"
+
+#: ../clutter/clutter-actor.c:6928
 msgid "Rotation Angle X"
 msgstr "Ângulo de Rotação X"
 
-#: ../clutter/clutter-actor.c:6238
+#: ../clutter/clutter-actor.c:6929
 msgid "The rotation angle on the X axis"
 msgstr "O ângulo de rotação no eixo X"
 
-#: ../clutter/clutter-actor.c:6256
+#: ../clutter/clutter-actor.c:6947
 msgid "Rotation Angle Y"
 msgstr "Ângulo de Rotação Y"
 
-#: ../clutter/clutter-actor.c:6257
+#: ../clutter/clutter-actor.c:6948
 msgid "The rotation angle on the Y axis"
 msgstr "O ângulo de rotação no eixo Y"
 
-#: ../clutter/clutter-actor.c:6275
+#: ../clutter/clutter-actor.c:6966
 msgid "Rotation Angle Z"
 msgstr "Ângulo de Rotação Z"
 
-#: ../clutter/clutter-actor.c:6276
+#: ../clutter/clutter-actor.c:6967
 msgid "The rotation angle on the Z axis"
 msgstr "O ângulo de rotação no eixo Z"
 
-#: ../clutter/clutter-actor.c:6295
+#: ../clutter/clutter-actor.c:6985
+msgid "Rotation Center X"
+msgstr "Centro de Rotação X"
+
+#: ../clutter/clutter-actor.c:6986
+msgid "The rotation center on the X axis"
+msgstr "O centro de rotação no eixo X"
+
+#: ../clutter/clutter-actor.c:7003
+msgid "Rotation Center Y"
+msgstr "Centro de Rotação Y"
+
+#: ../clutter/clutter-actor.c:7004
+msgid "The rotation center on the Y axis"
+msgstr "O centro de rotação no eixo Y"
+
+#: ../clutter/clutter-actor.c:7021
+msgid "Rotation Center Z"
+msgstr "Centro de Rotação Z"
+
+#: ../clutter/clutter-actor.c:7022
+msgid "The rotation center on the Z axis"
+msgstr "O centro de rotação no eixo Z"
+
+#: ../clutter/clutter-actor.c:7039
+msgid "Rotation Center Z Gravity"
+msgstr "Gravidade do Centro de Rotação Z"
+
+#: ../clutter/clutter-actor.c:7040
+msgid "Center point for rotation around the Z axis"
+msgstr "Ponto central da rotação em torno do eixo Z"
+
+#: ../clutter/clutter-actor.c:7068
+msgid "Anchor X"
+msgstr "Âncora X"
+
+#: ../clutter/clutter-actor.c:7069
+msgid "X coordinate of the anchor point"
+msgstr "Coordenada X do ponto de ancoragem"
+
+#: ../clutter/clutter-actor.c:7097
+msgid "Anchor Y"
+msgstr "Âncora Y"
+
+#: ../clutter/clutter-actor.c:7098
+msgid "Y coordinate of the anchor point"
+msgstr "Coordenada Y do ponto de ancoragem"
+
+#: ../clutter/clutter-actor.c:7125
+msgid "Anchor Gravity"
+msgstr "Gravidade da Âncora"
+
+#: ../clutter/clutter-actor.c:7126
+msgid "The anchor point as a ClutterGravity"
+msgstr "O ponto de ancoragem como um ClutterGravity"
+
+#: ../clutter/clutter-actor.c:7145
 msgid "Translation X"
 msgstr "Tradução X"
 
-#: ../clutter/clutter-actor.c:6296
+#: ../clutter/clutter-actor.c:7146
 msgid "Translation along the X axis"
 msgstr "Tradução ao longo do eixo X"
 
-#: ../clutter/clutter-actor.c:6315
+#: ../clutter/clutter-actor.c:7165
 msgid "Translation Y"
 msgstr "Tradução Y"
 
-#: ../clutter/clutter-actor.c:6316
+#: ../clutter/clutter-actor.c:7166
 msgid "Translation along the Y axis"
 msgstr "Tradução ao longo do eixo Y"
 
-#: ../clutter/clutter-actor.c:6335
+#: ../clutter/clutter-actor.c:7185
 msgid "Translation Z"
 msgstr "Tradução Z"
 
-#: ../clutter/clutter-actor.c:6336
+#: ../clutter/clutter-actor.c:7186
 msgid "Translation along the Z axis"
 msgstr "Tradução ao longo do eixo Z"
 
-#: ../clutter/clutter-actor.c:6364
+#: ../clutter/clutter-actor.c:7216
 msgid "Transform"
 msgstr "Transformação"
 
-#: ../clutter/clutter-actor.c:6365
+#: ../clutter/clutter-actor.c:7217
 msgid "Transformation matrix"
 msgstr "Matriz de transformação"
 
-#: ../clutter/clutter-actor.c:6378
+#: ../clutter/clutter-actor.c:7232
 msgid "Transform Set"
 msgstr "Transformação Definida"
 
-#: ../clutter/clutter-actor.c:6379
+#: ../clutter/clutter-actor.c:7233
 msgid "Whether the transform property is set"
 msgstr "Se a propriedade de transformação está ou não definida"
 
-#: ../clutter/clutter-actor.c:6398
+#: ../clutter/clutter-actor.c:7254
 msgid "Child Transform"
 msgstr "Transformação do Filho"
 
-#: ../clutter/clutter-actor.c:6399
+#: ../clutter/clutter-actor.c:7255
 msgid "Children transformation matrix"
 msgstr "Matriz de transformação dos filhos"
 
-#: ../clutter/clutter-actor.c:6414
+#: ../clutter/clutter-actor.c:7270
 msgid "Child Transform Set"
 msgstr "Transformação do Filho Definida"
 
-#: ../clutter/clutter-actor.c:6415
+#: ../clutter/clutter-actor.c:7271
 msgid "Whether the child-transform property is set"
 msgstr "Se a propriedade de transformação do filho está ou não definida"
 
-#: ../clutter/clutter-actor.c:6433
+#: ../clutter/clutter-actor.c:7288
+msgid "Show on set parent"
+msgstr "Apresentar ao definir pai"
+
+#: ../clutter/clutter-actor.c:7289
+msgid "Whether the actor is shown when parented"
+msgstr "Se o ator é apresentado quando tem pai"
+
+#: ../clutter/clutter-actor.c:7306
 msgid "Clip to Allocation"
 msgstr "Cortar para a Alocação"
 
-#: ../clutter/clutter-actor.c:6434
+#: ../clutter/clutter-actor.c:7307
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Define a região de corte para acompanhar a alocação do ator"
 
-#: ../clutter/clutter-actor.c:6447
+#: ../clutter/clutter-actor.c:7320
 msgid "Text Direction"
 msgstr "Direção do Texto"
 
-#: ../clutter/clutter-actor.c:6448
+#: ../clutter/clutter-actor.c:7321
 msgid "Direction of the text"
 msgstr "Direção do texto"
 
-#: ../clutter/clutter-actor.c:6463
+#: ../clutter/clutter-actor.c:7336
 msgid "Has Pointer"
 msgstr "Tem Ponteiro"
 
-#: ../clutter/clutter-actor.c:6464
+#: ../clutter/clutter-actor.c:7337
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Se o ator contém ou não o ponteiro de um dispositivo de entrada"
 
-#: ../clutter/clutter-actor.c:6477
+#: ../clutter/clutter-actor.c:7350
 msgid "Actions"
 msgstr "Ações"
 
-#: ../clutter/clutter-actor.c:6478
+#: ../clutter/clutter-actor.c:7351
 msgid "Adds an action to the actor"
 msgstr "Adiciona uma ação ao ator"
 
-#: ../clutter/clutter-actor.c:6491
+#: ../clutter/clutter-actor.c:7364
 msgid "Constraints"
 msgstr "Limitações"
 
-#: ../clutter/clutter-actor.c:6492
+#: ../clutter/clutter-actor.c:7365
 msgid "Adds a constraint to the actor"
 msgstr "Adiciona uma limitação ao ator"
 
-#: ../clutter/clutter-actor.c:6505
+#: ../clutter/clutter-actor.c:7378
 msgid "Effect"
 msgstr "Efeito"
 
-#: ../clutter/clutter-actor.c:6506
+#: ../clutter/clutter-actor.c:7379
 msgid "Add an effect to be applied on the actor"
 msgstr "Adicionar um efeito a ser aplicado ao ator"
 
-#: ../clutter/clutter-actor.c:6520
+#: ../clutter/clutter-actor.c:7393
 msgid "Layout Manager"
 msgstr "Gestor de Disposição"
 
-#: ../clutter/clutter-actor.c:6521
+#: ../clutter/clutter-actor.c:7394
 msgid "The object controlling the layout of an actor's children"
 msgstr "O objeto que controla a disposição dos filhos do ator"
 
-#: ../clutter/clutter-actor.c:6535
+#: ../clutter/clutter-actor.c:7408
 msgid "X Expand"
 msgstr "Expansão X"
 
-#: ../clutter/clutter-actor.c:6536
+#: ../clutter/clutter-actor.c:7409
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Se um espaço extra horizontal deverá ou não ser atribuído ao ator"
 
-#: ../clutter/clutter-actor.c:6551
+#: ../clutter/clutter-actor.c:7424
 msgid "Y Expand"
 msgstr "Expansão Y"
 
-#: ../clutter/clutter-actor.c:6552
+#: ../clutter/clutter-actor.c:7425
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Se um espaço extra vertical deverá ou não ser atribuído ao ator"
 
-#: ../clutter/clutter-actor.c:6568
+#: ../clutter/clutter-actor.c:7441
 msgid "X Alignment"
 msgstr "Alinhamento X"
 
-#: ../clutter/clutter-actor.c:6569
+#: ../clutter/clutter-actor.c:7442
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "O alinhamento do ator sobre o eixo X dentro da sua alocação"
 
-#: ../clutter/clutter-actor.c:6584
+#: ../clutter/clutter-actor.c:7457
 msgid "Y Alignment"
 msgstr "Alinhamento Y"
 
-#: ../clutter/clutter-actor.c:6585
+#: ../clutter/clutter-actor.c:7458
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "O alinhamento do ator sobre o eixo Y dentro da sua alocação"
 
-#: ../clutter/clutter-actor.c:6604
+#: ../clutter/clutter-actor.c:7477
 msgid "Margin Top"
 msgstr "Margem Superior"
 
-#: ../clutter/clutter-actor.c:6605
+#: ../clutter/clutter-actor.c:7478
 msgid "Extra space at the top"
 msgstr "Espaço extra no topo"
 
-#: ../clutter/clutter-actor.c:6626
+#: ../clutter/clutter-actor.c:7499
 msgid "Margin Bottom"
 msgstr "Margem Inferior"
 
-#: ../clutter/clutter-actor.c:6627
+#: ../clutter/clutter-actor.c:7500
 msgid "Extra space at the bottom"
 msgstr "Espaço extra no fundo"
 
-#: ../clutter/clutter-actor.c:6648
+#: ../clutter/clutter-actor.c:7521
 msgid "Margin Left"
 msgstr "Margem Esquerda"
 
-#: ../clutter/clutter-actor.c:6649
+#: ../clutter/clutter-actor.c:7522
 msgid "Extra space at the left"
 msgstr "Espaço extra à esquerda"
 
-#: ../clutter/clutter-actor.c:6670
+#: ../clutter/clutter-actor.c:7543
 msgid "Margin Right"
 msgstr "Margem Direita"
 
-#: ../clutter/clutter-actor.c:6671
+#: ../clutter/clutter-actor.c:7544
 msgid "Extra space at the right"
 msgstr "Espaço extra à direita"
 
-#: ../clutter/clutter-actor.c:6687
+#: ../clutter/clutter-actor.c:7560
 msgid "Background Color Set"
 msgstr "Cor de Fundo Definida"
 
-#: ../clutter/clutter-actor.c:6688
+#: ../clutter/clutter-actor.c:7561 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Se a cor de fundo está ou não definida"
 
-#: ../clutter/clutter-actor.c:6704
+#: ../clutter/clutter-actor.c:7577
 msgid "Background color"
 msgstr "Cor de fundo"
 
-#: ../clutter/clutter-actor.c:6705
+#: ../clutter/clutter-actor.c:7578
 msgid "The actor's background color"
 msgstr "A cor de fundo do ator"
 
-#: ../clutter/clutter-actor.c:6720
+#: ../clutter/clutter-actor.c:7593
 msgid "First Child"
 msgstr "Primeiro Filho"
 
-#: ../clutter/clutter-actor.c:6721
+#: ../clutter/clutter-actor.c:7594
 msgid "The actor's first child"
 msgstr "O primeiro filho do ator"
 
-#: ../clutter/clutter-actor.c:6734
+#: ../clutter/clutter-actor.c:7607
 msgid "Last Child"
 msgstr "Último Filho"
 
-#: ../clutter/clutter-actor.c:6735
+#: ../clutter/clutter-actor.c:7608
 msgid "The actor's last child"
 msgstr "O último filho do ator"
 
-#: ../clutter/clutter-actor.c:6749
+#: ../clutter/clutter-actor.c:7622
 msgid "Content"
 msgstr "Conteúdo"
 
-#: ../clutter/clutter-actor.c:6750
+#: ../clutter/clutter-actor.c:7623
 msgid "Delegate object for painting the actor's content"
 msgstr "O objeto delegado para pintar o conteúdo do ator"
 
-#: ../clutter/clutter-actor.c:6775
+#: ../clutter/clutter-actor.c:7648
 msgid "Content Gravity"
 msgstr "Gravidade do Conteúdo"
 
-#: ../clutter/clutter-actor.c:6776
+#: ../clutter/clutter-actor.c:7649
 msgid "Alignment of the actor's content"
 msgstr "Alinhamento do conteúdo do ator"
 
-#: ../clutter/clutter-actor.c:6796
+#: ../clutter/clutter-actor.c:7669
 msgid "Content Box"
 msgstr "Caixa de Conteúdo"
 
-#: ../clutter/clutter-actor.c:6797
+#: ../clutter/clutter-actor.c:7670
 msgid "The bounding box of the actor's content"
 msgstr "A caixa limitadora do conteúdo do ator"
 
-#: ../clutter/clutter-actor.c:6805
+#: ../clutter/clutter-actor.c:7678
 msgid "Minification Filter"
 msgstr "Filtro de Redução"
 
-#: ../clutter/clutter-actor.c:6806
+#: ../clutter/clutter-actor.c:7679
 msgid "The filter used when reducing the size of the content"
 msgstr "O filtro utilizado ao reduzir o tamanho do conteúdo"
 
-#: ../clutter/clutter-actor.c:6813
+#: ../clutter/clutter-actor.c:7686
 msgid "Magnification Filter"
 msgstr "Filtro de Ampliação"
 
-#: ../clutter/clutter-actor.c:6814
+#: ../clutter/clutter-actor.c:7687
 msgid "The filter used when increasing the size of the content"
 msgstr "O filtro utilizado ao aumentar o tamanho do conteúdo"
 
-#: ../clutter/clutter-actor.c:6828
+#: ../clutter/clutter-actor.c:7701
 msgid "Content Repeat"
 msgstr "Repetição do Conteúdo"
 
-#: ../clutter/clutter-actor.c:6829
+#: ../clutter/clutter-actor.c:7702
 msgid "The repeat policy for the actor's content"
 msgstr "A política de repetição do conteúdo do ator"
 
@@ -585,6 +691,7 @@ msgid "The name of the meta"
 msgstr "O nome do meta"
 
 #: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Ativo"
 
@@ -619,11 +726,11 @@ msgstr "Fator"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "O fator de alinhamento, entre 0.0 e 1.0"
 
-#: ../clutter/clutter-backend.c:373
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Incapaz de iniciar o motor do Clutter"
 
-#: ../clutter/clutter-backend.c:447
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "O motor do tipo '%s' não suportar criar múltiplas etapas"
@@ -654,43 +761,143 @@ msgstr "O deslocamento em pixels a aplicar à ligação"
 msgid "The unique name of the binding pool"
 msgstr "O nome único do repositório de ligações"
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
+msgid "Horizontal Alignment"
+msgstr "Alinhamento Horizontal"
+
+#: ../clutter/clutter-bin-layout.c:241
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr "Alinhamento horizontal do ator dentro do gestor de disposição"
+
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
+msgid "Vertical Alignment"
+msgstr "Alinhamento Vertical"
+
+#: ../clutter/clutter-bin-layout.c:250
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr "Alinhamento vertical do ator dentro do gestor de disposição"
+
+#: ../clutter/clutter-bin-layout.c:656
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr ""
+"Alinhamento horizontal por omissão dos atores dentro do gestor de disposição"
+
+#: ../clutter/clutter-bin-layout.c:676
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr ""
+"Alinhamento vertical por omissão dos atores dentro do gestor de disposição"
+
+#: ../clutter/clutter-box-layout.c:365
+msgid "Expand"
+msgstr "Expandir"
+
+#: ../clutter/clutter-box-layout.c:366
+msgid "Allocate extra space for the child"
+msgstr "Alocar espaço extra para o filho"
+
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
+msgid "Horizontal Fill"
+msgstr "Enchimento Horizontal"
+
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+"Se o filho deverá ou não receber prioridade quando o contentor está a alocar "
+"espaço extra no eixo horizontal"
+
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
+msgid "Vertical Fill"
+msgstr "Enchimento Vertical"
+
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+"Se o filho deverá ou não receber prioridade quando o contentor está a alocar "
+"espaço extra no eixo vertical"
+
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
+msgid "Horizontal alignment of the actor within the cell"
+msgstr "Alinhamento horizontal do ator dentro da célula"
+
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
+msgid "Vertical alignment of the actor within the cell"
+msgstr "Alinhamento vertical do ator dentro da célula"
+
+#: ../clutter/clutter-box-layout.c:1365
+msgid "Vertical"
+msgstr "Vertical"
+
+#: ../clutter/clutter-box-layout.c:1366
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "Se a disposição deverá ser vertical em vez de horizontal"
+
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
 #: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Orientação"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
 #: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "A orientação da disposição"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogénea"
 
-#: ../clutter/clutter-box-layout.c:986
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Se a disposição deverá ou não ser homogénea, por ex. todos os filhos do "
 "mesmo tamanho"
 
-#: ../clutter/clutter-box-layout.c:1001
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Arrumar no Início"
 
-#: ../clutter/clutter-box-layout.c:1002
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Se arrumar os itens no início da caixa"
 
-#: ../clutter/clutter-box-layout.c:1015
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Espaçamento"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Espaçamento entre filhos"
 
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
+msgid "Use Animations"
+msgstr "Utilizar Animações"
+
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
+msgid "Whether layout changes should be animated"
+msgstr "Se as alterações de disposição deverão ou não ser animadas"
+
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
+msgid "Easing Mode"
+msgstr "Modo de Transição"
+
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
+msgid "The easing mode of the animations"
+msgstr "O modo de transição das animações"
+
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
+msgid "Easing Duration"
+msgstr "Duração da Transição"
+
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
+msgid "The duration of the animations"
+msgstr "A duração das animações"
+
 #: ../clutter/clutter-brightness-contrast-effect.c:321
 msgid "Brightness"
 msgstr "Brilho"
@@ -743,7 +950,7 @@ msgstr "Manipulador"
 msgid "Whether the clickable has a grab"
 msgstr "Se o clicável tem ou não um manipulador"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:607
 msgid "Long Press Duration"
 msgstr "Duração da Pressão Longa"
 
@@ -810,120 +1017,108 @@ msgstr "Motor"
 msgid "The ClutterBackend of the device manager"
 msgstr "O ClutterBackend do gestor de dispositivos"
 
-#: ../clutter/clutter-drag-action.c:750
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Tolerância do Arrastamento Horizontal"
 
-#: ../clutter/clutter-drag-action.c:751
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr ""
 "A quantidade de pixels necessários na horizontal para se iniciar o arrasto"
 
-#: ../clutter/clutter-drag-action.c:778
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Tolerância do Arrastamento Vertical"
 
-#: ../clutter/clutter-drag-action.c:779
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr ""
 "A quantidade de pixels necessários na vertical para se iniciar o arrasto"
 
-#: ../clutter/clutter-drag-action.c:800
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Manípulo de Arrasto"
 
-#: ../clutter/clutter-drag-action.c:801
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "O ator que está a ser arrastado"
 
-#: ../clutter/clutter-drag-action.c:814
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Eixo de Arrasto"
 
-#: ../clutter/clutter-drag-action.c:815
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Restringe o arrastamento a um eixo"
 
-#: ../clutter/clutter-drag-action.c:831
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Área de Arrasto"
 
-#: ../clutter/clutter-drag-action.c:832
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Restringe o arrastamento a um retângulo"
 
-#: ../clutter/clutter-drag-action.c:845
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Área de Arrasto Definida"
 
-#: ../clutter/clutter-drag-action.c:846
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Se a área de arrasto está ou não definida"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Se cada item deverá ou não receber a mesma alocação"
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Espaçamento de Coluna"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "O espaçamento entre colunas"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Espaçamento de Linha"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "O espaçamento entre linhas"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Largura Mínima da Coluna"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Largura mínima para cada coluna"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Largura Máxima da Coluna"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Largura máxima para cada coluna"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Altura Mínima da Linha"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Altura mínima para cada linha"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Altura Máxima da Linha"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Altura máxima para cada linha"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "Ajustar à grelha"
-
-#: ../clutter/clutter-gesture-action.c:644
-msgid "Number touch points"
-msgstr "Número de pontos de contato"
-
-#: ../clutter/clutter-gesture-action.c:645
-msgid "Number of touch points"
-msgstr "Número de pontos de contato"
-
 #: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Anexar o esquerdo"
@@ -1045,27 +1240,27 @@ msgstr "O número de eixos no dispositivo"
 msgid "The backend instance"
 msgstr "A instância de motor"
 
-#: ../clutter/clutter-interval.c:489
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Tipo de Valor"
 
-#: ../clutter/clutter-interval.c:490
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "O tipo de valores no intervalo"
 
-#: ../clutter/clutter-interval.c:505
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valor Inicial"
 
-#: ../clutter/clutter-interval.c:506
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Valor inicial do intervalo"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valor Final"
 
-#: ../clutter/clutter-interval.c:521
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Valor final do intervalo"
 
@@ -1084,95 +1279,96 @@ msgstr "O gestor que criou estes dados"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:697
+#: ../clutter/clutter-main.c:795
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1464
+#: ../clutter/clutter-main.c:1669
 msgid "Show frames per second"
 msgstr "Apresentar fotogramas por segundo"
 
-#: ../clutter/clutter-main.c:1466
+#: ../clutter/clutter-main.c:1671
 msgid "Default frame rate"
 msgstr "Taxa de fotogramas por omissão"
 
-#: ../clutter/clutter-main.c:1468
+#: ../clutter/clutter-main.c:1673
 msgid "Make all warnings fatal"
 msgstr "Tornar todos os avisos em erros fatais"
 
-#: ../clutter/clutter-main.c:1471
+#: ../clutter/clutter-main.c:1676
 msgid "Direction for the text"
 msgstr "Direção do texto"
 
-#: ../clutter/clutter-main.c:1474
+#: ../clutter/clutter-main.c:1679
 msgid "Disable mipmapping on text"
 msgstr "Desativar 'mipmapping' no texto"
 
-#: ../clutter/clutter-main.c:1477
+#: ../clutter/clutter-main.c:1682
 msgid "Use 'fuzzy' picking"
 msgstr "Utilizar seleção 'fuzzy'"
 
-#: ../clutter/clutter-main.c:1480
+#: ../clutter/clutter-main.c:1685
 msgid "Clutter debugging flags to set"
 msgstr "Parâmetros de depuração Clutter a definir"
 
-#: ../clutter/clutter-main.c:1482
+#: ../clutter/clutter-main.c:1687
 msgid "Clutter debugging flags to unset"
 msgstr "Parâmetros de depuração Clutter a desativar"
 
-#: ../clutter/clutter-main.c:1486
+#: ../clutter/clutter-main.c:1691
 msgid "Clutter profiling flags to set"
 msgstr "Parâmetros de análise de desempenho Clutter a definir"
 
-#: ../clutter/clutter-main.c:1488
+#: ../clutter/clutter-main.c:1693
 msgid "Clutter profiling flags to unset"
 msgstr "Parâmetros de análise de desempenho Clutter a desativar"
 
-#: ../clutter/clutter-main.c:1491
+#: ../clutter/clutter-main.c:1696
 msgid "Enable accessibility"
 msgstr "Ativar acessibilidade"
 
-#: ../clutter/clutter-main.c:1683
+#: ../clutter/clutter-main.c:1888
 msgid "Clutter Options"
 msgstr "Opções do Clutter"
 
-#: ../clutter/clutter-main.c:1684
+#: ../clutter/clutter-main.c:1889
 msgid "Show Clutter Options"
 msgstr "Apresentar Opções do Clutter"
 
-#: ../clutter/clutter-pan-action.c:444
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Eixo de Panorâmica"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Restringe a panorâmica a um eixo"
 
-#: ../clutter/clutter-pan-action.c:457
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Interpolar"
 
-#: ../clutter/clutter-pan-action.c:458
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Se a emissão de eventos de interpolação está ou não ativa."
 
-#: ../clutter/clutter-pan-action.c:472
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Desaceleração"
 
-#: ../clutter/clutter-pan-action.c:473
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Rácio a que a panorâmica de interpolação irá desacelerar"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Fator inicial de aceleração"
 
-#: ../clutter/clutter-pan-action.c:489
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Fator aplicado ao momentum ao iniciar a fase de interpolação"
 
 #: ../clutter/clutter-path-constraint.c:212
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Caminho"
 
@@ -1192,27 +1388,28 @@ msgstr "Nome da Propriedade"
 msgid "The name of the property to animate"
 msgstr "O nome da propriedade a animar"
 
-#: ../clutter/clutter-script.c:350
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Ficheiro Definido"
 
-#: ../clutter/clutter-script.c:351
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Se a propriedade :filename está ou não definida"
 
-#: ../clutter/clutter-script.c:365
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Ficheiro"
 
-#: ../clutter/clutter-script.c:366
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "O caminho do ficheiro atualmente processado"
 
-#: ../clutter/clutter-script.c:383
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Domínio da Tradução"
 
-#: ../clutter/clutter-script.c:384
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "O domínio da tradução utilizada para localizar a expressão"
 
@@ -1224,45 +1421,45 @@ msgstr "Modo de Rolamento"
 msgid "The scrolling direction"
 msgstr "A direção do rolamento"
 
-#: ../clutter/clutter-settings.c:424
+#: ../clutter/clutter-settings.c:448
 msgid "Double Click Time"
 msgstr "Tempo de Clique-Duplo"
 
-#: ../clutter/clutter-settings.c:425
+#: ../clutter/clutter-settings.c:449
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "O tempo entre cliques necessário para detetar um clique múltiplo"
 
-#: ../clutter/clutter-settings.c:440
+#: ../clutter/clutter-settings.c:464
 msgid "Double Click Distance"
 msgstr "Distância de Clique-Duplo"
 
-#: ../clutter/clutter-settings.c:441
+#: ../clutter/clutter-settings.c:465
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "A distância entre cliques necessária para detetar um clique múltiplo"
 
-#: ../clutter/clutter-settings.c:456
+#: ../clutter/clutter-settings.c:480
 msgid "Drag Threshold"
 msgstr "Tolerância de Arrasto"
 
-#: ../clutter/clutter-settings.c:457
+#: ../clutter/clutter-settings.c:481
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "A distância que o cursor terá de percorrer para se iniciar o arrasto"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3367
 msgid "Font Name"
 msgstr "Nome de Fonte"
 
-#: ../clutter/clutter-settings.c:473
+#: ../clutter/clutter-settings.c:497
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "A descrição da fonte por omissão, de forma a poder ser processada pelo Pango"
 
-#: ../clutter/clutter-settings.c:488
+#: ../clutter/clutter-settings.c:512
 msgid "Font Antialias"
 msgstr "Antialias de Fonte"
 
-#: ../clutter/clutter-settings.c:489
+#: ../clutter/clutter-settings.c:513
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1270,66 +1467,66 @@ msgstr ""
 "Se realizar ou não antialias (1 para ativar, 0 para desativar e -1 para "
 "utilizar a omissão)"
 
-#: ../clutter/clutter-settings.c:505
+#: ../clutter/clutter-settings.c:529
 msgid "Font DPI"
 msgstr "DPI de Fonte"
 
-#: ../clutter/clutter-settings.c:506
+#: ../clutter/clutter-settings.c:530
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "A resolução da fonte, em 1024 * pontos/polegada ou -1 para utilizar o valor "
 "por omissão"
 
-#: ../clutter/clutter-settings.c:522
+#: ../clutter/clutter-settings.c:546
 msgid "Font Hinting"
 msgstr "Dicas de Fonte"
 
-#: ../clutter/clutter-settings.c:523
+#: ../clutter/clutter-settings.c:547
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Se utilizar ou não dicas (1 para ativar, 0 para desativar e -1 para utilizar "
 "o valor por omissão)"
 
-#: ../clutter/clutter-settings.c:544
+#: ../clutter/clutter-settings.c:568
 msgid "Font Hint Style"
 msgstr "Estilo de Dicas de Fonte"
 
-#: ../clutter/clutter-settings.c:545
+#: ../clutter/clutter-settings.c:569
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr ""
 "O estilo de dicas (\"hintnone\", \"hintslight\", \"hintmedium\", ou "
 "\"hintfull\")"
 
-#: ../clutter/clutter-settings.c:566
+#: ../clutter/clutter-settings.c:590
 msgid "Font Subpixel Order"
 msgstr "Ordem de Subpixel de Fonte"
 
-#: ../clutter/clutter-settings.c:567
+#: ../clutter/clutter-settings.c:591
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr ""
 "O tipo de antialias de subpixel (\"none\", \"rgb\", \"bgr\", \"vfrg\", \"vbgr"
 "\")"
 
-#: ../clutter/clutter-settings.c:584
+#: ../clutter/clutter-settings.c:608
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr ""
 "A duração mínima de uma pressão longa para que o gesto seja reconhecido"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:615
 msgid "Fontconfig configuration timestamp"
 msgstr "Data da configuração do fontconfig"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:616
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Data e hora da configuração atual do fontconfig"
 
-#: ../clutter/clutter-settings.c:609
+#: ../clutter/clutter-settings.c:633
 msgid "Password Hint Time"
 msgstr "Duração da Dica de Senha"
 
-#: ../clutter/clutter-settings.c:610
+#: ../clutter/clutter-settings.c:634
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Durante quanto tempo apresentar o último caracter introduzido em entradas "
@@ -1367,119 +1564,168 @@ msgstr "A margem da origem que deverá ser encostada"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "O deslocamento em pixels a aplicar à restrição"
 
-#: ../clutter/clutter-stage.c:1818
+#: ../clutter/clutter-stage.c:1929
 msgid "Fullscreen Set"
 msgstr "Ecrã Completo Definido"
 
-#: ../clutter/clutter-stage.c:1819
+#: ../clutter/clutter-stage.c:1930
 msgid "Whether the main stage is fullscreen"
 msgstr "Se o palco principal está em ecrã completo ou não"
 
-#: ../clutter/clutter-stage.c:1831 ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-stage.c:1944
+msgid "Offscreen"
+msgstr "Fora do Ecrã"
+
+#: ../clutter/clutter-stage.c:1945
+msgid "Whether the main stage should be rendered offscreen"
+msgstr "Se o palco principal deverá ou não ser renderizado fora do ecrã"
+
+#: ../clutter/clutter-stage.c:1957 ../clutter/clutter-text.c:3481
 msgid "Cursor Visible"
 msgstr "Cursor Visível"
 
-#: ../clutter/clutter-stage.c:1832
+#: ../clutter/clutter-stage.c:1958
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Se o ponteiro do rato é ou não visível no palco principal"
 
-#: ../clutter/clutter-stage.c:1846
+#: ../clutter/clutter-stage.c:1972
 msgid "User Resizable"
 msgstr "Redimensionável pelo Utilizador"
 
-#: ../clutter/clutter-stage.c:1847
+#: ../clutter/clutter-stage.c:1973
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Se o palco pode ou não ser redimensionado por ação do utilizador"
 
-#: ../clutter/clutter-stage.c:1862
+#: ../clutter/clutter-stage.c:1988 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
+msgid "Color"
+msgstr "Cor"
+
+#: ../clutter/clutter-stage.c:1989
+msgid "The color of the stage"
+msgstr "A cor do palco"
+
+#: ../clutter/clutter-stage.c:2004
 msgid "Perspective"
 msgstr "Perspetiva"
 
-#: ../clutter/clutter-stage.c:1863
+#: ../clutter/clutter-stage.c:2005
 msgid "Perspective projection parameters"
 msgstr "Parâmetros de projeção da perspetiva"
 
-#: ../clutter/clutter-stage.c:1878
+#: ../clutter/clutter-stage.c:2020
 msgid "Title"
 msgstr "Título"
 
-#: ../clutter/clutter-stage.c:1879
+#: ../clutter/clutter-stage.c:2021
 msgid "Stage Title"
 msgstr "Título do Palco"
 
-#: ../clutter/clutter-stage.c:1895
+#: ../clutter/clutter-stage.c:2038
+msgid "Use Fog"
+msgstr "Utilizar Nevoeiro"
+
+#: ../clutter/clutter-stage.c:2039
+msgid "Whether to enable depth cueing"
+msgstr "Se ativar ou não fila de profundidade"
+
+#: ../clutter/clutter-stage.c:2055
+msgid "Fog"
+msgstr "Nevoeiro"
+
+#: ../clutter/clutter-stage.c:2056
+msgid "Settings for the depth cueing"
+msgstr "Definições para a fila de profundidade"
+
+#: ../clutter/clutter-stage.c:2072
 msgid "Use Alpha"
 msgstr "Utilizar Alfa"
 
-#: ../clutter/clutter-stage.c:1896
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Se honrar ou não o componente alfa da cor de palco"
 
-#: ../clutter/clutter-stage.c:1912
+#: ../clutter/clutter-stage.c:2089
 msgid "Key Focus"
 msgstr "Foco da Tecla"
 
-#: ../clutter/clutter-stage.c:1913
+#: ../clutter/clutter-stage.c:2090
 msgid "The currently key focused actor"
 msgstr "O ator com o foco de tecla atual"
 
-#: ../clutter/clutter-stage.c:1929
+#: ../clutter/clutter-stage.c:2106
 msgid "No Clear Hint"
 msgstr "Dica de Não Limpar"
 
-#: ../clutter/clutter-stage.c:1930
+#: ../clutter/clutter-stage.c:2107
 msgid "Whether the stage should clear its contents"
 msgstr "Se o palco deverá ou não limpar o seu conteúdo"
 
-#: ../clutter/clutter-stage.c:1943
+#: ../clutter/clutter-stage.c:2120
 msgid "Accept Focus"
 msgstr "Aceitar Foco"
 
-#: ../clutter/clutter-stage.c:1944
+#: ../clutter/clutter-stage.c:2121
 msgid "Whether the stage should accept focus on show"
 msgstr "Se o palco deverá ou não aceitar o foco ao apresentar"
 
-#: ../clutter/clutter-table-layout.c:331
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Número da Coluna"
 
-#: ../clutter/clutter-table-layout.c:332
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "A coluna em que o widget reside"
 
-#: ../clutter/clutter-table-layout.c:339
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Número de Linha"
 
-#: ../clutter/clutter-table-layout.c:340
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "A linha em que o widget reside"
 
-#: ../clutter/clutter-table-layout.c:347
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Expansão da Coluna"
 
-#: ../clutter/clutter-table-layout.c:348
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "O número de colunas pelo qual o widget se estende"
 
-#: ../clutter/clutter-table-layout.c:355
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Expansão da Linha"
 
-#: ../clutter/clutter-table-layout.c:356
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "O número de linhas pelo qual o widget se estende"
 
-#: ../clutter/clutter-table-layout.c:1282
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Expansão Horizontal"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Alocar espaço extra no eixo horizontal para o filho"
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Expansão Vertical"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Alocar espaço extra no eixo vertical para o filho"
+
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Espaçamento entre colunas"
 
-#: ../clutter/clutter-table-layout.c:1296
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Espaçamento entre linhas"
 
-#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3387
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3402
 msgid "Text"
 msgstr "Texto"
 
@@ -1503,253 +1749,268 @@ msgstr "Comprimento máximo"
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Número máximo de carateres para esta entrada. Zero se nenhum limite"
 
-#: ../clutter/clutter-text.c:3340
+#: ../clutter/clutter-text.c:3349
 msgid "Buffer"
 msgstr "Buffer"
 
-#: ../clutter/clutter-text.c:3341
+#: ../clutter/clutter-text.c:3350
 msgid "The buffer for the text"
 msgstr "O buffer do texto"
 
-#: ../clutter/clutter-text.c:3357
+#: ../clutter/clutter-text.c:3368
 msgid "The font to be used by the text"
 msgstr "A fonte a ser utilizada pelo texto"
 
-#: ../clutter/clutter-text.c:3372
+#: ../clutter/clutter-text.c:3385
 msgid "Font Description"
 msgstr "Descrição de Fonte"
 
-#: ../clutter/clutter-text.c:3373
+#: ../clutter/clutter-text.c:3386
 msgid "The font description to be used"
 msgstr "A descrição de fonte a ser utilizada"
 
-#: ../clutter/clutter-text.c:3388
+#: ../clutter/clutter-text.c:3403
 msgid "The text to render"
 msgstr "O texto a renderizar"
 
-#: ../clutter/clutter-text.c:3400
+#: ../clutter/clutter-text.c:3417
 msgid "Font Color"
 msgstr "Cor da Fonte"
 
-#: ../clutter/clutter-text.c:3401
+#: ../clutter/clutter-text.c:3418
 msgid "Color of the font used by the text"
 msgstr "Cor da fonte a ser utilizada pelo texto"
 
-#: ../clutter/clutter-text.c:3414
+#: ../clutter/clutter-text.c:3433
 msgid "Editable"
 msgstr "Editável"
 
-#: ../clutter/clutter-text.c:3415
+#: ../clutter/clutter-text.c:3434
 msgid "Whether the text is editable"
 msgstr "Se o texto é ou não editável"
 
-#: ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text.c:3449
 msgid "Selectable"
 msgstr "Selecionável"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3450
 msgid "Whether the text is selectable"
 msgstr "Se o texto é ou não selecionável"
 
-#: ../clutter/clutter-text.c:3441
+#: ../clutter/clutter-text.c:3464
 msgid "Activatable"
 msgstr "Activável"
 
-#: ../clutter/clutter-text.c:3442
+#: ../clutter/clutter-text.c:3465
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Se premir enter emite ou não o sinal de ativação"
 
-#: ../clutter/clutter-text.c:3457
+#: ../clutter/clutter-text.c:3482
 msgid "Whether the input cursor is visible"
 msgstr "Se o cursor de entrada está ou não visível"
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: ../clutter/clutter-text.c:3496 ../clutter/clutter-text.c:3497
 msgid "Cursor Color"
 msgstr "Cor do Cursor"
 
-#: ../clutter/clutter-text.c:3483
+#: ../clutter/clutter-text.c:3512
 msgid "Cursor Color Set"
 msgstr "Cor do Cursor Definida"
 
-#: ../clutter/clutter-text.c:3484
+#: ../clutter/clutter-text.c:3513
 msgid "Whether the cursor color has been set"
 msgstr "Se a cor do cursor foi ou não definida"
 
-#: ../clutter/clutter-text.c:3497
+#: ../clutter/clutter-text.c:3528
 msgid "Cursor Size"
 msgstr "Tamanho do Cursor"
 
-#: ../clutter/clutter-text.c:3498
+#: ../clutter/clutter-text.c:3529
 msgid "The width of the cursor, in pixels"
 msgstr "A largura do cursor, em pixels"
 
-#: ../clutter/clutter-text.c:3510
+#: ../clutter/clutter-text.c:3545 ../clutter/clutter-text.c:3563
 msgid "Cursor Position"
 msgstr "Posição do Cursor"
 
-#: ../clutter/clutter-text.c:3511
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "The cursor position"
 msgstr "A posição do cursor"
 
-#: ../clutter/clutter-text.c:3524
+#: ../clutter/clutter-text.c:3579
 msgid "Selection-bound"
 msgstr "Limitado à Seleção"
 
-#: ../clutter/clutter-text.c:3525
+#: ../clutter/clutter-text.c:3580
 msgid "The cursor position of the other end of the selection"
 msgstr "A posição do cursor no extremo oposto da seleção"
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3595 ../clutter/clutter-text.c:3596
 msgid "Selection Color"
 msgstr "Cor de Seleção"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3611
 msgid "Selection Color Set"
 msgstr "Cor de Seleção Definida"
 
-#: ../clutter/clutter-text.c:3553
+#: ../clutter/clutter-text.c:3612
 msgid "Whether the selection color has been set"
 msgstr "Se a cor de seleção foi ou não definida"
 
-#: ../clutter/clutter-text.c:3566
+#: ../clutter/clutter-text.c:3627
 msgid "Attributes"
 msgstr "Atributos"
 
-#: ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3628
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Uma lista de atributos de estilo a aplicar ao conteúdo do ator"
 
-#: ../clutter/clutter-text.c:3587
+#: ../clutter/clutter-text.c:3650
 msgid "Use markup"
 msgstr "Utilizar etiquetas"
 
-#: ../clutter/clutter-text.c:3588
+#: ../clutter/clutter-text.c:3651
 msgid "Whether or not the text includes Pango markup"
 msgstr "Se o texto inclui ou não etiquetas Pango"
 
-#: ../clutter/clutter-text.c:3602
+#: ../clutter/clutter-text.c:3667
 msgid "Line wrap"
 msgstr "Quebra de linha"
 
-#: ../clutter/clutter-text.c:3603
+#: ../clutter/clutter-text.c:3668
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Se definido, quebrar as linhas se o texto se tornar demasiado longo"
 
-#: ../clutter/clutter-text.c:3616
+#: ../clutter/clutter-text.c:3683
 msgid "Line wrap mode"
 msgstr "Modo de quebra de linha"
 
-#: ../clutter/clutter-text.c:3617
+#: ../clutter/clutter-text.c:3684
 msgid "Control how line-wrapping is done"
 msgstr "Controla como é efetuada a quebra de linha"
 
-#: ../clutter/clutter-text.c:3630
+#: ../clutter/clutter-text.c:3699
 msgid "Ellipsize"
 msgstr "Reticências"
 
-#: ../clutter/clutter-text.c:3631
+#: ../clutter/clutter-text.c:3700
 msgid "The preferred place to ellipsize the string"
 msgstr "O local preferido para colocar reticências no texto"
 
-#: ../clutter/clutter-text.c:3645
+#: ../clutter/clutter-text.c:3716
 msgid "Line Alignment"
 msgstr "Alinhamento da Linha"
 
-#: ../clutter/clutter-text.c:3646
+#: ../clutter/clutter-text.c:3717
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "O alinhamento preferido para o texto, em texto multilinha"
 
-#: ../clutter/clutter-text.c:3660
+#: ../clutter/clutter-text.c:3733
 msgid "Justify"
 msgstr "Preencher"
 
-#: ../clutter/clutter-text.c:3661
+#: ../clutter/clutter-text.c:3734
 msgid "Whether the text should be justified"
 msgstr "Se o texto deve ser o não preencher as linhas"
 
-#: ../clutter/clutter-text.c:3674
+#: ../clutter/clutter-text.c:3749
 msgid "Password Character"
 msgstr "Caracter de Senha"
 
-#: ../clutter/clutter-text.c:3675
+#: ../clutter/clutter-text.c:3750
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "Se diferente de zero, utilizar este caracter para apresentar o conteúdo do "
 "ator"
 
-#: ../clutter/clutter-text.c:3687
+#: ../clutter/clutter-text.c:3764
 msgid "Max Length"
 msgstr "Comprimento Máximo"
 
-#: ../clutter/clutter-text.c:3688
+#: ../clutter/clutter-text.c:3765
 msgid "Maximum length of the text inside the actor"
 msgstr "Comprimento máximo do texto dentro do ator"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3788
 msgid "Single Line Mode"
 msgstr "Modo de Linha Única"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3789
 msgid "Whether the text should be a single line"
 msgstr "Se o texto deverá ou não estar numa única linha"
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: ../clutter/clutter-text.c:3803 ../clutter/clutter-text.c:3804
 msgid "Selected Text Color"
 msgstr "Cor do Texto Selecionado"
 
-#: ../clutter/clutter-text.c:3736
+#: ../clutter/clutter-text.c:3819
 msgid "Selected Text Color Set"
 msgstr "Cor do Texto Selecionado Definida"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3820
 msgid "Whether the selected text color has been set"
 msgstr "Se a cor do texto selecionado foi ou não definida"
 
-#: ../clutter/clutter-timeline.c:562
+#: ../clutter/clutter-timeline.c:594
+#: ../clutter/deprecated/clutter-animation.c:560
+msgid "Loop"
+msgstr "Ciclo"
+
+#: ../clutter/clutter-timeline.c:595
+msgid "Should the timeline automatically restart"
+msgstr "Se a linha temporal deverá reiniciar automaticamente"
+
+#: ../clutter/clutter-timeline.c:609
 msgid "Delay"
 msgstr "Atraso"
 
-#: ../clutter/clutter-timeline.c:563
+#: ../clutter/clutter-timeline.c:610
 msgid "Delay before start"
 msgstr "Atraso antes de iniciar"
 
-#: ../clutter/clutter-timeline.c:578
+#: ../clutter/clutter-timeline.c:625
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
+#: ../clutter/deprecated/clutter-media.c:224
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Duração"
 
-#: ../clutter/clutter-timeline.c:579
+#: ../clutter/clutter-timeline.c:626
 msgid "Duration of the timeline in milliseconds"
 msgstr "Duração da linha temporal em milisegundos"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:641
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Direção"
 
-#: ../clutter/clutter-timeline.c:595
+#: ../clutter/clutter-timeline.c:642
 msgid "Direction of the timeline"
 msgstr "Direção da linha temporal"
 
-#: ../clutter/clutter-timeline.c:610
+#: ../clutter/clutter-timeline.c:657
 msgid "Auto Reverse"
 msgstr "Reversão Automática"
 
-#: ../clutter/clutter-timeline.c:611
+#: ../clutter/clutter-timeline.c:658
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Se a direção deverá ou não ser revertida ao atingir o final"
 
-#: ../clutter/clutter-timeline.c:629
+#: ../clutter/clutter-timeline.c:676
 msgid "Repeat Count"
 msgstr "Repetir a Contagem"
 
-#: ../clutter/clutter-timeline.c:630
+#: ../clutter/clutter-timeline.c:677
 msgid "How many times the timeline should repeat"
 msgstr "Quantas vezes deverá a linha temporal repetir-se"
 
-#: ../clutter/clutter-timeline.c:644
+#: ../clutter/clutter-timeline.c:691
 msgid "Progress Mode"
 msgstr "Modo de Progresso"
 
-#: ../clutter/clutter-timeline.c:645
+#: ../clutter/clutter-timeline.c:692
 msgid "How the timeline should compute the progress"
 msgstr "Como deverá a linha temporal calcular o progresso"
 
@@ -1777,14 +2038,586 @@ msgstr "Remover ao Terminar"
 msgid "Detach the transition when completed"
 msgstr "Desassociar a transição ao terminar"
 
-#: ../clutter/clutter-zoom-action.c:356
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Eixo de Zoom"
 
-#: ../clutter/clutter-zoom-action.c:357
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Restringe o zoom a um eixo"
 
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
+msgid "Timeline"
+msgstr "Linha Temporal"
+
+#: ../clutter/deprecated/clutter-alpha.c:356
+msgid "Timeline used by the alpha"
+msgstr "Linha temporal utilizada pelo alfa"
+
+#: ../clutter/deprecated/clutter-alpha.c:372
+msgid "Alpha value"
+msgstr "Valor alfa"
+
+#: ../clutter/deprecated/clutter-alpha.c:373
+msgid "Alpha value as computed by the alpha"
+msgstr "Valor alfa tal como calculado pelo alfa"
+
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
+msgid "Mode"
+msgstr "Modo"
+
+#: ../clutter/deprecated/clutter-alpha.c:395
+msgid "Progress mode"
+msgstr "Modo de progresso"
+
+#: ../clutter/deprecated/clutter-animation.c:511
+msgid "Object"
+msgstr "Objeto"
+
+#: ../clutter/deprecated/clutter-animation.c:512
+msgid "Object to which the animation applies"
+msgstr "Objeto sobre o qual se aplica a animação"
+
+#: ../clutter/deprecated/clutter-animation.c:529
+msgid "The mode of the animation"
+msgstr "O modo da animação"
+
+#: ../clutter/deprecated/clutter-animation.c:545
+msgid "Duration of the animation, in milliseconds"
+msgstr "Duração da animação, em milisegundos"
+
+#: ../clutter/deprecated/clutter-animation.c:561
+msgid "Whether the animation should loop"
+msgstr "Se a animação deverá ou não reproduzir em ciclo"
+
+#: ../clutter/deprecated/clutter-animation.c:576
+msgid "The timeline used by the animation"
+msgstr "A linha temporal utilizada pela animação"
+
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
+msgid "Alpha"
+msgstr "Alfa"
+
+#: ../clutter/deprecated/clutter-animation.c:593
+msgid "The alpha used by the animation"
+msgstr "O alfa utilizado pela animação"
+
+#: ../clutter/deprecated/clutter-animator.c:1805
+msgid "The duration of the animation"
+msgstr "A duração da animação"
+
+#: ../clutter/deprecated/clutter-animator.c:1822
+msgid "The timeline of the animation"
+msgstr "A linha temporal da animação"
+
+#: ../clutter/deprecated/clutter-behaviour.c:242
+msgid "Alpha Object to drive the behaviour"
+msgstr "Objeto Alfa para conduzir o comportamento"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
+msgid "Start Depth"
+msgstr "Profundidade Inicial"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
+msgid "Initial depth to apply"
+msgstr "Profundidade inicial a aplicar"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
+msgid "End Depth"
+msgstr "Profundidade Final"
+
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
+msgid "Final depth to apply"
+msgstr "Profundidade final a aplicar"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
+msgid "Start Angle"
+msgstr "Ângulo Inicial"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
+msgid "Initial angle"
+msgstr "Ângulo inicial"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
+msgid "End Angle"
+msgstr "Ângulo Final"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
+msgid "Final angle"
+msgstr "Ângulo final"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
+msgid "Angle x tilt"
+msgstr "Inclinação x do ângulo"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
+msgid "Tilt of the ellipse around x axis"
+msgstr "Inclinação da elipse em torno do eixo x"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
+msgid "Angle y tilt"
+msgstr "Inclinação y do ângulo"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
+msgid "Tilt of the ellipse around y axis"
+msgstr "Inclinação da elipse em torno do eixo y"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
+msgid "Angle z tilt"
+msgstr "Inclinação z do ângulo"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
+msgid "Tilt of the ellipse around z axis"
+msgstr "Inclinação da elipse em torno do eixo z"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
+msgid "Width of the ellipse"
+msgstr "Largura da elipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
+msgid "Height of ellipse"
+msgstr "Altura da elipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
+msgid "Center"
+msgstr "Centro"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
+msgid "Center of ellipse"
+msgstr "Centro da elipse"
+
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
+msgid "Direction of rotation"
+msgstr "Direção da rotação"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
+msgid "Opacity Start"
+msgstr "Opacidade Inicial"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
+msgid "Initial opacity level"
+msgstr "Nível inicial de opacidade"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
+msgid "Opacity End"
+msgstr "Opacidade Final"
+
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
+msgid "Final opacity level"
+msgstr "Nível final de opacidade"
+
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
+msgid "The ClutterPath object representing the path to animate along"
+msgstr "O objeto ClutterPath que representa o caminho ao longo do qual animar"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
+msgid "Angle Begin"
+msgstr "Ângulo Inicial"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
+msgid "Angle End"
+msgstr "Ângulo Final"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
+msgid "Axis"
+msgstr "Eixo"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
+msgid "Axis of rotation"
+msgstr "Eixo da rotação"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
+msgid "Center X"
+msgstr "Centro X"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
+msgid "X coordinate of the center of rotation"
+msgstr "Coordenada X do centro da rotação"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
+msgid "Center Y"
+msgstr "Centro Y"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
+msgid "Y coordinate of the center of rotation"
+msgstr "Coordenada Y do centro da rotação"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
+msgid "Center Z"
+msgstr "Centro Z"
+
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
+msgid "Z coordinate of the center of rotation"
+msgstr "Coordenada Z do centro da rotação"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
+msgid "X Start Scale"
+msgstr "Escala Inicial X"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
+msgid "Initial scale on the X axis"
+msgstr "Escala inicial no eixo X"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
+msgid "X End Scale"
+msgstr "Escala Final X"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
+msgid "Final scale on the X axis"
+msgstr "Escala final no eixo X"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
+msgid "Y Start Scale"
+msgstr "Escala Inicial Y"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
+msgid "Initial scale on the Y axis"
+msgstr "Escala inicial no eixo Y"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
+msgid "Y End Scale"
+msgstr "Escala Final Y"
+
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
+msgid "Final scale on the Y axis"
+msgstr "Escala final no eixo Y"
+
+#: ../clutter/deprecated/clutter-box.c:261
+msgid "The background color of the box"
+msgstr "A cor do fundo da caixa"
+
+#: ../clutter/deprecated/clutter-box.c:274
+msgid "Color Set"
+msgstr "Cor Definida"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
+msgid "Surface Width"
+msgstr "Largura da Superfície"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
+msgid "The width of the Cairo surface"
+msgstr "A largura da superfície Cairo"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
+msgid "Surface Height"
+msgstr "Altura da Superfície"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
+msgid "The height of the Cairo surface"
+msgstr "A altura da superfície Cairo"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
+msgid "Auto Resize"
+msgstr "Redimensionamento Automático"
+
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
+msgid "Whether the surface should match the allocation"
+msgstr "Se a superfície deverá ou não coincidir com a alocação"
+
+#: ../clutter/deprecated/clutter-media.c:83
+msgid "URI"
+msgstr "URI"
+
+#: ../clutter/deprecated/clutter-media.c:84
+msgid "URI of a media file"
+msgstr "URI de ficheiro de media"
+
+#: ../clutter/deprecated/clutter-media.c:100
+msgid "Playing"
+msgstr "A Reproduzir"
+
+#: ../clutter/deprecated/clutter-media.c:101
+msgid "Whether the actor is playing"
+msgstr "Se o ator está ou não a reproduzir"
+
+#: ../clutter/deprecated/clutter-media.c:118
+msgid "Progress"
+msgstr "Progresso"
+
+#: ../clutter/deprecated/clutter-media.c:119
+msgid "Current progress of the playback"
+msgstr "Progresso atual da reprodução"
+
+#: ../clutter/deprecated/clutter-media.c:135
+msgid "Subtitle URI"
+msgstr "URI das Legendas"
+
+#: ../clutter/deprecated/clutter-media.c:136
+msgid "URI of a subtitle file"
+msgstr "URI de um ficheiro de legendas"
+
+#: ../clutter/deprecated/clutter-media.c:154
+msgid "Subtitle Font Name"
+msgstr "Nome da Fonte de Legendas"
+
+#: ../clutter/deprecated/clutter-media.c:155
+msgid "The font used to display subtitles"
+msgstr "A fonte utilizada para apresentar as legendas"
+
+#: ../clutter/deprecated/clutter-media.c:172
+msgid "Audio Volume"
+msgstr "Volume do Áudio"
+
+#: ../clutter/deprecated/clutter-media.c:173
+msgid "The volume of the audio"
+msgstr "O volume do áudio"
+
+#: ../clutter/deprecated/clutter-media.c:189
+msgid "Can Seek"
+msgstr "Pode Procurar"
+
+#: ../clutter/deprecated/clutter-media.c:190
+msgid "Whether the current stream is seekable"
+msgstr "Se o fluxo atual permite ou não procuras"
+
+#: ../clutter/deprecated/clutter-media.c:207
+msgid "Buffer Fill"
+msgstr "Enchimento do Buffer"
+
+#: ../clutter/deprecated/clutter-media.c:208
+msgid "The fill level of the buffer"
+msgstr "O nível de enchimento do buffer"
+
+#: ../clutter/deprecated/clutter-media.c:225
+msgid "The duration of the stream, in seconds"
+msgstr "A duração do fluxo, em segundos"
+
+#: ../clutter/deprecated/clutter-rectangle.c:274
+msgid "The color of the rectangle"
+msgstr "A cor do retângulo"
+
+#: ../clutter/deprecated/clutter-rectangle.c:287
+msgid "Border Color"
+msgstr "Cor da Margem"
+
+#: ../clutter/deprecated/clutter-rectangle.c:288
+msgid "The color of the border of the rectangle"
+msgstr "A cor da margem do retângulo"
+
+#: ../clutter/deprecated/clutter-rectangle.c:303
+msgid "Border Width"
+msgstr "Largura da Margem"
+
+#: ../clutter/deprecated/clutter-rectangle.c:304
+msgid "The width of the border of the rectangle"
+msgstr "Largura da margem do retângulo"
+
+#: ../clutter/deprecated/clutter-rectangle.c:318
+msgid "Has Border"
+msgstr "Tem Margens"
+
+#: ../clutter/deprecated/clutter-rectangle.c:319
+msgid "Whether the rectangle should have a border"
+msgstr "Se o retângulo deverá ou não ter uma margem"
+
+#: ../clutter/deprecated/clutter-shader.c:261
+msgid "Vertex Source"
+msgstr "Origem do Vertex"
+
+#: ../clutter/deprecated/clutter-shader.c:262
+msgid "Source of vertex shader"
+msgstr "Origem do vertex de sombreamento"
+
+#: ../clutter/deprecated/clutter-shader.c:278
+msgid "Fragment Source"
+msgstr "Origem do Fragmento"
+
+#: ../clutter/deprecated/clutter-shader.c:279
+msgid "Source of fragment shader"
+msgstr "Origem do fragmento de sombreamento"
+
+#: ../clutter/deprecated/clutter-shader.c:296
+msgid "Compiled"
+msgstr "Compilado"
+
+#: ../clutter/deprecated/clutter-shader.c:297
+msgid "Whether the shader is compiled and linked"
+msgstr "Se o sombreamento está ou não compilado e associado"
+
+#: ../clutter/deprecated/clutter-shader.c:314
+msgid "Whether the shader is enabled"
+msgstr "Se o sombreamento está ou não ativo"
+
+#: ../clutter/deprecated/clutter-shader.c:525
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "Falha na compilação de %s: %s"
+
+#: ../clutter/deprecated/clutter-shader.c:526
+msgid "Vertex shader"
+msgstr "Vertex de sombreamento"
+
+#: ../clutter/deprecated/clutter-shader.c:527
+msgid "Fragment shader"
+msgstr "Fragmento de sombreamento"
+
+#: ../clutter/deprecated/clutter-state.c:1505
+msgid "State"
+msgstr "Estado"
+
+#: ../clutter/deprecated/clutter-state.c:1506
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
+"Estado atualmente definido (a transição para este estado pode não estar "
+"terminada)"
+
+#: ../clutter/deprecated/clutter-state.c:1524
+msgid "Default transition duration"
+msgstr "Duração da transição por omissão"
+
+#: ../clutter/deprecated/clutter-texture.c:994
+msgid "Sync size of actor"
+msgstr "Tamanho de sincronização do ator"
+
+#: ../clutter/deprecated/clutter-texture.c:995
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
+"Tamanho de sincronização automático do ator para as dimensões pixbuf "
+"subjacentes"
+
+#: ../clutter/deprecated/clutter-texture.c:1002
+msgid "Disable Slicing"
+msgstr "Desativar Fatiamento"
+
+#: ../clutter/deprecated/clutter-texture.c:1003
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
+"Força que a textura subjacente seja única e não composta por texturas "
+"individuais de poupança de espaço"
+
+#: ../clutter/deprecated/clutter-texture.c:1012
+msgid "Tile Waste"
+msgstr "Desperdício de Mosaico"
+
+#: ../clutter/deprecated/clutter-texture.c:1013
+msgid "Maximum waste area of a sliced texture"
+msgstr "Área máxima desperdiçada numa textura fatiada"
+
+#: ../clutter/deprecated/clutter-texture.c:1021
+msgid "Horizontal repeat"
+msgstr "Repetimento horizontal"
+
+#: ../clutter/deprecated/clutter-texture.c:1022
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr "Repetir o conteúdo em vez de o escalar horizontalmente"
+
+#: ../clutter/deprecated/clutter-texture.c:1029
+msgid "Vertical repeat"
+msgstr "Repetimento vertical"
+
+#: ../clutter/deprecated/clutter-texture.c:1030
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr "Repetir o conteúdo em vez de o escalar verticalmente"
+
+#: ../clutter/deprecated/clutter-texture.c:1037
+msgid "Filter Quality"
+msgstr "Qualidade do Filtro"
+
+#: ../clutter/deprecated/clutter-texture.c:1038
+msgid "Rendering quality used when drawing the texture"
+msgstr "Qualidade de renderização utilizada ao desenhar a textura"
+
+#: ../clutter/deprecated/clutter-texture.c:1046
+msgid "Pixel Format"
+msgstr "Formato de Pixel"
+
+#: ../clutter/deprecated/clutter-texture.c:1047
+msgid "The Cogl pixel format to use"
+msgstr "O formato de pixel Cogl a utilizar"
+
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
+msgid "Cogl Texture"
+msgstr "Textura Cogl"
+
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr ""
+"O manípulo de textura Cogl subjacente utilizada para desenhar este ator"
+
+#: ../clutter/deprecated/clutter-texture.c:1063
+msgid "Cogl Material"
+msgstr "Material Cogl"
+
+#: ../clutter/deprecated/clutter-texture.c:1064
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr ""
+"O manípulo de material Cogl subjacente utilizado para desenhar este ator"
+
+#: ../clutter/deprecated/clutter-texture.c:1083
+msgid "The path of the file containing the image data"
+msgstr "O caminho do ficheiro que contém os dados da imagem"
+
+#: ../clutter/deprecated/clutter-texture.c:1090
+msgid "Keep Aspect Ratio"
+msgstr "Manter o Rácio de Aparência"
+
+#: ../clutter/deprecated/clutter-texture.c:1091
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
+"Manter o rácio de aparência da textura ao pedir a largura ou altura preferida"
+
+#: ../clutter/deprecated/clutter-texture.c:1119
+msgid "Load asynchronously"
+msgstr "Ler assincronamente"
+
+#: ../clutter/deprecated/clutter-texture.c:1120
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr ""
+"Ler ficheiros dentro de uma thread para evitar bloqueios ao ler imagens do "
+"disco"
+
+#: ../clutter/deprecated/clutter-texture.c:1138
+msgid "Load data asynchronously"
+msgstr "Ler dados assincronamente"
+
+#: ../clutter/deprecated/clutter-texture.c:1139
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
+msgstr ""
+"Descodificar os dados de ficheiros de imagem dentro de uma thread para "
+"evitar bloqueios ao ler imagens do disco"
+
+#: ../clutter/deprecated/clutter-texture.c:1165
+msgid "Pick With Alpha"
+msgstr "Selecionar Com Alfa"
+
+#: ../clutter/deprecated/clutter-texture.c:1166
+msgid "Shape actor with alpha channel when picking"
+msgstr "Desenhar o ator com o canal alfa ao selecionar"
+
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
+#, c-format
+msgid "Failed to load the image data"
+msgstr "Falha ao ler os dados da imagem"
+
+#: ../clutter/deprecated/clutter-texture.c:1758
+#, c-format
+msgid "YUV textures are not supported"
+msgstr "Texturas YUV não são suportadas"
+
+#: ../clutter/deprecated/clutter-texture.c:1767
+#, c-format
+msgid "YUV2 textues are not supported"
+msgstr "Texturas YUV2 não são suportadas"
+
 #: ../clutter/evdev/clutter-input-device-evdev.c:159
 msgid "sysfs Path"
 msgstr "Caminho sysfs"
@@ -1830,28 +2663,19 @@ msgstr "Altura da superfície"
 msgid "The height of the underlying wayland surface"
 msgstr "A altura da superfície wayland subjacente"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Textura Cogl"
-
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr ""
-"O manípulo de textura Cogl subjacente utilizada para desenhar este ator"
-
-#: ../clutter/x11/clutter-backend-x11.c:508
+#: ../clutter/x11/clutter-backend-x11.c:507
 msgid "X display to use"
 msgstr "Ecrã X a utilizar"
 
-#: ../clutter/x11/clutter-backend-x11.c:514
+#: ../clutter/x11/clutter-backend-x11.c:513
 msgid "X screen to use"
 msgstr "Monitor X a utilizar"
 
-#: ../clutter/x11/clutter-backend-x11.c:519
+#: ../clutter/x11/clutter-backend-x11.c:518
 msgid "Make X calls synchronous"
 msgstr "Efetuar invocações X sincronamente"
 
-#: ../clutter/x11/clutter-backend-x11.c:526
+#: ../clutter/x11/clutter-backend-x11.c:525
 msgid "Disable XInput support"
 msgstr "Desativar suporte XInput"
 
@@ -1959,622 +2783,6 @@ msgstr "Janela de Sobreposição de Redireccionamento"
 msgid "If this is an override-redirect window"
 msgstr "Se esta janela é ou não uma de sobreposição de redireccionamento"
 
-#~ msgid "Depth"
-#~ msgstr "Profundidade"
-
-#~ msgid "Position on the Z axis"
-#~ msgstr "Posição no eixo Z"
-
-#~ msgid "Clip"
-#~ msgstr "Corte"
-
-#~ msgid "The clip region for the actor"
-#~ msgstr "A região de corte do ator"
-
-#~ msgid "Scale Center X"
-#~ msgstr "Centro da Escala X"
-
-#~ msgid "Horizontal scale center"
-#~ msgstr "Centro da escala horizontal"
-
-#~ msgid "Scale Center Y"
-#~ msgstr "Centro da Escala Y"
-
-#~ msgid "Vertical scale center"
-#~ msgstr "Centro da escala vertical"
-
-#~ msgid "Scale Gravity"
-#~ msgstr "Gravidade da Escala"
-
-#~ msgid "The center of scaling"
-#~ msgstr "O centro da escala"
-
-#~ msgid "Rotation Center X"
-#~ msgstr "Centro de Rotação X"
-
-#~ msgid "The rotation center on the X axis"
-#~ msgstr "O centro de rotação no eixo X"
-
-#~ msgid "Rotation Center Y"
-#~ msgstr "Centro de Rotação Y"
-
-#~ msgid "The rotation center on the Y axis"
-#~ msgstr "O centro de rotação no eixo Y"
-
-#~ msgid "Rotation Center Z"
-#~ msgstr "Centro de Rotação Z"
-
-#~ msgid "The rotation center on the Z axis"
-#~ msgstr "O centro de rotação no eixo Z"
-
-#~ msgid "Rotation Center Z Gravity"
-#~ msgstr "Gravidade do Centro de Rotação Z"
-
-#~ msgid "Center point for rotation around the Z axis"
-#~ msgstr "Ponto central da rotação em torno do eixo Z"
-
-#~ msgid "Anchor X"
-#~ msgstr "Âncora X"
-
-#~ msgid "X coordinate of the anchor point"
-#~ msgstr "Coordenada X do ponto de ancoragem"
-
-#~ msgid "Anchor Y"
-#~ msgstr "Âncora Y"
-
-#~ msgid "Y coordinate of the anchor point"
-#~ msgstr "Coordenada Y do ponto de ancoragem"
-
-#~ msgid "Anchor Gravity"
-#~ msgstr "Gravidade da Âncora"
-
-#~ msgid "The anchor point as a ClutterGravity"
-#~ msgstr "O ponto de ancoragem como um ClutterGravity"
-
-#~ msgid "Show on set parent"
-#~ msgstr "Apresentar ao definir pai"
-
-#~ msgid "Whether the actor is shown when parented"
-#~ msgstr "Se o ator é apresentado quando tem pai"
-
-#~ msgid "Horizontal Alignment"
-#~ msgstr "Alinhamento Horizontal"
-
-#~ msgid "Horizontal alignment for the actor inside the layout manager"
-#~ msgstr "Alinhamento horizontal do ator dentro do gestor de disposição"
-
-#~ msgid "Vertical Alignment"
-#~ msgstr "Alinhamento Vertical"
-
-#~ msgid "Vertical alignment for the actor inside the layout manager"
-#~ msgstr "Alinhamento vertical do ator dentro do gestor de disposição"
-
-#~ msgid ""
-#~ "Default horizontal alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "Alinhamento horizontal por omissão dos atores dentro do gestor de "
-#~ "disposição"
-
-#~ msgid "Default vertical alignment for the actors inside the layout manager"
-#~ msgstr ""
-#~ "Alinhamento vertical por omissão dos atores dentro do gestor de disposição"
-
-#~ msgid "Expand"
-#~ msgstr "Expandir"
-
-#~ msgid "Allocate extra space for the child"
-#~ msgstr "Alocar espaço extra para o filho"
-
-#~ msgid "Horizontal Fill"
-#~ msgstr "Enchimento Horizontal"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the horizontal axis"
-#~ msgstr ""
-#~ "Se o filho deverá ou não receber prioridade quando o contentor está a "
-#~ "alocar espaço extra no eixo horizontal"
-
-#~ msgid "Vertical Fill"
-#~ msgstr "Enchimento Vertical"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the vertical axis"
-#~ msgstr ""
-#~ "Se o filho deverá ou não receber prioridade quando o contentor está a "
-#~ "alocar espaço extra no eixo vertical"
-
-#~ msgid "Horizontal alignment of the actor within the cell"
-#~ msgstr "Alinhamento horizontal do ator dentro da célula"
-
-#~ msgid "Vertical alignment of the actor within the cell"
-#~ msgstr "Alinhamento vertical do ator dentro da célula"
-
-#~ msgid "Vertical"
-#~ msgstr "Vertical"
-
-#~ msgid "Whether the layout should be vertical, rather than horizontal"
-#~ msgstr "Se a disposição deverá ser vertical em vez de horizontal"
-
-#~ msgid "Use Animations"
-#~ msgstr "Utilizar Animações"
-
-#~ msgid "Whether layout changes should be animated"
-#~ msgstr "Se as alterações de disposição deverão ou não ser animadas"
-
-#~ msgid "Easing Mode"
-#~ msgstr "Modo de Transição"
-
-#~ msgid "The easing mode of the animations"
-#~ msgstr "O modo de transição das animações"
-
-#~ msgid "Easing Duration"
-#~ msgstr "Duração da Transição"
-
-#~ msgid "The duration of the animations"
-#~ msgstr "A duração das animações"
-
-#~ msgid "Offscreen"
-#~ msgstr "Fora do Ecrã"
-
-#~ msgid "Whether the main stage should be rendered offscreen"
-#~ msgstr "Se o palco principal deverá ou não ser renderizado fora do ecrã"
-
-#~ msgid "Color"
-#~ msgstr "Cor"
-
-#~ msgid "The color of the stage"
-#~ msgstr "A cor do palco"
-
-#~ msgid "Use Fog"
-#~ msgstr "Utilizar Nevoeiro"
-
-#~ msgid "Whether to enable depth cueing"
-#~ msgstr "Se ativar ou não fila de profundidade"
-
-#~ msgid "Fog"
-#~ msgstr "Nevoeiro"
-
-#~ msgid "Settings for the depth cueing"
-#~ msgstr "Definições para a fila de profundidade"
-
-#~ msgid "Horizontal Expand"
-#~ msgstr "Expansão Horizontal"
-
-#~ msgid "Allocate extra space for the child in horizontal axis"
-#~ msgstr "Alocar espaço extra no eixo horizontal para o filho"
-
-#~ msgid "Vertical Expand"
-#~ msgstr "Expansão Vertical"
-
-#~ msgid "Allocate extra space for the child in vertical axis"
-#~ msgstr "Alocar espaço extra no eixo vertical para o filho"
-
-#~ msgid "Loop"
-#~ msgstr "Ciclo"
-
-#~ msgid "Should the timeline automatically restart"
-#~ msgstr "Se a linha temporal deverá reiniciar automaticamente"
-
-#~ msgid "Timeline"
-#~ msgstr "Linha Temporal"
-
-#~ msgid "Timeline used by the alpha"
-#~ msgstr "Linha temporal utilizada pelo alfa"
-
-#~ msgid "Alpha value"
-#~ msgstr "Valor alfa"
-
-#~ msgid "Alpha value as computed by the alpha"
-#~ msgstr "Valor alfa tal como calculado pelo alfa"
-
-#~ msgid "Mode"
-#~ msgstr "Modo"
-
-#~ msgid "Progress mode"
-#~ msgstr "Modo de progresso"
-
-#~ msgid "Object"
-#~ msgstr "Objeto"
-
-#~ msgid "Object to which the animation applies"
-#~ msgstr "Objeto sobre o qual se aplica a animação"
-
-#~ msgid "The mode of the animation"
-#~ msgstr "O modo da animação"
-
-#~ msgid "Duration of the animation, in milliseconds"
-#~ msgstr "Duração da animação, em milisegundos"
-
-#~ msgid "Whether the animation should loop"
-#~ msgstr "Se a animação deverá ou não reproduzir em ciclo"
-
-#~ msgid "The timeline used by the animation"
-#~ msgstr "A linha temporal utilizada pela animação"
-
-#~ msgid "Alpha"
-#~ msgstr "Alfa"
-
-#~ msgid "The alpha used by the animation"
-#~ msgstr "O alfa utilizado pela animação"
-
-#~ msgid "The duration of the animation"
-#~ msgstr "A duração da animação"
-
-#~ msgid "The timeline of the animation"
-#~ msgstr "A linha temporal da animação"
-
-#~ msgid "Alpha Object to drive the behaviour"
-#~ msgstr "Objeto Alfa para conduzir o comportamento"
-
-#~ msgid "Start Depth"
-#~ msgstr "Profundidade Inicial"
-
-#~ msgid "Initial depth to apply"
-#~ msgstr "Profundidade inicial a aplicar"
-
-#~ msgid "End Depth"
-#~ msgstr "Profundidade Final"
-
-#~ msgid "Final depth to apply"
-#~ msgstr "Profundidade final a aplicar"
-
-#~ msgid "Start Angle"
-#~ msgstr "Ângulo Inicial"
-
-#~ msgid "Initial angle"
-#~ msgstr "Ângulo inicial"
-
-#~ msgid "End Angle"
-#~ msgstr "Ângulo Final"
-
-#~ msgid "Final angle"
-#~ msgstr "Ângulo final"
-
-#~ msgid "Angle x tilt"
-#~ msgstr "Inclinação x do ângulo"
-
-#~ msgid "Tilt of the ellipse around x axis"
-#~ msgstr "Inclinação da elipse em torno do eixo x"
-
-#~ msgid "Angle y tilt"
-#~ msgstr "Inclinação y do ângulo"
-
-#~ msgid "Tilt of the ellipse around y axis"
-#~ msgstr "Inclinação da elipse em torno do eixo y"
-
-#~ msgid "Angle z tilt"
-#~ msgstr "Inclinação z do ângulo"
-
-#~ msgid "Tilt of the ellipse around z axis"
-#~ msgstr "Inclinação da elipse em torno do eixo z"
-
-#~ msgid "Width of the ellipse"
-#~ msgstr "Largura da elipse"
-
-#~ msgid "Height of ellipse"
-#~ msgstr "Altura da elipse"
-
-#~ msgid "Center"
-#~ msgstr "Centro"
-
-#~ msgid "Center of ellipse"
-#~ msgstr "Centro da elipse"
-
-#~ msgid "Direction of rotation"
-#~ msgstr "Direção da rotação"
-
-#~ msgid "Opacity Start"
-#~ msgstr "Opacidade Inicial"
-
-#~ msgid "Initial opacity level"
-#~ msgstr "Nível inicial de opacidade"
-
-#~ msgid "Opacity End"
-#~ msgstr "Opacidade Final"
-
-#~ msgid "Final opacity level"
-#~ msgstr "Nível final de opacidade"
-
-#~ msgid "The ClutterPath object representing the path to animate along"
-#~ msgstr ""
-#~ "O objeto ClutterPath que representa o caminho ao longo do qual animar"
-
-#~ msgid "Angle Begin"
-#~ msgstr "Ângulo Inicial"
-
-#~ msgid "Angle End"
-#~ msgstr "Ângulo Final"
-
-#~ msgid "Axis"
-#~ msgstr "Eixo"
-
-#~ msgid "Axis of rotation"
-#~ msgstr "Eixo da rotação"
-
-#~ msgid "Center X"
-#~ msgstr "Centro X"
-
-#~ msgid "X coordinate of the center of rotation"
-#~ msgstr "Coordenada X do centro da rotação"
-
-#~ msgid "Center Y"
-#~ msgstr "Centro Y"
-
-#~ msgid "Y coordinate of the center of rotation"
-#~ msgstr "Coordenada Y do centro da rotação"
-
-#~ msgid "Center Z"
-#~ msgstr "Centro Z"
-
-#~ msgid "Z coordinate of the center of rotation"
-#~ msgstr "Coordenada Z do centro da rotação"
-
-#~ msgid "X Start Scale"
-#~ msgstr "Escala Inicial X"
-
-#~ msgid "Initial scale on the X axis"
-#~ msgstr "Escala inicial no eixo X"
-
-#~ msgid "X End Scale"
-#~ msgstr "Escala Final X"
-
-#~ msgid "Final scale on the X axis"
-#~ msgstr "Escala final no eixo X"
-
-#~ msgid "Y Start Scale"
-#~ msgstr "Escala Inicial Y"
-
-#~ msgid "Initial scale on the Y axis"
-#~ msgstr "Escala inicial no eixo Y"
-
-#~ msgid "Y End Scale"
-#~ msgstr "Escala Final Y"
-
-#~ msgid "Final scale on the Y axis"
-#~ msgstr "Escala final no eixo Y"
-
-#~ msgid "The background color of the box"
-#~ msgstr "A cor do fundo da caixa"
-
-#~ msgid "Color Set"
-#~ msgstr "Cor Definida"
-
-#~ msgid "Surface Width"
-#~ msgstr "Largura da Superfície"
-
-#~ msgid "The width of the Cairo surface"
-#~ msgstr "A largura da superfície Cairo"
-
-#~ msgid "Surface Height"
-#~ msgstr "Altura da Superfície"
-
-#~ msgid "The height of the Cairo surface"
-#~ msgstr "A altura da superfície Cairo"
-
-#~ msgid "Auto Resize"
-#~ msgstr "Redimensionamento Automático"
-
-#~ msgid "Whether the surface should match the allocation"
-#~ msgstr "Se a superfície deverá ou não coincidir com a alocação"
-
-#~ msgid "URI"
-#~ msgstr "URI"
-
-#~ msgid "URI of a media file"
-#~ msgstr "URI de ficheiro de media"
-
-#~ msgid "Playing"
-#~ msgstr "A Reproduzir"
-
-#~ msgid "Whether the actor is playing"
-#~ msgstr "Se o ator está ou não a reproduzir"
-
-#~ msgid "Progress"
-#~ msgstr "Progresso"
-
-#~ msgid "Current progress of the playback"
-#~ msgstr "Progresso atual da reprodução"
-
-#~ msgid "Subtitle URI"
-#~ msgstr "URI das Legendas"
-
-#~ msgid "URI of a subtitle file"
-#~ msgstr "URI de um ficheiro de legendas"
-
-#~ msgid "Subtitle Font Name"
-#~ msgstr "Nome da Fonte de Legendas"
-
-#~ msgid "The font used to display subtitles"
-#~ msgstr "A fonte utilizada para apresentar as legendas"
-
-#~ msgid "Audio Volume"
-#~ msgstr "Volume do Áudio"
-
-#~ msgid "The volume of the audio"
-#~ msgstr "O volume do áudio"
-
-#~ msgid "Can Seek"
-#~ msgstr "Pode Procurar"
-
-#~ msgid "Whether the current stream is seekable"
-#~ msgstr "Se o fluxo atual permite ou não procuras"
-
-#~ msgid "Buffer Fill"
-#~ msgstr "Enchimento do Buffer"
-
-#~ msgid "The fill level of the buffer"
-#~ msgstr "O nível de enchimento do buffer"
-
-#~ msgid "The duration of the stream, in seconds"
-#~ msgstr "A duração do fluxo, em segundos"
-
-#~ msgid "The color of the rectangle"
-#~ msgstr "A cor do retângulo"
-
-#~ msgid "Border Color"
-#~ msgstr "Cor da Margem"
-
-#~ msgid "The color of the border of the rectangle"
-#~ msgstr "A cor da margem do retângulo"
-
-#~ msgid "Border Width"
-#~ msgstr "Largura da Margem"
-
-#~ msgid "The width of the border of the rectangle"
-#~ msgstr "Largura da margem do retângulo"
-
-#~ msgid "Has Border"
-#~ msgstr "Tem Margens"
-
-#~ msgid "Whether the rectangle should have a border"
-#~ msgstr "Se o retângulo deverá ou não ter uma margem"
-
-#~ msgid "Vertex Source"
-#~ msgstr "Origem do Vertex"
-
-#~ msgid "Source of vertex shader"
-#~ msgstr "Origem do vertex de sombreamento"
-
-#~ msgid "Fragment Source"
-#~ msgstr "Origem do Fragmento"
-
-#~ msgid "Source of fragment shader"
-#~ msgstr "Origem do fragmento de sombreamento"
-
-#~ msgid "Compiled"
-#~ msgstr "Compilado"
-
-#~ msgid "Whether the shader is compiled and linked"
-#~ msgstr "Se o sombreamento está ou não compilado e associado"
-
-#~ msgid "Whether the shader is enabled"
-#~ msgstr "Se o sombreamento está ou não ativo"
-
-#~ msgid "%s compilation failed: %s"
-#~ msgstr "Falha na compilação de %s: %s"
-
-#~ msgid "Vertex shader"
-#~ msgstr "Vertex de sombreamento"
-
-#~ msgid "Fragment shader"
-#~ msgstr "Fragmento de sombreamento"
-
-#~ msgid "State"
-#~ msgstr "Estado"
-
-#~ msgid ""
-#~ "Currently set state, (transition to this state might not be complete)"
-#~ msgstr ""
-#~ "Estado atualmente definido (a transição para este estado pode não estar "
-#~ "terminada)"
-
-#~ msgid "Default transition duration"
-#~ msgstr "Duração da transição por omissão"
-
-#~ msgid "Sync size of actor"
-#~ msgstr "Tamanho de sincronização do ator"
-
-#~ msgid "Auto sync size of actor to underlying pixbuf dimensions"
-#~ msgstr ""
-#~ "Tamanho de sincronização automático do ator para as dimensões pixbuf "
-#~ "subjacentes"
-
-#~ msgid "Disable Slicing"
-#~ msgstr "Desativar Fatiamento"
-
-#~ msgid ""
-#~ "Forces the underlying texture to be singular and not made of smaller "
-#~ "space saving individual textures"
-#~ msgstr ""
-#~ "Força que a textura subjacente seja única e não composta por texturas "
-#~ "individuais de poupança de espaço"
-
-#~ msgid "Tile Waste"
-#~ msgstr "Desperdício de Mosaico"
-
-#~ msgid "Maximum waste area of a sliced texture"
-#~ msgstr "Área máxima desperdiçada numa textura fatiada"
-
-#~ msgid "Horizontal repeat"
-#~ msgstr "Repetimento horizontal"
-
-#~ msgid "Repeat the contents rather than scaling them horizontally"
-#~ msgstr "Repetir o conteúdo em vez de o escalar horizontalmente"
-
-#~ msgid "Vertical repeat"
-#~ msgstr "Repetimento vertical"
-
-#~ msgid "Repeat the contents rather than scaling them vertically"
-#~ msgstr "Repetir o conteúdo em vez de o escalar verticalmente"
-
-#~ msgid "Filter Quality"
-#~ msgstr "Qualidade do Filtro"
-
-#~ msgid "Rendering quality used when drawing the texture"
-#~ msgstr "Qualidade de renderização utilizada ao desenhar a textura"
-
-#~ msgid "Pixel Format"
-#~ msgstr "Formato de Pixel"
-
-#~ msgid "The Cogl pixel format to use"
-#~ msgstr "O formato de pixel Cogl a utilizar"
-
-#~ msgid "Cogl Material"
-#~ msgstr "Material Cogl"
-
-#~ msgid "The underlying Cogl material handle used to draw this actor"
-#~ msgstr ""
-#~ "O manípulo de material Cogl subjacente utilizado para desenhar este ator"
-
-#~ msgid "The path of the file containing the image data"
-#~ msgstr "O caminho do ficheiro que contém os dados da imagem"
-
-#~ msgid "Keep Aspect Ratio"
-#~ msgstr "Manter o Rácio de Aparência"
-
-#~ msgid ""
-#~ "Keep the aspect ratio of the texture when requesting the preferred width "
-#~ "or height"
-#~ msgstr ""
-#~ "Manter o rácio de aparência da textura ao pedir a largura ou altura "
-#~ "preferida"
-
-#~ msgid "Load asynchronously"
-#~ msgstr "Ler assincronamente"
-
-#~ msgid ""
-#~ "Load files inside a thread to avoid blocking when loading images from disk"
-#~ msgstr ""
-#~ "Ler ficheiros dentro de uma thread para evitar bloqueios ao ler imagens "
-#~ "do disco"
-
-#~ msgid "Load data asynchronously"
-#~ msgstr "Ler dados assincronamente"
-
-#~ msgid ""
-#~ "Decode image data files inside a thread to reduce blocking when loading "
-#~ "images from disk"
-#~ msgstr ""
-#~ "Descodificar os dados de ficheiros de imagem dentro de uma thread para "
-#~ "evitar bloqueios ao ler imagens do disco"
-
-#~ msgid "Pick With Alpha"
-#~ msgstr "Selecionar Com Alfa"
-
-#~ msgid "Shape actor with alpha channel when picking"
-#~ msgstr "Desenhar o ator com o canal alfa ao selecionar"
-
-#~ msgid "Failed to load the image data"
-#~ msgstr "Falha ao ler os dados da imagem"
-
-#~ msgid "YUV textures are not supported"
-#~ msgstr "Texturas YUV não são suportadas"
-
-#~ msgid "YUV2 textues are not supported"
-#~ msgstr "Texturas YUV2 não são suportadas"
-
 #~ msgid "Ator"
 #~ msgstr "Ator"
 
diff --git a/po/pt_BR.po b/po/pt_BR.po
index cbd1345..f0f3915 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,711 +1,711 @@
 # Brazilian Portuguese translation of clutter.
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2011 Free Software Foundation, Inc.
 # This file is distributed under the same license as the clutter package.
 # Edvaldo de Souza Cruz <edvaldoscruz hotmail com>, 2011.
 # Og Maciel <ogmaciel gnome org>, 2011.
 # Jonh Wendell <jwendell gnome org>, 2012.
-# Rafael Ferreira <rafael f f1 gmail com>, 2013.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
-"product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-07-26 01:32+0000\n"
-"PO-Revision-Date: 2013-07-30 07:37-0300\n"
-"Last-Translator: Rafael Ferreira <rafael f f1 gmail com>\n"
+"product=clutter\n"
+"POT-Creation-Date: 2012-09-07 11:57-0400\n"
+"PO-Revision-Date: 2012-09-07 12:53-0300\n"
+"Last-Translator: Enrico Nicoletto <liverig gmail com>\n"
 "Language-Team: Brazilian Portuguese <gnome-pt_br-list gnome org>\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Poedit-Language: Portguese\n"
+"X-Poedit-Country: brazil\n"
 
-#: ../clutter/clutter-actor.c:6177
+#: ../clutter/clutter-actor.c:6125
 msgid "X coordinate"
 msgstr "Coordenada X"
 
-#: ../clutter/clutter-actor.c:6178
+#: ../clutter/clutter-actor.c:6126
 msgid "X coordinate of the actor"
 msgstr "Coordenada X do ator"
 
-#: ../clutter/clutter-actor.c:6196
+#: ../clutter/clutter-actor.c:6144
 msgid "Y coordinate"
 msgstr "Coordenada Y"
 
-#: ../clutter/clutter-actor.c:6197
+#: ../clutter/clutter-actor.c:6145
 msgid "Y coordinate of the actor"
 msgstr "Coordenada Y do ator"
 
-#: ../clutter/clutter-actor.c:6219
+#: ../clutter/clutter-actor.c:6167
 msgid "Position"
 msgstr "Posição"
 
-#: ../clutter/clutter-actor.c:6220
+#: ../clutter/clutter-actor.c:6168
 msgid "The position of the origin of the actor"
 msgstr "A posição da origem do ator"
 
-#: ../clutter/clutter-actor.c:6237 ../clutter/clutter-canvas.c:224
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6185 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Largura"
 
-#: ../clutter/clutter-actor.c:6238
+#: ../clutter/clutter-actor.c:6186
 msgid "Width of the actor"
 msgstr "Largura do ator"
 
-#: ../clutter/clutter-actor.c:6256 ../clutter/clutter-canvas.c:240
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Altura"
 
-#: ../clutter/clutter-actor.c:6257
+#: ../clutter/clutter-actor.c:6205
 msgid "Height of the actor"
 msgstr "Altura do ator"
 
-#: ../clutter/clutter-actor.c:6278
+#: ../clutter/clutter-actor.c:6226
 msgid "Size"
 msgstr "Largura"
 
-#: ../clutter/clutter-actor.c:6279
+#: ../clutter/clutter-actor.c:6227
 msgid "The size of the actor"
 msgstr "A largura do ator"
 
-#: ../clutter/clutter-actor.c:6297
+#: ../clutter/clutter-actor.c:6245
 msgid "Fixed X"
 msgstr "X fixo"
 
-#: ../clutter/clutter-actor.c:6298
+#: ../clutter/clutter-actor.c:6246
 msgid "Forced X position of the actor"
 msgstr "Forçando a posição X do ator"
 
-#: ../clutter/clutter-actor.c:6315
+#: ../clutter/clutter-actor.c:6263
 msgid "Fixed Y"
 msgstr "Y fixo"
 
-#: ../clutter/clutter-actor.c:6316
+#: ../clutter/clutter-actor.c:6264
 msgid "Forced Y position of the actor"
 msgstr "Forçando a posição Y do ator"
 
-#: ../clutter/clutter-actor.c:6331
+#: ../clutter/clutter-actor.c:6279
 msgid "Fixed position set"
 msgstr "Posição fixa definida"
 
-#: ../clutter/clutter-actor.c:6332
+#: ../clutter/clutter-actor.c:6280
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Se usar posicionamento fixo para o ator"
 
-#: ../clutter/clutter-actor.c:6350
+#: ../clutter/clutter-actor.c:6298
 msgid "Min Width"
 msgstr "Largura mínima"
 
-#: ../clutter/clutter-actor.c:6351
+#: ../clutter/clutter-actor.c:6299
 msgid "Forced minimum width request for the actor"
 msgstr "Forçando pedido de largura mínima para o ator"
 
-#: ../clutter/clutter-actor.c:6369
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Height"
 msgstr "Altura mínima"
 
-#: ../clutter/clutter-actor.c:6370
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum height request for the actor"
 msgstr "Forçando pedido de altura mínima para o ator"
 
-#: ../clutter/clutter-actor.c:6388
+#: ../clutter/clutter-actor.c:6336
 msgid "Natural Width"
 msgstr "Largura natural"
 
-#: ../clutter/clutter-actor.c:6389
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced natural width request for the actor"
 msgstr "Forçando pedido de largura natural para o ator"
 
-#: ../clutter/clutter-actor.c:6407
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Height"
 msgstr "Altura natural"
 
-#: ../clutter/clutter-actor.c:6408
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural height request for the actor"
 msgstr "Forçando pedido de altura natural para o ator"
 
-#: ../clutter/clutter-actor.c:6423
+#: ../clutter/clutter-actor.c:6371
 msgid "Minimum width set"
 msgstr "Largura mínima definida"
 
-#: ../clutter/clutter-actor.c:6424
+#: ../clutter/clutter-actor.c:6372
 msgid "Whether to use the min-width property"
 msgstr "Se usar a propriedade da largura mínima"
 
-#: ../clutter/clutter-actor.c:6438
+#: ../clutter/clutter-actor.c:6386
 msgid "Minimum height set"
 msgstr "Altura mínima definida"
 
-#: ../clutter/clutter-actor.c:6439
+#: ../clutter/clutter-actor.c:6387
 msgid "Whether to use the min-height property"
 msgstr "Se usar a propriedade de altura mínima"
 
-#: ../clutter/clutter-actor.c:6453
+#: ../clutter/clutter-actor.c:6401
 msgid "Natural width set"
 msgstr "Largura natural definida"
 
-#: ../clutter/clutter-actor.c:6454
+#: ../clutter/clutter-actor.c:6402
 msgid "Whether to use the natural-width property"
 msgstr "Se usar a propriedade de largura natural"
 
-#: ../clutter/clutter-actor.c:6468
+#: ../clutter/clutter-actor.c:6416
 msgid "Natural height set"
 msgstr "Altura natural definida"
 
-#: ../clutter/clutter-actor.c:6469
+#: ../clutter/clutter-actor.c:6417
 msgid "Whether to use the natural-height property"
 msgstr "Se usar a propriedade de altura natural"
 
-#: ../clutter/clutter-actor.c:6485
+#: ../clutter/clutter-actor.c:6433
 msgid "Allocation"
 msgstr "Posição"
 
-#: ../clutter/clutter-actor.c:6486
+#: ../clutter/clutter-actor.c:6434
 msgid "The actor's allocation"
 msgstr "Posição do ator"
 
-#: ../clutter/clutter-actor.c:6543
+#: ../clutter/clutter-actor.c:6491
 msgid "Request Mode"
 msgstr "Modo do pedido"
 
-#: ../clutter/clutter-actor.c:6544
+#: ../clutter/clutter-actor.c:6492
 msgid "The actor's request mode"
 msgstr "O modo do pedido do ator"
 
-#: ../clutter/clutter-actor.c:6568
+#: ../clutter/clutter-actor.c:6516
 msgid "Depth"
 msgstr "Profundidade"
 
-#: ../clutter/clutter-actor.c:6569
+#: ../clutter/clutter-actor.c:6517
 msgid "Position on the Z axis"
 msgstr "Posição no eixo Z"
 
-#: ../clutter/clutter-actor.c:6596
+#: ../clutter/clutter-actor.c:6544
 msgid "Z Position"
 msgstr "Posição Z"
 
-#: ../clutter/clutter-actor.c:6597
+#: ../clutter/clutter-actor.c:6545
 msgid "The actor's position on the Z axis"
 msgstr "A posição do ator no eixo Z"
 
-#: ../clutter/clutter-actor.c:6614
+#: ../clutter/clutter-actor.c:6562
 msgid "Opacity"
 msgstr "Opacidade"
 
-#: ../clutter/clutter-actor.c:6615
+#: ../clutter/clutter-actor.c:6563
 msgid "Opacity of an actor"
 msgstr "Opacidade do ator"
 
-#: ../clutter/clutter-actor.c:6635
+#: ../clutter/clutter-actor.c:6583
 msgid "Offscreen redirect"
 msgstr "Redirecionamento fora da tela"
 
-#: ../clutter/clutter-actor.c:6636
+#: ../clutter/clutter-actor.c:6584
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Sinalizadores controlando quando achatar o ator em uma única imagem"
 
-#: ../clutter/clutter-actor.c:6650
+#: ../clutter/clutter-actor.c:6598
 msgid "Visible"
 msgstr "Visibilidade"
 
-#: ../clutter/clutter-actor.c:6651
+#: ../clutter/clutter-actor.c:6599
 msgid "Whether the actor is visible or not"
 msgstr "Se o ator está visível ou não"
 
-#: ../clutter/clutter-actor.c:6665
+#: ../clutter/clutter-actor.c:6613
 msgid "Mapped"
 msgstr "Mapeado"
 
-#: ../clutter/clutter-actor.c:6666
+#: ../clutter/clutter-actor.c:6614
 msgid "Whether the actor will be painted"
 msgstr "Se o ator vai ser pintado"
 
-#: ../clutter/clutter-actor.c:6679
+#: ../clutter/clutter-actor.c:6627
 msgid "Realized"
 msgstr "Realizado"
 
-#: ../clutter/clutter-actor.c:6680
+#: ../clutter/clutter-actor.c:6628
 msgid "Whether the actor has been realized"
 msgstr "Se o ator foi realizado"
 
-#: ../clutter/clutter-actor.c:6695
+#: ../clutter/clutter-actor.c:6643
 msgid "Reactive"
 msgstr "Responsivo"
 
-#: ../clutter/clutter-actor.c:6696
+#: ../clutter/clutter-actor.c:6644
 msgid "Whether the actor is reactive to events"
 msgstr "Se o ator é responsivo aos eventos"
 
-#: ../clutter/clutter-actor.c:6707
+#: ../clutter/clutter-actor.c:6655
 msgid "Has Clip"
 msgstr "Possui corte"
 
-#: ../clutter/clutter-actor.c:6708
+#: ../clutter/clutter-actor.c:6656
 msgid "Whether the actor has a clip set"
 msgstr "Se o ator tem um corte definido"
 
-#: ../clutter/clutter-actor.c:6721
+#: ../clutter/clutter-actor.c:6669
 msgid "Clip"
 msgstr "Corte"
 
-#: ../clutter/clutter-actor.c:6722
+#: ../clutter/clutter-actor.c:6670
 msgid "The clip region for the actor"
 msgstr "A região do corte para o ator"
 
-#: ../clutter/clutter-actor.c:6741
+#: ../clutter/clutter-actor.c:6689
 msgid "Clip Rectangle"
 msgstr "Cortar retângulo"
 
-#: ../clutter/clutter-actor.c:6742
+#: ../clutter/clutter-actor.c:6690
 msgid "The visible region of the actor"
 msgstr "A região visível do ator"
 
-#: ../clutter/clutter-actor.c:6756 ../clutter/clutter-actor-meta.c:205
+#: ../clutter/clutter-actor.c:6704 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Nome"
 
-#: ../clutter/clutter-actor.c:6757
+#: ../clutter/clutter-actor.c:6705
 msgid "Name of the actor"
 msgstr "Nome do ator"
 
-#: ../clutter/clutter-actor.c:6778
+#: ../clutter/clutter-actor.c:6726
 msgid "Pivot Point"
 msgstr "Ponto pivô"
 
-#: ../clutter/clutter-actor.c:6779
+#: ../clutter/clutter-actor.c:6727
 msgid "The point around which the scaling and rotation occur"
 msgstr "O ponto sobre o qual ocorre o dimensionamento e rotação"
 
-#: ../clutter/clutter-actor.c:6797
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point Z"
 msgstr "Ponto pivô Z"
 
-#: ../clutter/clutter-actor.c:6798
+#: ../clutter/clutter-actor.c:6746
 msgid "Z component of the pivot point"
 msgstr "Componente Z do ponto pivô"
 
-#: ../clutter/clutter-actor.c:6816
+#: ../clutter/clutter-actor.c:6764
 msgid "Scale X"
 msgstr "Escala X"
 
-#: ../clutter/clutter-actor.c:6817
+#: ../clutter/clutter-actor.c:6765
 msgid "Scale factor on the X axis"
 msgstr "Fator da escala no eixo X"
 
-#: ../clutter/clutter-actor.c:6835
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale Y"
 msgstr "Escala Y"
 
-#: ../clutter/clutter-actor.c:6836
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the Y axis"
 msgstr "Fator da escala no eixo Y"
 
-#: ../clutter/clutter-actor.c:6854
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Z"
 msgstr "Escala Z"
 
-#: ../clutter/clutter-actor.c:6855
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Z axis"
 msgstr "Fator da escala no eixo Z"
 
-#: ../clutter/clutter-actor.c:6873
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Center X"
 msgstr "Escala X central"
 
-#: ../clutter/clutter-actor.c:6874
+#: ../clutter/clutter-actor.c:6822
 msgid "Horizontal scale center"
 msgstr "Centro da escala horizontal"
 
-#: ../clutter/clutter-actor.c:6892
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center Y"
 msgstr "Escala Y central"
 
-#: ../clutter/clutter-actor.c:6893
+#: ../clutter/clutter-actor.c:6841
 msgid "Vertical scale center"
 msgstr "Escala central vertical"
 
-#: ../clutter/clutter-actor.c:6911
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Gravity"
 msgstr "Escala de gravidade"
 
-#: ../clutter/clutter-actor.c:6912
+#: ../clutter/clutter-actor.c:6860
 msgid "The center of scaling"
 msgstr "O centro do dimensionamento"
 
-#: ../clutter/clutter-actor.c:6930
+#: ../clutter/clutter-actor.c:6878
 msgid "Rotation Angle X"
 msgstr "Ângulo de rotação X"
 
-#: ../clutter/clutter-actor.c:6931
+#: ../clutter/clutter-actor.c:6879
 msgid "The rotation angle on the X axis"
 msgstr "O ângulo de rotação no eixo X"
 
-#: ../clutter/clutter-actor.c:6949
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle Y"
 msgstr "Ângulo de rotação Y"
 
-#: ../clutter/clutter-actor.c:6950
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the Y axis"
 msgstr "O ângulo de rotação no eixo Y"
 
-#: ../clutter/clutter-actor.c:6968
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Z"
 msgstr "Ângulo de rotação Z"
 
-#: ../clutter/clutter-actor.c:6969
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Z axis"
 msgstr "O ângulo de rotação no eixo Z"
 
-#: ../clutter/clutter-actor.c:6987
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Center X"
 msgstr "Centro de rotação X"
 
-#: ../clutter/clutter-actor.c:6988
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation center on the X axis"
 msgstr "O centro de rotação no eixo X"
 
-#: ../clutter/clutter-actor.c:7005
+#: ../clutter/clutter-actor.c:6953
 msgid "Rotation Center Y"
 msgstr "Centro de rotação Y"
 
-#: ../clutter/clutter-actor.c:7006
+#: ../clutter/clutter-actor.c:6954
 msgid "The rotation center on the Y axis"
 msgstr "O centro de rotação no eixo Y"
 
-#: ../clutter/clutter-actor.c:7023
+#: ../clutter/clutter-actor.c:6971
 msgid "Rotation Center Z"
 msgstr "Centro de rotação Z"
 
-#: ../clutter/clutter-actor.c:7024
+#: ../clutter/clutter-actor.c:6972
 msgid "The rotation center on the Z axis"
 msgstr "O centro de rotação no eixo Z"
 
-#: ../clutter/clutter-actor.c:7041
+#: ../clutter/clutter-actor.c:6989
 msgid "Rotation Center Z Gravity"
 msgstr "Centro de rotação de gravidade Z"
 
-#: ../clutter/clutter-actor.c:7042
+#: ../clutter/clutter-actor.c:6990
 msgid "Center point for rotation around the Z axis"
 msgstr "Ponto central para a rotação em torno do eixo Z"
 
-#: ../clutter/clutter-actor.c:7070
+#: ../clutter/clutter-actor.c:7018
 msgid "Anchor X"
 msgstr "Âncora X"
 
-#: ../clutter/clutter-actor.c:7071
+#: ../clutter/clutter-actor.c:7019
 msgid "X coordinate of the anchor point"
 msgstr "Coordenada X do ponto de ancoragem"
 
-#: ../clutter/clutter-actor.c:7099
+#: ../clutter/clutter-actor.c:7047
 msgid "Anchor Y"
 msgstr "Âncora Y"
 
-#: ../clutter/clutter-actor.c:7100
+#: ../clutter/clutter-actor.c:7048
 msgid "Y coordinate of the anchor point"
 msgstr "Coordenada Y do ponto de ancoragem"
 
-#: ../clutter/clutter-actor.c:7127
+#: ../clutter/clutter-actor.c:7075
 msgid "Anchor Gravity"
 msgstr "Gravidade de âncora"
 
-#: ../clutter/clutter-actor.c:7128
+#: ../clutter/clutter-actor.c:7076
 msgid "The anchor point as a ClutterGravity"
 msgstr "O ponto de ancoragem como um ClutterGravity"
 
-#: ../clutter/clutter-actor.c:7147
+#: ../clutter/clutter-actor.c:7095
 msgid "Translation X"
 msgstr "Translação X"
 
-#: ../clutter/clutter-actor.c:7148
+#: ../clutter/clutter-actor.c:7096
 msgid "Translation along the X axis"
 msgstr "Translação ao longo do eixo X"
 
-#: ../clutter/clutter-actor.c:7167
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation Y"
 msgstr "Translação Y"
 
-#: ../clutter/clutter-actor.c:7168
+#: ../clutter/clutter-actor.c:7116
 msgid "Translation along the Y axis"
 msgstr "Translação ao longo do eixo Y"
 
-#: ../clutter/clutter-actor.c:7187
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation Z"
 msgstr "Translação Z"
 
-#: ../clutter/clutter-actor.c:7188
+#: ../clutter/clutter-actor.c:7136
 msgid "Translation along the Z axis"
 msgstr "Translação ao longo do eixo Z"
 
-#: ../clutter/clutter-actor.c:7218
+#: ../clutter/clutter-actor.c:7166
 msgid "Transform"
 msgstr "Transformar"
 
-#: ../clutter/clutter-actor.c:7219
+#: ../clutter/clutter-actor.c:7167
 msgid "Transformation matrix"
 msgstr "Matriz de transformação"
 
-#: ../clutter/clutter-actor.c:7234
+#: ../clutter/clutter-actor.c:7182
 msgid "Transform Set"
 msgstr "Conjunto de transformação"
 
-#: ../clutter/clutter-actor.c:7235
+#: ../clutter/clutter-actor.c:7183
 msgid "Whether the transform property is set"
 msgstr "Se a propriedade de transformação está definida"
 
-#: ../clutter/clutter-actor.c:7256
+#: ../clutter/clutter-actor.c:7204
 msgid "Child Transform"
 msgstr "Transformação filha"
 
-#: ../clutter/clutter-actor.c:7257
+#: ../clutter/clutter-actor.c:7205
 msgid "Children transformation matrix"
 msgstr "Matriz de transformação filha"
 
-#: ../clutter/clutter-actor.c:7272
+#: ../clutter/clutter-actor.c:7220
 msgid "Child Transform Set"
 msgstr "Conjunto de transformação filha"
 
-#: ../clutter/clutter-actor.c:7273
+#: ../clutter/clutter-actor.c:7221
 msgid "Whether the child-transform property is set"
 msgstr "Se a propriedade de transformação filha está definida"
 
-#: ../clutter/clutter-actor.c:7290
+#: ../clutter/clutter-actor.c:7238
 msgid "Show on set parent"
 msgstr "Mostra no pai definido"
 
-#: ../clutter/clutter-actor.c:7291
+#: ../clutter/clutter-actor.c:7239
 msgid "Whether the actor is shown when parented"
 msgstr "Se o ator é mostrado quando aparentado"
 
-#: ../clutter/clutter-actor.c:7308
+#: ../clutter/clutter-actor.c:7256
 msgid "Clip to Allocation"
 msgstr "Corte para posição"
 
-#: ../clutter/clutter-actor.c:7309
+#: ../clutter/clutter-actor.c:7257
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Define a região do corte para rastrear a posição do ator"
 
-#: ../clutter/clutter-actor.c:7322
+#: ../clutter/clutter-actor.c:7270
 msgid "Text Direction"
 msgstr "Direção do texto"
 
-#: ../clutter/clutter-actor.c:7323
+#: ../clutter/clutter-actor.c:7271
 msgid "Direction of the text"
 msgstr "Direção do texto"
 
-#: ../clutter/clutter-actor.c:7338
+#: ../clutter/clutter-actor.c:7286
 msgid "Has Pointer"
 msgstr "Possui indicador"
 
-#: ../clutter/clutter-actor.c:7339
+#: ../clutter/clutter-actor.c:7287
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Se o ator contém o indicador de um dispositivo de entrada"
 
-#: ../clutter/clutter-actor.c:7352
+#: ../clutter/clutter-actor.c:7300
 msgid "Actions"
 msgstr "Ações"
 
-#: ../clutter/clutter-actor.c:7353
+#: ../clutter/clutter-actor.c:7301
 msgid "Adds an action to the actor"
 msgstr "Adiciona uma ação ao ator"
 
-#: ../clutter/clutter-actor.c:7366
+#: ../clutter/clutter-actor.c:7314
 msgid "Constraints"
 msgstr "Restrições"
 
-#: ../clutter/clutter-actor.c:7367
+#: ../clutter/clutter-actor.c:7315
 msgid "Adds a constraint to the actor"
 msgstr "Adiciona uma restrição ao ator"
 
-#: ../clutter/clutter-actor.c:7380
+#: ../clutter/clutter-actor.c:7328
 msgid "Effect"
 msgstr "Efeito"
 
-#: ../clutter/clutter-actor.c:7381
+#: ../clutter/clutter-actor.c:7329
 msgid "Add an effect to be applied on the actor"
 msgstr "Adiciona um efeito a ser aplicado no ator"
 
-#: ../clutter/clutter-actor.c:7395
+#: ../clutter/clutter-actor.c:7343
 msgid "Layout Manager"
 msgstr "Gerenciador de disposição"
 
-#: ../clutter/clutter-actor.c:7396
+#: ../clutter/clutter-actor.c:7344
 msgid "The object controlling the layout of an actor's children"
 msgstr "O objeto que controla a disposição dos filhos de um ator"
 
-#: ../clutter/clutter-actor.c:7410
+#: ../clutter/clutter-actor.c:7358
 msgid "X Expand"
 msgstr "Expandir X"
 
-#: ../clutter/clutter-actor.c:7411
+#: ../clutter/clutter-actor.c:7359
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Se um espaço horizontal adicional deve ser desiginado ao ator"
 
-#: ../clutter/clutter-actor.c:7426
+#: ../clutter/clutter-actor.c:7374
 msgid "Y Expand"
 msgstr "Expandir Y"
 
-#: ../clutter/clutter-actor.c:7427
+#: ../clutter/clutter-actor.c:7375
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Se um espaço vertical adicional deve ser desiginado ao ator"
 
-#: ../clutter/clutter-actor.c:7443
+#: ../clutter/clutter-actor.c:7391
 msgid "X Alignment"
 msgstr "Alinhamento X"
 
-#: ../clutter/clutter-actor.c:7444
+#: ../clutter/clutter-actor.c:7392
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "O alinhamento do ator na base X dentro de sua alocação"
 
-#: ../clutter/clutter-actor.c:7459
+#: ../clutter/clutter-actor.c:7407
 msgid "Y Alignment"
 msgstr "Alinhamento Y"
 
-#: ../clutter/clutter-actor.c:7460
+#: ../clutter/clutter-actor.c:7408
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "O alinhamento do ator na base Y dentro de sua alocação"
 
-#: ../clutter/clutter-actor.c:7479
+#: ../clutter/clutter-actor.c:7427
 msgid "Margin Top"
 msgstr "Margem superior"
 
-#: ../clutter/clutter-actor.c:7480
+#: ../clutter/clutter-actor.c:7428
 msgid "Extra space at the top"
 msgstr "Espaço extra no topo"
 
-#: ../clutter/clutter-actor.c:7501
+#: ../clutter/clutter-actor.c:7449
 msgid "Margin Bottom"
 msgstr "Margem inferior"
 
-#: ../clutter/clutter-actor.c:7502
+#: ../clutter/clutter-actor.c:7450
 msgid "Extra space at the bottom"
 msgstr "Espaço extra embaixo"
 
-#: ../clutter/clutter-actor.c:7523
+#: ../clutter/clutter-actor.c:7471
 msgid "Margin Left"
 msgstr "Margem esquerda"
 
-#: ../clutter/clutter-actor.c:7524
+#: ../clutter/clutter-actor.c:7472
 msgid "Extra space at the left"
 msgstr "Espaço extra a esquerda"
 
-#: ../clutter/clutter-actor.c:7545
+#: ../clutter/clutter-actor.c:7493
 msgid "Margin Right"
 msgstr "Margem direita"
 
-#: ../clutter/clutter-actor.c:7546
+#: ../clutter/clutter-actor.c:7494
 msgid "Extra space at the right"
 msgstr "Espaço extra a direita"
 
-#: ../clutter/clutter-actor.c:7562
+#: ../clutter/clutter-actor.c:7510
 msgid "Background Color Set"
 msgstr "Cor de fundo definida"
 
-#: ../clutter/clutter-actor.c:7563 ../clutter/deprecated/clutter-box.c:271
+#: ../clutter/clutter-actor.c:7511 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Se a cor de fundo está definida"
 
-#: ../clutter/clutter-actor.c:7579
+#: ../clutter/clutter-actor.c:7527
 msgid "Background color"
 msgstr "Cor de fundo"
 
-#: ../clutter/clutter-actor.c:7580
+#: ../clutter/clutter-actor.c:7528
 msgid "The actor's background color"
 msgstr "A cor de fundo do ator"
 
-#: ../clutter/clutter-actor.c:7595
+#: ../clutter/clutter-actor.c:7543
 msgid "First Child"
 msgstr "Primeiro filho"
 
-#: ../clutter/clutter-actor.c:7596
+#: ../clutter/clutter-actor.c:7544
 msgid "The actor's first child"
 msgstr "O primeiro filho do ator"
 
-#: ../clutter/clutter-actor.c:7609
+#: ../clutter/clutter-actor.c:7557
 msgid "Last Child"
 msgstr "Último filho"
 
-#: ../clutter/clutter-actor.c:7610
+#: ../clutter/clutter-actor.c:7558
 msgid "The actor's last child"
 msgstr "O último filho do ator"
 
-#: ../clutter/clutter-actor.c:7624
+#: ../clutter/clutter-actor.c:7572
 msgid "Content"
 msgstr "Conteúdo"
 
-#: ../clutter/clutter-actor.c:7625
+#: ../clutter/clutter-actor.c:7573
 msgid "Delegate object for painting the actor's content"
 msgstr "Objeto designado para pintar o conteúdo do ator"
 
-#: ../clutter/clutter-actor.c:7650
+#: ../clutter/clutter-actor.c:7598
 msgid "Content Gravity"
 msgstr "Gravidade do conteúdo"
 
-#: ../clutter/clutter-actor.c:7651
+#: ../clutter/clutter-actor.c:7599
 msgid "Alignment of the actor's content"
 msgstr "Alinhamento do conteúdo do ator"
 
-#: ../clutter/clutter-actor.c:7671
+#: ../clutter/clutter-actor.c:7619
 msgid "Content Box"
 msgstr "Box do conteúdo"
 
-#: ../clutter/clutter-actor.c:7672
+#: ../clutter/clutter-actor.c:7620
 msgid "The bounding box of the actor's content"
 msgstr "O box que contorna o conteúdo"
 
-#: ../clutter/clutter-actor.c:7680
+#: ../clutter/clutter-actor.c:7628
 msgid "Minification Filter"
 msgstr "Filtro de minificação"
 
-#: ../clutter/clutter-actor.c:7681
+#: ../clutter/clutter-actor.c:7629
 msgid "The filter used when reducing the size of the content"
 msgstr "Filtro usado quando reduzir o tamanho do conteúdo"
 
-#: ../clutter/clutter-actor.c:7688
+#: ../clutter/clutter-actor.c:7636
 msgid "Magnification Filter"
 msgstr "Filtro de ampliação"
 
-#: ../clutter/clutter-actor.c:7689
+#: ../clutter/clutter-actor.c:7637
 msgid "The filter used when increasing the size of the content"
 msgstr "Filtro usado quando aumentar o tamanho do conteúdo"
 
-#: ../clutter/clutter-actor.c:7703
+#: ../clutter/clutter-actor.c:7651
 msgid "Content Repeat"
 msgstr "Repetição de conteúdo"
 
-#: ../clutter/clutter-actor.c:7704
+#: ../clutter/clutter-actor.c:7652
 msgid "The repeat policy for the actor's content"
 msgstr "A política de repetição para o conteúdo do ator"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Ator"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "O ator ligado ao meta"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "O nome do meta"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:337
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Habilitado"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Se o meta está habilitado"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Fonte"
@@ -731,11 +731,11 @@ msgstr "Fator"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "O fator de alinhamento entre 0,0 e 1,0"
 
-#: ../clutter/clutter-backend.c:376
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Não foi possível inicializar o backend do Clutter"
 
-#: ../clutter/clutter-backend.c:450
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "O backend do tipo \"%s\" não suporta a criação de múltiplos estágios"
@@ -766,49 +766,49 @@ msgstr "O deslocamento em pixels para aplicar ao vínculo"
 msgid "The unique name of the binding pool"
 msgstr "O nome original de vinculação do grupo"
 
-#: ../clutter/clutter-bin-layout.c:238 ../clutter/clutter-bin-layout.c:651
-#: ../clutter/clutter-box-layout.c:388 ../clutter/clutter-table-layout.c:604
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:649
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Alinhamento horizontal"
 
-#: ../clutter/clutter-bin-layout.c:239
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "Alinhamento horizontal para o ator dentro do gerenciador de disposição"
 
-#: ../clutter/clutter-bin-layout.c:247 ../clutter/clutter-bin-layout.c:671
-#: ../clutter/clutter-box-layout.c:397 ../clutter/clutter-table-layout.c:619
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:669
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Alinhamento vertical"
 
-#: ../clutter/clutter-bin-layout.c:248
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "O alinhamento vertical para o ator dentro do gerenciador de disposição"
 
-#: ../clutter/clutter-bin-layout.c:652
+#: ../clutter/clutter-bin-layout.c:650
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr ""
 "Alinhamento horizontal padrão para os atores dentro do gerenciador de "
 "disposição"
 
-#: ../clutter/clutter-bin-layout.c:672
+#: ../clutter/clutter-bin-layout.c:670
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr ""
 "Alinhamento vertical padrão para os atores dentro do gerenciador de "
 "disposição"
 
-#: ../clutter/clutter-box-layout.c:363
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Ampliar"
 
-#: ../clutter/clutter-box-layout.c:364
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Alocar espaço adicional para a criança"
 
-#: ../clutter/clutter-box-layout.c:370 ../clutter/clutter-table-layout.c:583
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Preenchimento horizontal"
 
-#: ../clutter/clutter-box-layout.c:371 ../clutter/clutter-table-layout.c:584
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -816,11 +816,11 @@ msgstr ""
 "Se a criança deve receber prioridade quando o recipiente está alocando "
 "espaço livre no eixo horizontal"
 
-#: ../clutter/clutter-box-layout.c:379 ../clutter/clutter-table-layout.c:590
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Preenchimento vertical"
 
-#: ../clutter/clutter-box-layout.c:380 ../clutter/clutter-table-layout.c:591
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -828,80 +828,80 @@ msgstr ""
 "Se a criança deve receber prioridade quando o recipiente está alocando "
 "espaço livre no eixo vertical"
 
-#: ../clutter/clutter-box-layout.c:389 ../clutter/clutter-table-layout.c:605
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Alinhamento horizontal do ator dentro da célula"
 
-#: ../clutter/clutter-box-layout.c:398 ../clutter/clutter-table-layout.c:620
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Alinhamento vertical do ator dentro da célula"
 
-#: ../clutter/clutter-box-layout.c:1361
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Vertical"
 
-#: ../clutter/clutter-box-layout.c:1362
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Se a disposição deve ser vertical, em vez de horizontal"
 
-#: ../clutter/clutter-box-layout.c:1379 ../clutter/clutter-flow-layout.c:942
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1547
 msgid "Orientation"
 msgstr "Orientação"
 
-#: ../clutter/clutter-box-layout.c:1380 ../clutter/clutter-flow-layout.c:943
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1548
 msgid "The orientation of the layout"
 msgstr "A orientação da disposição"
 
-#: ../clutter/clutter-box-layout.c:1396 ../clutter/clutter-flow-layout.c:958
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogêneo"
 
-#: ../clutter/clutter-box-layout.c:1397
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Se a disposição deve ser homogênea, ou seja, todas as crianças ficam do "
 "mesmo tamanho"
 
-#: ../clutter/clutter-box-layout.c:1412
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Empacotamento inicial"
 
-#: ../clutter/clutter-box-layout.c:1413
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Se empacotar itens no início da caixa"
 
-#: ../clutter/clutter-box-layout.c:1426
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Espaçamento"
 
-#: ../clutter/clutter-box-layout.c:1427
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Espaçamento entre as crianças"
 
-#: ../clutter/clutter-box-layout.c:1444 ../clutter/clutter-table-layout.c:1667
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Usar animações"
 
-#: ../clutter/clutter-box-layout.c:1445 ../clutter/clutter-table-layout.c:1668
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Se as alterações da disposição devem ser animados"
 
-#: ../clutter/clutter-box-layout.c:1469 ../clutter/clutter-table-layout.c:1692
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Modo de liberdade"
 
-#: ../clutter/clutter-box-layout.c:1470 ../clutter/clutter-table-layout.c:1693
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "O modo de liberdade das animações"
 
-#: ../clutter/clutter-box-layout.c:1490 ../clutter/clutter-table-layout.c:1713
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Duração de liberdade"
 
-#: ../clutter/clutter-box-layout.c:1491 ../clutter/clutter-table-layout.c:1714
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "A duração das animações"
 
@@ -921,11 +921,11 @@ msgstr "Contraste"
 msgid "The contrast change to apply"
 msgstr "A mudança de contraste para aplicar"
 
-#: ../clutter/clutter-canvas.c:225
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "A largura do canvas"
 
-#: ../clutter/clutter-canvas.c:241
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "A altura do canvas"
 
@@ -941,40 +941,40 @@ msgstr "O recipiente que criou estes dados"
 msgid "The actor wrapped by this data"
 msgstr "O ator envolvido por estes dados"
 
-#: ../clutter/clutter-click-action.c:557
+#: ../clutter/clutter-click-action.c:546
 msgid "Pressed"
 msgstr "Pressionado"
 
-#: ../clutter/clutter-click-action.c:558
+#: ../clutter/clutter-click-action.c:547
 msgid "Whether the clickable should be in pressed state"
 msgstr "Se o clicável deve estar em um estado pressionado"
 
-#: ../clutter/clutter-click-action.c:571
+#: ../clutter/clutter-click-action.c:560
 msgid "Held"
 msgstr "Seguro"
 
-#: ../clutter/clutter-click-action.c:572
+#: ../clutter/clutter-click-action.c:561
 msgid "Whether the clickable has a grab"
 msgstr "Se o clicável tem uma garra"
 
-#: ../clutter/clutter-click-action.c:589 ../clutter/clutter-settings.c:607
+#: ../clutter/clutter-click-action.c:578 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Duração de pressionamento prolongado"
 
-#: ../clutter/clutter-click-action.c:590
+#: ../clutter/clutter-click-action.c:579
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr ""
 "A duração mínima de um pressionamento prolongado para reconhecer um gesto"
 
-#: ../clutter/clutter-click-action.c:608
+#: ../clutter/clutter-click-action.c:597
 msgid "Long Press Threshold"
 msgstr "Limite de pressionamento prolongado"
 
-#: ../clutter/clutter-click-action.c:609
+#: ../clutter/clutter-click-action.c:598
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "O limite máximo antes que um pressionamento prolongado seja cancelado"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Especifica o ator a ser clonado"
 
@@ -986,27 +986,27 @@ msgstr "Matiz"
 msgid "The tint to apply"
 msgstr "A matiz a aplicar"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Ladrilhos horizontais"
 
-#: ../clutter/clutter-deform-effect.c:593
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "O número de ladrilhos horizontais"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Ladrilhos verticais"
 
-#: ../clutter/clutter-deform-effect.c:609
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "O número de ladrilhos verticais"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Material de fundo"
 
-#: ../clutter/clutter-deform-effect.c:627
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "O material a ser usado quando pintar o fundo do ator"
 
@@ -1014,187 +1014,175 @@ msgstr "O material a ser usado quando pintar o fundo do ator"
 msgid "The desaturation factor"
 msgstr "O fator de dessaturação"
 
-#: ../clutter/clutter-device-manager.c:127
+#: ../clutter/clutter-device-manager.c:131
 #: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Backend"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "O ClutterBackend do gerenciador de dispositivos"
 
-#: ../clutter/clutter-drag-action.c:740
+#: ../clutter/clutter-drag-action.c:709
 msgid "Horizontal Drag Threshold"
 msgstr "Limite de arrasto horizontal"
 
-#: ../clutter/clutter-drag-action.c:741
+#: ../clutter/clutter-drag-action.c:710
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "O número horizontal de pixels requerido para iniciar um arrasto"
 
-#: ../clutter/clutter-drag-action.c:768
+#: ../clutter/clutter-drag-action.c:737
 msgid "Vertical Drag Threshold"
 msgstr "Limite de arrasto vertical"
 
-#: ../clutter/clutter-drag-action.c:769
+#: ../clutter/clutter-drag-action.c:738
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "O número vertical de pixels requerido para iniciar um arrasto"
 
-#: ../clutter/clutter-drag-action.c:790
+#: ../clutter/clutter-drag-action.c:759
 msgid "Drag Handle"
 msgstr "Barra de arrasto"
 
-#: ../clutter/clutter-drag-action.c:791
+#: ../clutter/clutter-drag-action.c:760
 msgid "The actor that is being dragged"
 msgstr "O ator que está sendo arrastado"
 
-#: ../clutter/clutter-drag-action.c:804
+#: ../clutter/clutter-drag-action.c:773
 msgid "Drag Axis"
 msgstr "Eixo de arrasto"
 
-#: ../clutter/clutter-drag-action.c:805
+#: ../clutter/clutter-drag-action.c:774
 msgid "Constraints the dragging to an axis"
 msgstr "Restringe o arrasto em um eixo"
 
-#: ../clutter/clutter-drag-action.c:821
+#: ../clutter/clutter-drag-action.c:790
 msgid "Drag Area"
 msgstr "Área de arrasto"
 
-#: ../clutter/clutter-drag-action.c:822
+#: ../clutter/clutter-drag-action.c:791
 msgid "Constrains the dragging to a rectangle"
 msgstr "Restringe o arrasto em um retângulo"
 
-#: ../clutter/clutter-drag-action.c:835
+#: ../clutter/clutter-drag-action.c:804
 msgid "Drag Area Set"
 msgstr "Conjunto de área de arrasto"
 
-#: ../clutter/clutter-drag-action.c:836
+#: ../clutter/clutter-drag-action.c:805
 msgid "Whether the drag area is set"
 msgstr "Se a área de arrasto está definida"
 
-#: ../clutter/clutter-flow-layout.c:959
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Se cada item deve receber a mesma posição"
 
-#: ../clutter/clutter-flow-layout.c:974 ../clutter/clutter-table-layout.c:1629
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Espaçamento de colunas"
 
-#: ../clutter/clutter-flow-layout.c:975
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "O espaçamento entre colunas"
 
-#: ../clutter/clutter-flow-layout.c:991 ../clutter/clutter-table-layout.c:1643
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Espaçamento de linhas"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "O espaçamento entre linhas"
 
-#: ../clutter/clutter-flow-layout.c:1006
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Largura mínima da coluna"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "A largura mínima para cada coluna"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Largura máxima da coluna"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "A largura máxima para cada coluna"
 
-#: ../clutter/clutter-flow-layout.c:1037
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Altura mínima da linha"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "A altura mínima para cada linha"
 
-#: ../clutter/clutter-flow-layout.c:1053
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Altura máxima da linha"
 
-#: ../clutter/clutter-flow-layout.c:1054
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "A altura máxima para cada linha"
 
-#: ../clutter/clutter-flow-layout.c:1069 ../clutter/clutter-flow-layout.c:1070
-msgid "Snap to grid"
-msgstr "Alinhar à grade"
-
-#: ../clutter/clutter-gesture-action.c:646
-msgid "Number touch points"
-msgstr "Número de pontos de toque"
-
-#: ../clutter/clutter-gesture-action.c:647
-msgid "Number of touch points"
-msgstr "Número de pontos de toque"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Ligação esquerda"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr "O número de colunas para ligar o lado esquerdo da filha"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Ligação superior"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr ""
 "O número de linhas para ligar o lado superior (topo) de um widget da filha"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "O número de colunas que uma filha alcança"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "O número de linhas que uma filha alcança"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1562
 msgid "Row spacing"
 msgstr "Espaçamento de linhas"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1563
 msgid "The amount of space between two consecutive rows"
 msgstr "A quantidade de espaço entre duas linhas consecutivas"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1576
 msgid "Column spacing"
 msgstr "Espaçamento de colunas"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1577
 msgid "The amount of space between two consecutive columns"
 msgstr "A quantidade de espaço entre duas colunas consecutivas"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1591
 msgid "Row Homogeneous"
 msgstr "Linha homogênea"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1592
 msgid "If TRUE, the rows are all the same height"
 msgstr "Se VERDADEIRO, as linhas são todas de mesma altura"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1605
 msgid "Column Homogeneous"
 msgstr "Coluna homogênea"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1606
 msgid "If TRUE, the columns are all the same width"
 msgstr "Se VERDADEIRO, as colunas são todas de mesma largura"
 
-#: ../clutter/clutter-image.c:246 ../clutter/clutter-image.c:309
-#: ../clutter/clutter-image.c:397
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Falha ao carregar dados da imagem"
 
@@ -1258,27 +1246,27 @@ msgstr "O número de eixos do dispositivo"
 msgid "The backend instance"
 msgstr "A instância do backend"
 
-#: ../clutter/clutter-interval.c:503
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Tipo de valor"
 
-#: ../clutter/clutter-interval.c:504
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "O tipo de valores no intervalo"
 
-#: ../clutter/clutter-interval.c:519
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Valor inicial"
 
-#: ../clutter/clutter-interval.c:520
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Valor inicial do intervalo"
 
-#: ../clutter/clutter-interval.c:534
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Valor final"
 
-#: ../clutter/clutter-interval.c:535
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Valor final do intervalo"
 
@@ -1297,96 +1285,96 @@ msgstr "O gerenciador que criou estes dados"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:762
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1669
+#: ../clutter/clutter-main.c:1633
 msgid "Show frames per second"
 msgstr "Mostrar quadros por segundo"
 
-#: ../clutter/clutter-main.c:1671
+#: ../clutter/clutter-main.c:1635
 msgid "Default frame rate"
 msgstr "Taxa de quadros padrão"
 
-#: ../clutter/clutter-main.c:1673
+#: ../clutter/clutter-main.c:1637
 msgid "Make all warnings fatal"
 msgstr "Tornar todos os avisos fatais"
 
-#: ../clutter/clutter-main.c:1676
+#: ../clutter/clutter-main.c:1640
 msgid "Direction for the text"
 msgstr "Direção para o texto"
 
-#: ../clutter/clutter-main.c:1679
+#: ../clutter/clutter-main.c:1643
 msgid "Disable mipmapping on text"
 msgstr "Desativar mipmapeamento no texto"
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1646
 msgid "Use 'fuzzy' picking"
 msgstr "Usar seleção \"aproximada\""
 
-#: ../clutter/clutter-main.c:1685
+#: ../clutter/clutter-main.c:1649
 msgid "Clutter debugging flags to set"
 msgstr "Sinalizadores de depuração do Clutter para definir"
 
-#: ../clutter/clutter-main.c:1687
+#: ../clutter/clutter-main.c:1651
 msgid "Clutter debugging flags to unset"
 msgstr "Sinalizadores de depuração do Clutter para remover"
 
-#: ../clutter/clutter-main.c:1691
+#: ../clutter/clutter-main.c:1655
 msgid "Clutter profiling flags to set"
 msgstr "Sinalizadores de perfil do Clutter para definir"
 
-#: ../clutter/clutter-main.c:1693
+#: ../clutter/clutter-main.c:1657
 msgid "Clutter profiling flags to unset"
 msgstr "Sinalizadores de perfil do Clutter para remover"
 
-#: ../clutter/clutter-main.c:1696
+#: ../clutter/clutter-main.c:1660
 msgid "Enable accessibility"
 msgstr "Habilitar acessibilidade"
 
-#: ../clutter/clutter-main.c:1888
+#: ../clutter/clutter-main.c:1852
 msgid "Clutter Options"
 msgstr "Opções do Clutter"
 
-#: ../clutter/clutter-main.c:1889
+#: ../clutter/clutter-main.c:1853
 msgid "Show Clutter Options"
 msgstr "Mostrar opções do Clutter"
 
-#: ../clutter/clutter-pan-action.c:445
+#: ../clutter/clutter-pan-action.c:451
 msgid "Pan Axis"
 msgstr "Deslocar eixo"
 
-#: ../clutter/clutter-pan-action.c:446
+#: ../clutter/clutter-pan-action.c:452
 msgid "Constraints the panning to an axis"
 msgstr "Restringe o deslocamento para um eixo"
 
-#: ../clutter/clutter-pan-action.c:460
+#: ../clutter/clutter-pan-action.c:466
 msgid "Interpolate"
 msgstr "Interpolar"
 
-#: ../clutter/clutter-pan-action.c:461
+#: ../clutter/clutter-pan-action.c:467
 msgid "Whether interpolated events emission is enabled."
 msgstr "Se a emissão de eventos interpolados está ativada."
 
-#: ../clutter/clutter-pan-action.c:477
+#: ../clutter/clutter-pan-action.c:483
 msgid "Deceleration"
 msgstr "Desaceleração"
 
-#: ../clutter/clutter-pan-action.c:478
+#: ../clutter/clutter-pan-action.c:484
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Taxa a qual o deslocamento interpolado irá desacelerar"
 
-#: ../clutter/clutter-pan-action.c:495
+#: ../clutter/clutter-pan-action.c:501
 msgid "Initial acceleration factor"
 msgstr "Fator inicial de aceleração"
 
-#: ../clutter/clutter-pan-action.c:496
+#: ../clutter/clutter-pan-action.c:502
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Fator aplicado a força cinética quando inicia-se a fase interpolada"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Caminho"
 
@@ -1398,87 +1386,87 @@ msgstr "O caminho usado para restringir um ator"
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "O deslocamento ao longo do caminho, entre -1,0 e 2,0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Nome da propriedade"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Nome da propriedade a ser animada"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Nome do arquivo definido"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Se a propriedade :nomedoarquivo está definida"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Nome do arquivo"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "O caminho do arquivo atualmente analisado"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Domínio de tradução"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "O domínio de tradução usado para localizar string"
 
-#: ../clutter/clutter-scroll-actor.c:189
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Modo de rolagem"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "A direção da rolagem"
 
-#: ../clutter/clutter-settings.c:448
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Tempo de clique duplo"
 
-#: ../clutter/clutter-settings.c:449
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "O tempo entre os cliques necessários para detectar um clique múltiplo"
 
-#: ../clutter/clutter-settings.c:464
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Distância entre cliques duplos"
 
-#: ../clutter/clutter-settings.c:465
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "A distância entre cliques duplos necessários para detectar um clique múltiplo"
 
-#: ../clutter/clutter-settings.c:480
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Limite de arrasto"
 
-#: ../clutter/clutter-settings.c:481
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "A distância que o cursor deve mover antes de começar a arrastar"
 
-#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3393
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3368
 msgid "Font Name"
 msgstr "Nome da fonte"
 
-#: ../clutter/clutter-settings.c:497
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr ""
 "A descrição da fonte padrão, como algo que pode ser analisado pelo Pango"
 
-#: ../clutter/clutter-settings.c:512
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Suavização de fonte"
 
-#: ../clutter/clutter-settings.c:513
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1486,69 +1474,69 @@ msgstr ""
 "Se usar suavização (1 para habilitar, 0 para desabilitar e -1 para usar o "
 "padrão)"
 
-#: ../clutter/clutter-settings.c:529
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "DPI da fonte"
 
-#: ../clutter/clutter-settings.c:530
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "A resolução da fonte, em 1024 * pontos / polegada, ou -1 para usar o padrão"
 
-#: ../clutter/clutter-settings.c:546
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Dicas de fonte"
 
-#: ../clutter/clutter-settings.c:547
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Se usar dicas (1 para habilitar, 0 para desabilitar e -1 para usar o padrão)"
 
-#: ../clutter/clutter-settings.c:568
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Estilo de dicas de fonte"
 
-#: ../clutter/clutter-settings.c:569
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "O estilo de dicas (nenhuma, leve, média, completa)"
 
-#: ../clutter/clutter-settings.c:590
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Ordem subpixel da fonte"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "O tipo de suavização de subpixel (nenhum, rgb, bgr, vrgb vbgr)"
 
-#: ../clutter/clutter-settings.c:608
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr ""
 "A duração mínima para um gesto de pressionamento prolongado ser reconhecido"
 
-#: ../clutter/clutter-settings.c:615
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Marca de tempo de configuração da configuração de fontes"
 
-#: ../clutter/clutter-settings.c:616
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "A marca de tempo da configuração atual da configuração de fontes"
 
-#: ../clutter/clutter-settings.c:633
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Tempo de amostra da senha"
 
-#: ../clutter/clutter-settings.c:634
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Por quanto tempo mostrar o último caractere em entradas de texto ocultas"
 
-#: ../clutter/clutter-shader-effect.c:485
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Tipo de shader"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "O tipo de shader usado"
 
@@ -1576,758 +1564,758 @@ msgstr "A borda da fonte que deve ser encaixada"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "O deslocamento em pixels para aplicar a restrição"
 
-#: ../clutter/clutter-stage.c:1945
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "Tela cheia definida"
 
-#: ../clutter/clutter-stage.c:1946
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Se o palco principal é uma tela cheia"
 
-#: ../clutter/clutter-stage.c:1960
+#: ../clutter/clutter-stage.c:1910
 msgid "Offscreen"
 msgstr "Fora da tela"
 
-#: ../clutter/clutter-stage.c:1961
+#: ../clutter/clutter-stage.c:1911
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Se o palco principal deve ser processado fora da tela"
 
-#: ../clutter/clutter-stage.c:1973 ../clutter/clutter-text.c:3507
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3482
 msgid "Cursor Visible"
 msgstr "Cursor visível"
 
-#: ../clutter/clutter-stage.c:1974
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Se o ponteiro do mouse está visível no palco principal"
 
-#: ../clutter/clutter-stage.c:1988
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Redimensionável pelo usuário"
 
-#: ../clutter/clutter-stage.c:1989
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Se o palco pode ser redimensionado pelo usuário"
 
-#: ../clutter/clutter-stage.c:2004 ../clutter/deprecated/clutter-box.c:256
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Cor"
 
-#: ../clutter/clutter-stage.c:2005
+#: ../clutter/clutter-stage.c:1955
 msgid "The color of the stage"
 msgstr "A cor do palco"
 
-#: ../clutter/clutter-stage.c:2020
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Perspectiva"
 
-#: ../clutter/clutter-stage.c:2021
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Parâmetros de projeção de perspectiva"
 
-#: ../clutter/clutter-stage.c:2036
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Título"
 
-#: ../clutter/clutter-stage.c:2037
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Título do palco"
 
-#: ../clutter/clutter-stage.c:2054
+#: ../clutter/clutter-stage.c:2004
 msgid "Use Fog"
 msgstr "Usar nevoeiro"
 
-#: ../clutter/clutter-stage.c:2055
+#: ../clutter/clutter-stage.c:2005
 msgid "Whether to enable depth cueing"
 msgstr "Se habilitar profundidade"
 
-#: ../clutter/clutter-stage.c:2071
+#: ../clutter/clutter-stage.c:2021
 msgid "Fog"
 msgstr "Nevoeiro"
 
-#: ../clutter/clutter-stage.c:2072
+#: ../clutter/clutter-stage.c:2022
 msgid "Settings for the depth cueing"
 msgstr "Definições para a profundidade"
 
-#: ../clutter/clutter-stage.c:2088
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Usar alfa"
 
-#: ../clutter/clutter-stage.c:2089
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Se respeitar o componente alfa da cor do palco"
 
-#: ../clutter/clutter-stage.c:2105
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Foco da chave"
 
-#: ../clutter/clutter-stage.c:2106
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "O ator atualmente focado pela chave"
 
-#: ../clutter/clutter-stage.c:2122
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Nenhuma dica para limpar"
 
-#: ../clutter/clutter-stage.c:2123
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Se o palco deve limpar o seu contúedo"
 
-#: ../clutter/clutter-stage.c:2136
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Aceitar foco"
 
-#: ../clutter/clutter-stage.c:2137
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Se o palco deve aceitar o foco ao expor"
 
-#: ../clutter/clutter-table-layout.c:537
+#: ../clutter/clutter-table-layout.c:543
 msgid "Column Number"
 msgstr "Número da coluna"
 
-#: ../clutter/clutter-table-layout.c:538
+#: ../clutter/clutter-table-layout.c:544
 msgid "The column the widget resides in"
 msgstr "A coluna onde o componente reside"
 
-#: ../clutter/clutter-table-layout.c:545
+#: ../clutter/clutter-table-layout.c:551
 msgid "Row Number"
 msgstr "Número da linha"
 
-#: ../clutter/clutter-table-layout.c:546
+#: ../clutter/clutter-table-layout.c:552
 msgid "The row the widget resides in"
 msgstr "A linha onde o componente reside"
 
-#: ../clutter/clutter-table-layout.c:553
+#: ../clutter/clutter-table-layout.c:559
 msgid "Column Span"
 msgstr "Intervalo de colunas"
 
-#: ../clutter/clutter-table-layout.c:554
+#: ../clutter/clutter-table-layout.c:560
 msgid "The number of columns the widget should span"
 msgstr "O número de colunas o componente deve abranger"
 
-#: ../clutter/clutter-table-layout.c:561
+#: ../clutter/clutter-table-layout.c:567
 msgid "Row Span"
 msgstr "Intervalo de linhas"
 
-#: ../clutter/clutter-table-layout.c:562
+#: ../clutter/clutter-table-layout.c:568
 msgid "The number of rows the widget should span"
 msgstr "O número de linhas o componente deve abranger"
 
-#: ../clutter/clutter-table-layout.c:569
+#: ../clutter/clutter-table-layout.c:575
 msgid "Horizontal Expand"
 msgstr "Espandir horizontalmente"
 
-#: ../clutter/clutter-table-layout.c:570
+#: ../clutter/clutter-table-layout.c:576
 msgid "Allocate extra space for the child in horizontal axis"
 msgstr "Alocar espaço adicional para a criança no eixo horizontal"
 
-#: ../clutter/clutter-table-layout.c:576
+#: ../clutter/clutter-table-layout.c:582
 msgid "Vertical Expand"
 msgstr "Espandir verticalmente"
 
-#: ../clutter/clutter-table-layout.c:577
+#: ../clutter/clutter-table-layout.c:583
 msgid "Allocate extra space for the child in vertical axis"
 msgstr "Alocar espaço adicional para a criança no eixo vertical"
 
-#: ../clutter/clutter-table-layout.c:1630
+#: ../clutter/clutter-table-layout.c:1638
 msgid "Spacing between columns"
 msgstr "Espaçamento entre as colunas"
 
-#: ../clutter/clutter-table-layout.c:1644
+#: ../clutter/clutter-table-layout.c:1652
 msgid "Spacing between rows"
 msgstr "Espaçamento entre as filas"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3428
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3403
 msgid "Text"
 msgstr "Texto"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "O conteúdo do buffer"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Tamanho do texto"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Tamanho do texto atualmente no buffer"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Tamanho máximo"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr "Número máximo de caracteres para esta entrada. Zero se não tem limite"
 
-#: ../clutter/clutter-text.c:3375
+#: ../clutter/clutter-text.c:3350
 msgid "Buffer"
 msgstr "Buffer"
 
-#: ../clutter/clutter-text.c:3376
+#: ../clutter/clutter-text.c:3351
 msgid "The buffer for the text"
 msgstr "O buffer para o texto"
 
-#: ../clutter/clutter-text.c:3394
+#: ../clutter/clutter-text.c:3369
 msgid "The font to be used by the text"
 msgstr "A fonte a ser usada pelo texto"
 
-#: ../clutter/clutter-text.c:3411
+#: ../clutter/clutter-text.c:3386
 msgid "Font Description"
 msgstr "Descrição da fonte"
 
-#: ../clutter/clutter-text.c:3412
+#: ../clutter/clutter-text.c:3387
 msgid "The font description to be used"
 msgstr "A descrição da fonte a ser utilizada"
 
-#: ../clutter/clutter-text.c:3429
+#: ../clutter/clutter-text.c:3404
 msgid "The text to render"
 msgstr "O texto a processar"
 
-#: ../clutter/clutter-text.c:3443
+#: ../clutter/clutter-text.c:3418
 msgid "Font Color"
 msgstr "Cor da fonte"
 
-#: ../clutter/clutter-text.c:3444
+#: ../clutter/clutter-text.c:3419
 msgid "Color of the font used by the text"
 msgstr "A cor da fonte usada pelo texto"
 
-#: ../clutter/clutter-text.c:3459
+#: ../clutter/clutter-text.c:3434
 msgid "Editable"
 msgstr "Editável"
 
-#: ../clutter/clutter-text.c:3460
+#: ../clutter/clutter-text.c:3435
 msgid "Whether the text is editable"
 msgstr "Se o texto é editável"
 
-#: ../clutter/clutter-text.c:3475
+#: ../clutter/clutter-text.c:3450
 msgid "Selectable"
 msgstr "Selecionável"
 
-#: ../clutter/clutter-text.c:3476
+#: ../clutter/clutter-text.c:3451
 msgid "Whether the text is selectable"
 msgstr "Se o texto é selecionável"
 
-#: ../clutter/clutter-text.c:3490
+#: ../clutter/clutter-text.c:3465
 msgid "Activatable"
 msgstr "Ativável"
 
-#: ../clutter/clutter-text.c:3491
+#: ../clutter/clutter-text.c:3466
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Se pressionar return causa o sinal de ativação a ser emitido"
 
-#: ../clutter/clutter-text.c:3508
+#: ../clutter/clutter-text.c:3483
 msgid "Whether the input cursor is visible"
 msgstr "Se o cursor de entrada está visível"
 
-#: ../clutter/clutter-text.c:3522 ../clutter/clutter-text.c:3523
+#: ../clutter/clutter-text.c:3497 ../clutter/clutter-text.c:3498
 msgid "Cursor Color"
 msgstr "Cor do cursor"
 
-#: ../clutter/clutter-text.c:3538
+#: ../clutter/clutter-text.c:3513
 msgid "Cursor Color Set"
 msgstr "Cor do cursor definida"
 
-#: ../clutter/clutter-text.c:3539
+#: ../clutter/clutter-text.c:3514
 msgid "Whether the cursor color has been set"
 msgstr "Se a cor do cursor foi definida"
 
-#: ../clutter/clutter-text.c:3554
+#: ../clutter/clutter-text.c:3529
 msgid "Cursor Size"
 msgstr "Tamanho do cursor"
 
-#: ../clutter/clutter-text.c:3555
+#: ../clutter/clutter-text.c:3530
 msgid "The width of the cursor, in pixels"
 msgstr "A largura do cursor, em pixels"
 
-#: ../clutter/clutter-text.c:3571 ../clutter/clutter-text.c:3589
+#: ../clutter/clutter-text.c:3546 ../clutter/clutter-text.c:3564
 msgid "Cursor Position"
 msgstr "Posição do cursor"
 
-#: ../clutter/clutter-text.c:3572 ../clutter/clutter-text.c:3590
+#: ../clutter/clutter-text.c:3547 ../clutter/clutter-text.c:3565
 msgid "The cursor position"
 msgstr "A posição do cursor"
 
-#: ../clutter/clutter-text.c:3605
+#: ../clutter/clutter-text.c:3580
 msgid "Selection-bound"
 msgstr "Vínculo-seleção"
 
-#: ../clutter/clutter-text.c:3606
+#: ../clutter/clutter-text.c:3581
 msgid "The cursor position of the other end of the selection"
 msgstr "A posição do cursor do outro lado da seleção"
 
-#: ../clutter/clutter-text.c:3621 ../clutter/clutter-text.c:3622
+#: ../clutter/clutter-text.c:3596 ../clutter/clutter-text.c:3597
 msgid "Selection Color"
 msgstr "Cor de seleção"
 
-#: ../clutter/clutter-text.c:3637
+#: ../clutter/clutter-text.c:3612
 msgid "Selection Color Set"
 msgstr "Cor de seleção definida"
 
-#: ../clutter/clutter-text.c:3638
+#: ../clutter/clutter-text.c:3613
 msgid "Whether the selection color has been set"
 msgstr "Se a cor de seleção foi definida"
 
-#: ../clutter/clutter-text.c:3653
+#: ../clutter/clutter-text.c:3628
 msgid "Attributes"
 msgstr "Atributos"
 
-#: ../clutter/clutter-text.c:3654
+#: ../clutter/clutter-text.c:3629
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Uma lista de atributos de estilo para aplicar ao conteúdo do ator"
 
-#: ../clutter/clutter-text.c:3676
+#: ../clutter/clutter-text.c:3651
 msgid "Use markup"
 msgstr "Usar marcação"
 
-#: ../clutter/clutter-text.c:3677
+#: ../clutter/clutter-text.c:3652
 msgid "Whether or not the text includes Pango markup"
 msgstr "Se o texto inclui ou não marcação Pango"
 
-#: ../clutter/clutter-text.c:3693
+#: ../clutter/clutter-text.c:3668
 msgid "Line wrap"
 msgstr "Quebra de linha"
 
-#: ../clutter/clutter-text.c:3694
+#: ../clutter/clutter-text.c:3669
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Se definido, quebra as linhas se o texto se torne demasiado grande"
 
-#: ../clutter/clutter-text.c:3709
+#: ../clutter/clutter-text.c:3684
 msgid "Line wrap mode"
 msgstr "Modo de quebra de linha"
 
-#: ../clutter/clutter-text.c:3710
+#: ../clutter/clutter-text.c:3685
 msgid "Control how line-wrapping is done"
 msgstr "Controla como a quebra de linhas é feita"
 
-#: ../clutter/clutter-text.c:3725
+#: ../clutter/clutter-text.c:3700
 msgid "Ellipsize"
 msgstr "Criar elipse"
 
-#: ../clutter/clutter-text.c:3726
+#: ../clutter/clutter-text.c:3701
 msgid "The preferred place to ellipsize the string"
 msgstr "O lugar preferido para criar uma elipse no texto"
 
-#: ../clutter/clutter-text.c:3742
+#: ../clutter/clutter-text.c:3717
 msgid "Line Alignment"
 msgstr "Alinhamento da linha"
 
-#: ../clutter/clutter-text.c:3743
+#: ../clutter/clutter-text.c:3718
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "O alinhamento preferido para o texto, para textos em linhas múltiplas"
 
-#: ../clutter/clutter-text.c:3759
+#: ../clutter/clutter-text.c:3734
 msgid "Justify"
 msgstr "Justificar"
 
-#: ../clutter/clutter-text.c:3760
+#: ../clutter/clutter-text.c:3735
 msgid "Whether the text should be justified"
 msgstr "Se o texto deve ser justificado"
 
-#: ../clutter/clutter-text.c:3775
+#: ../clutter/clutter-text.c:3750
 msgid "Password Character"
 msgstr "Caractere de senha"
 
-#: ../clutter/clutter-text.c:3776
+#: ../clutter/clutter-text.c:3751
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr "Se maior que zero, usa este caractere para mostrar o conteúdo do ator"
 
-#: ../clutter/clutter-text.c:3790
+#: ../clutter/clutter-text.c:3765
 msgid "Max Length"
 msgstr "Comprimento máximo"
 
-#: ../clutter/clutter-text.c:3791
+#: ../clutter/clutter-text.c:3766
 msgid "Maximum length of the text inside the actor"
 msgstr "O comprimento máximo do texto dentro do ator"
 
-#: ../clutter/clutter-text.c:3814
+#: ../clutter/clutter-text.c:3789
 msgid "Single Line Mode"
 msgstr "Modo de linha única"
 
-#: ../clutter/clutter-text.c:3815
+#: ../clutter/clutter-text.c:3790
 msgid "Whether the text should be a single line"
 msgstr "Se o texto deve ser uma única linha"
 
-#: ../clutter/clutter-text.c:3829 ../clutter/clutter-text.c:3830
+#: ../clutter/clutter-text.c:3804 ../clutter/clutter-text.c:3805
 msgid "Selected Text Color"
 msgstr "Cor de texto selecionado"
 
-#: ../clutter/clutter-text.c:3845
+#: ../clutter/clutter-text.c:3820
 msgid "Selected Text Color Set"
 msgstr "Cor de texto selecionado definida"
 
-#: ../clutter/clutter-text.c:3846
+#: ../clutter/clutter-text.c:3821
 msgid "Whether the selected text color has been set"
 msgstr "Se a cor de texto selecionado foi definido"
 
-#: ../clutter/clutter-timeline.c:593
-#: ../clutter/deprecated/clutter-animation.c:557
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Laço"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Se a linha do tempo deve ser reiniciada automaticamente"
 
-#: ../clutter/clutter-timeline.c:608
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Atraso"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Atraso antes do início"
 
-#: ../clutter/clutter-timeline.c:624
-#: ../clutter/deprecated/clutter-animation.c:541
-#: ../clutter/deprecated/clutter-animator.c:1801
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1803
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1517
+#: ../clutter/deprecated/clutter-state.c:1522
 msgid "Duration"
 msgstr "Duração"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Duração da linha do tempo em milésimos de segundos"
 
-#: ../clutter/clutter-timeline.c:640
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Direção"
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Direção da linha do tempo"
 
-#: ../clutter/clutter-timeline.c:656
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Reverso automático"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Se a direção deve ser revertida quando chegar ao fim"
 
-#: ../clutter/clutter-timeline.c:675
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Contador de repetições"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Quantas vezes a linha do tempo deve repetir"
 
-#: ../clutter/clutter-timeline.c:690
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Modo do progresso"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Como a linha do tempo deve computar o progresso"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Intervalo"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "Intervalo dos valores da transição"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Animável"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "O objeto animável"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Remover ao completar"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Remove a transição quando tiver completado"
 
-#: ../clutter/clutter-zoom-action.c:354
+#: ../clutter/clutter-zoom-action.c:353
 msgid "Zoom Axis"
 msgstr "Ampliar eixo"
 
-#: ../clutter/clutter-zoom-action.c:355
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Constraints the zoom to an axis"
 msgstr "Restringe a ampliação a um eixo"
 
-#: ../clutter/deprecated/clutter-alpha.c:354
-#: ../clutter/deprecated/clutter-animation.c:572
-#: ../clutter/deprecated/clutter-animator.c:1818
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1820
 msgid "Timeline"
 msgstr "Linha do tempo"
 
-#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "Linha do tempo utilizado pelo alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:371
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Valor de alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:372
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "Valor de alfa calculado pelo alfa"
 
-#: ../clutter/deprecated/clutter-alpha.c:393
-#: ../clutter/deprecated/clutter-animation.c:525
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Modo"
 
-#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Modo do progresso"
 
-#: ../clutter/deprecated/clutter-animation.c:508
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Objeto"
 
-#: ../clutter/deprecated/clutter-animation.c:509
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "Objeto ao qual se aplica a animação"
 
-#: ../clutter/deprecated/clutter-animation.c:526
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "O modo da animação"
 
-#: ../clutter/deprecated/clutter-animation.c:542
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "Duração da animação, em milésimo de segundos"
 
-#: ../clutter/deprecated/clutter-animation.c:558
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Se a animação deve repetir"
 
-#: ../clutter/deprecated/clutter-animation.c:573
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "A linha do tempo utilizado pela animação"
 
-#: ../clutter/deprecated/clutter-animation.c:589
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Alfa"
 
-#: ../clutter/deprecated/clutter-animation.c:590
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "A alfa usada pela animação"
 
-#: ../clutter/deprecated/clutter-animator.c:1802
+#: ../clutter/deprecated/clutter-animator.c:1804
 msgid "The duration of the animation"
 msgstr "A duração da animação"
 
-#: ../clutter/deprecated/clutter-animator.c:1819
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "The timeline of the animation"
 msgstr "A linha de tempo da animação"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Objeto alfa para dirigir o comportamento"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Profundidade inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Profundidade inicial a aplicar"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Profundidade final"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Profundidade final a aplicar"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Ângulo inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Ângulo inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Ângulo final"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Ângulo final"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Ângulo X de inclinação"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "Inclinação da elipse em torno do eixo X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Ângulo Y de inclinação"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "Inclinação da elipse em torno do eixo Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Ângulo Z de inclinação"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "Inclinação da elipse em torno do eixo Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Largura da elipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Altura da elipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Centro"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Centro da elipse"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Direção da rotação"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Opacidade inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Nível da opacidade inicial"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Opacidade final"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Nível da opacidade final"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "O objeto ClutterPath representando o caminho da animação"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Inicio do ângulo"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Final do ângulo"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Eixo"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Eixo de rotação"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "X central"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "Coordenada X do centro de rotação"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Y central"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Coordenada Y do centro de rotação"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Z central"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Coordenada Z do centro de rotação"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Início da escala X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Escala inicial no eixo X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Final da escala X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Final da escala no eixo X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Início da escala Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Escala inicial no eixo Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Final da escala Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Final da escala no eixo Y"
 
-#: ../clutter/deprecated/clutter-box.c:257
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "A cor de fundo da caixa"
 
-#: ../clutter/deprecated/clutter-box.c:270
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Definir a cor"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:593
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Largura da superfície"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:594
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "A largura da superfície do Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:611
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Altura da superfície"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:612
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "A altura da superfície do Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:632
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Redimensionamento automático"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:633
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Se a superfície deve combinar com a posição"
 
@@ -2399,101 +2387,101 @@ msgstr "O nível de preenchimento do buffer"
 msgid "The duration of the stream, in seconds"
 msgstr "A duração do fluxo, em segundos"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "A cor do retângulo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Cor da borda"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "A cor da borda do retângulo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Largura da borda"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "A largura da borda do retângulo"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Tem borda"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Se o retângulo deve ter uma borda"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Fonte de vértices"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Fonte do shader de vértices"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Fonte de fragmentos"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Fonte do shader de fragmentos"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Compilado"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Se o shader está compilado e vinculado"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Se o shader está habilitado"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "compilação de %s falhou: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Shader de vértices"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Shader de fragmentos"
 
-#: ../clutter/deprecated/clutter-state.c:1499
+#: ../clutter/deprecated/clutter-state.c:1504
 msgid "State"
 msgstr "Estado"
 
-#: ../clutter/deprecated/clutter-state.c:1500
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr "Estado definido atual (transição para este estado pode ser incompleta)"
 
-#: ../clutter/deprecated/clutter-state.c:1518
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Default transition duration"
 msgstr "Duração de transição padrão"
 
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Sincronizar tamanho do ator"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Sincronização automática do tamanho do às dimensões do pixbuf subjacente"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Desativar fatiamento"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
@@ -2501,97 +2489,97 @@ msgstr ""
 "Força a textura subjacente a ser singular e não feita de pequenas texturas "
 "individuais"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Resíduo de ladrilhos"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Área máxima de resíduos de uma textura em fatias"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Repetir horizontal"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Repete o conteúdo em vez de escalar na horizontal"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Repetir vertical"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Repete o conteúdo em vez de escalar na vertical"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Qualidade do filtro"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "Qualidade da renderização usada para desenhar a textura"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Formato do pixel"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "O formato do pixel Cogl para usar"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Textura Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr ""
 "O identificador da textura Cogl subjacente usado para desenhar este ator"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Material Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 "O identificador do material Cogl subjacente usado para desenhar este ator"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "O caminho do arquivo contendo os dados da imagem"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Manter proporções"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
 msgstr ""
 "Manter a proporção da textura ao solicitar a largura ou altura preferencial"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Carregar de forma assíncrona"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Carregar arquivos dentro de um thread para evitar o bloqueio ao carregar "
 "imagens do disco"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Carregar dados de forma assíncrona"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2599,194 +2587,194 @@ msgstr ""
 "Decodificar arquivos de dados de imagens dentro de um thread para reduzir o "
 "bloqueio ao carregar imagens do disco"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Com o pacote alfa"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Formar ator com o canal alfa ao escolher"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Falhou ao carregar dados da imagem"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "Sem suporte para texturas YUV"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "Sem suporte para texturas YUV2"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:152
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
 msgid "sysfs Path"
 msgstr "Caminho sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:153
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
 msgid "Path of the device in sysfs"
 msgstr "Caminho do dispositivo no sysfs"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:168
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
 msgid "Device Path"
 msgstr "Caminho do dispositivo"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:169
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
 msgid "Path of the device node"
 msgstr "Caminho do nó do dispositivo"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr ""
 "Não foi encontrado um CoglWinsys apropriado para um GdkDisplay do tipo %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Superfície"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "A superfície wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Largura da superfície"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "A largura da superfície wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Altura da superfície"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "A altura da superfície wayland"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Tela X para usar"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Tela X para usar"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Fazer chamadas X sncronizadas"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
-msgid "Disable XInput support"
-msgstr "Desabilitar suporte a XInput"
+#: ../clutter/x11/clutter-backend-x11.c:534
+msgid "Enable XInput support"
+msgstr "Habilitar suporte XInput"
 
-#: ../clutter/x11/clutter-keymap-x11.c:322
+#: ../clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
 msgstr "O backend do Clutter"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "O Pixmap X11 para vincular"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Largura do pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "A largura do pixmap vinculado a esta textura"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Altura do pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "A altura do pixmap vinculado a esta textura"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Profundidade do pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr "A profundidade (número de bits) do pixmap vinculado a esta textura"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Atualização automática"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Se a textura deve ser mantida em sincronia com qualquer alteração no pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Janela"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "A janela X11 a ser vinculada"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Redirecionamento automático de janelas"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Se o redirecionamento de janelas compostas está definido como Automático (ou "
 "Manual se falso)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Janela mapeada"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Se a janela é mapeada"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Destruída"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Se a janela foi destruída"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "Janela X"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "a posição X da janela na tela de acordo com o X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Janela Y"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "A posição Y da janela na tela de acordo com o X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Redirecionamento de substituição de janelas"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Se esta é uma janela com redirecionamento de substituição"
 
diff --git a/po/ru.po b/po/ru.po
index ce199bd..5ce07f3 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,9 +8,9 @@ msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-11 04:08+0000\n"
-"PO-Revision-Date: 2014-03-11 16:18+0300\n"
-"Last-Translator: Yuri Myasoedov <omerta13 yandex ru>\n"
+"POT-Creation-Date: 2012-12-18 02:00+0000\n"
+"PO-Revision-Date: 2012-12-18 09:50+0400\n"
+"Last-Translator: Aleksej Kabanov <ak099 mail ru>\n"
 "Language-Team: русский <gnome-cyr gnome org>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
@@ -20,690 +20,690 @@ msgstr ""
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: ../clutter/clutter-actor.c:6214
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Координата по оси X"
 
-#: ../clutter/clutter-actor.c:6215
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "Координата актора по оси X"
 
-#: ../clutter/clutter-actor.c:6233
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Координата по оси Y"
 
-#: ../clutter/clutter-actor.c:6234
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Координата актора по оси Y"
 
-#: ../clutter/clutter-actor.c:6256
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Положение"
 
-#: ../clutter/clutter-actor.c:6257
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "Исходное положение актора"
 
-#: ../clutter/clutter-actor.c:6274 ../clutter/clutter-canvas.c:247
-#: ../clutter/clutter-grid-layout.c:1239
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:474
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
+#: ../clutter/clutter-grid-layout.c:1238
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Ширина"
 
-#: ../clutter/clutter-actor.c:6275
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Ширина актора"
 
-#: ../clutter/clutter-actor.c:6293 ../clutter/clutter-canvas.c:263
-#: ../clutter/clutter-grid-layout.c:1246
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:490
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
+#: ../clutter/clutter-grid-layout.c:1245
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Высота"
 
-#: ../clutter/clutter-actor.c:6294
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Высота актора"
 
-#: ../clutter/clutter-actor.c:6315
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Размер"
 
-#: ../clutter/clutter-actor.c:6316
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "Размер актора"
 
-#: ../clutter/clutter-actor.c:6334
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "Фиксировано по оси X"
 
-#: ../clutter/clutter-actor.c:6335
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Принудительное положение размещения актора по оси X"
 
-#: ../clutter/clutter-actor.c:6352
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Фиксировано по оси Y"
 
-#: ../clutter/clutter-actor.c:6353
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Принудительное положение размещения актора по оси Y"
 
-#: ../clutter/clutter-actor.c:6368
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Фиксированное положение"
 
-#: ../clutter/clutter-actor.c:6369
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Использовать ли фиксированное позиционирование актора"
 
-#: ../clutter/clutter-actor.c:6387
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Мин. ширина"
 
-#: ../clutter/clutter-actor.c:6388
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Запрос принудительной минимальной ширины актора"
 
-#: ../clutter/clutter-actor.c:6406
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Мин. высота"
 
-#: ../clutter/clutter-actor.c:6407
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Запрос принудительной минимальной высоты актора"
 
-#: ../clutter/clutter-actor.c:6425
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Естественная ширина"
 
-#: ../clutter/clutter-actor.c:6426
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Запрос принудительной естественной ширины актора"
 
-#: ../clutter/clutter-actor.c:6444
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Естественная высота"
 
-#: ../clutter/clutter-actor.c:6445
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Запрос принудительной естественной высоты актора"
 
-#: ../clutter/clutter-actor.c:6460
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Минимальная ширина"
 
-#: ../clutter/clutter-actor.c:6461
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Использовать ли свойство min-width"
 
-#: ../clutter/clutter-actor.c:6475
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Минимальная высота"
 
-#: ../clutter/clutter-actor.c:6476
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Использовать ли свойство min-height"
 
-#: ../clutter/clutter-actor.c:6490
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Естественная ширина"
 
-#: ../clutter/clutter-actor.c:6491
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Использовать ли свойство natural-width"
 
-#: ../clutter/clutter-actor.c:6505
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Естественная высота"
 
-#: ../clutter/clutter-actor.c:6506
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Использовать ли свойство natural-height"
 
-#: ../clutter/clutter-actor.c:6522
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Размещение"
 
-#: ../clutter/clutter-actor.c:6523
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "Размещение актора"
 
-#: ../clutter/clutter-actor.c:6580
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Режим запроса"
 
-#: ../clutter/clutter-actor.c:6581
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "Режим запроса актора"
 
-#: ../clutter/clutter-actor.c:6605
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Глубина"
 
-#: ../clutter/clutter-actor.c:6606
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Положение по оси Z"
 
-#: ../clutter/clutter-actor.c:6633
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Положение по оси Z"
 
-#: ../clutter/clutter-actor.c:6634
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Положение актора по оси Z"
 
-#: ../clutter/clutter-actor.c:6651
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Непрозрачность"
 
-#: ../clutter/clutter-actor.c:6652
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Непрозрачность актора"
 
-#: ../clutter/clutter-actor.c:6672
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Закадровое перенаправление"
 
-#: ../clutter/clutter-actor.c:6673
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Флаги, контролирующие перевод актора в одиночное изображение"
 
-#: ../clutter/clutter-actor.c:6687
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Видимость"
 
-#: ../clutter/clutter-actor.c:6688
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Является ли актор видимым"
 
-#: ../clutter/clutter-actor.c:6702
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Отображён"
 
-#: ../clutter/clutter-actor.c:6703
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Будет ли отрисовываться актор"
 
-#: ../clutter/clutter-actor.c:6716
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Реализован"
 
-#: ../clutter/clutter-actor.c:6717
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Нужно ли реализовывать актор"
 
-#: ../clutter/clutter-actor.c:6732
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Реактивный"
 
-#: ../clutter/clutter-actor.c:6733
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Реагирует ли актор на события"
 
-#: ../clutter/clutter-actor.c:6744
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Есть кадр"
 
-#: ../clutter/clutter-actor.c:6745
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Имеется ли у актора кадр"
 
-#: ../clutter/clutter-actor.c:6758
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Кадрирование"
 
-#: ../clutter/clutter-actor.c:6759
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "Область кадирорования для актора"
 
-#: ../clutter/clutter-actor.c:6778
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Прямоугольник кадрирования"
 
-#: ../clutter/clutter-actor.c:6779
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "Видимая область актора"
 
-#: ../clutter/clutter-actor.c:6793 ../clutter/clutter-actor-meta.c:205
-#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:247
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Имя"
 
-#: ../clutter/clutter-actor.c:6794
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Имя актора"
 
-#: ../clutter/clutter-actor.c:6815
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Точка вращения"
 
-#: ../clutter/clutter-actor.c:6816
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Точка, вокруг которой выполняется масштабирование и вращение"
 
-#: ../clutter/clutter-actor.c:6834
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Точка вращения Z"
 
-#: ../clutter/clutter-actor.c:6835
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Компонента Z точки вращения"
 
-#: ../clutter/clutter-actor.c:6853
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Масштаб по оси X"
 
-#: ../clutter/clutter-actor.c:6854
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Масштабный коэффициент по оси X"
 
-#: ../clutter/clutter-actor.c:6872
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Масштаб по оси Y"
 
-#: ../clutter/clutter-actor.c:6873
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Масштабный коэффициент по оси Y"
 
-#: ../clutter/clutter-actor.c:6891
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Масштаб по оси Z"
 
-#: ../clutter/clutter-actor.c:6892
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Масштабный коэффициент по оси Z"
 
-#: ../clutter/clutter-actor.c:6910
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Центр масштабирования по оси X"
 
-#: ../clutter/clutter-actor.c:6911
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Центр масштабирования по горизонтали"
 
-#: ../clutter/clutter-actor.c:6929
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Центр масштабирования по оси Y"
 
-#: ../clutter/clutter-actor.c:6930
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Центр масштабирования по вертикали"
 
-#: ../clutter/clutter-actor.c:6948
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Притяжение масштабирования"
 
-#: ../clutter/clutter-actor.c:6949
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "Центр масштабирования"
 
-#: ../clutter/clutter-actor.c:6967
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Угол поворота на оси X"
 
-#: ../clutter/clutter-actor.c:6968
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "Угол поворота на оси X"
 
-#: ../clutter/clutter-actor.c:6986
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Угол поворота на оси Y"
 
-#: ../clutter/clutter-actor.c:6987
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "Угол поворота на оси Y"
 
-#: ../clutter/clutter-actor.c:7005
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Угол поворота на оси Z"
 
-#: ../clutter/clutter-actor.c:7006
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "Угол поворота на оси Z"
 
-#: ../clutter/clutter-actor.c:7024
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Центр поворота на оси X"
 
-#: ../clutter/clutter-actor.c:7025
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "Центр поворота на оси X"
 
-#: ../clutter/clutter-actor.c:7042
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Центр поворота на оси Y"
 
-#: ../clutter/clutter-actor.c:7043
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "Центр поворота на оси Y"
 
-#: ../clutter/clutter-actor.c:7060
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Центр поворота на оси Z"
 
-#: ../clutter/clutter-actor.c:7061
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "Центр поворота на оси Z"
 
-#: ../clutter/clutter-actor.c:7078
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Притяжение центра поворота по оси Z"
 
-#: ../clutter/clutter-actor.c:7079
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Центральная точка поворота вокруг оси Z"
 
-#: ../clutter/clutter-actor.c:7107
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Привязка по оси X"
 
-#: ../clutter/clutter-actor.c:7108
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "Координата точки привязки по оси X"
 
-#: ../clutter/clutter-actor.c:7136
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Привязка по оси Y"
 
-#: ../clutter/clutter-actor.c:7137
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Координата точки привязки по оси Y"
 
-#: ../clutter/clutter-actor.c:7164
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Притяжение привязки"
 
-#: ../clutter/clutter-actor.c:7165
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "Точка привязки как ClutterGravity"
 
-#: ../clutter/clutter-actor.c:7184
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Переход по X"
 
-#: ../clutter/clutter-actor.c:7185
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Переход по оси X"
 
-#: ../clutter/clutter-actor.c:7204
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Переход по Y"
 
-#: ../clutter/clutter-actor.c:7205
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Переход по оси Y"
 
-#: ../clutter/clutter-actor.c:7224
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Переход по Z"
 
-#: ../clutter/clutter-actor.c:7225
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Переход по оси Z"
 
-#: ../clutter/clutter-actor.c:7255
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Преобразование"
 
-#: ../clutter/clutter-actor.c:7256
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Матрица преобразования"
 
-#: ../clutter/clutter-actor.c:7271
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Установить преобразование"
 
-#: ../clutter/clutter-actor.c:7272
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Установлено ли свойство преобразования"
 
-#: ../clutter/clutter-actor.c:7293
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Дочернее преобразование"
 
-#: ../clutter/clutter-actor.c:7294
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Матрица дочернего преобразования"
 
-#: ../clutter/clutter-actor.c:7309
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Установить дочернее преобразование"
 
-#: ../clutter/clutter-actor.c:7310
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Установлено ли свойство дочернего преобразования"
 
-#: ../clutter/clutter-actor.c:7327
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Показывать на установленном родителе"
 
-#: ../clutter/clutter-actor.c:7328
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Показывать ли актор при наличии у него родителя"
 
-#: ../clutter/clutter-actor.c:7345
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Кадрировать по размещению"
 
-#: ../clutter/clutter-actor.c:7346
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Устанавливает область кадрирования для слежения за размещением актора"
 
-#: ../clutter/clutter-actor.c:7359
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Направление текста"
 
-#: ../clutter/clutter-actor.c:7360
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Направление текста"
 
-#: ../clutter/clutter-actor.c:7375
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Указатель"
 
-#: ../clutter/clutter-actor.c:7376
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Содержит ли актор указатель устройства ввода"
 
-#: ../clutter/clutter-actor.c:7389
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Действия"
 
-#: ../clutter/clutter-actor.c:7390
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Добавляет актору действие"
 
-#: ../clutter/clutter-actor.c:7403
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Ограничители"
 
-#: ../clutter/clutter-actor.c:7404
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Добавляет актору ограничители"
 
-#: ../clutter/clutter-actor.c:7417
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Эффект"
 
-#: ../clutter/clutter-actor.c:7418
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Добавить эффект, применяемый эффект к актору"
 
-#: ../clutter/clutter-actor.c:7432
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Менеджер компоновки"
 
-#: ../clutter/clutter-actor.c:7433
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "Объект, управляющий размещением потомков актора"
 
-#: ../clutter/clutter-actor.c:7447
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Растяжение по X"
 
-#: ../clutter/clutter-actor.c:7448
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Нужна ли дополнительная область по горизонтали для актора"
 
-#: ../clutter/clutter-actor.c:7463
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Растяжение по Y"
 
-#: ../clutter/clutter-actor.c:7464
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Нужна ли дополнительная область по вертикали для актора"
 
-#: ../clutter/clutter-actor.c:7480
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Выравнивание по X"
 
-#: ../clutter/clutter-actor.c:7481
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Выравнивание актора по оси X вместе с его размещением"
 
-#: ../clutter/clutter-actor.c:7496
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Выравнивание по Y"
 
-#: ../clutter/clutter-actor.c:7497
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Выравнивание актора по оси Y вместе с его размещением"
 
-#: ../clutter/clutter-actor.c:7516
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Поле сверху"
 
-#: ../clutter/clutter-actor.c:7517
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Дополнительное место сверху"
 
-#: ../clutter/clutter-actor.c:7538
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Поле снизу"
 
-#: ../clutter/clutter-actor.c:7539
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Дополнительное место снизу"
 
-#: ../clutter/clutter-actor.c:7560
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Поле слева"
 
-#: ../clutter/clutter-actor.c:7561
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Дополнительное место слева"
 
-#: ../clutter/clutter-actor.c:7582
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Поле справа"
 
-#: ../clutter/clutter-actor.c:7583
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Дополнительное место справа"
 
-#: ../clutter/clutter-actor.c:7599
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Цвет фона"
 
-#: ../clutter/clutter-actor.c:7600 ../clutter/deprecated/clutter-box.c:271
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Установлен ли цвет фона"
 
-#: ../clutter/clutter-actor.c:7616
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Цвет фона"
 
-#: ../clutter/clutter-actor.c:7617
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "Цвет фона актора"
 
-#: ../clutter/clutter-actor.c:7632
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Первый потомок"
 
-#: ../clutter/clutter-actor.c:7633
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Первый потомок актора"
 
-#: ../clutter/clutter-actor.c:7646
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Последний потомок"
 
-#: ../clutter/clutter-actor.c:7647
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "Последний потомок актора"
 
-#: ../clutter/clutter-actor.c:7661
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Содержимое"
 
-#: ../clutter/clutter-actor.c:7662
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Делегировать объект для отрисовки содержимого актора"
 
-#: ../clutter/clutter-actor.c:7687
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Притяжение содержимого"
 
-#: ../clutter/clutter-actor.c:7688
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Выравнивание содержимого актора"
 
-#: ../clutter/clutter-actor.c:7708
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Контейнер содержимого"
 
-#: ../clutter/clutter-actor.c:7709
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "Контейнер содержимого актора"
 
-#: ../clutter/clutter-actor.c:7717
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Уменьшающий фильтр"
 
-#: ../clutter/clutter-actor.c:7718
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Фильтр, используемый для уменьшения размеров содержимого"
 
-#: ../clutter/clutter-actor.c:7725
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "Увеличивающий фильтр"
 
-#: ../clutter/clutter-actor.c:7726
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Фильтр, используемый для увеличения размеров содержимого"
 
-#: ../clutter/clutter-actor.c:7740
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Повторение содержимого"
 
-#: ../clutter/clutter-actor.c:7741
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "Политика повторения содержимого актора"
 
-#: ../clutter/clutter-actor-meta.c:191 ../clutter/clutter-child-meta.c:142
+#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
 msgid "Actor"
 msgstr "Актор"
 
-#: ../clutter/clutter-actor-meta.c:192
+#: ../clutter/clutter-actor-meta.c:194
 msgid "The actor attached to the meta"
 msgstr "Актор, прикреплённый к метаактору"
 
-#: ../clutter/clutter-actor-meta.c:206
+#: ../clutter/clutter-actor-meta.c:208
 msgid "The name of the meta"
 msgstr "Имя метаактора"
 
-#: ../clutter/clutter-actor-meta.c:219 ../clutter/clutter-input-device.c:326
-#: ../clutter/deprecated/clutter-shader.c:309
+#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
+#: ../clutter/deprecated/clutter-shader.c:313
 msgid "Enabled"
 msgstr "Включён"
 
-#: ../clutter/clutter-actor-meta.c:220
+#: ../clutter/clutter-actor-meta.c:222
 msgid "Whether the meta is enabled"
 msgstr "Включён ли метаактор"
 
 #: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:341
+#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
 #: ../clutter/clutter-snap-constraint.c:321
 msgid "Source"
 msgstr "Источник"
@@ -729,11 +729,11 @@ msgstr "Коэффициент"
 msgid "The alignment factor, between 0.0 and 1.0"
 msgstr "Коэффициент выравнивания, между 0.0 и 1.0"
 
-#: ../clutter/clutter-backend.c:380
+#: ../clutter/clutter-backend.c:379
 msgid "Unable to initialize the Clutter backend"
 msgstr "Не удалось инициализировать драйвер Clutter"
 
-#: ../clutter/clutter-backend.c:454
+#: ../clutter/clutter-backend.c:453
 #, c-format
 msgid "The backend of type '%s' does not support creating multiple stages"
 msgstr "Драйвер типа «%s» не поддерживает создание нескольких сцен"
@@ -764,53 +764,49 @@ msgstr "Отступ в пикселах для применения привя
 msgid "The unique name of the binding pool"
 msgstr "Уникальное имя пула привязки"
 
-#: ../clutter/clutter-bin-layout.c:238 ../clutter/clutter-bin-layout.c:651
-#: ../clutter/clutter-box-layout.c:388
-#: ../clutter/deprecated/clutter-table-layout.c:610
+#: ../clutter/clutter-bin-layout.c:240 ../clutter/clutter-bin-layout.c:655
+#: ../clutter/clutter-box-layout.c:390 ../clutter/clutter-table-layout.c:610
 msgid "Horizontal Alignment"
 msgstr "Горизонтальное выравнивание"
 
-#: ../clutter/clutter-bin-layout.c:239
+#: ../clutter/clutter-bin-layout.c:241
 msgid "Horizontal alignment for the actor inside the layout manager"
 msgstr "Горизонтальное выравнивание актора внутри менеджера компоновки"
 
-#: ../clutter/clutter-bin-layout.c:247 ../clutter/clutter-bin-layout.c:671
-#: ../clutter/clutter-box-layout.c:397
-#: ../clutter/deprecated/clutter-table-layout.c:625
+#: ../clutter/clutter-bin-layout.c:249 ../clutter/clutter-bin-layout.c:675
+#: ../clutter/clutter-box-layout.c:399 ../clutter/clutter-table-layout.c:625
 msgid "Vertical Alignment"
 msgstr "Вертикальное выравнивание"
 
-#: ../clutter/clutter-bin-layout.c:248
+#: ../clutter/clutter-bin-layout.c:250
 msgid "Vertical alignment for the actor inside the layout manager"
 msgstr "Вертикальное выравнивание актора внутри менеджера компоновки"
 
-#: ../clutter/clutter-bin-layout.c:652
+#: ../clutter/clutter-bin-layout.c:656
 msgid "Default horizontal alignment for the actors inside the layout manager"
 msgstr ""
 "Горизонтальное выравнивание по умолчанию для акторов внутри менеджера "
 "компоновки"
 
-#: ../clutter/clutter-bin-layout.c:672
+#: ../clutter/clutter-bin-layout.c:676
 msgid "Default vertical alignment for the actors inside the layout manager"
 msgstr ""
 "Вертикальное выравнивание по умолчанию для акторов внутри менеджера "
 "компоновки"
 
-#: ../clutter/clutter-box-layout.c:363
+#: ../clutter/clutter-box-layout.c:365
 msgid "Expand"
 msgstr "Растягивать"
 
-#: ../clutter/clutter-box-layout.c:364
+#: ../clutter/clutter-box-layout.c:366
 msgid "Allocate extra space for the child"
 msgstr "Занимать дополнительное место для дочернего элемента"
 
-#: ../clutter/clutter-box-layout.c:370
-#: ../clutter/deprecated/clutter-table-layout.c:589
+#: ../clutter/clutter-box-layout.c:372 ../clutter/clutter-table-layout.c:589
 msgid "Horizontal Fill"
 msgstr "Горизонтальное заполнение"
 
-#: ../clutter/clutter-box-layout.c:371
-#: ../clutter/deprecated/clutter-table-layout.c:590
+#: ../clutter/clutter-box-layout.c:373 ../clutter/clutter-table-layout.c:590
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the horizontal axis"
@@ -818,13 +814,11 @@ msgstr ""
 "Должен ли дочерний элемент получать приоритет, когда контейнер размещается в "
 "пустом пространстве по горизонтальной оси"
 
-#: ../clutter/clutter-box-layout.c:379
-#: ../clutter/deprecated/clutter-table-layout.c:596
+#: ../clutter/clutter-box-layout.c:381 ../clutter/clutter-table-layout.c:596
 msgid "Vertical Fill"
 msgstr "Вертикальное заполнение"
 
-#: ../clutter/clutter-box-layout.c:380
-#: ../clutter/deprecated/clutter-table-layout.c:597
+#: ../clutter/clutter-box-layout.c:382 ../clutter/clutter-table-layout.c:597
 msgid ""
 "Whether the child should receive priority when the container is allocating "
 "spare space on the vertical axis"
@@ -832,89 +826,81 @@ msgstr ""
 "Должен ли дочерний элемент получать приоритет, когда контейнер размещается в "
 "пустом пространстве по вертикальной оси"
 
-#: ../clutter/clutter-box-layout.c:389
-#: ../clutter/deprecated/clutter-table-layout.c:611
+#: ../clutter/clutter-box-layout.c:391 ../clutter/clutter-table-layout.c:611
 msgid "Horizontal alignment of the actor within the cell"
 msgstr "Горизонтальное выравнивание актора вместе с ячейкой"
 
-#: ../clutter/clutter-box-layout.c:398
-#: ../clutter/deprecated/clutter-table-layout.c:626
+#: ../clutter/clutter-box-layout.c:400 ../clutter/clutter-table-layout.c:626
 msgid "Vertical alignment of the actor within the cell"
 msgstr "Вертикальное выравнивание актора вместе с ячейкой"
 
 # Компоновка
-#: ../clutter/clutter-box-layout.c:1359
+#: ../clutter/clutter-box-layout.c:1365
 msgid "Vertical"
 msgstr "Вертикальная"
 
-#: ../clutter/clutter-box-layout.c:1360
+#: ../clutter/clutter-box-layout.c:1366
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Приоритет вертикальной компоновки над горизонтальной"
 
-#: ../clutter/clutter-box-layout.c:1377 ../clutter/clutter-flow-layout.c:942
-#: ../clutter/clutter-grid-layout.c:1549
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
+#: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Ориентация"
 
-#: ../clutter/clutter-box-layout.c:1378 ../clutter/clutter-flow-layout.c:943
-#: ../clutter/clutter-grid-layout.c:1550
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
+#: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "Ориентация компоновки"
 
-#: ../clutter/clutter-box-layout.c:1394 ../clutter/clutter-flow-layout.c:958
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Однородный"
 
-#: ../clutter/clutter-box-layout.c:1395
+#: ../clutter/clutter-box-layout.c:1401
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Должна ли компоновка быть однородной, т. е. все дочерние элементы имеют "
 "одинаковые размеры"
 
-#: ../clutter/clutter-box-layout.c:1410
+#: ../clutter/clutter-box-layout.c:1416
 msgid "Pack Start"
 msgstr "Упаковывать с начала"
 
-#: ../clutter/clutter-box-layout.c:1411
+#: ../clutter/clutter-box-layout.c:1417
 msgid "Whether to pack items at the start of the box"
 msgstr "Упаковывать ли элементы, начиная с начала контейнера"
 
-#: ../clutter/clutter-box-layout.c:1424
+#: ../clutter/clutter-box-layout.c:1430
 msgid "Spacing"
 msgstr "Расстояние"
 
-#: ../clutter/clutter-box-layout.c:1425
+#: ../clutter/clutter-box-layout.c:1431
 msgid "Spacing between children"
 msgstr "Расстояние между дочерними элементами"
 
-#: ../clutter/clutter-box-layout.c:1442
-#: ../clutter/deprecated/clutter-table-layout.c:1677
+#: ../clutter/clutter-box-layout.c:1448 ../clutter/clutter-table-layout.c:1675
 msgid "Use Animations"
 msgstr "Использовать анимацию"
 
-#: ../clutter/clutter-box-layout.c:1443
-#: ../clutter/deprecated/clutter-table-layout.c:1678
+#: ../clutter/clutter-box-layout.c:1449 ../clutter/clutter-table-layout.c:1676
 msgid "Whether layout changes should be animated"
 msgstr "Анимировать ли изменения в компоновке"
 
-#: ../clutter/clutter-box-layout.c:1467
-#: ../clutter/deprecated/clutter-table-layout.c:1702
+#: ../clutter/clutter-box-layout.c:1473 ../clutter/clutter-table-layout.c:1700
 msgid "Easing Mode"
 msgstr "Режим анимации"
 
-#: ../clutter/clutter-box-layout.c:1468
-#: ../clutter/deprecated/clutter-table-layout.c:1703
+#: ../clutter/clutter-box-layout.c:1474 ../clutter/clutter-table-layout.c:1701
 msgid "The easing mode of the animations"
 msgstr "Режим анимации"
 
-#: ../clutter/clutter-box-layout.c:1488
-#: ../clutter/deprecated/clutter-table-layout.c:1723
+#: ../clutter/clutter-box-layout.c:1494 ../clutter/clutter-table-layout.c:1721
 msgid "Easing Duration"
 msgstr "Продолжительность анимации"
 
-#: ../clutter/clutter-box-layout.c:1489
-#: ../clutter/deprecated/clutter-table-layout.c:1724
+#: ../clutter/clutter-box-layout.c:1495 ../clutter/clutter-table-layout.c:1722
 msgid "The duration of the animations"
 msgstr "Продолжительность анимации"
 
@@ -934,34 +920,14 @@ msgstr "Контрастность"
 msgid "The contrast change to apply"
 msgstr "Изменение контрастности"
 
-#: ../clutter/clutter-canvas.c:248
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "Ширина канвы"
 
-#: ../clutter/clutter-canvas.c:264
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "Высота канвы"
 
-#: ../clutter/clutter-canvas.c:283
-#| msgid "Selection Color Set"
-msgid "Scale Factor Set"
-msgstr "Коэффициент масштабирования установлен"
-
-#: ../clutter/clutter-canvas.c:284
-#| msgid "Whether the transform property is set"
-msgid "Whether the scale-factor property is set"
-msgstr "Установлено ли свойство scale-factor"
-
-#: ../clutter/clutter-canvas.c:305
-#| msgid "Factor"
-msgid "Scale Factor"
-msgstr "Коэффициент масштабирования"
-
-#: ../clutter/clutter-canvas.c:306
-#| msgid "The height of the Cairo surface"
-msgid "The scaling factor for the surface"
-msgstr "Коэффициент масштабирования для поверхности"
-
 #: ../clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "Контейнер"
@@ -974,39 +940,39 @@ msgstr "Контейнер, создавший эти данные"
 msgid "The actor wrapped by this data"
 msgstr "Актор, описанный этими данными"
 
-#: ../clutter/clutter-click-action.c:586
+#: ../clutter/clutter-click-action.c:559
 msgid "Pressed"
 msgstr "Актор нажат"
 
-#: ../clutter/clutter-click-action.c:587
+#: ../clutter/clutter-click-action.c:560
 msgid "Whether the clickable should be in pressed state"
 msgstr "Должен ли актор, реагирующий на щелчки мыши, быть в нажатом состоянии"
 
-#: ../clutter/clutter-click-action.c:600
+#: ../clutter/clutter-click-action.c:573
 msgid "Held"
 msgstr "Удержание"
 
-#: ../clutter/clutter-click-action.c:601
+#: ../clutter/clutter-click-action.c:574
 msgid "Whether the clickable has a grab"
 msgstr "Должен ли актор, реагирующий на щелчки мыши, захватывать курсор"
 
-#: ../clutter/clutter-click-action.c:618 ../clutter/clutter-settings.c:653
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Время длительного нажатия"
 
-#: ../clutter/clutter-click-action.c:619
+#: ../clutter/clutter-click-action.c:592
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "Минимальное время длительного нажатия для распознавания жеста"
 
-#: ../clutter/clutter-click-action.c:637
+#: ../clutter/clutter-click-action.c:610
 msgid "Long Press Threshold"
 msgstr "Порог длительного нажатия"
 
-#: ../clutter/clutter-click-action.c:638
+#: ../clutter/clutter-click-action.c:611
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "Максимальный порог перед отменой длительного нажатия"
 
-#: ../clutter/clutter-clone.c:342
+#: ../clutter/clutter-clone.c:346
 msgid "Specifies the actor to be cloned"
 msgstr "Определяет актора для клонирования"
 
@@ -1018,27 +984,27 @@ msgstr "Окраска"
 msgid "The tint to apply"
 msgstr "Применить окраску"
 
-#: ../clutter/clutter-deform-effect.c:592
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Горизонтальные элементы"
 
-#: ../clutter/clutter-deform-effect.c:593
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Количество горизонтальных элементов"
 
-#: ../clutter/clutter-deform-effect.c:608
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Вертикальные элементы"
 
-#: ../clutter/clutter-deform-effect.c:609
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Количество вертикальных элементов"
 
-#: ../clutter/clutter-deform-effect.c:626
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Материал заднего плана"
 
-#: ../clutter/clutter-deform-effect.c:627
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Материал, используемый при отрисовке заднего плана актора"
 
@@ -1046,301 +1012,260 @@ msgstr "Материал, используемый при отрисовке з
 msgid "The desaturation factor"
 msgstr "Коэффициент разбавления"
 
-#: ../clutter/clutter-device-manager.c:127
-#: ../clutter/clutter-input-device.c:355
-#: ../clutter/x11/clutter-keymap-x11.c:457
+#: ../clutter/clutter-device-manager.c:131
+#: ../clutter/clutter-input-device.c:366
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Драйвер"
 
-#: ../clutter/clutter-device-manager.c:128
+#: ../clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "ClutterBackend диспетчера устройств"
 
-#: ../clutter/clutter-drag-action.c:741
+#: ../clutter/clutter-drag-action.c:742
 msgid "Horizontal Drag Threshold"
 msgstr "Порог горизонтального перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:742
+#: ../clutter/clutter-drag-action.c:743
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "Количество пикселов по горизонтали для начала перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:769
+#: ../clutter/clutter-drag-action.c:770
 msgid "Vertical Drag Threshold"
 msgstr "Порог вертикального перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:770
+#: ../clutter/clutter-drag-action.c:771
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Количество пикселов по вертикали для начала перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:791
+#: ../clutter/clutter-drag-action.c:792
 msgid "Drag Handle"
 msgstr "Область захвата"
 
-#: ../clutter/clutter-drag-action.c:792
+#: ../clutter/clutter-drag-action.c:793
 msgid "The actor that is being dragged"
 msgstr "Перетаскиваемый актор"
 
-#: ../clutter/clutter-drag-action.c:805
+#: ../clutter/clutter-drag-action.c:806
 msgid "Drag Axis"
 msgstr "Ось перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:806
+#: ../clutter/clutter-drag-action.c:807
 msgid "Constraints the dragging to an axis"
 msgstr "Ограничивает перетаскивание по оси"
 
-#: ../clutter/clutter-drag-action.c:822
+#: ../clutter/clutter-drag-action.c:823
 msgid "Drag Area"
 msgstr "Область перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:823
+#: ../clutter/clutter-drag-action.c:824
 msgid "Constrains the dragging to a rectangle"
 msgstr "Ограничить перетаскивание прямоугольником"
 
-#: ../clutter/clutter-drag-action.c:836
+#: ../clutter/clutter-drag-action.c:837
 msgid "Drag Area Set"
 msgstr "Установить область перетаскивания"
 
-#: ../clutter/clutter-drag-action.c:837
+#: ../clutter/clutter-drag-action.c:838
 msgid "Whether the drag area is set"
 msgstr "Установлена ли область перетаскивания"
 
-#: ../clutter/clutter-flow-layout.c:959
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Должен ли каждый элемент получать тоже самое размещение"
 
-#: ../clutter/clutter-flow-layout.c:974
-#: ../clutter/deprecated/clutter-table-layout.c:1637
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Расстояние между столбцами"
 
-#: ../clutter/clutter-flow-layout.c:975
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Расстояние между столбцами"
 
-#: ../clutter/clutter-flow-layout.c:991
-#: ../clutter/deprecated/clutter-table-layout.c:1653
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Расстояние между строками"
 
-#: ../clutter/clutter-flow-layout.c:992
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Расстояние между строками"
 
-#: ../clutter/clutter-flow-layout.c:1006
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Минимальная ширина столбца"
 
-#: ../clutter/clutter-flow-layout.c:1007
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Минимальная ширина для каждого столбца"
 
-#: ../clutter/clutter-flow-layout.c:1022
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Максимальная ширина столбца"
 
-#: ../clutter/clutter-flow-layout.c:1023
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Максимальная ширина для каждого столбца"
 
-#: ../clutter/clutter-flow-layout.c:1037
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Минимальная высота строки"
 
-#: ../clutter/clutter-flow-layout.c:1038
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Минимальная ширина для каждой строки"
 
-#: ../clutter/clutter-flow-layout.c:1053
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Максимальная высота строки"
 
-#: ../clutter/clutter-flow-layout.c:1054
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Максимальная ширина для каждой строки"
 
-#: ../clutter/clutter-flow-layout.c:1069 ../clutter/clutter-flow-layout.c:1070
-msgid "Snap to grid"
-msgstr "Привязать к сетке"
-
-#: ../clutter/clutter-gesture-action.c:668
-msgid "Number touch points"
-msgstr "Количество точек касания"
-
-#: ../clutter/clutter-gesture-action.c:669
-msgid "Number of touch points"
-msgstr "Количество точек касания"
-
-#: ../clutter/clutter-gesture-action.c:684
-msgid "Threshold Trigger Edge"
-msgstr "Пороговая граница срабатывания"
-
-#: ../clutter/clutter-gesture-action.c:685
-#| msgid "The timeline used by the animation"
-msgid "The trigger edge used by the action"
-msgstr "Граница срабатывания действия"
-
-#: ../clutter/clutter-gesture-action.c:704
-msgid "Threshold Trigger Horizontal Distance"
-msgstr "Пороговое расстояние по горизонтали для срабатывания"
-
-#: ../clutter/clutter-gesture-action.c:705
-#| msgid "The timeline used by the animation"
-msgid "The horizontal trigger distance used by the action"
-msgstr "Расстояние по горизонтали для срабатывания действия"
-
-#: ../clutter/clutter-gesture-action.c:723
-msgid "Threshold Trigger Vertical Distance"
-msgstr "Пороговое расстояние по вертикали для срабатывания"
-
-#: ../clutter/clutter-gesture-action.c:724
-#| msgid "The timeline used by the animation"
-msgid "The vertical trigger distance used by the action"
-msgstr "Расстояние по вертикали для срабатывания действия"
-
-#: ../clutter/clutter-grid-layout.c:1223
+#: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Вложение слева"
 
-#: ../clutter/clutter-grid-layout.c:1224
+#: ../clutter/clutter-grid-layout.c:1223
 msgid "The column number to attach the left side of the child to"
 msgstr ""
 "Номер столбца, к которому нужно прикрепить левую границу дочернего виджета"
 
-#: ../clutter/clutter-grid-layout.c:1231
+#: ../clutter/clutter-grid-layout.c:1230
 msgid "Top attachment"
 msgstr "Вложение сверху"
 
-#: ../clutter/clutter-grid-layout.c:1232
+#: ../clutter/clutter-grid-layout.c:1231
 msgid "The row number to attach the top side of a child widget to"
 msgstr ""
 "Номер строки, к которой нужно прикрепить верхнюю границу дочернего виджета"
 
-#: ../clutter/clutter-grid-layout.c:1240
+#: ../clutter/clutter-grid-layout.c:1239
 msgid "The number of columns that a child spans"
 msgstr "Количество столбцов, занимаемых дочерним виджетом"
 
-#: ../clutter/clutter-grid-layout.c:1247
+#: ../clutter/clutter-grid-layout.c:1246
 msgid "The number of rows that a child spans"
 msgstr "Количество строк, занимаемых дочерним виджетом"
 
-#: ../clutter/clutter-grid-layout.c:1564
+#: ../clutter/clutter-grid-layout.c:1565
 msgid "Row spacing"
 msgstr "Расстояние между строками"
 
-#: ../clutter/clutter-grid-layout.c:1565
+#: ../clutter/clutter-grid-layout.c:1566
 msgid "The amount of space between two consecutive rows"
 msgstr "Свободное место между двумя соседними строками"
 
-#: ../clutter/clutter-grid-layout.c:1578
+#: ../clutter/clutter-grid-layout.c:1579
 msgid "Column spacing"
 msgstr "Расстояние между столбцами"
 
-#: ../clutter/clutter-grid-layout.c:1579
+#: ../clutter/clutter-grid-layout.c:1580
 msgid "The amount of space between two consecutive columns"
 msgstr "Свободное место между двумя соседними столбцами"
 
-#: ../clutter/clutter-grid-layout.c:1593
+#: ../clutter/clutter-grid-layout.c:1594
 msgid "Row Homogeneous"
 msgstr "Однородные строки"
 
-#: ../clutter/clutter-grid-layout.c:1594
+#: ../clutter/clutter-grid-layout.c:1595
 msgid "If TRUE, the rows are all the same height"
 msgstr "Если установлено, то строки будут иметь одинаковую высоту"
 
-#: ../clutter/clutter-grid-layout.c:1607
+#: ../clutter/clutter-grid-layout.c:1608
 msgid "Column Homogeneous"
 msgstr "Однородные столбцы"
 
-#: ../clutter/clutter-grid-layout.c:1608
+#: ../clutter/clutter-grid-layout.c:1609
 msgid "If TRUE, the columns are all the same width"
 msgstr "Если установлено, то столбцы будут иметь одинаковую ширину"
 
-#: ../clutter/clutter-image.c:249 ../clutter/clutter-image.c:312
-#: ../clutter/clutter-image.c:400
+#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
+#: ../clutter/clutter-image.c:399
 msgid "Unable to load image data"
 msgstr "Не удалось загрузить данные изображения"
 
-#: ../clutter/clutter-input-device.c:231
+#: ../clutter/clutter-input-device.c:242
 msgid "Id"
 msgstr "ID"
 
-#: ../clutter/clutter-input-device.c:232
+#: ../clutter/clutter-input-device.c:243
 msgid "Unique identifier of the device"
 msgstr "Уникальный идентификатор устройства"
 
-#: ../clutter/clutter-input-device.c:248
+#: ../clutter/clutter-input-device.c:259
 msgid "The name of the device"
 msgstr "Название устройства"
 
-#: ../clutter/clutter-input-device.c:262
+#: ../clutter/clutter-input-device.c:273
 msgid "Device Type"
 msgstr "Тип устройства"
 
-#: ../clutter/clutter-input-device.c:263
+#: ../clutter/clutter-input-device.c:274
 msgid "The type of the device"
 msgstr "Тип устройства"
 
-#: ../clutter/clutter-input-device.c:278
+#: ../clutter/clutter-input-device.c:289
 msgid "Device Manager"
 msgstr "Диспетчер устройств"
 
-#: ../clutter/clutter-input-device.c:279
+#: ../clutter/clutter-input-device.c:290
 msgid "The device manager instance"
 msgstr "Экземпляр диспетчера устройств"
 
-#: ../clutter/clutter-input-device.c:292
+#: ../clutter/clutter-input-device.c:303
 msgid "Device Mode"
 msgstr "Режим устройства"
 
-#: ../clutter/clutter-input-device.c:293
+#: ../clutter/clutter-input-device.c:304
 msgid "The mode of the device"
 msgstr "Режим устройства"
 
-#: ../clutter/clutter-input-device.c:307
+#: ../clutter/clutter-input-device.c:318
 msgid "Has Cursor"
 msgstr "Есть курсор"
 
-#: ../clutter/clutter-input-device.c:308
+#: ../clutter/clutter-input-device.c:319
 msgid "Whether the device has a cursor"
 msgstr "Есть ли у устройства курсор"
 
-#: ../clutter/clutter-input-device.c:327
+#: ../clutter/clutter-input-device.c:338
 msgid "Whether the device is enabled"
 msgstr "Включено ли устройство"
 
-#: ../clutter/clutter-input-device.c:340
+#: ../clutter/clutter-input-device.c:351
 msgid "Number of Axes"
 msgstr "Количество осей"
 
-#: ../clutter/clutter-input-device.c:341
+#: ../clutter/clutter-input-device.c:352
 msgid "The number of axes on the device"
 msgstr "Количество осей в устройстве"
 
-#: ../clutter/clutter-input-device.c:356
+#: ../clutter/clutter-input-device.c:367
 msgid "The backend instance"
 msgstr "Экземпляр драйвера"
 
-#: ../clutter/clutter-interval.c:553
+#: ../clutter/clutter-interval.c:506
 msgid "Value Type"
 msgstr "Тип значения"
 
-#: ../clutter/clutter-interval.c:554
+#: ../clutter/clutter-interval.c:507
 msgid "The type of the values in the interval"
 msgstr "Тип значений в интервале"
 
-#: ../clutter/clutter-interval.c:569
+#: ../clutter/clutter-interval.c:522
 msgid "Initial Value"
 msgstr "Исходное значение"
 
-#: ../clutter/clutter-interval.c:570
+#: ../clutter/clutter-interval.c:523
 msgid "Initial value of the interval"
 msgstr "Исходное значение интервала"
 
-#: ../clutter/clutter-interval.c:584
+#: ../clutter/clutter-interval.c:537
 msgid "Final Value"
 msgstr "Конечное значение"
 
-#: ../clutter/clutter-interval.c:585
+#: ../clutter/clutter-interval.c:538
 msgid "Final value of the interval"
 msgstr "Конечное значение интервала"
 
@@ -1359,96 +1284,96 @@ msgstr "Менеджер, создавший эти данные"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1622
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Показывать частоту смены кадров"
 
-#: ../clutter/clutter-main.c:1624
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Частота смены кадров по умолчанию"
 
-#: ../clutter/clutter-main.c:1626
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Сделать все предупреждения фатальными"
 
-#: ../clutter/clutter-main.c:1629
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Направление текста"
 
-#: ../clutter/clutter-main.c:1632
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Отключить MIP-текстурирование текста"
 
-#: ../clutter/clutter-main.c:1635
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Использовать «нечёткий» отбор"
 
-#: ../clutter/clutter-main.c:1638
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Установить отладочные флаги Clutter"
 
-#: ../clutter/clutter-main.c:1640
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Сбросить отладочные флаги Clutter"
 
-#: ../clutter/clutter-main.c:1644
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Установить профилировочные флаги Clutter"
 
-#: ../clutter/clutter-main.c:1646
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Сбросить профилировочные флаги Clutter"
 
-#: ../clutter/clutter-main.c:1649
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Включить специальные возможности"
 
-#: ../clutter/clutter-main.c:1841
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Параметры Clutter"
 
-#: ../clutter/clutter-main.c:1842
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Показать параметры Clutter"
 
-#: ../clutter/clutter-pan-action.c:455
+#: ../clutter/clutter-pan-action.c:448
 msgid "Pan Axis"
 msgstr "Ось панорамирования"
 
-#: ../clutter/clutter-pan-action.c:456
+#: ../clutter/clutter-pan-action.c:449
 msgid "Constraints the panning to an axis"
 msgstr "Привязать панорамирование к оси"
 
-#: ../clutter/clutter-pan-action.c:470
+#: ../clutter/clutter-pan-action.c:463
 msgid "Interpolate"
 msgstr "Интерполировать"
 
-#: ../clutter/clutter-pan-action.c:471
+#: ../clutter/clutter-pan-action.c:464
 msgid "Whether interpolated events emission is enabled."
 msgstr "Включена ли отправка событий интерполяции."
 
-#: ../clutter/clutter-pan-action.c:487
+#: ../clutter/clutter-pan-action.c:480
 msgid "Deceleration"
 msgstr "Торможение"
 
-#: ../clutter/clutter-pan-action.c:488
+#: ../clutter/clutter-pan-action.c:481
 msgid "Rate at which the interpolated panning will decelerate in"
 msgstr "Скорость, к которой стремится интерполированное панорамирование"
 
-#: ../clutter/clutter-pan-action.c:505
+#: ../clutter/clutter-pan-action.c:498
 msgid "Initial acceleration factor"
 msgstr "Исходный коэффициент ускорения"
 
-#: ../clutter/clutter-pan-action.c:506
+#: ../clutter/clutter-pan-action.c:499
 msgid "Factor applied to the momentum when starting the interpolated phase"
 msgstr "Коэффициент, применяемый в момент запуска этапа интерполяции"
 
 #: ../clutter/clutter-path-constraint.c:212
-#: ../clutter/deprecated/clutter-behaviour-path.c:221
+#: ../clutter/deprecated/clutter-behaviour-path.c:225
 msgid "Path"
 msgstr "Траектория"
 
@@ -1460,88 +1385,88 @@ msgstr "Траектория используемая для ограничен
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr "Смещение вдоль траектории, между -1.0 и 2.0"
 
-#: ../clutter/clutter-property-transition.c:269
+#: ../clutter/clutter-property-transition.c:271
 msgid "Property Name"
 msgstr "Имя свойства"
 
-#: ../clutter/clutter-property-transition.c:270
+#: ../clutter/clutter-property-transition.c:272
 msgid "The name of the property to animate"
 msgstr "Имя свойства для анимации"
 
-#: ../clutter/clutter-script.c:464
+#: ../clutter/clutter-script.c:466
 msgid "Filename Set"
 msgstr "Имя файла"
 
-#: ../clutter/clutter-script.c:465
+#: ../clutter/clutter-script.c:467
 msgid "Whether the :filename property is set"
 msgstr "Установлено ли свойство :filename"
 
-#: ../clutter/clutter-script.c:479
-#: ../clutter/deprecated/clutter-texture.c:1080
+#: ../clutter/clutter-script.c:481
+#: ../clutter/deprecated/clutter-texture.c:1082
 msgid "Filename"
 msgstr "Имя файла"
 
-#: ../clutter/clutter-script.c:480
+#: ../clutter/clutter-script.c:482
 msgid "The path of the currently parsed file"
 msgstr "Путь к текущему разбираемому файлу"
 
-#: ../clutter/clutter-script.c:497
+#: ../clutter/clutter-script.c:499
 msgid "Translation Domain"
 msgstr "Домен переводов"
 
-#: ../clutter/clutter-script.c:498
+#: ../clutter/clutter-script.c:500
 msgid "The translation domain used to localize string"
 msgstr "Домен переводов, используемый для локализации строк"
 
-#: ../clutter/clutter-scroll-actor.c:189
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Режим прокрутки"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Направление прокрутки"
 
-#: ../clutter/clutter-settings.c:486
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Время двойного щелчка"
 
-#: ../clutter/clutter-settings.c:487
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr ""
 "Время между щелчками, необходимое для обнаружения множественного щелчка"
 
-#: ../clutter/clutter-settings.c:502
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Интервал двойного щелчка"
 
-#: ../clutter/clutter-settings.c:503
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr ""
 "Интервал между щелчками, необходимый для обнаружения множественного щелчка"
 
-#: ../clutter/clutter-settings.c:518
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Порог перетаскивания"
 
-#: ../clutter/clutter-settings.c:519
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr ""
 "Расстояние, на которое нужно передвинуть курсор, чтобы начать перетаскивание"
 
-#: ../clutter/clutter-settings.c:534 ../clutter/clutter-text.c:3437
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3369
 msgid "Font Name"
 msgstr "Название шрифта"
 
-#: ../clutter/clutter-settings.c:535
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr "Описание шрифта по умолчанию, которое может разобрать Pango"
 
-#: ../clutter/clutter-settings.c:550
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Сглаживание шрифта"
 
-#: ../clutter/clutter-settings.c:551
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1549,80 +1474,71 @@ msgstr ""
 "Использовать ли сглаживание (1 — использовать; 0 — не использовать; -1 — "
 "использовать настройки по умолчанию)"
 
-#: ../clutter/clutter-settings.c:567 ../clutter/clutter-settings.c:575
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "Разрешение шрифта"
 
-#: ../clutter/clutter-settings.c:568 ../clutter/clutter-settings.c:576
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "Разрешение шрифта, в 1024 * точек/дюйм, или -1, чтобы использовать "
 "разрешение по умолчанию"
 
-#: ../clutter/clutter-settings.c:592
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Хинтинг шрифта"
 
-#: ../clutter/clutter-settings.c:593
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Использовать ли хинтинг (1 — использовать; 0 — не использовать; -1 — "
 "использовать настройки по умолчанию)"
 
-#: ../clutter/clutter-settings.c:614
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Стиль хинтинга шрифта"
 
-#: ../clutter/clutter-settings.c:615
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Стиль хинтинга (hintnone, hintslight, hintmedium, hintfull)"
 
-#: ../clutter/clutter-settings.c:636
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Порядок субпиксельной обработки"
 
-#: ../clutter/clutter-settings.c:637
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Тип субпиксельного сглаживания (none, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:654
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr ""
 "Минимальная продолжительность, необходимая для распознавания жеста "
 "длительного нажатия"
 
-#: ../clutter/clutter-settings.c:661
-msgid "Window Scaling Factor"
-msgstr "Коэффициент масштабирования окон"
-
-#: ../clutter/clutter-settings.c:662
-#| msgid "Add an effect to be applied on the actor"
-msgid "The scaling factor to be applied to windows"
-msgstr "Коэффициент масштабирования, применяемый к окнам"
-
-#: ../clutter/clutter-settings.c:669
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Метка времени настройки шрифта"
 
-#: ../clutter/clutter-settings.c:670
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Метка времени текущей настройки fontconfig"
 
-#: ../clutter/clutter-settings.c:687
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Время отображения пароля"
 
-#: ../clutter/clutter-settings.c:688
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr "Как долго показывать последний введённый символ в скрытых полях"
 
-#: ../clutter/clutter-shader-effect.c:485
+#: ../clutter/clutter-shader-effect.c:486
 msgid "Shader Type"
 msgstr "Тип шейдера"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: ../clutter/clutter-shader-effect.c:487
 msgid "The type of shader used"
 msgstr "Тип используемого шейдера"
 
@@ -1650,704 +1566,760 @@ msgstr "Край источника, который должен быть скр
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Смещение в пикселах для применения к ограничению"
 
-#: ../clutter/clutter-stage.c:1899
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "На полный экран"
 
-#: ../clutter/clutter-stage.c:1900
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Должна ли главная сцена занимать весь экран"
 
-#: ../clutter/clutter-stage.c:1914
+#: ../clutter/clutter-stage.c:1910
 msgid "Offscreen"
 msgstr "За кадром"
 
-#: ../clutter/clutter-stage.c:1915
+#: ../clutter/clutter-stage.c:1911
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Должна ли главная сцена отрисовываться за кадром"
 
-#: ../clutter/clutter-stage.c:1927 ../clutter/clutter-text.c:3551
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3483
 msgid "Cursor Visible"
 msgstr "Видимый курсор"
 
-#: ../clutter/clutter-stage.c:1928
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Виден ли указатель мыши на главной сцене"
 
-#: ../clutter/clutter-stage.c:1942
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Пользователь может менять размер"
 
-#: ../clutter/clutter-stage.c:1943
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Может ли сцена изменять размер в зависимости от действий пользователя"
 
-#: ../clutter/clutter-stage.c:1958 ../clutter/deprecated/clutter-box.c:256
-#: ../clutter/deprecated/clutter-rectangle.c:270
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Цвет"
 
-#: ../clutter/clutter-stage.c:1959
+#: ../clutter/clutter-stage.c:1955
 msgid "The color of the stage"
 msgstr "Цвет сцены"
 
-#: ../clutter/clutter-stage.c:1974
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Перспектива"
 
-#: ../clutter/clutter-stage.c:1975
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Параметры проекции перспективы"
 
-#: ../clutter/clutter-stage.c:1990
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Заголовок"
 
-#: ../clutter/clutter-stage.c:1991
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Заголовок сцены"
 
-#: ../clutter/clutter-stage.c:2008
+#: ../clutter/clutter-stage.c:2004
 msgid "Use Fog"
 msgstr "Использовать туман"
 
-#: ../clutter/clutter-stage.c:2009
+#: ../clutter/clutter-stage.c:2005
 msgid "Whether to enable depth cueing"
 msgstr "Включить ли эффект тумана"
 
-#: ../clutter/clutter-stage.c:2025
+#: ../clutter/clutter-stage.c:2021
 msgid "Fog"
 msgstr "Туман"
 
-#: ../clutter/clutter-stage.c:2026
+#: ../clutter/clutter-stage.c:2022
 msgid "Settings for the depth cueing"
 msgstr "Параметры эффекта тумана"
 
-#: ../clutter/clutter-stage.c:2042
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Использовать полупрозрачность"
 
-#: ../clutter/clutter-stage.c:2043
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Учитывать ли альфа-слой цвета сцены"
 
-#: ../clutter/clutter-stage.c:2059
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Клавишный фокус"
 
-#: ../clutter/clutter-stage.c:2060
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "Актор, у которого в настоящий момент есть фокус"
 
-#: ../clutter/clutter-stage.c:2076
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Не очищать"
 
-#: ../clutter/clutter-stage.c:2077
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Должно ли сцена очищать своё содержимое"
 
-#: ../clutter/clutter-stage.c:2090
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Принимать фокус"
 
-#: ../clutter/clutter-stage.c:2091
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Должна ли сцена принимать фокус"
 
-#: ../clutter/clutter-text-buffer.c:347 ../clutter/clutter-text.c:3472
+#: ../clutter/clutter-table-layout.c:543
+msgid "Column Number"
+msgstr "Номер столбца"
+
+#: ../clutter/clutter-table-layout.c:544
+msgid "The column the widget resides in"
+msgstr "Столбец, в котором находится виджет"
+
+#: ../clutter/clutter-table-layout.c:551
+msgid "Row Number"
+msgstr "Номер строки"
+
+#: ../clutter/clutter-table-layout.c:552
+msgid "The row the widget resides in"
+msgstr "Строка, в которой находится виджет"
+
+#: ../clutter/clutter-table-layout.c:559
+msgid "Column Span"
+msgstr "Диапазон столбцов"
+
+#: ../clutter/clutter-table-layout.c:560
+msgid "The number of columns the widget should span"
+msgstr "Количество столбцов, занимаемых виджетом"
+
+#: ../clutter/clutter-table-layout.c:567
+msgid "Row Span"
+msgstr "Диапазон строк"
+
+#: ../clutter/clutter-table-layout.c:568
+msgid "The number of rows the widget should span"
+msgstr "Количество строк, занимаемых виджетом"
+
+#: ../clutter/clutter-table-layout.c:575
+msgid "Horizontal Expand"
+msgstr "Горизонтальное растяжение"
+
+#: ../clutter/clutter-table-layout.c:576
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr "Выделить дополнительное место по горизонтали для дочернего элемента "
+
+#: ../clutter/clutter-table-layout.c:582
+msgid "Vertical Expand"
+msgstr "Вертикальное растяжение"
+
+#: ../clutter/clutter-table-layout.c:583
+msgid "Allocate extra space for the child in vertical axis"
+msgstr "Выделить дополнительное место по вертикали для дочернего элемента "
+
+#: ../clutter/clutter-table-layout.c:1638
+msgid "Spacing between columns"
+msgstr "Расстояние между столбцами"
+
+#: ../clutter/clutter-table-layout.c:1652
+msgid "Spacing between rows"
+msgstr "Расстояние между строками"
+
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3404
 msgid "Text"
 msgstr "Текст"
 
-#: ../clutter/clutter-text-buffer.c:348
+#: ../clutter/clutter-text-buffer.c:352
 msgid "The contents of the buffer"
 msgstr "Содержимое буфера"
 
-#: ../clutter/clutter-text-buffer.c:361
+#: ../clutter/clutter-text-buffer.c:365
 msgid "Text length"
 msgstr "Длина текста"
 
-#: ../clutter/clutter-text-buffer.c:362
+#: ../clutter/clutter-text-buffer.c:366
 msgid "Length of the text currently in the buffer"
 msgstr "Длина текста, находящегося в буфере"
 
-#: ../clutter/clutter-text-buffer.c:375
+#: ../clutter/clutter-text-buffer.c:379
 msgid "Maximum length"
 msgstr "Максимальная длина"
 
-#: ../clutter/clutter-text-buffer.c:376
+#: ../clutter/clutter-text-buffer.c:380
 msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr ""
 "Максимальное количество символов для этого поля. Ноль, если максимум не "
 "указан."
 
-#: ../clutter/clutter-text.c:3419
+#: ../clutter/clutter-text.c:3351
 msgid "Buffer"
 msgstr "Буфер"
 
-#: ../clutter/clutter-text.c:3420
+#: ../clutter/clutter-text.c:3352
 msgid "The buffer for the text"
 msgstr "Буфер для текста"
 
-#: ../clutter/clutter-text.c:3438
+#: ../clutter/clutter-text.c:3370
 msgid "The font to be used by the text"
 msgstr "Шрифт, используемый для текста"
 
-#: ../clutter/clutter-text.c:3455
+#: ../clutter/clutter-text.c:3387
 msgid "Font Description"
 msgstr "Описание шрифта"
 
-#: ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-text.c:3388
 msgid "The font description to be used"
 msgstr "Описание используемого шрифта"
 
-#: ../clutter/clutter-text.c:3473
+#: ../clutter/clutter-text.c:3405
 msgid "The text to render"
 msgstr "Текст для отрисовки"
 
-#: ../clutter/clutter-text.c:3487
+#: ../clutter/clutter-text.c:3419
 msgid "Font Color"
 msgstr "Цвет шрифта"
 
-#: ../clutter/clutter-text.c:3488
+#: ../clutter/clutter-text.c:3420
 msgid "Color of the font used by the text"
 msgstr "Цвет шрифта, используемого для текста"
 
-#: ../clutter/clutter-text.c:3503
+#: ../clutter/clutter-text.c:3435
 msgid "Editable"
 msgstr "Редактирование"
 
-#: ../clutter/clutter-text.c:3504
+#: ../clutter/clutter-text.c:3436
 msgid "Whether the text is editable"
 msgstr "Можно ли изменить текст"
 
-#: ../clutter/clutter-text.c:3519
+#: ../clutter/clutter-text.c:3451
 msgid "Selectable"
 msgstr "Выделение"
 
-#: ../clutter/clutter-text.c:3520
+#: ../clutter/clutter-text.c:3452
 msgid "Whether the text is selectable"
 msgstr "Можно ли выделять текст"
 
-#: ../clutter/clutter-text.c:3534
+#: ../clutter/clutter-text.c:3466
 msgid "Activatable"
 msgstr "Активация"
 
-#: ../clutter/clutter-text.c:3535
+#: ../clutter/clutter-text.c:3467
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Высылает ли нажатие return сигнал активации"
 
-#: ../clutter/clutter-text.c:3552
+#: ../clutter/clutter-text.c:3484
 msgid "Whether the input cursor is visible"
 msgstr "Является ли курсор ввода видимым"
 
-#: ../clutter/clutter-text.c:3566 ../clutter/clutter-text.c:3567
+#: ../clutter/clutter-text.c:3498 ../clutter/clutter-text.c:3499
 msgid "Cursor Color"
 msgstr "Цвет курсора"
 
-#: ../clutter/clutter-text.c:3582
+#: ../clutter/clutter-text.c:3514
 msgid "Cursor Color Set"
 msgstr "Цвет курсора"
 
-#: ../clutter/clutter-text.c:3583
+#: ../clutter/clutter-text.c:3515
 msgid "Whether the cursor color has been set"
 msgstr "Установлен ли цвет курсора"
 
-#: ../clutter/clutter-text.c:3598
+#: ../clutter/clutter-text.c:3530
 msgid "Cursor Size"
 msgstr "Размер курсора"
 
-#: ../clutter/clutter-text.c:3599
+#: ../clutter/clutter-text.c:3531
 msgid "The width of the cursor, in pixels"
 msgstr "Ширина курсора в пикселах"
 
-#: ../clutter/clutter-text.c:3615 ../clutter/clutter-text.c:3633
+#: ../clutter/clutter-text.c:3547 ../clutter/clutter-text.c:3565
 msgid "Cursor Position"
 msgstr "Положение курсора"
 
-#: ../clutter/clutter-text.c:3616 ../clutter/clutter-text.c:3634
+#: ../clutter/clutter-text.c:3548 ../clutter/clutter-text.c:3566
 msgid "The cursor position"
 msgstr "Положение курсора"
 
-#: ../clutter/clutter-text.c:3649
+#: ../clutter/clutter-text.c:3581
 msgid "Selection-bound"
 msgstr "Граница выделения"
 
-#: ../clutter/clutter-text.c:3650
+#: ../clutter/clutter-text.c:3582
 msgid "The cursor position of the other end of the selection"
 msgstr "Положение курсора другого конца выделения"
 
-#: ../clutter/clutter-text.c:3665 ../clutter/clutter-text.c:3666
+#: ../clutter/clutter-text.c:3597 ../clutter/clutter-text.c:3598
 msgid "Selection Color"
 msgstr "Цвет выделения"
 
-#: ../clutter/clutter-text.c:3681
+#: ../clutter/clutter-text.c:3613
 msgid "Selection Color Set"
 msgstr "Цвет выделения"
 
-#: ../clutter/clutter-text.c:3682
+#: ../clutter/clutter-text.c:3614
 msgid "Whether the selection color has been set"
 msgstr "Установлен ли цвет выделения"
 
-#: ../clutter/clutter-text.c:3697
+#: ../clutter/clutter-text.c:3629
 msgid "Attributes"
 msgstr "Атрибуты"
 
-#: ../clutter/clutter-text.c:3698
+#: ../clutter/clutter-text.c:3630
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Список стилевых атрибутов, применяемых к содержимому актору"
 
-#: ../clutter/clutter-text.c:3720
+#: ../clutter/clutter-text.c:3652
 msgid "Use markup"
 msgstr "Использовать разметку"
 
-#: ../clutter/clutter-text.c:3721
+#: ../clutter/clutter-text.c:3653
 msgid "Whether or not the text includes Pango markup"
 msgstr "Включает ли текст разметку Pango"
 
-#: ../clutter/clutter-text.c:3737
+#: ../clutter/clutter-text.c:3669
 msgid "Line wrap"
 msgstr "Перенос строк"
 
-#: ../clutter/clutter-text.c:3738
+#: ../clutter/clutter-text.c:3670
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Если установлено, то будет включён перенос текста"
 
-#: ../clutter/clutter-text.c:3753
+#: ../clutter/clutter-text.c:3685
 msgid "Line wrap mode"
 msgstr "Режим переноса строк"
 
-#: ../clutter/clutter-text.c:3754
+#: ../clutter/clutter-text.c:3686
 msgid "Control how line-wrapping is done"
 msgstr "Управление переносом строк"
 
-#: ../clutter/clutter-text.c:3769
+#: ../clutter/clutter-text.c:3701
 msgid "Ellipsize"
 msgstr "Усечь"
 
-#: ../clutter/clutter-text.c:3770
+#: ../clutter/clutter-text.c:3702
 msgid "The preferred place to ellipsize the string"
 msgstr "Предпочтительное место для усечения строки"
 
-#: ../clutter/clutter-text.c:3786
+#: ../clutter/clutter-text.c:3718
 msgid "Line Alignment"
 msgstr "Выравнивание строк"
 
-#: ../clutter/clutter-text.c:3787
+#: ../clutter/clutter-text.c:3719
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Предпочтительное выравнивание строки, многострочного текста"
 
-#: ../clutter/clutter-text.c:3803
+#: ../clutter/clutter-text.c:3735
 msgid "Justify"
 msgstr "По ширине"
 
-#: ../clutter/clutter-text.c:3804
+#: ../clutter/clutter-text.c:3736
 msgid "Whether the text should be justified"
 msgstr "Должен ли текст растягиваться по ширине"
 
-#: ../clutter/clutter-text.c:3819
+#: ../clutter/clutter-text.c:3751
 msgid "Password Character"
 msgstr "Парольный символ"
 
-#: ../clutter/clutter-text.c:3820
+#: ../clutter/clutter-text.c:3752
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr "Использовать этот символ для отображения содержимого актора"
 
-#: ../clutter/clutter-text.c:3834
+#: ../clutter/clutter-text.c:3766
 msgid "Max Length"
 msgstr "Макс. длина"
 
-#: ../clutter/clutter-text.c:3835
+#: ../clutter/clutter-text.c:3767
 msgid "Maximum length of the text inside the actor"
 msgstr "Максимальная длина текста внутри актора"
 
-#: ../clutter/clutter-text.c:3858
+#: ../clutter/clutter-text.c:3790
 msgid "Single Line Mode"
 msgstr "Режим одиночной строки"
 
-#: ../clutter/clutter-text.c:3859
+#: ../clutter/clutter-text.c:3791
 msgid "Whether the text should be a single line"
 msgstr "Должен ли текст записывать в одну строку"
 
-#: ../clutter/clutter-text.c:3873 ../clutter/clutter-text.c:3874
+#: ../clutter/clutter-text.c:3805 ../clutter/clutter-text.c:3806
 msgid "Selected Text Color"
 msgstr "Цвет выделенного текста"
 
-#: ../clutter/clutter-text.c:3889
+#: ../clutter/clutter-text.c:3821
 msgid "Selected Text Color Set"
 msgstr "Цвет выделенного текста"
 
-#: ../clutter/clutter-text.c:3890
+#: ../clutter/clutter-text.c:3822
 msgid "Whether the selected text color has been set"
 msgstr "Установлен ли цвет для выделенного текста"
 
-#: ../clutter/clutter-timeline.c:593
-#: ../clutter/deprecated/clutter-animation.c:557
+#: ../clutter/clutter-timeline.c:561
+#: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Зациклить"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Должна ли временная шкала автоматически перезапускаться"
 
-#: ../clutter/clutter-timeline.c:608
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Задержка"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Задержка перед запуском"
 
-#: ../clutter/clutter-timeline.c:624
-#: ../clutter/deprecated/clutter-animation.c:541
-#: ../clutter/deprecated/clutter-animator.c:1801
+#: ../clutter/clutter-timeline.c:592
+#: ../clutter/deprecated/clutter-animation.c:544
+#: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
-#: ../clutter/deprecated/clutter-state.c:1517
+#: ../clutter/deprecated/clutter-state.c:1523
 msgid "Duration"
 msgstr "Длительность"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Длина временной шкалы в миллисекундах"
 
-#: ../clutter/clutter-timeline.c:640
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:521
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:330
+#: ../clutter/clutter-timeline.c:608
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Направление"
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Направление временной шкалы"
 
-#: ../clutter/clutter-timeline.c:656
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Автоматический переворот"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Менять ли направление на обратное при достижении конца"
 
-#: ../clutter/clutter-timeline.c:675
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Количество повторов"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Сколько раз должна повторяться временная шкала"
 
-#: ../clutter/clutter-timeline.c:690
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Режим выполнения"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Как временная шкала вычисляет выполнение"
 
-#: ../clutter/clutter-transition.c:244
+#: ../clutter/clutter-transition.c:246
 msgid "Interval"
 msgstr "Интервал"
 
-#: ../clutter/clutter-transition.c:245
+#: ../clutter/clutter-transition.c:247
 msgid "The interval of values to transition"
 msgstr "Интервал значений для перехода"
 
-#: ../clutter/clutter-transition.c:259
+#: ../clutter/clutter-transition.c:261
 msgid "Animatable"
 msgstr "Анимационный"
 
-#: ../clutter/clutter-transition.c:260
+#: ../clutter/clutter-transition.c:262
 msgid "The animatable object"
 msgstr "Анимационный объект"
 
-#: ../clutter/clutter-transition.c:281
+#: ../clutter/clutter-transition.c:283
 msgid "Remove on Complete"
 msgstr "Убрать после завершения"
 
-#: ../clutter/clutter-transition.c:282
+#: ../clutter/clutter-transition.c:284
 msgid "Detach the transition when completed"
 msgstr "Отсоединить переход после завершения"
 
-#: ../clutter/clutter-zoom-action.c:365
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Ось масштабирования"
 
-#: ../clutter/clutter-zoom-action.c:366
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Привязать масштабирование к оси"
 
-#: ../clutter/deprecated/clutter-alpha.c:354
-#: ../clutter/deprecated/clutter-animation.c:572
-#: ../clutter/deprecated/clutter-animator.c:1818
+#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-animation.c:575
+#: ../clutter/deprecated/clutter-animator.c:1821
 msgid "Timeline"
 msgstr "Временная шкала"
 
-#: ../clutter/deprecated/clutter-alpha.c:355
+#: ../clutter/deprecated/clutter-alpha.c:356
 msgid "Timeline used by the alpha"
 msgstr "Временная шкала, используемая альфа-функцией"
 
-#: ../clutter/deprecated/clutter-alpha.c:371
+#: ../clutter/deprecated/clutter-alpha.c:372
 msgid "Alpha value"
 msgstr "Значение альфа-функции"
 
-#: ../clutter/deprecated/clutter-alpha.c:372
+#: ../clutter/deprecated/clutter-alpha.c:373
 msgid "Alpha value as computed by the alpha"
 msgstr "Значение, вычисленное альфа-функцией"
 
-#: ../clutter/deprecated/clutter-alpha.c:393
-#: ../clutter/deprecated/clutter-animation.c:525
+#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-animation.c:528
 msgid "Mode"
 msgstr "Режим"
 
-#: ../clutter/deprecated/clutter-alpha.c:394
+#: ../clutter/deprecated/clutter-alpha.c:395
 msgid "Progress mode"
 msgstr "Режим выполнения"
 
-#: ../clutter/deprecated/clutter-animation.c:508
+#: ../clutter/deprecated/clutter-animation.c:511
 msgid "Object"
 msgstr "Объект"
 
-#: ../clutter/deprecated/clutter-animation.c:509
+#: ../clutter/deprecated/clutter-animation.c:512
 msgid "Object to which the animation applies"
 msgstr "Объект, к которому применяется анимация"
 
-#: ../clutter/deprecated/clutter-animation.c:526
+#: ../clutter/deprecated/clutter-animation.c:529
 msgid "The mode of the animation"
 msgstr "Режим анимации"
 
-#: ../clutter/deprecated/clutter-animation.c:542
+#: ../clutter/deprecated/clutter-animation.c:545
 msgid "Duration of the animation, in milliseconds"
 msgstr "Длительность анимации, в миллисекундах"
 
-#: ../clutter/deprecated/clutter-animation.c:558
+#: ../clutter/deprecated/clutter-animation.c:561
 msgid "Whether the animation should loop"
 msgstr "Зациклить ли анимацию"
 
-#: ../clutter/deprecated/clutter-animation.c:573
+#: ../clutter/deprecated/clutter-animation.c:576
 msgid "The timeline used by the animation"
 msgstr "Временная шкала, используемая для анимации"
 
-#: ../clutter/deprecated/clutter-animation.c:589
-#: ../clutter/deprecated/clutter-behaviour.c:237
+#: ../clutter/deprecated/clutter-animation.c:592
+#: ../clutter/deprecated/clutter-behaviour.c:241
 msgid "Alpha"
 msgstr "Альфа-функция"
 
-#: ../clutter/deprecated/clutter-animation.c:590
+#: ../clutter/deprecated/clutter-animation.c:593
 msgid "The alpha used by the animation"
 msgstr "Альфа-функция, используемая анимацией"
 
-#: ../clutter/deprecated/clutter-animator.c:1802
+#: ../clutter/deprecated/clutter-animator.c:1805
 msgid "The duration of the animation"
 msgstr "Продолжительность анимации"
 
-#: ../clutter/deprecated/clutter-animator.c:1819
+#: ../clutter/deprecated/clutter-animator.c:1822
 msgid "The timeline of the animation"
 msgstr "Временная шкала анимации"
 
-#: ../clutter/deprecated/clutter-behaviour.c:238
+#: ../clutter/deprecated/clutter-behaviour.c:242
 msgid "Alpha Object to drive the behaviour"
 msgstr "Объект альфа-функции для управления поведением"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:180
+#: ../clutter/deprecated/clutter-behaviour-depth.c:182
 msgid "Start Depth"
 msgstr "Начальная глубина"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:181
+#: ../clutter/deprecated/clutter-behaviour-depth.c:183
 msgid "Initial depth to apply"
 msgstr "Начальная глубина"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:196
+#: ../clutter/deprecated/clutter-behaviour-depth.c:198
 msgid "End Depth"
 msgstr "Конечная глубина"
 
-#: ../clutter/deprecated/clutter-behaviour-depth.c:197
+#: ../clutter/deprecated/clutter-behaviour-depth.c:199
 msgid "Final depth to apply"
 msgstr "Конечная глубина"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:394
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:401
 msgid "Start Angle"
 msgstr "Начальный угол"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:395
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:277
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:402
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:284
 msgid "Initial angle"
 msgstr "Начальный угол"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:410
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:417
 msgid "End Angle"
 msgstr "Конечный угол"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:411
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:295
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:418
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:302
 msgid "Final angle"
 msgstr "Конечный угол"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:426
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:433
 msgid "Angle x tilt"
 msgstr "Угол наклона вокруг оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:427
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:434
 msgid "Tilt of the ellipse around x axis"
 msgstr "Наклон эллипса вокруг оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:442
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:449
 msgid "Angle y tilt"
 msgstr "Угол наклона вокруг оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:443
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:450
 msgid "Tilt of the ellipse around y axis"
 msgstr "Наклон эллипса вокруг оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:458
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:465
 msgid "Angle z tilt"
 msgstr "Угол наклона вокруг оси Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:459
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:466
 msgid "Tilt of the ellipse around z axis"
 msgstr "Наклон эллипса вокруг оси Z"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:475
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:482
 msgid "Width of the ellipse"
 msgstr "Ширина эллипса"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:491
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:498
 msgid "Height of ellipse"
 msgstr "Высота эллипса"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:506
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:513
 msgid "Center"
 msgstr "Центр"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:507
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:514
 msgid "Center of ellipse"
 msgstr "Центр эллипса"
 
-#: ../clutter/deprecated/clutter-behaviour-ellipse.c:522
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:331
+#: ../clutter/deprecated/clutter-behaviour-ellipse.c:529
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:338
 msgid "Direction of rotation"
 msgstr "Направление вращения"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:177
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:184
 msgid "Opacity Start"
 msgstr "Начальная непрозрачность"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:178
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:185
 msgid "Initial opacity level"
 msgstr "Начальный уровень непрозрачности"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:195
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:202
 msgid "Opacity End"
 msgstr "Конечная непрозрачность"
 
-#: ../clutter/deprecated/clutter-behaviour-opacity.c:196
+#: ../clutter/deprecated/clutter-behaviour-opacity.c:203
 msgid "Final opacity level"
 msgstr "Конечный уровень непрозрачности"
 
-#: ../clutter/deprecated/clutter-behaviour-path.c:222
+#: ../clutter/deprecated/clutter-behaviour-path.c:226
 msgid "The ClutterPath object representing the path to animate along"
 msgstr "Объект ClutterPath, представляющий траекторию для анимации"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:276
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:283
 msgid "Angle Begin"
 msgstr "Начальный угол"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:294
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:301
 msgid "Angle End"
 msgstr "Конечный угол"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:312
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:319
 msgid "Axis"
 msgstr "Ось"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:313
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:320
 msgid "Axis of rotation"
 msgstr "Ось вращения"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:348
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:355
 msgid "Center X"
 msgstr "Центр по оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:349
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:356
 msgid "X coordinate of the center of rotation"
 msgstr "Координата центра вращения по оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:366
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:373
 msgid "Center Y"
 msgstr "Центр по оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:367
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:374
 msgid "Y coordinate of the center of rotation"
 msgstr "Координата центра вращения по оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:384
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:391
 msgid "Center Z"
 msgstr "Центр по оси Z"
 
-#: ../clutter/deprecated/clutter-behaviour-rotate.c:385
+#: ../clutter/deprecated/clutter-behaviour-rotate.c:392
 msgid "Z coordinate of the center of rotation"
 msgstr "Координата центра вращения по оси Z"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:222
+#: ../clutter/deprecated/clutter-behaviour-scale.c:226
 msgid "X Start Scale"
 msgstr "Начальный масштаб по оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:223
+#: ../clutter/deprecated/clutter-behaviour-scale.c:227
 msgid "Initial scale on the X axis"
 msgstr "Начальный масштаб по оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:241
+#: ../clutter/deprecated/clutter-behaviour-scale.c:245
 msgid "X End Scale"
 msgstr "Конечный масштаб по оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:242
+#: ../clutter/deprecated/clutter-behaviour-scale.c:246
 msgid "Final scale on the X axis"
 msgstr "Конечный масштаб по оси X"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:260
+#: ../clutter/deprecated/clutter-behaviour-scale.c:264
 msgid "Y Start Scale"
 msgstr "Начальный масштаб по оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:261
+#: ../clutter/deprecated/clutter-behaviour-scale.c:265
 msgid "Initial scale on the Y axis"
 msgstr "Начальный масштаб по оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:279
+#: ../clutter/deprecated/clutter-behaviour-scale.c:283
 msgid "Y End Scale"
 msgstr "Конечный масштаб по оси Y"
 
-#: ../clutter/deprecated/clutter-behaviour-scale.c:280
+#: ../clutter/deprecated/clutter-behaviour-scale.c:284
 msgid "Final scale on the Y axis"
 msgstr "Конечный масштаб по оси Y"
 
-#: ../clutter/deprecated/clutter-box.c:257
+#: ../clutter/deprecated/clutter-box.c:261
 msgid "The background color of the box"
 msgstr "Цвет фона ящика"
 
-#: ../clutter/deprecated/clutter-box.c:270
+#: ../clutter/deprecated/clutter-box.c:274
 msgid "Color Set"
 msgstr "Цвет"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:593
+#: ../clutter/deprecated/clutter-cairo-texture.c:597
 msgid "Surface Width"
 msgstr "Ширина поверхности"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:594
+#: ../clutter/deprecated/clutter-cairo-texture.c:598
 msgid "The width of the Cairo surface"
 msgstr "Ширина поверхности Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:611
+#: ../clutter/deprecated/clutter-cairo-texture.c:615
 msgid "Surface Height"
 msgstr "Высота поверхности"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:612
+#: ../clutter/deprecated/clutter-cairo-texture.c:616
 msgid "The height of the Cairo surface"
 msgstr "Высота поверхности Cairo"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:632
+#: ../clutter/deprecated/clutter-cairo-texture.c:636
 msgid "Auto Resize"
 msgstr "Автоматически изменять размер"
 
-#: ../clutter/deprecated/clutter-cairo-texture.c:633
+#: ../clutter/deprecated/clutter-cairo-texture.c:637
 msgid "Whether the surface should match the allocation"
 msgstr "Должна ли поверхность совпадать с размещением"
 
@@ -2419,235 +2391,179 @@ msgstr "Уровень заполнения буфера"
 msgid "The duration of the stream, in seconds"
 msgstr "Продолжительность потока в секундах"
 
-#: ../clutter/deprecated/clutter-rectangle.c:271
+#: ../clutter/deprecated/clutter-rectangle.c:274
 msgid "The color of the rectangle"
 msgstr "Цвет прямоугольника"
 
-#: ../clutter/deprecated/clutter-rectangle.c:284
+#: ../clutter/deprecated/clutter-rectangle.c:287
 msgid "Border Color"
 msgstr "Цвет рамки"
 
-#: ../clutter/deprecated/clutter-rectangle.c:285
+#: ../clutter/deprecated/clutter-rectangle.c:288
 msgid "The color of the border of the rectangle"
 msgstr "Цвет рамки прямоугольника"
 
-#: ../clutter/deprecated/clutter-rectangle.c:300
+#: ../clutter/deprecated/clutter-rectangle.c:303
 msgid "Border Width"
 msgstr "Ширина рамки"
 
-#: ../clutter/deprecated/clutter-rectangle.c:301
+#: ../clutter/deprecated/clutter-rectangle.c:304
 msgid "The width of the border of the rectangle"
 msgstr "Ширина рамки прямоугольника"
 
-#: ../clutter/deprecated/clutter-rectangle.c:315
+#: ../clutter/deprecated/clutter-rectangle.c:318
 msgid "Has Border"
 msgstr "Есть рамка"
 
-#: ../clutter/deprecated/clutter-rectangle.c:316
+#: ../clutter/deprecated/clutter-rectangle.c:319
 msgid "Whether the rectangle should have a border"
 msgstr "Есть ли у прямоугольника рамка"
 
-#: ../clutter/deprecated/clutter-shader.c:257
+#: ../clutter/deprecated/clutter-shader.c:261
 msgid "Vertex Source"
 msgstr "Источник вершины"
 
-#: ../clutter/deprecated/clutter-shader.c:258
+#: ../clutter/deprecated/clutter-shader.c:262
 msgid "Source of vertex shader"
 msgstr "Источник вершинного шейдера"
 
-#: ../clutter/deprecated/clutter-shader.c:274
+#: ../clutter/deprecated/clutter-shader.c:278
 msgid "Fragment Source"
 msgstr "Источник фрагмента"
 
-#: ../clutter/deprecated/clutter-shader.c:275
+#: ../clutter/deprecated/clutter-shader.c:279
 msgid "Source of fragment shader"
 msgstr "Источник фрагментного шейдера"
 
-#: ../clutter/deprecated/clutter-shader.c:292
+#: ../clutter/deprecated/clutter-shader.c:296
 msgid "Compiled"
 msgstr "Скомпилированный"
 
-#: ../clutter/deprecated/clutter-shader.c:293
+#: ../clutter/deprecated/clutter-shader.c:297
 msgid "Whether the shader is compiled and linked"
 msgstr "Скомпилирован и скомпонован ли шейдер"
 
-#: ../clutter/deprecated/clutter-shader.c:310
+#: ../clutter/deprecated/clutter-shader.c:314
 msgid "Whether the shader is enabled"
 msgstr "Включён ли шейдер"
 
-#: ../clutter/deprecated/clutter-shader.c:521
+#: ../clutter/deprecated/clutter-shader.c:525
 #, c-format
 msgid "%s compilation failed: %s"
 msgstr "Сбой при компиляции %s: %s"
 
-#: ../clutter/deprecated/clutter-shader.c:522
+#: ../clutter/deprecated/clutter-shader.c:526
 msgid "Vertex shader"
 msgstr "Вершинный шейдер"
 
-#: ../clutter/deprecated/clutter-shader.c:523
+#: ../clutter/deprecated/clutter-shader.c:527
 msgid "Fragment shader"
 msgstr "Фрагментный шейдер"
 
-#: ../clutter/deprecated/clutter-state.c:1499
+#: ../clutter/deprecated/clutter-state.c:1505
 msgid "State"
 msgstr "Состояние"
 
-#: ../clutter/deprecated/clutter-state.c:1500
+#: ../clutter/deprecated/clutter-state.c:1506
 msgid "Currently set state, (transition to this state might not be complete)"
 msgstr ""
 "Текущее установленное состояние (переход к этому состоянию может быть "
 "неплоным)"
 
-#: ../clutter/deprecated/clutter-state.c:1518
+#: ../clutter/deprecated/clutter-state.c:1524
 msgid "Default transition duration"
 msgstr "Продолжительность перехода по умолчанию"
 
-#: ../clutter/deprecated/clutter-table-layout.c:543
-msgid "Column Number"
-msgstr "Номер столбца"
-
-#: ../clutter/deprecated/clutter-table-layout.c:544
-msgid "The column the widget resides in"
-msgstr "Столбец, в котором находится виджет"
-
-#: ../clutter/deprecated/clutter-table-layout.c:551
-msgid "Row Number"
-msgstr "Номер строки"
-
-#: ../clutter/deprecated/clutter-table-layout.c:552
-msgid "The row the widget resides in"
-msgstr "Строка, в которой находится виджет"
-
-#: ../clutter/deprecated/clutter-table-layout.c:559
-msgid "Column Span"
-msgstr "Диапазон столбцов"
-
-#: ../clutter/deprecated/clutter-table-layout.c:560
-msgid "The number of columns the widget should span"
-msgstr "Количество столбцов, занимаемых виджетом"
-
-#: ../clutter/deprecated/clutter-table-layout.c:567
-msgid "Row Span"
-msgstr "Диапазон строк"
-
-#: ../clutter/deprecated/clutter-table-layout.c:568
-msgid "The number of rows the widget should span"
-msgstr "Количество строк, занимаемых виджетом"
-
-#: ../clutter/deprecated/clutter-table-layout.c:575
-msgid "Horizontal Expand"
-msgstr "Горизонтальное растяжение"
-
-#: ../clutter/deprecated/clutter-table-layout.c:576
-msgid "Allocate extra space for the child in horizontal axis"
-msgstr "Выделить дополнительное место по горизонтали для дочернего элемента "
-
-#: ../clutter/deprecated/clutter-table-layout.c:582
-msgid "Vertical Expand"
-msgstr "Вертикальное растяжение"
-
-#: ../clutter/deprecated/clutter-table-layout.c:583
-msgid "Allocate extra space for the child in vertical axis"
-msgstr "Выделить дополнительное место по вертикали для дочернего элемента "
-
-#: ../clutter/deprecated/clutter-table-layout.c:1638
-msgid "Spacing between columns"
-msgstr "Расстояние между столбцами"
-
-#: ../clutter/deprecated/clutter-table-layout.c:1654
-msgid "Spacing between rows"
-msgstr "Расстояние между строками"
-
-#: ../clutter/deprecated/clutter-texture.c:992
+#: ../clutter/deprecated/clutter-texture.c:994
 msgid "Sync size of actor"
 msgstr "Синхронизировать размер актора"
 
-#: ../clutter/deprecated/clutter-texture.c:993
+#: ../clutter/deprecated/clutter-texture.c:995
 msgid "Auto sync size of actor to underlying pixbuf dimensions"
 msgstr ""
 "Автоматически синхронизировать размер актора под расположенный за ним "
 "пиксельный буфер"
 
-#: ../clutter/deprecated/clutter-texture.c:1000
+#: ../clutter/deprecated/clutter-texture.c:1002
 msgid "Disable Slicing"
 msgstr "Отключить расщепление"
 
-#: ../clutter/deprecated/clutter-texture.c:1001
+#: ../clutter/deprecated/clutter-texture.c:1003
 msgid ""
 "Forces the underlying texture to be singular and not made of smaller space "
 "saving individual textures"
 msgstr "Запрещает разбиение текстуры на отдельные более мелкие текстуры"
 
-#: ../clutter/deprecated/clutter-texture.c:1010
+#: ../clutter/deprecated/clutter-texture.c:1012
 msgid "Tile Waste"
 msgstr "Остаток черепицы"
 
-#: ../clutter/deprecated/clutter-texture.c:1011
+#: ../clutter/deprecated/clutter-texture.c:1013
 msgid "Maximum waste area of a sliced texture"
 msgstr "Максимальная бесполезная область расщеплённой текстуры"
 
-#: ../clutter/deprecated/clutter-texture.c:1019
+#: ../clutter/deprecated/clutter-texture.c:1021
 msgid "Horizontal repeat"
 msgstr "Повторять по горизонтали"
 
-#: ../clutter/deprecated/clutter-texture.c:1020
+#: ../clutter/deprecated/clutter-texture.c:1022
 msgid "Repeat the contents rather than scaling them horizontally"
 msgstr "Повторять содержимое вместо масштабирования по горизонтали"
 
-#: ../clutter/deprecated/clutter-texture.c:1027
+#: ../clutter/deprecated/clutter-texture.c:1029
 msgid "Vertical repeat"
 msgstr "Повторять по вертикали"
 
-#: ../clutter/deprecated/clutter-texture.c:1028
+#: ../clutter/deprecated/clutter-texture.c:1030
 msgid "Repeat the contents rather than scaling them vertically"
 msgstr "Повторять содержимое вместо масштабирования по вертикали"
 
-#: ../clutter/deprecated/clutter-texture.c:1035
+#: ../clutter/deprecated/clutter-texture.c:1037
 msgid "Filter Quality"
 msgstr "Качество фильтра"
 
-#: ../clutter/deprecated/clutter-texture.c:1036
+#: ../clutter/deprecated/clutter-texture.c:1038
 msgid "Rendering quality used when drawing the texture"
 msgstr "Качество отрисовки, используемое для рисования текстур"
 
-#: ../clutter/deprecated/clutter-texture.c:1044
+#: ../clutter/deprecated/clutter-texture.c:1046
 msgid "Pixel Format"
 msgstr "Пиксельный формат"
 
-#: ../clutter/deprecated/clutter-texture.c:1045
+#: ../clutter/deprecated/clutter-texture.c:1047
 msgid "The Cogl pixel format to use"
 msgstr "Используемый пиксельный формат Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1053
-#: ../clutter/wayland/clutter-wayland-surface.c:445
+#: ../clutter/deprecated/clutter-texture.c:1055
+#: ../clutter/wayland/clutter-wayland-surface.c:449
 msgid "Cogl Texture"
 msgstr "Текстура Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1054
-#: ../clutter/wayland/clutter-wayland-surface.c:446
+#: ../clutter/deprecated/clutter-texture.c:1056
+#: ../clutter/wayland/clutter-wayland-surface.c:450
 msgid "The underlying Cogl texture handle used to draw this actor"
 msgstr ""
 "Дескриптор нижележащей текстуры Cogl, используемой для отрисовки этого актора"
 
-#: ../clutter/deprecated/clutter-texture.c:1061
+#: ../clutter/deprecated/clutter-texture.c:1063
 msgid "Cogl Material"
 msgstr "Материал Cogl"
 
-#: ../clutter/deprecated/clutter-texture.c:1062
+#: ../clutter/deprecated/clutter-texture.c:1064
 msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 "Дескриптор нижележащего материала Cogl, используемого для отрисовки этого "
 "актора"
 
-#: ../clutter/deprecated/clutter-texture.c:1081
+#: ../clutter/deprecated/clutter-texture.c:1083
 msgid "The path of the file containing the image data"
 msgstr "Путь к файлу, содержащему данные изображения"
 
-#: ../clutter/deprecated/clutter-texture.c:1088
+#: ../clutter/deprecated/clutter-texture.c:1090
 msgid "Keep Aspect Ratio"
 msgstr "Сохранять соотношение сторон"
 
-#: ../clutter/deprecated/clutter-texture.c:1089
+#: ../clutter/deprecated/clutter-texture.c:1091
 msgid ""
 "Keep the aspect ratio of the texture when requesting the preferred width or "
 "height"
@@ -2655,22 +2571,22 @@ msgstr ""
 "Сохранять соотношение сторон текстуры, при запросе предпочтительной ширины и "
 "высоты"
 
-#: ../clutter/deprecated/clutter-texture.c:1117
+#: ../clutter/deprecated/clutter-texture.c:1119
 msgid "Load asynchronously"
 msgstr "Загружать асинхронно"
 
-#: ../clutter/deprecated/clutter-texture.c:1118
+#: ../clutter/deprecated/clutter-texture.c:1120
 msgid ""
 "Load files inside a thread to avoid blocking when loading images from disk"
 msgstr ""
 "Загружать файлы в потоке, чтобы избежать блокирования при загрузке "
 "изображений с диска"
 
-#: ../clutter/deprecated/clutter-texture.c:1136
+#: ../clutter/deprecated/clutter-texture.c:1138
 msgid "Load data asynchronously"
 msgstr "Загружать данные асинхронно"
 
-#: ../clutter/deprecated/clutter-texture.c:1137
+#: ../clutter/deprecated/clutter-texture.c:1139
 msgid ""
 "Decode image data files inside a thread to reduce blocking when loading "
 "images from disk"
@@ -2678,192 +2594,196 @@ msgstr ""
 "Декодировать данные файлов в потоке, чтобы сократить блокирование при "
 "загрузке изображения с диска"
 
-#: ../clutter/deprecated/clutter-texture.c:1163
+#: ../clutter/deprecated/clutter-texture.c:1165
 msgid "Pick With Alpha"
 msgstr "Выбирать с прозрачностью"
 
-#: ../clutter/deprecated/clutter-texture.c:1164
+#: ../clutter/deprecated/clutter-texture.c:1166
 msgid "Shape actor with alpha channel when picking"
 msgstr "Выбирать актор вместе с каналом прозрачности"
 
-#: ../clutter/deprecated/clutter-texture.c:1597
-#: ../clutter/deprecated/clutter-texture.c:1992
-#: ../clutter/deprecated/clutter-texture.c:2088
-#: ../clutter/deprecated/clutter-texture.c:2386
+#: ../clutter/deprecated/clutter-texture.c:1599
+#: ../clutter/deprecated/clutter-texture.c:1994
+#: ../clutter/deprecated/clutter-texture.c:2090
+#: ../clutter/deprecated/clutter-texture.c:2388
 #, c-format
 msgid "Failed to load the image data"
 msgstr "Сбой при загрузке данных изображения"
 
-#: ../clutter/deprecated/clutter-texture.c:1756
+#: ../clutter/deprecated/clutter-texture.c:1758
 #, c-format
 msgid "YUV textures are not supported"
 msgstr "Текстуры YUV не поддерживаются"
 
-#: ../clutter/deprecated/clutter-texture.c:1765
+#: ../clutter/deprecated/clutter-texture.c:1767
 #, c-format
 msgid "YUV2 textues are not supported"
 msgstr "Текстуры YUV2 не поддерживаются"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:289
+#: ../clutter/evdev/clutter-input-device-evdev.c:159
+msgid "sysfs Path"
+msgstr "Путь sysfs"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:160
+msgid "Path of the device in sysfs"
+msgstr "Путь к устройству в sysfs"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:175
+msgid "Device Path"
+msgstr "Путь к устройству"
+
+#: ../clutter/evdev/clutter-input-device-evdev.c:176
+msgid "Path of the device node"
+msgstr "Путь к узлу устройства"
+
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "Не удалось найти подходящий CoglWinsys для GdkDisplay типа %s"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:419
+#: ../clutter/wayland/clutter-wayland-surface.c:423
 msgid "Surface"
 msgstr "Поверхность"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:420
+#: ../clutter/wayland/clutter-wayland-surface.c:424
 msgid "The underlying wayland surface"
 msgstr "Подложка wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:427
+#: ../clutter/wayland/clutter-wayland-surface.c:431
 msgid "Surface width"
 msgstr "Ширина поверхности"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:428
+#: ../clutter/wayland/clutter-wayland-surface.c:432
 msgid "The width of the underlying wayland surface"
 msgstr "Ширина подложки wayland"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:436
+#: ../clutter/wayland/clutter-wayland-surface.c:440
 msgid "Surface height"
 msgstr "Высота поверхности"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:437
+#: ../clutter/wayland/clutter-wayland-surface.c:441
 msgid "The height of the underlying wayland surface"
 msgstr "Высота подложки wayland"
 
-#: ../clutter/x11/clutter-backend-x11.c:488
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Использовать дисплей X"
 
-#: ../clutter/x11/clutter-backend-x11.c:494
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Использовать экран X"
 
-#: ../clutter/x11/clutter-backend-x11.c:499
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Делать вызовы X синхронно"
 
-#: ../clutter/x11/clutter-backend-x11.c:506
+#: ../clutter/x11/clutter-backend-x11.c:534
 msgid "Disable XInput support"
 msgstr "Отключить поддержку XInput"
 
-#: ../clutter/x11/clutter-keymap-x11.c:458
+#: ../clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
 msgstr "Драйвер Clutter"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:534
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
 msgid "Pixmap"
 msgstr "Пиксельная карта"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:535
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
 msgid "The X11 Pixmap to be bound"
 msgstr "Ограниченная пиксельная карта X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:543
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
 msgid "Pixmap width"
 msgstr "Ширина пиксельной карты"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:544
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
 msgid "The width of the pixmap bound to this texture"
 msgstr "Ширина пиксельной карты, ограниченная этой текстурой"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:552
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
 msgid "Pixmap height"
 msgstr "Высота пиксельной карты"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:553
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
 msgid "The height of the pixmap bound to this texture"
 msgstr "Высота пиксельной карты, ограниченная этой текстурой"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:561
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
 msgid "Pixmap Depth"
 msgstr "Глубина пиксельной карты"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:562
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr "Глубина (количество бит) пиксельной карты, ограниченная этой текстурой"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:570
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
 msgid "Automatic Updates"
 msgstr "Автоматические обновления"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:571
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 "Если текстура должна синхронизироваться с любыми изменениями пиксельной "
 "карты."
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:579
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
 msgid "Window"
 msgstr "Окно"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:580
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
 msgid "The X11 Window to be bound"
 msgstr "Ограниченное окно X11"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:588
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
 msgid "Window Redirect Automatic"
 msgstr "Автоматическое перенаправление окон"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:589
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 "Если перенаправления композитных окон установлены в автоматический режим "
 "(или в ручной, если не установлено)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:599
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
 msgid "Window Mapped"
 msgstr "Отображённое (mapped) окно"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:600
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
 msgid "If window is mapped"
 msgstr "Если окно отображено (mapped)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:609
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
 msgid "Destroyed"
 msgstr "Уничтожено"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:610
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
 msgid "If window has been destroyed"
 msgstr "Если окно было разрушено"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:618
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
 msgid "Window X"
 msgstr "Окно по оси X"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:619
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
 msgid "X position of window on screen according to X11"
 msgstr "Положение окна на экране в соответствии с X11 по оси X"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:627
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
 msgid "Window Y"
 msgstr "Окно по оси Y"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:628
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
 msgid "Y position of window on screen according to X11"
 msgstr "Положение окна на экране в соответствии с X11 по оси Y"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:635
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
 msgid "Window Override Redirect"
 msgstr "Переопределять перенаправление окна"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:636
+#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
 msgid "If this is an override-redirect window"
 msgstr "Если является окном переопределения перенаправления"
 
-#~ msgid "sysfs Path"
-#~ msgstr "Путь sysfs"
-
-#~ msgid "Path of the device in sysfs"
-#~ msgstr "Путь к устройству в sysfs"
-
-#~ msgid "Device Path"
-#~ msgstr "Путь к устройству"
-
-#~ msgid "Path of the device node"
-#~ msgstr "Путь к узлу устройства"
-
 #~ msgid "The layout manager used by the box"
 #~ msgstr "Менеджер компоновки, используемый ящиком"
diff --git a/po/sl.po b/po/sl.po
index 61e9857..dc7d416 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -10,8 +10,8 @@ msgstr ""
 "Project-Id-Version: clutter master\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-06-01 22:29+0000\n"
-"PO-Revision-Date: 2013-06-03 21:38+0100\n"
+"POT-Creation-Date: 2012-12-18 02:00+0000\n"
+"PO-Revision-Date: 2012-12-18 08:26+0100\n"
 "Last-Translator: Matej Urbančič <mateju svn gnome org>\n"
 "Language-Team: Slovenian GNOME Translation Team <gnome-si googlegroups com>\n"
 "Language: sl_SI\n"
@@ -23,664 +23,664 @@ msgstr ""
 "X-Poedit-SourceCharset: utf-8\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: ../clutter/clutter-actor.c:6175
+#: ../clutter/clutter-actor.c:6144
 msgid "X coordinate"
 msgstr "Koordinata X"
 
-#: ../clutter/clutter-actor.c:6176
+#: ../clutter/clutter-actor.c:6145
 msgid "X coordinate of the actor"
 msgstr "X koordinata predmeta"
 
-#: ../clutter/clutter-actor.c:6194
+#: ../clutter/clutter-actor.c:6163
 msgid "Y coordinate"
 msgstr "Koordinata Y"
 
-#: ../clutter/clutter-actor.c:6195
+#: ../clutter/clutter-actor.c:6164
 msgid "Y coordinate of the actor"
 msgstr "Y koordinata predmeta"
 
-#: ../clutter/clutter-actor.c:6217
+#: ../clutter/clutter-actor.c:6186
 msgid "Position"
 msgstr "Položaj"
 
-#: ../clutter/clutter-actor.c:6218
+#: ../clutter/clutter-actor.c:6187
 msgid "The position of the origin of the actor"
 msgstr "Položaj začetka gradnika"
 
-#: ../clutter/clutter-actor.c:6235 ../clutter/clutter-canvas.c:225
+#: ../clutter/clutter-actor.c:6204 ../clutter/clutter-canvas.c:215
 #: ../clutter/clutter-grid-layout.c:1238
 #: ../clutter/deprecated/clutter-behaviour-ellipse.c:481
 msgid "Width"
 msgstr "Širina"
 
-#: ../clutter/clutter-actor.c:6236
+#: ../clutter/clutter-actor.c:6205
 msgid "Width of the actor"
 msgstr "Širina predmeta"
 
-#: ../clutter/clutter-actor.c:6254 ../clutter/clutter-canvas.c:241
+#: ../clutter/clutter-actor.c:6223 ../clutter/clutter-canvas.c:231
 #: ../clutter/clutter-grid-layout.c:1245
 #: ../clutter/deprecated/clutter-behaviour-ellipse.c:497
 msgid "Height"
 msgstr "Višina"
 
-#: ../clutter/clutter-actor.c:6255
+#: ../clutter/clutter-actor.c:6224
 msgid "Height of the actor"
 msgstr "Višina predmeta"
 
-#: ../clutter/clutter-actor.c:6276
+#: ../clutter/clutter-actor.c:6245
 msgid "Size"
 msgstr "Velikost"
 
-#: ../clutter/clutter-actor.c:6277
+#: ../clutter/clutter-actor.c:6246
 msgid "The size of the actor"
 msgstr "Velikost gradnika"
 
-#: ../clutter/clutter-actor.c:6295
+#: ../clutter/clutter-actor.c:6264
 msgid "Fixed X"
 msgstr "Stalen X"
 
-#: ../clutter/clutter-actor.c:6296
+#: ../clutter/clutter-actor.c:6265
 msgid "Forced X position of the actor"
 msgstr "Vsiljen položaj X predmeta"
 
-#: ../clutter/clutter-actor.c:6313
+#: ../clutter/clutter-actor.c:6282
 msgid "Fixed Y"
 msgstr "Stalen Y"
 
-#: ../clutter/clutter-actor.c:6314
+#: ../clutter/clutter-actor.c:6283
 msgid "Forced Y position of the actor"
 msgstr "Vsiljen Y položaj predmeta"
 
-#: ../clutter/clutter-actor.c:6329
+#: ../clutter/clutter-actor.c:6298
 msgid "Fixed position set"
 msgstr "Stalen položaj je nastavljen"
 
-#: ../clutter/clutter-actor.c:6330
+#: ../clutter/clutter-actor.c:6299
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Ali naj se za predmet uporabi stalen položaj"
 
-#: ../clutter/clutter-actor.c:6348
+#: ../clutter/clutter-actor.c:6317
 msgid "Min Width"
 msgstr "Najmanjša širina"
 
-#: ../clutter/clutter-actor.c:6349
+#: ../clutter/clutter-actor.c:6318
 msgid "Forced minimum width request for the actor"
 msgstr "Vsiljena najmanjša zahteva širine za predmet"
 
-#: ../clutter/clutter-actor.c:6367
+#: ../clutter/clutter-actor.c:6336
 msgid "Min Height"
 msgstr "Najmanjša višina"
 
-#: ../clutter/clutter-actor.c:6368
+#: ../clutter/clutter-actor.c:6337
 msgid "Forced minimum height request for the actor"
 msgstr "Vsiljena najmanjša zahteva višine za predmet"
 
-#: ../clutter/clutter-actor.c:6386
+#: ../clutter/clutter-actor.c:6355
 msgid "Natural Width"
 msgstr "Naravna širina"
 
-#: ../clutter/clutter-actor.c:6387
+#: ../clutter/clutter-actor.c:6356
 msgid "Forced natural width request for the actor"
 msgstr "Vsiljena zahteva naravne širine za predmet"
 
-#: ../clutter/clutter-actor.c:6405
+#: ../clutter/clutter-actor.c:6374
 msgid "Natural Height"
 msgstr "Naravna višina"
 
-#: ../clutter/clutter-actor.c:6406
+#: ../clutter/clutter-actor.c:6375
 msgid "Forced natural height request for the actor"
 msgstr "Vsiljena naravna višina za predmet"
 
-#: ../clutter/clutter-actor.c:6421
+#: ../clutter/clutter-actor.c:6390
 msgid "Minimum width set"
 msgstr "Najmanjša nastavljena širina"
 
-#: ../clutter/clutter-actor.c:6422
+#: ../clutter/clutter-actor.c:6391
 msgid "Whether to use the min-width property"
 msgstr "Ali naj se uporabi lastnost najmanjša širina"
 
-#: ../clutter/clutter-actor.c:6436
+#: ../clutter/clutter-actor.c:6405
 msgid "Minimum height set"
 msgstr "Najmanjša nastavljena višina"
 
-#: ../clutter/clutter-actor.c:6437
+#: ../clutter/clutter-actor.c:6406
 msgid "Whether to use the min-height property"
 msgstr "Ali naj se uporabi lastnost najmanjša višina"
 
-#: ../clutter/clutter-actor.c:6451
+#: ../clutter/clutter-actor.c:6420
 msgid "Natural width set"
 msgstr "Nastavljena naravna širina"
 
-#: ../clutter/clutter-actor.c:6452
+#: ../clutter/clutter-actor.c:6421
 msgid "Whether to use the natural-width property"
 msgstr "Ali naj se uporabi lastnost naravna širina"
 
-#: ../clutter/clutter-actor.c:6466
+#: ../clutter/clutter-actor.c:6435
 msgid "Natural height set"
 msgstr "Nastavljena naravna višina"
 
-#: ../clutter/clutter-actor.c:6467
+#: ../clutter/clutter-actor.c:6436
 msgid "Whether to use the natural-height property"
 msgstr "Ali naj se uporabi lastnost naravna višina"
 
-#: ../clutter/clutter-actor.c:6483
+#: ../clutter/clutter-actor.c:6452
 msgid "Allocation"
 msgstr "Dodelitev"
 
-#: ../clutter/clutter-actor.c:6484
+#: ../clutter/clutter-actor.c:6453
 msgid "The actor's allocation"
 msgstr "Dodelitev predmeta"
 
-#: ../clutter/clutter-actor.c:6541
+#: ../clutter/clutter-actor.c:6510
 msgid "Request Mode"
 msgstr "Način zahteve"
 
-#: ../clutter/clutter-actor.c:6542
+#: ../clutter/clutter-actor.c:6511
 msgid "The actor's request mode"
 msgstr "Način zahteve predmeta"
 
-#: ../clutter/clutter-actor.c:6566
+#: ../clutter/clutter-actor.c:6535
 msgid "Depth"
 msgstr "Globina"
 
-#: ../clutter/clutter-actor.c:6567
+#: ../clutter/clutter-actor.c:6536
 msgid "Position on the Z axis"
 msgstr "Položaj na Z osi"
 
-#: ../clutter/clutter-actor.c:6594
+#: ../clutter/clutter-actor.c:6563
 msgid "Z Position"
 msgstr "Položaj Z"
 
-#: ../clutter/clutter-actor.c:6595
+#: ../clutter/clutter-actor.c:6564
 msgid "The actor's position on the Z axis"
 msgstr "Položaj premeta na osi Z"
 
-#: ../clutter/clutter-actor.c:6612
+#: ../clutter/clutter-actor.c:6581
 msgid "Opacity"
 msgstr "Prekrivnost"
 
-#: ../clutter/clutter-actor.c:6613
+#: ../clutter/clutter-actor.c:6582
 msgid "Opacity of an actor"
 msgstr "Prekrivnost predmeta"
 
-#: ../clutter/clutter-actor.c:6633
+#: ../clutter/clutter-actor.c:6602
 msgid "Offscreen redirect"
 msgstr "Izven-zaslonska preusmeritev"
 
-#: ../clutter/clutter-actor.c:6634
+#: ../clutter/clutter-actor.c:6603
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr "Ali naj se predmet splošči v enojno sliko"
 
-#: ../clutter/clutter-actor.c:6648
+#: ../clutter/clutter-actor.c:6617
 msgid "Visible"
 msgstr "Vidno"
 
-#: ../clutter/clutter-actor.c:6649
+#: ../clutter/clutter-actor.c:6618
 msgid "Whether the actor is visible or not"
 msgstr "Ali je predmet viden ali ne"
 
-#: ../clutter/clutter-actor.c:6663
+#: ../clutter/clutter-actor.c:6632
 msgid "Mapped"
 msgstr "Preslikano"
 
-#: ../clutter/clutter-actor.c:6664
+#: ../clutter/clutter-actor.c:6633
 msgid "Whether the actor will be painted"
 msgstr "Ali bo predmet naslikan"
 
-#: ../clutter/clutter-actor.c:6677
+#: ../clutter/clutter-actor.c:6646
 msgid "Realized"
 msgstr "Realizirano"
 
-#: ../clutter/clutter-actor.c:6678
+#: ../clutter/clutter-actor.c:6647
 msgid "Whether the actor has been realized"
 msgstr "Ali je predmet izveden"
 
-#: ../clutter/clutter-actor.c:6693
+#: ../clutter/clutter-actor.c:6662
 msgid "Reactive"
 msgstr "Ponovno omogoči"
 
-#: ../clutter/clutter-actor.c:6694
+#: ../clutter/clutter-actor.c:6663
 msgid "Whether the actor is reactive to events"
 msgstr "Ali je predmet omogočen v dogodkih"
 
-#: ../clutter/clutter-actor.c:6705
+#: ../clutter/clutter-actor.c:6674
 msgid "Has Clip"
 msgstr "Ima izrez"
 
-#: ../clutter/clutter-actor.c:6706
+#: ../clutter/clutter-actor.c:6675
 msgid "Whether the actor has a clip set"
 msgstr "Ali ima predmet nastavljen izrez"
 
-#: ../clutter/clutter-actor.c:6719
+#: ../clutter/clutter-actor.c:6688
 msgid "Clip"
 msgstr "Izrez"
 
-#: ../clutter/clutter-actor.c:6720
+#: ../clutter/clutter-actor.c:6689
 msgid "The clip region for the actor"
 msgstr "Območje izreza za predmet"
 
-#: ../clutter/clutter-actor.c:6739
+#: ../clutter/clutter-actor.c:6708
 msgid "Clip Rectangle"
 msgstr "Pravokotnik porezave"
 
-#: ../clutter/clutter-actor.c:6740
+#: ../clutter/clutter-actor.c:6709
 msgid "The visible region of the actor"
 msgstr "Vidno območje za predmet"
 
-#: ../clutter/clutter-actor.c:6754 ../clutter/clutter-actor-meta.c:207
+#: ../clutter/clutter-actor.c:6723 ../clutter/clutter-actor-meta.c:207
 #: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
 msgid "Name"
 msgstr "Ime"
 
-#: ../clutter/clutter-actor.c:6755
+#: ../clutter/clutter-actor.c:6724
 msgid "Name of the actor"
 msgstr "Ime predmeta"
 
-#: ../clutter/clutter-actor.c:6776
+#: ../clutter/clutter-actor.c:6745
 msgid "Pivot Point"
 msgstr "Vrtilna točka"
 
-#: ../clutter/clutter-actor.c:6777
+#: ../clutter/clutter-actor.c:6746
 msgid "The point around which the scaling and rotation occur"
 msgstr "Točka, okoli katere se vrši sprememba merila in sukanje"
 
-#: ../clutter/clutter-actor.c:6795
+#: ../clutter/clutter-actor.c:6764
 msgid "Pivot Point Z"
 msgstr "Vrtilna točka Z"
 
-#: ../clutter/clutter-actor.c:6796
+#: ../clutter/clutter-actor.c:6765
 msgid "Z component of the pivot point"
 msgstr "Sestavni del vrtilne točke"
 
-#: ../clutter/clutter-actor.c:6814
+#: ../clutter/clutter-actor.c:6783
 msgid "Scale X"
 msgstr "Merilo X"
 
-#: ../clutter/clutter-actor.c:6815
+#: ../clutter/clutter-actor.c:6784
 msgid "Scale factor on the X axis"
 msgstr "Faktor merila na osi X"
 
-#: ../clutter/clutter-actor.c:6833
+#: ../clutter/clutter-actor.c:6802
 msgid "Scale Y"
 msgstr "Merilo Y"
 
-#: ../clutter/clutter-actor.c:6834
+#: ../clutter/clutter-actor.c:6803
 msgid "Scale factor on the Y axis"
 msgstr "Faktor merila na osi Y"
 
-#: ../clutter/clutter-actor.c:6852
+#: ../clutter/clutter-actor.c:6821
 msgid "Scale Z"
 msgstr "Merilo Z"
 
-#: ../clutter/clutter-actor.c:6853
+#: ../clutter/clutter-actor.c:6822
 msgid "Scale factor on the Z axis"
 msgstr "Faktor merila na osi Z"
 
-#: ../clutter/clutter-actor.c:6871
+#: ../clutter/clutter-actor.c:6840
 msgid "Scale Center X"
 msgstr "Merilo sredine X"
 
-#: ../clutter/clutter-actor.c:6872
+#: ../clutter/clutter-actor.c:6841
 msgid "Horizontal scale center"
 msgstr "Vodoravno merilo sredine"
 
-#: ../clutter/clutter-actor.c:6890
+#: ../clutter/clutter-actor.c:6859
 msgid "Scale Center Y"
 msgstr "Merilo sredine Y"
 
-#: ../clutter/clutter-actor.c:6891
+#: ../clutter/clutter-actor.c:6860
 msgid "Vertical scale center"
 msgstr "Navpično merilo sredine"
 
-#: ../clutter/clutter-actor.c:6909
+#: ../clutter/clutter-actor.c:6878
 msgid "Scale Gravity"
 msgstr "Vrednost poravnave"
 
-#: ../clutter/clutter-actor.c:6910
+#: ../clutter/clutter-actor.c:6879
 msgid "The center of scaling"
 msgstr "Sredina merila"
 
-#: ../clutter/clutter-actor.c:6928
+#: ../clutter/clutter-actor.c:6897
 msgid "Rotation Angle X"
 msgstr "Vrtenje kota X"
 
-#: ../clutter/clutter-actor.c:6929
+#: ../clutter/clutter-actor.c:6898
 msgid "The rotation angle on the X axis"
 msgstr "Vrtenje kota na osi X"
 
-#: ../clutter/clutter-actor.c:6947
+#: ../clutter/clutter-actor.c:6916
 msgid "Rotation Angle Y"
 msgstr "Vrtenje kota Y"
 
-#: ../clutter/clutter-actor.c:6948
+#: ../clutter/clutter-actor.c:6917
 msgid "The rotation angle on the Y axis"
 msgstr "Vrtenje kota na osi Y"
 
-#: ../clutter/clutter-actor.c:6966
+#: ../clutter/clutter-actor.c:6935
 msgid "Rotation Angle Z"
 msgstr "Vrtenje kota Z"
 
-#: ../clutter/clutter-actor.c:6967
+#: ../clutter/clutter-actor.c:6936
 msgid "The rotation angle on the Z axis"
 msgstr "Vrtenje kota na osi Z"
 
-#: ../clutter/clutter-actor.c:6985
+#: ../clutter/clutter-actor.c:6954
 msgid "Rotation Center X"
 msgstr "Vrtenje sredine X"
 
-#: ../clutter/clutter-actor.c:6986
+#: ../clutter/clutter-actor.c:6955
 msgid "The rotation center on the X axis"
 msgstr "Vrtenje sredine na osi X"
 
-#: ../clutter/clutter-actor.c:7003
+#: ../clutter/clutter-actor.c:6972
 msgid "Rotation Center Y"
 msgstr "Vrtenje sredine Y"
 
-#: ../clutter/clutter-actor.c:7004
+#: ../clutter/clutter-actor.c:6973
 msgid "The rotation center on the Y axis"
 msgstr "Vrtenje sredine na osi Y"
 
-#: ../clutter/clutter-actor.c:7021
+#: ../clutter/clutter-actor.c:6990
 msgid "Rotation Center Z"
 msgstr "Vrtenje sredine Z"
 
-#: ../clutter/clutter-actor.c:7022
+#: ../clutter/clutter-actor.c:6991
 msgid "The rotation center on the Z axis"
 msgstr "Vrtenje sredine na osi Z"
 
-#: ../clutter/clutter-actor.c:7039
+#: ../clutter/clutter-actor.c:7008
 msgid "Rotation Center Z Gravity"
 msgstr "Sredina poravnave vrtenja po osi Z"
 
-#: ../clutter/clutter-actor.c:7040
+#: ../clutter/clutter-actor.c:7009
 msgid "Center point for rotation around the Z axis"
 msgstr "Sredina točke za vrtenje okoli osi Z"
 
-#: ../clutter/clutter-actor.c:7068
+#: ../clutter/clutter-actor.c:7037
 msgid "Anchor X"
 msgstr "Sidro X"
 
-#: ../clutter/clutter-actor.c:7069
+#: ../clutter/clutter-actor.c:7038
 msgid "X coordinate of the anchor point"
 msgstr "X koordinata točke sidra"
 
-#: ../clutter/clutter-actor.c:7097
+#: ../clutter/clutter-actor.c:7066
 msgid "Anchor Y"
 msgstr "Sidro Y"
 
-#: ../clutter/clutter-actor.c:7098
+#: ../clutter/clutter-actor.c:7067
 msgid "Y coordinate of the anchor point"
 msgstr "Y koordinata točke sidra"
 
-#: ../clutter/clutter-actor.c:7125
+#: ../clutter/clutter-actor.c:7094
 msgid "Anchor Gravity"
 msgstr "Sidro poravnave"
 
-#: ../clutter/clutter-actor.c:7126
+#: ../clutter/clutter-actor.c:7095
 msgid "The anchor point as a ClutterGravity"
 msgstr "Točka sidra poravnave"
 
-#: ../clutter/clutter-actor.c:7145
+#: ../clutter/clutter-actor.c:7114
 msgid "Translation X"
 msgstr "Translacija X"
 
-#: ../clutter/clutter-actor.c:7146
+#: ../clutter/clutter-actor.c:7115
 msgid "Translation along the X axis"
 msgstr "Translacija vzdolž osi X"
 
-#: ../clutter/clutter-actor.c:7165
+#: ../clutter/clutter-actor.c:7134
 msgid "Translation Y"
 msgstr "Translacija Y"
 
-#: ../clutter/clutter-actor.c:7166
+#: ../clutter/clutter-actor.c:7135
 msgid "Translation along the Y axis"
 msgstr "Translacija vzdolž osi Y"
 
-#: ../clutter/clutter-actor.c:7185
+#: ../clutter/clutter-actor.c:7154
 msgid "Translation Z"
 msgstr "Translacija Z"
 
-#: ../clutter/clutter-actor.c:7186
+#: ../clutter/clutter-actor.c:7155
 msgid "Translation along the Z axis"
 msgstr "Translacija vzdolž osi Z"
 
-#: ../clutter/clutter-actor.c:7216
+#: ../clutter/clutter-actor.c:7185
 msgid "Transform"
 msgstr "Preoblikovanje"
 
-#: ../clutter/clutter-actor.c:7217
+#: ../clutter/clutter-actor.c:7186
 msgid "Transformation matrix"
 msgstr "Matrika preoblikovanja"
 
-#: ../clutter/clutter-actor.c:7232
+#: ../clutter/clutter-actor.c:7201
 msgid "Transform Set"
 msgstr "Preoblikovanje je nastavljeno"
 
-#: ../clutter/clutter-actor.c:7233
+#: ../clutter/clutter-actor.c:7202
 msgid "Whether the transform property is set"
 msgstr "Ali je lastnost preoblikovanja nastavljena"
 
-#: ../clutter/clutter-actor.c:7254
+#: ../clutter/clutter-actor.c:7223
 msgid "Child Transform"
 msgstr "Preoblikovanje podrejenega predmeta"
 
-#: ../clutter/clutter-actor.c:7255
+#: ../clutter/clutter-actor.c:7224
 msgid "Children transformation matrix"
 msgstr "Matrika preoblikovanja podrejenega predmeta"
 
-#: ../clutter/clutter-actor.c:7270
+#: ../clutter/clutter-actor.c:7239
 msgid "Child Transform Set"
 msgstr "Preoblikovanje podrejenega predmeta je določeno"
 
-#: ../clutter/clutter-actor.c:7271
+#: ../clutter/clutter-actor.c:7240
 msgid "Whether the child-transform property is set"
 msgstr "Ali je lastnost preoblikovanja podrejenega predmeta nastavljena"
 
-#: ../clutter/clutter-actor.c:7288
+#: ../clutter/clutter-actor.c:7257
 msgid "Show on set parent"
 msgstr "Pokaži na nastavljenem nadrejenem predmetu"
 
-#: ../clutter/clutter-actor.c:7289
+#: ../clutter/clutter-actor.c:7258
 msgid "Whether the actor is shown when parented"
 msgstr "Ali je predmet prikazan, ko je nastavljen na nadrejeni predmet"
 
-#: ../clutter/clutter-actor.c:7306
+#: ../clutter/clutter-actor.c:7275
 msgid "Clip to Allocation"
 msgstr "Izrez za dodelitev"
 
-#: ../clutter/clutter-actor.c:7307
+#: ../clutter/clutter-actor.c:7276
 msgid "Sets the clip region to track the actor's allocation"
 msgstr "Nastavi območje izreza za sledenje dodelitve predmeta"
 
-#: ../clutter/clutter-actor.c:7320
+#: ../clutter/clutter-actor.c:7289
 msgid "Text Direction"
 msgstr "Smer besedila"
 
-#: ../clutter/clutter-actor.c:7321
+#: ../clutter/clutter-actor.c:7290
 msgid "Direction of the text"
 msgstr "Smer besedila"
 
-#: ../clutter/clutter-actor.c:7336
+#: ../clutter/clutter-actor.c:7305
 msgid "Has Pointer"
 msgstr "Ima kazalec"
 
-#: ../clutter/clutter-actor.c:7337
+#: ../clutter/clutter-actor.c:7306
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Ali predmet vsebuje kazalnik vhodne naprave"
 
-#: ../clutter/clutter-actor.c:7350
+#: ../clutter/clutter-actor.c:7319
 msgid "Actions"
 msgstr "Dejanja"
 
-#: ../clutter/clutter-actor.c:7351
+#: ../clutter/clutter-actor.c:7320
 msgid "Adds an action to the actor"
 msgstr "Dodajanje dejanja predmeta"
 
-#: ../clutter/clutter-actor.c:7364
+#: ../clutter/clutter-actor.c:7333
 msgid "Constraints"
 msgstr "Omejitve"
 
-#: ../clutter/clutter-actor.c:7365
+#: ../clutter/clutter-actor.c:7334
 msgid "Adds a constraint to the actor"
 msgstr "Dodajanje omejitev predmeta"
 
-#: ../clutter/clutter-actor.c:7378
+#: ../clutter/clutter-actor.c:7347
 msgid "Effect"
 msgstr "Učinek"
 
-#: ../clutter/clutter-actor.c:7379
+#: ../clutter/clutter-actor.c:7348
 msgid "Add an effect to be applied on the actor"
 msgstr "Dodajanje učinka predmeta"
 
-#: ../clutter/clutter-actor.c:7393
+#: ../clutter/clutter-actor.c:7362
 msgid "Layout Manager"
 msgstr "Upravljalnik razporeditev"
 
-#: ../clutter/clutter-actor.c:7394
+#: ../clutter/clutter-actor.c:7363
 msgid "The object controlling the layout of an actor's children"
 msgstr "Predmet, ki nadzira porazdelitev podrejenih predmetov."
 
-#: ../clutter/clutter-actor.c:7408
+#: ../clutter/clutter-actor.c:7377
 msgid "X Expand"
 msgstr "Razširi X"
 
-#: ../clutter/clutter-actor.c:7409
+#: ../clutter/clutter-actor.c:7378
 msgid "Whether extra horizontal space should be assigned to the actor"
 msgstr "Ali naj se gradniku dodeli dodatni vodoravni prostor"
 
-#: ../clutter/clutter-actor.c:7424
+#: ../clutter/clutter-actor.c:7393
 msgid "Y Expand"
 msgstr "Razširi Y"
 
-#: ../clutter/clutter-actor.c:7425
+#: ../clutter/clutter-actor.c:7394
 msgid "Whether extra vertical space should be assigned to the actor"
 msgstr "Ali naj se gradniku dodeli dodatni navpični prostor"
 
-#: ../clutter/clutter-actor.c:7441
+#: ../clutter/clutter-actor.c:7410
 msgid "X Alignment"
 msgstr "Poravnava X"
 
-#: ../clutter/clutter-actor.c:7442
+#: ../clutter/clutter-actor.c:7411
 msgid "The alignment of the actor on the X axis within its allocation"
 msgstr "Poravnava nadrejenega predmeta na osi X znotraj dodeljenega prostora."
 
-#: ../clutter/clutter-actor.c:7457
+#: ../clutter/clutter-actor.c:7426
 msgid "Y Alignment"
 msgstr "Poravnava Y"
 
-#: ../clutter/clutter-actor.c:7458
+#: ../clutter/clutter-actor.c:7427
 msgid "The alignment of the actor on the Y axis within its allocation"
 msgstr "Poravnava nadrejenega predmeta na osi Y znotraj dodeljenega prostora."
 
-#: ../clutter/clutter-actor.c:7477
+#: ../clutter/clutter-actor.c:7446
 msgid "Margin Top"
 msgstr "Zgornji rob"
 
-#: ../clutter/clutter-actor.c:7478
+#: ../clutter/clutter-actor.c:7447
 msgid "Extra space at the top"
 msgstr "Dodaten prostor zgoraj"
 
-#: ../clutter/clutter-actor.c:7499
+#: ../clutter/clutter-actor.c:7468
 msgid "Margin Bottom"
 msgstr "Spodnji rob"
 
-#: ../clutter/clutter-actor.c:7500
+#: ../clutter/clutter-actor.c:7469
 msgid "Extra space at the bottom"
 msgstr "Dodaten prostor na dnu"
 
-#: ../clutter/clutter-actor.c:7521
+#: ../clutter/clutter-actor.c:7490
 msgid "Margin Left"
 msgstr "Levi rob"
 
-#: ../clutter/clutter-actor.c:7522
+#: ../clutter/clutter-actor.c:7491
 msgid "Extra space at the left"
 msgstr "Dodaten prostor na levi strani"
 
-#: ../clutter/clutter-actor.c:7543
+#: ../clutter/clutter-actor.c:7512
 msgid "Margin Right"
 msgstr "Desni rob"
 
-#: ../clutter/clutter-actor.c:7544
+#: ../clutter/clutter-actor.c:7513
 msgid "Extra space at the right"
 msgstr "Dodaten prostor na desni strani"
 
-#: ../clutter/clutter-actor.c:7560
+#: ../clutter/clutter-actor.c:7529
 msgid "Background Color Set"
 msgstr "Nastavitev barve ozadja"
 
-#: ../clutter/clutter-actor.c:7561 ../clutter/deprecated/clutter-box.c:275
+#: ../clutter/clutter-actor.c:7530 ../clutter/deprecated/clutter-box.c:275
 msgid "Whether the background color is set"
 msgstr "Ali je barva ozadja nastavljena"
 
-#: ../clutter/clutter-actor.c:7577
+#: ../clutter/clutter-actor.c:7546
 msgid "Background color"
 msgstr "Barva ozadja"
 
-#: ../clutter/clutter-actor.c:7578
+#: ../clutter/clutter-actor.c:7547
 msgid "The actor's background color"
 msgstr "Barva ozadja nadrejenega predmeta"
 
-#: ../clutter/clutter-actor.c:7593
+#: ../clutter/clutter-actor.c:7562
 msgid "First Child"
 msgstr "Prvi podrejen predmet"
 
-#: ../clutter/clutter-actor.c:7594
+#: ../clutter/clutter-actor.c:7563
 msgid "The actor's first child"
 msgstr "Prvi podrejeni predmet"
 
-#: ../clutter/clutter-actor.c:7607
+#: ../clutter/clutter-actor.c:7576
 msgid "Last Child"
 msgstr "Zadnji podrejeni predmet"
 
-#: ../clutter/clutter-actor.c:7608
+#: ../clutter/clutter-actor.c:7577
 msgid "The actor's last child"
 msgstr "Zadnji podrejeni predmet"
 
-#: ../clutter/clutter-actor.c:7622
+#: ../clutter/clutter-actor.c:7591
 msgid "Content"
 msgstr "Vsebina"
 
-#: ../clutter/clutter-actor.c:7623
+#: ../clutter/clutter-actor.c:7592
 msgid "Delegate object for painting the actor's content"
 msgstr "Določitev načina izrisa vsebine predmeta"
 
-#: ../clutter/clutter-actor.c:7648
+#: ../clutter/clutter-actor.c:7617
 msgid "Content Gravity"
 msgstr "Poravnava vsebine"
 
-#: ../clutter/clutter-actor.c:7649
+#: ../clutter/clutter-actor.c:7618
 msgid "Alignment of the actor's content"
 msgstr "Poravnava vsebine predmeta"
 
-#: ../clutter/clutter-actor.c:7669
+#: ../clutter/clutter-actor.c:7638
 msgid "Content Box"
 msgstr "Okvirjen prostor"
 
-#: ../clutter/clutter-actor.c:7670
+#: ../clutter/clutter-actor.c:7639
 msgid "The bounding box of the actor's content"
 msgstr "Okvirjen prostor vsebine predmeta"
 
-#: ../clutter/clutter-actor.c:7678
+#: ../clutter/clutter-actor.c:7647
 msgid "Minification Filter"
 msgstr "Filter oddaljevanja"
 
-#: ../clutter/clutter-actor.c:7679
+#: ../clutter/clutter-actor.c:7648
 msgid "The filter used when reducing the size of the content"
 msgstr "Filter, uporabljen za oddaljevanje vsebine"
 
-#: ../clutter/clutter-actor.c:7686
+#: ../clutter/clutter-actor.c:7655
 msgid "Magnification Filter"
 msgstr "FIlter približanja"
 
-#: ../clutter/clutter-actor.c:7687
+#: ../clutter/clutter-actor.c:7656
 msgid "The filter used when increasing the size of the content"
 msgstr "Filter, uporabljen za približanje vsebine"
 
-#: ../clutter/clutter-actor.c:7701
+#: ../clutter/clutter-actor.c:7670
 msgid "Content Repeat"
 msgstr "Ponavljanje vsebine"
 
-#: ../clutter/clutter-actor.c:7702
+#: ../clutter/clutter-actor.c:7671
 msgid "The repeat policy for the actor's content"
 msgstr "Načela ponavljanja vsebine predmeta"
 
@@ -841,17 +841,17 @@ msgstr "Navpično"
 msgid "Whether the layout should be vertical, rather than horizontal"
 msgstr "Ali naj bo osnutek raje navpičen kot vodoraven"
 
-#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:946
+#: ../clutter/clutter-box-layout.c:1383 ../clutter/clutter-flow-layout.c:890
 #: ../clutter/clutter-grid-layout.c:1550
 msgid "Orientation"
 msgstr "Usmerjenost"
 
-#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:947
+#: ../clutter/clutter-box-layout.c:1384 ../clutter/clutter-flow-layout.c:891
 #: ../clutter/clutter-grid-layout.c:1551
 msgid "The orientation of the layout"
 msgstr "Usmerjenost razporeditve"
 
-#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:962
+#: ../clutter/clutter-box-layout.c:1400 ../clutter/clutter-flow-layout.c:906
 msgid "Homogeneous"
 msgstr "Homogeno"
 
@@ -918,11 +918,11 @@ msgstr "Kontrast"
 msgid "The contrast change to apply"
 msgstr "Spremembe kontrasta za uveljavitev"
 
-#: ../clutter/clutter-canvas.c:226
+#: ../clutter/clutter-canvas.c:216
 msgid "The width of the canvas"
 msgstr "Širina platna slike."
 
-#: ../clutter/clutter-canvas.c:242
+#: ../clutter/clutter-canvas.c:232
 msgid "The height of the canvas"
 msgstr "Višina platna slike."
 
@@ -954,7 +954,7 @@ msgstr "Zadržano"
 msgid "Whether the clickable has a grab"
 msgstr "Ali naj ima kliknjeno zagrabek"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:607
+#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:599
 msgid "Long Press Duration"
 msgstr "Trajanje doglega pritiska gumba"
 
@@ -982,27 +982,27 @@ msgstr "Črnilo"
 msgid "The tint to apply"
 msgstr "Črnilo za uveljavitev"
 
-#: ../clutter/clutter-deform-effect.c:594
+#: ../clutter/clutter-deform-effect.c:588
 msgid "Horizontal Tiles"
 msgstr "Vodoravne ploščice"
 
-#: ../clutter/clutter-deform-effect.c:595
+#: ../clutter/clutter-deform-effect.c:589
 msgid "The number of horizontal tiles"
 msgstr "Število vodoravnih ploščic"
 
-#: ../clutter/clutter-deform-effect.c:610
+#: ../clutter/clutter-deform-effect.c:604
 msgid "Vertical Tiles"
 msgstr "Navpične ploščice"
 
-#: ../clutter/clutter-deform-effect.c:611
+#: ../clutter/clutter-deform-effect.c:605
 msgid "The number of vertical tiles"
 msgstr "Število navpičnih ploščic"
 
-#: ../clutter/clutter-deform-effect.c:628
+#: ../clutter/clutter-deform-effect.c:622
 msgid "Back Material"
 msgstr "Hrbtno gradivo"
 
-#: ../clutter/clutter-deform-effect.c:629
+#: ../clutter/clutter-deform-effect.c:623
 msgid "The material to be used when painting the back of the actor"
 msgstr "Gradivo, ki bo uporabljeno za slikanje hrbtne strani predmeta"
 
@@ -1012,7 +1012,7 @@ msgstr "Faktor odstranitve zasičenosti"
 
 #: ../clutter/clutter-device-manager.c:131
 #: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: ../clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Zaledje"
 
@@ -1068,70 +1068,58 @@ msgstr "Vlečno območje je določeno"
 msgid "Whether the drag area is set"
 msgstr "Ali je vlečno območje nastavljeno"
 
-#: ../clutter/clutter-flow-layout.c:963
+#: ../clutter/clutter-flow-layout.c:907
 msgid "Whether each item should receive the same allocation"
 msgstr "Ali naj vsi predmeti prejmejo enako dodelitev"
 
-#: ../clutter/clutter-flow-layout.c:978 ../clutter/clutter-table-layout.c:1637
+#: ../clutter/clutter-flow-layout.c:922 ../clutter/clutter-table-layout.c:1637
 msgid "Column Spacing"
 msgstr "Razmik med stolpci"
 
-#: ../clutter/clutter-flow-layout.c:979
+#: ../clutter/clutter-flow-layout.c:923
 msgid "The spacing between columns"
 msgstr "Prazen prostor med stolpci"
 
-#: ../clutter/clutter-flow-layout.c:995 ../clutter/clutter-table-layout.c:1651
+#: ../clutter/clutter-flow-layout.c:939 ../clutter/clutter-table-layout.c:1651
 msgid "Row Spacing"
 msgstr "Razmik med vrsticami"
 
-#: ../clutter/clutter-flow-layout.c:996
+#: ../clutter/clutter-flow-layout.c:940
 msgid "The spacing between rows"
 msgstr "Prazen prostor med vrsticami"
 
-#: ../clutter/clutter-flow-layout.c:1010
+#: ../clutter/clutter-flow-layout.c:954
 msgid "Minimum Column Width"
 msgstr "Najmanjša širina stolpca"
 
-#: ../clutter/clutter-flow-layout.c:1011
+#: ../clutter/clutter-flow-layout.c:955
 msgid "Minimum width for each column"
 msgstr "Najmanjša širina vsakega stolpca"
 
-#: ../clutter/clutter-flow-layout.c:1026
+#: ../clutter/clutter-flow-layout.c:970
 msgid "Maximum Column Width"
 msgstr "Največja širina stolpca"
 
-#: ../clutter/clutter-flow-layout.c:1027
+#: ../clutter/clutter-flow-layout.c:971
 msgid "Maximum width for each column"
 msgstr "Največja širina vsakega stolpca"
 
-#: ../clutter/clutter-flow-layout.c:1041
+#: ../clutter/clutter-flow-layout.c:985
 msgid "Minimum Row Height"
 msgstr "Najmanjša višina vrstice"
 
-#: ../clutter/clutter-flow-layout.c:1042
+#: ../clutter/clutter-flow-layout.c:986
 msgid "Minimum height for each row"
 msgstr "Najmanjša višina vsake vrstice"
 
-#: ../clutter/clutter-flow-layout.c:1057
+#: ../clutter/clutter-flow-layout.c:1001
 msgid "Maximum Row Height"
 msgstr "Največja višina vrstice"
 
-#: ../clutter/clutter-flow-layout.c:1058
+#: ../clutter/clutter-flow-layout.c:1002
 msgid "Maximum height for each row"
 msgstr "Največja višina vsake vrstice"
 
-#: ../clutter/clutter-flow-layout.c:1073 ../clutter/clutter-flow-layout.c:1074
-msgid "Snap to grid"
-msgstr "Povleci na mrežo"
-
-#: ../clutter/clutter-gesture-action.c:648
-msgid "Number touch points"
-msgstr "Število dotičnih točk"
-
-#: ../clutter/clutter-gesture-action.c:649
-msgid "Number of touch points"
-msgstr "Število dotičnih točk"
-
 #: ../clutter/clutter-grid-layout.c:1222
 msgid "Left attachment"
 msgstr "Leva priloga"
@@ -1293,59 +1281,59 @@ msgstr "Upravljalnik, ki je ustvaril te podatke"
 #. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
 #. * it isn't default:LTR or default:RTL it will not work.
 #.
-#: ../clutter/clutter-main.c:795
+#: ../clutter/clutter-main.c:772
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1669
+#: ../clutter/clutter-main.c:1646
 msgid "Show frames per second"
 msgstr "Prikaži število sličic na sekundo (fps)"
 
-#: ../clutter/clutter-main.c:1671
+#: ../clutter/clutter-main.c:1648
 msgid "Default frame rate"
 msgstr "Privzeta hitrost sličic"
 
-#: ../clutter/clutter-main.c:1673
+#: ../clutter/clutter-main.c:1650
 msgid "Make all warnings fatal"
 msgstr "Vsa opozorila naj bodo usodna"
 
-#: ../clutter/clutter-main.c:1676
+#: ../clutter/clutter-main.c:1653
 msgid "Direction for the text"
 msgstr "Smer besedila"
 
-#: ../clutter/clutter-main.c:1679
+#: ../clutter/clutter-main.c:1656
 msgid "Disable mipmapping on text"
 msgstr "Pri besedilu izklopi mipmap"
 
-#: ../clutter/clutter-main.c:1682
+#: ../clutter/clutter-main.c:1659
 msgid "Use 'fuzzy' picking"
 msgstr "Uporabi 'mehko' izbiranje"
 
-#: ../clutter/clutter-main.c:1685
+#: ../clutter/clutter-main.c:1662
 msgid "Clutter debugging flags to set"
 msgstr "Clutterjeve razhroščevalne zastavice, ki naj bodo dvignjene"
 
-#: ../clutter/clutter-main.c:1687
+#: ../clutter/clutter-main.c:1664
 msgid "Clutter debugging flags to unset"
 msgstr "Cluttterjeve razhroščevalne zastavice, ki naj bodo spuščene"
 
-#: ../clutter/clutter-main.c:1691
+#: ../clutter/clutter-main.c:1668
 msgid "Clutter profiling flags to set"
 msgstr "Clutterjeve profilirne zastavice, ki naj bodo dvignjene"
 
-#: ../clutter/clutter-main.c:1693
+#: ../clutter/clutter-main.c:1670
 msgid "Clutter profiling flags to unset"
 msgstr "Clultterjeve profilirne zastavice, ki naj bodo spuščene"
 
-#: ../clutter/clutter-main.c:1696
+#: ../clutter/clutter-main.c:1673
 msgid "Enable accessibility"
 msgstr "Omogoči dostopnost"
 
-#: ../clutter/clutter-main.c:1888
+#: ../clutter/clutter-main.c:1865
 msgid "Clutter Options"
 msgstr "Možnosti Cluttra"
 
-#: ../clutter/clutter-main.c:1889
+#: ../clutter/clutter-main.c:1866
 msgid "Show Clutter Options"
 msgstr "Prikaže možnosti Cluttra"
 
@@ -1427,52 +1415,52 @@ msgstr "Domena prevajanja"
 msgid "The translation domain used to localize string"
 msgstr "Uporabljena domena prevajanja za krajevno prilagajanje niza"
 
-#: ../clutter/clutter-scroll-actor.c:190
+#: ../clutter/clutter-scroll-actor.c:263
 msgid "Scroll Mode"
 msgstr "Način drsenja"
 
-#: ../clutter/clutter-scroll-actor.c:191
+#: ../clutter/clutter-scroll-actor.c:264
 msgid "The scrolling direction"
 msgstr "Smer drsenja"
 
-#: ../clutter/clutter-settings.c:448
+#: ../clutter/clutter-settings.c:440
 msgid "Double Click Time"
 msgstr "Čas dvojnega klika"
 
-#: ../clutter/clutter-settings.c:449
+#: ../clutter/clutter-settings.c:441
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "Časovni razmik med kliki za zaznavanje večkratnega klika"
 
-#: ../clutter/clutter-settings.c:464
+#: ../clutter/clutter-settings.c:456
 msgid "Double Click Distance"
 msgstr "Razmik dvojnega klika"
 
-#: ../clutter/clutter-settings.c:465
+#: ../clutter/clutter-settings.c:457
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "Razmik med kliki za zaznavanje večkratnega klika"
 
-#: ../clutter/clutter-settings.c:480
+#: ../clutter/clutter-settings.c:472
 msgid "Drag Threshold"
 msgstr "Prag vleke"
 
-#: ../clutter/clutter-settings.c:481
+#: ../clutter/clutter-settings.c:473
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "Pot, ki naj jo kazalka prepotuje, preden začne delovati vleka predmeta"
 
-#: ../clutter/clutter-settings.c:496 ../clutter/clutter-text.c:3374
+#: ../clutter/clutter-settings.c:488 ../clutter/clutter-text.c:3369
 msgid "Font Name"
 msgstr "Ime pisave"
 
-#: ../clutter/clutter-settings.c:497
+#: ../clutter/clutter-settings.c:489
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr "Opis privzete pisave, ki jo lahko razčleni sistem Pango"
 
-#: ../clutter/clutter-settings.c:512
+#: ../clutter/clutter-settings.c:504
 msgid "Font Antialias"
 msgstr "Glajenje robov pisave"
 
-#: ../clutter/clutter-settings.c:513
+#: ../clutter/clutter-settings.c:505
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1480,61 +1468,61 @@ msgstr ""
 "Ali naj bo uporabljeno glajenje (1 za omogočanje, 0 za onemogočanje in -1 za "
 "uporabo privzete vrednosti)"
 
-#: ../clutter/clutter-settings.c:529
+#: ../clutter/clutter-settings.c:521
 msgid "Font DPI"
 msgstr "Vrednost DPI pisave"
 
-#: ../clutter/clutter-settings.c:530
+#: ../clutter/clutter-settings.c:522
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
 "Ločljivost pisave, določena kot 1024 * točk/palec, ali pa -1 za uporabo "
 "privzete vrednosti."
 
-#: ../clutter/clutter-settings.c:546
+#: ../clutter/clutter-settings.c:538
 msgid "Font Hinting"
 msgstr "Glajenje pisave"
 
-#: ../clutter/clutter-settings.c:547
+#: ../clutter/clutter-settings.c:539
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
 "Ali naj bo uporabljeno glajenje pisav (1 za omogočanje, 0 za onemogočanje in "
 "-1 za uporabo privzete vrednosti)"
 
-#: ../clutter/clutter-settings.c:568
+#: ../clutter/clutter-settings.c:560
 msgid "Font Hint Style"
 msgstr "Slog glajenja pisave"
 
-#: ../clutter/clutter-settings.c:569
+#: ../clutter/clutter-settings.c:561
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr "Slog glajenja robov (brez, delno, srednje in polno)"
 
-#: ../clutter/clutter-settings.c:590
+#: ../clutter/clutter-settings.c:582
 msgid "Font Subpixel Order"
 msgstr "Podtočkovni red pisave"
 
-#: ../clutter/clutter-settings.c:591
+#: ../clutter/clutter-settings.c:583
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "Vrsta podtočkovnega glajenja robov (brez, rgb, bgr, vrgb, vbgr)"
 
-#: ../clutter/clutter-settings.c:608
+#: ../clutter/clutter-settings.c:600
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "Najkrajše trajanje dolgega pritiska gumba pred prepoznavanjem poteze"
 
-#: ../clutter/clutter-settings.c:615
+#: ../clutter/clutter-settings.c:607
 msgid "Fontconfig configuration timestamp"
 msgstr "Časovni žig prilagoditev za fontconfig"
 
-#: ../clutter/clutter-settings.c:616
+#: ../clutter/clutter-settings.c:608
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Časovni žig trenutne prilagoditve fontconfig"
 
-#: ../clutter/clutter-settings.c:633
+#: ../clutter/clutter-settings.c:625
 msgid "Password Hint Time"
 msgstr "Čas namiga za geslo"
 
-#: ../clutter/clutter-settings.c:634
+#: ../clutter/clutter-settings.c:626
 msgid "How long to show the last input character in hidden entries"
 msgstr ""
 "Kako dolgo naj bo prikazan zadnji vpisan znak pri vpisovanje skritih vnosov "
@@ -1572,108 +1560,108 @@ msgstr "Rob vira, ki je povlečen"
 msgid "The offset in pixels to apply to the constraint"
 msgstr "Odmik v slikovnih točkah za uveljavitev omejitev"
 
-#: ../clutter/clutter-stage.c:1938
+#: ../clutter/clutter-stage.c:1895
 msgid "Fullscreen Set"
 msgstr "Celozaslonska nastavitev"
 
-#: ../clutter/clutter-stage.c:1939
+#: ../clutter/clutter-stage.c:1896
 msgid "Whether the main stage is fullscreen"
 msgstr "Ali je glavna postavitev celozaslonska"
 
-#: ../clutter/clutter-stage.c:1953
+#: ../clutter/clutter-stage.c:1910
 msgid "Offscreen"
 msgstr "Izven zaslona"
 
-#: ../clutter/clutter-stage.c:1954
+#: ../clutter/clutter-stage.c:1911
 msgid "Whether the main stage should be rendered offscreen"
 msgstr "Ali naj bo glavna postavitev izrisana izven zaslona"
 
-#: ../clutter/clutter-stage.c:1966 ../clutter/clutter-text.c:3488
+#: ../clutter/clutter-stage.c:1923 ../clutter/clutter-text.c:3483
 msgid "Cursor Visible"
 msgstr "Viden kazalec"
 
-#: ../clutter/clutter-stage.c:1967
+#: ../clutter/clutter-stage.c:1924
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Ali je miškin kazalec viden na glavni postavitvi"
 
-#: ../clutter/clutter-stage.c:1981
+#: ../clutter/clutter-stage.c:1938
 msgid "User Resizable"
 msgstr "Uporabnik lahko spreminja velikost"
 
-#: ../clutter/clutter-stage.c:1982
+#: ../clutter/clutter-stage.c:1939
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Ali lahko uporabnik spreminja velikost postavitve"
 
-#: ../clutter/clutter-stage.c:1997 ../clutter/deprecated/clutter-box.c:260
+#: ../clutter/clutter-stage.c:1954 ../clutter/deprecated/clutter-box.c:260
 #: ../clutter/deprecated/clutter-rectangle.c:273
 msgid "Color"
 msgstr "Barva"
 
-#: ../clutter/clutter-stage.c:1998
+#: ../clutter/clutter-stage.c:1955
 msgid "The color of the stage"
 msgstr "Barva postavitve"
 
-#: ../clutter/clutter-stage.c:2013
+#: ../clutter/clutter-stage.c:1970
 msgid "Perspective"
 msgstr "Perspektiva"
 
-#: ../clutter/clutter-stage.c:2014
+#: ../clutter/clutter-stage.c:1971
 msgid "Perspective projection parameters"
 msgstr "Perspektiva nastavitvenih parametrov"
 
-#: ../clutter/clutter-stage.c:2029
+#: ../clutter/clutter-stage.c:1986
 msgid "Title"
 msgstr "Naslov"
 
-#: ../clutter/clutter-stage.c:2030
+#: ../clutter/clutter-stage.c:1987
 msgid "Stage Title"
 msgstr "Naziv postavitve"
 
-#: ../clutter/clutter-stage.c:2047
+#: ../clutter/clutter-stage.c:2004
 msgid "Use Fog"
 msgstr "Uporabi meglo"
 
-#: ../clutter/clutter-stage.c:2048
+#: ../clutter/clutter-stage.c:2005
 msgid "Whether to enable depth cueing"
 msgstr "Ali naj se omogoči globinska izravnava"
 
-#: ../clutter/clutter-stage.c:2064
+#: ../clutter/clutter-stage.c:2021
 msgid "Fog"
 msgstr "Megla"
 
-#: ../clutter/clutter-stage.c:2065
+#: ../clutter/clutter-stage.c:2022
 msgid "Settings for the depth cueing"
 msgstr "Nastavitve globinske izravnave"
 
-#: ../clutter/clutter-stage.c:2081
+#: ../clutter/clutter-stage.c:2038
 msgid "Use Alpha"
 msgstr "Uporabi alfo"
 
-#: ../clutter/clutter-stage.c:2082
+#: ../clutter/clutter-stage.c:2039
 msgid "Whether to honour the alpha component of the stage color"
 msgstr "Ali naj se upošteva alfa sestavni del barve postavitve"
 
-#: ../clutter/clutter-stage.c:2098
+#: ../clutter/clutter-stage.c:2055
 msgid "Key Focus"
 msgstr "Žarišče tipke"
 
-#: ../clutter/clutter-stage.c:2099
+#: ../clutter/clutter-stage.c:2056
 msgid "The currently key focused actor"
 msgstr "Trenutna tipka predmeta v žarišču"
 
-#: ../clutter/clutter-stage.c:2115
+#: ../clutter/clutter-stage.c:2072
 msgid "No Clear Hint"
 msgstr "Ni jasnega namiga"
 
-#: ../clutter/clutter-stage.c:2116
+#: ../clutter/clutter-stage.c:2073
 msgid "Whether the stage should clear its contents"
 msgstr "Ali naj postavitev počisti svojo vsebino"
 
-#: ../clutter/clutter-stage.c:2129
+#: ../clutter/clutter-stage.c:2086
 msgid "Accept Focus"
 msgstr "Sprejmi žarišče"
 
-#: ../clutter/clutter-stage.c:2130
+#: ../clutter/clutter-stage.c:2087
 msgid "Whether the stage should accept focus on show"
 msgstr "Ali naj postavitev potrdi žarišče na prikazu"
 
@@ -1733,7 +1721,7 @@ msgstr "razmik med stolpci"
 msgid "Spacing between rows"
 msgstr "Razmik med vrsticami"
 
-#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3409
+#: ../clutter/clutter-text-buffer.c:351 ../clutter/clutter-text.c:3404
 msgid "Text"
 msgstr "Besedilo"
 
@@ -1758,225 +1746,225 @@ msgid "Maximum number of characters for this entry. Zero if no maximum"
 msgstr ""
 "Največje število znakov v tem vnosu. Vrednost nič določa neomejeno število."
 
-#: ../clutter/clutter-text.c:3356
+#: ../clutter/clutter-text.c:3351
 msgid "Buffer"
 msgstr "Medpomnilnik"
 
-#: ../clutter/clutter-text.c:3357
+#: ../clutter/clutter-text.c:3352
 msgid "The buffer for the text"
 msgstr "Medpomnilnik besedila"
 
-#: ../clutter/clutter-text.c:3375
+#: ../clutter/clutter-text.c:3370
 msgid "The font to be used by the text"
 msgstr "Pisava, ki jo uporablja besedilo"
 
-#: ../clutter/clutter-text.c:3392
+#: ../clutter/clutter-text.c:3387
 msgid "Font Description"
 msgstr "Opis pisave"
 
-#: ../clutter/clutter-text.c:3393
+#: ../clutter/clutter-text.c:3388
 msgid "The font description to be used"
 msgstr "Opis pisave, ki se uporablja"
 
-#: ../clutter/clutter-text.c:3410
+#: ../clutter/clutter-text.c:3405
 msgid "The text to render"
 msgstr "Besedilo, ki bo izrisano"
 
-#: ../clutter/clutter-text.c:3424
+#: ../clutter/clutter-text.c:3419
 msgid "Font Color"
 msgstr "Barva pisave"
 
-#: ../clutter/clutter-text.c:3425
+#: ../clutter/clutter-text.c:3420
 msgid "Color of the font used by the text"
 msgstr "Barva pisave, ki jo uporablja besedilo"
 
-#: ../clutter/clutter-text.c:3440
+#: ../clutter/clutter-text.c:3435
 msgid "Editable"
 msgstr "Uredljivo"
 
-#: ../clutter/clutter-text.c:3441
+#: ../clutter/clutter-text.c:3436
 msgid "Whether the text is editable"
 msgstr "Ali naj je besedilo uredljivo"
 
-#: ../clutter/clutter-text.c:3456
+#: ../clutter/clutter-text.c:3451
 msgid "Selectable"
 msgstr "Izberljivo"
 
-#: ../clutter/clutter-text.c:3457
+#: ../clutter/clutter-text.c:3452
 msgid "Whether the text is selectable"
 msgstr "Ali naj je besedilo izberljivo"
 
-#: ../clutter/clutter-text.c:3471
+#: ../clutter/clutter-text.c:3466
 msgid "Activatable"
 msgstr "Zagonljiv"
 
-#: ../clutter/clutter-text.c:3472
+#: ../clutter/clutter-text.c:3467
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "Ali naj se ob pritisku vračalke omogoči signal za oddajanje"
 
-#: ../clutter/clutter-text.c:3489
+#: ../clutter/clutter-text.c:3484
 msgid "Whether the input cursor is visible"
 msgstr "Ali naj je vnosni kazalec viden"
 
-#: ../clutter/clutter-text.c:3503 ../clutter/clutter-text.c:3504
+#: ../clutter/clutter-text.c:3498 ../clutter/clutter-text.c:3499
 msgid "Cursor Color"
 msgstr "Barva kazalce"
 
-#: ../clutter/clutter-text.c:3519
+#: ../clutter/clutter-text.c:3514
 msgid "Cursor Color Set"
 msgstr "Nastavitev barv kazalke"
 
-#: ../clutter/clutter-text.c:3520
+#: ../clutter/clutter-text.c:3515
 msgid "Whether the cursor color has been set"
 msgstr "Ali je bila barva kazalca nastavljena"
 
-#: ../clutter/clutter-text.c:3535
+#: ../clutter/clutter-text.c:3530
 msgid "Cursor Size"
 msgstr "Velikost kazalca"
 
-#: ../clutter/clutter-text.c:3536
+#: ../clutter/clutter-text.c:3531
 msgid "The width of the cursor, in pixels"
 msgstr "Širina kazalca, v slikovnih točkah"
 
-#: ../clutter/clutter-text.c:3552 ../clutter/clutter-text.c:3570
+#: ../clutter/clutter-text.c:3547 ../clutter/clutter-text.c:3565
 msgid "Cursor Position"
 msgstr "Položaj kazalca"
 
-#: ../clutter/clutter-text.c:3553 ../clutter/clutter-text.c:3571
+#: ../clutter/clutter-text.c:3548 ../clutter/clutter-text.c:3566
 msgid "The cursor position"
 msgstr "Položaj kazalca"
 
-#: ../clutter/clutter-text.c:3586
+#: ../clutter/clutter-text.c:3581
 msgid "Selection-bound"
 msgstr "Meja Izbora"
 
-#: ../clutter/clutter-text.c:3587
+#: ../clutter/clutter-text.c:3582
 msgid "The cursor position of the other end of the selection"
 msgstr "Položaj kazalke drugega konca izbora"
 
-#: ../clutter/clutter-text.c:3602 ../clutter/clutter-text.c:3603
+#: ../clutter/clutter-text.c:3597 ../clutter/clutter-text.c:3598
 msgid "Selection Color"
 msgstr "Barva izbora"
 
-#: ../clutter/clutter-text.c:3618
+#: ../clutter/clutter-text.c:3613
 msgid "Selection Color Set"
 msgstr "Nastavljena barva izbora"
 
-#: ../clutter/clutter-text.c:3619
+#: ../clutter/clutter-text.c:3614
 msgid "Whether the selection color has been set"
 msgstr "Ali je bila barva izbire nastavljena"
 
-#: ../clutter/clutter-text.c:3634
+#: ../clutter/clutter-text.c:3629
 msgid "Attributes"
 msgstr "Atributi"
 
-#: ../clutter/clutter-text.c:3635
+#: ../clutter/clutter-text.c:3630
 msgid "A list of style attributes to apply to the contents of the actor"
 msgstr "Seznam slogovnih atributov za uveljavitev vsebine predmeta"
 
-#: ../clutter/clutter-text.c:3657
+#: ../clutter/clutter-text.c:3652
 msgid "Use markup"
 msgstr "Uporabi označevanje"
 
-#: ../clutter/clutter-text.c:3658
+#: ../clutter/clutter-text.c:3653
 msgid "Whether or not the text includes Pango markup"
 msgstr "Ali naj besedilo vsebuje označevanje Pango"
 
-#: ../clutter/clutter-text.c:3674
+#: ../clutter/clutter-text.c:3669
 msgid "Line wrap"
 msgstr "Prelom vrstic"
 
-#: ../clutter/clutter-text.c:3675
+#: ../clutter/clutter-text.c:3670
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Izbrana možnost prelomi vrstice, če je besedilo preširoko"
 
-#: ../clutter/clutter-text.c:3690
+#: ../clutter/clutter-text.c:3685
 msgid "Line wrap mode"
 msgstr "Način preloma vrstic"
 
-#: ../clutter/clutter-text.c:3691
+#: ../clutter/clutter-text.c:3686
 msgid "Control how line-wrapping is done"
 msgstr "Nadzor preloma vrstic"
 
-#: ../clutter/clutter-text.c:3706
+#: ../clutter/clutter-text.c:3701
 msgid "Ellipsize"
 msgstr "Elipsiraj"
 
-#: ../clutter/clutter-text.c:3707
+#: ../clutter/clutter-text.c:3702
 msgid "The preferred place to ellipsize the string"
 msgstr "Prednostno mesto za elipsiranje niza"
 
-#: ../clutter/clutter-text.c:3723
+#: ../clutter/clutter-text.c:3718
 msgid "Line Alignment"
 msgstr "Poravnava vrstice"
 
-#: ../clutter/clutter-text.c:3724
+#: ../clutter/clutter-text.c:3719
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Prednostna poravnava niza za večvrstično besedilo"
 
-#: ../clutter/clutter-text.c:3740
+#: ../clutter/clutter-text.c:3735
 msgid "Justify"
 msgstr "Obojestranska poravnava"
 
-#: ../clutter/clutter-text.c:3741
+#: ../clutter/clutter-text.c:3736
 msgid "Whether the text should be justified"
 msgstr "Ali naj je besedilo obojestransko poravnano"
 
-#: ../clutter/clutter-text.c:3756
+#: ../clutter/clutter-text.c:3751
 msgid "Password Character"
 msgstr "Lastnost gesla"
 
-#: ../clutter/clutter-text.c:3757
+#: ../clutter/clutter-text.c:3752
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 "V kolikor vrednost ni nič, uporabi to lastnost za prikaz vsebine predmeta"
 
-#: ../clutter/clutter-text.c:3771
+#: ../clutter/clutter-text.c:3766
 msgid "Max Length"
 msgstr "Največja dolžina"
 
-#: ../clutter/clutter-text.c:3772
+#: ../clutter/clutter-text.c:3767
 msgid "Maximum length of the text inside the actor"
 msgstr "Največja dolžina besedila predmeta"
 
-#: ../clutter/clutter-text.c:3795
+#: ../clutter/clutter-text.c:3790
 msgid "Single Line Mode"
 msgstr "Enovrstični način"
 
-#: ../clutter/clutter-text.c:3796
+#: ../clutter/clutter-text.c:3791
 msgid "Whether the text should be a single line"
 msgstr "Ali naj je besedilo v eni vrstici"
 
-#: ../clutter/clutter-text.c:3810 ../clutter/clutter-text.c:3811
+#: ../clutter/clutter-text.c:3805 ../clutter/clutter-text.c:3806
 msgid "Selected Text Color"
 msgstr "Barva izbora"
 
-#: ../clutter/clutter-text.c:3826
+#: ../clutter/clutter-text.c:3821
 msgid "Selected Text Color Set"
 msgstr "Nastavljena barva izbora"
 
-#: ../clutter/clutter-text.c:3827
+#: ../clutter/clutter-text.c:3822
 msgid "Whether the selected text color has been set"
 msgstr "Ali je bila barva izbire nastavljena"
 
-#: ../clutter/clutter-timeline.c:594
+#: ../clutter/clutter-timeline.c:561
 #: ../clutter/deprecated/clutter-animation.c:560
 msgid "Loop"
 msgstr "Zanka"
 
-#: ../clutter/clutter-timeline.c:595
+#: ../clutter/clutter-timeline.c:562
 msgid "Should the timeline automatically restart"
 msgstr "Ali naj se časovni potek samodejno ponovno zažene"
 
-#: ../clutter/clutter-timeline.c:609
+#: ../clutter/clutter-timeline.c:576
 msgid "Delay"
 msgstr "Časovni zamik"
 
-#: ../clutter/clutter-timeline.c:610
+#: ../clutter/clutter-timeline.c:577
 msgid "Delay before start"
 msgstr "Časovni zamik pred začetkom"
 
-#: ../clutter/clutter-timeline.c:625
+#: ../clutter/clutter-timeline.c:592
 #: ../clutter/deprecated/clutter-animation.c:544
 #: ../clutter/deprecated/clutter-animator.c:1804
 #: ../clutter/deprecated/clutter-media.c:224
@@ -1984,41 +1972,41 @@ msgstr "Časovni zamik pred začetkom"
 msgid "Duration"
 msgstr "Trajanje"
 
-#: ../clutter/clutter-timeline.c:626
+#: ../clutter/clutter-timeline.c:593
 msgid "Duration of the timeline in milliseconds"
 msgstr "Trajanje časovnega poteka v milisekundah."
 
-#: ../clutter/clutter-timeline.c:641
+#: ../clutter/clutter-timeline.c:608
 #: ../clutter/deprecated/clutter-behaviour-ellipse.c:528
 #: ../clutter/deprecated/clutter-behaviour-rotate.c:337
 msgid "Direction"
 msgstr "Smer"
 
-#: ../clutter/clutter-timeline.c:642
+#: ../clutter/clutter-timeline.c:609
 msgid "Direction of the timeline"
 msgstr "Smer časovnega poteka"
 
-#: ../clutter/clutter-timeline.c:657
+#: ../clutter/clutter-timeline.c:624
 msgid "Auto Reverse"
 msgstr "Samodejno obračanje"
 
-#: ../clutter/clutter-timeline.c:658
+#: ../clutter/clutter-timeline.c:625
 msgid "Whether the direction should be reversed when reaching the end"
 msgstr "Ali naj se smer obrne ob dosegu konca"
 
-#: ../clutter/clutter-timeline.c:676
+#: ../clutter/clutter-timeline.c:643
 msgid "Repeat Count"
 msgstr "Ponovi štetje"
 
-#: ../clutter/clutter-timeline.c:677
+#: ../clutter/clutter-timeline.c:644
 msgid "How many times the timeline should repeat"
 msgstr "Kolikokrat naj se časovnica ponovi"
 
-#: ../clutter/clutter-timeline.c:691
+#: ../clutter/clutter-timeline.c:658
 msgid "Progress Mode"
 msgstr "Način napredka"
 
-#: ../clutter/clutter-timeline.c:692
+#: ../clutter/clutter-timeline.c:659
 msgid "How the timeline should compute the progress"
 msgstr "Kako naj časovnica izračunava napredek opravila"
 
@@ -2046,11 +2034,11 @@ msgstr "Odstrani po končanju"
 msgid "Detach the transition when completed"
 msgstr "Odstrani prehod po končanju"
 
-#: ../clutter/clutter-zoom-action.c:356
+#: ../clutter/clutter-zoom-action.c:354
 msgid "Zoom Axis"
 msgstr "Približaj po osi"
 
-#: ../clutter/clutter-zoom-action.c:357
+#: ../clutter/clutter-zoom-action.c:355
 msgid "Constraints the zoom to an axis"
 msgstr "Omeji približevanje na os"
 
@@ -2636,7 +2624,7 @@ msgstr "Pot naprave"
 msgid "Path of the device node"
 msgstr "Pot do vozlišča naprave"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:287
+#: ../clutter/gdk/clutter-backend-gdk.c:296
 #, c-format
 msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
 msgstr "Ni mogoče najti ustreznega predmeta CoglWinsys za vrsto GdkDisplay %s"
@@ -2665,23 +2653,23 @@ msgstr "Višina površine"
 msgid "The height of the underlying wayland surface"
 msgstr "Višina podporne površine wayland"
 
-#: ../clutter/x11/clutter-backend-x11.c:507
+#: ../clutter/x11/clutter-backend-x11.c:516
 msgid "X display to use"
 msgstr "Zaslon X, ki naj bo uporabljen"
 
-#: ../clutter/x11/clutter-backend-x11.c:513
+#: ../clutter/x11/clutter-backend-x11.c:522
 msgid "X screen to use"
 msgstr "Zaslon X, ki naj bo uporabljen"
 
-#: ../clutter/x11/clutter-backend-x11.c:518
+#: ../clutter/x11/clutter-backend-x11.c:527
 msgid "Make X calls synchronous"
 msgstr "Časovno uskladi klice X"
 
-#: ../clutter/x11/clutter-backend-x11.c:525
+#: ../clutter/x11/clutter-backend-x11.c:534
 msgid "Disable XInput support"
 msgstr "Onemogoči podporo XInput"
 
-#: ../clutter/x11/clutter-keymap-x11.c:322
+#: ../clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
 msgstr "Ozadnji program Clutter"
 
diff --git a/po/tr.po b/po/tr.po
index 278bec2..92b2563 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1,1425 +1,1387 @@
 # Turkish translation for clutter.
 # Copyright (C) 2011 clutter's COPYRIGHT HOLDER
 # This file is distributed under the same license as the clutter package.
-# Muhammet Kara <muhammetk gmail com>, 2011, 2014.
 #
+# Muhammet Kara <muhammet k gmail com>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: clutter master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
-"product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-12-09 16:09+0000\n"
-"PO-Revision-Date: 2014-12-09 22:35+0200\n"
-"Last-Translator: Muhammet Kara <muhammetk gmail com>\n"
-"Language-Team: Türkçe <gnome-turk gnome org>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.clutter-project.org/enter_bug.cgi?";
+"product=clutter\n"
+"POT-Creation-Date: 2011-09-12 13:51+0100\n"
+"PO-Revision-Date: 2011-09-11 22:10+0300\n"
+"Last-Translator: Muhammet Kara <muhammet k gmail com>\n"
+"Language-Team: Turkish <gnome-turk gnome org>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Gtranslator 2.91.6\n"
+"X-Generator: Lokalize 1.2\n"
 
-#: ../clutter/clutter-actor.c:5581
+#: clutter/clutter-actor.c:3852
 msgid "X coordinate"
 msgstr "X koordinatı"
 
-#: ../clutter/clutter-actor.c:5582
+#: clutter/clutter-actor.c:3853
 msgid "X coordinate of the actor"
 msgstr "Aktörün X koordinatı"
 
-#: ../clutter/clutter-actor.c:5600
+#: clutter/clutter-actor.c:3868
 msgid "Y coordinate"
 msgstr "Y koordinatı"
 
-#: ../clutter/clutter-actor.c:5601
+#: clutter/clutter-actor.c:3869
 msgid "Y coordinate of the actor"
 msgstr "Aktörün Y koordinatı"
 
-#: ../clutter/clutter-actor.c:5623
-#| msgid "Cursor Position"
-msgid "Position"
-msgstr "Konum"
-
-#: ../clutter/clutter-actor.c:5624
-#, fuzzy
-#| msgid "Forced X position of the actor"
-msgid "The position of the origin of the actor"
-msgstr "Aktörün zorunlu X konumu"
-
-#: ../clutter/clutter-actor.c:5641 ../clutter/clutter-canvas.c:220
-#: ../clutter/clutter-grid-layout.c:1238
+#: clutter/clutter-actor.c:3884 clutter/clutter-behaviour-ellipse.c:477
 msgid "Width"
 msgstr "Genişlik"
 
-#: ../clutter/clutter-actor.c:5642
+#: clutter/clutter-actor.c:3885
 msgid "Width of the actor"
 msgstr "Aktörün genişliği"
 
-#: ../clutter/clutter-actor.c:5660 ../clutter/clutter-canvas.c:236
-#: ../clutter/clutter-grid-layout.c:1245
+#: clutter/clutter-actor.c:3899 clutter/clutter-behaviour-ellipse.c:493
 msgid "Height"
 msgstr "Yükseklik"
 
-#: ../clutter/clutter-actor.c:5661
+#: clutter/clutter-actor.c:3900
 msgid "Height of the actor"
 msgstr "Aktörün yüksekliği"
 
-#: ../clutter/clutter-actor.c:5682
-msgid "Size"
-msgstr "Boyut"
-
-#: ../clutter/clutter-actor.c:5683
-#| msgid "Height of the actor"
-msgid "The size of the actor"
-msgstr "Aktörün boyutu"
-
-#: ../clutter/clutter-actor.c:5701
+#: clutter/clutter-actor.c:3918
 msgid "Fixed X"
 msgstr "Sabit X"
 
-#: ../clutter/clutter-actor.c:5702
+#: clutter/clutter-actor.c:3919
 msgid "Forced X position of the actor"
 msgstr "Aktörün zorunlu X konumu"
 
-#: ../clutter/clutter-actor.c:5719
+#: clutter/clutter-actor.c:3937
 msgid "Fixed Y"
 msgstr "Sabit Y"
 
-#: ../clutter/clutter-actor.c:5720
+#: clutter/clutter-actor.c:3938
 msgid "Forced Y position of the actor"
 msgstr "Aktörün zorunlu Y konumu"
 
-#: ../clutter/clutter-actor.c:5735
+#: clutter/clutter-actor.c:3954
 msgid "Fixed position set"
 msgstr "Ayarlanan sabit konum"
 
-#: ../clutter/clutter-actor.c:5736
+#: clutter/clutter-actor.c:3955
 msgid "Whether to use fixed positioning for the actor"
 msgstr "Aktör için sabit konumlandırma kullanılıp kullanılmayacağı"
 
-#: ../clutter/clutter-actor.c:5754
+#: clutter/clutter-actor.c:3977
 msgid "Min Width"
 msgstr "En Küçük Genişlik"
 
-#: ../clutter/clutter-actor.c:5755
+#: clutter/clutter-actor.c:3978
 msgid "Forced minimum width request for the actor"
 msgstr "Aktörün zorunlu en küçük genişlik isteği"
 
-#: ../clutter/clutter-actor.c:5773
+#: clutter/clutter-actor.c:3997
 msgid "Min Height"
 msgstr "En Küçük Yükseklik"
 
-#: ../clutter/clutter-actor.c:5774
+#: clutter/clutter-actor.c:3998
 msgid "Forced minimum height request for the actor"
 msgstr "Aktörün zorunlu en küçük yükseklik isteği"
 
-#: ../clutter/clutter-actor.c:5792
+#: clutter/clutter-actor.c:4017
 msgid "Natural Width"
 msgstr "Doğal Genişlik"
 
-#: ../clutter/clutter-actor.c:5793
+#: clutter/clutter-actor.c:4018
 msgid "Forced natural width request for the actor"
 msgstr "Aktörün zorunlu doğal genişlik isteği"
 
-#: ../clutter/clutter-actor.c:5811
+#: clutter/clutter-actor.c:4037
 msgid "Natural Height"
 msgstr "Doğal Yükseklik"
 
-#: ../clutter/clutter-actor.c:5812
+#: clutter/clutter-actor.c:4038
 msgid "Forced natural height request for the actor"
 msgstr "Aktörün zorunlu doğal yükseklik isteği"
 
-#: ../clutter/clutter-actor.c:5827
+#: clutter/clutter-actor.c:4054
 msgid "Minimum width set"
 msgstr "Ayarlanan en küçük genişlik"
 
-#: ../clutter/clutter-actor.c:5828
+#: clutter/clutter-actor.c:4055
 msgid "Whether to use the min-width property"
 msgstr "En küçük genişlik özelliğinin kullanımı"
 
-#: ../clutter/clutter-actor.c:5842
+#: clutter/clutter-actor.c:4070
 msgid "Minimum height set"
 msgstr "Ayarlanan en küçük yükseklik"
 
-#: ../clutter/clutter-actor.c:5843
+#: clutter/clutter-actor.c:4071
 msgid "Whether to use the min-height property"
 msgstr "En küçük yükseklik özelliğinin kullanımı"
 
-#: ../clutter/clutter-actor.c:5857
+#: clutter/clutter-actor.c:4086
 msgid "Natural width set"
 msgstr "Ayarlanan doğal genişlik"
 
-#: ../clutter/clutter-actor.c:5858
+#: clutter/clutter-actor.c:4087
 msgid "Whether to use the natural-width property"
 msgstr "Doğal genişlik özelliğinin kullanımı"
 
-#: ../clutter/clutter-actor.c:5872
+#: clutter/clutter-actor.c:4104
 msgid "Natural height set"
 msgstr "Ayarlanan doğal yükseklik"
 
-#: ../clutter/clutter-actor.c:5873
+#: clutter/clutter-actor.c:4105
 msgid "Whether to use the natural-height property"
 msgstr "Doğal yükseklik özelliğinin kullanımı"
 
-#: ../clutter/clutter-actor.c:5889
+#: clutter/clutter-actor.c:4124
 msgid "Allocation"
 msgstr "Yer Ayırma"
 
-#: ../clutter/clutter-actor.c:5890
+#: clutter/clutter-actor.c:4125
 msgid "The actor's allocation"
 msgstr "Aktör için yer tahsisi"
 
-#: ../clutter/clutter-actor.c:5947
+#: clutter/clutter-actor.c:4181
 msgid "Request Mode"
 msgstr "İstek Kipi"
 
-#: ../clutter/clutter-actor.c:5948
+#: clutter/clutter-actor.c:4182
 msgid "The actor's request mode"
 msgstr "Aktörün istek kipi"
 
-#: ../clutter/clutter-actor.c:5972
-#| msgid "Cursor Position"
-msgid "Z Position"
-msgstr "Z Konumu"
+#: clutter/clutter-actor.c:4197
+msgid "Depth"
+msgstr "Derinlik"
 
-#: ../clutter/clutter-actor.c:5973
-#| msgid "Position on the Z axis"
-msgid "The actor's position on the Z axis"
-msgstr "Aktörün Z ekseni üzerindeki konumu"
+#: clutter/clutter-actor.c:4198
+msgid "Position on the Z axis"
+msgstr "Z eksenindeki konum"
 
-#: ../clutter/clutter-actor.c:5990
+#: clutter/clutter-actor.c:4212
 msgid "Opacity"
 msgstr "Matlık"
 
-#: ../clutter/clutter-actor.c:5991
+#: clutter/clutter-actor.c:4213
 msgid "Opacity of an actor"
 msgstr "Bir aktörün matlığı"
 
-#: ../clutter/clutter-actor.c:6011
+#: clutter/clutter-actor.c:4232
 msgid "Offscreen redirect"
 msgstr "Ekran dışı yönlendirme"
 
-#: ../clutter/clutter-actor.c:6012
+#: clutter/clutter-actor.c:4233
 msgid "Flags controlling when to flatten the actor into a single image"
 msgstr ""
 "Aktörün ne zaman tekil bir görüntüye dönüştürüleceğini (düzleştirileceğini) "
 "denetleyen imler"
 
-#: ../clutter/clutter-actor.c:6026
+#: clutter/clutter-actor.c:4251
 msgid "Visible"
 msgstr "Görünür"
 
-#: ../clutter/clutter-actor.c:6027
+#: clutter/clutter-actor.c:4252
 msgid "Whether the actor is visible or not"
 msgstr "Aktörün görünürlüğü"
 
-#: ../clutter/clutter-actor.c:6041
+#: clutter/clutter-actor.c:4267
 msgid "Mapped"
 msgstr "Eşleştirilmiş"
 
-#: ../clutter/clutter-actor.c:6042
+#: clutter/clutter-actor.c:4268
 msgid "Whether the actor will be painted"
 msgstr "Aktörün boyanması"
 
-#: ../clutter/clutter-actor.c:6055
+#: clutter/clutter-actor.c:4282
 msgid "Realized"
 msgstr "Gerçeklendi"
 
-#: ../clutter/clutter-actor.c:6056
+#: clutter/clutter-actor.c:4283
 msgid "Whether the actor has been realized"
 msgstr "Aktörün gerçeklenme durumu"
 
-#: ../clutter/clutter-actor.c:6071
+#: clutter/clutter-actor.c:4299
 msgid "Reactive"
 msgstr "Duyarlı"
 
-#: ../clutter/clutter-actor.c:6072
+#: clutter/clutter-actor.c:4300
 msgid "Whether the actor is reactive to events"
 msgstr "Aktörün olaylara duyarlılığı"
 
-#: ../clutter/clutter-actor.c:6083
-#, fuzzy
+#: clutter/clutter-actor.c:4312
 msgid "Has Clip"
-msgstr "İşaretçisi Var"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6084
-#, fuzzy
+#: clutter/clutter-actor.c:4313
 msgid "Whether the actor has a clip set"
-msgstr "Aktörün gerçeklenme durumu"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6103
-#, fuzzy
-msgid "Clip Rectangle"
-msgstr "Seçim dörgeni"
+#: clutter/clutter-actor.c:4328
+msgid "Clip"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6104
-#, fuzzy
-#| msgid "Forced X position of the actor"
-msgid "The visible region of the actor"
-msgstr "Aktörün zorunlu X konumu"
+#: clutter/clutter-actor.c:4329
+msgid "The clip region for the actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6118 ../clutter/clutter-actor-meta.c:207
-#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
+#: clutter/clutter-actor.c:4343 clutter/clutter-actor-meta.c:207
+#: clutter/clutter-binding-pool.c:319 clutter/clutter-input-device.c:236
 msgid "Name"
 msgstr "Ad"
 
-#: ../clutter/clutter-actor.c:6119
+#: clutter/clutter-actor.c:4344
 msgid "Name of the actor"
 msgstr "Aktörün adı"
 
-#: ../clutter/clutter-actor.c:6140
-#, fuzzy
-msgid "Pivot Point"
-msgstr "Beyaz nokta"
-
-#: ../clutter/clutter-actor.c:6141
-msgid "The point around which the scaling and rotation occur"
-msgstr ""
-
-#: ../clutter/clutter-actor.c:6159
-#, fuzzy
-msgid "Pivot Point Z"
-msgstr "Beyaz nokta"
-
-#: ../clutter/clutter-actor.c:6160
-#, fuzzy
-msgid "Z component of the pivot point"
-msgstr "Bir bölme noktası yerleştir"
-
-#: ../clutter/clutter-actor.c:6178
+#: clutter/clutter-actor.c:4358
 msgid "Scale X"
 msgstr "X Ölçeği"
 
-#: ../clutter/clutter-actor.c:6179
+#: clutter/clutter-actor.c:4359
 msgid "Scale factor on the X axis"
 msgstr "X eksenindeki ölçekleme çarpanı"
 
-#: ../clutter/clutter-actor.c:6197
+#: clutter/clutter-actor.c:4374
 msgid "Scale Y"
 msgstr "Y Ölçeği"
 
-#: ../clutter/clutter-actor.c:6198
+#: clutter/clutter-actor.c:4375
 msgid "Scale factor on the Y axis"
 msgstr "Y eksenindeki ölçekleme çarpanı"
 
-#: ../clutter/clutter-actor.c:6216
-#| msgid "Scale X"
-msgid "Scale Z"
-msgstr "Z Ölçeği"
+#: clutter/clutter-actor.c:4390
+msgid "Scale Center X"
+msgstr "X Ölçeği Merkezi"
 
-#: ../clutter/clutter-actor.c:6217
-#| msgid "Scale factor on the X axis"
-msgid "Scale factor on the Z axis"
-msgstr "Z eksenindeki ölçekleme çarpanı"
+#: clutter/clutter-actor.c:4391
+msgid "Horizontal scale center"
+msgstr "Yatay ölçek merkezi"
 
-#: ../clutter/clutter-actor.c:6235
+#: clutter/clutter-actor.c:4406
+msgid "Scale Center Y"
+msgstr "Y Ölçeği Merkezi"
+
+#: clutter/clutter-actor.c:4407
+msgid "Vertical scale center"
+msgstr "Dikey ölçek merkezi"
+
+#: clutter/clutter-actor.c:4422
+msgid "Scale Gravity"
+msgstr "Ölçek Ağırlık Merkezi"
+
+#: clutter/clutter-actor.c:4423
+msgid "The center of scaling"
+msgstr "Ölçekleme merkezi"
+
+#: clutter/clutter-actor.c:4440
 msgid "Rotation Angle X"
 msgstr "X Dönme Açısı"
 
-#: ../clutter/clutter-actor.c:6236
+#: clutter/clutter-actor.c:4441
 msgid "The rotation angle on the X axis"
 msgstr "X ekseni üzerindeki dönme açısı"
 
-#: ../clutter/clutter-actor.c:6254
+#: clutter/clutter-actor.c:4456
 msgid "Rotation Angle Y"
 msgstr "Y Dönme Açısı"
 
-#: ../clutter/clutter-actor.c:6255
+#: clutter/clutter-actor.c:4457
 msgid "The rotation angle on the Y axis"
 msgstr "Y ekseni üzerindeki dönme açısı"
 
-#: ../clutter/clutter-actor.c:6273
+#: clutter/clutter-actor.c:4472
 msgid "Rotation Angle Z"
 msgstr "Z Dönme Açısı"
 
-#: ../clutter/clutter-actor.c:6274
+#: clutter/clutter-actor.c:4473
 msgid "The rotation angle on the Z axis"
 msgstr "Z ekseni üzerindeki dönme açısı"
 
-#: ../clutter/clutter-actor.c:6293
-#, fuzzy
-msgid "Translation X"
-msgstr "Çeviri"
-
-#: ../clutter/clutter-actor.c:6294
-#, fuzzy
-#| msgid "The rotation angle on the X axis"
-msgid "Translation along the X axis"
-msgstr "Çeviriciler için bağlam"
-
-#: ../clutter/clutter-actor.c:6313
-#, fuzzy
-msgid "Translation Y"
-msgstr "Çeviri"
-
-#: ../clutter/clutter-actor.c:6314
-#, fuzzy
-#| msgid "The rotation angle on the Y axis"
-msgid "Translation along the Y axis"
-msgstr "Çeviriciler için bağlam"
-
-#: ../clutter/clutter-actor.c:6333
-#, fuzzy
-msgid "Translation Z"
-msgstr "Çeviri"
-
-#: ../clutter/clutter-actor.c:6334
-#, fuzzy
-#| msgid "The rotation angle on the Z axis"
-msgid "Translation along the Z axis"
-msgstr "Çeviriciler için bağlam"
-
-#: ../clutter/clutter-actor.c:6362
-#, fuzzy
-msgid "Transform"
-msgstr "_Değiştir"
-
-#: ../clutter/clutter-actor.c:6363
-#, fuzzy
-msgid "Transformation matrix"
-msgstr "Dönüşüm başarısız oldu."
-
-#: ../clutter/clutter-actor.c:6376
-#, fuzzy
-msgid "Transform Set"
-msgstr "Dosya Adı Ayarlandı"
+#: clutter/clutter-actor.c:4488
+msgid "Rotation Center X"
+msgstr "X Dönme Merkezi"
 
-#: ../clutter/clutter-actor.c:6377
-#, fuzzy
-#| msgid "Whether the :filename property is set"
-msgid "Whether the transform property is set"
-msgstr ":filename özelliğinin ayarlanmış olup olmaması"
+#: clutter/clutter-actor.c:4489
+msgid "The rotation center on the X axis"
+msgstr "X ekseni üzerindeki dönme merkezi"
 
-#: ../clutter/clutter-actor.c:6396
-#, fuzzy
-msgid "Child Transform"
-msgstr "bir oğul aç"
-
-#: ../clutter/clutter-actor.c:6397
-#, fuzzy
-msgid "Children transformation matrix"
-msgstr "Düzenleyici metin değişimleri"
-
-#: ../clutter/clutter-actor.c:6412
-#, fuzzy
-msgid "Child Transform Set"
-msgstr "Sinyal Özelliklerini Ayarla"
-
-#: ../clutter/clutter-actor.c:6413
-#, fuzzy
-#| msgid "Whether the :filename property is set"
-msgid "Whether the child-transform property is set"
-msgstr ":filename özelliğinin ayarlanmış olup olmaması"
+#: clutter/clutter-actor.c:4505
+msgid "Rotation Center Y"
+msgstr "Y Dönme Merkezi"
+
+#: clutter/clutter-actor.c:4506
+msgid "The rotation center on the Y axis"
+msgstr "Y ekseni üzerindeki dönme merkezi"
+
+#: clutter/clutter-actor.c:4522
+msgid "Rotation Center Z"
+msgstr "Z Dönme Merkezi"
+
+#: clutter/clutter-actor.c:4523
+msgid "The rotation center on the Z axis"
+msgstr "Z ekseni üzerindeki dönme merkezi"
+
+#: clutter/clutter-actor.c:4539
+msgid "Rotation Center Z Gravity"
+msgstr "Z Dönme Merkezi Yerçekimi"
+
+#: clutter/clutter-actor.c:4540
+msgid "Center point for rotation around the Z axis"
+msgstr ""
+
+#: clutter/clutter-actor.c:4558
+msgid "Anchor X"
+msgstr ""
+
+#: clutter/clutter-actor.c:4559
+msgid "X coordinate of the anchor point"
+msgstr ""
+
+#: clutter/clutter-actor.c:4575
+msgid "Anchor Y"
+msgstr ""
+
+#: clutter/clutter-actor.c:4576
+msgid "Y coordinate of the anchor point"
+msgstr ""
+
+#: clutter/clutter-actor.c:4591
+msgid "Anchor Gravity"
+msgstr ""
+
+#: clutter/clutter-actor.c:4592
+msgid "The anchor point as a ClutterGravity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6431
-#, fuzzy
+#: clutter/clutter-actor.c:4611
+msgid "Show on set parent"
+msgstr ""
+
+#: clutter/clutter-actor.c:4612
+msgid "Whether the actor is shown when parented"
+msgstr ""
+
+#: clutter/clutter-actor.c:4632
 msgid "Clip to Allocation"
-msgstr "_Taşımak için Tıklayın"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6432
+#: clutter/clutter-actor.c:4633
 msgid "Sets the clip region to track the actor's allocation"
 msgstr ""
 
-#: ../clutter/clutter-actor.c:6445
+#: clutter/clutter-actor.c:4643
 msgid "Text Direction"
 msgstr "Metin Yönü"
 
-#: ../clutter/clutter-actor.c:6446
+#: clutter/clutter-actor.c:4644
 msgid "Direction of the text"
 msgstr "Metnin yönü"
 
-#: ../clutter/clutter-actor.c:6461
+#: clutter/clutter-actor.c:4662
 msgid "Has Pointer"
 msgstr "İşaretçisi Var"
 
-#: ../clutter/clutter-actor.c:6462
+#: clutter/clutter-actor.c:4663
 msgid "Whether the actor contains the pointer of an input device"
 msgstr "Aktörün, bir giriş aygıtının işaretçisini içerip içermemesi"
 
-#: ../clutter/clutter-actor.c:6475
+#: clutter/clutter-actor.c:4680
 msgid "Actions"
 msgstr "Eylemler"
 
-#: ../clutter/clutter-actor.c:6476
+#: clutter/clutter-actor.c:4681
 msgid "Adds an action to the actor"
 msgstr "Aktöre bir eylem ekler"
 
-#: ../clutter/clutter-actor.c:6489
+#: clutter/clutter-actor.c:4695
 msgid "Constraints"
 msgstr "Kısıtlar"
 
-#: ../clutter/clutter-actor.c:6490
+#: clutter/clutter-actor.c:4696
 msgid "Adds a constraint to the actor"
 msgstr "Aktöre bir kısıt ekler"
 
-#: ../clutter/clutter-actor.c:6503
-#, fuzzy
-msgid "Effect"
-msgstr "efekt"
+#: clutter/clutter-actor-meta.c:193 clutter/clutter-child-meta.c:142
+msgid "Actor"
+msgstr "Aktör"
 
-#: ../clutter/clutter-actor.c:6504
-#, fuzzy
-#| msgid "Adds an action to the actor"
-msgid "Add an effect to be applied on the actor"
-msgstr "Aktöre bir eylem ekler"
+#: clutter/clutter-actor-meta.c:194
+msgid "The actor attached to the meta"
+msgstr "Meta'ya ekli aktör"
 
-#: ../clutter/clutter-actor.c:6518
-msgid "Layout Manager"
-msgstr "Yerleşim Yöneticisi"
+#: clutter/clutter-actor-meta.c:208
+msgid "The name of the meta"
+msgstr "Meta'nın adı"
 
-#: ../clutter/clutter-actor.c:6519
-msgid "The object controlling the layout of an actor's children"
-msgstr ""
+#: clutter/clutter-actor-meta.c:221 clutter/clutter-input-device.c:315
+#: clutter/clutter-shader.c:307
+msgid "Enabled"
+msgstr "Etkinleştirildi"
 
-#: ../clutter/clutter-actor.c:6533
-#, fuzzy
-#| msgid "Expand"
-msgid "X Expand"
-msgstr "Genişlet"
+#: clutter/clutter-actor-meta.c:222
+msgid "Whether the meta is enabled"
+msgstr "Meta'nın etkin olup olmaması"
 
-#: ../clutter/clutter-actor.c:6534
-#, fuzzy
-#| msgid "Whether the surface should match the allocation"
-msgid "Whether extra horizontal space should be assigned to the actor"
-msgstr "Yüzeyin yer ayrımına uyumu"
+#: clutter/clutter-align-constraint.c:270
+#: clutter/clutter-bind-constraint.c:349 clutter/clutter-clone.c:340
+#: clutter/clutter-snap-constraint.c:321
+msgid "Source"
+msgstr "Kaynak"
 
-#: ../clutter/clutter-actor.c:6549
-#, fuzzy
-#| msgid "Expand"
-msgid "Y Expand"
-msgstr "Genişlet"
+#: clutter/clutter-align-constraint.c:271
+msgid "The source of the alignment"
+msgstr "Hizalama kaynağı"
 
-#: ../clutter/clutter-actor.c:6550
-#, fuzzy
-#| msgid "Whether the surface should match the allocation"
-msgid "Whether extra vertical space should be assigned to the actor"
-msgstr "Yüzeyin yer ayrımına uyumu"
+#: clutter/clutter-align-constraint.c:284
+msgid "Align Axis"
+msgstr "Hizalama Ekseni"
 
-#: ../clutter/clutter-actor.c:6566
-#, fuzzy
-#| msgid "Line Alignment"
-msgid "X Alignment"
-msgstr "X Hizalaması"
+#: clutter/clutter-align-constraint.c:285
+msgid "The axis to align the position to"
+msgstr "Konumun hizalanacağı eksen"
 
-#: ../clutter/clutter-actor.c:6567
-#, fuzzy
-#| msgid "Vertical alignment of the actor within the cell"
-msgid "The alignment of the actor on the X axis within its allocation"
-msgstr "Aktörün hücre içindeki dikey hizalaması"
+#: clutter/clutter-align-constraint.c:304
+#: clutter/clutter-desaturate-effect.c:304
+msgid "Factor"
+msgstr "Çarpan"
 
-#: ../clutter/clutter-actor.c:6582
-#, fuzzy
-#| msgid "Line Alignment"
-msgid "Y Alignment"
-msgstr "Y Hizalaması"
+#: clutter/clutter-align-constraint.c:305
+msgid "The alignment factor, between 0.0 and 1.0"
+msgstr "Hizalama çarpanı, 0.0 ile 1.0 arasında"
 
-#: ../clutter/clutter-actor.c:6583
-#, fuzzy
-#| msgid "Vertical alignment of the actor within the cell"
-msgid "The alignment of the actor on the Y axis within its allocation"
-msgstr "Aktörün hücre içindeki dikey hizalaması"
+#: clutter/clutter-alpha.c:345 clutter/clutter-animation.c:538
+#: clutter/clutter-animator.c:1802
+msgid "Timeline"
+msgstr "Zaman Çizgisi"
 
-#: ../clutter/clutter-actor.c:6602
-#, fuzzy
-msgid "Margin Top"
-msgstr "Üst panel"
-
-#: ../clutter/clutter-actor.c:6603
-#, fuzzy
-msgid "Extra space at the top"
-msgstr "Parçanın üstüne eklenecek doldurma."
-
-#: ../clutter/clutter-actor.c:6624
-#, fuzzy
-msgid "Margin Bottom"
-msgstr "Alt panel"
-
-#: ../clutter/clutter-actor.c:6625
-#, fuzzy
-msgid "Extra space at the bottom"
-msgstr "Cevaplarken _yazmaya aşağıdan başla"
-
-#: ../clutter/clutter-actor.c:6646
-#, fuzzy
-msgid "Margin Left"
-msgstr "Sol kenar boşluğu"
-
-#: ../clutter/clutter-actor.c:6647
-#, fuzzy
-msgid "Extra space at the left"
-msgstr "Sunucuda yer kalmadı"
-
-#: ../clutter/clutter-actor.c:6668
-#, fuzzy
-#| msgid "Min Height"
-msgid "Margin Right"
-msgstr "Sağ kenar boşluğu"
-
-#: ../clutter/clutter-actor.c:6669
-#, fuzzy
-msgid "Extra space at the right"
-msgstr "Sağ kenar boşluğunu sütunda _göster:"
-
-#: ../clutter/clutter-actor.c:6685
-#, fuzzy
-#| msgid "Cursor Color Set"
-msgid "Background Color Set"
-msgstr "Arkaplan renginin atanmış olması"
+#: clutter/clutter-alpha.c:346
+msgid "Timeline used by the alpha"
+msgstr "Alfa tarafından kullanılan zaman çizgisi"
 
-#: ../clutter/clutter-actor.c:6686
-msgid "Whether the background color is set"
-msgstr "Arkaplan renginin atanmış olması"
+#: clutter/clutter-alpha.c:361
+msgid "Alpha value"
+msgstr "Alfa değeri"
 
-#: ../clutter/clutter-actor.c:6702
-#, fuzzy
-#| msgid "The background color of the box"
-msgid "Background color"
-msgstr "Arkaplan rengi"
-
-#: ../clutter/clutter-actor.c:6703
-#, fuzzy
-#| msgid "The background color of the box"
-msgid "The actor's background color"
-msgstr "Arkaplan Rengi sütunu"
-
-#: ../clutter/clutter-actor.c:6718
-#, fuzzy
-msgid "First Child"
-msgstr "bir oğul aç"
-
-#: ../clutter/clutter-actor.c:6719
-#, fuzzy
-#| msgid "The actor's request mode"
-msgid "The actor's first child"
-msgstr "%2$s üzerinden %1$s altını sil"
-
-#: ../clutter/clutter-actor.c:6732
-#, fuzzy
-msgid "Last Child"
-msgstr "bir oğul aç"
-
-#: ../clutter/clutter-actor.c:6733
-#, fuzzy
-#| msgid "The actor's allocation"
-msgid "The actor's last child"
-msgstr "%2$s üzerinden %1$s altını sil"
-
-#: ../clutter/clutter-actor.c:6747
-#| msgid "Container"
-msgid "Content"
-msgstr "İçerik"
-
-#: ../clutter/clutter-actor.c:6748
-#, fuzzy
-#| msgid "The ClutterPath object representing the path to animate along"
-msgid "Delegate object for painting the actor's content"
-msgstr "Üzerinde canlandırma yapılacak yolu ifade eden ClutterPath nesnesi"
+#: clutter/clutter-alpha.c:362
+msgid "Alpha value as computed by the alpha"
+msgstr "Alfa tarafından hesaplandığı haliyle alfa değeri"
 
-#: ../clutter/clutter-actor.c:6773
-#, fuzzy
-#| msgid "Rotation Center Z Gravity"
-msgid "Content Gravity"
-msgstr "Çekim İpucusu"
+#: clutter/clutter-alpha.c:382 clutter/clutter-animation.c:494
+msgid "Mode"
+msgstr "Kip"
 
-#: ../clutter/clutter-actor.c:6774
-#, fuzzy
-#| msgid "Vertical alignment of the actor within the cell"
-msgid "Alignment of the actor's content"
-msgstr "Akışkan İçe_rik"
+#: clutter/clutter-alpha.c:383
+msgid "Progress mode"
+msgstr "İlerleme kipi"
 
-#: ../clutter/clutter-actor.c:6794
-#, fuzzy
-msgid "Content Box"
-msgstr "kontrol kutusu"
+#: clutter/clutter-animation.c:478
+msgid "Object"
+msgstr "Nesne"
 
-#: ../clutter/clutter-actor.c:6795
-msgid "The bounding box of the actor's content"
-msgstr ""
+#: clutter/clutter-animation.c:479
+msgid "Object to which the animation applies"
+msgstr "Canlandırmanın uygulanacağı nesne"
+
+#: clutter/clutter-animation.c:495
+msgid "The mode of the animation"
+msgstr "Canlandırma kipi"
+
+#: clutter/clutter-animation.c:509 clutter/clutter-animator.c:1786
+#: clutter/clutter-media.c:194 clutter/clutter-state.c:1486
+#: clutter/clutter-timeline.c:294
+msgid "Duration"
+msgstr "Süre"
+
+#: clutter/clutter-animation.c:510
+msgid "Duration of the animation, in milliseconds"
+msgstr "Milisaniye cinsinden canlandırma süresi"
+
+#: clutter/clutter-animation.c:524 clutter/clutter-timeline.c:263
+msgid "Loop"
+msgstr "Döngü"
+
+#: clutter/clutter-animation.c:525
+msgid "Whether the animation should loop"
+msgstr "Canlandırmanın tekrarlanıp tekrarlanmayacağı"
+
+#: clutter/clutter-animation.c:539
+msgid "The timeline used by the animation"
+msgstr "Canlandırma tarafından kullanılan zaman çizgisi"
+
+#: clutter/clutter-animation.c:552 clutter/clutter-behaviour.c:304
+msgid "Alpha"
+msgstr "Alfa"
+
+#: clutter/clutter-animation.c:553
+msgid "The alpha used by the animation"
+msgstr "Canlandırma tarafından kullanılan alfa"
+
+#: clutter/clutter-animator.c:1787
+msgid "The duration of the animation"
+msgstr "Canlandırma süresi"
+
+#: clutter/clutter-animator.c:1803
+msgid "The timeline of the animation"
+msgstr "Canlandırma zaman çizgisi"
+
+#: clutter/clutter-behaviour.c:305
+msgid "Alpha Object to drive the behaviour"
+msgstr "Davranışı kontrol eden Alfa Nesnesi"
+
+#: clutter/clutter-behaviour-depth.c:178
+msgid "Start Depth"
+msgstr "Başlangıç Derinliği"
+
+#: clutter/clutter-behaviour-depth.c:179
+msgid "Initial depth to apply"
+msgstr "Uygulanacak ilk derinlik"
 
-#: ../clutter/clutter-actor.c:6803
-#, fuzzy
-msgid "Minification Filter"
-msgstr "Filtre Seçenekleri"
+#: clutter/clutter-behaviour-depth.c:194
+msgid "End Depth"
+msgstr "Bitiş Derinliği"
 
-#: ../clutter/clutter-actor.c:6804
-msgid "The filter used when reducing the size of the content"
+#: clutter/clutter-behaviour-depth.c:195
+msgid "Final depth to apply"
+msgstr "Uygulanacak son derinlik"
+
+#: clutter/clutter-behaviour-ellipse.c:397
+msgid "Start Angle"
+msgstr "Başlangıç Açısı"
+
+#: clutter/clutter-behaviour-ellipse.c:398
+#: clutter/clutter-behaviour-rotate.c:280
+msgid "Initial angle"
+msgstr "İlk açı"
+
+#: clutter/clutter-behaviour-ellipse.c:413
+msgid "End Angle"
+msgstr "Bitiş Açısı"
+
+#: clutter/clutter-behaviour-ellipse.c:414
+#: clutter/clutter-behaviour-rotate.c:298
+msgid "Final angle"
+msgstr "Son açı"
+
+#: clutter/clutter-behaviour-ellipse.c:429
+msgid "Angle x tilt"
 msgstr ""
 
-#: ../clutter/clutter-actor.c:6811
-#, fuzzy
-msgid "Magnification Filter"
-msgstr "Filtre Seçenekleri"
+#: clutter/clutter-behaviour-ellipse.c:430
+msgid "Tilt of the ellipse around x axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6812
-msgid "The filter used when increasing the size of the content"
+#: clutter/clutter-behaviour-ellipse.c:445
+msgid "Angle y tilt"
 msgstr ""
 
-#: ../clutter/clutter-actor.c:6826
-#, fuzzy
-msgid "Content Repeat"
-msgstr "Hatırlatıcıyı _tekrarla"
+#: clutter/clutter-behaviour-ellipse.c:446
+msgid "Tilt of the ellipse around y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6827
-msgid "The repeat policy for the actor's content"
+#: clutter/clutter-behaviour-ellipse.c:461
+msgid "Angle z tilt"
 msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
-msgid "Actor"
-msgstr "Aktör"
+#: clutter/clutter-behaviour-ellipse.c:462
+msgid "Tilt of the ellipse around z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:194
-msgid "The actor attached to the meta"
-msgstr "Meta'ya ekli aktör"
+#: clutter/clutter-behaviour-ellipse.c:478
+msgid "Width of the ellipse"
+msgstr "Elipsin genişliği"
 
-#: ../clutter/clutter-actor-meta.c:208
-msgid "The name of the meta"
-msgstr "Meta'nın adı"
+#: clutter/clutter-behaviour-ellipse.c:494
+msgid "Height of ellipse"
+msgstr "Elips yüksekliği"
 
-#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
-msgid "Enabled"
-msgstr "Etkinleştirildi"
+#: clutter/clutter-behaviour-ellipse.c:509
+msgid "Center"
+msgstr "Merkez"
 
-#: ../clutter/clutter-actor-meta.c:222
-msgid "Whether the meta is enabled"
-msgstr "Meta'nın etkin olup olmaması"
+#: clutter/clutter-behaviour-ellipse.c:510
+msgid "Center of ellipse"
+msgstr "Elips merkezi"
 
-#: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
-#: ../clutter/clutter-snap-constraint.c:321
-msgid "Source"
-msgstr "Kaynak"
+#: clutter/clutter-behaviour-ellipse.c:524
+#: clutter/clutter-behaviour-rotate.c:333 clutter/clutter-timeline.c:310
+msgid "Direction"
+msgstr "Yön"
 
-#: ../clutter/clutter-align-constraint.c:280
-msgid "The source of the alignment"
-msgstr "Hizalama kaynağı"
+#: clutter/clutter-behaviour-ellipse.c:525
+#: clutter/clutter-behaviour-rotate.c:334
+msgid "Direction of rotation"
+msgstr "Dönme yönü"
 
-#: ../clutter/clutter-align-constraint.c:293
-msgid "Align Axis"
-msgstr "Hizalama Ekseni"
+#: clutter/clutter-behaviour-opacity.c:181
+msgid "Opacity Start"
+msgstr "Matlık Başlangıcı"
 
-#: ../clutter/clutter-align-constraint.c:294
-msgid "The axis to align the position to"
-msgstr "Konumun hizalanacağı eksen"
+#: clutter/clutter-behaviour-opacity.c:182
+msgid "Initial opacity level"
+msgstr "İlk matlık düzeyi"
 
-#: ../clutter/clutter-align-constraint.c:313
-#: ../clutter/clutter-desaturate-effect.c:270
-msgid "Factor"
-msgstr "Çarpan"
+#: clutter/clutter-behaviour-opacity.c:199
+msgid "Opacity End"
+msgstr "Matlık Bitişi"
 
-#: ../clutter/clutter-align-constraint.c:314
-msgid "The alignment factor, between 0.0 and 1.0"
-msgstr "Hizalama çarpanı, 0.0 ile 1.0 arasında"
+#: clutter/clutter-behaviour-opacity.c:200
+msgid "Final opacity level"
+msgstr "Son matlık düzeyi"
 
-#: ../clutter/clutter-backend.c:373
-#, fuzzy
-#| msgid "The Clutter backend"
-msgid "Unable to initialize the Clutter backend"
-msgstr "Clutter arka ucu"
+#: clutter/clutter-behaviour-path.c:222 clutter/clutter-path-constraint.c:212
+msgid "Path"
+msgstr "Yol"
 
-#: ../clutter/clutter-backend.c:447
-#, c-format
-msgid "The backend of type '%s' does not support creating multiple stages"
-msgstr ""
+#: clutter/clutter-behaviour-path.c:223
+msgid "The ClutterPath object representing the path to animate along"
+msgstr "Üzerinde canlandırma yapılacak yolu ifade eden ClutterPath nesnesi"
+
+#: clutter/clutter-behaviour-rotate.c:279
+msgid "Angle Begin"
+msgstr "Açı Başlangıcı"
+
+#: clutter/clutter-behaviour-rotate.c:297
+msgid "Angle End"
+msgstr "Açı Sonu"
+
+#: clutter/clutter-behaviour-rotate.c:315
+msgid "Axis"
+msgstr "Eksen"
+
+#: clutter/clutter-behaviour-rotate.c:316
+msgid "Axis of rotation"
+msgstr "Dönme ekseni"
+
+#: clutter/clutter-behaviour-rotate.c:351
+msgid "Center X"
+msgstr "Merkez X"
+
+#: clutter/clutter-behaviour-rotate.c:352
+msgid "X coordinate of the center of rotation"
+msgstr "Dönme merkezinin X koordinatı"
+
+#: clutter/clutter-behaviour-rotate.c:369
+msgid "Center Y"
+msgstr "Merkez Y"
+
+#: clutter/clutter-behaviour-rotate.c:370
+msgid "Y coordinate of the center of rotation"
+msgstr "Dönme merkezinin Y koordinatı"
+
+#: clutter/clutter-behaviour-rotate.c:387
+msgid "Center Z"
+msgstr "Merkez Z"
+
+#: clutter/clutter-behaviour-rotate.c:388
+msgid "Z coordinate of the center of rotation"
+msgstr "Dönme merkezinin Z koordinatı"
+
+#: clutter/clutter-behaviour-scale.c:222
+msgid "X Start Scale"
+msgstr "X Başlangıç Ölçeği"
 
-#: ../clutter/clutter-bind-constraint.c:359
+#: clutter/clutter-behaviour-scale.c:223
+msgid "Initial scale on the X axis"
+msgstr "X eksenindeki ilk ölçek"
+
+#: clutter/clutter-behaviour-scale.c:241
+msgid "X End Scale"
+msgstr "X Bitiş Ölçeği"
+
+#: clutter/clutter-behaviour-scale.c:242
+msgid "Final scale on the X axis"
+msgstr "X eksenindeki son ölçek"
+
+#: clutter/clutter-behaviour-scale.c:260
+msgid "Y Start Scale"
+msgstr "Y Başlangıç Ölçeği"
+
+#: clutter/clutter-behaviour-scale.c:261
+msgid "Initial scale on the Y axis"
+msgstr "Y eksenindeki ilk ölçek"
+
+#: clutter/clutter-behaviour-scale.c:279
+msgid "Y End Scale"
+msgstr "Y Bitiş Ölçeği"
+
+#: clutter/clutter-behaviour-scale.c:280
+msgid "Final scale on the Y axis"
+msgstr "Y eksenindeki son ölçek"
+
+#: clutter/clutter-bind-constraint.c:350
 msgid "The source of the binding"
 msgstr "Bağlama kaynağı"
 
-#: ../clutter/clutter-bind-constraint.c:372
+#: clutter/clutter-bind-constraint.c:363
 msgid "Coordinate"
 msgstr "Koordinat"
 
-#: ../clutter/clutter-bind-constraint.c:373
+#: clutter/clutter-bind-constraint.c:364
 msgid "The coordinate to bind"
 msgstr "Bağlanacak koordinat"
 
-#: ../clutter/clutter-bind-constraint.c:387
-#: ../clutter/clutter-path-constraint.c:226
-#: ../clutter/clutter-snap-constraint.c:366
+#: clutter/clutter-bind-constraint.c:378 clutter/clutter-path-constraint.c:226
+#: clutter/clutter-snap-constraint.c:366
 msgid "Offset"
 msgstr "Denkleştirme"
 
-#: ../clutter/clutter-bind-constraint.c:388
+#: clutter/clutter-bind-constraint.c:379
 msgid "The offset in pixels to apply to the binding"
 msgstr "Bağlamaya uygulanacak piksel cinsinden denkleştirme"
 
-#: ../clutter/clutter-binding-pool.c:320
+#: clutter/clutter-binding-pool.c:320
 msgid "The unique name of the binding pool"
 msgstr "Bağlama havuzunun özgün adı."
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
-#: ../clutter/clutter-grid-layout.c:1550
-msgid "Orientation"
-msgstr "Yönelim"
+#: clutter/clutter-bin-layout.c:261 clutter/clutter-bin-layout.c:585
+#: clutter/clutter-box-layout.c:395 clutter/clutter-table-layout.c:652
+msgid "Horizontal Alignment"
+msgstr "Yatay Hizalama"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
-#: ../clutter/clutter-grid-layout.c:1551
-msgid "The orientation of the layout"
-msgstr "Yerleşim yönelimi"
+#: clutter/clutter-bin-layout.c:262
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr "Yerleşim yöneticisi içindeki aktörün yatay hizalaması"
+
+#: clutter/clutter-bin-layout.c:270 clutter/clutter-bin-layout.c:602
+#: clutter/clutter-box-layout.c:404 clutter/clutter-table-layout.c:667
+msgid "Vertical Alignment"
+msgstr "Dikey Hizalama"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: clutter/clutter-bin-layout.c:271
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr "Yerleşim yöneticisi içindeki aktörün dikey hizalaması"
+
+#: clutter/clutter-bin-layout.c:586
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr "Yerleşim yöneticisi içindeki aktörlerin öntanımlı yatay hizalaması"
+
+#: clutter/clutter-bin-layout.c:603
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr "Yerleşim yöneticisi içindeki aktörlerin öntanımlı dikey hizalaması"
+
+#: clutter/clutter-box.c:544
+msgid "Layout Manager"
+msgstr "Yerleşim Yöneticisi"
+
+#: clutter/clutter-box.c:545
+msgid "The layout manager used by the box"
+msgstr "Kutu tarafından kullanılan yerleşim yöneticisi"
+
+#: clutter/clutter-box.c:564 clutter/clutter-rectangle.c:267
+#: clutter/clutter-stage.c:1765
+msgid "Color"
+msgstr "Renk"
+
+#: clutter/clutter-box.c:565
+msgid "The background color of the box"
+msgstr "Kutunun arkaplan rengi"
+
+#: clutter/clutter-box.c:579
+msgid "Color Set"
+msgstr "Renk Ayarı"
+
+#: clutter/clutter-box.c:580
+msgid "Whether the background color is set"
+msgstr "Arkaplan renginin atanmış olması"
+
+#: clutter/clutter-box-layout.c:370
+msgid "Expand"
+msgstr "Genişlet"
+
+#: clutter/clutter-box-layout.c:371
+msgid "Allocate extra space for the child"
+msgstr "Çocuk için fazladan yer ayır"
+
+#: clutter/clutter-box-layout.c:377 clutter/clutter-table-layout.c:631
+msgid "Horizontal Fill"
+msgstr "Yatay Doldur"
+
+#: clutter/clutter-box-layout.c:378 clutter/clutter-table-layout.c:632
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:386 clutter/clutter-table-layout.c:638
+msgid "Vertical Fill"
+msgstr "Dikey Doldur"
+
+#: clutter/clutter-box-layout.c:387 clutter/clutter-table-layout.c:639
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:396 clutter/clutter-table-layout.c:653
+msgid "Horizontal alignment of the actor within the cell"
+msgstr "Aktörün hücre içindeki yatay hizalaması"
+
+#: clutter/clutter-box-layout.c:405 clutter/clutter-table-layout.c:668
+msgid "Vertical alignment of the actor within the cell"
+msgstr "Aktörün hücre içindeki dikey hizalaması"
+
+#: clutter/clutter-box-layout.c:1305
+msgid "Vertical"
+msgstr "Dikey"
+
+#: clutter/clutter-box-layout.c:1306
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "Yerleşimin yatay değil de dikey olup olmaması"
+
+#: clutter/clutter-box-layout.c:1321 clutter/clutter-flow-layout.c:901
 msgid "Homogeneous"
 msgstr "Homojen"
 
-#: ../clutter/clutter-box-layout.c:986
+#: clutter/clutter-box-layout.c:1322
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
 msgstr ""
 "Yerleşimin homojen olup olmayacağı; bu durumda tüm çocuklar aynı boyutu alır"
 
-#: ../clutter/clutter-box-layout.c:1001
-#, fuzzy
+#: clutter/clutter-box-layout.c:1337
 msgid "Pack Start"
-msgstr "Hata Ayıklayıcıyı Başlat"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1002
+#: clutter/clutter-box-layout.c:1338
 msgid "Whether to pack items at the start of the box"
 msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1015
+#: clutter/clutter-box-layout.c:1351
 msgid "Spacing"
 msgstr "Aralık"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: clutter/clutter-box-layout.c:1352
 msgid "Spacing between children"
 msgstr "Çocuklar arasındaki boşluk"
 
-#: ../clutter/clutter-brightness-contrast-effect.c:321
-msgid "Brightness"
-msgstr "Parlaklık"
-
-#: ../clutter/clutter-brightness-contrast-effect.c:322
-#, fuzzy
-msgid "The brightness change to apply"
-msgstr "Tüm oluşumlara _uygula"
-
-#: ../clutter/clutter-brightness-contrast-effect.c:341
-msgid "Contrast"
-msgstr "Zıtlık"
-
-#: ../clutter/clutter-brightness-contrast-effect.c:342
-#, fuzzy
-msgid "The contrast change to apply"
-msgstr "Tüm oluşumlara _uygula"
-
-#: ../clutter/clutter-canvas.c:221
-#, fuzzy
-#| msgid "The width of the Cairo surface"
-msgid "The width of the canvas"
-msgstr "Pencere genişliği"
-
-#: ../clutter/clutter-canvas.c:237
-#, fuzzy
-#| msgid "The height of the Cairo surface"
-msgid "The height of the canvas"
-msgstr "Pencere yüksekliği"
-
-#: ../clutter/clutter-child-meta.c:127
+#: clutter/clutter-box-layout.c:1366 clutter/clutter-table-layout.c:1742
+msgid "Use Animations"
+msgstr "Canlandırmaları Kullan"
+
+#: clutter/clutter-box-layout.c:1367 clutter/clutter-table-layout.c:1743
+msgid "Whether layout changes should be animated"
+msgstr "Yerleşim değişikliklerinin canlandırılması"
+
+#: clutter/clutter-box-layout.c:1388 clutter/clutter-table-layout.c:1764
+msgid "Easing Mode"
+msgstr "Hafifletme Kipi"
+
+#: clutter/clutter-box-layout.c:1389 clutter/clutter-table-layout.c:1765
+msgid "The easing mode of the animations"
+msgstr "Canlandırmaları hafifletme kipi"
+
+#: clutter/clutter-box-layout.c:1406 clutter/clutter-table-layout.c:1782
+msgid "Easing Duration"
+msgstr "Hafifletme Süresi"
+
+#: clutter/clutter-box-layout.c:1407 clutter/clutter-table-layout.c:1783
+msgid "The duration of the animations"
+msgstr "Canlandırmaların süresi"
+
+#: clutter/clutter-cairo-texture.c:582
+msgid "Surface Width"
+msgstr "Yüzey Genişliği"
+
+#: clutter/clutter-cairo-texture.c:583
+msgid "The width of the Cairo surface"
+msgstr "Cairo yüzey genişliği"
+
+#: clutter/clutter-cairo-texture.c:597
+msgid "Surface Height"
+msgstr "Yüzey Yüksekliği"
+
+#: clutter/clutter-cairo-texture.c:598
+msgid "The height of the Cairo surface"
+msgstr "Cairo yüzey yüksekliği"
+
+#: clutter/clutter-cairo-texture.c:615
+msgid "Auto Resize"
+msgstr "Otomatik Yeniden Boyutlandır"
+
+#: clutter/clutter-cairo-texture.c:616
+msgid "Whether the surface should match the allocation"
+msgstr "Yüzeyin yer ayrımına uyumu"
+
+#: clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "Kap"
 
-#: ../clutter/clutter-child-meta.c:128
+#: clutter/clutter-child-meta.c:128
 msgid "The container that created this data"
 msgstr "Bu veriyi oluşturan kap"
 
-#: ../clutter/clutter-child-meta.c:143
+#: clutter/clutter-child-meta.c:143
 msgid "The actor wrapped by this data"
 msgstr "Bu veri tarafından sarılan aktör"
 
-#: ../clutter/clutter-click-action.c:559
+#: clutter/clutter-click-action.c:542
 msgid "Pressed"
 msgstr "Basıldı"
 
-#: ../clutter/clutter-click-action.c:560
+#: clutter/clutter-click-action.c:543
 msgid "Whether the clickable should be in pressed state"
 msgstr "Tıklanabilirin basılmış durumda olup olmayacağı"
 
-#: ../clutter/clutter-click-action.c:573
+#: clutter/clutter-click-action.c:556
 msgid "Held"
 msgstr "Basılı"
 
-#: ../clutter/clutter-click-action.c:574
+#: clutter/clutter-click-action.c:557
 msgid "Whether the clickable has a grab"
 msgstr "Tıklanabilirin basılı halde beklemesi"
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: clutter/clutter-click-action.c:574 clutter/clutter-settings.c:573
 msgid "Long Press Duration"
 msgstr "Uzun Basma Süresi"
 
-#: ../clutter/clutter-click-action.c:592
+#: clutter/clutter-click-action.c:575
 msgid "The minimum duration of a long press to recognize the gesture"
 msgstr "Hareketin algılanacağı en küçük uzun basma süresi"
 
-#: ../clutter/clutter-click-action.c:610
+#: clutter/clutter-click-action.c:593
 msgid "Long Press Threshold"
 msgstr "Uzun Basma Eşiği"
 
-#: ../clutter/clutter-click-action.c:611
+#: clutter/clutter-click-action.c:594
 msgid "The maximum threshold before a long press is cancelled"
 msgstr "Uzun basma iptal edilmeden önceki en büyük eşik"
 
-#: ../clutter/clutter-clone.c:346
+#: clutter/clutter-clone.c:341
 msgid "Specifies the actor to be cloned"
 msgstr "Birebir kopyalanacak aktörü belirtir"
 
-#: ../clutter/clutter-colorize-effect.c:251
+#: clutter/clutter-colorize-effect.c:307
 msgid "Tint"
 msgstr ""
 
-#: ../clutter/clutter-colorize-effect.c:252
-#, fuzzy
+#: clutter/clutter-colorize-effect.c:308
 msgid "The tint to apply"
-msgstr "Tüm oluşumlara _uygula"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:594
+#: clutter/clutter-deform-effect.c:527
 msgid "Horizontal Tiles"
 msgstr "Yatay Döşemeler"
 
-#: ../clutter/clutter-deform-effect.c:595
+#: clutter/clutter-deform-effect.c:528
 msgid "The number of horizontal tiles"
 msgstr "Yatay döşeme sayısı"
 
-#: ../clutter/clutter-deform-effect.c:610
+#: clutter/clutter-deform-effect.c:543
 msgid "Vertical Tiles"
 msgstr "Dikey Döşemeler"
 
-#: ../clutter/clutter-deform-effect.c:611
+#: clutter/clutter-deform-effect.c:544
 msgid "The number of vertical tiles"
 msgstr "Dikey döşeme sayısı"
 
-#: ../clutter/clutter-deform-effect.c:628
-#, fuzzy
+#: clutter/clutter-deform-effect.c:561
 msgid "Back Material"
-msgstr "ARKA KAPAK"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:629
+#: clutter/clutter-deform-effect.c:562
 msgid "The material to be used when painting the back of the actor"
 msgstr ""
 
-#: ../clutter/clutter-desaturate-effect.c:271
+#: clutter/clutter-desaturate-effect.c:305
 msgid "The desaturation factor"
 msgstr "Desatürasyon çarpanı"
 
-#: ../clutter/clutter-device-manager.c:131
-#: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: clutter/clutter-device-manager.c:131 clutter/clutter-input-device.c:344
+#: clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "Arka Uç"
 
-#: ../clutter/clutter-device-manager.c:132
+#: clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "Aygıt yöneticisindeki ClutterBackend"
 
-#: ../clutter/clutter-drag-action.c:750
+#: clutter/clutter-drag-action.c:596
 msgid "Horizontal Drag Threshold"
 msgstr "Yatay Sürükleme Eşiği"
 
-#: ../clutter/clutter-drag-action.c:751
+#: clutter/clutter-drag-action.c:597
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "Sürüklemeyi başlatmak için gereken yatay piksel miktarı"
 
-#: ../clutter/clutter-drag-action.c:778
+#: clutter/clutter-drag-action.c:624
 msgid "Vertical Drag Threshold"
 msgstr "Dikey Sürükleme Eşiği"
 
-#: ../clutter/clutter-drag-action.c:779
+#: clutter/clutter-drag-action.c:625
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "Sürüklemeyi başlatmak için gereken dikey piksel miktarı"
 
-#: ../clutter/clutter-drag-action.c:800
+#: clutter/clutter-drag-action.c:646
 msgid "Drag Handle"
 msgstr "Sürükleme Kulpu"
 
-#: ../clutter/clutter-drag-action.c:801
+#: clutter/clutter-drag-action.c:647
 msgid "The actor that is being dragged"
 msgstr "Sürüklenmekte olan aktör"
 
-#: ../clutter/clutter-drag-action.c:814
+#: clutter/clutter-drag-action.c:660
 msgid "Drag Axis"
 msgstr "Sürükleme Ekseni"
 
-#: ../clutter/clutter-drag-action.c:815
+#: clutter/clutter-drag-action.c:661
 msgid "Constraints the dragging to an axis"
 msgstr "Sürüklemeyi bir eksenle kısıtlar"
 
-#: ../clutter/clutter-drag-action.c:831
-#, fuzzy
-#| msgid "Drag Axis"
-msgid "Drag Area"
-msgstr "çizim bölgesi"
-
-#: ../clutter/clutter-drag-action.c:832
-#, fuzzy
-#| msgid "Constraints the dragging to an axis"
-msgid "Constrains the dragging to a rectangle"
-msgstr "Sürüklemeyi bir eksenle kısıtlar"
-
-#: ../clutter/clutter-drag-action.c:845
-#, fuzzy
-msgid "Drag Area Set"
-msgstr "Sinyal Özelliklerini Ayarla"
+#: clutter/clutter-flow-layout.c:885
+msgid "Orientation"
+msgstr "Yönelim"
 
-#: ../clutter/clutter-drag-action.c:846
-#, fuzzy
-#| msgid "Whether the background color is set"
-msgid "Whether the drag area is set"
-msgstr "Arkaplan renginin atanmış olması"
+#: clutter/clutter-flow-layout.c:886
+msgid "The orientation of the layout"
+msgstr "Yerleşim yönelimi"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: clutter/clutter-flow-layout.c:902
 msgid "Whether each item should receive the same allocation"
 msgstr "Her ögeye aynı miktarda yer ayrılması"
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: clutter/clutter-flow-layout.c:917 clutter/clutter-table-layout.c:1713
 msgid "Column Spacing"
 msgstr "Sütun Aralığı"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: clutter/clutter-flow-layout.c:918
 msgid "The spacing between columns"
 msgstr "Sütunlar arasındaki boşluk"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: clutter/clutter-flow-layout.c:934 clutter/clutter-table-layout.c:1727
 msgid "Row Spacing"
 msgstr "Satır Aralığı"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: clutter/clutter-flow-layout.c:935
 msgid "The spacing between rows"
 msgstr "Satırlar arasındaki boşluk"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: clutter/clutter-flow-layout.c:949
 msgid "Minimum Column Width"
 msgstr "En Küçük Sütun Genişliği"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: clutter/clutter-flow-layout.c:950
 msgid "Minimum width for each column"
 msgstr "Her sütunun en küçük genişliği"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: clutter/clutter-flow-layout.c:965
 msgid "Maximum Column Width"
 msgstr "En Büyük Sütun Genişliği"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: clutter/clutter-flow-layout.c:966
 msgid "Maximum width for each column"
 msgstr "Her sütunun en büyük genişliği"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: clutter/clutter-flow-layout.c:980
 msgid "Minimum Row Height"
 msgstr "En Küçük Satır Yüksekliği"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: clutter/clutter-flow-layout.c:981
 msgid "Minimum height for each row"
 msgstr "Her satırın en küçük yüksekliği"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: clutter/clutter-flow-layout.c:996
 msgid "Maximum Row Height"
 msgstr "En Büyük Satır Yüksekliği"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: clutter/clutter-flow-layout.c:997
 msgid "Maximum height for each row"
 msgstr "Her satırın en büyük yüksekliği"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-#, fuzzy
-msgid "Snap to grid"
-msgstr "Çizgilere Atla"
-
-#: ../clutter/clutter-gesture-action.c:644
-#, fuzzy
-msgid "Number touch points"
-msgstr "Wacom dokunma özelliği"
-
-#: ../clutter/clutter-gesture-action.c:645
-#, fuzzy
-msgid "Number of touch points"
-msgstr "Wacom dokunma özelliği"
-
-#: ../clutter/clutter-grid-layout.c:1222
-#, fuzzy
-msgid "Left attachment"
-msgstr "Sol eklenti"
-
-#: ../clutter/clutter-grid-layout.c:1223
-#, fuzzy
-msgid "The column number to attach the left side of the child to"
-msgstr "Altın sol tarafına eklenecek sütun sayısı"
-
-#: ../clutter/clutter-grid-layout.c:1230
-#, fuzzy
-msgid "Top attachment"
-msgstr "Üst eklenti"
-
-#: ../clutter/clutter-grid-layout.c:1231
-#, fuzzy
-msgid "The row number to attach the top side of a child widget to"
-msgstr "Altın sağ tarafına eklenecek olan sütun miktarı"
-
-#: ../clutter/clutter-grid-layout.c:1239
-#, fuzzy
-#| msgid "The number of horizontal tiles"
-msgid "The number of columns that a child spans"
-msgstr "Yatay döşeme sayısı"
-
-#: ../clutter/clutter-grid-layout.c:1246
-#, fuzzy
-#| msgid "The number of horizontal tiles"
-msgid "The number of rows that a child spans"
-msgstr "Yatay döşeme sayısı"
-
-#: ../clutter/clutter-grid-layout.c:1565
-#, fuzzy
-#| msgid "Row Spacing"
-msgid "Row spacing"
-msgstr "Satır aralığı"
-
-#: ../clutter/clutter-grid-layout.c:1566
-#, fuzzy
-msgid "The amount of space between two consecutive rows"
-msgstr "Birbirini izleyen iki satır arasındaki boşluk miktarı"
-
-#: ../clutter/clutter-grid-layout.c:1579
-#, fuzzy
-#| msgid "Column Spacing"
-msgid "Column spacing"
-msgstr "Sütun aralığı"
-
-#: ../clutter/clutter-grid-layout.c:1580
-#, fuzzy
-#| msgid "The spacing between columns"
-msgid "The amount of space between two consecutive columns"
-msgstr "Birbirini izleyen iki sütun arasındaki boşluk miktarı"
-
-#: ../clutter/clutter-grid-layout.c:1594
-#, fuzzy
-#| msgid "Homogeneous"
-msgid "Row Homogeneous"
-msgstr "Bir satır dağıt"
-
-#: ../clutter/clutter-grid-layout.c:1595
-#, fuzzy
-msgid "If TRUE, the rows are all the same height"
-msgstr "TRUE ise, tablo hücrelerinin hepsi aynı genişlikte/yükseklikte olur"
-
-#: ../clutter/clutter-grid-layout.c:1608
-#, fuzzy
-#| msgid "Homogeneous"
-msgid "Column Homogeneous"
-msgstr "sütun başlığı"
-
-#: ../clutter/clutter-grid-layout.c:1609
-#, fuzzy
-msgid "If TRUE, the columns are all the same width"
-msgstr "TRUE ise, tablo hücrelerinin hepsi aynı genişlikte/yükseklikte olur"
-
-#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
-#: ../clutter/clutter-image.c:399
-#, fuzzy
-#| msgid "Failed to load the image data"
-msgid "Unable to load image data"
-msgstr "Resim yükleme modülü bulunamadı: %s: %s"
-
-#: ../clutter/clutter-input-device.c:242
+#: clutter/clutter-input-device.c:220
 msgid "Id"
 msgstr "Id"
 
-#: ../clutter/clutter-input-device.c:243
+#: clutter/clutter-input-device.c:221
 msgid "Unique identifier of the device"
 msgstr "Aygıtın özgün tanımlayıcısı"
 
-#: ../clutter/clutter-input-device.c:259
+#: clutter/clutter-input-device.c:237
 msgid "The name of the device"
 msgstr "Aygıtın adı"
 
-#: ../clutter/clutter-input-device.c:273
+#: clutter/clutter-input-device.c:251
 msgid "Device Type"
 msgstr "Aygıt Türü"
 
-#: ../clutter/clutter-input-device.c:274
+#: clutter/clutter-input-device.c:252
 msgid "The type of the device"
 msgstr "Aygıtın türü"
 
-#: ../clutter/clutter-input-device.c:289
+#: clutter/clutter-input-device.c:267
 msgid "Device Manager"
 msgstr "Aygıt Yöneticisi"
 
-#: ../clutter/clutter-input-device.c:290
+#: clutter/clutter-input-device.c:268
 msgid "The device manager instance"
 msgstr "Aygıt yöneticisi örneği"
 
-#: ../clutter/clutter-input-device.c:303
+#: clutter/clutter-input-device.c:281
 msgid "Device Mode"
 msgstr "Aygıt Kipi"
 
-#: ../clutter/clutter-input-device.c:304
+#: clutter/clutter-input-device.c:282
 msgid "The mode of the device"
 msgstr "Aygıtın kipi"
 
-#: ../clutter/clutter-input-device.c:318
+#: clutter/clutter-input-device.c:296
 msgid "Has Cursor"
 msgstr "İmleci Var"
 
-#: ../clutter/clutter-input-device.c:319
+#: clutter/clutter-input-device.c:297
 msgid "Whether the device has a cursor"
 msgstr "Aygıtın bir imlecinin olup olmaması"
 
-#: ../clutter/clutter-input-device.c:338
+#: clutter/clutter-input-device.c:316
 msgid "Whether the device is enabled"
 msgstr "Aygıtın etkin olup olmaması"
 
-#: ../clutter/clutter-input-device.c:351
-#, fuzzy
+#: clutter/clutter-input-device.c:329
 msgid "Number of Axes"
-msgstr "Çıpa Sayısı"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:352
-#, fuzzy
+#: clutter/clutter-input-device.c:330
 msgid "The number of axes on the device"
-msgstr "Güç bağlama olayları sayısı"
+msgstr ""
 
-#: ../clutter/clutter-input-device.c:367
+#: clutter/clutter-input-device.c:345
 msgid "The backend instance"
 msgstr "Arka uç örneği"
 
-#: ../clutter/clutter-interval.c:489
+#: clutter/clutter-interval.c:397
 msgid "Value Type"
 msgstr "Değer Türü"
 
-#: ../clutter/clutter-interval.c:490
+#: clutter/clutter-interval.c:398
 msgid "The type of the values in the interval"
 msgstr "Aralıktaki değerlerin türü"
 
-#: ../clutter/clutter-interval.c:505
-#| msgid "Initial angle"
-msgid "Initial Value"
-msgstr "İlk Değer"
-
-#: ../clutter/clutter-interval.c:506
-#, fuzzy
-#| msgid "Initial scale on the X axis"
-msgid "Initial value of the interval"
-msgstr "Sunucu eşzamanlandırma aralığı"
-
-#: ../clutter/clutter-interval.c:520
-#| msgid "Final angle"
-msgid "Final Value"
-msgstr "Son Değer"
-
-#: ../clutter/clutter-interval.c:521
-#, fuzzy
-#| msgid "Final scale on the X axis"
-msgid "Final value of the interval"
-msgstr "Sunucu eşzamanlandırma aralığı"
-
-#: ../clutter/clutter-layout-meta.c:117
+#: clutter/clutter-layout-meta.c:117
 msgid "Manager"
 msgstr "Yönetici"
 
-#: ../clutter/clutter-layout-meta.c:118
+#: clutter/clutter-layout-meta.c:118
 msgid "The manager that created this data"
 msgstr "Bu veriyi oluşturan yönetici"
 
-#. Translators: Leave this UNTRANSLATED if your language is
-#. * left-to-right.  If your language is right-to-left
-#. * (e.g. Hebrew, Arabic), translate it to "default:RTL".
-#. *
-#. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
-#. * it isn't default:LTR or default:RTL it will not work.
-#.
-#: ../clutter/clutter-main.c:697
+#: clutter/clutter-main.c:490
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1463
+#: clutter/clutter-main.c:1321
 msgid "Show frames per second"
 msgstr "Saniye başına düşen çerçeveleri göster"
 
-#: ../clutter/clutter-main.c:1465
+#: clutter/clutter-main.c:1323
 msgid "Default frame rate"
 msgstr "Öntanımlı çerçeve hızı"
 
-#: ../clutter/clutter-main.c:1467
+#: clutter/clutter-main.c:1325
 msgid "Make all warnings fatal"
 msgstr "Tüm uyarıları ölümcül yap"
 
-#: ../clutter/clutter-main.c:1470
+#: clutter/clutter-main.c:1328
 msgid "Direction for the text"
 msgstr "Metin yönü"
 
-#: ../clutter/clutter-main.c:1473
+#: clutter/clutter-main.c:1331
 msgid "Disable mipmapping on text"
 msgstr "Metinde haritalamayı devre dışı bırak"
 
-#: ../clutter/clutter-main.c:1476
-#, fuzzy
+#: clutter/clutter-main.c:1334
 msgid "Use 'fuzzy' picking"
-msgstr "Yenileme/etiket kullan:"
+msgstr ""
 
-#: ../clutter/clutter-main.c:1479
+#: clutter/clutter-main.c:1337
 msgid "Clutter debugging flags to set"
 msgstr "Ayarlanacak Clutter hata ayıklama bayrakları"
 
-#: ../clutter/clutter-main.c:1481
+#: clutter/clutter-main.c:1339
 msgid "Clutter debugging flags to unset"
 msgstr "Kaldırılacak Clutter hata ayıklama bayrakları"
 
-#: ../clutter/clutter-main.c:1485
+#: clutter/clutter-main.c:1343
 msgid "Clutter profiling flags to set"
 msgstr "Ayarlanacak Clutter profilleme bayrakları"
 
-#: ../clutter/clutter-main.c:1487
+#: clutter/clutter-main.c:1345
 msgid "Clutter profiling flags to unset"
 msgstr "Kaldırılacak Clutter profilleme bayrakları"
 
-#: ../clutter/clutter-main.c:1490
+#: clutter/clutter-main.c:1348
 msgid "Enable accessibility"
 msgstr "Erişilebilirliği etkinleştir"
 
-#: ../clutter/clutter-main.c:1682
+#: clutter/clutter-main.c:1530
 msgid "Clutter Options"
 msgstr "Clutter Seçenekleri"
 
-#: ../clutter/clutter-main.c:1683
+#: clutter/clutter-main.c:1531
 msgid "Show Clutter Options"
 msgstr "Clutter Seçeneklerini Göster"
 
-#: ../clutter/clutter-pan-action.c:444
-#, fuzzy
-#| msgid "Drag Axis"
-msgid "Pan Axis"
-msgstr "Hizalama Ekseni"
+#: clutter/clutter-media.c:77
+msgid "URI"
+msgstr "URI"
 
-#: ../clutter/clutter-pan-action.c:445
-#, fuzzy
-#| msgid "Constraints the dragging to an axis"
-msgid "Constraints the panning to an axis"
-msgstr "Sürüklemeyi bir eksenle kısıtlar"
+#: clutter/clutter-media.c:78
+msgid "URI of a media file"
+msgstr "Bir ortam dosyasının URI'si"
 
-#: ../clutter/clutter-pan-action.c:457
-#, fuzzy
-msgid "Interpolate"
-msgstr "Resmi Aradeğerle"
+#: clutter/clutter-media.c:91
+msgid "Playing"
+msgstr "Oynuyor"
 
-#: ../clutter/clutter-pan-action.c:458
-#, fuzzy
-#| msgid "Whether the device is enabled"
-msgid "Whether interpolated events emission is enabled."
-msgstr "Aygıtın etkin olup olmaması"
+#: clutter/clutter-media.c:92
+msgid "Whether the actor is playing"
+msgstr "Aktörün oynamakta olup olmadığı"
 
-#: ../clutter/clutter-pan-action.c:472
-#, fuzzy
-#| msgid "Duration"
-msgid "Deceleration"
-msgstr "Süre"
+#: clutter/clutter-media.c:106
+msgid "Progress"
+msgstr "İlerleme"
 
-#: ../clutter/clutter-pan-action.c:473
-msgid "Rate at which the interpolated panning will decelerate in"
-msgstr ""
+#: clutter/clutter-media.c:107
+msgid "Current progress of the playback"
+msgstr "Oynatmanın şu anki ilerleme durumu"
+
+#: clutter/clutter-media.c:120
+msgid "Subtitle URI"
+msgstr "Altyazı URI"
+
+#: clutter/clutter-media.c:121
+msgid "URI of a subtitle file"
+msgstr "Bir altyazı dosyasının URI adresi"
+
+#: clutter/clutter-media.c:136
+msgid "Subtitle Font Name"
+msgstr "Altyazı Yazıtipi Adı"
 
-#: ../clutter/clutter-pan-action.c:488
-#, fuzzy
-#| msgid "The desaturation factor"
-msgid "Initial acceleration factor"
-msgstr "Metin ölçekleme katsayısı"
+#: clutter/clutter-media.c:137
+msgid "The font used to display subtitles"
+msgstr "Altyazıları göstermek için kullanılan yazıtipi"
 
-#: ../clutter/clutter-pan-action.c:489
-msgid "Factor applied to the momentum when starting the interpolated phase"
+#: clutter/clutter-media.c:151
+msgid "Audio Volume"
+msgstr "Ses Düzeyi"
+
+#: clutter/clutter-media.c:152
+msgid "The volume of the audio"
+msgstr "Ses düzeyi"
+
+#: clutter/clutter-media.c:165
+msgid "Can Seek"
 msgstr ""
 
-#: ../clutter/clutter-path-constraint.c:212
-msgid "Path"
-msgstr "Yol"
+#: clutter/clutter-media.c:166
+msgid "Whether the current stream is seekable"
+msgstr ""
+
+#: clutter/clutter-media.c:180
+msgid "Buffer Fill"
+msgstr "Tampon Doldurma"
+
+#: clutter/clutter-media.c:181
+msgid "The fill level of the buffer"
+msgstr "Tamponun doldurma düzeyi"
+
+#: clutter/clutter-media.c:195
+msgid "The duration of the stream, in seconds"
+msgstr "Akışın saniye cinsinden süresi"
 
-#: ../clutter/clutter-path-constraint.c:213
+#: clutter/clutter-path-constraint.c:213
 msgid "The path used to constrain an actor"
 msgstr "Aktörü kısıtlamak için kullanılan yol"
 
-#: ../clutter/clutter-path-constraint.c:227
+#: clutter/clutter-path-constraint.c:227
 msgid "The offset along the path, between -1.0 and 2.0"
 msgstr ""
 
-#: ../clutter/clutter-property-transition.c:271
-#| msgid "Font Name"
-msgid "Property Name"
-msgstr "Özellik Adı"
+#: clutter/clutter-rectangle.c:268
+msgid "The color of the rectangle"
+msgstr "Dikdörtgenin rengi"
 
-#: ../clutter/clutter-property-transition.c:272
-#, fuzzy
-#| msgid "The name of the meta"
-msgid "The name of the property to animate"
-msgstr "İzlenecek değerin ismi"
+#: clutter/clutter-rectangle.c:281
+msgid "Border Color"
+msgstr "Kenarlık Rengi"
 
-#: ../clutter/clutter-script.c:350
+#: clutter/clutter-rectangle.c:282
+msgid "The color of the border of the rectangle"
+msgstr "Dikdörtgen kenarlığının rengi"
+
+#: clutter/clutter-rectangle.c:297
+msgid "Border Width"
+msgstr "Kenarlık Genişliği"
+
+#: clutter/clutter-rectangle.c:298
+msgid "The width of the border of the rectangle"
+msgstr "Dikdörtgen kenarlığının genişliği"
+
+#: clutter/clutter-rectangle.c:312
+msgid "Has Border"
+msgstr "Kenarlığı Var"
+
+#: clutter/clutter-rectangle.c:313
+msgid "Whether the rectangle should have a border"
+msgstr "Dikdörtgenin kenarlığının olup olmayacağı"
+
+#: clutter/clutter-script.c:434
 msgid "Filename Set"
 msgstr "Dosya Adı Ayarlandı"
 
-#: ../clutter/clutter-script.c:351
+#: clutter/clutter-script.c:435
 msgid "Whether the :filename property is set"
 msgstr ":filename özelliğinin ayarlanmış olup olmaması"
 
-#: ../clutter/clutter-script.c:365
+#: clutter/clutter-script.c:449 clutter/clutter-texture.c:1081
 msgid "Filename"
 msgstr "Dosya adı"
 
-#: ../clutter/clutter-script.c:366
+#: clutter/clutter-script.c:450
 msgid "The path of the currently parsed file"
 msgstr "Şu anda ayrıştırılan dosyanın yolu"
 
-#: ../clutter/clutter-script.c:383
-#, fuzzy
-msgid "Translation Domain"
-msgstr "Tercüme Alanı"
-
-#: ../clutter/clutter-script.c:384
-msgid "The translation domain used to localize string"
-msgstr ""
-
-#: ../clutter/clutter-scroll-actor.c:190
-#, fuzzy
-msgid "Scroll Mode"
-msgstr "Karışık kip"
-
-#: ../clutter/clutter-scroll-actor.c:191
-#, fuzzy
-#| msgid "The cursor position"
-msgid "The scrolling direction"
-msgstr "Metin Yönü"
-
-#: ../clutter/clutter-settings.c:424
+#: clutter/clutter-settings.c:414
 msgid "Double Click Time"
 msgstr "Çift Tıklama Zamanı"
 
-#: ../clutter/clutter-settings.c:425
+#: clutter/clutter-settings.c:415
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "Çoklu tıklamanın algılanması için gereken iki tık arası zaman"
 
-#: ../clutter/clutter-settings.c:440
+#: clutter/clutter-settings.c:430
 msgid "Double Click Distance"
 msgstr "Çift Tıklama Mesafesi"
 
-#: ../clutter/clutter-settings.c:441
+#: clutter/clutter-settings.c:431
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "Çoklu tıklamanın algılanması için gereken iki tık arası mesafe"
 
-#: ../clutter/clutter-settings.c:456
+#: clutter/clutter-settings.c:446
 msgid "Drag Threshold"
 msgstr "Sürükleme Eşiği"
 
-#: ../clutter/clutter-settings.c:457
+#: clutter/clutter-settings.c:447
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "Sürüklemeye başlamadan önce imlecin katetmesi gereken mesafe"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: clutter/clutter-settings.c:462 clutter/clutter-text.c:2939
 msgid "Font Name"
 msgstr "Yazıtipi Adı"
 
-#: ../clutter/clutter-settings.c:473
+#: clutter/clutter-settings.c:463
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
 msgstr "Öntanımlı yazıtipinin Pango tarafından ayrıştırılabilecek tanımı"
 
-#: ../clutter/clutter-settings.c:488
+#: clutter/clutter-settings.c:478
 msgid "Font Antialias"
 msgstr "Yazıtipi Yumuşatma"
 
-#: ../clutter/clutter-settings.c:489
+#: clutter/clutter-settings.c:479
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
@@ -1427,1131 +1389,775 @@ msgstr ""
 "Yumuşatma kullanılıp kullanılmayacağı (etkinleştirmek için 1, devre dışı "
 "bırakmak için 0, öntanımlı ayarı kullanmak için -1)"
 
-#: ../clutter/clutter-settings.c:505
+#: clutter/clutter-settings.c:495
 msgid "Font DPI"
 msgstr "Yazıtipi DPI"
 
-#: ../clutter/clutter-settings.c:506
-#, fuzzy
+#: clutter/clutter-settings.c:496
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr ""
-"Xft için çözünürlük, 1024 * nokta/inç olarak. Öntanımlı değeri kullanmak "
-"için -1"
 
-#: ../clutter/clutter-settings.c:522
-#, fuzzy
+#: clutter/clutter-settings.c:512
 msgid "Font Hinting"
-msgstr "Xft Düzeltme"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:523
-#, fuzzy
+#: clutter/clutter-settings.c:513
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
 msgstr ""
-"Yumuşatma kullanılıp kullanılmayacağı (etkinleştirmek için 1, devre dışı "
-"bırakmak için 0, öntanımlı ayarı kullanmak için -1)"
 
-#: ../clutter/clutter-settings.c:544
-#, fuzzy
+#: clutter/clutter-settings.c:534
 msgid "Font Hint Style"
-msgstr "Xft Düzeltme Biçemi"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:545
+#: clutter/clutter-settings.c:535
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
 msgstr ""
 
-#: ../clutter/clutter-settings.c:566
-#, fuzzy
+#: clutter/clutter-settings.c:556
 msgid "Font Subpixel Order"
-msgstr "Alternatif düğme sırası"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:567
-#, fuzzy
+#: clutter/clutter-settings.c:557
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
-msgstr "Altpiksel yumuşatma türü; none (hiç), rgb, bgr, vrgb, vbgr"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:584
+#: clutter/clutter-settings.c:574
 msgid "The minimum duration for a long press gesture to be recognized"
 msgstr "Hareketin algılanacağı en küçük uzun basma süresi"
 
-#: ../clutter/clutter-settings.c:591
+#: clutter/clutter-settings.c:581
 msgid "Fontconfig configuration timestamp"
 msgstr "Fontconfig yapılandırması zaman damgası"
 
-#: ../clutter/clutter-settings.c:592
+#: clutter/clutter-settings.c:582
 msgid "Timestamp of the current fontconfig configuration"
 msgstr "Mevcut fontconfig yapılandırmasının zaman damgası"
 
-#: ../clutter/clutter-settings.c:609
-#, fuzzy
-#| msgid "Password Character"
-msgid "Password Hint Time"
-msgstr "Parola İpucu Zamanaşımı"
+#: clutter/clutter-shader.c:255
+msgid "Vertex Source"
+msgstr "Tepe Kaynağı"
+
+#: clutter/clutter-shader.c:256
+msgid "Source of vertex shader"
+msgstr "Tepe gölgelendiricisi kaynağı"
+
+#: clutter/clutter-shader.c:272
+msgid "Fragment Source"
+msgstr "Parça Kaynağı"
+
+#: clutter/clutter-shader.c:273
+msgid "Source of fragment shader"
+msgstr "Parça gölgelendiricisi kaynağı"
 
-#: ../clutter/clutter-settings.c:610
-#, fuzzy
-msgid "How long to show the last input character in hidden entries"
-msgstr "Gizli girişlerde son karakterin ne kadar süre gösterileceği"
+#: clutter/clutter-shader.c:290
+msgid "Compiled"
+msgstr "Derlendi"
+
+#: clutter/clutter-shader.c:291
+msgid "Whether the shader is compiled and linked"
+msgstr "Gölgelendiricinin derlenmiş ve bağlanmış olup olmadığı"
+
+#: clutter/clutter-shader.c:308
+msgid "Whether the shader is enabled"
+msgstr "Gölgelendiricinin etkin olup olmadığı"
+
+#: clutter/clutter-shader.c:519
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "%s derlemesi başarısız: %s"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: clutter/clutter-shader.c:520
+msgid "Vertex shader"
+msgstr "Tepe gölgelendiricisi"
+
+#: clutter/clutter-shader.c:521
+msgid "Fragment shader"
+msgstr "Parça gölgelendiricisi"
+
+#: clutter/clutter-shader-effect.c:415
 msgid "Shader Type"
 msgstr "Gölgelendirici Türü"
 
-#: ../clutter/clutter-shader-effect.c:487
+#: clutter/clutter-shader-effect.c:416
 msgid "The type of shader used"
 msgstr "Kullanılan gölgelendirici türü"
 
-#: ../clutter/clutter-snap-constraint.c:322
+#: clutter/clutter-snap-constraint.c:322
 msgid "The source of the constraint"
 msgstr "Kısıt kaynağı"
 
-#: ../clutter/clutter-snap-constraint.c:335
+#: clutter/clutter-snap-constraint.c:335
 msgid "From Edge"
 msgstr "Kenardan"
 
-#: ../clutter/clutter-snap-constraint.c:336
+#: clutter/clutter-snap-constraint.c:336
 msgid "The edge of the actor that should be snapped"
 msgstr ""
 
-#: ../clutter/clutter-snap-constraint.c:350
+#: clutter/clutter-snap-constraint.c:350
 msgid "To Edge"
 msgstr "Kenara"
 
-#: ../clutter/clutter-snap-constraint.c:351
+#: clutter/clutter-snap-constraint.c:351
 msgid "The edge of the source that should be snapped"
 msgstr ""
 
-#: ../clutter/clutter-snap-constraint.c:367
-#, fuzzy
+#: clutter/clutter-snap-constraint.c:367
 msgid "The offset in pixels to apply to the constraint"
-msgstr "Bağlamaya uygulanacak piksel cinsinden denkleştirme"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1830
+#: clutter/clutter-stage.c:1707
 msgid "Fullscreen Set"
 msgstr "Tam Ekran Ayarlandı"
 
-#: ../clutter/clutter-stage.c:1831
+#: clutter/clutter-stage.c:1708
 msgid "Whether the main stage is fullscreen"
 msgstr "Ana sahnenin tam ekran olup olmayışı"
 
-#: ../clutter/clutter-stage.c:1843 ../clutter/clutter-text.c:3456
+#: clutter/clutter-stage.c:1724
+msgid "Offscreen"
+msgstr "Ekran Dışı"
+
+#: clutter/clutter-stage.c:1725
+msgid "Whether the main stage should be rendered offscreen"
+msgstr ""
+
+#: clutter/clutter-stage.c:1737 clutter/clutter-text.c:3052
 msgid "Cursor Visible"
 msgstr "Görünür İmleç"
 
-#: ../clutter/clutter-stage.c:1844
+#: clutter/clutter-stage.c:1738
 msgid "Whether the mouse pointer is visible on the main stage"
 msgstr "Ana sahnede fare imlecinin görünürlüğü"
 
-#: ../clutter/clutter-stage.c:1858
+#: clutter/clutter-stage.c:1752
 msgid "User Resizable"
 msgstr "Kullanıcı Yeniden Boyutlandırabilir"
 
-#: ../clutter/clutter-stage.c:1859
+#: clutter/clutter-stage.c:1753
 msgid "Whether the stage is able to be resized via user interaction"
 msgstr "Sahnenin kullanıcı etkileşimi ile yeniden boyutlandırılabilirliği"
 
-#: ../clutter/clutter-stage.c:1874
+#: clutter/clutter-stage.c:1766
+msgid "The color of the stage"
+msgstr "Sahne rengi"
+
+#: clutter/clutter-stage.c:1780
 msgid "Perspective"
 msgstr "Bakış Açısı"
 
-#: ../clutter/clutter-stage.c:1875
-#, fuzzy
+#: clutter/clutter-stage.c:1781
 msgid "Perspective projection parameters"
-msgstr "Komut satırı parametreleri"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1890
+#: clutter/clutter-stage.c:1796
 msgid "Title"
 msgstr "Başlık"
 
-#: ../clutter/clutter-stage.c:1891
+#: clutter/clutter-stage.c:1797
 msgid "Stage Title"
 msgstr "Sahne Başlığı"
 
-#: ../clutter/clutter-stage.c:1907
+#: clutter/clutter-stage.c:1812
+msgid "Use Fog"
+msgstr "Sis Kullan"
+
+#: clutter/clutter-stage.c:1813
+msgid "Whether to enable depth cueing"
+msgstr ""
+
+#: clutter/clutter-stage.c:1827
+msgid "Fog"
+msgstr "Sis"
+
+#: clutter/clutter-stage.c:1828
+msgid "Settings for the depth cueing"
+msgstr ""
+
+#: clutter/clutter-stage.c:1844
 msgid "Use Alpha"
 msgstr "Alfa Kullan"
 
-#: ../clutter/clutter-stage.c:1908
+#: clutter/clutter-stage.c:1845
 msgid "Whether to honour the alpha component of the stage color"
 msgstr ""
 
-#: ../clutter/clutter-stage.c:1924
-#, fuzzy
+#: clutter/clutter-stage.c:1861
 msgid "Key Focus"
-msgstr "Odağı Yakala"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1925
+#: clutter/clutter-stage.c:1862
 msgid "The currently key focused actor"
 msgstr ""
 
-#: ../clutter/clutter-stage.c:1941
-#, fuzzy
+#: clutter/clutter-stage.c:1878
 msgid "No Clear Hint"
-msgstr "İpucu yok."
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1942
+#: clutter/clutter-stage.c:1879
 msgid "Whether the stage should clear its contents"
 msgstr ""
 
-#: ../clutter/clutter-stage.c:1955
-#, fuzzy
+#: clutter/clutter-stage.c:1892
 msgid "Accept Focus"
-msgstr "Odaklamayı kabul et"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1956
+#: clutter/clutter-stage.c:1893
 msgid "Whether the stage should accept focus on show"
 msgstr ""
 
-#: ../clutter/clutter-table-layout.c:331
+#: clutter/clutter-state.c:1472
+msgid "State"
+msgstr "Durum"
+
+#: clutter/clutter-state.c:1473
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
+
+#: clutter/clutter-state.c:1487
+msgid "Default transition duration"
+msgstr "Öntanımlı geçiş süresi"
+
+#: clutter/clutter-table-layout.c:585
 msgid "Column Number"
 msgstr "Sütun Numarası"
 
-#: ../clutter/clutter-table-layout.c:332
-#, fuzzy
+#: clutter/clutter-table-layout.c:586
 msgid "The column the widget resides in"
-msgstr "Karakter Olarak Genişlik sütunu"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:339
+#: clutter/clutter-table-layout.c:593
 msgid "Row Number"
 msgstr "Satır Numarası"
 
-#: ../clutter/clutter-table-layout.c:340
-#, fuzzy
+#: clutter/clutter-table-layout.c:594
 msgid "The row the widget resides in"
-msgstr "~a sütunundaki sıraya ekle."
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:347
-#, fuzzy
+#: clutter/clutter-table-layout.c:601
 msgid "Column Span"
-msgstr "Sütun atlama sütunu"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:348
+#: clutter/clutter-table-layout.c:602
 msgid "The number of columns the widget should span"
 msgstr ""
 
-#: ../clutter/clutter-table-layout.c:355
-#, fuzzy
+#: clutter/clutter-table-layout.c:609
 msgid "Row Span"
-msgstr "Satır atlama sütunu"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:356
+#: clutter/clutter-table-layout.c:610
 msgid "The number of rows the widget should span"
 msgstr ""
 
-#: ../clutter/clutter-table-layout.c:1282
+#: clutter/clutter-table-layout.c:617
+msgid "Horizontal Expand"
+msgstr ""
+
+#: clutter/clutter-table-layout.c:618
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr ""
+
+#: clutter/clutter-table-layout.c:624
+msgid "Vertical Expand"
+msgstr ""
+
+#: clutter/clutter-table-layout.c:625
+msgid "Allocate extra space for the child in vertical axis"
+msgstr ""
+
+#: clutter/clutter-table-layout.c:1714
 msgid "Spacing between columns"
 msgstr "Sütunlar arasındaki boşluk"
 
-#: ../clutter/clutter-table-layout.c:1296
+#: clutter/clutter-table-layout.c:1728
 msgid "Spacing between rows"
 msgstr "Satırlar arasındaki boşluk"
 
-#: ../clutter/clutter-text-buffer.c:349 ../clutter/clutter-text.c:3387
-msgid "Text"
-msgstr "Metin"
-
-#: ../clutter/clutter-text-buffer.c:350
-#, fuzzy
-#| msgid "The fill level of the buffer"
-msgid "The contents of the buffer"
-msgstr "Yeni tampon"
-
-#: ../clutter/clutter-text-buffer.c:363
-#| msgid "Max Length"
-msgid "Text length"
-msgstr "Metin uzunluğu"
-
-#: ../clutter/clutter-text-buffer.c:364
-#, fuzzy
-#| msgid "The path of the currently parsed file"
-msgid "Length of the text currently in the buffer"
-msgstr "Girişteki mevcut metnin uzunluğu"
-
-#: ../clutter/clutter-text-buffer.c:377
-#| msgid "Max Length"
-msgid "Maximum length"
-msgstr "En büyük uzunluk"
-
-#: ../clutter/clutter-text-buffer.c:378
-#, fuzzy
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "Bu girdi için en fazla karakter sayısı. Sınırsız olması için sıfır"
-
-#: ../clutter/clutter-text.c:3340
-#| msgid "Buffer Fill"
-msgid "Buffer"
-msgstr "Tampon"
-
-#: ../clutter/clutter-text.c:3341
-#, fuzzy
-#| msgid "The name of the meta"
-msgid "The buffer for the text"
-msgstr "Metin yönü"
-
-#: ../clutter/clutter-text.c:3357
+#: clutter/clutter-text.c:2940
 msgid "The font to be used by the text"
 msgstr "Metinde kullanılacak yazıtipi"
 
-#: ../clutter/clutter-text.c:3372
+#: clutter/clutter-text.c:2957
 msgid "Font Description"
 msgstr "Yazıtipi Tanımı"
 
-#: ../clutter/clutter-text.c:3373
+#: clutter/clutter-text.c:2958
 msgid "The font description to be used"
 msgstr "Kullanılacak yazıtipi tanımı"
 
-#: ../clutter/clutter-text.c:3388
-#, fuzzy
+#: clutter/clutter-text.c:2974
+msgid "Text"
+msgstr "Metin"
+
+#: clutter/clutter-text.c:2975
 msgid "The text to render"
-msgstr "Taramak için metin"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3400
+#: clutter/clutter-text.c:2989
 msgid "Font Color"
 msgstr "Yazıtipi Rengi"
 
-#: ../clutter/clutter-text.c:3401
+#: clutter/clutter-text.c:2990
 msgid "Color of the font used by the text"
 msgstr "Metinde kullanılan yazıtipinin rengi"
 
-#: ../clutter/clutter-text.c:3414
+#: clutter/clutter-text.c:3004
 msgid "Editable"
 msgstr "Düzenlenebilir"
 
-#: ../clutter/clutter-text.c:3415
+#: clutter/clutter-text.c:3005
 msgid "Whether the text is editable"
 msgstr "Metnin düzenlenebilirliği"
 
-#: ../clutter/clutter-text.c:3428
+#: clutter/clutter-text.c:3020
 msgid "Selectable"
 msgstr "Seçilebilir"
 
-#: ../clutter/clutter-text.c:3429
+#: clutter/clutter-text.c:3021
 msgid "Whether the text is selectable"
 msgstr "Metnin seçilebilirliği"
 
-#: ../clutter/clutter-text.c:3441
+#: clutter/clutter-text.c:3035
 msgid "Activatable"
 msgstr "Aktifleştirilebilir"
 
-#: ../clutter/clutter-text.c:3442
+#: clutter/clutter-text.c:3036
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr ""
 "Enter tuşuna basılmasının aktifleştirme sinyalinin gönderilmesine sebep olup "
 "olmayacağı"
 
-#: ../clutter/clutter-text.c:3457
+#: clutter/clutter-text.c:3053
 msgid "Whether the input cursor is visible"
 msgstr "Giriş imlecinin görünürlüğü"
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: clutter/clutter-text.c:3067 clutter/clutter-text.c:3068
 msgid "Cursor Color"
 msgstr "İmleç Rengi"
 
-#: ../clutter/clutter-text.c:3483
+#: clutter/clutter-text.c:3082
 msgid "Cursor Color Set"
 msgstr "İmleç Rengi Ayarlandı"
 
-#: ../clutter/clutter-text.c:3484
+#: clutter/clutter-text.c:3083
 msgid "Whether the cursor color has been set"
 msgstr "İmleç renginin ayarlanmış olup olmadığı"
 
-#: ../clutter/clutter-text.c:3497
+#: clutter/clutter-text.c:3098
 msgid "Cursor Size"
 msgstr "İmleç Boyutu"
 
-#: ../clutter/clutter-text.c:3498
+#: clutter/clutter-text.c:3099
 msgid "The width of the cursor, in pixels"
 msgstr "İmlecin piksel cinsinden genişliği"
 
-#: ../clutter/clutter-text.c:3510
+#: clutter/clutter-text.c:3113
 msgid "Cursor Position"
 msgstr "İmleç Konumu"
 
-#: ../clutter/clutter-text.c:3511
+#: clutter/clutter-text.c:3114
 msgid "The cursor position"
 msgstr "İmlecin konumu"
 
-#: ../clutter/clutter-text.c:3524
-#, fuzzy
+#: clutter/clutter-text.c:3129
 msgid "Selection-bound"
-msgstr "Seçim Sınırları"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3525
+#: clutter/clutter-text.c:3130
 msgid "The cursor position of the other end of the selection"
 msgstr ""
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: clutter/clutter-text.c:3145 clutter/clutter-text.c:3146
 msgid "Selection Color"
 msgstr "Seçim Rengi"
 
-#: ../clutter/clutter-text.c:3552
+#: clutter/clutter-text.c:3160
 msgid "Selection Color Set"
 msgstr "Seçim Rengi Ayarlandı"
 
-#: ../clutter/clutter-text.c:3553
+#: clutter/clutter-text.c:3161
 msgid "Whether the selection color has been set"
 msgstr "Seçim renginin ayarlanmış olup olmadığı"
 
-#: ../clutter/clutter-text.c:3566
+#: clutter/clutter-text.c:3176
 msgid "Attributes"
 msgstr "Öznitelikler"
 
-#: ../clutter/clutter-text.c:3567
-#, fuzzy
+#: clutter/clutter-text.c:3177
 msgid "A list of style attributes to apply to the contents of the actor"
-msgstr "Tarayıcı metnine uygulanacak biçem özelliklerinin bir listesi"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3587
-#, fuzzy
+#: clutter/clutter-text.c:3199
 msgid "Use markup"
-msgstr "Biçimleme kullan"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3588
+#: clutter/clutter-text.c:3200
 msgid "Whether or not the text includes Pango markup"
 msgstr ""
 
-#: ../clutter/clutter-text.c:3602
+#: clutter/clutter-text.c:3216
 msgid "Line wrap"
 msgstr "Satır kaydırma"
 
-#: ../clutter/clutter-text.c:3603
+#: clutter/clutter-text.c:3217
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "Eğer atanmışsa, satırlar çok geniş olduğunda bölünür"
 
-#: ../clutter/clutter-text.c:3616
+#: clutter/clutter-text.c:3232
 msgid "Line wrap mode"
 msgstr "Satır kaydırma kipi"
 
-#: ../clutter/clutter-text.c:3617
+#: clutter/clutter-text.c:3233
 msgid "Control how line-wrapping is done"
 msgstr "Satır kaydırmanın nasıl yapıldığını denetle"
 
-#: ../clutter/clutter-text.c:3630
-#, fuzzy
+#: clutter/clutter-text.c:3248
 msgid "Ellipsize"
-msgstr "Kısaltma"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3631
+#: clutter/clutter-text.c:3249
 msgid "The preferred place to ellipsize the string"
 msgstr ""
 
-#: ../clutter/clutter-text.c:3645
+#: clutter/clutter-text.c:3265
 msgid "Line Alignment"
 msgstr "Satır Hizalama"
 
-#: ../clutter/clutter-text.c:3646
+#: clutter/clutter-text.c:3266
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "Çok satırlı metinde dizge için tercih edilen hizalama"
 
-#: ../clutter/clutter-text.c:3660
+#: clutter/clutter-text.c:3282
 msgid "Justify"
 msgstr "İki yana yasla"
 
-#: ../clutter/clutter-text.c:3661
+#: clutter/clutter-text.c:3283
 msgid "Whether the text should be justified"
 msgstr "Metnin iki yana yaslanıp yaslanmayacağı"
 
-#: ../clutter/clutter-text.c:3674
+#: clutter/clutter-text.c:3298
 msgid "Password Character"
 msgstr "Parola Karakteri"
 
-#: ../clutter/clutter-text.c:3675
+#: clutter/clutter-text.c:3299
 msgid "If non-zero, use this character to display the actor's contents"
 msgstr ""
 
-#: ../clutter/clutter-text.c:3687
+#: clutter/clutter-text.c:3313
 msgid "Max Length"
 msgstr "En Büyük Uzunluk"
 
-#: ../clutter/clutter-text.c:3688
+#: clutter/clutter-text.c:3314
 msgid "Maximum length of the text inside the actor"
 msgstr "Aktör içindeki metnin en büyük uzunluğu"
 
-#: ../clutter/clutter-text.c:3709
+#: clutter/clutter-text.c:3337
 msgid "Single Line Mode"
 msgstr "Tek Satır Kipi"
 
-#: ../clutter/clutter-text.c:3710
+#: clutter/clutter-text.c:3338
 msgid "Whether the text should be a single line"
 msgstr ""
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: clutter/clutter-text.c:3352 clutter/clutter-text.c:3353
 msgid "Selected Text Color"
 msgstr "Seçili Metin Rengi"
 
-#: ../clutter/clutter-text.c:3736
+#: clutter/clutter-text.c:3367
 msgid "Selected Text Color Set"
 msgstr "Seçili Metin Rengi Ayarlandı"
 
-#: ../clutter/clutter-text.c:3737
+#: clutter/clutter-text.c:3368
 msgid "Whether the selected text color has been set"
 msgstr "Seçili metin renginin ayarlanıp ayarlanmadığı"
 
-#: ../clutter/clutter-timeline.c:562
-msgid "Delay"
-msgstr "Gecikme"
+#: clutter/clutter-texture.c:995
+msgid "Sync size of actor"
+msgstr "Aktörün boyutunu eşle"
 
-#: ../clutter/clutter-timeline.c:563
-msgid "Delay before start"
-msgstr "Başlamadan önceki gecikme"
+#: clutter/clutter-texture.c:996
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:578
-msgid "Duration"
-msgstr "Süre"
+#: clutter/clutter-texture.c:1003
+msgid "Disable Slicing"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:579
-msgid "Duration of the timeline in milliseconds"
-msgstr "Milisaniye cinsinden zaman çizgisi süresi"
+#: clutter/clutter-texture.c:1004
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:594
-msgid "Direction"
-msgstr "Yön"
+#: clutter/clutter-texture.c:1013
+msgid "Tile Waste"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:595
-msgid "Direction of the timeline"
-msgstr "Zaman çizgisi yönü"
+#: clutter/clutter-texture.c:1014
+msgid "Maximum waste area of a sliced texture"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:610
-msgid "Auto Reverse"
-msgstr "Otomatik Tersine Çevir"
+#: clutter/clutter-texture.c:1022
+msgid "Horizontal repeat"
+msgstr "Yatay tekrarla"
 
-#: ../clutter/clutter-timeline.c:611
-msgid "Whether the direction should be reversed when reaching the end"
+#: clutter/clutter-texture.c:1023
+msgid "Repeat the contents rather than scaling them horizontally"
 msgstr ""
 
-#: ../clutter/clutter-timeline.c:629
-msgid "Repeat Count"
-msgstr "Tekrar Sayısı"
+#: clutter/clutter-texture.c:1030
+msgid "Vertical repeat"
+msgstr "Dikey tekrarla"
 
-#: ../clutter/clutter-timeline.c:630
-msgid "How many times the timeline should repeat"
+#: clutter/clutter-texture.c:1031
+msgid "Repeat the contents rather than scaling them vertically"
 msgstr ""
 
-#: ../clutter/clutter-timeline.c:644
-#| msgid "Progress mode"
-msgid "Progress Mode"
-msgstr "İlerleme Kipi"
+#: clutter/clutter-texture.c:1038
+msgid "Filter Quality"
+msgstr "Filtre Kalitesi"
 
-#: ../clutter/clutter-timeline.c:645
-msgid "How the timeline should compute the progress"
+#: clutter/clutter-texture.c:1039
+msgid "Rendering quality used when drawing the texture"
 msgstr ""
 
-#: ../clutter/clutter-transition.c:246
-#, fuzzy
-msgid "Interval"
-msgstr "Otomatik Kaydetme Sıklığı"
+#: clutter/clutter-texture.c:1047
+msgid "Pixel Format"
+msgstr "Piksel Biçimi"
 
-#: ../clutter/clutter-transition.c:247
-#, fuzzy
-#| msgid "The timeline of the animation"
-msgid "The interval of values to transition"
-msgstr "İzlenecek kabuk değerleri"
+#: clutter/clutter-texture.c:1048
+msgid "The Cogl pixel format to use"
+msgstr "Kullanılacak Cogl piksel biçimi"
 
-#: ../clutter/clutter-transition.c:261
-#, fuzzy
-#| msgid "Activatable"
-msgid "Animatable"
-msgstr "Aktifleştirilebilir"
+#: clutter/clutter-texture.c:1056
+msgid "Cogl Texture"
+msgstr "Cogl Kaplaması"
 
-#: ../clutter/clutter-transition.c:262
-#, fuzzy
-msgid "The animatable object"
-msgstr "Pixbuf Nesnesi"
+#: clutter/clutter-texture.c:1057
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:283
-#, fuzzy
-msgid "Remove on Complete"
-msgstr "%s üzerindeki sütunu sil"
+#: clutter/clutter-texture.c:1064
+msgid "Cogl Material"
+msgstr "Cogl Malzemesi"
 
-#: ../clutter/clutter-transition.c:284
-msgid "Detach the transition when completed"
+#: clutter/clutter-texture.c:1065
+msgid "The underlying Cogl material handle used to draw this actor"
 msgstr ""
 
-#: ../clutter/clutter-zoom-action.c:356
-#, fuzzy
-#| msgid "Axis"
-msgid "Zoom Axis"
-msgstr "Hizalama Ekseni"
+#: clutter/clutter-texture.c:1082
+msgid "The path of the file containing the image data"
+msgstr ""
 
-#: ../clutter/clutter-zoom-action.c:357
-#, fuzzy
-#| msgid "Constraints the dragging to an axis"
-msgid "Constraints the zoom to an axis"
-msgstr "Sürüklemeyi bir eksenle kısıtlar"
+#: clutter/clutter-texture.c:1089
+msgid "Keep Aspect Ratio"
+msgstr "En-Boy Oranını Koru"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:159
-msgid "sysfs Path"
-msgstr "sysfs Yolu"
+#: clutter/clutter-texture.c:1090
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:160
-msgid "Path of the device in sysfs"
-msgstr "sysfs'deki aygıt yolu"
+#: clutter/clutter-texture.c:1116
+msgid "Load asynchronously"
+msgstr "Eşzamansız yükle"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:175
-msgid "Device Path"
-msgstr "Aygıt Yolu"
+#: clutter/clutter-texture.c:1117
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:176
-msgid "Path of the device node"
-msgstr "Aygıt düğümü yolu"
+#: clutter/clutter-texture.c:1133
+msgid "Load data asynchronously"
+msgstr "Veriyi eşzamansız yükle"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:287
-#, c-format
-msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
+#: clutter/clutter-texture.c:1134
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
 msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:423
-#| msgid "Surface Width"
-msgid "Surface"
-msgstr "Yüzey"
+#: clutter/clutter-texture.c:1158
+msgid "Pick With Alpha"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:424
-#, fuzzy
-msgid "The underlying wayland surface"
-msgstr "Wayland üzerinde GNOME"
+#: clutter/clutter-texture.c:1159
+msgid "Shape actor with alpha channel when picking"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:431
-#| msgid "Surface Width"
-msgid "Surface width"
-msgstr "Yüzey genişliği"
+#: clutter/clutter-texture.c:1557 clutter/clutter-texture.c:1967
+#: clutter/clutter-texture.c:2062 clutter/clutter-texture.c:2343
+msgid "Failed to load the image data"
+msgstr "Resim verisinin yüklenmesi başarısız oldu"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:432
-#, fuzzy
-#| msgid "The width of the Cairo surface"
-msgid "The width of the underlying wayland surface"
-msgstr "Cairo yüzey genişliği"
+#: clutter/clutter-texture.c:1703
+msgid "YUV textures are not supported"
+msgstr "YUV kaplamaları desteklenmiyor"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:440
-#| msgid "Surface Height"
-msgid "Surface height"
-msgstr "Yüzey yüksekliği"
+#: clutter/clutter-texture.c:1712
+msgid "YUV2 textues are not supported"
+msgstr "YUV2 kaplamaları desteklenmiyor"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:441
-#, fuzzy
-#| msgid "The height of the Cairo surface"
-msgid "The height of the underlying wayland surface"
-msgstr "Disk yüzeyi üzerinde kafaların yüksekliği"
+#: clutter/clutter-timeline.c:264
+msgid "Should the timeline automatically restart"
+msgstr "Zaman çizgisi otomatik olarak yeniden başlamalı mı"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Cogl Kaplaması"
+#: clutter/clutter-timeline.c:278
+msgid "Delay"
+msgstr "Gecikme"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
+#: clutter/clutter-timeline.c:279
+msgid "Delay before start"
+msgstr "Başlamadan önceki gecikme"
+
+#: clutter/clutter-timeline.c:295
+msgid "Duration of the timeline in milliseconds"
+msgstr "Milisaniye cinsinden zaman çizgisi süresi"
+
+#: clutter/clutter-timeline.c:311
+msgid "Direction of the timeline"
+msgstr "Zaman çizgisi yönü"
+
+#: clutter/clutter-timeline.c:326
+msgid "Auto Reverse"
+msgstr "Otomatik Tersine Çevir"
+
+#: clutter/clutter-timeline.c:327
+msgid "Whether the direction should be reversed when reaching the end"
 msgstr ""
 
-#: ../clutter/x11/clutter-backend-x11.c:508
+#: clutter/evdev/clutter-input-device-evdev.c:147
+msgid "sysfs Path"
+msgstr "sysfs Yolu"
+
+#: clutter/evdev/clutter-input-device-evdev.c:148
+msgid "Path of the device in sysfs"
+msgstr "sysfs'deki aygıt yolu"
+
+#: clutter/evdev/clutter-input-device-evdev.c:163
+msgid "Device Path"
+msgstr "Aygıt Yolu"
+
+#: clutter/evdev/clutter-input-device-evdev.c:164
+msgid "Path of the device node"
+msgstr "Aygıt düğümü yolu"
+
+#: clutter/x11/clutter-backend-x11.c:483
 msgid "X display to use"
 msgstr "Kullanılacak X göstericisi"
 
-#: ../clutter/x11/clutter-backend-x11.c:514
+#: clutter/x11/clutter-backend-x11.c:489
 msgid "X screen to use"
 msgstr "Kullanılacak X ekranı"
 
-#: ../clutter/x11/clutter-backend-x11.c:519
+#: clutter/x11/clutter-backend-x11.c:494
 msgid "Make X calls synchronous"
 msgstr "X çağrılarını eşazamanlı yap"
 
-#: ../clutter/x11/clutter-backend-x11.c:526
-#, fuzzy
-#| msgid "Enable XInput support"
-msgid "Disable XInput support"
-msgstr "Yankı giderme desteği"
+#: clutter/x11/clutter-backend-x11.c:501
+msgid "Enable XInput support"
+msgstr "XInput desteğini etkinleştir"
 
-#: ../clutter/x11/clutter-keymap-x11.c:322
+#: clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
 msgstr "Clutter arka ucu"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
+#: clutter/x11/clutter-x11-texture-pixmap.c:545
 msgid "Pixmap"
 msgstr "Pixmap"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
+#: clutter/x11/clutter-x11-texture-pixmap.c:546
 msgid "The X11 Pixmap to be bound"
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
+#: clutter/x11/clutter-x11-texture-pixmap.c:554
 msgid "Pixmap width"
 msgstr "Pixmap genişliği"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
+#: clutter/x11/clutter-x11-texture-pixmap.c:555
 msgid "The width of the pixmap bound to this texture"
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
+#: clutter/x11/clutter-x11-texture-pixmap.c:563
 msgid "Pixmap height"
 msgstr "Pixmap yüksekliği"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
+#: clutter/x11/clutter-x11-texture-pixmap.c:564
 msgid "The height of the pixmap bound to this texture"
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
+#: clutter/x11/clutter-x11-texture-pixmap.c:572
 msgid "Pixmap Depth"
 msgstr "Pixmap Derinliği"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
+#: clutter/x11/clutter-x11-texture-pixmap.c:573
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
+#: clutter/x11/clutter-x11-texture-pixmap.c:581
 msgid "Automatic Updates"
 msgstr "Otomatik Güncellemeler"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
+#: clutter/x11/clutter-x11-texture-pixmap.c:582
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
+#: clutter/x11/clutter-x11-texture-pixmap.c:590
 msgid "Window"
 msgstr "Pencere"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
-#, fuzzy
+#: clutter/x11/clutter-x11-texture-pixmap.c:591
 msgid "The X11 Window to be bound"
-msgstr "X11'e göre ekranda pencere X konumu"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
-#, fuzzy
+#: clutter/x11/clutter-x11-texture-pixmap.c:599
 msgid "Window Redirect Automatic"
-msgstr "Otomatik bağ algılama"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
+#: clutter/x11/clutter-x11-texture-pixmap.c:600
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
-#, fuzzy
+#: clutter/x11/clutter-x11-texture-pixmap.c:610
 msgid "Window Mapped"
-msgstr "Pencere genişliği"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
-#, fuzzy
+#: clutter/x11/clutter-x11-texture-pixmap.c:611
 msgid "If window is mapped"
-msgstr "pencere büyütülmüşse bunun değeri doğrudur"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
-#, fuzzy
+#: clutter/x11/clutter-x11-texture-pixmap.c:620
 msgid "Destroyed"
-msgstr "'%s' nesnesi başarıyla yokedildi"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
+#: clutter/x11/clutter-x11-texture-pixmap.c:621
 msgid "If window has been destroyed"
 msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
+#: clutter/x11/clutter-x11-texture-pixmap.c:629
 msgid "Window X"
 msgstr "Pencere X"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
+#: clutter/x11/clutter-x11-texture-pixmap.c:630
 msgid "X position of window on screen according to X11"
 msgstr "X11'e göre ekranda pencere X konumu"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
+#: clutter/x11/clutter-x11-texture-pixmap.c:638
 msgid "Window Y"
 msgstr "Pencere Y"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
+#: clutter/x11/clutter-x11-texture-pixmap.c:639
 msgid "Y position of window on screen according to X11"
 msgstr "X11'e göre ekranda pencere Y konumu"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
-#, fuzzy
+#: clutter/x11/clutter-x11-texture-pixmap.c:646
 msgid "Window Override Redirect"
-msgstr "Web Kimlik Doğrulama Yönlendirmesi"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
+#: clutter/x11/clutter-x11-texture-pixmap.c:647
 msgid "If this is an override-redirect window"
 msgstr ""
-
-#~ msgid "Depth"
-#~ msgstr "Derinlik"
-
-#~ msgid "Scale Center X"
-#~ msgstr "X Ölçeği Merkezi"
-
-#~ msgid "Horizontal scale center"
-#~ msgstr "Yatay ölçek merkezi"
-
-#~ msgid "Scale Center Y"
-#~ msgstr "Y Ölçeği Merkezi"
-
-#~ msgid "Vertical scale center"
-#~ msgstr "Dikey ölçek merkezi"
-
-#~ msgid "Scale Gravity"
-#~ msgstr "Ölçek Ağırlık Merkezi"
-
-#~ msgid "The center of scaling"
-#~ msgstr "Ölçekleme merkezi"
-
-#~ msgid "Rotation Center X"
-#~ msgstr "X Dönme Merkezi"
-
-#~ msgid "The rotation center on the X axis"
-#~ msgstr "X ekseni üzerindeki dönme merkezi"
-
-#~ msgid "Rotation Center Y"
-#~ msgstr "Y Dönme Merkezi"
-
-#~ msgid "The rotation center on the Y axis"
-#~ msgstr "Y ekseni üzerindeki dönme merkezi"
-
-#~ msgid "Rotation Center Z"
-#~ msgstr "Z Dönme Merkezi"
-
-#~ msgid "The rotation center on the Z axis"
-#~ msgstr "Z ekseni üzerindeki dönme merkezi"
-
-#~ msgid "Timeline"
-#~ msgstr "Zaman Çizgisi"
-
-#~ msgid "Timeline used by the alpha"
-#~ msgstr "Alfa tarafından kullanılan zaman çizgisi"
-
-#~ msgid "Alpha value"
-#~ msgstr "Alfa değeri"
-
-#~ msgid "Alpha value as computed by the alpha"
-#~ msgstr "Alfa tarafından hesaplandığı haliyle alfa değeri"
-
-#~ msgid "Mode"
-#~ msgstr "Kip"
-
-#~ msgid "Object"
-#~ msgstr "Nesne"
-
-#~ msgid "Object to which the animation applies"
-#~ msgstr "Canlandırmanın uygulanacağı nesne"
-
-#~ msgid "The mode of the animation"
-#~ msgstr "Canlandırma kipi"
-
-#~ msgid "Duration of the animation, in milliseconds"
-#~ msgstr "Milisaniye cinsinden canlandırma süresi"
-
-#~ msgid "Loop"
-#~ msgstr "Döngü"
-
-#~ msgid "Whether the animation should loop"
-#~ msgstr "Canlandırmanın tekrarlanıp tekrarlanmayacağı"
-
-#~ msgid "The timeline used by the animation"
-#~ msgstr "Canlandırma tarafından kullanılan zaman çizgisi"
-
-#~ msgid "Alpha"
-#~ msgstr "Alfa"
-
-#~ msgid "The alpha used by the animation"
-#~ msgstr "Canlandırma tarafından kullanılan alfa"
-
-#~ msgid "The duration of the animation"
-#~ msgstr "Canlandırma süresi"
-
-#~ msgid "Alpha Object to drive the behaviour"
-#~ msgstr "Davranışı kontrol eden Alfa Nesnesi"
-
-#~ msgid "Start Depth"
-#~ msgstr "Başlangıç Derinliği"
-
-#~ msgid "Initial depth to apply"
-#~ msgstr "Uygulanacak ilk derinlik"
-
-#~ msgid "End Depth"
-#~ msgstr "Bitiş Derinliği"
-
-#~ msgid "Final depth to apply"
-#~ msgstr "Uygulanacak son derinlik"
-
-#~ msgid "Start Angle"
-#~ msgstr "Başlangıç Açısı"
-
-#~ msgid "End Angle"
-#~ msgstr "Bitiş Açısı"
-
-#~ msgid "Width of the ellipse"
-#~ msgstr "Elipsin genişliği"
-
-#~ msgid "Height of ellipse"
-#~ msgstr "Elips yüksekliği"
-
-#~ msgid "Center"
-#~ msgstr "Merkez"
-
-#~ msgid "Center of ellipse"
-#~ msgstr "Elips merkezi"
-
-#~ msgid "Direction of rotation"
-#~ msgstr "Dönme yönü"
-
-#~ msgid "Opacity Start"
-#~ msgstr "Matlık Başlangıcı"
-
-#~ msgid "Initial opacity level"
-#~ msgstr "İlk matlık düzeyi"
-
-#~ msgid "Opacity End"
-#~ msgstr "Matlık Bitişi"
-
-#~ msgid "Final opacity level"
-#~ msgstr "Son matlık düzeyi"
-
-#~ msgid "Angle Begin"
-#~ msgstr "Açı Başlangıcı"
-
-#~ msgid "Angle End"
-#~ msgstr "Açı Sonu"
-
-#~ msgid "Axis of rotation"
-#~ msgstr "Dönme ekseni"
-
-#~ msgid "Center X"
-#~ msgstr "Merkez X"
-
-#~ msgid "X coordinate of the center of rotation"
-#~ msgstr "Dönme merkezinin X koordinatı"
-
-#~ msgid "Center Y"
-#~ msgstr "Merkez Y"
-
-#~ msgid "Y coordinate of the center of rotation"
-#~ msgstr "Dönme merkezinin Y koordinatı"
-
-#~ msgid "Center Z"
-#~ msgstr "Merkez Z"
-
-#~ msgid "Z coordinate of the center of rotation"
-#~ msgstr "Dönme merkezinin Z koordinatı"
-
-#~ msgid "X Start Scale"
-#~ msgstr "X Başlangıç Ölçeği"
-
-#~ msgid "X End Scale"
-#~ msgstr "X Bitiş Ölçeği"
-
-#~ msgid "Y Start Scale"
-#~ msgstr "Y Başlangıç Ölçeği"
-
-#~ msgid "Initial scale on the Y axis"
-#~ msgstr "Y eksenindeki ilk ölçek"
-
-#~ msgid "Y End Scale"
-#~ msgstr "Y Bitiş Ölçeği"
-
-#~ msgid "Final scale on the Y axis"
-#~ msgstr "Y eksenindeki son ölçek"
-
-#~ msgid "Horizontal Alignment"
-#~ msgstr "Yatay Hizalama"
-
-#~ msgid "Horizontal alignment for the actor inside the layout manager"
-#~ msgstr "Yerleşim yöneticisi içindeki aktörün yatay hizalaması"
-
-#~ msgid "Vertical Alignment"
-#~ msgstr "Dikey Hizalama"
-
-#~ msgid "Vertical alignment for the actor inside the layout manager"
-#~ msgstr "Yerleşim yöneticisi içindeki aktörün dikey hizalaması"
-
-#~ msgid ""
-#~ "Default horizontal alignment for the actors inside the layout manager"
-#~ msgstr "Yerleşim yöneticisi içindeki aktörlerin öntanımlı yatay hizalaması"
-
-#~ msgid "Default vertical alignment for the actors inside the layout manager"
-#~ msgstr "Yerleşim yöneticisi içindeki aktörlerin öntanımlı dikey hizalaması"
-
-#~ msgid "The layout manager used by the box"
-#~ msgstr "Kutu tarafından kullanılan yerleşim yöneticisi"
-
-#~ msgid "Color"
-#~ msgstr "Renk"
-
-#~ msgid "Color Set"
-#~ msgstr "Renk Ayarı"
-
-#~ msgid "Allocate extra space for the child"
-#~ msgstr "Çocuk için fazladan yer ayır"
-
-#~ msgid "Horizontal Fill"
-#~ msgstr "Yatay Doldur"
-
-#~ msgid "Vertical Fill"
-#~ msgstr "Dikey Doldur"
-
-#~ msgid "Horizontal alignment of the actor within the cell"
-#~ msgstr "Aktörün hücre içindeki yatay hizalaması"
-
-#~ msgid "Vertical"
-#~ msgstr "Dikey"
-
-#~ msgid "Whether the layout should be vertical, rather than horizontal"
-#~ msgstr "Yerleşimin yatay değil de dikey olup olmaması"
-
-#~ msgid "Use Animations"
-#~ msgstr "Canlandırmaları Kullan"
-
-#~ msgid "Whether layout changes should be animated"
-#~ msgstr "Yerleşim değişikliklerinin canlandırılması"
-
-#~ msgid "Easing Mode"
-#~ msgstr "Hafifletme Kipi"
-
-#~ msgid "The easing mode of the animations"
-#~ msgstr "Canlandırmaları hafifletme kipi"
-
-#~ msgid "Easing Duration"
-#~ msgstr "Hafifletme Süresi"
-
-#~ msgid "The duration of the animations"
-#~ msgstr "Canlandırmaların süresi"
-
-#~ msgid "Auto Resize"
-#~ msgstr "Otomatik Yeniden Boyutlandır"
-
-#~ msgid "URI"
-#~ msgstr "URI"
-
-#~ msgid "URI of a media file"
-#~ msgstr "Bir ortam dosyasının URI'si"
-
-#~ msgid "Playing"
-#~ msgstr "Oynuyor"
-
-#~ msgid "Whether the actor is playing"
-#~ msgstr "Aktörün oynamakta olup olmadığı"
-
-#~ msgid "Progress"
-#~ msgstr "İlerleme"
-
-#~ msgid "Current progress of the playback"
-#~ msgstr "Oynatmanın şu anki ilerleme durumu"
-
-#~ msgid "Subtitle URI"
-#~ msgstr "Altyazı URI"
-
-#~ msgid "URI of a subtitle file"
-#~ msgstr "Bir altyazı dosyasının URI adresi"
-
-#~ msgid "Subtitle Font Name"
-#~ msgstr "Altyazı Yazıtipi Adı"
-
-#~ msgid "The font used to display subtitles"
-#~ msgstr "Altyazıları göstermek için kullanılan yazıtipi"
-
-#~ msgid "Audio Volume"
-#~ msgstr "Ses Düzeyi"
-
-#~ msgid "The volume of the audio"
-#~ msgstr "Ses düzeyi"
-
-#~ msgid "The duration of the stream, in seconds"
-#~ msgstr "Akışın saniye cinsinden süresi"
-
-#~ msgid "The color of the rectangle"
-#~ msgstr "Dikdörtgenin rengi"
-
-#~ msgid "Border Color"
-#~ msgstr "Kenarlık Rengi"
-
-#~ msgid "The color of the border of the rectangle"
-#~ msgstr "Dikdörtgen kenarlığının rengi"
-
-#~ msgid "Border Width"
-#~ msgstr "Kenarlık Genişliği"
-
-#~ msgid "The width of the border of the rectangle"
-#~ msgstr "Dikdörtgen kenarlığının genişliği"
-
-#~ msgid "Has Border"
-#~ msgstr "Kenarlığı Var"
-
-#~ msgid "Whether the rectangle should have a border"
-#~ msgstr "Dikdörtgenin kenarlığının olup olmayacağı"
-
-#~ msgid "Vertex Source"
-#~ msgstr "Tepe Kaynağı"
-
-#~ msgid "Source of vertex shader"
-#~ msgstr "Tepe gölgelendiricisi kaynağı"
-
-#~ msgid "Fragment Source"
-#~ msgstr "Parça Kaynağı"
-
-#~ msgid "Source of fragment shader"
-#~ msgstr "Parça gölgelendiricisi kaynağı"
-
-#~ msgid "Compiled"
-#~ msgstr "Derlendi"
-
-#~ msgid "Whether the shader is compiled and linked"
-#~ msgstr "Gölgelendiricinin derlenmiş ve bağlanmış olup olmadığı"
-
-#~ msgid "Whether the shader is enabled"
-#~ msgstr "Gölgelendiricinin etkin olup olmadığı"
-
-#~ msgid "%s compilation failed: %s"
-#~ msgstr "%s derlemesi başarısız: %s"
-
-#~ msgid "Vertex shader"
-#~ msgstr "Tepe gölgelendiricisi"
-
-#~ msgid "Fragment shader"
-#~ msgstr "Parça gölgelendiricisi"
-
-#~ msgid "Offscreen"
-#~ msgstr "Ekran Dışı"
-
-#~ msgid "The color of the stage"
-#~ msgstr "Sahne rengi"
-
-#~ msgid "Use Fog"
-#~ msgstr "Sis Kullan"
-
-#~ msgid "Fog"
-#~ msgstr "Sis"
-
-#~ msgid "State"
-#~ msgstr "Durum"
-
-#~ msgid "Default transition duration"
-#~ msgstr "Öntanımlı geçiş süresi"
-
-#~ msgid "Sync size of actor"
-#~ msgstr "Aktörün boyutunu eşle"
-
-#~ msgid "Horizontal repeat"
-#~ msgstr "Yatay tekrarla"
-
-#~ msgid "Vertical repeat"
-#~ msgstr "Dikey tekrarla"
-
-#~ msgid "Filter Quality"
-#~ msgstr "Filtre Kalitesi"
-
-#~ msgid "Pixel Format"
-#~ msgstr "Piksel Biçimi"
-
-#~ msgid "The Cogl pixel format to use"
-#~ msgstr "Kullanılacak Cogl piksel biçimi"
-
-#~ msgid "Cogl Material"
-#~ msgstr "Cogl Malzemesi"
-
-#~ msgid "Keep Aspect Ratio"
-#~ msgstr "En-Boy Oranını Koru"
-
-#~ msgid "Load asynchronously"
-#~ msgstr "Eşzamansız yükle"
-
-#~ msgid "Load data asynchronously"
-#~ msgstr "Veriyi eşzamansız yükle"
-
-#~ msgid "YUV textures are not supported"
-#~ msgstr "YUV kaplamaları desteklenmiyor"
-
-#~ msgid "YUV2 textues are not supported"
-#~ msgstr "YUV2 kaplamaları desteklenmiyor"
-
-#~ msgid "Should the timeline automatically restart"
-#~ msgstr "Zaman çizgisi otomatik olarak yeniden başlamalı mı"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 686fd11..31629f8 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2,2539 +2,2189 @@
 # clutter 软件包的简体中文翻译.
 # Copyright (C) 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the clutter package.
-#
 # Aron Xu <happyaron xu gmail com>, 2010.
-# Sphinx Jiang <yishanj13 gmail com>, 2013.
-# Wylmer Wang <wantinghard gmail com>, 2014.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: clutter master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
-"product=clutter&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-01-23 17:15+0000\n"
-"PO-Revision-Date: 2013-12-25 00:25+0800\n"
-"Last-Translator: Sphinx Jiang <yishanj13 gmail com>\n"
-"Language-Team: Chinese Simplified <i18n-zh googlegroups com>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.clutter-project.org/enter_bug.cgi?";
+"product=clutter\n"
+"POT-Creation-Date: 2011-09-12 13:51+0100\n"
+"PO-Revision-Date: 2011-09-10 15:31+0800\n"
+"Last-Translator: Aron Xu <happyaron xu gmail com>\n"
+"Language-Team: Chinese (simplified) <i18n-zh googlegroups com>\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 1.5\n"
 
-#: ../clutter/clutter-actor.c:5581
+#: clutter/clutter-actor.c:3852
 msgid "X coordinate"
 msgstr "X 坐标"
 
-#: ../clutter/clutter-actor.c:5582
+#: clutter/clutter-actor.c:3853
 msgid "X coordinate of the actor"
-msgstr "角色(actor)的 X 坐标"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5600
+#: clutter/clutter-actor.c:3868
 msgid "Y coordinate"
 msgstr "Y 坐标"
 
-#: ../clutter/clutter-actor.c:5601
+#: clutter/clutter-actor.c:3869
 msgid "Y coordinate of the actor"
-msgstr "角色(actor)的 Y 坐标"
-
-#: ../clutter/clutter-actor.c:5623
-msgid "Position"
-msgstr "位置"
-
-#: ../clutter/clutter-actor.c:5624
-msgid "The position of the origin of the actor"
-msgstr "角色(actor)原点的位置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5641 ../clutter/clutter-canvas.c:215
-#: ../clutter/clutter-grid-layout.c:1238
+#: clutter/clutter-actor.c:3884 clutter/clutter-behaviour-ellipse.c:477
 msgid "Width"
 msgstr "宽度"
 
-#: ../clutter/clutter-actor.c:5642
+#: clutter/clutter-actor.c:3885
 msgid "Width of the actor"
-msgstr "角色(actor)的宽度"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5660 ../clutter/clutter-canvas.c:231
-#: ../clutter/clutter-grid-layout.c:1245
+#: clutter/clutter-actor.c:3899 clutter/clutter-behaviour-ellipse.c:493
 msgid "Height"
 msgstr "高度"
 
-#: ../clutter/clutter-actor.c:5661
+#: clutter/clutter-actor.c:3900
 msgid "Height of the actor"
-msgstr "角色(actor)高度"
-
-#: ../clutter/clutter-actor.c:5682
-msgid "Size"
-msgstr "尺寸"
-
-#: ../clutter/clutter-actor.c:5683
-msgid "The size of the actor"
-msgstr "角色(actor)的大小"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5701
+#: clutter/clutter-actor.c:3918
 msgid "Fixed X"
 msgstr "固定 X 坐标"
 
-#: ../clutter/clutter-actor.c:5702
+#: clutter/clutter-actor.c:3919
 msgid "Forced X position of the actor"
-msgstr "强制设置角色(actor)的 X 位置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5719
+#: clutter/clutter-actor.c:3937
 msgid "Fixed Y"
 msgstr "固定 Y 坐标"
 
-#: ../clutter/clutter-actor.c:5720
+#: clutter/clutter-actor.c:3938
 msgid "Forced Y position of the actor"
-msgstr "强制设置角色(actor)的 Y 位置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5735
+#: clutter/clutter-actor.c:3954
 msgid "Fixed position set"
-msgstr "固定位置设置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5736
+#: clutter/clutter-actor.c:3955
 msgid "Whether to use fixed positioning for the actor"
-msgstr "是否对角色(actor)使用固定位置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5754
+#: clutter/clutter-actor.c:3977
 msgid "Min Width"
 msgstr "最小宽度"
 
-#: ../clutter/clutter-actor.c:5755
+#: clutter/clutter-actor.c:3978
 msgid "Forced minimum width request for the actor"
-msgstr "角色(actor)的强制最小宽度要求"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5773
+#: clutter/clutter-actor.c:3997
 msgid "Min Height"
 msgstr "最小高度"
 
-#: ../clutter/clutter-actor.c:5774
+#: clutter/clutter-actor.c:3998
 msgid "Forced minimum height request for the actor"
-msgstr "角色(actor)的强制最小高度要求"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5792
+#: clutter/clutter-actor.c:4017
 msgid "Natural Width"
-msgstr "自然宽度"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5793
+#: clutter/clutter-actor.c:4018
 msgid "Forced natural width request for the actor"
-msgstr "角色(actor)的强制自然宽度要求"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5811
+#: clutter/clutter-actor.c:4037
 msgid "Natural Height"
-msgstr "自然高度"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5812
+#: clutter/clutter-actor.c:4038
 msgid "Forced natural height request for the actor"
-msgstr "角色(actor)的强制自然高度要求"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5827
+#: clutter/clutter-actor.c:4054
 msgid "Minimum width set"
-msgstr "最小宽度设置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5828
+#: clutter/clutter-actor.c:4055
 msgid "Whether to use the min-width property"
-msgstr "是否使用 min-width 属性"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5842
+#: clutter/clutter-actor.c:4070
 msgid "Minimum height set"
-msgstr "最小高度设置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5843
+#: clutter/clutter-actor.c:4071
 msgid "Whether to use the min-height property"
-msgstr "是否使用 min-height 属性"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5857
+#: clutter/clutter-actor.c:4086
 msgid "Natural width set"
-msgstr "自然宽度设置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5858
+#: clutter/clutter-actor.c:4087
 msgid "Whether to use the natural-width property"
-msgstr "是否使用自然宽度属性"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5872
+#: clutter/clutter-actor.c:4104
 msgid "Natural height set"
-msgstr "自然高度设置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5873
+#: clutter/clutter-actor.c:4105
 msgid "Whether to use the natural-height property"
-msgstr "是否使用自然高度属性"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5889
+#: clutter/clutter-actor.c:4124
 msgid "Allocation"
 msgstr "分配"
 
-#: ../clutter/clutter-actor.c:5890
+#: clutter/clutter-actor.c:4125
 msgid "The actor's allocation"
-msgstr "角色(actor)的分配"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5947
+#: clutter/clutter-actor.c:4181
 msgid "Request Mode"
 msgstr "请求模式"
 
-#: ../clutter/clutter-actor.c:5948
+#: clutter/clutter-actor.c:4182
 msgid "The actor's request mode"
-msgstr "角色(actor)的请求模式"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5972
-msgid "Z Position"
-msgstr "Z 位置"
+#: clutter/clutter-actor.c:4197
+msgid "Depth"
+msgstr "色深"
 
-#: ../clutter/clutter-actor.c:5973
-msgid "The actor's position on the Z axis"
-msgstr "角色(actor)的 Z 轴位置"
+#: clutter/clutter-actor.c:4198
+msgid "Position on the Z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:5990
+#: clutter/clutter-actor.c:4212
 msgid "Opacity"
 msgstr "透明度"
 
-#: ../clutter/clutter-actor.c:5991
+#: clutter/clutter-actor.c:4213
 msgid "Opacity of an actor"
-msgstr "角色(actor)的透明度"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6011
+#: clutter/clutter-actor.c:4232
 msgid "Offscreen redirect"
-msgstr "幕后重定向"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6012
+#: clutter/clutter-actor.c:4233
 msgid "Flags controlling when to flatten the actor into a single image"
-msgstr "控制何时将角色(actor)扁平化到单一图像的标志"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6026
+#: clutter/clutter-actor.c:4251
 msgid "Visible"
 msgstr "可见性"
 
-#: ../clutter/clutter-actor.c:6027
+#: clutter/clutter-actor.c:4252
 msgid "Whether the actor is visible or not"
-msgstr "角色(actor)是否可见"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6041
+#: clutter/clutter-actor.c:4267
 msgid "Mapped"
-msgstr "已映射"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6042
+#: clutter/clutter-actor.c:4268
 msgid "Whether the actor will be painted"
-msgstr "角色(actor)是否会绘制"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6055
+#: clutter/clutter-actor.c:4282
 msgid "Realized"
-msgstr "已实现"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6056
+#: clutter/clutter-actor.c:4283
 msgid "Whether the actor has been realized"
-msgstr "角色(actor)是否已实现"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6071
+#: clutter/clutter-actor.c:4299
 msgid "Reactive"
 msgstr "重新激活"
 
-#: ../clutter/clutter-actor.c:6072
+#: clutter/clutter-actor.c:4300
 msgid "Whether the actor is reactive to events"
-msgstr "角色(actor)是否对事件反应"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6083
+#: clutter/clutter-actor.c:4312
 msgid "Has Clip"
-msgstr "有剪切"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6084
+#: clutter/clutter-actor.c:4313
 msgid "Whether the actor has a clip set"
-msgstr "角色(actor)是否有剪切设置"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6103
-msgid "Clip Rectangle"
-msgstr "剪切矩形"
+#: clutter/clutter-actor.c:4328
+msgid "Clip"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6104
-msgid "The visible region of the actor"
-msgstr "角色(actor)的可见区域"
+#: clutter/clutter-actor.c:4329
+#, fuzzy
+msgid "The clip region for the actor"
+msgstr "文本方向"
 
-#: ../clutter/clutter-actor.c:6118 ../clutter/clutter-actor-meta.c:207
-#: ../clutter/clutter-binding-pool.c:319 ../clutter/clutter-input-device.c:258
+#: clutter/clutter-actor.c:4343 clutter/clutter-actor-meta.c:207
+#: clutter/clutter-binding-pool.c:319 clutter/clutter-input-device.c:236
 msgid "Name"
 msgstr "名称"
 
-#: ../clutter/clutter-actor.c:6119
+#: clutter/clutter-actor.c:4344
 msgid "Name of the actor"
-msgstr "角色(actor)名称"
-
-#: ../clutter/clutter-actor.c:6140
-msgid "Pivot Point"
-msgstr "旋转中心"
-
-#: ../clutter/clutter-actor.c:6141
-msgid "The point around which the scaling and rotation occur"
-msgstr "缩放和旋转的中心点"
-
-#: ../clutter/clutter-actor.c:6159
-msgid "Pivot Point Z"
-msgstr "旋转中心 Z"
-
-#: ../clutter/clutter-actor.c:6160
-msgid "Z component of the pivot point"
-msgstr "旋转中心的 Z 分量"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6178
+#: clutter/clutter-actor.c:4358
 msgid "Scale X"
-msgstr "缩放 X"
+msgstr "缩放 X 坐标"
 
-#: ../clutter/clutter-actor.c:6179
+#: clutter/clutter-actor.c:4359
 msgid "Scale factor on the X axis"
-msgstr "X 轴缩放系数"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6197
+#: clutter/clutter-actor.c:4374
 msgid "Scale Y"
-msgstr "缩放 Y"
+msgstr "缩放 Y 坐标"
 
-#: ../clutter/clutter-actor.c:6198
+#: clutter/clutter-actor.c:4375
 msgid "Scale factor on the Y axis"
-msgstr "Y 轴缩放系数"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6216
-msgid "Scale Z"
-msgstr "缩放 Z"
+#: clutter/clutter-actor.c:4390
+msgid "Scale Center X"
+msgstr ""
+
+#: clutter/clutter-actor.c:4391
+msgid "Horizontal scale center"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6217
-msgid "Scale factor on the Z axis"
-msgstr "Z 轴缩放系数"
+#: clutter/clutter-actor.c:4406
+msgid "Scale Center Y"
+msgstr ""
+
+#: clutter/clutter-actor.c:4407
+msgid "Vertical scale center"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6235
+#: clutter/clutter-actor.c:4422
+msgid "Scale Gravity"
+msgstr ""
+
+#: clutter/clutter-actor.c:4423
+msgid "The center of scaling"
+msgstr ""
+
+#: clutter/clutter-actor.c:4440
 msgid "Rotation Angle X"
-msgstr "旋转角 X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6236
+#: clutter/clutter-actor.c:4441
 msgid "The rotation angle on the X axis"
-msgstr "X 轴旋转角"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6254
+#: clutter/clutter-actor.c:4456
 msgid "Rotation Angle Y"
-msgstr "旋转角 Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6255
+#: clutter/clutter-actor.c:4457
 msgid "The rotation angle on the Y axis"
-msgstr "Y 轴旋转角"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6273
+#: clutter/clutter-actor.c:4472
 msgid "Rotation Angle Z"
-msgstr "旋转角 Z"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6274
+#: clutter/clutter-actor.c:4473
 msgid "The rotation angle on the Z axis"
-msgstr "Z 轴旋转角"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6293
-msgid "Translation X"
-msgstr "平移 X"
+#: clutter/clutter-actor.c:4488
+msgid "Rotation Center X"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6294
-msgid "Translation along the X axis"
-msgstr "沿 X 轴平移"
+#: clutter/clutter-actor.c:4489
+msgid "The rotation center on the X axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6313
-msgid "Translation Y"
-msgstr "平移 Y"
+#: clutter/clutter-actor.c:4505
+msgid "Rotation Center Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6314
-msgid "Translation along the Y axis"
-msgstr "沿 Y 轴平移"
+#: clutter/clutter-actor.c:4506
+msgid "The rotation center on the Y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6333
-msgid "Translation Z"
-msgstr "平移 Z"
+#: clutter/clutter-actor.c:4522
+msgid "Rotation Center Z"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6334
-msgid "Translation along the Z axis"
-msgstr "沿 Z 轴平移"
+#: clutter/clutter-actor.c:4523
+msgid "The rotation center on the Z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6362
-msgid "Transform"
-msgstr "变换"
+#: clutter/clutter-actor.c:4539
+msgid "Rotation Center Z Gravity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6363
-msgid "Transformation matrix"
-msgstr "变换矩阵"
+#: clutter/clutter-actor.c:4540
+msgid "Center point for rotation around the Z axis"
+msgstr ""
+
+#: clutter/clutter-actor.c:4558
+msgid "Anchor X"
+msgstr ""
+
+#: clutter/clutter-actor.c:4559
+msgid "X coordinate of the anchor point"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6376
-msgid "Transform Set"
-msgstr "变换已设置"
+#: clutter/clutter-actor.c:4575
+msgid "Anchor Y"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6377
-msgid "Whether the transform property is set"
-msgstr "是否设置了 transform 属性"
+#: clutter/clutter-actor.c:4576
+msgid "Y coordinate of the anchor point"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6396
-msgid "Child Transform"
-msgstr "子对象变换"
+#: clutter/clutter-actor.c:4591
+msgid "Anchor Gravity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6397
-msgid "Children transformation matrix"
-msgstr "子对象变换矩阵"
+#: clutter/clutter-actor.c:4592
+msgid "The anchor point as a ClutterGravity"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6412
-msgid "Child Transform Set"
-msgstr "子对象变换设置"
+#: clutter/clutter-actor.c:4611
+msgid "Show on set parent"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6413
-msgid "Whether the child-transform property is set"
-msgstr "是否设置了 child-transform 属性"
+#: clutter/clutter-actor.c:4612
+msgid "Whether the actor is shown when parented"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6431
+#: clutter/clutter-actor.c:4632
 msgid "Clip to Allocation"
-msgstr "要分配的剪切区域"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6432
+#: clutter/clutter-actor.c:4633
 msgid "Sets the clip region to track the actor's allocation"
-msgstr "设置要追踪角色(actor)分配的剪切区域"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6445
+#: clutter/clutter-actor.c:4643
 msgid "Text Direction"
 msgstr "文本方向"
 
-#: ../clutter/clutter-actor.c:6446
+#: clutter/clutter-actor.c:4644
 msgid "Direction of the text"
 msgstr "文本的方向"
 
-#: ../clutter/clutter-actor.c:6461
+#: clutter/clutter-actor.c:4662
 msgid "Has Pointer"
-msgstr "有指针"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6462
+#: clutter/clutter-actor.c:4663
 msgid "Whether the actor contains the pointer of an input device"
-msgstr "角色(actor)中是否包含输入设备的指针"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6475
+#: clutter/clutter-actor.c:4680
 msgid "Actions"
 msgstr "动作"
 
-#: ../clutter/clutter-actor.c:6476
+#: clutter/clutter-actor.c:4681
 msgid "Adds an action to the actor"
-msgstr "向角色(actor)添加动作"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6489
+#: clutter/clutter-actor.c:4695
 msgid "Constraints"
-msgstr "约束"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6490
+#: clutter/clutter-actor.c:4696
 msgid "Adds a constraint to the actor"
-msgstr "向角色(actor)添加约束"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6503
-msgid "Effect"
-msgstr "效果"
+#: clutter/clutter-actor-meta.c:193 clutter/clutter-child-meta.c:142
+msgid "Actor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6504
-msgid "Add an effect to be applied on the actor"
-msgstr "添加要应用于角色(actor)的效果"
+#: clutter/clutter-actor-meta.c:194
+msgid "The actor attached to the meta"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6518
-msgid "Layout Manager"
-msgstr "样式管理器"
+#: clutter/clutter-actor-meta.c:208
+msgid "The name of the meta"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6519
-msgid "The object controlling the layout of an actor's children"
-msgstr "控制角色(actor)的子角色布局的对象"
+#: clutter/clutter-actor-meta.c:221 clutter/clutter-input-device.c:315
+#: clutter/clutter-shader.c:307
+msgid "Enabled"
+msgstr "启用"
 
-#: ../clutter/clutter-actor.c:6533
-msgid "X Expand"
-msgstr "X 伸展"
+#: clutter/clutter-actor-meta.c:222
+msgid "Whether the meta is enabled"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6534
-msgid "Whether extra horizontal space should be assigned to the actor"
-msgstr "是否将额外的水平空间分配给角色(actor)"
+#: clutter/clutter-align-constraint.c:270
+#: clutter/clutter-bind-constraint.c:349 clutter/clutter-clone.c:340
+#: clutter/clutter-snap-constraint.c:321
+msgid "Source"
+msgstr "来源"
 
-#: ../clutter/clutter-actor.c:6549
-msgid "Y Expand"
-msgstr "Y 伸展"
+#: clutter/clutter-align-constraint.c:271
+msgid "The source of the alignment"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6550
-msgid "Whether extra vertical space should be assigned to the actor"
-msgstr "是否将额外的竖直空间分配给角色(actor)"
+#: clutter/clutter-align-constraint.c:284
+msgid "Align Axis"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6566
-msgid "X Alignment"
-msgstr "X 对齐方式"
+#: clutter/clutter-align-constraint.c:285
+msgid "The axis to align the position to"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6567
-msgid "The alignment of the actor on the X axis within its allocation"
-msgstr "在角色(actor)分配范围内,角色沿 X 轴的对齐方式"
+#: clutter/clutter-align-constraint.c:304
+#: clutter/clutter-desaturate-effect.c:304
+msgid "Factor"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6582
-msgid "Y Alignment"
-msgstr "Y 对齐方式"
+#: clutter/clutter-align-constraint.c:305
+msgid "The alignment factor, between 0.0 and 1.0"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6583
-msgid "The alignment of the actor on the Y axis within its allocation"
-msgstr "在角色(actor)分配范围内,角色沿 Y 轴的对齐方式"
+#: clutter/clutter-alpha.c:345 clutter/clutter-animation.c:538
+#: clutter/clutter-animator.c:1802
+msgid "Timeline"
+msgstr "时间轴"
 
-#: ../clutter/clutter-actor.c:6602
-msgid "Margin Top"
-msgstr "顶部边界"
+#: clutter/clutter-alpha.c:346
+msgid "Timeline used by the alpha"
+msgstr "Alpha 使用的时间轴"
 
-#: ../clutter/clutter-actor.c:6603
-msgid "Extra space at the top"
-msgstr "顶部的额外空间"
+#: clutter/clutter-alpha.c:361
+msgid "Alpha value"
+msgstr "Alpha 值"
 
-#: ../clutter/clutter-actor.c:6624
-msgid "Margin Bottom"
-msgstr "底部边界"
+#: clutter/clutter-alpha.c:362
+msgid "Alpha value as computed by the alpha"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6625
-msgid "Extra space at the bottom"
-msgstr "底部的额外空间"
+#: clutter/clutter-alpha.c:382 clutter/clutter-animation.c:494
+msgid "Mode"
+msgstr "模式"
 
-#: ../clutter/clutter-actor.c:6646
-msgid "Margin Left"
-msgstr "左边界"
+#: clutter/clutter-alpha.c:383
+msgid "Progress mode"
+msgstr "进度模式"
 
-#: ../clutter/clutter-actor.c:6647
-msgid "Extra space at the left"
-msgstr "左侧的额外空间"
+#: clutter/clutter-animation.c:478
+msgid "Object"
+msgstr "对象"
 
-#: ../clutter/clutter-actor.c:6668
-msgid "Margin Right"
-msgstr "右边界"
+#: clutter/clutter-animation.c:479
+msgid "Object to which the animation applies"
+msgstr "应用动画的对象"
 
-#: ../clutter/clutter-actor.c:6669
-msgid "Extra space at the right"
-msgstr "右侧的额外空间"
+#: clutter/clutter-animation.c:495
+msgid "The mode of the animation"
+msgstr "动画的模式"
 
-#: ../clutter/clutter-actor.c:6685
-msgid "Background Color Set"
-msgstr "背景颜色设置"
+#: clutter/clutter-animation.c:509 clutter/clutter-animator.c:1786
+#: clutter/clutter-media.c:194 clutter/clutter-state.c:1486
+#: clutter/clutter-timeline.c:294
+msgid "Duration"
+msgstr "时长"
 
-#: ../clutter/clutter-actor.c:6686
-msgid "Whether the background color is set"
-msgstr "是否设置了背景色"
+#: clutter/clutter-animation.c:510
+msgid "Duration of the animation, in milliseconds"
+msgstr "动画时长,以毫秒计"
 
-#: ../clutter/clutter-actor.c:6702
-msgid "Background color"
-msgstr "背景颜色"
+#: clutter/clutter-animation.c:524 clutter/clutter-timeline.c:263
+msgid "Loop"
+msgstr "循环"
 
-#: ../clutter/clutter-actor.c:6703
-msgid "The actor's background color"
-msgstr "角色(actor)的背景颜色"
+#: clutter/clutter-animation.c:525
+msgid "Whether the animation should loop"
+msgstr "动画是否循环"
 
-#: ../clutter/clutter-actor.c:6718
-msgid "First Child"
-msgstr "首个子角色"
+#: clutter/clutter-animation.c:539
+msgid "The timeline used by the animation"
+msgstr "动画使用的时间轴"
 
-#: ../clutter/clutter-actor.c:6719
-msgid "The actor's first child"
-msgstr "角色(actor)的首个子角色"
+#: clutter/clutter-animation.c:552 clutter/clutter-behaviour.c:304
+msgid "Alpha"
+msgstr "Alpha"
 
-#: ../clutter/clutter-actor.c:6732
-msgid "Last Child"
-msgstr "最后子角色"
+#: clutter/clutter-animation.c:553
+msgid "The alpha used by the animation"
+msgstr "动画使用的 alpha"
 
-#: ../clutter/clutter-actor.c:6733
-msgid "The actor's last child"
-msgstr "角色(actor)的最后一个子角色"
+#: clutter/clutter-animator.c:1787
+msgid "The duration of the animation"
+msgstr "动画的时长"
 
-#: ../clutter/clutter-actor.c:6747
-msgid "Content"
-msgstr "内容"
+#: clutter/clutter-animator.c:1803
+msgid "The timeline of the animation"
+msgstr "动画的时间轴"
 
-#: ../clutter/clutter-actor.c:6748
-msgid "Delegate object for painting the actor's content"
-msgstr "绘制角色(actor)内容的委托对象"
+#: clutter/clutter-behaviour.c:305
+msgid "Alpha Object to drive the behaviour"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6773
-msgid "Content Gravity"
-msgstr "内容重心"
+#: clutter/clutter-behaviour-depth.c:178
+msgid "Start Depth"
+msgstr "起始色深"
 
-#: ../clutter/clutter-actor.c:6774
-msgid "Alignment of the actor's content"
-msgstr "角色(actor)内容的对齐方式"
+#: clutter/clutter-behaviour-depth.c:179
+msgid "Initial depth to apply"
+msgstr "应用的初始色深"
 
-#: ../clutter/clutter-actor.c:6794
-msgid "Content Box"
-msgstr "内容框"
+#: clutter/clutter-behaviour-depth.c:194
+msgid "End Depth"
+msgstr "终点色深"
 
-#: ../clutter/clutter-actor.c:6795
-msgid "The bounding box of the actor's content"
-msgstr "角色(actor)内容的边界框(bounding box)"
+#: clutter/clutter-behaviour-depth.c:195
+msgid "Final depth to apply"
+msgstr "应用的终点色深"
 
-#: ../clutter/clutter-actor.c:6803
-msgid "Minification Filter"
-msgstr "缩小过滤器"
+#: clutter/clutter-behaviour-ellipse.c:397
+msgid "Start Angle"
+msgstr "起始角度"
 
-#: ../clutter/clutter-actor.c:6804
-msgid "The filter used when reducing the size of the content"
-msgstr "缩小内容尺寸时使用的过滤器"
+#: clutter/clutter-behaviour-ellipse.c:398
+#: clutter/clutter-behaviour-rotate.c:280
+msgid "Initial angle"
+msgstr "初始的角度"
 
-#: ../clutter/clutter-actor.c:6811
-msgid "Magnification Filter"
-msgstr "放大过滤器"
+#: clutter/clutter-behaviour-ellipse.c:413
+msgid "End Angle"
+msgstr "终点角度"
 
-#: ../clutter/clutter-actor.c:6812
-msgid "The filter used when increasing the size of the content"
-msgstr "放大内容尺寸时使用的过滤器"
+#: clutter/clutter-behaviour-ellipse.c:414
+#: clutter/clutter-behaviour-rotate.c:298
+msgid "Final angle"
+msgstr "终点的角度"
 
-#: ../clutter/clutter-actor.c:6826
-msgid "Content Repeat"
-msgstr "重复内容"
+#: clutter/clutter-behaviour-ellipse.c:429
+msgid "Angle x tilt"
+msgstr ""
 
-#: ../clutter/clutter-actor.c:6827
-msgid "The repeat policy for the actor's content"
-msgstr "角色(actor)的内容重复策略"
+#: clutter/clutter-behaviour-ellipse.c:430
+msgid "Tilt of the ellipse around x axis"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:193 ../clutter/clutter-child-meta.c:142
-msgid "Actor"
-msgstr "角色"
+#: clutter/clutter-behaviour-ellipse.c:445
+msgid "Angle y tilt"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:194
-msgid "The actor attached to the meta"
-msgstr "附到元(meta)的角色(actor)"
+#: clutter/clutter-behaviour-ellipse.c:446
+msgid "Tilt of the ellipse around y axis"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:208
-msgid "The name of the meta"
-msgstr "元(meta)的名称"
+#: clutter/clutter-behaviour-ellipse.c:461
+msgid "Angle z tilt"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:221 ../clutter/clutter-input-device.c:337
-msgid "Enabled"
-msgstr "启用"
+#: clutter/clutter-behaviour-ellipse.c:462
+msgid "Tilt of the ellipse around z axis"
+msgstr ""
 
-#: ../clutter/clutter-actor-meta.c:222
-msgid "Whether the meta is enabled"
-msgstr "是否启用元(meta)"
+#: clutter/clutter-behaviour-ellipse.c:478
+msgid "Width of the ellipse"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:279
-#: ../clutter/clutter-bind-constraint.c:358 ../clutter/clutter-clone.c:345
-#: ../clutter/clutter-snap-constraint.c:321
-msgid "Source"
-msgstr "来源"
+#: clutter/clutter-behaviour-ellipse.c:494
+msgid "Height of ellipse"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:280
-msgid "The source of the alignment"
-msgstr "对齐的依据"
+#: clutter/clutter-behaviour-ellipse.c:509
+msgid "Center"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:293
-msgid "Align Axis"
-msgstr "对齐轴"
+#: clutter/clutter-behaviour-ellipse.c:510
+msgid "Center of ellipse"
+msgstr ""
 
-#: ../clutter/clutter-align-constraint.c:294
-msgid "The axis to align the position to"
-msgstr "对齐位置的轴"
+#: clutter/clutter-behaviour-ellipse.c:524
+#: clutter/clutter-behaviour-rotate.c:333 clutter/clutter-timeline.c:310
+msgid "Direction"
+msgstr "方向"
 
-#: ../clutter/clutter-align-constraint.c:313
-#: ../clutter/clutter-desaturate-effect.c:270
-msgid "Factor"
-msgstr "系数"
+#: clutter/clutter-behaviour-ellipse.c:525
+#: clutter/clutter-behaviour-rotate.c:334
+#, fuzzy
+msgid "Direction of rotation"
+msgstr "文本方向"
 
-#: ../clutter/clutter-align-constraint.c:314
-msgid "The alignment factor, between 0.0 and 1.0"
-msgstr "对齐系数,0.0 到 1.0 之间"
+#: clutter/clutter-behaviour-opacity.c:181
+msgid "Opacity Start"
+msgstr ""
 
-#: ../clutter/clutter-backend.c:373
-msgid "Unable to initialize the Clutter backend"
-msgstr "无法初始化 Clutter 后端"
+#: clutter/clutter-behaviour-opacity.c:182
+msgid "Initial opacity level"
+msgstr ""
 
-#: ../clutter/clutter-backend.c:447
-#, c-format
-msgid "The backend of type '%s' does not support creating multiple stages"
-msgstr "“%s”类型的后端不支持创建多个舞台(stage)"
+#: clutter/clutter-behaviour-opacity.c:199
+msgid "Opacity End"
+msgstr ""
+
+#: clutter/clutter-behaviour-opacity.c:200
+msgid "Final opacity level"
+msgstr ""
+
+#: clutter/clutter-behaviour-path.c:222 clutter/clutter-path-constraint.c:212
+msgid "Path"
+msgstr "路径"
+
+#: clutter/clutter-behaviour-path.c:223
+msgid "The ClutterPath object representing the path to animate along"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:279
+msgid "Angle Begin"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:297
+msgid "Angle End"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:315
+msgid "Axis"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:316
+msgid "Axis of rotation"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:351
+msgid "Center X"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:352
+msgid "X coordinate of the center of rotation"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:369
+msgid "Center Y"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:370
+msgid "Y coordinate of the center of rotation"
+msgstr ""
+
+#: clutter/clutter-behaviour-rotate.c:387
+msgid "Center Z"
+msgstr "中心 Z"
+
+#: clutter/clutter-behaviour-rotate.c:388
+msgid "Z coordinate of the center of rotation"
+msgstr "旋转中心的 Z 坐标"
 
-#: ../clutter/clutter-bind-constraint.c:359
+#: clutter/clutter-behaviour-scale.c:222
+msgid "X Start Scale"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:223
+msgid "Initial scale on the X axis"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:241
+msgid "X End Scale"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:242
+msgid "Final scale on the X axis"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:260
+msgid "Y Start Scale"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:261
+msgid "Initial scale on the Y axis"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:279
+msgid "Y End Scale"
+msgstr ""
+
+#: clutter/clutter-behaviour-scale.c:280
+msgid "Final scale on the Y axis"
+msgstr ""
+
+#: clutter/clutter-bind-constraint.c:350
 msgid "The source of the binding"
-msgstr "绑定的源"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:372
+#: clutter/clutter-bind-constraint.c:363
 msgid "Coordinate"
 msgstr "坐标"
 
-#: ../clutter/clutter-bind-constraint.c:373
+#: clutter/clutter-bind-constraint.c:364
 msgid "The coordinate to bind"
-msgstr "要绑定的坐标"
+msgstr ""
 
-#: ../clutter/clutter-bind-constraint.c:387
-#: ../clutter/clutter-path-constraint.c:226
-#: ../clutter/clutter-snap-constraint.c:366
+#: clutter/clutter-bind-constraint.c:378 clutter/clutter-path-constraint.c:226
+#: clutter/clutter-snap-constraint.c:366
 msgid "Offset"
 msgstr "偏移"
 
-#: ../clutter/clutter-bind-constraint.c:388
+#: clutter/clutter-bind-constraint.c:379
 msgid "The offset in pixels to apply to the binding"
-msgstr "要应用于绑定的偏移(像素)"
+msgstr ""
 
-#: ../clutter/clutter-binding-pool.c:320
+#: clutter/clutter-binding-pool.c:320
 msgid "The unique name of the binding pool"
-msgstr "绑定池的的惟一限定名称"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:968 ../clutter/clutter-flow-layout.c:944
-#: ../clutter/clutter-grid-layout.c:1550
-msgid "Orientation"
-msgstr "方向"
+#: clutter/clutter-bin-layout.c:261 clutter/clutter-bin-layout.c:585
+#: clutter/clutter-box-layout.c:395 clutter/clutter-table-layout.c:652
+msgid "Horizontal Alignment"
+msgstr "水平对齐"
 
-#: ../clutter/clutter-box-layout.c:969 ../clutter/clutter-flow-layout.c:945
-#: ../clutter/clutter-grid-layout.c:1551
-msgid "The orientation of the layout"
-msgstr "布局方向"
+#: clutter/clutter-bin-layout.c:262
+msgid "Horizontal alignment for the actor inside the layout manager"
+msgstr ""
+
+#: clutter/clutter-bin-layout.c:270 clutter/clutter-bin-layout.c:602
+#: clutter/clutter-box-layout.c:404 clutter/clutter-table-layout.c:667
+msgid "Vertical Alignment"
+msgstr "竖直对齐"
+
+#: clutter/clutter-bin-layout.c:271
+msgid "Vertical alignment for the actor inside the layout manager"
+msgstr ""
+
+#: clutter/clutter-bin-layout.c:586
+msgid "Default horizontal alignment for the actors inside the layout manager"
+msgstr ""
+
+#: clutter/clutter-bin-layout.c:603
+msgid "Default vertical alignment for the actors inside the layout manager"
+msgstr ""
+
+#: clutter/clutter-box.c:544
+msgid "Layout Manager"
+msgstr "样式管理器"
+
+#: clutter/clutter-box.c:545
+msgid "The layout manager used by the box"
+msgstr ""
+
+#: clutter/clutter-box.c:564 clutter/clutter-rectangle.c:267
+#: clutter/clutter-stage.c:1765
+msgid "Color"
+msgstr "色彩"
+
+#: clutter/clutter-box.c:565
+msgid "The background color of the box"
+msgstr "框的背景颜色"
+
+#: clutter/clutter-box.c:579
+msgid "Color Set"
+msgstr "颜色设置"
+
+#: clutter/clutter-box.c:580
+msgid "Whether the background color is set"
+msgstr "是否设置了背景色"
+
+#: clutter/clutter-box-layout.c:370
+msgid "Expand"
+msgstr "展开"
+
+#: clutter/clutter-box-layout.c:371
+msgid "Allocate extra space for the child"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:377 clutter/clutter-table-layout.c:631
+msgid "Horizontal Fill"
+msgstr "水平填充"
+
+#: clutter/clutter-box-layout.c:378 clutter/clutter-table-layout.c:632
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the horizontal axis"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:386 clutter/clutter-table-layout.c:638
+msgid "Vertical Fill"
+msgstr "竖直填充"
 
-#: ../clutter/clutter-box-layout.c:985 ../clutter/clutter-flow-layout.c:960
+#: clutter/clutter-box-layout.c:387 clutter/clutter-table-layout.c:639
+msgid ""
+"Whether the child should receive priority when the container is allocating "
+"spare space on the vertical axis"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:396 clutter/clutter-table-layout.c:653
+msgid "Horizontal alignment of the actor within the cell"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:405 clutter/clutter-table-layout.c:668
+msgid "Vertical alignment of the actor within the cell"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:1305
+msgid "Vertical"
+msgstr "竖直"
+
+#: clutter/clutter-box-layout.c:1306
+msgid "Whether the layout should be vertical, rather than horizontal"
+msgstr "布局是否为竖直而非水平"
+
+#: clutter/clutter-box-layout.c:1321 clutter/clutter-flow-layout.c:901
 msgid "Homogeneous"
-msgstr "均一的"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:986
+#: clutter/clutter-box-layout.c:1322
 msgid ""
 "Whether the layout should be homogeneous, i.e. all childs get the same size"
-msgstr "布局是否是均一的,即所有子角色大小相同"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1001
+#: clutter/clutter-box-layout.c:1337
 msgid "Pack Start"
-msgstr "堆叠开头"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1002
+#: clutter/clutter-box-layout.c:1338
 msgid "Whether to pack items at the start of the box"
-msgstr "是否堆叠框开头位置的项目"
+msgstr ""
 
-#: ../clutter/clutter-box-layout.c:1015
+#: clutter/clutter-box-layout.c:1351
 msgid "Spacing"
 msgstr "间距"
 
-#: ../clutter/clutter-box-layout.c:1016
+#: clutter/clutter-box-layout.c:1352
 msgid "Spacing between children"
-msgstr "子对象间距"
+msgstr ""
+
+#: clutter/clutter-box-layout.c:1366 clutter/clutter-table-layout.c:1742
+msgid "Use Animations"
+msgstr "使用动画"
+
+#: clutter/clutter-box-layout.c:1367 clutter/clutter-table-layout.c:1743
+msgid "Whether layout changes should be animated"
+msgstr "是否对布局更改使用动画"
+
+#: clutter/clutter-box-layout.c:1388 clutter/clutter-table-layout.c:1764
+msgid "Easing Mode"
+msgstr "擦除方式"
 
-#: ../clutter/clutter-brightness-contrast-effect.c:321
-msgid "Brightness"
-msgstr "亮度"
+#: clutter/clutter-box-layout.c:1389 clutter/clutter-table-layout.c:1765
+msgid "The easing mode of the animations"
+msgstr "动画的擦除方式"
 
-#: ../clutter/clutter-brightness-contrast-effect.c:322
-msgid "The brightness change to apply"
-msgstr "要应用的亮度更改"
+#: clutter/clutter-box-layout.c:1406 clutter/clutter-table-layout.c:1782
+msgid "Easing Duration"
+msgstr "擦除持续时间"
 
-#: ../clutter/clutter-brightness-contrast-effect.c:341
-msgid "Contrast"
-msgstr "对比度"
+#: clutter/clutter-box-layout.c:1407 clutter/clutter-table-layout.c:1783
+msgid "The duration of the animations"
+msgstr "动画持续时间"
 
-#: ../clutter/clutter-brightness-contrast-effect.c:342
-msgid "The contrast change to apply"
-msgstr "要应用的对比度更改"
+#: clutter/clutter-cairo-texture.c:582
+msgid "Surface Width"
+msgstr "表明宽度"
 
-#: ../clutter/clutter-canvas.c:216
-msgid "The width of the canvas"
-msgstr "画布的宽度"
+#: clutter/clutter-cairo-texture.c:583
+msgid "The width of the Cairo surface"
+msgstr "Cairo 表明的宽度"
 
-#: ../clutter/clutter-canvas.c:232
-msgid "The height of the canvas"
-msgstr "画布的高度"
+#: clutter/clutter-cairo-texture.c:597
+msgid "Surface Height"
+msgstr "表明高度"
 
-#: ../clutter/clutter-child-meta.c:127
+#: clutter/clutter-cairo-texture.c:598
+msgid "The height of the Cairo surface"
+msgstr "Cairo 表明的高度"
+
+#: clutter/clutter-cairo-texture.c:615
+msgid "Auto Resize"
+msgstr "自动缩放"
+
+#: clutter/clutter-cairo-texture.c:616
+msgid "Whether the surface should match the allocation"
+msgstr "表面是否应适应分配的空间"
+
+#: clutter/clutter-child-meta.c:127
 msgid "Container"
 msgstr "容器"
 
-#: ../clutter/clutter-child-meta.c:128
+#: clutter/clutter-child-meta.c:128
 msgid "The container that created this data"
 msgstr "创建此数据的容器"
 
-#: ../clutter/clutter-child-meta.c:143
+#: clutter/clutter-child-meta.c:143
 msgid "The actor wrapped by this data"
-msgstr "由该数据包装的角色(actor)"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:559
+#: clutter/clutter-click-action.c:542
 msgid "Pressed"
 msgstr "按下时"
 
-#: ../clutter/clutter-click-action.c:560
+#: clutter/clutter-click-action.c:543
 msgid "Whether the clickable should be in pressed state"
-msgstr "可点击对象是否在按下状态"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:573
+#: clutter/clutter-click-action.c:556
 msgid "Held"
 msgstr "保持时"
 
-#: ../clutter/clutter-click-action.c:574
+#: clutter/clutter-click-action.c:557
 msgid "Whether the clickable has a grab"
-msgstr "可点击对象是否在拖动状态"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:591 ../clutter/clutter-settings.c:583
+#: clutter/clutter-click-action.c:574 clutter/clutter-settings.c:573
 msgid "Long Press Duration"
-msgstr "长按持续时间"
+msgstr "长按时长"
 
-#: ../clutter/clutter-click-action.c:592
+#: clutter/clutter-click-action.c:575
 msgid "The minimum duration of a long press to recognize the gesture"
-msgstr "识别长按动作的最小持续时间"
+msgstr ""
 
-#: ../clutter/clutter-click-action.c:610
+#: clutter/clutter-click-action.c:593
 msgid "Long Press Threshold"
 msgstr "长按阈值"
 
-#: ../clutter/clutter-click-action.c:611
+#: clutter/clutter-click-action.c:594
 msgid "The maximum threshold before a long press is cancelled"
-msgstr "取消长按的最大阈值"
+msgstr ""
 
-#: ../clutter/clutter-clone.c:346
+#: clutter/clutter-clone.c:341
 msgid "Specifies the actor to be cloned"
-msgstr "指定要克隆的角色(actor)"
+msgstr ""
 
-#: ../clutter/clutter-colorize-effect.c:251
+#: clutter/clutter-colorize-effect.c:307
 msgid "Tint"
-msgstr "色泽"
+msgstr ""
 
-#: ../clutter/clutter-colorize-effect.c:252
+#: clutter/clutter-colorize-effect.c:308
 msgid "The tint to apply"
-msgstr "要应用的色泽"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:594
+#: clutter/clutter-deform-effect.c:527
+#, fuzzy
 msgid "Horizontal Tiles"
-msgstr "水平图块数"
+msgstr "水平填充"
 
-#: ../clutter/clutter-deform-effect.c:595
+#: clutter/clutter-deform-effect.c:528
 msgid "The number of horizontal tiles"
-msgstr "水平图块(tile)的数量"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:610
+#: clutter/clutter-deform-effect.c:543
 msgid "Vertical Tiles"
-msgstr "竖直图块数"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:611
+#: clutter/clutter-deform-effect.c:544
 msgid "The number of vertical tiles"
-msgstr "竖直图块(tile)的数量"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:628
+#: clutter/clutter-deform-effect.c:561
 msgid "Back Material"
-msgstr "背景素材"
+msgstr ""
 
-#: ../clutter/clutter-deform-effect.c:629
+#: clutter/clutter-deform-effect.c:562
 msgid "The material to be used when painting the back of the actor"
-msgstr "绘制角色(actor)背景使用的素材"
+msgstr ""
 
-#: ../clutter/clutter-desaturate-effect.c:271
+#: clutter/clutter-desaturate-effect.c:305
 msgid "The desaturation factor"
-msgstr "饱和因子"
+msgstr ""
 
-#: ../clutter/clutter-device-manager.c:131
-#: ../clutter/clutter-input-device.c:366
-#: ../clutter/x11/clutter-keymap-x11.c:321
+#: clutter/clutter-device-manager.c:131 clutter/clutter-input-device.c:344
+#: clutter/x11/clutter-keymap-x11.c:316
 msgid "Backend"
 msgstr "后端"
 
-#: ../clutter/clutter-device-manager.c:132
+#: clutter/clutter-device-manager.c:132
 msgid "The ClutterBackend of the device manager"
 msgstr "设备管理器的 Clutter 后端"
 
-#: ../clutter/clutter-drag-action.c:750
+#: clutter/clutter-drag-action.c:596
 msgid "Horizontal Drag Threshold"
 msgstr "水平拖动阈值"
 
-#: ../clutter/clutter-drag-action.c:751
+#: clutter/clutter-drag-action.c:597
 msgid "The horizontal amount of pixels required to start dragging"
 msgstr "开始拖动所需移动的水平像素数"
 
-#: ../clutter/clutter-drag-action.c:778
+#: clutter/clutter-drag-action.c:624
 msgid "Vertical Drag Threshold"
 msgstr "竖直拖动阈值"
 
-#: ../clutter/clutter-drag-action.c:779
+#: clutter/clutter-drag-action.c:625
 msgid "The vertical amount of pixels required to start dragging"
 msgstr "开始拖动所需移动的竖直像素数"
 
-#: ../clutter/clutter-drag-action.c:800
+#: clutter/clutter-drag-action.c:646
 msgid "Drag Handle"
 msgstr "拖拽手柄"
 
-#: ../clutter/clutter-drag-action.c:801
+#: clutter/clutter-drag-action.c:647
 msgid "The actor that is being dragged"
-msgstr "正在拖动的角色(actor)"
+msgstr ""
 
-#: ../clutter/clutter-drag-action.c:814
+#: clutter/clutter-drag-action.c:660
 msgid "Drag Axis"
 msgstr "拖动坐标轴"
 
-#: ../clutter/clutter-drag-action.c:815
+#: clutter/clutter-drag-action.c:661
 msgid "Constraints the dragging to an axis"
 msgstr "将拖动限制在坐标轴"
 
-#: ../clutter/clutter-drag-action.c:831
-msgid "Drag Area"
-msgstr "拖动区域"
-
-#: ../clutter/clutter-drag-action.c:832
-msgid "Constrains the dragging to a rectangle"
-msgstr "将拖动限制为矩形区域"
-
-#: ../clutter/clutter-drag-action.c:845
-msgid "Drag Area Set"
-msgstr "拖动区域设置"
+#: clutter/clutter-flow-layout.c:885
+msgid "Orientation"
+msgstr "方向"
 
-#: ../clutter/clutter-drag-action.c:846
-msgid "Whether the drag area is set"
-msgstr "是否设置了拖动区域"
+#: clutter/clutter-flow-layout.c:886
+msgid "The orientation of the layout"
+msgstr "布局方向"
 
-#: ../clutter/clutter-flow-layout.c:961
+#: clutter/clutter-flow-layout.c:902
 msgid "Whether each item should receive the same allocation"
-msgstr "每一项是否得到同样的分配"
+msgstr ""
 
-#: ../clutter/clutter-flow-layout.c:976 ../clutter/clutter-table-layout.c:1281
+#: clutter/clutter-flow-layout.c:917 clutter/clutter-table-layout.c:1713
 msgid "Column Spacing"
 msgstr "列间距"
 
-#: ../clutter/clutter-flow-layout.c:977
+#: clutter/clutter-flow-layout.c:918
 msgid "The spacing between columns"
 msgstr "列之间的距离"
 
-#: ../clutter/clutter-flow-layout.c:993 ../clutter/clutter-table-layout.c:1295
+#: clutter/clutter-flow-layout.c:934 clutter/clutter-table-layout.c:1727
 msgid "Row Spacing"
 msgstr "行间距"
 
-#: ../clutter/clutter-flow-layout.c:994
+#: clutter/clutter-flow-layout.c:935
 msgid "The spacing between rows"
 msgstr "行之间的距离"
 
-#: ../clutter/clutter-flow-layout.c:1008
+#: clutter/clutter-flow-layout.c:949
 msgid "Minimum Column Width"
 msgstr "最小列宽"
 
-#: ../clutter/clutter-flow-layout.c:1009
+#: clutter/clutter-flow-layout.c:950
 msgid "Minimum width for each column"
 msgstr "每列的最小宽度"
 
-#: ../clutter/clutter-flow-layout.c:1024
+#: clutter/clutter-flow-layout.c:965
 msgid "Maximum Column Width"
 msgstr "最大列宽"
 
-#: ../clutter/clutter-flow-layout.c:1025
+#: clutter/clutter-flow-layout.c:966
 msgid "Maximum width for each column"
 msgstr "每列的最大宽度"
 
-#: ../clutter/clutter-flow-layout.c:1039
+#: clutter/clutter-flow-layout.c:980
 msgid "Minimum Row Height"
 msgstr "最小行高"
 
-#: ../clutter/clutter-flow-layout.c:1040
+#: clutter/clutter-flow-layout.c:981
 msgid "Minimum height for each row"
 msgstr "每行的最小高度"
 
-#: ../clutter/clutter-flow-layout.c:1055
+#: clutter/clutter-flow-layout.c:996
 msgid "Maximum Row Height"
 msgstr "最大行高"
 
-#: ../clutter/clutter-flow-layout.c:1056
+#: clutter/clutter-flow-layout.c:997
 msgid "Maximum height for each row"
 msgstr "每行的最大高度"
 
-#: ../clutter/clutter-flow-layout.c:1071 ../clutter/clutter-flow-layout.c:1072
-msgid "Snap to grid"
-msgstr "吸附到网格"
-
-#: ../clutter/clutter-gesture-action.c:644
-msgid "Number touch points"
-msgstr "触摸点数量"
-
-#: ../clutter/clutter-gesture-action.c:645
-msgid "Number of touch points"
-msgstr "触摸点的数量"
-
-#: ../clutter/clutter-grid-layout.c:1222
-msgid "Left attachment"
-msgstr "左侧附加"
-
-#: ../clutter/clutter-grid-layout.c:1223
-msgid "The column number to attach the left side of the child to"
-msgstr "将子角色的左侧附加到第几列"
-
-#: ../clutter/clutter-grid-layout.c:1230
-msgid "Top attachment"
-msgstr "顶部附加"
-
-#: ../clutter/clutter-grid-layout.c:1231
-msgid "The row number to attach the top side of a child widget to"
-msgstr "将子角色的顶部附加到第几行"
-
-#: ../clutter/clutter-grid-layout.c:1239
-msgid "The number of columns that a child spans"
-msgstr "子角色跨越的列数"
-
-#: ../clutter/clutter-grid-layout.c:1246
-msgid "The number of rows that a child spans"
-msgstr "子角色跨越的行数"
-
-#: ../clutter/clutter-grid-layout.c:1565
-msgid "Row spacing"
-msgstr "行间距"
-
-#: ../clutter/clutter-grid-layout.c:1566
-msgid "The amount of space between two consecutive rows"
-msgstr "相邻行之间的距离"
-
-#: ../clutter/clutter-grid-layout.c:1579
-msgid "Column spacing"
-msgstr "列间距"
-
-#: ../clutter/clutter-grid-layout.c:1580
-msgid "The amount of space between two consecutive columns"
-msgstr "相邻列之间的距离"
-
-#: ../clutter/clutter-grid-layout.c:1594
-msgid "Row Homogeneous"
-msgstr "行对齐"
-
-#: ../clutter/clutter-grid-layout.c:1595
-msgid "If TRUE, the rows are all the same height"
-msgstr "如果设为 TRUE,所有行高度相同"
-
-#: ../clutter/clutter-grid-layout.c:1608
-msgid "Column Homogeneous"
-msgstr "列对齐"
-
-#: ../clutter/clutter-grid-layout.c:1609
-msgid "If TRUE, the columns are all the same width"
-msgstr "如果设为 TRUE,所有列宽度相同"
-
-#: ../clutter/clutter-image.c:248 ../clutter/clutter-image.c:311
-#: ../clutter/clutter-image.c:399
-msgid "Unable to load image data"
-msgstr "无法加载图像数据"
-
-#: ../clutter/clutter-input-device.c:242
+#: clutter/clutter-input-device.c:220
 msgid "Id"
 msgstr "ID"
 
-#: ../clutter/clutter-input-device.c:243
+#: clutter/clutter-input-device.c:221
 msgid "Unique identifier of the device"
 msgstr "设备识别符"
 
-#: ../clutter/clutter-input-device.c:259
+#: clutter/clutter-input-device.c:237
 msgid "The name of the device"
 msgstr "设备名称"
 
-#: ../clutter/clutter-input-device.c:273
+#: clutter/clutter-input-device.c:251
 msgid "Device Type"
 msgstr "设备类型"
 
-#: ../clutter/clutter-input-device.c:274
+#: clutter/clutter-input-device.c:252
 msgid "The type of the device"
 msgstr "设备的类型"
 
-#: ../clutter/clutter-input-device.c:289
+#: clutter/clutter-input-device.c:267
 msgid "Device Manager"
 msgstr "设备管理器"
 
-#: ../clutter/clutter-input-device.c:290
+#: clutter/clutter-input-device.c:268
 msgid "The device manager instance"
 msgstr "设备管理器的实例"
 
-#: ../clutter/clutter-input-device.c:303
+#: clutter/clutter-input-device.c:281
 msgid "Device Mode"
 msgstr "设备型号"
 
-#: ../clutter/clutter-input-device.c:304
+#: clutter/clutter-input-device.c:282
 msgid "The mode of the device"
 msgstr "设备的型号"
 
-#: ../clutter/clutter-input-device.c:318
+#: clutter/clutter-input-device.c:296
 msgid "Has Cursor"
 msgstr "包含指针"
 
-#: ../clutter/clutter-input-device.c:319
+#: clutter/clutter-input-device.c:297
 msgid "Whether the device has a cursor"
 msgstr "设备是否具有光标"
 
-#: ../clutter/clutter-input-device.c:338
+#: clutter/clutter-input-device.c:316
 msgid "Whether the device is enabled"
 msgstr "设备是否启用"
 
-#: ../clutter/clutter-input-device.c:351
+#: clutter/clutter-input-device.c:329
+#, fuzzy
 msgid "Number of Axes"
 msgstr "坐标轴数"
 
-#: ../clutter/clutter-input-device.c:352
+#: clutter/clutter-input-device.c:330
+#, fuzzy
 msgid "The number of axes on the device"
-msgstr "设备上的坐标轴数"
+msgstr "设备名称"
 
-#: ../clutter/clutter-input-device.c:367
+#: clutter/clutter-input-device.c:345
 msgid "The backend instance"
 msgstr "后端的实例"
 
-#: ../clutter/clutter-interval.c:489
+#: clutter/clutter-interval.c:397
 msgid "Value Type"
 msgstr "值类型"
 
-#: ../clutter/clutter-interval.c:490
+#: clutter/clutter-interval.c:398
 msgid "The type of the values in the interval"
 msgstr "内部的值类型"
 
-#: ../clutter/clutter-interval.c:505
-msgid "Initial Value"
-msgstr "初始值"
-
-#: ../clutter/clutter-interval.c:506
-msgid "Initial value of the interval"
-msgstr "间隔的初始值"
-
-#: ../clutter/clutter-interval.c:520
-msgid "Final Value"
-msgstr "终止值"
-
-#: ../clutter/clutter-interval.c:521
-msgid "Final value of the interval"
-msgstr "间隔的终止值"
-
-#: ../clutter/clutter-layout-meta.c:117
+#: clutter/clutter-layout-meta.c:117
 msgid "Manager"
 msgstr "管理器"
 
-#: ../clutter/clutter-layout-meta.c:118
+#: clutter/clutter-layout-meta.c:118
 msgid "The manager that created this data"
 msgstr "创建此数据的管理器"
 
-#. Translators: Leave this UNTRANSLATED if your language is
-#. * left-to-right.  If your language is right-to-left
-#. * (e.g. Hebrew, Arabic), translate it to "default:RTL".
-#. *
-#. * Do NOT translate it to non-English e.g. "predefinito:LTR"! If
-#. * it isn't default:LTR or default:RTL it will not work.
-#.
-#: ../clutter/clutter-main.c:697
+#: clutter/clutter-main.c:490
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../clutter/clutter-main.c:1464
+#: clutter/clutter-main.c:1321
 msgid "Show frames per second"
 msgstr "显示帧速率"
 
-#: ../clutter/clutter-main.c:1466
+#: clutter/clutter-main.c:1323
 msgid "Default frame rate"
 msgstr "默认帧率"
 
-#: ../clutter/clutter-main.c:1468
+#: clutter/clutter-main.c:1325
 msgid "Make all warnings fatal"
 msgstr "视所有警告为致命错误"
 
-#: ../clutter/clutter-main.c:1471
+#: clutter/clutter-main.c:1328
 msgid "Direction for the text"
 msgstr "文本方向"
 
-#: ../clutter/clutter-main.c:1474
+#: clutter/clutter-main.c:1331
 msgid "Disable mipmapping on text"
 msgstr "在文本上禁用 MIP 映射"
 
-#: ../clutter/clutter-main.c:1477
+#: clutter/clutter-main.c:1334
 msgid "Use 'fuzzy' picking"
 msgstr "使用模糊选取"
 
-#: ../clutter/clutter-main.c:1480
+#: clutter/clutter-main.c:1337
 msgid "Clutter debugging flags to set"
 msgstr "要设置的 Clutter 调试标志"
 
-#: ../clutter/clutter-main.c:1482
+#: clutter/clutter-main.c:1339
 msgid "Clutter debugging flags to unset"
 msgstr "要取消设置的 Clutter 调试标志"
 
-#: ../clutter/clutter-main.c:1486
+#: clutter/clutter-main.c:1343
 msgid "Clutter profiling flags to set"
 msgstr "要设置的 Clutter 性能分析标志"
 
-#: ../clutter/clutter-main.c:1488
+#: clutter/clutter-main.c:1345
 msgid "Clutter profiling flags to unset"
 msgstr "要取消设置的 Clutter 性能分析标志"
 
-#: ../clutter/clutter-main.c:1491
+#: clutter/clutter-main.c:1348
 msgid "Enable accessibility"
 msgstr "启用辅助功能"
 
-#: ../clutter/clutter-main.c:1683
+#: clutter/clutter-main.c:1530
 msgid "Clutter Options"
 msgstr "Clutter 选项"
 
-#: ../clutter/clutter-main.c:1684
+#: clutter/clutter-main.c:1531
 msgid "Show Clutter Options"
 msgstr "显示 Clutter 选项"
 
-#: ../clutter/clutter-pan-action.c:444
-msgid "Pan Axis"
-msgstr "平移轴"
+#: clutter/clutter-media.c:77
+msgid "URI"
+msgstr "URI"
 
-#: ../clutter/clutter-pan-action.c:445
-msgid "Constraints the panning to an axis"
-msgstr "将平移限制为沿坐标轴"
+#: clutter/clutter-media.c:78
+msgid "URI of a media file"
+msgstr "媒体文件的 URI"
 
-#: ../clutter/clutter-pan-action.c:457
-msgid "Interpolate"
-msgstr "插入"
+#: clutter/clutter-media.c:91
+msgid "Playing"
+msgstr "正在播放"
 
-#: ../clutter/clutter-pan-action.c:458
-msgid "Whether interpolated events emission is enabled."
-msgstr "是否启用插入式(interpolated)事件发射。"
+#: clutter/clutter-media.c:92
+#, fuzzy
+msgid "Whether the actor is playing"
+msgstr "文本是否可以选择"
 
-#: ../clutter/clutter-pan-action.c:472
-msgid "Deceleration"
-msgstr "减速"
+#: clutter/clutter-media.c:106
+msgid "Progress"
+msgstr "进度"
 
-#: ../clutter/clutter-pan-action.c:473
-msgid "Rate at which the interpolated panning will decelerate in"
-msgstr "插入的平移(interpolated panning)的减速比率"
+#: clutter/clutter-media.c:107
+msgid "Current progress of the playback"
+msgstr "当前的播放进度"
 
-#: ../clutter/clutter-pan-action.c:488
-msgid "Initial acceleration factor"
-msgstr "初始加速系数"
+#: clutter/clutter-media.c:120
+msgid "Subtitle URI"
+msgstr "字幕 URI"
 
-#: ../clutter/clutter-pan-action.c:489
-msgid "Factor applied to the momentum when starting the interpolated phase"
-msgstr "开始插入相位(interpolated phase)时应用于初速(momentum)的加速系数"
+#: clutter/clutter-media.c:121
+msgid "URI of a subtitle file"
+msgstr "字幕文件的 URI"
 
-#: ../clutter/clutter-path-constraint.c:212
-msgid "Path"
-msgstr "路径"
+#: clutter/clutter-media.c:136
+msgid "Subtitle Font Name"
+msgstr "字幕字体名称"
+
+#: clutter/clutter-media.c:137
+msgid "The font used to display subtitles"
+msgstr "显示字幕时使用的字体"
+
+#: clutter/clutter-media.c:151
+msgid "Audio Volume"
+msgstr "音频音量"
+
+#: clutter/clutter-media.c:152
+msgid "The volume of the audio"
+msgstr "音频的音量"
+
+#: clutter/clutter-media.c:165
+msgid "Can Seek"
+msgstr "可搜寻"
+
+#: clutter/clutter-media.c:166
+msgid "Whether the current stream is seekable"
+msgstr "当前媒体流是否可搜寻"
+
+#: clutter/clutter-media.c:180
+msgid "Buffer Fill"
+msgstr "缓冲区填充"
+
+#: clutter/clutter-media.c:181
+#, fuzzy
+msgid "The fill level of the buffer"
+msgstr "缓冲区的填充量"
+
+#: clutter/clutter-media.c:195
+#, fuzzy
+msgid "The duration of the stream, in seconds"
+msgstr "媒体流的持续时间,单位为秒"
 
-#: ../clutter/clutter-path-constraint.c:213
+#: clutter/clutter-path-constraint.c:213
+#, fuzzy
 msgid "The path used to constrain an actor"
-msgstr "用于包含角色(actor)的路径"
+msgstr "动画使用的 alpha"
 
-#: ../clutter/clutter-path-constraint.c:227
+#: clutter/clutter-path-constraint.c:227
 msgid "The offset along the path, between -1.0 and 2.0"
-msgstr "沿路径的偏移量,介于 -1.0 和 2.0 之间"
+msgstr ""
+
+#: clutter/clutter-rectangle.c:268
+msgid "The color of the rectangle"
+msgstr "矩形的颜色"
+
+#: clutter/clutter-rectangle.c:281
+msgid "Border Color"
+msgstr "边框颜色"
+
+#: clutter/clutter-rectangle.c:282
+msgid "The color of the border of the rectangle"
+msgstr "矩形边框的颜色"
+
+#: clutter/clutter-rectangle.c:297
+msgid "Border Width"
+msgstr "边框宽度"
 
-#: ../clutter/clutter-property-transition.c:271
-msgid "Property Name"
-msgstr "属性名称"
+#: clutter/clutter-rectangle.c:298
+msgid "The width of the border of the rectangle"
+msgstr "矩形的边框宽度"
 
-#: ../clutter/clutter-property-transition.c:272
-msgid "The name of the property to animate"
-msgstr "要加动画的属性的名称"
+#: clutter/clutter-rectangle.c:312
+msgid "Has Border"
+msgstr "带有边框"
 
-#: ../clutter/clutter-script.c:350
+#: clutter/clutter-rectangle.c:313
+msgid "Whether the rectangle should have a border"
+msgstr "矩形是否有边框"
+
+#: clutter/clutter-script.c:434
 msgid "Filename Set"
 msgstr "文件名设置"
 
-#: ../clutter/clutter-script.c:351
+#: clutter/clutter-script.c:435
 msgid "Whether the :filename property is set"
 msgstr "是否设置了 :filename 属性"
 
-#: ../clutter/clutter-script.c:365
+#: clutter/clutter-script.c:449 clutter/clutter-texture.c:1081
 msgid "Filename"
 msgstr "文件名"
 
-#: ../clutter/clutter-script.c:366
+#: clutter/clutter-script.c:450
 msgid "The path of the currently parsed file"
 msgstr "当前解析文件的路径"
 
-#: ../clutter/clutter-script.c:383
-msgid "Translation Domain"
-msgstr "翻译域"
-
-#: ../clutter/clutter-script.c:384
-msgid "The translation domain used to localize string"
-msgstr "用于将字符串本地化的翻译域"
-
-#: ../clutter/clutter-scroll-actor.c:190
-msgid "Scroll Mode"
-msgstr "滚动模式"
-
-#: ../clutter/clutter-scroll-actor.c:191
-msgid "The scrolling direction"
-msgstr "滚动方向"
-
-#: ../clutter/clutter-settings.c:424
+#: clutter/clutter-settings.c:414
 msgid "Double Click Time"
 msgstr "双击时间"
 
-#: ../clutter/clutter-settings.c:425
+#: clutter/clutter-settings.c:415
 msgid "The time between clicks necessary to detect a multiple click"
 msgstr "足以将点击判断为多次点击的时间差"
 
-#: ../clutter/clutter-settings.c:440
+#: clutter/clutter-settings.c:430
 msgid "Double Click Distance"
 msgstr "双击距离"
 
-#: ../clutter/clutter-settings.c:441
+#: clutter/clutter-settings.c:431
 msgid "The distance between clicks necessary to detect a multiple click"
 msgstr "足以将点击判断为多次点击的距离差"
 
-#: ../clutter/clutter-settings.c:456
+#: clutter/clutter-settings.c:446
 msgid "Drag Threshold"
 msgstr "拖动阈值"
 
-#: ../clutter/clutter-settings.c:457
+#: clutter/clutter-settings.c:447
 msgid "The distance the cursor should travel before starting to drag"
 msgstr "光标移动多远距离后才开始拖动"
 
-#: ../clutter/clutter-settings.c:472 ../clutter/clutter-text.c:3356
+#: clutter/clutter-settings.c:462 clutter/clutter-text.c:2939
 msgid "Font Name"
 msgstr "字体名称"
 
-#: ../clutter/clutter-settings.c:473
+#: clutter/clutter-settings.c:463
 msgid ""
 "The description of the default font, as one that could be parsed by Pango"
-msgstr "默认字体的描述,以一种 Pango 可解析的格式"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:488
+#: clutter/clutter-settings.c:478
 msgid "Font Antialias"
 msgstr "字体平滑"
 
-#: ../clutter/clutter-settings.c:489
+#: clutter/clutter-settings.c:479
 msgid ""
 "Whether to use antialiasing (1 to enable, 0 to disable, and -1 to use the "
 "default)"
 msgstr "是否使用平滑(1 启动,0 禁用,-1 使用默认设置)"
 
-#: ../clutter/clutter-settings.c:505
+#: clutter/clutter-settings.c:495
 msgid "Font DPI"
 msgstr "字体 DPI"
 
-#: ../clutter/clutter-settings.c:506
+#: clutter/clutter-settings.c:496
 msgid ""
 "The resolution of the font, in 1024 * dots/inch, or -1 to use the default"
 msgstr "字体的分辨率,单位为 1024 * 点/英寸,或设为 -1 来使用默认设置"
 
-#: ../clutter/clutter-settings.c:522
+#: clutter/clutter-settings.c:512
+#, fuzzy
 msgid "Font Hinting"
-msgstr "字体微调"
+msgstr "字体描述"
 
-#: ../clutter/clutter-settings.c:523
+#: clutter/clutter-settings.c:513
 msgid ""
 "Whether to use hinting (1 to enable, 0 to disable and -1 to use the default)"
-msgstr "是否使用微调(1 启用,0 禁用,-1 使用默认值)"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:544
+#: clutter/clutter-settings.c:534
 msgid "Font Hint Style"
-msgstr "字体微调样式"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:545
+#: clutter/clutter-settings.c:535
 msgid "The style of hinting (hintnone, hintslight, hintmedium, hintfull)"
-msgstr "微调样式(hintnone, hintslight, hintmedium, hintfull)"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:566
+#: clutter/clutter-settings.c:556
 msgid "Font Subpixel Order"
 msgstr "字体次像素平滑顺序"
 
-#: ../clutter/clutter-settings.c:567
+#: clutter/clutter-settings.c:557
 msgid "The type of subpixel antialiasing (none, rgb, bgr, vrgb, vbgr)"
 msgstr "次像素平滑的类型(无、rgb、bgr、vrgb、vbgr)"
 
-#: ../clutter/clutter-settings.c:584
+#: clutter/clutter-settings.c:574
 msgid "The minimum duration for a long press gesture to be recognized"
-msgstr "识别为长按手势的最小持续时间"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:591
+#: clutter/clutter-settings.c:581
 msgid "Fontconfig configuration timestamp"
-msgstr "Fontconfig 配置时间戳"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:592
+#: clutter/clutter-settings.c:582
 msgid "Timestamp of the current fontconfig configuration"
-msgstr "当前 fontconfig 配置的时间戳"
+msgstr ""
+
+#: clutter/clutter-shader.c:255
+#, fuzzy
+msgid "Vertex Source"
+msgstr "顶点着色引擎"
 
-#: ../clutter/clutter-settings.c:609
-msgid "Password Hint Time"
-msgstr "密码提示时长"
+#: clutter/clutter-shader.c:256
+#, fuzzy
+msgid "Source of vertex shader"
+msgstr "顶点着色引擎"
+
+#: clutter/clutter-shader.c:272
+#, fuzzy
+msgid "Fragment Source"
+msgstr "片段着色引擎"
+
+#: clutter/clutter-shader.c:273
+#, fuzzy
+msgid "Source of fragment shader"
+msgstr "片段着色引擎"
+
+#: clutter/clutter-shader.c:290
+msgid "Compiled"
+msgstr ""
+
+#: clutter/clutter-shader.c:291
+msgid "Whether the shader is compiled and linked"
+msgstr ""
+
+#: clutter/clutter-shader.c:308
+msgid "Whether the shader is enabled"
+msgstr ""
 
-#: ../clutter/clutter-settings.c:610
-msgid "How long to show the last input character in hidden entries"
-msgstr "隐藏式输入的最后一个字符显示多长时间"
+#: clutter/clutter-shader.c:519
+#, c-format
+msgid "%s compilation failed: %s"
+msgstr "%s 编译失败:%s"
+
+#: clutter/clutter-shader.c:520
+msgid "Vertex shader"
+msgstr "顶点着色引擎"
+
+#: clutter/clutter-shader.c:521
+msgid "Fragment shader"
+msgstr "片段着色引擎"
 
-#: ../clutter/clutter-shader-effect.c:486
+#: clutter/clutter-shader-effect.c:415
 msgid "Shader Type"
 msgstr "着色引擎类型"
 
-#: ../clutter/clutter-shader-effect.c:487
+#: clutter/clutter-shader-effect.c:416
 msgid "The type of shader used"
 msgstr "使用的着色引擎类型"
 
-#: ../clutter/clutter-snap-constraint.c:322
+#: clutter/clutter-snap-constraint.c:322
+#, fuzzy
 msgid "The source of the constraint"
-msgstr "约束的源"
+msgstr "动画的模式"
 
-#: ../clutter/clutter-snap-constraint.c:335
+#: clutter/clutter-snap-constraint.c:335
 msgid "From Edge"
-msgstr "从边缘"
+msgstr ""
 
-#: ../clutter/clutter-snap-constraint.c:336
+#: clutter/clutter-snap-constraint.c:336
 msgid "The edge of the actor that should be snapped"
-msgstr "要吸附的角色(actor)边缘"
+msgstr ""
 
-#: ../clutter/clutter-snap-constraint.c:350
+#: clutter/clutter-snap-constraint.c:350
 msgid "To Edge"
-msgstr "到边缘"
+msgstr ""
 
-#: ../clutter/clutter-snap-constraint.c:351
+#: clutter/clutter-snap-constraint.c:351
 msgid "The edge of the source that should be snapped"
-msgstr "要吸附的源的边缘"
+msgstr ""
 
-#: ../clutter/clutter-snap-constraint.c:367
+#: clutter/clutter-snap-constraint.c:367
 msgid "The offset in pixels to apply to the constraint"
-msgstr "应用于约束的偏移量(像素)"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1830
+#: clutter/clutter-stage.c:1707
 msgid "Fullscreen Set"
-msgstr "全屏设置"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1831
+#: clutter/clutter-stage.c:1708
 msgid "Whether the main stage is fullscreen"
-msgstr "主舞台(stage)是否全屏"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1843 ../clutter/clutter-text.c:3456
+#: clutter/clutter-stage.c:1724
+msgid "Offscreen"
+msgstr ""
+
+#: clutter/clutter-stage.c:1725
+msgid "Whether the main stage should be rendered offscreen"
+msgstr ""
+
+#: clutter/clutter-stage.c:1737 clutter/clutter-text.c:3052
 msgid "Cursor Visible"
 msgstr "光标可见"
 
-#: ../clutter/clutter-stage.c:1844
+#: clutter/clutter-stage.c:1738
 msgid "Whether the mouse pointer is visible on the main stage"
-msgstr "鼠标指针在主舞台(stage)是否可见"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1858
+#: clutter/clutter-stage.c:1752
 msgid "User Resizable"
 msgstr "用户可改变大小"
 
-#: ../clutter/clutter-stage.c:1859
+#: clutter/clutter-stage.c:1753
 msgid "Whether the stage is able to be resized via user interaction"
-msgstr "舞台(stage)是否可由用户操作改变大小"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1874
+#: clutter/clutter-stage.c:1766
+msgid "The color of the stage"
+msgstr ""
+
+#: clutter/clutter-stage.c:1780
 msgid "Perspective"
-msgstr "透视"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1875
+#: clutter/clutter-stage.c:1781
 msgid "Perspective projection parameters"
-msgstr "透视投射参数"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1890
+#: clutter/clutter-stage.c:1796
 msgid "Title"
 msgstr "标题"
 
-#: ../clutter/clutter-stage.c:1891
+#: clutter/clutter-stage.c:1797
 msgid "Stage Title"
-msgstr "舞台(stage)标题"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1907
+#: clutter/clutter-stage.c:1812
+msgid "Use Fog"
+msgstr ""
+
+#: clutter/clutter-stage.c:1813
+msgid "Whether to enable depth cueing"
+msgstr ""
+
+#: clutter/clutter-stage.c:1827
+msgid "Fog"
+msgstr ""
+
+#: clutter/clutter-stage.c:1828
+msgid "Settings for the depth cueing"
+msgstr ""
+
+#: clutter/clutter-stage.c:1844
 msgid "Use Alpha"
 msgstr "使用 Alpha"
 
-#: ../clutter/clutter-stage.c:1908
+#: clutter/clutter-stage.c:1845
 msgid "Whether to honour the alpha component of the stage color"
-msgstr "是否考虑舞台(stage)色彩的 alpha 分量"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1924
+#: clutter/clutter-stage.c:1861
 msgid "Key Focus"
-msgstr "按键聚焦"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1925
+#: clutter/clutter-stage.c:1862
 msgid "The currently key focused actor"
-msgstr "当前按键聚焦的角色(actor)"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1941
+#: clutter/clutter-stage.c:1878
 msgid "No Clear Hint"
-msgstr "没有明确的提示"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1942
+#: clutter/clutter-stage.c:1879
 msgid "Whether the stage should clear its contents"
-msgstr "舞台(stage)是否清除其内容"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1955
+#: clutter/clutter-stage.c:1892
 msgid "Accept Focus"
-msgstr "接受焦点"
+msgstr ""
 
-#: ../clutter/clutter-stage.c:1956
+#: clutter/clutter-stage.c:1893
+#, fuzzy
 msgid "Whether the stage should accept focus on show"
-msgstr "舞台(stage)显示时是否接受焦点"
+msgstr "文本是否只应使用一行"
+
+#: clutter/clutter-state.c:1472
+msgid "State"
+msgstr "状态"
 
-#: ../clutter/clutter-table-layout.c:331
+#: clutter/clutter-state.c:1473
+msgid "Currently set state, (transition to this state might not be complete)"
+msgstr ""
+
+#: clutter/clutter-state.c:1487
+#, fuzzy
+msgid "Default transition duration"
+msgstr "默认帧率"
+
+#: clutter/clutter-table-layout.c:585
 msgid "Column Number"
 msgstr "列号"
 
-#: ../clutter/clutter-table-layout.c:332
+#: clutter/clutter-table-layout.c:586
 msgid "The column the widget resides in"
-msgstr "部件所在的列"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:339
+#: clutter/clutter-table-layout.c:593
 msgid "Row Number"
 msgstr "行号"
 
-#: ../clutter/clutter-table-layout.c:340
+#: clutter/clutter-table-layout.c:594
 msgid "The row the widget resides in"
-msgstr "部件所在的行"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:347
+#: clutter/clutter-table-layout.c:601
 msgid "Column Span"
-msgstr "列跨度"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:348
+#: clutter/clutter-table-layout.c:602
+#, fuzzy
 msgid "The number of columns the widget should span"
-msgstr "部件所跨的列数"
+msgstr "设备名称"
 
-#: ../clutter/clutter-table-layout.c:355
+#: clutter/clutter-table-layout.c:609
 msgid "Row Span"
-msgstr "行跨度"
+msgstr ""
 
-#: ../clutter/clutter-table-layout.c:356
+#: clutter/clutter-table-layout.c:610
+#, fuzzy
 msgid "The number of rows the widget should span"
-msgstr "部件所跨的行数"
-
-#: ../clutter/clutter-table-layout.c:1282
-msgid "Spacing between columns"
-msgstr "列间距"
-
-#: ../clutter/clutter-table-layout.c:1296
-msgid "Spacing between rows"
-msgstr "行间距"
-
-#: ../clutter/clutter-text-buffer.c:349 ../clutter/clutter-text.c:3387
-msgid "Text"
-msgstr "文本"
-
-#: ../clutter/clutter-text-buffer.c:350
-msgid "The contents of the buffer"
-msgstr "缓冲区的内容"
+msgstr "设备名称"
 
-#: ../clutter/clutter-text-buffer.c:363
-msgid "Text length"
-msgstr "文本长度"
+#: clutter/clutter-table-layout.c:617
+#, fuzzy
+msgid "Horizontal Expand"
+msgstr "水平填充"
 
-#: ../clutter/clutter-text-buffer.c:364
-msgid "Length of the text currently in the buffer"
-msgstr "当前缓冲区内文本的长度"
+#: clutter/clutter-table-layout.c:618
+msgid "Allocate extra space for the child in horizontal axis"
+msgstr ""
 
-#: ../clutter/clutter-text-buffer.c:377
-msgid "Maximum length"
-msgstr "最大长度"
+#: clutter/clutter-table-layout.c:624
+msgid "Vertical Expand"
+msgstr "竖直展开"
 
-#: ../clutter/clutter-text-buffer.c:378
-msgid "Maximum number of characters for this entry. Zero if no maximum"
-msgstr "此输入部件的最大字符数量。0 为不限。"
+#: clutter/clutter-table-layout.c:625
+msgid "Allocate extra space for the child in vertical axis"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3340
-msgid "Buffer"
-msgstr "缓冲区"
+#: clutter/clutter-table-layout.c:1714
+msgid "Spacing between columns"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3341
-msgid "The buffer for the text"
-msgstr "文本的缓冲区"
+#: clutter/clutter-table-layout.c:1728
+msgid "Spacing between rows"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3357
+#: clutter/clutter-text.c:2940
 msgid "The font to be used by the text"
 msgstr "文本使用的字体"
 
-#: ../clutter/clutter-text.c:3372
+#: clutter/clutter-text.c:2957
 msgid "Font Description"
 msgstr "字体描述"
 
-#: ../clutter/clutter-text.c:3373
+#: clutter/clutter-text.c:2958
 msgid "The font description to be used"
 msgstr "使用的字体描述"
 
-#: ../clutter/clutter-text.c:3388
+#: clutter/clutter-text.c:2974
+msgid "Text"
+msgstr "文本"
+
+#: clutter/clutter-text.c:2975
 msgid "The text to render"
 msgstr "要渲染的文本"
 
-#: ../clutter/clutter-text.c:3400
+#: clutter/clutter-text.c:2989
 msgid "Font Color"
 msgstr "字体颜色"
 
-#: ../clutter/clutter-text.c:3401
+#: clutter/clutter-text.c:2990
 msgid "Color of the font used by the text"
 msgstr "文本字体使用的颜色"
 
-#: ../clutter/clutter-text.c:3414
+#: clutter/clutter-text.c:3004
 msgid "Editable"
 msgstr "可编辑"
 
-#: ../clutter/clutter-text.c:3415
+#: clutter/clutter-text.c:3005
 msgid "Whether the text is editable"
 msgstr "文本是否可以编辑"
 
-#: ../clutter/clutter-text.c:3428
+#: clutter/clutter-text.c:3020
 msgid "Selectable"
 msgstr "可选择"
 
-#: ../clutter/clutter-text.c:3429
+#: clutter/clutter-text.c:3021
 msgid "Whether the text is selectable"
 msgstr "文本是否可以选择"
 
-#: ../clutter/clutter-text.c:3441
+#: clutter/clutter-text.c:3035
 msgid "Activatable"
 msgstr "可激活"
 
-#: ../clutter/clutter-text.c:3442
+#: clutter/clutter-text.c:3036
 msgid "Whether pressing return causes the activate signal to be emitted"
 msgstr "按下回车键时是否发射激活信号"
 
-#: ../clutter/clutter-text.c:3457
+#: clutter/clutter-text.c:3053
 msgid "Whether the input cursor is visible"
 msgstr "输入光标是否可见"
 
-#: ../clutter/clutter-text.c:3469 ../clutter/clutter-text.c:3470
+#: clutter/clutter-text.c:3067 clutter/clutter-text.c:3068
 msgid "Cursor Color"
 msgstr "指针颜色"
 
-#: ../clutter/clutter-text.c:3483
+#: clutter/clutter-text.c:3082
 msgid "Cursor Color Set"
 msgstr "光标颜色设置"
 
-#: ../clutter/clutter-text.c:3484
+#: clutter/clutter-text.c:3083
 msgid "Whether the cursor color has been set"
 msgstr "是否设置了光标颜色"
 
-#: ../clutter/clutter-text.c:3497
+#: clutter/clutter-text.c:3098
 msgid "Cursor Size"
 msgstr "指针大小"
 
-#: ../clutter/clutter-text.c:3498
+#: clutter/clutter-text.c:3099
 msgid "The width of the cursor, in pixels"
 msgstr "指针的宽度,以像素计"
 
-#: ../clutter/clutter-text.c:3510
+#: clutter/clutter-text.c:3113
+#, fuzzy
 msgid "Cursor Position"
-msgstr "光标位置"
+msgstr "指针位置"
 
-#: ../clutter/clutter-text.c:3511
+#: clutter/clutter-text.c:3114
 msgid "The cursor position"
-msgstr "光标的位置"
+msgstr "指针位置"
 
-#: ../clutter/clutter-text.c:3524
+#: clutter/clutter-text.c:3129
 msgid "Selection-bound"
 msgstr "选区边界"
 
-#: ../clutter/clutter-text.c:3525
+#: clutter/clutter-text.c:3130
 msgid "The cursor position of the other end of the selection"
 msgstr "选区另一端光标的位置"
 
-#: ../clutter/clutter-text.c:3538 ../clutter/clutter-text.c:3539
+#: clutter/clutter-text.c:3145 clutter/clutter-text.c:3146
 msgid "Selection Color"
 msgstr "选区颜色"
 
-#: ../clutter/clutter-text.c:3552
+#: clutter/clutter-text.c:3160
 msgid "Selection Color Set"
 msgstr "选区颜色设置"
 
-#: ../clutter/clutter-text.c:3553
+#: clutter/clutter-text.c:3161
 msgid "Whether the selection color has been set"
 msgstr "是否设置了选区颜色"
 
-#: ../clutter/clutter-text.c:3566
+#: clutter/clutter-text.c:3176
 msgid "Attributes"
 msgstr "属性"
 
-#: ../clutter/clutter-text.c:3567
+#: clutter/clutter-text.c:3177
 msgid "A list of style attributes to apply to the contents of the actor"
-msgstr "应用到角色(actor)内容的风格属性列表"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3587
+#: clutter/clutter-text.c:3199
 msgid "Use markup"
 msgstr "使用标记"
 
-#: ../clutter/clutter-text.c:3588
+#: clutter/clutter-text.c:3200
 msgid "Whether or not the text includes Pango markup"
 msgstr "文本是否包括 Pango 标记"
 
-#: ../clutter/clutter-text.c:3602
+#: clutter/clutter-text.c:3216
 msgid "Line wrap"
 msgstr "换行"
 
-#: ../clutter/clutter-text.c:3603
+#: clutter/clutter-text.c:3217
 msgid "If set, wrap the lines if the text becomes too wide"
 msgstr "如果设置,在文本过宽时将换行显示"
 
-#: ../clutter/clutter-text.c:3616
+#: clutter/clutter-text.c:3232
 msgid "Line wrap mode"
 msgstr "换行模式"
 
-#: ../clutter/clutter-text.c:3617
+#: clutter/clutter-text.c:3233
 msgid "Control how line-wrapping is done"
 msgstr "控制换行行为"
 
-#: ../clutter/clutter-text.c:3630
+#: clutter/clutter-text.c:3248
 msgid "Ellipsize"
 msgstr "简略"
 
-#: ../clutter/clutter-text.c:3631
+#: clutter/clutter-text.c:3249
 msgid "The preferred place to ellipsize the string"
 msgstr "简略字符串的首选位置"
 
-#: ../clutter/clutter-text.c:3645
+#: clutter/clutter-text.c:3265
 msgid "Line Alignment"
 msgstr "行对齐方式"
 
-#: ../clutter/clutter-text.c:3646
+#: clutter/clutter-text.c:3266
 msgid "The preferred alignment for the string, for multi-line text"
 msgstr "多行文本首选的字符串对齐方式"
 
-#: ../clutter/clutter-text.c:3660
+#: clutter/clutter-text.c:3282
 msgid "Justify"
 msgstr "调整"
 
-#: ../clutter/clutter-text.c:3661
+#: clutter/clutter-text.c:3283
 msgid "Whether the text should be justified"
-msgstr "是否对齐文本"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3674
+#: clutter/clutter-text.c:3298
 msgid "Password Character"
 msgstr "密码字符"
 
-#: ../clutter/clutter-text.c:3675
+#: clutter/clutter-text.c:3299
 msgid "If non-zero, use this character to display the actor's contents"
-msgstr "若字符非零,用此字符显示角色(actor)的内容"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3687
+#: clutter/clutter-text.c:3313
 msgid "Max Length"
 msgstr "最大长度"
 
-#: ../clutter/clutter-text.c:3688
+#: clutter/clutter-text.c:3314
 msgid "Maximum length of the text inside the actor"
-msgstr "角色(actor)内部文本的最大长度"
+msgstr ""
 
-#: ../clutter/clutter-text.c:3709
+#: clutter/clutter-text.c:3337
 msgid "Single Line Mode"
 msgstr "单行模式"
 
-#: ../clutter/clutter-text.c:3710
+#: clutter/clutter-text.c:3338
 msgid "Whether the text should be a single line"
 msgstr "文本是否只应使用一行"
 
-#: ../clutter/clutter-text.c:3722 ../clutter/clutter-text.c:3723
+#: clutter/clutter-text.c:3352 clutter/clutter-text.c:3353
+#, fuzzy
 msgid "Selected Text Color"
-msgstr "选中文本颜色"
+msgstr "选区颜色"
 
-#: ../clutter/clutter-text.c:3736
+#: clutter/clutter-text.c:3367
+#, fuzzy
 msgid "Selected Text Color Set"
-msgstr "选中文本颜色设置"
+msgstr "选区颜色设置"
 
-#: ../clutter/clutter-text.c:3737
+#: clutter/clutter-text.c:3368
+#, fuzzy
 msgid "Whether the selected text color has been set"
-msgstr "是否设置了选中文本颜色"
+msgstr "是否设置了选区颜色"
 
-#: ../clutter/clutter-timeline.c:562
-msgid "Delay"
-msgstr "延时"
+#: clutter/clutter-texture.c:995
+msgid "Sync size of actor"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:563
-msgid "Delay before start"
-msgstr "开始前的延时"
+#: clutter/clutter-texture.c:996
+msgid "Auto sync size of actor to underlying pixbuf dimensions"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:578
-msgid "Duration"
-msgstr "时长"
+#: clutter/clutter-texture.c:1003
+msgid "Disable Slicing"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:579
-msgid "Duration of the timeline in milliseconds"
-msgstr "时间线长度(毫秒)"
+#: clutter/clutter-texture.c:1004
+msgid ""
+"Forces the underlying texture to be singular and not made of smaller space "
+"saving individual textures"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:594
-msgid "Direction"
-msgstr "方向"
+#: clutter/clutter-texture.c:1013
+msgid "Tile Waste"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:595
-msgid "Direction of the timeline"
-msgstr "时间线方向"
+#: clutter/clutter-texture.c:1014
+msgid "Maximum waste area of a sliced texture"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:610
-msgid "Auto Reverse"
-msgstr "自动反转"
+#: clutter/clutter-texture.c:1022
+msgid "Horizontal repeat"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:611
-msgid "Whether the direction should be reversed when reaching the end"
-msgstr "在到达末尾时是否自动反转方向"
+#: clutter/clutter-texture.c:1023
+msgid "Repeat the contents rather than scaling them horizontally"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:629
-msgid "Repeat Count"
-msgstr "重复次数"
+#: clutter/clutter-texture.c:1030
+msgid "Vertical repeat"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:630
-msgid "How many times the timeline should repeat"
-msgstr "时间线重复多少次"
+#: clutter/clutter-texture.c:1031
+msgid "Repeat the contents rather than scaling them vertically"
+msgstr ""
 
-#: ../clutter/clutter-timeline.c:644
-msgid "Progress Mode"
-msgstr "进度模式"
+#: clutter/clutter-texture.c:1038
+msgid "Filter Quality"
+msgstr "过滤器质量"
 
-#: ../clutter/clutter-timeline.c:645
-msgid "How the timeline should compute the progress"
-msgstr "时间线如何计算进度"
+#: clutter/clutter-texture.c:1039
+msgid "Rendering quality used when drawing the texture"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:246
-msgid "Interval"
-msgstr "间隔"
+#: clutter/clutter-texture.c:1047
+msgid "Pixel Format"
+msgstr "像素格式"
 
-#: ../clutter/clutter-transition.c:247
-msgid "The interval of values to transition"
-msgstr "值之间的过渡间隔"
+#: clutter/clutter-texture.c:1048
+msgid "The Cogl pixel format to use"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:261
-msgid "Animatable"
-msgstr "可动画"
+#: clutter/clutter-texture.c:1056
+msgid "Cogl Texture"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:262
-msgid "The animatable object"
-msgstr "可动画显示的对象"
+#: clutter/clutter-texture.c:1057
+msgid "The underlying Cogl texture handle used to draw this actor"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:283
-msgid "Remove on Complete"
-msgstr "在完成时移除"
+#: clutter/clutter-texture.c:1064
+msgid "Cogl Material"
+msgstr ""
 
-#: ../clutter/clutter-transition.c:284
-msgid "Detach the transition when completed"
-msgstr "完成时去除过渡"
+#: clutter/clutter-texture.c:1065
+msgid "The underlying Cogl material handle used to draw this actor"
+msgstr ""
 
-#: ../clutter/clutter-zoom-action.c:356
-msgid "Zoom Axis"
-msgstr "缩放轴"
+#: clutter/clutter-texture.c:1082
+msgid "The path of the file containing the image data"
+msgstr "包含图像数据的文件路径"
 
-#: ../clutter/clutter-zoom-action.c:357
-msgid "Constraints the zoom to an axis"
-msgstr "将缩放限制为沿某个坐标轴"
+#: clutter/clutter-texture.c:1089
+msgid "Keep Aspect Ratio"
+msgstr "保持宽高比"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:159
-msgid "sysfs Path"
-msgstr "sysfs 路径"
+#: clutter/clutter-texture.c:1090
+msgid ""
+"Keep the aspect ratio of the texture when requesting the preferred width or "
+"height"
+msgstr ""
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:160
-msgid "Path of the device in sysfs"
-msgstr "sysfs 中设备的路径"
+#: clutter/clutter-texture.c:1116
+msgid "Load asynchronously"
+msgstr "同步加载"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:175
-msgid "Device Path"
-msgstr "设备路径"
+#: clutter/clutter-texture.c:1117
+msgid ""
+"Load files inside a thread to avoid blocking when loading images from disk"
+msgstr "在从磁盘载入图像时,在线程中加载文件以减少停顿"
 
-#: ../clutter/evdev/clutter-input-device-evdev.c:176
-msgid "Path of the device node"
-msgstr "设备节点的路径"
+#: clutter/clutter-texture.c:1133
+msgid "Load data asynchronously"
+msgstr "同步加载数据"
 
-#: ../clutter/gdk/clutter-backend-gdk.c:287
-#, c-format
-msgid "Could not find a suitable CoglWinsys for a GdkDisplay of type %s"
-msgstr "找不到适合 %s 类型的 GdkDisplay 的 CoglWinsys"
+#: clutter/clutter-texture.c:1134
+msgid ""
+"Decode image data files inside a thread to reduce blocking when loading "
+"images from disk"
+msgstr "在从磁盘载入图像时,在线程中解码图像数据以减少停顿"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:423
-msgid "Surface"
-msgstr "表面"
+#: clutter/clutter-texture.c:1158
+#, fuzzy
+msgid "Pick With Alpha"
+msgstr "选取 Alpha 通道"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:424
-msgid "The underlying wayland surface"
-msgstr "对应的 wayland 表面"
+#: clutter/clutter-texture.c:1159
+msgid "Shape actor with alpha channel when picking"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:431
-msgid "Surface width"
-msgstr "表面宽度"
+#: clutter/clutter-texture.c:1557 clutter/clutter-texture.c:1967
+#: clutter/clutter-texture.c:2062 clutter/clutter-texture.c:2343
+#, fuzzy
+msgid "Failed to load the image data"
+msgstr "包含图像数据的文件路径"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:432
-msgid "The width of the underlying wayland surface"
-msgstr "对应 wayland 表面的宽度"
+#: clutter/clutter-texture.c:1703
+msgid "YUV textures are not supported"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:440
-msgid "Surface height"
-msgstr "表面高度"
+#: clutter/clutter-texture.c:1712
+msgid "YUV2 textues are not supported"
+msgstr ""
 
-#: ../clutter/wayland/clutter-wayland-surface.c:441
-msgid "The height of the underlying wayland surface"
-msgstr "对应 wayland 表面的高度"
+#: clutter/clutter-timeline.c:264
+msgid "Should the timeline automatically restart"
+msgstr "时间线是否自动重新开始"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:449
-msgid "Cogl Texture"
-msgstr "Cogl 纹理"
+#: clutter/clutter-timeline.c:278
+msgid "Delay"
+msgstr "延时"
 
-#: ../clutter/wayland/clutter-wayland-surface.c:450
-msgid "The underlying Cogl texture handle used to draw this actor"
-msgstr "绘制当前角色(actor)时使用的相应 Cogl 纹理"
+#: clutter/clutter-timeline.c:279
+msgid "Delay before start"
+msgstr "开始前的延时"
+
+#: clutter/clutter-timeline.c:295
+#, fuzzy
+msgid "Duration of the timeline in milliseconds"
+msgstr "动画时长,以毫秒计"
+
+#: clutter/clutter-timeline.c:311
+#, fuzzy
+msgid "Direction of the timeline"
+msgstr "文本的方向"
 
-#: ../clutter/x11/clutter-backend-x11.c:508
+#: clutter/clutter-timeline.c:326
+msgid "Auto Reverse"
+msgstr "自动反转"
+
+#: clutter/clutter-timeline.c:327
+msgid "Whether the direction should be reversed when reaching the end"
+msgstr "在到达末尾时是否自动反转方向"
+
+#: clutter/evdev/clutter-input-device-evdev.c:147
+msgid "sysfs Path"
+msgstr "sysfs 路径"
+
+#: clutter/evdev/clutter-input-device-evdev.c:148
+#, fuzzy
+msgid "Path of the device in sysfs"
+msgstr "设备名称"
+
+#: clutter/evdev/clutter-input-device-evdev.c:163
+#, fuzzy
+msgid "Device Path"
+msgstr "管理器"
+
+#: clutter/evdev/clutter-input-device-evdev.c:164
+#, fuzzy
+msgid "Path of the device node"
+msgstr "设备名称"
+
+#: clutter/x11/clutter-backend-x11.c:483
 msgid "X display to use"
 msgstr "要使用的 X 显示"
 
-#: ../clutter/x11/clutter-backend-x11.c:514
+#: clutter/x11/clutter-backend-x11.c:489
 msgid "X screen to use"
 msgstr "要使用的 X 屏幕"
 
-#: ../clutter/x11/clutter-backend-x11.c:519
+#: clutter/x11/clutter-backend-x11.c:494
 msgid "Make X calls synchronous"
 msgstr "使 X 调用同步"
 
-#: ../clutter/x11/clutter-backend-x11.c:526
-msgid "Disable XInput support"
-msgstr "禁用 XInput 支持"
+#: clutter/x11/clutter-backend-x11.c:501
+msgid "Enable XInput support"
+msgstr "启用 XInput 支持"
 
-#: ../clutter/x11/clutter-keymap-x11.c:322
+#: clutter/x11/clutter-keymap-x11.c:317
 msgid "The Clutter backend"
 msgstr "Clutter 后端"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:539
+#: clutter/x11/clutter-x11-texture-pixmap.c:545
 msgid "Pixmap"
 msgstr "位图"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:540
+#: clutter/x11/clutter-x11-texture-pixmap.c:546
 msgid "The X11 Pixmap to be bound"
 msgstr "要绑定的 X11 位图"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:548
+#: clutter/x11/clutter-x11-texture-pixmap.c:554
 msgid "Pixmap width"
 msgstr "位图宽度"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:549
+#: clutter/x11/clutter-x11-texture-pixmap.c:555
 msgid "The width of the pixmap bound to this texture"
 msgstr "与此纹理绑定的位图的宽度"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:557
+#: clutter/x11/clutter-x11-texture-pixmap.c:563
 msgid "Pixmap height"
 msgstr "位图高度"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:558
+#: clutter/x11/clutter-x11-texture-pixmap.c:564
 msgid "The height of the pixmap bound to this texture"
 msgstr "与此纹理绑定的位图的高度"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:566
+#: clutter/x11/clutter-x11-texture-pixmap.c:572
 msgid "Pixmap Depth"
 msgstr "位图色深"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:567
+#: clutter/x11/clutter-x11-texture-pixmap.c:573
 msgid "The depth (in number of bits) of the pixmap bound to this texture"
 msgstr "与此纹理绑定的位图的色深(位数)"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:575
+#: clutter/x11/clutter-x11-texture-pixmap.c:581
 msgid "Automatic Updates"
 msgstr "自动更新"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:576
+#: clutter/x11/clutter-x11-texture-pixmap.c:582
 msgid "If the texture should be kept in sync with any pixmap changes."
 msgstr "纹理是否应与任何的位图更改保持同步。"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:584
+#: clutter/x11/clutter-x11-texture-pixmap.c:590
 msgid "Window"
 msgstr "窗口"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:585
+#: clutter/x11/clutter-x11-texture-pixmap.c:591
 msgid "The X11 Window to be bound"
-msgstr "要绑定的 X11 窗口"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:593
+#: clutter/x11/clutter-x11-texture-pixmap.c:599
 msgid "Window Redirect Automatic"
-msgstr "窗口自动重定向"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:594
+#: clutter/x11/clutter-x11-texture-pixmap.c:600
 msgid "If composite window redirects are set to Automatic (or Manual if false)"
-msgstr "如果复合窗口重定向设为自动(若 false 则为手动)"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:604
+#: clutter/x11/clutter-x11-texture-pixmap.c:610
 msgid "Window Mapped"
 msgstr "窗口已映射"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:605
+#: clutter/x11/clutter-x11-texture-pixmap.c:611
+#, fuzzy
 msgid "If window is mapped"
 msgstr "窗口是否已映射"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:614
+#: clutter/x11/clutter-x11-texture-pixmap.c:620
 msgid "Destroyed"
 msgstr "已销毁"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:615
+#: clutter/x11/clutter-x11-texture-pixmap.c:621
 msgid "If window has been destroyed"
 msgstr "窗口是否已销毁"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:623
+#: clutter/x11/clutter-x11-texture-pixmap.c:629
 msgid "Window X"
 msgstr "窗口 X 坐标"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:624
+#: clutter/x11/clutter-x11-texture-pixmap.c:630
 msgid "X position of window on screen according to X11"
 msgstr "X11 中给出的窗口在屏幕中的竖直位置"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:632
+#: clutter/x11/clutter-x11-texture-pixmap.c:638
 msgid "Window Y"
 msgstr "窗口 Y 坐标"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:633
+#: clutter/x11/clutter-x11-texture-pixmap.c:639
 msgid "Y position of window on screen according to X11"
 msgstr "X11 中给出的窗口在屏幕中的水平位置"
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:640
+#: clutter/x11/clutter-x11-texture-pixmap.c:646
 msgid "Window Override Redirect"
-msgstr "窗口覆盖重定向"
+msgstr ""
 
-#: ../clutter/x11/clutter-x11-texture-pixmap.c:641
+#: clutter/x11/clutter-x11-texture-pixmap.c:647
 msgid "If this is an override-redirect window"
-msgstr "这是否为覆盖重定向窗口"
-
-#~ msgid "Depth"
-#~ msgstr "色深"
-
-#~ msgid "Position on the Z axis"
-#~ msgstr "Z 轴位置"
-
-#~ msgid "Clip"
-#~ msgstr "剪切"
-
-#~ msgid "The clip region for the actor"
-#~ msgstr "角色(actor)的剪切区域"
-
-#~ msgid "Scale Center X"
-#~ msgstr "X 轴缩放中心"
-
-#~ msgid "Horizontal scale center"
-#~ msgstr "水平缩放中心"
-
-#~ msgid "Scale Center Y"
-#~ msgstr "Y 轴缩放中心"
-
-#~ msgid "Vertical scale center"
-#~ msgstr "竖直旋转中心"
-
-#~ msgid "Scale Gravity"
-#~ msgstr "缩放重心"
-
-#~ msgid "The center of scaling"
-#~ msgstr "缩放中心"
-
-#~ msgid "Rotation Center X"
-#~ msgstr "旋转中心 X"
-
-#~ msgid "The rotation center on the X axis"
-#~ msgstr "X 轴旋转中心"
-
-#~ msgid "Rotation Center Y"
-#~ msgstr "旋转中心 Y"
-
-#~ msgid "The rotation center on the Y axis"
-#~ msgstr "Y 轴旋转中心"
-
-#~ msgid "Rotation Center Z"
-#~ msgstr "旋转中心 Z"
-
-#~ msgid "The rotation center on the Z axis"
-#~ msgstr "Z 轴旋转中心"
-
-#~ msgid "Rotation Center Z Gravity"
-#~ msgstr "旋转中心 Z 重心"
-
-#~ msgid "Center point for rotation around the Z axis"
-#~ msgstr "绕 Z 轴旋转的中心点"
-
-#~ msgid "Anchor X"
-#~ msgstr "锚点 X"
-
-#~ msgid "X coordinate of the anchor point"
-#~ msgstr "锚点的 X 坐标"
-
-#~ msgid "Anchor Y"
-#~ msgstr "锚点 Y"
-
-#~ msgid "Y coordinate of the anchor point"
-#~ msgstr "锚点的 Y 坐标"
-
-#~ msgid "Anchor Gravity"
-#~ msgstr "锚点重心"
-
-#~ msgid "The anchor point as a ClutterGravity"
-#~ msgstr "作为 ClutterGravity 的锚点"
-
-#~ msgid "Show on set parent"
-#~ msgstr "设置了父对角时显示"
-
-#~ msgid "Whether the actor is shown when parented"
-#~ msgstr "角色(actor)成为子对象时是否显示"
-
-#~ msgid "Horizontal Alignment"
-#~ msgstr "水平对齐"
-
-#~ msgid "Horizontal alignment for the actor inside the layout manager"
-#~ msgstr "布局管理器中的角色(actor)的水平对齐方式"
-
-#~ msgid "Vertical Alignment"
-#~ msgstr "竖直对齐"
-
-#~ msgid "Vertical alignment for the actor inside the layout manager"
-#~ msgstr "布局管理器中的角色(actor)的竖直对齐方式"
-
-#~ msgid ""
-#~ "Default horizontal alignment for the actors inside the layout manager"
-#~ msgstr "布局管理器中的角色(actor)的默认水平对齐方式"
-
-#~ msgid "Default vertical alignment for the actors inside the layout manager"
-#~ msgstr "布局管理器中的角色(actor)的默认竖直对齐方式"
-
-#~ msgid "Expand"
-#~ msgstr "展开"
-
-#~ msgid "Allocate extra space for the child"
-#~ msgstr "为子角色分配额外空间"
-
-#~ msgid "Horizontal Fill"
-#~ msgstr "水平填充"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the horizontal axis"
-#~ msgstr "窗口沿水平轴分配空闲空间时,子对象是否获得优先权"
-
-#~ msgid "Vertical Fill"
-#~ msgstr "竖直填充"
-
-#~ msgid ""
-#~ "Whether the child should receive priority when the container is "
-#~ "allocating spare space on the vertical axis"
-#~ msgstr "窗口沿竖直轴分配空闲空间时,子对象是否获得优先权"
-
-#~ msgid "Horizontal alignment of the actor within the cell"
-#~ msgstr "单元格内角色(actor)的水平对齐方式"
-
-#~ msgid "Vertical alignment of the actor within the cell"
-#~ msgstr "单元格内角色(actor)的竖直对齐方式"
-
-#~ msgid "Vertical"
-#~ msgstr "竖直"
-
-#~ msgid "Whether the layout should be vertical, rather than horizontal"
-#~ msgstr "布局是否为竖直而非水平"
-
-#~ msgid "Use Animations"
-#~ msgstr "使用动画"
-
-#~ msgid "Whether layout changes should be animated"
-#~ msgstr "是否对布局更改使用动画"
-
-#~ msgid "Easing Mode"
-#~ msgstr "擦除方式"
-
-#~ msgid "The easing mode of the animations"
-#~ msgstr "动画的擦除方式"
-
-#~ msgid "Easing Duration"
-#~ msgstr "擦除持续时间"
-
-#~ msgid "The duration of the animations"
-#~ msgstr "动画持续时间"
-
-#~ msgid "Offscreen"
-#~ msgstr "幕后"
-
-#~ msgid "Whether the main stage should be rendered offscreen"
-#~ msgstr "主舞台是否应在幕后渲染(rendered offscreen)"
-
-#~ msgid "Color"
-#~ msgstr "色彩"
-
-#~ msgid "The color of the stage"
-#~ msgstr "舞台(stage)的色彩"
-
-#~ msgid "Use Fog"
-#~ msgstr "使用迷雾"
-
-#~ msgid "Whether to enable depth cueing"
-#~ msgstr "是否启用景深处理(depth cueing)"
-
-#~ msgid "Fog"
-#~ msgstr "迷雾"
-
-#~ msgid "Settings for the depth cueing"
-#~ msgstr "景深处理(depth cueing)设置"
-
-#~ msgid "Horizontal Expand"
-#~ msgstr "水平伸展"
-
-#~ msgid "Allocate extra space for the child in horizontal axis"
-#~ msgstr "为子对象分配横向的额外空间"
-
-#~ msgid "Vertical Expand"
-#~ msgstr "竖直伸展"
-
-#~ msgid "Allocate extra space for the child in vertical axis"
-#~ msgstr "子对象分配纵向的额外空间"
-
-#~ msgid "Loop"
-#~ msgstr "循环"
-
-#~ msgid "Should the timeline automatically restart"
-#~ msgstr "时间线是否自动重新开始"
-
-#~ msgid "Timeline"
-#~ msgstr "时间轴"
-
-#~ msgid "Timeline used by the alpha"
-#~ msgstr "Alpha 使用的时间轴"
-
-#~ msgid "Alpha value"
-#~ msgstr "Alpha 值"
-
-#~ msgid "Alpha value as computed by the alpha"
-#~ msgstr "alpha 函数所计算出的 Alpha 值"
-
-#~ msgid "Mode"
-#~ msgstr "模式"
-
-#~ msgid "Progress mode"
-#~ msgstr "进度模式"
-
-#~ msgid "Object"
-#~ msgstr "对象"
-
-#~ msgid "Object to which the animation applies"
-#~ msgstr "应用动画的对象"
-
-#~ msgid "The mode of the animation"
-#~ msgstr "动画的模式"
-
-#~ msgid "Duration of the animation, in milliseconds"
-#~ msgstr "动画时长,以毫秒计"
-
-#~ msgid "Whether the animation should loop"
-#~ msgstr "动画是否循环"
-
-#~ msgid "The timeline used by the animation"
-#~ msgstr "动画使用的时间轴"
-
-#~ msgid "Alpha"
-#~ msgstr "Alpha"
-
-#~ msgid "The alpha used by the animation"
-#~ msgstr "动画使用的 alpha"
-
-#~ msgid "The duration of the animation"
-#~ msgstr "动画的时长"
-
-#~ msgid "The timeline of the animation"
-#~ msgstr "动画的时间轴"
-
-#~ msgid "Alpha Object to drive the behaviour"
-#~ msgstr "驱动行为的 Alpha 对象"
-
-#~ msgid "Start Depth"
-#~ msgstr "起始色深"
-
-#~ msgid "Initial depth to apply"
-#~ msgstr "应用的初始色深"
-
-#~ msgid "End Depth"
-#~ msgstr "终点色深"
-
-#~ msgid "Final depth to apply"
-#~ msgstr "应用的终点色深"
-
-#~ msgid "Start Angle"
-#~ msgstr "起始角度"
-
-#~ msgid "Initial angle"
-#~ msgstr "初始的角度"
-
-#~ msgid "End Angle"
-#~ msgstr "终点角度"
-
-#~ msgid "Final angle"
-#~ msgstr "终点的角度"
-
-#~ msgid "Angle x tilt"
-#~ msgstr "倾角 x"
-
-#~ msgid "Tilt of the ellipse around x axis"
-#~ msgstr "x 轴倾斜角"
-
-#~ msgid "Angle y tilt"
-#~ msgstr "倾角 y"
-
-#~ msgid "Tilt of the ellipse around y axis"
-#~ msgstr "y 轴倾斜角"
-
-#~ msgid "Angle z tilt"
-#~ msgstr "倾角 z"
-
-#~ msgid "Tilt of the ellipse around z axis"
-#~ msgstr "z 轴倾斜角"
-
-#~ msgid "Width of the ellipse"
-#~ msgstr "椭圆宽度"
-
-#~ msgid "Height of ellipse"
-#~ msgstr "椭圆高度"
-
-#~ msgid "Center"
-#~ msgstr "中心"
-
-#~ msgid "Center of ellipse"
-#~ msgstr "椭圆中心"
-
-#~ msgid "Direction of rotation"
-#~ msgstr "旋转方向"
-
-#~ msgid "Opacity Start"
-#~ msgstr "起始不透明度"
-
-#~ msgid "Initial opacity level"
-#~ msgstr "初始不透明度级别"
-
-#~ msgid "Opacity End"
-#~ msgstr "终止不透明度"
-
-#~ msgid "Final opacity level"
-#~ msgstr "最终不透明度级别"
-
-#~ msgid "The ClutterPath object representing the path to animate along"
-#~ msgstr "代表动画所沿路径的 ClutterPath 对象"
-
-#~ msgid "Angle Begin"
-#~ msgstr "开始角度"
-
-#~ msgid "Angle End"
-#~ msgstr "结束角度"
-
-#~ msgid "Axis"
-#~ msgstr "坐标轴"
-
-#~ msgid "Axis of rotation"
-#~ msgstr "旋转轴"
-
-#~ msgid "Center X"
-#~ msgstr "中心 X"
-
-#~ msgid "X coordinate of the center of rotation"
-#~ msgstr "旋转中心的 X 坐标"
-
-#~ msgid "Center Y"
-#~ msgstr "中心 Y"
-
-#~ msgid "Y coordinate of the center of rotation"
-#~ msgstr "旋转中心的 Y 坐标"
-
-#~ msgid "Center Z"
-#~ msgstr "中心 Z"
-
-#~ msgid "Z coordinate of the center of rotation"
-#~ msgstr "旋转中心的 Z 坐标"
-
-#~ msgid "X Start Scale"
-#~ msgstr "X 起始刻度"
-
-#~ msgid "Initial scale on the X axis"
-#~ msgstr "X 轴起始刻度"
-
-#~ msgid "X End Scale"
-#~ msgstr "X 终止刻度"
-
-#~ msgid "Final scale on the X axis"
-#~ msgstr "X 轴终止刻度"
-
-#~ msgid "Y Start Scale"
-#~ msgstr "Y 起始刻度"
-
-#~ msgid "Initial scale on the Y axis"
-#~ msgstr "Y 轴起始刻度"
-
-#~ msgid "Y End Scale"
-#~ msgstr "Y 终止刻度"
-
-#~ msgid "Final scale on the Y axis"
-#~ msgstr "Y 轴终止刻度"
-
-#~ msgid "The background color of the box"
-#~ msgstr "框的背景颜色"
-
-#~ msgid "Color Set"
-#~ msgstr "颜色设置"
-
-#~ msgid "Surface Width"
-#~ msgstr "表明宽度"
-
-#~ msgid "The width of the Cairo surface"
-#~ msgstr "Cairo 表明的宽度"
-
-#~ msgid "Surface Height"
-#~ msgstr "表明高度"
-
-#~ msgid "The height of the Cairo surface"
-#~ msgstr "Cairo 表明的高度"
-
-#~ msgid "Auto Resize"
-#~ msgstr "自动缩放"
-
-#~ msgid "Whether the surface should match the allocation"
-#~ msgstr "表面是否应适应分配的空间"
-
-#~ msgid "URI"
-#~ msgstr "URI"
-
-#~ msgid "URI of a media file"
-#~ msgstr "媒体文件的 URI"
-
-#~ msgid "Playing"
-#~ msgstr "正在播放"
-
-#~ msgid "Whether the actor is playing"
-#~ msgstr "角色(actor)是否在播放"
-
-#~ msgid "Progress"
-#~ msgstr "进度"
-
-#~ msgid "Current progress of the playback"
-#~ msgstr "当前的播放进度"
-
-#~ msgid "Subtitle URI"
-#~ msgstr "字幕 URI"
-
-#~ msgid "URI of a subtitle file"
-#~ msgstr "字幕文件的 URI"
-
-#~ msgid "Subtitle Font Name"
-#~ msgstr "字幕字体名称"
-
-#~ msgid "The font used to display subtitles"
-#~ msgstr "显示字幕时使用的字体"
-
-#~ msgid "Audio Volume"
-#~ msgstr "音频音量"
-
-#~ msgid "The volume of the audio"
-#~ msgstr "音频的音量"
-
-#~ msgid "Can Seek"
-#~ msgstr "可搜寻"
-
-#~ msgid "Whether the current stream is seekable"
-#~ msgstr "当前媒体流是否可搜寻"
-
-#~ msgid "Buffer Fill"
-#~ msgstr "缓冲区填充"
-
-#~ msgid "The fill level of the buffer"
-#~ msgstr "缓冲区的填充量"
-
-#~ msgid "The duration of the stream, in seconds"
-#~ msgstr "媒体流的持续时间(秒)"
-
-#~ msgid "The color of the rectangle"
-#~ msgstr "矩形的颜色"
-
-#~ msgid "Border Color"
-#~ msgstr "边框颜色"
-
-#~ msgid "The color of the border of the rectangle"
-#~ msgstr "矩形边框的颜色"
-
-#~ msgid "Border Width"
-#~ msgstr "边框宽度"
-
-#~ msgid "The width of the border of the rectangle"
-#~ msgstr "矩形的边框宽度"
-
-#~ msgid "Has Border"
-#~ msgstr "带有边框"
-
-#~ msgid "Whether the rectangle should have a border"
-#~ msgstr "矩形是否有边框"
-
-#~ msgid "Vertex Source"
-#~ msgstr "顶点源"
-
-#~ msgid "Source of vertex shader"
-#~ msgstr "顶点着色引擎的源"
-
-#~ msgid "Fragment Source"
-#~ msgstr "片段源"
-
-#~ msgid "Source of fragment shader"
-#~ msgstr "片段着色引擎的源"
-
-#~ msgid "Compiled"
-#~ msgstr "已编译"
-
-#~ msgid "Whether the shader is compiled and linked"
-#~ msgstr "着色引擎是否已编译和链接"
-
-#~ msgid "Whether the shader is enabled"
-#~ msgstr "着色引擎是否已启用"
-
-#~ msgid "%s compilation failed: %s"
-#~ msgstr "%s 编译失败:%s"
-
-#~ msgid "Vertex shader"
-#~ msgstr "顶点着色引擎"
-
-#~ msgid "Fragment shader"
-#~ msgstr "片段着色引擎"
-
-#~ msgid "State"
-#~ msgstr "状态"
-
-#~ msgid ""
-#~ "Currently set state, (transition to this state might not be complete)"
-#~ msgstr "当前的设置状态,(可能还未完成到该状态的过渡)"
-
-#~ msgid "Default transition duration"
-#~ msgstr "默认过渡时长"
-
-#~ msgid "Sync size of actor"
-#~ msgstr "同步角色(actor)大小"
-
-#~ msgid "Auto sync size of actor to underlying pixbuf dimensions"
-#~ msgstr "根据对应的 pixbuf 尺寸自动同步角色(actor)大小"
-
-#~ msgid "Disable Slicing"
-#~ msgstr "禁用切片"
-
-#~ msgid ""
-#~ "Forces the underlying texture to be singular and not made of smaller "
-#~ "space saving individual textures"
-#~ msgstr ""
-#~ "强制保持相应的纹理设置为单个的纹理,而不是为了节省空间而由更小的独立纹理组"
-#~ "成"
-
-#~ msgid "Tile Waste"
-#~ msgstr "图块丢弃(Waste)"
-
-#~ msgid "Maximum waste area of a sliced texture"
-#~ msgstr "切割纹理的最大丢弃空间(waste area)"
-
-#~ msgid "Horizontal repeat"
-#~ msgstr "水平重复"
-
-#~ msgid "Repeat the contents rather than scaling them horizontally"
-#~ msgstr "重复内容而不是水平缩放它们"
-
-#~ msgid "Vertical repeat"
-#~ msgstr "竖直重复"
-
-#~ msgid "Repeat the contents rather than scaling them vertically"
-#~ msgstr "重复内容而不是竖直缩放它们"
-
-#~ msgid "Filter Quality"
-#~ msgstr "过滤器质量"
-
-#~ msgid "Rendering quality used when drawing the texture"
-#~ msgstr "绘制纹理时使用的渲染质量"
-
-#~ msgid "Pixel Format"
-#~ msgstr "像素格式"
-
-#~ msgid "The Cogl pixel format to use"
-#~ msgstr "要使用的 Cogl 像素格式"
-
-#~ msgid "Cogl Material"
-#~ msgstr "Cogl 素材"
-
-#~ msgid "The underlying Cogl material handle used to draw this actor"
-#~ msgstr "绘制当前角色(actor)时使用的相应 Cogl 素材"
-
-#~ msgid "The path of the file containing the image data"
-#~ msgstr "包含图像数据的文件路径"
-
-#~ msgid "Keep Aspect Ratio"
-#~ msgstr "保持宽高比"
-
-#~ msgid ""
-#~ "Keep the aspect ratio of the texture when requesting the preferred width "
-#~ "or height"
-#~ msgstr "当请求首选的纹理宽度或高度时保持宽高比"
-
-#~ msgid "Load asynchronously"
-#~ msgstr "同步加载"
-
-#~ msgid ""
-#~ "Load files inside a thread to avoid blocking when loading images from disk"
-#~ msgstr "在从磁盘载入图像时,在线程中加载文件以减少停顿"
-
-#~ msgid "Load data asynchronously"
-#~ msgstr "同步加载数据"
-
-#~ msgid ""
-#~ "Decode image data files inside a thread to reduce blocking when loading "
-#~ "images from disk"
-#~ msgstr "在从磁盘载入图像时,在线程中解码图像数据以减少停顿"
-
-#~ msgid "Pick With Alpha"
-#~ msgstr "使用 Alpha 通道拾取"
-
-#~ msgid "Shape actor with alpha channel when picking"
-#~ msgstr "在拾取时使用 alpha 通道寻找角色(actor)轮廓"
-
-#~ msgid "Failed to load the image data"
-#~ msgstr "加载图像数据失败"
-
-#~ msgid "YUV textures are not supported"
-#~ msgstr "不支持 YUV 纹理"
-
-#~ msgid "YUV2 textues are not supported"
-#~ msgstr "不支持 YUV2 纹理"
+msgstr ""
 
 #, fuzzy
 #~ msgid "Cogl debugging flags to set"
@@ -2554,3 +2204,6 @@ msgstr "这是否为覆盖重定向窗口"
 
 #~ msgid "VBlank method to be used (none, dri or glx)"
 #~ msgstr "要使用的 VBlank 方式(none、dir 或 glx)"
+
+#~ msgid "Position"
+#~ msgstr "位置"
diff --git a/tests/accessibility/Makefile.am b/tests/accessibility/Makefile.am
index 0c5b19e..4c7a376 100644
--- a/tests/accessibility/Makefile.am
+++ b/tests/accessibility/Makefile.am
@@ -18,13 +18,18 @@ AM_CPPFLAGS = -DPREFIXDIR=\"$(libdir)\" -DCLUTTER_DISABLE_DEPRECATION_WARNINGS -
 AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
 LDADD = $(common_ldadd) $(CLUTTER_LIBS)
 
-noinst_PROGRAMS =
-
-#cally_atkcomponent_example_SOURCES    = $(common_sources) cally-atkcomponent-example.c
-#cally_atktext_example_SOURCES         = $(common_sources) cally-atktext-example.c
-#cally_atkevents_example_SOURCES       = $(common_sources) cally-atkevents-example.c
-#cally_atkeditabletext_example_SOURCES = $(common_sources) cally-atkeditabletext-example.c
-#cally_clone_example_SOURCES           = $(common_sources) cally-clone-example.c
+noinst_PROGRAMS = \
+       cally-atkcomponent-example      \
+       cally-atkeditabletext-example   \
+       cally-atkevents-example         \
+       cally-atktext-example           \
+       cally-clone-example
+
+cally_atkcomponent_example_SOURCES    = $(common_sources) cally-atkcomponent-example.c
+cally_atktext_example_SOURCES         = $(common_sources) cally-atktext-example.c
+cally_atkevents_example_SOURCES       = $(common_sources) cally-atkevents-example.c
+cally_atkeditabletext_example_SOURCES = $(common_sources) cally-atkeditabletext-example.c
+cally_clone_example_SOURCES           = $(common_sources) cally-clone-example.c
 
 DISTCLEANFILES =
 
diff --git a/tests/accessibility/cally-atkcomponent-example.c 
b/tests/accessibility/cally-atkcomponent-example.c
index 82d1f7e..79a816b 100644
--- a/tests/accessibility/cally-atkcomponent-example.c
+++ b/tests/accessibility/cally-atkcomponent-example.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 #include <clutter/clutter.h>
@@ -46,47 +48,43 @@ main (int argc, char *argv[])
   stage = clutter_stage_new ();
 
   clutter_stage_set_title (CLUTTER_STAGE (stage), "Cally - AtkComponent Test");
-  clutter_actor_set_background_color (stage, CLUTTER_COLOR_White);
+  clutter_stage_set_color (CLUTTER_STAGE (stage), CLUTTER_COLOR_White);
   clutter_actor_set_size (stage, WIDTH, HEIGHT);
 
   g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
 
-  button1 = clutter_actor_new ();
-  clutter_actor_set_background_color (button1, CLUTTER_COLOR_Yellow);
+  button1 = clutter_rectangle_new_with_color (CLUTTER_COLOR_Yellow);
   clutter_actor_set_size (button1, SIZE, SIZE);
 
-  button2 = clutter_actor_new ();
-  clutter_actor_set_background_color (button2, CLUTTER_COLOR_Green);
+  button2 = clutter_rectangle_new_with_color (CLUTTER_COLOR_Green);
   clutter_actor_set_position (button2, 2 * SIZE, 0);
   clutter_actor_set_size (button2, SIZE, SIZE);
 
-  button3 = clutter_actor_new ();
-  clutter_actor_set_background_color (button3, CLUTTER_COLOR_Blue);
+  button3 = clutter_rectangle_new_with_color (CLUTTER_COLOR_Blue);
   clutter_actor_set_position (button3, 0, 2 * SIZE);
   clutter_actor_set_size (button3, SIZE, SIZE);
-  clutter_actor_set_z_position (button3, DEPTH);
+  clutter_actor_set_depth( button3, DEPTH);
 
   /* a nested hierarchy, to check that the relative positions are
      computed properly */
-  button4 = clutter_actor_new ();
-  clutter_actor_set_background_color (button4, CLUTTER_COLOR_Magenta);
+  button4 = clutter_rectangle_new_with_color (CLUTTER_COLOR_Magenta);
   clutter_actor_set_position (button4, SIZE / 2, SIZE / 2);
   clutter_actor_set_size (button4, SIZE, SIZE);
 
   for (i = 0; i < 4; i++) {
-    group[i] = clutter_actor_new ();
+    group[i] = clutter_group_new ();
     clutter_actor_set_position (group[i], SIZE / 2, SIZE / 2);
     clutter_actor_set_size (group[i], SIZE, SIZE);
 
     if (i > 0)
-      clutter_actor_add_child (group[i], group[i - 1]);
+      clutter_container_add_actor (CLUTTER_CONTAINER (group[i]), group [i - 1]);
   }
 
-  clutter_actor_add_child (stage, button1);
-  clutter_actor_add_child (stage, button2);
-  clutter_actor_add_child (stage, button3);
-  clutter_actor_add_child (stage, group[3]);
-  clutter_actor_add_child (group[0], button4);
+  clutter_container_add_actor (CLUTTER_CONTAINER (stage), button1);
+  clutter_container_add_actor (CLUTTER_CONTAINER (stage), button2);
+  clutter_container_add_actor (CLUTTER_CONTAINER (stage), button3);
+  clutter_container_add_actor (CLUTTER_CONTAINER (stage), group[3]);
+  clutter_container_add_actor (CLUTTER_CONTAINER (group[0]), button4);
 
   clutter_actor_show (stage);
 
diff --git a/tests/accessibility/cally-atkeditabletext-example.c 
b/tests/accessibility/cally-atkeditabletext-example.c
index ba1a4c3..433ee92 100644
--- a/tests/accessibility/cally-atkeditabletext-example.c
+++ b/tests/accessibility/cally-atkeditabletext-example.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 #include <atk/atk.h>
diff --git a/tests/accessibility/cally-atkevents-example.c b/tests/accessibility/cally-atkevents-example.c
index 0a28b38..6740cb8 100644
--- a/tests/accessibility/cally-atkevents-example.c
+++ b/tests/accessibility/cally-atkevents-example.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 /*
diff --git a/tests/accessibility/cally-atktext-example.c b/tests/accessibility/cally-atktext-example.c
index e5ca283..f7218ce 100644
--- a/tests/accessibility/cally-atktext-example.c
+++ b/tests/accessibility/cally-atktext-example.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 #include <atk/atk.h>
diff --git a/tests/accessibility/cally-clone-example.c b/tests/accessibility/cally-clone-example.c
index 84d6d50..9cc2d68 100644
--- a/tests/accessibility/cally-clone-example.c
+++ b/tests/accessibility/cally-clone-example.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 #include <atk/atk.h>
diff --git a/tests/accessibility/cally-examples-util.c b/tests/accessibility/cally-examples-util.c
index a7a3ee1..ea3e31a 100644
--- a/tests/accessibility/cally-examples-util.c
+++ b/tests/accessibility/cally-examples-util.c
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 
diff --git a/tests/accessibility/cally-examples-util.h b/tests/accessibility/cally-examples-util.h
index 2060870..dab5926 100644
--- a/tests/accessibility/cally-examples-util.h
+++ b/tests/accessibility/cally-examples-util.h
@@ -15,7 +15,9 @@
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 
 gboolean
diff --git a/tests/conform/Makefile.am b/tests/conform/Makefile.am
index 13c6750..210cbe0 100644
--- a/tests/conform/Makefile.am
+++ b/tests/conform/Makefile.am
@@ -16,27 +16,66 @@ units_sources =
 
 # animation tests
 units_sources += \
+       animator.c                      \
+       behaviours.c                    \
+       score.c                         \
+       state.c                         \
        timeline.c                      \
        timeline-interpolate.c          \
        timeline-progress.c             \
        timeline-rewind.c               \
        $(NULL)
 
+# cogl tests
+units_sources += \
+       test-cogl-fixed.c                       \
+       test-cogl-materials.c                   \
+       test-cogl-viewport.c                    \
+       test-cogl-multitexture.c                \
+       test-cogl-npot-texture.c                \
+       test-cogl-object.c                      \
+       test-cogl-premult.c                     \
+       test-cogl-readpixels.c                  \
+       test-cogl-texture-get-set-data.c        \
+       test-cogl-texture-mipmaps.c             \
+       test-cogl-texture-pixmap-x11.c          \
+       test-cogl-texture-rectangle.c           \
+       test-cogl-atlas-migration.c             \
+       test-cogl-vertex-buffer-contiguous.c    \
+       test-cogl-vertex-buffer-interleved.c    \
+       test-cogl-vertex-buffer-mutability.c    \
+       $(NULL)
+
 # actors tests
 units_sources += \
+       actor-anchors.c                 \
        actor-graph.c                   \
+       actor-destroy.c                 \
        actor-invariants.c              \
        actor-iter.c                    \
+       actor-layout.c                  \
+       actor-offscreen-redirect.c      \
+       actor-paint-opacity.c           \
+       actor-pick.c                    \
+       actor-shader-effect.c           \
        actor-size.c                    \
        binding-pool.c                  \
+       cairo-texture.c                 \
+       group.c                         \
        interval.c                      \
        path.c                          \
+       rectangle.c                     \
+       texture-fbo.c                   \
+       texture.c                       \
+        text-cache.c                   \
         text.c                         \
        $(NULL)
 
 # objects tests
 units_sources += \
        color.c                         \
+       model.c                         \
+       script-parser.c                 \
        units.c                         \
         $(NULL)
 
@@ -286,30 +325,5 @@ DISTCLEANFILES += \
 
 # we override the clean-generic target to clean up the wrappers so
 # we cannot use CLEANFILES
-clean-generic: clean-wrappers clean-tests
+clean-generic: clean-wrappers
        $(QUIET_RM)rm -f $(XML_REPORTS) $(HTML_REPORTS)
-
-if ENABLE_INSTALLED_TESTS
-# installed tests
-insttestdir = $(libexecdir)/installed-tests/$(PACKAGE)/conform
-insttest_PROGRAMS = test-conformance
-
-testmetadir = $(datadir)/installed-tests/$(PACKAGE)
-testmeta_DATA = $(wildcard *.test)
-
-BUILT_SOURCES += tests
-endif
-
-.PHONY: tests clean-tests
-
-tests: stamp-test-conformance
-       @for i in `cat unit-tests`; do \
-               unit=`basename $$i | sed -e s/_/-/g`; \
-               echo "  GEN      $$unit"; \
-               echo "[Test]" > $$unit.test; \
-               echo "Type=session" >> $$unit.test; \
-               echo "Exec=$(libexecdir)/installed-tests/$(PACKAGE)/conform/test-conformance -p $$i" >> 
$$unit.test; \
-       done
-
-clean-tests:
-       $(QUIET_RM) rm -f *.test
diff --git a/tests/conform/actor-graph.c b/tests/conform/actor-graph.c
index 61a18de..7e4dcd2 100644
--- a/tests/conform/actor-graph.c
+++ b/tests/conform/actor-graph.c
@@ -220,6 +220,8 @@ actor_raise_child (TestConformSimpleFixture *fixture,
                    ==,
                    "bar");
   g_assert (!CLUTTER_ACTOR_IS_VISIBLE (iter));
+  g_object_get (iter, "show-on-set-parent", &show_on_set_parent, NULL);
+  g_assert (!show_on_set_parent);
 
   iter = clutter_actor_get_child_at_index (actor, 0);
   clutter_actor_set_child_above_sibling (actor, iter, NULL);
@@ -234,6 +236,8 @@ actor_raise_child (TestConformSimpleFixture *fixture,
                    ==,
                    "foo");
   g_assert (!CLUTTER_ACTOR_IS_VISIBLE (iter));
+  g_object_get (iter, "show-on-set-parent", &show_on_set_parent, NULL);
+  g_assert (!show_on_set_parent);
 
   clutter_actor_destroy (actor);
   g_object_unref (actor);
@@ -280,6 +284,8 @@ actor_lower_child (TestConformSimpleFixture *fixture,
                    ==,
                    "baz");
   g_assert (!CLUTTER_ACTOR_IS_VISIBLE (iter));
+  g_object_get (iter, "show-on-set-parent", &show_on_set_parent, NULL);
+  g_assert (!show_on_set_parent);
 
   iter = clutter_actor_get_child_at_index (actor, 2);
   clutter_actor_set_child_below_sibling (actor, iter, NULL);
@@ -294,6 +300,8 @@ actor_lower_child (TestConformSimpleFixture *fixture,
                    ==,
                    "foo");
   g_assert (!CLUTTER_ACTOR_IS_VISIBLE (iter));
+  g_object_get (iter, "show-on-set-parent", &show_on_set_parent, NULL);
+  g_assert (!show_on_set_parent);
 
   clutter_actor_destroy (actor);
   g_object_unref (actor);
diff --git a/tests/conform/actor-invariants.c b/tests/conform/actor-invariants.c
index d70f97b..a9e21ee 100644
--- a/tests/conform/actor-invariants.c
+++ b/tests/conform/actor-invariants.c
@@ -11,7 +11,7 @@ actor_initial_state (TestConformSimpleFixture *fixture,
 {
   ClutterActor *actor;
 
-  actor = clutter_actor_new ();
+  actor = clutter_rectangle_new ();
   g_object_ref_sink (actor);
 
   if (g_test_verbose ())
@@ -22,7 +22,7 @@ actor_initial_state (TestConformSimpleFixture *fixture,
 
   g_assert (!(CLUTTER_ACTOR_IS_REALIZED (actor)));
   g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
-  g_assert (CLUTTER_ACTOR_IS_VISIBLE (actor));
+  g_assert (!(CLUTTER_ACTOR_IS_VISIBLE (actor)));
 
   clutter_actor_destroy (actor);
   g_object_unref (actor);
@@ -34,7 +34,7 @@ actor_shown_not_parented (TestConformSimpleFixture *fixture,
 {
   ClutterActor *actor;
 
-  actor = clutter_actor_new ();
+  actor = clutter_rectangle_new ();
   g_object_ref_sink (actor);
 
   clutter_actor_show (actor);
@@ -251,6 +251,79 @@ actor_map_recursive (TestConformSimpleFixture *fixture,
 }
 
 void
+actor_show_on_set_parent (TestConformSimpleFixture *fixture,
+                          gconstpointer             data)
+{
+  ClutterActor *actor, *group;
+  gboolean show_on_set_parent;
+  ClutterActor *stage;
+
+  stage = clutter_stage_new ();
+
+  group = clutter_actor_new ();
+
+  g_assert (!(CLUTTER_ACTOR_IS_VISIBLE (group)));
+
+  clutter_actor_add_child (stage, group);
+
+  actor = clutter_actor_new ();
+  g_object_get (actor,
+                "show-on-set-parent", &show_on_set_parent,
+                NULL);
+
+  g_assert (!(CLUTTER_ACTOR_IS_VISIBLE (actor)));
+  g_assert (show_on_set_parent);
+
+  clutter_actor_add_child (group, actor);
+  g_object_get (actor,
+                "show-on-set-parent", &show_on_set_parent,
+                NULL);
+
+  g_assert (CLUTTER_ACTOR_IS_VISIBLE (actor));
+  g_assert (show_on_set_parent);
+
+  g_object_ref (actor);
+  clutter_actor_remove_child (group, actor);
+  g_object_get (actor,
+                "show-on-set-parent", &show_on_set_parent,
+                NULL);
+
+  g_assert (!CLUTTER_ACTOR_IS_REALIZED (actor));
+  g_assert (!CLUTTER_ACTOR_IS_MAPPED (actor));
+  g_assert (CLUTTER_ACTOR_IS_VISIBLE (actor));
+  g_assert (show_on_set_parent);
+
+  clutter_actor_destroy (actor);
+  clutter_actor_destroy (group);
+
+  actor = clutter_actor_new ();
+  clutter_actor_add_child (stage, actor);
+  clutter_actor_hide (actor);
+  g_object_get (actor,
+                "show-on-set-parent", &show_on_set_parent,
+                NULL);
+  g_assert (!CLUTTER_ACTOR_IS_VISIBLE (actor));
+  g_assert (!CLUTTER_ACTOR_IS_MAPPED (actor));
+  g_assert (show_on_set_parent);
+
+  clutter_actor_destroy (actor);
+
+  actor = clutter_actor_new ();
+  clutter_actor_hide (actor);
+  clutter_actor_add_child (stage, actor);
+  g_object_get (actor,
+                "show-on-set-parent", &show_on_set_parent,
+                NULL);
+  g_assert (!CLUTTER_ACTOR_IS_VISIBLE (actor));
+  g_assert (!CLUTTER_ACTOR_IS_MAPPED (actor));
+  g_assert (!show_on_set_parent);
+
+  clutter_actor_destroy (actor);
+
+  clutter_actor_destroy (stage);
+}
+
+void
 clone_no_map (TestConformSimpleFixture *fixture,
               gconstpointer             data)
 {
@@ -262,20 +335,20 @@ clone_no_map (TestConformSimpleFixture *fixture,
   stage = clutter_stage_new ();
   clutter_actor_show (stage);
 
-  group = clutter_actor_new ();
-  actor = clutter_actor_new ();
+  group = clutter_group_new ();
+  actor = clutter_rectangle_new ();
 
   clutter_actor_hide (group);
 
-  clutter_actor_add_child (group, actor);
-  clutter_actor_add_child (stage, group);
+  clutter_container_add_actor (CLUTTER_CONTAINER (group), actor);
+  clutter_container_add_actor (CLUTTER_CONTAINER (stage), group);
 
   g_assert (!(CLUTTER_ACTOR_IS_MAPPED (group)));
   g_assert (!(CLUTTER_ACTOR_IS_MAPPED (actor)));
 
   clone = clutter_clone_new (group);
 
-  clutter_actor_add_child (stage, clone);
+  clutter_container_add_actor (CLUTTER_CONTAINER (stage), clone);
 
   g_assert (CLUTTER_ACTOR_IS_MAPPED (clone));
   g_assert (!(CLUTTER_ACTOR_IS_MAPPED (group)));
@@ -354,6 +427,23 @@ actor_contains (TestConformSimpleFixture *fixture,
 }
 
 void
+default_stage (TestConformSimpleFixture *fixture,
+               gconstpointer             data)
+{
+  ClutterActor *stage, *def_stage;
+
+  stage = clutter_stage_new ();
+  def_stage = clutter_stage_get_default ();
+
+  if (clutter_feature_available (CLUTTER_FEATURE_STAGE_MULTIPLE))
+    g_assert (stage != def_stage);
+  else
+    g_assert (stage == def_stage);
+
+  g_assert (CLUTTER_ACTOR_IS_REALIZED (def_stage));
+}
+
+void
 actor_pivot_transformation (TestConformSimpleFixture *fixture,
                             gconstpointer             data)
 {
diff --git a/tests/conform/actor-layout.c b/tests/conform/actor-layout.c
index 4916043..2eeaecc 100644
--- a/tests/conform/actor-layout.c
+++ b/tests/conform/actor-layout.c
@@ -234,7 +234,7 @@ actor_basic_layout (TestConformSimpleFixture *fixture,
   clutter_actor_set_name (flower[2], "Green Flower");
   clutter_actor_add_child (vase, flower[2]);
 
-  clutter_actor_show (stage);
+  clutter_actor_show_all (stage);
 
   state = test_state_new ();
   test_state_set_stage (state, stage);
@@ -282,7 +282,7 @@ actor_margin_layout (TestConformSimpleFixture *fixture,
   clutter_actor_set_margin_bottom (flower[2], 6);
   clutter_actor_add_child (vase, flower[2]);
 
-  clutter_actor_show (stage);
+  clutter_actor_show_all (stage);
 
   state = test_state_new ();
   test_state_set_stage (state, stage);
diff --git a/tests/conform/actor-offscreen-redirect.c b/tests/conform/actor-offscreen-redirect.c
index b96c607..f4d1618 100644
--- a/tests/conform/actor-offscreen-redirect.c
+++ b/tests/conform/actor-offscreen-redirect.c
@@ -281,7 +281,7 @@ timeout_cb (gpointer user_data)
 
   /* Modifying the transformation on the parent should cause a
      redraw */
-  clutter_actor_set_pivot_point (data->parent_container, 0, 1);
+  clutter_actor_set_anchor_point (data->parent_container, 0, 1);
   verify_redraw (data, 1);
 
   /* Redrawing an unrelated actor shouldn't cause a redraw */
@@ -303,31 +303,31 @@ actor_offscreen_redirect (TestConformSimpleFixture *fixture,
 
       data.stage = clutter_stage_new ();
 
-      data.parent_container = clutter_actor_new ();
+      data.parent_container = clutter_group_new ();
 
       data.container = g_object_new (foo_group_get_type (), NULL);
 
       data.foo_actor = g_object_new (foo_actor_get_type (), NULL);
       clutter_actor_set_size (CLUTTER_ACTOR (data.foo_actor), 100, 100);
 
-      clutter_actor_add_child (data.container,
-                               CLUTTER_ACTOR (data.foo_actor));
+      clutter_container_add_actor (CLUTTER_CONTAINER (data.container),
+                                   CLUTTER_ACTOR (data.foo_actor));
 
-      clutter_actor_add_child (data.parent_container,
-                               data.container);
+      clutter_container_add_actor (CLUTTER_CONTAINER (data.parent_container),
+                                   data.container);
 
-      clutter_actor_add_child (data.stage,
-                               data.parent_container);
+      clutter_container_add_actor (CLUTTER_CONTAINER (data.stage),
+                                   data.parent_container);
 
-      data.child = clutter_actor_new ();
+      data.child = clutter_rectangle_new ();
       clutter_actor_set_size (data.child, 1, 1);
-      clutter_actor_add_child (data.container,
-                               data.child);
+      clutter_container_add_actor (CLUTTER_CONTAINER (data.container),
+                                   data.child);
 
-      data.unrelated_actor = clutter_actor_new ();
+      data.unrelated_actor = clutter_rectangle_new ();
       clutter_actor_set_size (data.child, 1, 1);
-      clutter_actor_add_child (data.stage,
-                               data.unrelated_actor);
+      clutter_container_add_actor (CLUTTER_CONTAINER (data.stage),
+                                   data.unrelated_actor);
 
       clutter_actor_show (data.stage);
 
@@ -345,3 +345,4 @@ actor_offscreen_redirect (TestConformSimpleFixture *fixture,
   else if (g_test_verbose ())
     g_print ("Skipping\n");
 }
+
diff --git a/tests/conform/binding-pool.c b/tests/conform/binding-pool.c
index 27237f6..20ec634 100644
--- a/tests/conform/binding-pool.c
+++ b/tests/conform/binding-pool.c
@@ -18,20 +18,20 @@ typedef struct _KeyGroupClass   KeyGroupClass;
 
 struct _KeyGroup
 {
-  ClutterActor parent_instance;
+  ClutterGroup parent_instance;
 
   gint selected_index;
 };
 
 struct _KeyGroupClass
 {
-  ClutterActorClass parent_class;
+  ClutterGroupClass parent_class;
 
   void (* activate) (KeyGroup     *group,
                      ClutterActor *child);
 };
 
-G_DEFINE_TYPE (KeyGroup, key_group, CLUTTER_TYPE_ACTOR)
+G_DEFINE_TYPE (KeyGroup, key_group, CLUTTER_TYPE_GROUP);
 
 enum
 {
@@ -53,7 +53,7 @@ key_group_action_move_left (KeyGroup            *self,
   g_assert_cmpstr (action_name, ==, "move-left");
   g_assert_cmpint (key_val, ==, CLUTTER_KEY_Left);
 
-  n_children = clutter_actor_get_n_children (CLUTTER_ACTOR (self));
+  n_children = clutter_group_get_n_children (CLUTTER_GROUP (self));
 
   self->selected_index -= 1;
 
@@ -74,7 +74,7 @@ key_group_action_move_right (KeyGroup            *self,
   g_assert_cmpstr (action_name, ==, "move-right");
   g_assert_cmpint (key_val, ==, CLUTTER_KEY_Right);
 
-  n_children = clutter_actor_get_n_children (CLUTTER_ACTOR (self));
+  n_children = clutter_group_get_n_children (CLUTTER_GROUP (self));
 
   self->selected_index += 1;
 
@@ -100,8 +100,8 @@ key_group_action_activate (KeyGroup            *self,
   if (self->selected_index == -1)
     return FALSE;
 
-  child = clutter_actor_get_child_at_index (CLUTTER_ACTOR (self),
-                                            self->selected_index);
+  child = clutter_group_get_nth_child (CLUTTER_GROUP (self),
+                                       self->selected_index);
 
   if (child)
     {
@@ -138,13 +138,14 @@ static void
 key_group_paint (ClutterActor *actor)
 {
   KeyGroup *self = KEY_GROUP (actor);
-  ClutterActorIter iter;
-  ClutterActor *child;
+  GList *children, *l;
   gint i;
 
-  clutter_actor_iter_init (&iter, actor);
-  while (clutter_actor_iter_next (&iter, &child))
+  children = clutter_container_get_children (CLUTTER_CONTAINER (self));
+
+  for (l = children, i = 0; l != NULL; l = l->next, i++)
     {
+      ClutterActor *child = l->data;
 
       /* paint the selection rectangle */
       if (i == self->selected_index)
@@ -164,6 +165,8 @@ key_group_paint (ClutterActor *actor)
 
       clutter_actor_paint (child);
     }
+
+  g_list_free (children);
 }
 
 static void
@@ -264,24 +267,23 @@ binding_pool (TestConformSimpleFixture *fixture,
 {
   KeyGroup *key_group = g_object_new (TYPE_KEY_GROUP, NULL);
 
-  clutter_actor_add_child (CLUTTER_ACTOR (key_group),
-                           g_object_new (CLUTTER_TYPE_ACTOR,
-                                         "width", 50.0,
-                                         "height", 50.0,
-                                         "x", 0.0, "y", 0.0,
-                                         NULL));
-  clutter_actor_add_child (CLUTTER_ACTOR (key_group),
-                           g_object_new (CLUTTER_TYPE_ACTOR,
-                                         "width", 50.0,
-                                         "height", 50.0,
-                                         "x", 75.0, "y", 0.0,
-                                         NULL));
-  clutter_actor_add_child (CLUTTER_ACTOR (key_group),
-                           g_object_new (CLUTTER_TYPE_ACTOR,
-                                         "width", 50.0,
-                                         "height", 50.0,
-                                         "x", 150.0, "y", 0.0,
-                                         NULL));
+  clutter_container_add (CLUTTER_CONTAINER (key_group),
+                         g_object_new (CLUTTER_TYPE_RECTANGLE,
+                                       "width", 50.0,
+                                       "height", 50.0,
+                                       "x", 0.0, "y", 0.0,
+                                       NULL),
+                         g_object_new (CLUTTER_TYPE_RECTANGLE,
+                                       "width", 50.0,
+                                       "height", 50.0,
+                                       "x", 75.0, "y", 0.0,
+                                       NULL),
+                         g_object_new (CLUTTER_TYPE_RECTANGLE,
+                                       "width", 50.0,
+                                       "height", 50.0,
+                                       "x", 150.0, "y", 0.0,
+                                       NULL),
+                         NULL);
 
   g_assert_cmpint (key_group->selected_index, ==, -1);
 
diff --git a/tests/conform/cally-text.c b/tests/conform/cally-text.c
index 23ed887..32d7afb 100644
--- a/tests/conform/cally-text.c
+++ b/tests/conform/cally-text.c
@@ -286,7 +286,7 @@ cally_text (void)
 
   data.label = clutter_text_new_with_text (TEST_FONT, "Lorem ipsum dolor sit amet");
 
-  clutter_actor_add_child (data.stage, data.label);
+  clutter_container_add (CLUTTER_CONTAINER (data.stage), data.label, NULL);
   data.offset = 6;
   data.extents_x = 64;
   data.extents_y = 99;
@@ -304,7 +304,7 @@ cally_text (void)
   data1.label = clutter_text_new_with_text (TEST_FONT, "");
   clutter_text_set_markup (CLUTTER_TEXT(data1.label), "<span fgcolor=\"#FFFF00\" 
bgcolor=\"#00FF00\"><s>Lorem ipsum dolor sit amet</s></span>");
 
-  clutter_actor_add_child (data1.stage, data1.label);
+  clutter_container_add (CLUTTER_CONTAINER (data1.stage), data1.label, NULL);
   data1.offset = 10;
   data1.extents_x = 90;
   data1.extents_y = 199;
diff --git a/tests/conform/path.c b/tests/conform/path.c
index 7ab6a2e..b292ac9 100644
--- a/tests/conform/path.c
+++ b/tests/conform/path.c
@@ -402,7 +402,7 @@ path_test_convert_to_cairo_path (CallbackData *data)
   cairo_t *cr;
   cairo_path_t *cpath;
   guint i, j;
-  ClutterPoint path_start = { 0, 0 }, last_point = { 0, 0 };
+  ClutterKnot path_start = { 0, 0 }, last_point = { 0, 0 };
 
   /* Create a temporary image surface and context to hold the cairo
      path */
@@ -531,7 +531,7 @@ path_test_get_position (CallbackData *data)
 
   for (i = 0; i < G_N_ELEMENTS (values); i += 3)
     {
-      ClutterPoint pos;
+      ClutterKnot pos;
 
       clutter_path_get_position (data->path,
                                  values[i],
diff --git a/tests/conform/test-conform-main.c b/tests/conform/test-conform-main.c
index 390aac1..b076e8f 100644
--- a/tests/conform/test-conform-main.c
+++ b/tests/conform/test-conform-main.c
@@ -91,7 +91,7 @@ static TestConformSharedState *shared_state = NULL;
 gchar *
 clutter_test_get_data_file (const gchar *filename)
 {
-  return g_test_build_filename (G_TEST_DIST, "..", "data", filename, NULL);
+  return g_build_filename (TESTS_DATADIR, filename, NULL);
 }
 
 static void
@@ -137,8 +137,15 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/actor", actor_remove_child);
   TEST_CONFORM_SIMPLE ("/actor", actor_remove_all);
   TEST_CONFORM_SIMPLE ("/actor", actor_container_signals);
+  TEST_CONFORM_SIMPLE ("/actor", actor_destruction);
+  TEST_CONFORM_SIMPLE ("/actor", actor_anchors);
+  TEST_CONFORM_SIMPLE ("/actor", actor_pick);
   TEST_CONFORM_SIMPLE ("/actor", actor_fixed_size);
   TEST_CONFORM_SIMPLE ("/actor", actor_preferred_size);
+  TEST_CONFORM_SIMPLE ("/actor", actor_basic_layout);
+  TEST_CONFORM_SIMPLE ("/actor", actor_margin_layout);
+  TEST_CONFORM_SIMPLE ("/actor", actor_offscreen_redirect);
+  TEST_CONFORM_SIMPLE ("/actor", actor_shader_effect);
 
   TEST_CONFORM_SIMPLE ("/actor/iter", actor_iter_traverse_children);
   TEST_CONFORM_SIMPLE ("/actor/iter", actor_iter_traverse_remove);
@@ -151,10 +158,16 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/actor/invariants", actor_realize_not_recursive);
   TEST_CONFORM_SIMPLE ("/actor/invariants", actor_map_recursive);
   TEST_CONFORM_SIMPLE ("/actor/invariants", actor_mapped);
+  TEST_CONFORM_SIMPLE ("/actor/invariants", actor_show_on_set_parent);
   TEST_CONFORM_SIMPLE ("/actor/invariants", clone_no_map);
   TEST_CONFORM_SIMPLE ("/actor/invariants", actor_contains);
+  TEST_CONFORM_SIMPLE ("/actor/invariants", default_stage);
   TEST_CONFORM_SIMPLE ("/actor/invariants", actor_pivot_transformation);
 
+  TEST_CONFORM_SIMPLE ("/actor/opacity", opacity_label);
+  TEST_CONFORM_SIMPLE ("/actor/opacity", opacity_rectangle);
+  TEST_CONFORM_SIMPLE ("/actor/opacity", opacity_paint);
+
   TEST_CONFORM_SIMPLE ("/text", text_utf8_validation);
   TEST_CONFORM_SIMPLE ("/text", text_set_empty);
   TEST_CONFORM_SIMPLE ("/text", text_set_text);
@@ -166,9 +179,17 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/text", text_cursor);
   TEST_CONFORM_SIMPLE ("/text", text_event);
   TEST_CONFORM_SIMPLE ("/text", text_get_chars);
+  TEST_CONFORM_SIMPLE ("/text", text_cache);
   TEST_CONFORM_SIMPLE ("/text", text_password_char);
   TEST_CONFORM_SIMPLE ("/text", text_idempotent_use_markup);
 
+  TEST_CONFORM_SIMPLE ("/rectangle", rectangle_set_size);
+  TEST_CONFORM_SIMPLE ("/rectangle", rectangle_set_color);
+
+  TEST_CONFORM_SIMPLE ("/texture", texture_pick_with_alpha);
+  TEST_CONFORM_SIMPLE ("/texture", texture_fbo);
+  TEST_CONFORM_SIMPLE ("/texture/cairo", texture_cairo);
+
   TEST_CONFORM_SIMPLE ("/interval", interval_initial_state);
   TEST_CONFORM_SIMPLE ("/interval", interval_transform);
 
@@ -176,6 +197,12 @@ main (int argc, char **argv)
 
   TEST_CONFORM_SIMPLE ("/binding-pool", binding_pool);
 
+  TEST_CONFORM_SIMPLE ("/model", list_model_populate);
+  TEST_CONFORM_SIMPLE ("/model", list_model_iterate);
+  TEST_CONFORM_SIMPLE ("/model", list_model_filter);
+  TEST_CONFORM_SIMPLE ("/model", list_model_from_script);
+  TEST_CONFORM_SIMPLE ("/model", list_model_row_changed);
+
   TEST_CONFORM_SIMPLE ("/color", color_from_string_valid);
   TEST_CONFORM_SIMPLE ("/color", color_from_string_invalid);
   TEST_CONFORM_SIMPLE ("/color", color_to_string);
@@ -186,6 +213,21 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/units", units_string);
   TEST_CONFORM_SIMPLE ("/units", units_cache);
 
+  TEST_CONFORM_SIMPLE ("/group", group_depth_sorting);
+
+  TEST_CONFORM_SIMPLE ("/script", script_single);
+  TEST_CONFORM_SIMPLE ("/script", script_child);
+  TEST_CONFORM_SIMPLE ("/script", script_implicit_alpha);
+  TEST_CONFORM_SIMPLE ("/script", script_object_property);
+  TEST_CONFORM_SIMPLE ("/script", script_animation);
+  TEST_CONFORM_SIMPLE ("/script", script_named_object);
+  TEST_CONFORM_SIMPLE ("/script", script_layout_property);
+  TEST_CONFORM_SIMPLE ("/script", animator_base);
+  TEST_CONFORM_SIMPLE ("/script", animator_properties);
+  TEST_CONFORM_SIMPLE ("/script", animator_multi_properties);
+  TEST_CONFORM_SIMPLE ("/script", state_base);
+  TEST_CONFORM_SIMPLE ("/script", script_margin);
+
   TEST_CONFORM_SIMPLE ("/timeline", timeline_base);
   TEST_CONFORM_SIMPLE ("/timeline", timeline_markers_from_script);
   TEST_CONFORM_SKIP (g_test_slow (), "/timeline", timeline_interpolation);
@@ -193,6 +235,10 @@ main (int argc, char **argv)
   TEST_CONFORM_SIMPLE ("/timeline", timeline_progress_mode);
   TEST_CONFORM_SIMPLE ("/timeline", timeline_progress_step);
 
+  TEST_CONFORM_SIMPLE ("/score", score_base);
+
+  TEST_CONFORM_SIMPLE ("/behaviours", behaviours_base);
+
   TEST_CONFORM_SIMPLE ("/events", events_touch);
 
   /* FIXME - see bug https://bugzilla.gnome.org/show_bug.cgi?id=655588 */
diff --git a/tests/conform/text-cache.c b/tests/conform/text-cache.c
index 990bbdb..6b4bddf 100644
--- a/tests/conform/text-cache.c
+++ b/tests/conform/text-cache.c
@@ -271,7 +271,7 @@ text_cache (void)
 
   g_signal_connect (data.stage, "paint", G_CALLBACK (on_paint), &data);
 
-  clutter_actor_add_child (data.stage, data.label);
+  clutter_container_add (CLUTTER_CONTAINER (data.stage), data.label, NULL);
 
   clutter_actor_show (data.stage);
 
diff --git a/tests/conform/timeline-interpolate.c b/tests/conform/timeline-interpolate.c
index 4900650..5eab888 100644
--- a/tests/conform/timeline-interpolate.c
+++ b/tests/conform/timeline-interpolate.c
@@ -138,7 +138,7 @@ timeline_interpolation (void)
 
   state.timeline = 
     clutter_timeline_new (TEST_TIMELINE_DURATION);
-  clutter_timeline_set_repeat_count (state.timeline, -1);
+  clutter_timeline_set_loop (state.timeline, TRUE);
   g_signal_connect (G_OBJECT(state.timeline),
                    "new-frame",
                    G_CALLBACK(new_frame_cb),
diff --git a/tests/conform/timeline.c b/tests/conform/timeline.c
index 361efa7..55822ff 100644
--- a/tests/conform/timeline.c
+++ b/tests/conform/timeline.c
@@ -217,7 +217,7 @@ timeline_base (TestConformSimpleFixture *fixture,
   g_strfreev (markers);
 
   timeline_data_init (&data_2, 2);
-  timeline_2 = clutter_timeline_new (FRAME_COUNT * 1000 / FPS);
+  timeline_2 = clutter_timeline_clone (timeline_1);
   clutter_timeline_add_marker_at_time (timeline_2, "bar", 2 * 1000 / FPS);
   markers = clutter_timeline_list_markers (timeline_2, -1, &n_markers);
   g_assert (markers != NULL);
@@ -226,7 +226,7 @@ timeline_base (TestConformSimpleFixture *fixture,
   g_strfreev (markers);
 
   timeline_data_init (&data_3, 3);
-  timeline_3 = clutter_timeline_new (FRAME_COUNT * 1000 / FPS);
+  timeline_3 = clutter_timeline_clone (timeline_1);
   clutter_timeline_set_direction (timeline_3, CLUTTER_TIMELINE_BACKWARD);
   clutter_timeline_add_marker_at_time (timeline_3, "start-marker",
                                        FRAME_COUNT * 1000 / FPS);
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index dc707f3..896ed5b 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -25,9 +25,4 @@ png_files = \
        light0.png              \
        $(NULL)
 
-EXTRA_DIST = $(json_files) $(png_files) clutter-2.0.suppressions
-
-if ENABLE_INSTALLED_TESTS
-insttestdir = $(libexecdir)/installed-tests/$(PACKAGE)/data
-insttest_DATA = $(json_files) $(png_files)
-endif
+EXTRA_DIST = $(json_files) $(png_files) clutter-1.0.suppressions
diff --git a/tests/data/clutter-2.0.suppressions b/tests/data/clutter-1.0.suppressions
similarity index 100%
rename from tests/data/clutter-2.0.suppressions
rename to tests/data/clutter-1.0.suppressions
diff --git a/tests/interactive/Makefile.am b/tests/interactive/Makefile.am
index f9e6174..04c762d 100644
--- a/tests/interactive/Makefile.am
+++ b/tests/interactive/Makefile.am
@@ -1,6 +1,64 @@
 include $(top_srcdir)/build/autotools/Makefile.am.silent
 
-UNIT_TESTS =
+UNIT_TESTS = \
+       test-texture-slicing.c \
+       test-texture-async.c \
+       test-texture-material.c \
+       test-events.c \
+       test-scale.c \
+        test-actors.c \
+       test-shader-effects.c \
+       test-script.c \
+       test-grab.c \
+       test-cogl-shader-arbfp.c \
+       test-cogl-shader-glsl.c \
+       test-animator.c \
+       test-state.c \
+       test-state-animator.c \
+       test-fbo.c \
+       test-multistage.c \
+       test-cogl-primitives.c \
+       test-cogl-tex-tile.c \
+       test-cogl-tex-convert.c \
+       test-cogl-tex-foreign.c \
+       test-cogl-tex-getset.c \
+       test-cogl-offscreen.c \
+       test-cogl-tex-polygon.c \
+       test-cogl-multitexture.c \
+       test-stage-read-pixels.c \
+       test-clip.c \
+       test-paint-wrapper.c \
+       test-texture-quality.c \
+       test-layout.c \
+        test-animation.c \
+        test-easing.c \
+        test-binding-pool.c \
+        test-text.c \
+        test-text-field.c \
+       test-cairo-clock.c \
+       test-cairo-flowers.c \
+       test-cogl-vertex-buffer.c \
+       test-stage-sizing.c \
+       test-scrolling.c \
+       test-swipe-action.c \
+       test-cogl-point-sprites.c \
+       test-table-layout.c \
+       test-path-constraint.c \
+       test-state-script.c \
+       test-devices.c \
+       test-content.c \
+       test-keyframe-transition.c \
+       test-bind-constraint.c \
+       test-touch-events.c
+
+if X11_TESTS
+UNIT_TESTS += test-pixmap.c
+endif
+
+if PIXBUF_TESTS
+UNIT_TESTS += \
+       test-image.c
+endif
 
 if OS_WIN32
 SHEXT =
@@ -9,7 +67,7 @@ SHEXT = $(EXEEXT)
 endif
 
 # For convenience, this provides a way to easily run individual unit tests:
-wrappers: stamp-test-interactive
+wrappers: stamp-test-interactive $(top_builddir)/build/win32/test-interactive-clutter.bat
        @true
 
 stamp-test-interactive: Makefile
diff --git a/tests/micro-bench/Makefile.am b/tests/micro-bench/Makefile.am
index 2ff1a78..0bb3d58 100644
--- a/tests/micro-bench/Makefile.am
+++ b/tests/micro-bench/Makefile.am
@@ -2,7 +2,12 @@ include $(top_srcdir)/build/autotools/Makefile.am.silent
 
 common_ldadd = $(top_builddir)/clutter/libclutter- CLUTTER_API_VERSION@.la
 
-noinst_PROGRAMS =
+noinst_PROGRAMS = \
+       test-text \
+       test-picking \
+       test-text-perf \
+       test-random-text \
+       test-cogl-perf
 
 INCLUDES = \
        -I$(top_srcdir) \
@@ -20,10 +25,10 @@ AM_CFLAGS = \
 
 LDADD = $(common_ldadd) $(CLUTTER_LIBS) -lm
 
-#test_text_SOURCES = test-text.c
-#test_picking_SOURCES = test-picking.c
-#test_text_perf_SOURCES = test-text-perf.c
-#test_random_text_SOURCES = test-random-text.c
-#test_cogl_perf_SOURCES = test-cogl-perf.c
+test_text_SOURCES = test-text.c
+test_picking_SOURCES = test-picking.c
+test_text_perf_SOURCES = test-text-perf.c
+test_random_text_SOURCES = test-random-text.c
+test_cogl_perf_SOURCES = test-cogl-perf.c
 
 -include $(top_srcdir)/build/autotools/Makefile.am.gitignore
diff --git a/tests/performance/Makefile.am b/tests/performance/Makefile.am
index 800696a..01262bf 100644
--- a/tests/performance/Makefile.am
+++ b/tests/performance/Makefile.am
@@ -1,6 +1,13 @@
 include $(top_srcdir)/build/autotools/Makefile.am.silent
 
-noinst_PROGRAMS =
+noinst_PROGRAMS = \
+       test-picking \
+       test-text-perf \
+       test-state \
+       test-state-interactive \
+       test-state-hidden \
+       test-state-mini \
+       test-state-pick
 
 INCLUDES = \
        -I$(top_srcdir) \
@@ -24,13 +31,13 @@ perf-report: check
 check:
        for a in $(noinst_PROGRAMS);do ./$$a;done;true
 
-#test_picking_SOURCES = test-picking.c
-#test_text_perf_SOURCES = test-text-perf.c
-#test_state_SOURCES = test-state.c
-#test_state_hidden_SOURCES = test-state-hidden.c
-#test_state_pick_SOURCES = test-state-pick.c
-#test_state_interactive_SOURCES = test-state-interactive.c
-#test_state_mini_SOURCES = test-state-mini.c
+test_picking_SOURCES = test-picking.c
+test_text_perf_SOURCES = test-text-perf.c
+test_state_SOURCES = test-state.c
+test_state_hidden_SOURCES = test-state-hidden.c
+test_state_pick_SOURCES = test-state-pick.c
+test_state_interactive_SOURCES = test-state-interactive.c
+test_state_mini_SOURCES = test-state-mini.c
 
 EXTRA_DIST = Makefile-retrospect Makefile-tests create-report.rb test-common.h
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]