![]() |
![]() |
![]() |
Clutter 0.4 Reference Manual | ![]() |
---|---|---|---|---|
enum ClutterTextureFlags; ClutterActor* clutter_texture_new (void); ClutterActor* clutter_texture_new_from_pixbuf (GdkPixbuf *pixbuf); #define CLUTTER_TEXTURE_ERROR enum ClutterTextureError; gboolean clutter_texture_set_from_rgb_data (ClutterTexture *texture, const guchar *data, gboolean has_alpha, gint width, gint height, gint rowstride, gint bpp, ClutterTextureFlags flags, GError **error); gboolean clutter_texture_set_from_yuv_data (ClutterTexture *texture, const guchar *data, gint width, gint height, ClutterTextureFlags flags, GError **error); gboolean clutter_texture_set_pixbuf (ClutterTexture *texture, GdkPixbuf *pixbuf, GError **error); GdkPixbuf* clutter_texture_get_pixbuf (ClutterTexture *texture); void clutter_texture_get_base_size (ClutterTexture *texture, gint *width, gint *height); void clutter_texture_bind_tile (ClutterTexture *texture, gint index_); void clutter_texture_get_n_tiles (ClutterTexture *texture, gint *n_x_tiles, gint *n_y_tiles); void clutter_texture_get_x_tile_detail (ClutterTexture *texture, gint x_index, gint *pos, gint *size, gint *waste); void clutter_texture_get_y_tile_detail (ClutterTexture *texture, gint y_index, gint *pos, gint *size, gint *waste); gboolean clutter_texture_has_generated_tiles (ClutterTexture *texture); gboolean clutter_texture_is_tiled (ClutterTexture *texture);
ClutterTexture is a base class for displaying and manipulating pixel buffer type data.
The clutter_texture_set_from_rgb_data()
and clutter_texture_set_pixbuf()
functions are used to copy image data into texture memory and subsequently
realize the the texture.
If texture reads are supported by underlying GL implementation, unrealizing/hiding frees image data from texture memory moving to main system memory. Re-realizing then performs the opposite operation. This process allows basic management of commonly limited available texture memory.
typedef enum { /*< prefix=CLUTTER_TEXTURE >*/ CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1, CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */ CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3 /* FIXME: add compressed types ? */ } ClutterTextureFlags;
Flags for clutter_texture_set_from_rgb_data()
and
clutter_texture_set_from_rgb_data()
.
CLUTTER_TEXTURE_RGB_FLAG_BGR |
FIXME |
CLUTTER_TEXTURE_RGB_FLAG_PREMULT |
FIXME |
CLUTTER_TEXTURE_YUV_FLAG_YUV2 |
FIXME |
Since 0.4
ClutterActor* clutter_texture_new (void);
Creates a new empty ClutterTexture object.
Returns : | A newly created ClutterTexture object. |
ClutterActor* clutter_texture_new_from_pixbuf (GdkPixbuf *pixbuf);
Creates a new ClutterTexture object.
pixbuf : |
A GdkPixbuf |
Returns : | A newly created ClutterTexture object. |
typedef enum { CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY, CLUTTER_TEXTURE_ERROR_NO_YUV } ClutterTextureError;
Error enumeration for ClutterTexture
CLUTTER_TEXTURE_ERROR_OUT_OF_MEMORY |
OOM condition |
CLUTTER_TEXTURE_ERROR_NO_YUV |
YUV operation attempted but no YUV support found |
Since 0.4
gboolean clutter_texture_set_from_rgb_data (ClutterTexture *texture, const guchar *data, gboolean has_alpha, gint width, gint height, gint rowstride, gint bpp, ClutterTextureFlags flags, GError **error);
Sets ClutterTexture image data.
texture : |
A ClutterTexture |
data : |
Image data in RGB type colorspace. |
has_alpha : |
Set to TRUE if image data has a alpha channel. |
width : |
Width in pixels of image data. |
height : |
Height in pixels of image data |
rowstride : |
Distance in bytes between row starts. |
bpp : |
bytes per pixel ( Currently only 4 supported ) |
flags : |
ClutterTextureFlags |
error : |
FIXME. |
Returns : | TRUE on success, FALSE on failure. Since 0.4. This function is likely to change in future versions. |
gboolean clutter_texture_set_from_yuv_data (ClutterTexture *texture, const guchar *data, gint width, gint height, ClutterTextureFlags flags, GError **error);
Sets a ClutterTexture from YUV image data. If an error occurred,
FALSE
is returned and error
is set.
This function is likely to change in future versions.
texture : |
A ClutterTexture |
data : |
Image data in RGB type colorspace. |
width : |
Width in pixels of image data. |
height : |
Height in pixels of image data |
flags : |
ClutterTextureFlags |
error : |
Return location for a GError, or NULL .
|
Returns : | TRUE if the texture was successfully updated
Since 0.4.
|
gboolean clutter_texture_set_pixbuf (ClutterTexture *texture, GdkPixbuf *pixbuf, GError **error);
Sets a ClutterTexture image data from a GdkPixbuf. In case of
failure, FALSE
is returned and error
is set.
texture : |
A ClutterTexture |
pixbuf : |
A GdkPixbuf |
error : |
Return location for a GError, or NULL
|
Returns : | TRUE if the pixbuf was successfully set
|
Since 0.4
GdkPixbuf* clutter_texture_get_pixbuf (ClutterTexture *texture);
Gets a GdkPixbuf representation of the ClutterTexture data. The created GdkPixbuf is not owned by the texture but the caller.
texture : |
A ClutterTexture |
Returns : | A GdkPixbuf |
void clutter_texture_get_base_size (ClutterTexture *texture, gint *width, gint *height);
Gets the size in pixels of the untransformed underlying texture pixbuf data.
texture : |
A ClutterTexture |
width : |
Pointer to gint to be populated with width value if non NULL. |
height : |
Pointer to gint to be populated with height value if non NULL. |
void clutter_texture_bind_tile (ClutterTexture *texture, gint index_);
Proxys a call to glBindTexture a to bind an internal 'tile'.
This function is only useful for sub class implementations and never should be called by an application.
texture : |
A ClutterTexture |
index_ : |
Tile index to bind |
void clutter_texture_get_n_tiles (ClutterTexture *texture, gint *n_x_tiles, gint *n_y_tiles);
Retreives internal tile dimentioning.
This function is only useful for sub class implementations and never should be called by an application.
texture : |
A ClutterTexture |
n_x_tiles : |
Location to store number of tiles in horizonally axis |
n_y_tiles : |
Location to store number of tiles in vertical axis |
void clutter_texture_get_x_tile_detail (ClutterTexture *texture, gint x_index, gint *pos, gint *size, gint *waste);
Retreives details of a tile on x axis.
This function is only useful for sub class implementations and never should be called by an application.
texture : |
A ClutterTexture |
x_index : |
X index of tile to query |
pos : |
Location to store tiles X position |
size : |
Location to store tiles horizontal size in pixels |
waste : |
Location to store tiles horizontal wastage in pixels |
void clutter_texture_get_y_tile_detail (ClutterTexture *texture, gint y_index, gint *pos, gint *size, gint *waste);
Retreives details of a tile on y axis.
This function is only useful for sub class implementations and never should be called by an application.
texture : |
A ClutterTexture |
y_index : |
Y index of tile to query |
pos : |
Location to store tiles Y position |
size : |
Location to store tiles vertical size in pixels |
waste : |
Location to store tiles vertical wastage in pixels |
gboolean clutter_texture_has_generated_tiles (ClutterTexture *texture);
Checks if ClutterTexture has generated underlying GL texture tiles.
This function is only useful for sub class implementations and never should be called by an application.
texture : |
A ClutterTexture |
Returns : | TRUE if texture has pregenerated GL tiles. |