<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-clutter" xml:lang="fr">

  <info>
    <link type="guide" xref="tech" group="clutter"/>
    <revision pkgversion="3.0" date="2011-04-05" status="incomplete"/>

    <credit type="author copyright">
      <name>Shaun McCance</name>
      <email its:translate="no">shaunm@gnome.org</email>
      <years>2011–2012</years>
    </credit>

    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>

    <desc>Animations and scene graph</desc>
  </info>

<title>Clutter</title>

<p>Clutter is a library for doing animations and using a 2.5-D canvas.
You create graphical objects out of images, and you can manipulate
them later to move them, rotate them, or give them quasi-3D
effects.</p>

<p>Clutter utilise <link href="http://www.khronos.org/opengl/">OpenGL</link> et <link href="http://www.khronos.org/opengles/">OpenGL|ES</link> pour bénéficier de l'accélération de la carte graphique, sans pour autant exposer la complexité de la programmation d'un GPU.</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 <em>actors</em>) on the main viewport (or <em>stage</em>).</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="tech-cairo">Cairo</link> API. Clutter also provides generic
  classes for structuring a user interface using both a box-packing model like
  <link xref="tech-gtk">GTK</link>, and a series of free-form
  <em>constraints</em>.</p>

<p>Clutter fournit un cadre applicatif extensible d'animations et des effets graphiques. Une animation est associée à un axe temporel et modifie une ou plusieurs propriétés d'un ou plusieurs acteurs au cours du temps, par exemple leur rotation dans un certain sens, l'échelle, la taille, l'opacité, 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="https://developer.gnome.org/clutter-cookbook/stable/">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>
