|  |  |  | COGL Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
                    CoglTextureVertex;
enum                CoglTextureFlags;
CoglHandle          cogl_texture_new_with_size          (guint width,
                                                         guint height,
                                                         CoglTextureFlags flags,
                                                         CoglPixelFormat internal_format);
CoglHandle          cogl_texture_new_from_file          (const gchar *filename,
                                                         CoglTextureFlags flags,
                                                         CoglPixelFormat internal_format,
                                                         GError **error);
CoglHandle          cogl_texture_new_from_data          (guint width,
                                                         guint height,
                                                         CoglTextureFlags flags,
                                                         CoglPixelFormat format,
                                                         CoglPixelFormat internal_format,
                                                         guint rowstride,
                                                         const guchar *data);
CoglHandle          cogl_texture_new_from_foreign       (GLuint gl_handle,
                                                         GLenum gl_target,
                                                         GLuint width,
                                                         GLuint height,
                                                         GLuint x_pot_waste,
                                                         GLuint y_pot_waste,
                                                         CoglPixelFormat format);
CoglHandle          cogl_texture_new_from_bitmap        (CoglHandle bmp_handle,
                                                         CoglTextureFlags flags,
                                                         CoglPixelFormat internal_format);
gboolean            cogl_is_texture                     (CoglHandle handle);
CoglHandle          cogl_texture_ref                    (CoglHandle handle);
void                cogl_texture_unref                  (CoglHandle handle);
guint               cogl_texture_get_width              (CoglHandle handle);
guint               cogl_texture_get_height             (CoglHandle handle);
CoglPixelFormat     cogl_texture_get_format             (CoglHandle handle);
guint               cogl_texture_get_rowstride          (CoglHandle handle);
gint                cogl_texture_get_max_waste          (CoglHandle handle);
gboolean            cogl_texture_is_sliced              (CoglHandle handle);
gboolean            cogl_texture_get_gl_texture         (CoglHandle handle,
                                                         GLuint *out_gl_handle,
                                                         GLenum *out_gl_target);
gint                cogl_texture_get_data               (CoglHandle handle,
                                                         CoglPixelFormat format,
                                                         guint rowstride,
                                                         guchar *data);
gboolean            cogl_texture_set_region             (CoglHandle handle,
                                                         gint src_x,
                                                         gint src_y,
                                                         gint dst_x,
                                                         gint dst_y,
                                                         guint dst_width,
                                                         guint dst_height,
                                                         gint width,
                                                         gint height,
                                                         CoglPixelFormat format,
                                                         guint rowstride,
                                                         const guchar *data);
COGL allows creating and manipulating GL textures using a uniform API that tries to hide all the various complexities of creating, loading and manipulating textures.
typedef struct {
  float x, y, z;
  float tx, ty;
  CoglColor color;
} CoglTextureVertex;
Used to specify vertex information when calling cogl_texture_polygon().
typedef enum {
  COGL_TEXTURE_NONE           = 0,
  COGL_TEXTURE_NO_AUTO_MIPMAP = 1 << 0,
  COGL_TEXTURE_NO_SLICING     = 1 << 1
} CoglTextureFlags;
Flags to pass to the cogl_texture_new_* family of functions.
| No flags specified | |
| Disables the automatic generation of the mipmap pyramid from the base level image whenever it is updated. The mipmaps are only generated when the texture is rendered with a mipmap filter so it should be free to leave out this flag when using other filtering modes. | |
| Disables the slicing of the texture | 
Since 1.0
CoglHandle cogl_texture_new_with_size (guint width, guint height, CoglTextureFlags flags, CoglPixelFormat internal_format);
Creates a new COGL texture with the specified dimensions and pixel format.
| 
 | width of texture in pixels. | 
| 
 | height of texture in pixels. | 
| 
 | Optional flags for the texture, or COGL_TEXTURE_NONE | 
| 
 | the CoglPixelFormat to use for the GPU storage of the texture. | 
| Returns : | a CoglHandle to the newly created texture or COGL_INVALID_HANDLEon failure | 
Since 0.8
CoglHandle cogl_texture_new_from_file (const gchar *filename, CoglTextureFlags flags, CoglPixelFormat internal_format, GError **error);
Creates a COGL texture from an image file.
| 
 | the file to load | 
| 
 | Optional flags for the texture, or COGL_TEXTURE_NONE | 
| 
 | the CoglPixelFormat to use for the GPU storage of the
   texture. If COGL_PIXEL_FORMAT_ANY is given then a premultiplied
   format similar to the format of the source data will be used. The
   default blending equations of Cogl expect premultiplied color data;
   the main use of passing a non-premultiplied format here is if you
   have non-premultiplied source data and are going to adjust the blend
   mode (see cogl_material_set_blend()) or use the data for something
   other than straight blending. | 
| 
 | return location for a GError or NULL | 
| Returns : | a CoglHandle to the newly created texture or COGL_INVALID_HANDLEon failure | 
Since 0.8
CoglHandle cogl_texture_new_from_data (guint width, guint height, CoglTextureFlags flags, CoglPixelFormat format, CoglPixelFormat internal_format, guint rowstride, const guchar *data);
Creates a new COGL texture based on data residing in memory.
| 
 | width of texture in pixels | 
| 
 | height of texture in pixels | 
| 
 | Optional flags for the texture, or COGL_TEXTURE_NONE | 
| 
 | the CoglPixelFormat the buffer is stored in in RAM | 
| 
 | the CoglPixelFormat that will be used for storing
   the buffer on the GPU. If COGL_PIXEL_FORMAT_ANY is given then a
   premultiplied format similar to the format of the source data will
   be used. The default blending equations of Cogl expect premultiplied
   color data; the main use of passing a non-premultiplied format here
   is if you have non-premultiplied source data and are going to adjust
   the blend mode (see cogl_material_set_blend()) or use the data for
   something other than straight blending. | 
