## ClutterX11TexturePixmap

ClutterX11TexturePixmap — A texture which displays the content of an X Pixmap.

## Synopsis

    struct              ClutterX11TexturePixmap;
    struct              ClutterX11TexturePixmapClass;
    ClutterActor *      clutter_x11_texture_pixmap_new      (void);
    ClutterActor *      clutter_x11_texture_pixmap_new_with_pixmap
                                                            (Pixmap pixmap);
    ClutterActor *      clutter_x11_texture_pixmap_new_with_window
                                                            (Window window);
    void                clutter_x11_texture_pixmap_set_pixmap
                                                            (ClutterX11TexturePixmap *texture,
                                                             Pixmap pixmap);
    void                clutter_x11_texture_pixmap_set_window
                                                            (ClutterX11TexturePixmap *texture,
                                                             Window window,
                                                             gboolean automatic);
    void                clutter_x11_texture_pixmap_sync_window
                                                            (ClutterX11TexturePixmap *texture);
    void                clutter_x11_texture_pixmap_update_area
                                                            (ClutterX11TexturePixmap *texture,
                                                             gint x,
                                                             gint y,
                                                             gint width,
                                                             gint height);
    void                clutter_x11_texture_pixmap_set_automatic
                                                            (ClutterX11TexturePixmap *texture,
                                                             gboolean setting);

## Description

ClutterX11TexturePixmap is a class for displaying the content of an X Pixmap as a ClutterActor. Used together with the X Composite extension, it allows to display the content of X Windows inside Clutter.

The class uses the GLX_EXT_texture_from_pixmap OpenGL extension (http://people.freedesktop.org/~davidr/GLX_EXT_texture_from_pixmap.txt) if available

## Details

### struct ClutterX11TexturePixmap

    struct ClutterX11TexturePixmap {
    };

The ClutterX11TexturePixmap structure contains only private data

Since 0.8

### struct ClutterX11TexturePixmapClass

    struct ClutterX11TexturePixmapClass {
      void (* update_area) (ClutterX11TexturePixmap *texture,
                            gint                     x,
                            gint                     y,
                            gint                     width,
                            gint                     height);
    };

The ClutterX11TexturePixmapClass structure contains only private data

`update_area` () | virtual function for updating the area of the texture

Since 0.8

### clutter_x11_texture_pixmap_new ()

    ClutterActor *      clutter_x11_texture_pixmap_new      (void);

Creates a new ClutterX11TexturePixmap which can be used to display the contents of an X11 Pixmap inside a Clutter scene graph

Returns : | A new ClutterX11TexturePixmap

Since 0.8

### clutter_x11_texture_pixmap_new_with_pixmap ()

    ClutterActor *      clutter_x11_texture_pixmap_new_with_pixmap
                                                            (Pixmap pixmap);

Creates a new ClutterX11TexturePixmap for `pixmap`

`pixmap` : | the X Pixmap to which this texture should be bound
Returns : | A new ClutterX11TexturePixmap bound to the given X Pixmap

Since 0.8

### clutter_x11_texture_pixmap_new_with_window ()

    ClutterActor *      clutter_x11_texture_pixmap_new_with_window
                                                            (Window window);

Creates a new ClutterX11TexturePixmap for `window`

`window` : | the X window to which this texture should be bound
Returns : | A new ClutterX11TexturePixmap bound to the given X window.

Since 0.8

### clutter_x11_texture_pixmap_set_pixmap ()

    void                clutter_x11_texture_pixmap_set_pixmap
                                                            (ClutterX11TexturePixmap *texture,
                                                             Pixmap pixmap);

Sets the X Pixmap to which the texture should be bound.

`texture` : | the texture to bind
`pixmap` : | the X Pixmap to which the texture should be bound

Since 0.8

### clutter_x11_texture_pixmap_set_window ()

    void                clutter_x11_texture_pixmap_set_window
                                                            (ClutterX11TexturePixmap *texture,
                                                             Window window,
                                                             gboolean automatic);

Sets up a suitable pixmap for the window, using the composite and damage extensions if possible, and then calls `clutter_x11_texture_pixmap_set_pixmap()`.

If you want to display a window in a ClutterTexture, you probably want this function, or its older sister, `clutter_glx_texture_pixmap_set_window()`

`texture` : | the texture to bind
`window` : | the X window to which the texture should be bound
`automatic` : | `TRUE` for automatic window updates, `FALSE` for manual.

Since 0.8

### clutter_x11_texture_pixmap_sync_window ()

    void                clutter_x11_texture_pixmap_sync_window
                                                            (ClutterX11TexturePixmap *texture);

Resets the texture's pixmap from its window, perhaps in response to the pixmap's invalidation as the window changed size.

`texture` : | the texture to bind

Since 0.8

### clutter_x11_texture_pixmap_update_area ()

    void                clutter_x11_texture_pixmap_update_area
                                                            (ClutterX11TexturePixmap *texture,
                                                             gint x,
                                                             gint y,
                                                             gint width,
                                                             gint height);

Performs the actual binding of texture to the current content of the pixmap. Can be called to update the texture if the pixmap content has changed.

`texture` : | The texture whose content shall be updated.
`x` : | the X coordinate of the area to update
`y` : | the Y coordinate of the area to update
`width` : | the width of the area to update
`height` : | the height of the area to update

Since 0.8

### clutter_x11_texture_pixmap_set_automatic ()

    void                clutter_x11_texture_pixmap_set_automatic
                                                            (ClutterX11TexturePixmap *texture,
                                                             gboolean setting);

Enables or disables the automatic updates ot `texture` in case the backing pixmap or window is damaged

`texture` : | a ClutterX11TexturePixmap
`setting` : | `TRUE` to enable automatic updates

Since 0.8