Features: Clutter Reference Manual

## Features Features — Run-time detection of Clutter features |

## Functions

gboolean | clutter_feature_available ()
ClutterFeatureFlags | clutter_feature_get_all ()

## Types and Values

enum | ClutterFeatureFlags

## Description

Parts of Clutter depend on the underlying platform, including the capabilities of the backend used and the OpenGL features exposed through the Clutter and COGL API.

It is possible to ask whether Clutter has support for specific features at run-time.

See also `cogl_get_features()` and CoglFeatureFlags

## Functions

### clutter_feature_available ()

    gboolean
    clutter_feature_available (ClutterFeatureFlags feature);

Checks whether `feature` is available. `feature` can be a logical OR of ClutterFeatureFlags.

#### Parameters

feature | a ClutterFeatureFlags |

#### Returns

`TRUE` if a feature is available

Since 0.2

### clutter_feature_get_all ()

    ClutterFeatureFlags
    clutter_feature_get_all (void);

Returns all the supported features.

#### Returns

a logical OR of all the supported features.

Since 0.2

## Types and Values

### enum ClutterFeatureFlags

Runtime flags indicating specific features available via Clutter window system and graphics backend.

#### Members

CLUTTER_FEATURE_TEXTURE_NPOT | Set if NPOTS textures supported. |
CLUTTER_FEATURE_SYNC_TO_VBLANK | Set if vblank syncing supported. |
CLUTTER_FEATURE_TEXTURE_YUV | Set if YUV based textures supported. |
CLUTTER_FEATURE_TEXTURE_READ_PIXELS | Set if texture pixels can be read. |
CLUTTER_FEATURE_STAGE_STATIC | Set if stage size if fixed (i.e framebuffer) |
CLUTTER_FEATURE_STAGE_USER_RESIZE | Set if stage is able to be user resized. |
CLUTTER_FEATURE_STAGE_CURSOR | Set if stage has a graphical cursor. |
CLUTTER_FEATURE_SHADERS_GLSL | Set if the backend supports GLSL shaders. |
CLUTTER_FEATURE_OFFSCREEN | Set if the backend supports offscreen rendering. |
CLUTTER_FEATURE_STAGE_MULTIPLE | Set if multiple stages are supported. |
CLUTTER_FEATURE_SWAP_EVENTS | Set if the GLX_INTEL_swap_event is supported. |

Since 0.4