]> Clutter &version; Reference Manual Version &version; 2008 OpenedHand LTD Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, 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 GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to:
The Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Clutter Overview Clutter is a GObject based library for creating fast, visually rich graphical user interfaces. Clutter essentially works by manipulating a scene graph of 2D surfaces (actors) in 3D space. #ClutterActor is the base class for such surfaces. All #ClutterActors can we positioned and rotated in 3D space, scaled, clipped, have children, have there opacity and origin set. Tranforms applied to a parent actor also apply to any children. Actors are also able to receive events. Sub classes of #ClutterActor include #ClutterStage, #ClutterTexture, #ClutterLabel, #ClutterRectangle, #ClutterStage, #ClutterEntry and #ClutterGroup. #ClutterActors are added to a parent, transformed and the made visible. #ClutterStage is the top level #ClutterActor - its essentially a window or framebuffer. It is created automatically when Clutter is initialised. #ClutterStage is a #ClutterGroup, a class implementing the #ClutterCointainer interface. Clutter currently only supports a single stage. #ClutterTimeline's provide the basis for Clutters animation utilitys. Building on this include the #ClutterScore, for syncronising multiple timelines and the #ClutterBehaviour's and #ClutterEffect's for creating animation effects such as transitions. 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 and #ClutterFixed - fixed point math utilitys Building Clutter Clutter depends on the following libraries: GLib A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. GObject The GLib Object System provides the required implementations of a flexible, extensible and intentionally easy to map (into other languages) object-oriented framework for C. Pango Pango is a library for laying out and rendering of text, with an emphasis on internationalization. GDK-Pixbuf GDK-Pixbuf is a library for loading and manipulating various image file formats. Backend Windowing System Library GLX, EGL (1.1), SDL and Cocoa (OS X) Graphics Rendering Open GL (1.2+) ir Open GL ES (1.1) FIXME: Linux, Windows, OSX. Embedded? Clutter Core Reference Abstract classes and interfaces Base actors Container actors Clutter Animation Support Base classes Behaviours Simple effects API Clutter Tools General purpose API User interface definition Generic list model Clutter Backends 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. Additional Documentation This section contains additional useful documentation for developing with Clutter. &clutter-SubclassingActor; &clutter-animation; &creating-your-own-behaviours; Index Index of deprecated symbols Index of new symbols in 0.2 Index of new symbols in 0.4 Index of new symbols in 0.6 License This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 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 GNU Library General Public License for more details. You may obtain a copy of the GNU Library General Public License from the Free Software Foundation by visiting their Web site or by writing to:
Free Software Foundation, Inc. 59 Temple Place - Suite 330 Boston, MA 02111-1307 USA