![]() |
![]() |
![]() |
Clutter 0.3 Reference Manual | ![]() |
---|---|---|---|---|
ClutterTexture; ClutterTextureClass; enum ClutterTextureFlags; ClutterActor* clutter_texture_new_from_pixbuf (GdkPixbuf *pixbuf); ClutterActor* clutter_texture_new (void); 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);
"filter-quality" gint : Read / Write / Construct "pixbuf" gpointer : Read / Write "pixel-format" gint : Read "pixel-type" gint : Read "repeat-x" gboolean : Read / Write / Construct "repeat-y" gboolean : Read / Write / Construct "sync-size" gboolean : Read / Write / Construct "tile-waste" gint : Read / Write / Construct Only "tiled" gboolean : Read / Write / Construct Only
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 are used to copy image data into texture memory and subsequently realize the the texture.
If texture reads are supported by underlying GL implementaion 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 struct { ClutterActorClass parent_class; void (*size_change) (ClutterTexture *texture, gint width, gint height); void (*pixbuf_change) (ClutterTexture *texture); /* padding, for future expansion */ void (*_clutter_texture1) (void); void (*_clutter_texture2) (void); void (*_clutter_texture3) (void); void (*_clutter_texture4) (void); void (*_clutter_texture5) (void); void (*_clutter_texture6) (void); } ClutterTextureClass;
typedef enum ClutterTextureFlags { 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;
ClutterActor* clutter_texture_new_from_pixbuf (GdkPixbuf *pixbuf);
Creates a new ClutterTexture object.
pixbuf : |
A GdkPixbuf |
Returns : | A newly created ClutterTexture object. |
ClutterActor* clutter_texture_new (void);
Creates a new empty ClutterTexture object.
Returns : | A newly created ClutterTexture object. |
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.
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 : |
FIXME. |
Returns : | TRUE on success, FALSE on failure. Since 0.4. This function is likely to change in future versions. |
gboolean clutter_texture_set_pixbuf (ClutterTexture *texture, GdkPixbuf *pixbuf, GError **error);
Sets a ClutterTexture image data from a GdkPixbuf
texture : |
A ClutterTexture |
pixbuf : |
A GdkPixbuf |
error : |
|
Returns : |
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. |
gboolean clutter_texture_is_tiled (ClutterTexture *texture);
Checks if ClutterTexture is tiled.
This function is only useful for sub class implementations and never should be called by an application.
texture : |
A ClutterTexture |
Returns : | TRUE if texture is tiled |
filter-quality
" property"filter-quality" gint : Read / Write / Construct
Values 0 and 1 current only supported, with 0being lower quality but fast, 1 being better quality but slower. ( Currently just maps to GL_NEAREST / GL_LINEAR ).
Allowed values: >= 0
Default value: 1
pixel-format
" property"pixel-format" gint : Read
GL texture pixel format used.
Allowed values: >= 0
Default value: 6408
pixel-type
" property"pixel-type" gint : Read
GL texture pixel type used.
Allowed values: >= 0
Default value: 5121
repeat-x
" property"repeat-x" gboolean : Read / Write / Construct
Reapeat underlying pixbuf rather than scalein x direction. Currently UNWORKING.
Default value: FALSE
repeat-y
" property"repeat-y" gboolean : Read / Write / Construct
Reapeat underlying pixbuf rather than scalein y direction. Currently UNWORKING.
Default value: FALSE
sync-size
" property"sync-size" gboolean : Read / Write / Construct
Auto sync size of actor to underlying pixbufdimentions.
Default value: TRUE
tile-waste
" property"tile-waste" gint : Read / Write / Construct Only
Max wastage dimention of a texture when using tiled textures. Bigger values use less textures, smaller values less texture memory. .
Allowed values: >= 0
Default value: 64
void user_function (ClutterTexture *texture, gpointer user_data) : Run Last
The ::pixbuf-change signal is emitted each time the pixbuf
used by texture
changes.
texture : |
the texture which received the signal |
user_data : |
user data set when the signal handler was connected. |
void user_function (ClutterTexture *texture, gint width, gint height, gpointer user_data) : Run Last
The ::size-change signal is emitted each time the size of the
pixbuf used by texture
changes. The new size is given as
argument to the callback.
texture : |
the texture which received the signal |
width : |
the width of the new texture |
height : |
the height of the new texture |
user_data : |
user data set when the signal handler was connected. |