ClutterTexture

ClutterTexture — An actor for displaying and manipulating images.

Synopsis




            ClutterTexture;
            ClutterTextureClass;
ClutterActor* clutter_texture_new_from_pixbuf
                                            (GdkPixbuf *pixbuf);
ClutterActor* clutter_texture_new           (void);
void        clutter_texture_set_from_data   (ClutterTexture *texture,
                                             const guchar *data,
                                             gboolean has_alpha,
                                             gint width,
                                             gint height,
                                             gint rowstride,
                                             gint bpp);
void        clutter_texture_set_pixbuf      (ClutterTexture *texture,
                                             GdkPixbuf *pixbuf);
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);


Object Hierarchy


  GObject
   +----GInitiallyUnowned
         +----ClutterActor
               +----ClutterTexture

Properties


  "filter-quality"       gint                  : Read / Write / Construct
  "pixbuf"               gpointer              : Read / Write
  "pixel-format"         gint                  : Read / Write / Construct Only
  "pixel-type"           gint                  : Read / Write / Construct Only
  "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

Signals


"pixbuf-change"
            void        user_function      (ClutterTexture *texture,
                                            gpointer        user_data)      : Run last
"size-change"
            void        user_function      (ClutterTexture *texture,
                                            gint            width,
                                            gint            height,
                                            gpointer        user_data)      : Run last

Description

ClutterTexture is a base class for displaying and manipulating pixel buffer type data.

Details

ClutterTexture

typedef struct _ClutterTexture ClutterTexture;

ClutterTexture has no publicly available members.


ClutterTextureClass

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;


clutter_texture_new_from_pixbuf ()

ClutterActor* clutter_texture_new_from_pixbuf
                                            (GdkPixbuf *pixbuf);

Creates a new ClutterTexture object.

pixbuf : A GdkPixbuf
Returns : A newly created ClutterTexture object.

clutter_texture_new ()

ClutterActor* clutter_texture_new           (void);

Creates a new empty ClutterTexture object.

Returns : A newly created ClutterTexture object.

clutter_texture_set_from_data ()

void        clutter_texture_set_from_data   (ClutterTexture *texture,
                                             const guchar *data,
                                             gboolean has_alpha,
                                             gint width,
                                             gint height,
                                             gint rowstride,
                                             gint bpp);

Sets ClutterTexture image data.

Since 0.2. This function is likely to change in future versions.

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 )

clutter_texture_set_pixbuf ()

void        clutter_texture_set_pixbuf      (ClutterTexture *texture,
                                             GdkPixbuf *pixbuf);

Sets the underlying GdkPixbuf for the ClutterTexture

texture : A ClutterTexture
pixbuf : A GdkPixbuf

clutter_texture_get_pixbuf ()

GdkPixbuf*  clutter_texture_get_pixbuf      (ClutterTexture *texture);

Gets the underlying GdkPixbuf for the ClutterTexture.

texture : A ClutterTexture
Returns : The underlying GdkPixbuf

clutter_texture_get_base_size ()

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.

clutter_texture_bind_tile ()

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

clutter_texture_get_n_tiles ()

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

clutter_texture_get_x_tile_detail ()

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

clutter_texture_get_y_tile_detail ()

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

clutter_texture_has_generated_tiles ()

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.

clutter_texture_is_tiled ()

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

Property Details

The "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


The "pixbuf" property

  "pixbuf"               gpointer              : Read / Write

Pixbuf source for Texture.


The "pixel-format" property

  "pixel-format"         gint                  : Read / Write / Construct Only

GL texture pixel format used.

Allowed values: >= 0

Default value: 6408


The "pixel-type" property

  "pixel-type"           gint                  : Read / Write / Construct Only

GL texture pixel type used.

Allowed values: >= 0

Default value: 5121


The "repeat-x" property

  "repeat-x"             gboolean              : Read / Write / Construct

Reapeat underlying pixbuf rather than scalein x direction. Currently UNWORKING.

Default value: FALSE


The "repeat-y" property

  "repeat-y"             gboolean              : Read / Write / Construct

Reapeat underlying pixbuf rather than scalein y direction. Currently UNWORKING.

Default value: FALSE


The "sync-size" property

  "sync-size"            gboolean              : Read / Write / Construct

Auto sync size of actor to underlying pixbufdimentions.

Default value: TRUE


The "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


The "tiled" property

  "tiled"                gboolean              : Read / Write / Construct Only

Enables the use of tiled GL textures to more efficiently use available texture memory.

Default value: TRUE

Signal Details

The "pixbuf-change" signal

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.

The "size-change" signal

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.