Emmanuele
Bassi
ebassi@openedhand.com
Overview
Clutter is a GObject based library for creating fast, visually
rich, graphical user interfaces.
Clutter works by manipulating a scene-graph of 2D surfaces, or
'actors', inside a 3D space.
#ClutterActor is the base class for such surfaces. All
#ClutterActors can be positioned, scaled and rotated in 3D space.
In addition, other properties can be set, such as 2D clipping, children and
opacity. Tranforms applied to a parent actor also apply to any children.
Actors are also able to receive events.
Subclasses of #ClutterActor include #ClutterStage, #ClutterTexture,
#ClutterText, #ClutterRectangle, #ClutterCairoTexture, #ClutterGroup and
#ClutterBox. #ClutterActors are added to a parent, transformed
and then made visible.
#ClutterStage is the top level #ClutterActor - it's the
representation of a window, or framebuffer. It is created automatically
when Clutter is initialised. #ClutterStage is a #ClutterGroup, a class
implementing the #ClutterCointainer interface.
Clutter allows explicit positioning and sizing through the
#ClutterFixedLayout layout manager; and implicit positioning and sizing
through fluid layout managers like #ClutterBoxLayout, #ClutterFlowLayout
and #ClutterTableLayout. Actors inside fixed layout managers like
#ClutterGroup and #ClutterStage can also be positioned and sized implicitly
using the #ClutterConstraint sub-classes.
#ClutterTimelines provide the basis for Clutter's animation
utilities. #ClutterActors can be animated using explicit animations
through the various #ClutterBehaviour implementations, or implicit
animations, through the clutter_actor_animate() function. Animations can
also be defined as named states through the #ClutterState class.
Clutter further contains a number of utilities, including;
#ClutterScript - for loading 'UI definition' files formatted in
JSON; #ClutterShader - a
class for applying GPU shaders to actors, #ClutterModel - a utility class
for MVC list type implementations; #ClutterActions,
#ClutterConstraints and #ClutterEffects.