<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
               "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY version "1.26.2">
]>

<book id="clutter" lang="en" xmlns:xi="http://www.w3.org/2003/XInclude">
  <bookinfo>
    <title>Clutter Reference Manual</title>
    <releaseinfo>for Clutter &version;</releaseinfo>

    <copyright>
      <year>2006</year>
      <year>2007</year>
      <year>2008</year>
      <holder>OpenedHand LTD</holder>
    </copyright>

    <copyright>
      <year>2009</year>
      <year>2010</year>
      <year>2011</year>
      <year>2012</year>
      <holder>Intel Corporation</holder>
    </copyright>

    <legalnotice>
      <para>
        Permission is granted to copy, distribute and/or modify this
        document under the terms of the <citetitle>GNU Free
        Documentation License</citetitle>, Version 1.1 or any later
        version published by the Free Software Foundation with no
        Invariant Sections, no Front-Cover Texts, and no Back-Cover
        Texts. You may obtain a copy of the <citetitle>GNU Free
        Documentation License</citetitle> from the Free Software
        Foundation by visiting <ulink type="http"
        url="http://www.fsf.org">their Web site</ulink> or by writing
        to:

        <address>
          The Free Software Foundation, Inc.,
          <street>59 Temple Place</street> - Suite 330,
          <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
          <country>USA</country>
        </address>
      </para>
    </legalnotice>
  </bookinfo>

  <xi:include href="xml/clutter-overview.xml"/>
  <xi:include href="xml/building-clutter.xml"/>
  <xi:include href="xml/running-clutter.xml"/>

  <part id="clutterbase">
    <title>Clutter Core Reference</title>

    <chapter>
      <title>Abstract classes and interfaces</title>
      <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"/>
      <xi:include href="xml/clutter-action.xml"/>
      <xi:include href="xml/clutter-constraint.xml"/>
      <xi:include href="xml/clutter-effect.xml"/>
      <xi:include href="xml/clutter-content.xml"/>
    </chapter>

    <chapter>
      <title>Base actors</title>
      <xi:include href="xml/clutter-stage.xml"/>
      <xi:include href="xml/clutter-clone.xml"/>
      <xi:include href="xml/clutter-text.xml"/>
      <xi:include href="xml/clutter-scroll-actor.xml"/>
    </chapter>

    <chapter>
      <title>Layout managers</title>

      <xi:include href="xml/clutter-fixed-layout.xml"/>
      <xi:include href="xml/clutter-bin-layout.xml"/>
      <xi:include href="xml/clutter-flow-layout.xml"/>
      <xi:include href="xml/clutter-box-layout.xml"/>
      <xi:include href="xml/clutter-grid-layout.xml"/>
    </chapter>

    <chapter>
      <title>Actions</title>

      <xi:include href="xml/clutter-click-action.xml"/>
      <xi:include href="xml/clutter-drag-action.xml"/>
      <xi:include href="xml/clutter-drop-action.xml"/>
      <xi:include href="xml/clutter-gesture-action.xml"/>
      <xi:include href="xml/clutter-pan-action.xml"/>
      <xi:include href="xml/clutter-swipe-action.xml"/>
      <xi:include href="xml/clutter-rotate-action.xml"/>
      <xi:include href="xml/clutter-zoom-action.xml"/>
      <xi:include href="xml/clutter-tap-action.xml"/>
    </chapter>

    <chapter>
      <title>Constraints</title>

      <xi:include href="xml/clutter-align-constraint.xml"/>
      <xi:include href="xml/clutter-bind-constraint.xml"/>
      <xi:include href="xml/clutter-path-constraint.xml"/>
      <xi:include href="xml/clutter-snap-constraint.xml"/>
    </chapter>

    <chapter>
      <title>Effects</title>

      <xi:include href="xml/clutter-offscreen-effect.xml"/>
      <xi:include href="xml/clutter-shader-effect.xml"/>
      <xi:include href="xml/clutter-deform-effect.xml"/>

      <xi:include href="xml/clutter-blur-effect.xml"/>
      <xi:include href="xml/clutter-brightness-contrast-effect.xml"/>
      <xi:include href="xml/clutter-colorize-effect.xml"/>
      <xi:include href="xml/clutter-desaturate-effect.xml"/>
      <xi:include href="xml/clutter-page-turn-effect.xml"/>
    </chapter>

    <chapter>
      <title>Content</title>

      <xi:include href="xml/clutter-canvas.xml"/>
      <xi:include href="xml/clutter-image.xml"/>
    </chapter>

    <chapter>
      <title>Paint Objects</title>

      <xi:include href="xml/clutter-paint-node.xml"/>
      <xi:include href="xml/clutter-paint-nodes.xml"/>
    </chapter>

  </part>

  <part id="clutteranimation">
    <title>Clutter Animation Framework</title>

    <partintro>
      <para>Clutter has a fully extensible animation framework
      providing support for explicit and implicit animations of
      single actors as well as groups of actors.</para>
    </partintro>

    <chapter>
      <title>Base classes</title>

      <xi:include href="xml/clutter-timeline.xml"/>
      <xi:include href="xml/clutter-interval.xml"/>
      <xi:include href="xml/clutter-animatable.xml"/>
      <xi:include href="xml/clutter-transition.xml"/>
      <xi:include href="xml/clutter-property-transition.xml"/>
      <xi:include href="xml/clutter-keyframe-transition.xml"/>
      <xi:include href="xml/clutter-transition-group.xml"/>
    </chapter>

  </part>

  <part id="cluttertools">
    <title>Clutter Tools</title>

    <chapter>
      <title>General purpose API</title>

      <xi:include href="xml/clutter-color.xml"/>
      <xi:include href="xml/clutter-binding-pool.xml"/>
      <xi:include href="xml/clutter-device-manager.xml"/>
      <xi:include href="xml/clutter-event.xml"/>
      <xi:include href="xml/clutter-feature.xml"/>
      <xi:include href="xml/clutter-geometric-types.xml"/>
      <xi:include href="xml/clutter-input-device.xml"/>
      <xi:include href="xml/clutter-main.xml"/>
      <xi:include href="xml/clutter-path.xml"/>
      <xi:include href="xml/clutter-settings.xml"/>
      <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-cairo.xml"/>
      <xi:include href="xml/clutter-util.xml"/>
      <xi:include href="xml/clutter-version.xml"/>
    </chapter>

    <chapter>
      <title>User interface definition</title>

      <xi:include href="xml/clutter-script.xml"/>
      <xi:include href="xml/clutter-scriptable.xml"/>
    </chapter>

    <chapter>
      <title>Generic list model</title>

      <xi:include href="xml/clutter-model.xml"/>
      <xi:include href="xml/clutter-model-iter.xml"/>
      <xi:include href="xml/clutter-list-model.xml"/>
    </chapter>

  </part>

  <part id="clutterbackends">
    <title>Clutter Backends</title>

    <partintro>
      <para>Clutter is usually compiled against a specific drawing backend.
      All backends have a common API for querying the underlying platform,
      and some of them might have specific API exposed by Clutter.</para>
    </partintro>

    <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"/>
    <xi:include href="xml/clutter-mir.xml"/>
  </part>

  <part id="cally">
    <title>Accessibility</title>

    <partintro>
      <para>Clutter provides support for accessibility technologies by
      implementing the ATK interfaces. Since Clutter is a low-level tool
      kit, and developers are supposed to create more complex actor
      classes, we expose a low level API under the Cally namespace; this
      API can be used as the base to build more accessibility features
      inside custom derived ClutterActor classes.</para>
    </partintro>

    <chapter>
      <title>Base Classes</title>

      <xi:include href="xml/cally-actor.xml"/>
      <xi:include href="xml/cally-group.xml"/>
      <xi:include href="xml/cally-stage.xml"/>
      <xi:include href="xml/cally-texture.xml"/>
      <xi:include href="xml/cally-rectangle.xml"/>
      <xi:include href="xml/cally-text.xml"/>
      <xi:include href="xml/cally-clone.xml"/>
    </chapter>

    <chapter>
      <title>Utility API</title>

      <xi:include href="xml/cally.xml"/>
      <xi:include href="xml/cally-util.xml"/>
      <xi:include href="xml/cally-root.xml"/>

    </chapter>
  </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"/>
      <xi:include href="xml/clutter-table-layout.xml"/>
      <xi:include href="xml/clutter-texture.xml"/>
  </part>

  <part id="clutterobjects">
    <title>Clutter Actors and Objects</title>

    <chapter id="clutterobjecthierarchy">
      <title>Object Hierarchy</title>

      <xi:include href="xml/tree_index.sgml"><xi:fallback /></xi:include>
    </chapter>

    <chapter id="clutterobjectindex">
      <title>Object Index</title>

      <xi:include href="xml/object_index.sgml"><xi:fallback /></xi:include>
    </chapter>
  </part>

  <part id="clutterglossary">
    <title>Glossaries</title>

    <xi:include href="xml/glossary.xml"><xi:fallback /></xi:include>
    <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
  </part>

  <index>
    <title>Index of all symbols</title>
    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
  </index>

  <index role="deprecated">
    <title>Index of deprecated symbols</title>
    <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>

  <index role="1.16">
    <title>Index of new symbols in 1.16</title>
    <xi:include href="xml/api-index-1.16.xml"><xi:fallback /></xi:include>
  </index>

  <index role="1.18">
    <title>Index of new symbols in 1.18</title>
    <xi:include href="xml/api-index-1.18.xml"><xi:fallback /></xi:include>
  </index>

  <index role="1.20">
    <title>Index of new symbols in 1.20</title>
    <xi:include href="xml/api-index-1.20.xml"><xi:fallback /></xi:include>
  </index>

  <index role="1.22">
    <title>Index of new symbols in 1.22</title>
    <xi:include href="xml/api-index-1.22.xml"><xi:fallback /></xi:include>
  </index>

  <index role="1.24">
    <title>Index of new symbols in 1.24</title>
    <xi:include href="xml/api-index-1.24.xml"><xi:fallback /></xi:include>
  </index>

  <index role="1.26">
    <title>Index of new symbols in 1.26</title>
    <xi:include href="xml/api-index-1.26.xml"><xi:fallback /></xi:include>
  </index>

  <appendix id="license">
    <title>License</title>

    <para>
      This library is free software; you can redistribute it and/or
      modify it under the terms of the <citetitle>GNU Library General
      Public License</citetitle> as published by the Free Software
      Foundation; either version 2 of the License, or (at your option)
      any later version.
    </para>

    <para>
      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
      <citetitle>GNU Library General Public License</citetitle> for
      more details.
    </para>

    <para>
      You may obtain a copy of the <citetitle>GNU Library General
      Public License</citetitle> from the Free Software Foundation by
      visiting <ulink type="http" url="http://www.fsf.org">their Web
      site</ulink> or by writing to:

      <address>
        Free Software Foundation, Inc.
        <street>59 Temple Place</street> - Suite 330
        <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
        <country>USA</country>
      </address>
    </para>
  </appendix>

</book>
