## X11 Texture From Pixmap

X11 Texture From Pixmap — Functions for creating and manipulating 2D meta textures derived from X11 pixmaps.

## Synopsis

    #define             cogl_texture_pixmap_x11_new
    #define             cogl_texture_pixmap_x11_update_area
    #define             cogl_texture_pixmap_x11_is_using_tfp_extension
    #define             cogl_texture_pixmap_x11_set_damage_object
    #define             cogl_is_texture_pixmap_x11

## Description

These functions allow high-level meta textures (See the CoglMetaTexture interface) that derive their contents from an X11 pixmap.

## Details

### cogl_texture_pixmap_x11_new

    #define cogl_texture_pixmap_x11_new cogl_texture_pixmap_x11_new_EXP

Creates a texture that contains the contents of `pixmap`. If `automatic_updates` is `TRUE` then Cogl will attempt to listen for damage events on the pixmap and automatically update the texture when it changes.

`pixmap` : | A X11 pixmap ID
`automatic_updates` : | Whether to automatically copy the contents of the pixmap to the texture.
Returns : | a CoglHandle to a texture

Since 1.4

Stability Level: Unstable

### cogl_texture_pixmap_x11_update_area

    #define             cogl_texture_pixmap_x11_update_area

Forces an update of the texture pointed to by `handle` so that it is refreshed with the contents of the pixmap that was given to `cogl_texture_pixmap_x11_new()`.

`handle` : | A CoglHandle to a CoglTexturePixmapX11 instance
`x` : | x coordinate of the area to update
`y` : | y coordinate of the area to update
`width` : | width of the area to update
`height` : | height of the area to update

Since 1.4

Stability Level: Unstable

### cogl_texture_pixmap_x11_is_using_tfp_extension

    #define             cogl_texture_pixmap_x11_is_using_tfp_extension

Checks whether the texture is using the GLX_EXT_texture_from_pixmap or similar extension to copy the contents of the pixmap to the texture. This extension is usually implemented as zero-copy operation so it implies the updates are working efficiently.

`handle` : | A CoglHandle to a CoglTexturePixmapX11 instance
Returns : | `TRUE` if the texture is using an efficient extension and `FALSE` otherwise

Since 1.4

Stability Level: Unstable

### cogl_texture_pixmap_x11_set_damage_object

    #define             cogl_texture_pixmap_x11_set_damage_object

Sets the damage object that will be used to track automatic updates to the texture. Damage tracking can be disabled by passing 0 for `damage`. Otherwise this damage will replace the one used if `TRUE` was passed for automatic_updates to `cogl_texture_pixmap_x11_new()`.

Note that Cogl will subtract from the damage region as it processes damage events.

`handle` : | A CoglHandle
`damage` : | A X11 Damage object or 0
`report_level` : | The report level which describes how to interpret the damage events. This should match the level that the damage object was created with.

Since 1.4

Stability Level: Unstable

### cogl_is_texture_pixmap_x11

    #define cogl_is_texture_pixmap_x11 cogl_is_texture_pixmap_x11_EXP

Checks whether `handle` points to a CoglTexturePixmapX11 instance.

`handle` : | A CoglHandle
Returns : | `TRUE` if the handle is a CoglTexturePixmapX11, and `FALSE` otherwise

Since 1.4

Stability Level: Unstable