<page xmlns="http://projectmallard.org/1.0/"
      type="topic"
      id="clutter">
<info>
  <link type="guide" xref="index" group="clutter"/>
  <desc>Stunning graphics and animations with a scene-graph API</desc>
  <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>
</info>

<title>Clutter</title>

<p>Clutter is a library that allows creating fast, portable, dynamic,
compelling user interfaces.</p>

<p>Clutter uses the <link href="http://www.khronos.org/opengl/">OpenGL</link>
and <link href="http://www.khronos.org/opengles/">OpenGL|ES</link> industry
standard API to access the accelerated graphical hardware on both desktop and
mobile environments alike, without exposing the complexities of GPU pipeline
programming.</p>

<p>Clutter does not specify any visual style, and does not provide any
pre-defined complex user interface control; it lets the developer define what
is needed, using a flexible scene graph API, with free-form placement of the
scene elements (or "actors") on the main viewport (or "stage").</p>

<p>Clutter comes with pre-defined actors for displaying solid colors,
image data, text and custom high-precision 2D drawing using the <link
xref="cairo">Cairo</link> API. Clutter also provides generic classes
for structuring a user interface using both a box-packing model like
<link xref="gtk">GTK+</link>, and a series of free-form
"constraints".</p>

<p>Clutter provides an extensible animation framework and graphical
effects. An animation is associated with a timeline and changes one or
more properties of one or more actors over time, for example their
rotation in a particular dimension, scale, size, opacity, etc.</p>

<p>A number of third-party libraries allow integration with other
technologies, such as: Clutter-GTK, for embedding a Clutter stage inside a
GTK+ application; Clutter-GStreamer, for embedding GStreamer video and audio
pipelines; Clutter-Box2D and Clutter-Bullet, for adding physics interaction
in both 2D and 3D environments.</p>

<list style="compact">
  <item><p><link href="http://docs.clutter-project.org/docs/clutter-cookbook/1.0/">The Clutter Cookbook</link></p></item>
  <item><p><link href="http://developer.gnome.org/clutter/stable">Clutter Reference Manual</link></p></item>
  <item><p><link href="http://www.clutter-project.org">The Clutter web site</link></p></item>
</list>

</page>
