GL Features
3
CLUTTER Library

# GL Features

Query GL features at runtime

## Synopsis

    enum                ClutterFeatureFlags;
    gboolean            clutter_feature_available           (ClutterFeatureFlags feature);
    ClutterFeatureFlags  clutter_feature_get_all            (void);

## Description

Functions to query available GL features ay runtime

## Details

### enum ClutterFeatureFlags

    typedef enum
    {
      CLUTTER_FEATURE_TEXTURE_NPOT           = (1 << 2),
      CLUTTER_FEATURE_SYNC_TO_VBLANK         = (1 << 3),
      CLUTTER_FEATURE_TEXTURE_YUV            = (1 << 4),
      CLUTTER_FEATURE_TEXTURE_READ_PIXELS    = (1 << 5),
      CLUTTER_FEATURE_STAGE_STATIC           = (1 << 6),
      CLUTTER_FEATURE_STAGE_USER_RESIZE      = (1 << 7),
      CLUTTER_FEATURE_STAGE_CURSOR           = (1 << 8),
      CLUTTER_FEATURE_SHADERS_GLSL           = (1 << 9),
      CLUTTER_FEATURE_OFFSCREEN              = (1 << 10),
      CLUTTER_FEATURE_STAGE_MULTIPLE         = (1 << 11)
    } ClutterFeatureFlags;

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

`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.

Since 0.4

### clutter_feature_available ()

    gboolean            clutter_feature_available           (ClutterFeatureFlags feature);

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

`feature` :

  a ClutterFeatureFlags

Returns :

  `TRUE` if a feature is available

Since 0.1.1

### 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.1.1