Cogl 2.0 Reference Manual | ||||
---|---|---|---|---|
Top | Description |
X11 Texture From PixmapX11 Texture From Pixmap — Functions for creating and manipulating 2D meta textures derived from X11 pixmaps. |
CoglTexturePixmapX11; CoglBool cogl_is_texture_pixmap_x11 (void *object
); CoglTexturePixmapX11 * cogl_texture_pixmap_x11_new (CoglContext *context
,uint32_t pixmap
,CoglBool automatic_updates
,CoglError **error
); void cogl_texture_pixmap_x11_update_area (CoglTexturePixmapX11 *texture
,int x
,int y
,int width
,int height
); CoglBool cogl_texture_pixmap_x11_is_using_tfp_extension (CoglTexturePixmapX11 *texture
); enum CoglTexturePixmapX11ReportLevel; void cogl_texture_pixmap_x11_set_damage_object (CoglTexturePixmapX11 *texture
,uint32_t damage
,CoglTexturePixmapX11ReportLevel report_level
);
These functions allow high-level meta textures (See the CoglMetaTexture interface) that derive their contents from an X11 pixmap.
CoglBool cogl_is_texture_pixmap_x11 (void *object
);
Checks whether object
points to a CoglTexturePixmapX11 instance.
|
A pointer to a CoglObject |
Returns : |
TRUE if the object is a CoglTexturePixmapX11, and
FALSE otherwise |
Since 1.4
Stability Level: Unstable
CoglTexturePixmapX11 * cogl_texture_pixmap_x11_new (CoglContext *context
,uint32_t pixmap
,CoglBool automatic_updates
,CoglError **error
);
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.
|
A CoglContext |
|
A X11 pixmap ID |
|
Whether to automatically copy the contents of the pixmap to the texture. |
|
A CoglError for exceptions |
Returns : |
a new CoglTexturePixmapX11 instance |
Since 1.10
Stability Level: Unstable
void cogl_texture_pixmap_x11_update_area (CoglTexturePixmapX11 *texture
,int x
,int y
,int width
,int height
);
Forces an update of the given texture
so that it is refreshed with
the contents of the pixmap that was given to
cogl_texture_pixmap_x11_new()
.
|
A CoglTexturePixmapX11 instance |
|
x coordinate of the area to update |
|
y coordinate of the area to update |
|
width of the area to update |
|
height of the area to update |
Since 1.4
Stability Level: Unstable
CoglBool cogl_texture_pixmap_x11_is_using_tfp_extension
(CoglTexturePixmapX11 *texture
);
Checks whether the given 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.
|
A CoglTexturePixmapX11 instance |
Returns : |
TRUE if the texture is using an efficient extension
and FALSE otherwise |
Since 1.4
Stability Level: Unstable
typedef enum { COGL_TEXTURE_PIXMAP_X11_DAMAGE_RAW_RECTANGLES, COGL_TEXTURE_PIXMAP_X11_DAMAGE_DELTA_RECTANGLES, COGL_TEXTURE_PIXMAP_X11_DAMAGE_BOUNDING_BOX, COGL_TEXTURE_PIXMAP_X11_DAMAGE_NON_EMPTY } CoglTexturePixmapX11ReportLevel;
void cogl_texture_pixmap_x11_set_damage_object (CoglTexturePixmapX11 *texture
,uint32_t damage
,CoglTexturePixmapX11ReportLevel report_level
);
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.
|
A CoglTexturePixmapX11 instance |
|
A X11 Damage object or 0 |
|
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