Clutter Reference Manual: ClutterX11TexturePixmap

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

## Functions

ClutterActor * | clutter_x11_texture_pixmap_new ()
ClutterActor * | clutter_x11_texture_pixmap_new_with_pixmap ()
ClutterActor * | clutter_x11_texture_pixmap_new_with_window ()
void | clutter_x11_texture_pixmap_set_pixmap ()
void | clutter_x11_texture_pixmap_set_window ()
void | clutter_x11_texture_pixmap_sync_window ()
void | clutter_x11_texture_pixmap_update_area ()
void | clutter_x11_texture_pixmap_set_automatic ()

## Types and Values

struct | ClutterX11TexturePixmap
struct | ClutterX11TexturePixmapClass

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

## Functions

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

#### Parameters

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`

#### Parameters

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.

#### Parameters

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

This function has no effect unless the XComposite extension is available.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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

#### Parameters

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

Since 0.8

## Types and Values

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

#### Members

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

Since 0.8