| 
 | the memory offset in bytes between the starts of
   scanlines in data | 
| 
 | pointer the memory region where the source buffer resides | 
| Returns : | a CoglHandle to the newly created texture or COGL_INVALID_HANDLEon failure | 
Since 0.8
CoglHandle cogl_texture_new_from_foreign (GLuint gl_handle, GLenum gl_target, GLuint width, GLuint height, GLuint x_pot_waste, GLuint y_pot_waste, CoglPixelFormat format);
Creates a COGL texture based on an existing OpenGL texture; the width, height and format are passed along since it is not possible to query this from a handle with GLES 1.0.
| 
 | opengl target type of foreign texture | 
| 
 | opengl handle of foreign texture. | 
| 
 | width of foreign texture | 
| 
 | height of foreign texture. | 
| 
 | maximum horizontal waste. | 
| 
 | maximum vertical waste. | 
| 
 | format of the foreign texture. | 
| Returns : | a CoglHandle to the newly created texture or COGL_INVALID_HANDLEon failure | 
Since 0.8
CoglHandle cogl_texture_new_from_bitmap (CoglHandle bmp_handle, CoglTextureFlags flags, CoglPixelFormat internal_format);
Creates a COGL texture from a CoglBitmap.
| 
 | A CoglBitmap handle | 
| 
 | Optional flags for the texture, or COGL_TEXTURE_NONE | 
| 
 | the CoglPixelFormat to use for the GPU storage of the texture | 
| Returns : | a CoglHandle to the newly created texture or COGL_INVALID_HANDLEon failure | 
Since 1.0
gboolean cogl_is_texture (CoglHandle handle);
Gets whether the given handle references an existing texture object.
CoglHandle cogl_texture_ref (CoglHandle handle);
Increment the reference count for a cogl texture.
| 
 | a CoglHandle. | 
| Returns : | the handle. | 
void cogl_texture_unref (CoglHandle handle);
Deccrement the reference count for a cogl texture.
| 
 | a CoglHandle. | 
guint cogl_texture_get_width (CoglHandle handle);
Query the width of a cogl texture.
| 
 | a CoglHandle for a texture. | 
| Returns : | the width of the GPU side texture in pixels: | 
guint cogl_texture_get_height (CoglHandle handle);
Query the height of a cogl texture.
| 
 | a CoglHandle for a texture. | 
| Returns : | the height of the GPU side texture in pixels: | 
CoglPixelFormat cogl_texture_get_format (CoglHandle handle);
Query the CoglPixelFormat of a cogl texture.
| 
 | a CoglHandle for a texture. | 
| Returns : | the CoglPixelFormat of the GPU side texture. | 
guint cogl_texture_get_rowstride (CoglHandle handle);
Query the rowstride of a cogl texture.
| 
 | a CoglHandle for a texture. | 
| Returns : | the offset in bytes between each consequetive row of pixels. | 
gint cogl_texture_get_max_waste (CoglHandle handle);
Query the maximum wasted (unused) pixels in one dimension of a GPU side texture.
| 
 | a CoglHandle for a texture. | 
| Returns : | the maximum waste. | 
gboolean cogl_texture_is_sliced (CoglHandle handle);
Query if a texture is sliced (stored as multiple GPU side tecture objects).
| 
 | a CoglHandle for a texture. | 
| Returns : | TRUEif the texture is sliced,FALSEif the texture
is stored as a single GPU texture. | 
gboolean cogl_texture_get_gl_texture (CoglHandle handle, GLuint *out_gl_handle, GLenum *out_gl_target);
Query the GL handles for a GPU side texture through it's CoglHandle, if the texture is spliced the data for the first sub texture will be queried.
| 
 | a CoglHandle for a texture. | 
| 
 | pointer to return location for the textures GL handle, or NULL. | 
| 
 | pointer to return location for the GL target type, or NULL. | 
| Returns : | TRUEif the handle was successfully retrievedFALSEif the handle was invalid. | 
gint cogl_texture_get_data (CoglHandle handle, CoglPixelFormat format, guint rowstride, guchar *data);
Copy the pixel data from a cogl texture to system memory.
| 
 | a CoglHandle for a texture. | 
| 
 | the CoglPixelFormat to store the texture as. | 
| 
 | the rowstride of dataor retrieved from texture if none is
specified. | 
| 
 | memory location to write contents of buffer, or NULLif we're
only querying the data size through the return value. | 
| Returns : | the size of the texture data in bytes (or 0 if the texture is not valid.) | 
gboolean cogl_texture_set_region (CoglHandle handle, gint src_x, gint src_y, gint dst_x, gint dst_y, guint dst_width, guint dst_height, gint width, gint height, CoglPixelFormat format, guint rowstride, const guchar *data);
Sets the pixels in a rectangular subregion of handle from an in-memory
buffer containing pixel data.
| 
 | a CoglHandle. | 
| 
 | upper left coordinate to use from source data. | 
| 
 | upper left coordinate to use from source data. | 
| 
 | upper left destination horizontal coordinate. | 
| 
 | upper left destination vertical coordinate. | 
| 
 | width of destination region to write. | 
| 
 | height of destination region to write. | 
| 
 | width of source data buffer. | 
| 
 | height of source data buffer. | 
| 
 | the CoglPixelFormat used in the source buffer. | 
| 
 | rowstride of source buffer (computed from width if none specified) | 
| 
 | the actual pixel data. | 
| Returns : | TRUEif the subregion upload was successful, otherwiseFALSE. |