# Io Reference

UserInterface / Clutter / Clutter

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, ClutterLabel, ClutterRectangle, ClutterEntry and ClutterGroup. 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.

ClutterTimelines provide the basis for Clutter's animation utilities. Multiple timelines can be synchronised using ClutterScore, and ClutterBehaviour and ClutterEffect allow for the creation of 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 fixed point math utilities.

For detailed docs, see clutter-project.

AXIS

Contains all CLUTTER_AXIS_* constants.
DEVICE_TYPE

Contains all CLUTTER_TYPE_* constants.
EVENT

Contains all Clutter event type constants.
EVENT_FLAG

Contains all CLUTTER_EVENT_FLAG_* constants.
GRAVITY

Contains all CLUTTER_GRAVITY_* constants.
MASK

Contains all CLUTTER_*_MASK constants.
SCROLL

Contains all CLUTTER_SCROLL_* constants.
SHADER_ERROR

Contains all CLUTTER_SHADER_ERROR_* constants.
STAGE_STATE

Contains all CLUTTER_STAGE_STATE_* constants.
UNIT

Contains all CLUTTER_UNIT_* constants.
clearGlyphCache

cogl

currentEventTime

disableMotionEvents

enableMotionEvents

flavour

fontHinting

Returns `true` if `CLUTTER_FONT_HINTING` is set.
getActorByGid(gid)

getDefaultFrameRate

getKeyboardGrab

getPointerGrab

grabKeyboard(actor)

grabPointer(actor[, deviceId])

initThreads

isFpsShown

keySymbolToUnicode(symbol)

main

Calls clutter_main() which starts GMainLoop.
mainLevel

motionEventsEnabled

Returns true if motion events are enabled.
quitMain

setDefaultFrameRate(frameRate)

setFontHinting(useFontHinting)

If `useFontHinting` is `false`, `CLUTTER_FONT_MIPMAPPING` flag will be used.
setSharedInt(firstInt, ...)

threadEnter

threadLeave

ungrabKeyboard

ungrabPointer

version