mirror of
https://github.com/brl/mutter.git
synced 2024-12-29 14:22:13 +00:00
67bf902022
Since we only have one API reference, we can drop the clutter/ sub-level, and have all the files under doc/reference.
63 lines
2.6 KiB
XML
63 lines
2.6 KiB
XML
<part id="clutter-overview">
|
|
<partinfo>
|
|
<author>
|
|
<firstname>Emmanuele</firstname>
|
|
<surname>Bassi</surname>
|
|
<affiliation>
|
|
<address>
|
|
<email>ebassi@openedhand.com</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
</partinfo>
|
|
|
|
<title>Overview</title>
|
|
|
|
<partintro>
|
|
|
|
<para>Clutter is a GObject based library for creating fast, visually
|
|
rich, graphical user interfaces.</para>
|
|
|
|
<para>Clutter works by manipulating a scene-graph of 2D surfaces, or
|
|
'actors', inside a 3D space.</para>
|
|
|
|
<para>#ClutterActor is the base class for such surfaces. All
|
|
#ClutterActor<!-- -->s 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.</para>
|
|
|
|
<para>Subclasses of #ClutterActor include #ClutterStage, #ClutterTexture,
|
|
#ClutterText, #ClutterRectangle, #ClutterCairoTexture, #ClutterGroup and
|
|
#ClutterBox. #ClutterActor<!-- -->s are added to a parent, transformed
|
|
and then made visible.</para>
|
|
|
|
<para>#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 #ClutterContainer interface.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>#ClutterTimeline<!-- -->s provide the basis for Clutter's animation
|
|
utilities. #ClutterActor<!-- -->s 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.</para>
|
|
|
|
<para>Clutter further contains a number of utilities, including;
|
|
#ClutterScript - for loading 'UI definition' files formatted in
|
|
<ulink type="http" url="http://json.org">JSON</ulink>; #ClutterShader - a
|
|
class for applying GPU shaders to actors, #ClutterModel - a utility class
|
|
for MVC list type implementations; #ClutterAction<!-- -->s,
|
|
#ClutterConstraint<!-- -->s and #ClutterEffect<!-- -->s.</para>
|
|
|
|
</partintro>
|
|
|
|
</part>
|