Top |
Functions
Description
Cogl allows loading image data into memory as CoglBitmaps without loading them immediately into GPU textures.
CoglBitmap is available since Cogl 1.0
Functions
cogl_is_bitmap ()
CoglBool
cogl_is_bitmap (void *object
);
Checks whether object
is a CoglBitmap
Since: 1.0
cogl_bitmap_new_from_file ()
CoglBitmap * cogl_bitmap_new_from_file (const char *filename
,CoglError **error
);
Loads an image file from disk. This function can be safely called from within a thread.
Returns
a CoglBitmap to the new loaded
image data, or NULL
if loading the image failed.
[transfer full]
Since: 1.0
cogl_bitmap_new_from_buffer ()
CoglBitmap * cogl_bitmap_new_from_buffer (CoglBuffer *buffer
,CoglPixelFormat format
,int width
,int height
,int rowstride
,int offset
);
Wraps some image data that has been uploaded into a CoglBuffer as a CoglBitmap. The data is not copied in this process.
Parameters
buffer |
A CoglBuffer containing image data |
|
format |
The CoglPixelFormat defining the format of the image data
in the given |
|
width |
The width of the image data in the given |
|
height |
The height of the image data in the given |
|
rowstride |
The rowstride in bytes of the image data in the given |
|
offset |
The offset into the given |
Since: 1.8
Stability Level: Unstable
cogl_bitmap_new_with_size ()
CoglBitmap * cogl_bitmap_new_with_size (CoglContext *context
,unsigned int width
,unsigned int height
,CoglPixelFormat format
);
Creates a new CoglBitmap with the given width, height and format. The initial contents of the bitmap are undefined.
The data for the bitmap will be stored in a newly created
CoglPixelBuffer. You can get a pointer to the pixel buffer using
cogl_bitmap_get_buffer()
. The CoglBuffer API can then be
used to fill the bitmap with data.
cogl_texture_new_from_bitmap()
. For various
reasons, such arrays are likely to have a stride larger than width
* bytes_per_pixel. The user must take the stride into account when
writing into it. The stride can be retrieved with
cogl_bitmap_get_rowstride()
.Parameters
context |
||
width |
width of the bitmap in pixels |
|
height |
height of the bitmap in pixels |
|
format |
the format of the pixels the array will store |
Since: 1.10
Stability Level: Unstable
cogl_bitmap_new_for_data ()
CoglBitmap * cogl_bitmap_new_for_data (CoglContext *context
,int width
,int height
,CoglPixelFormat format
,int rowstride
,uint8_t *data
);
Creates a bitmap using some existing data. The data is not copied
so the application must keep the buffer alive for the lifetime of
the CoglBitmap. This can be used for example with
cogl_framebuffer_read_pixels_into_bitmap()
to read data directly
into an application buffer with the specified rowstride.
Parameters
context |
||
width |
The width of the bitmap. |
|
height |
The height of the bitmap. |
|
format |
The format of the pixel data. |
|
rowstride |
The rowstride of the bitmap (the number of bytes from the start of one row of the bitmap to the next). |
|
data |
A pointer to the data. The bitmap will take ownership of this data. |
Since: 1.10
Stability Level: Unstable
cogl_bitmap_get_format ()
CoglPixelFormat
cogl_bitmap_get_format (CoglBitmap *bitmap
);
Since: 1.10
Stability Level: Unstable
cogl_bitmap_get_width ()
int
cogl_bitmap_get_width (CoglBitmap *bitmap
);
Since: 1.10
Stability Level: Unstable
cogl_bitmap_get_height ()
int
cogl_bitmap_get_height (CoglBitmap *bitmap
);
Since: 1.10
Stability Level: Unstable
cogl_bitmap_get_rowstride ()
int
cogl_bitmap_get_rowstride (CoglBitmap *bitmap
);
Returns
the rowstride of the bitmap. This is the number of bytes between the address of start of one row to the address of the next row in the image.
Since: 1.10
Stability Level: Unstable
cogl_bitmap_get_buffer ()
CoglPixelBuffer *
cogl_bitmap_get_buffer (CoglBitmap *bitmap
);
Returns
the CoglPixelBuffer that this
buffer uses for storage. Note that if the bitmap was created with
cogl_bitmap_new_from_file()
then it will not actually be using a
pixel buffer and this function will return NULL
.
[transfer none]
Since: 1.10
Stability Level: Unstable
cogl_bitmap_get_size_from_file ()
CoglBool cogl_bitmap_get_size_from_file (const char *filename
,int *width
,int *height
);
Parses an image file enough to extract the width and height of the bitmap.
Parameters
filename |
the file to check |
|
width |
return location for the bitmap width, or |
[out] |
height |
return location for the bitmap height, or |
[out] |
Since: 1.0
cogl_texture_new_from_bitmap ()
CoglTexture * cogl_texture_new_from_bitmap (CoglBitmap *bitmap
,CoglTextureFlags flags
,CoglPixelFormat internal_format
);
cogl_texture_new_from_bitmap
has been deprecated since version 1.18 and should not be used in newly-written code.
Use specific constructors such as
cogl_texture_2d_new_from_bitmap()
Creates a CoglTexture from a CoglBitmap.
Parameters
bitmap |
A CoglBitmap pointer |
|
flags |
Optional flags for the texture, or |
|
internal_format |
the CoglPixelFormat to use for the GPU storage of the texture |
Since: 1.0
Types and Values
enum CoglBitmapError
Error codes that can be thrown when performing bitmap
operations. Note that gdk_pixbuf_new_from_file()
can also throw
errors directly from the underlying image loading library. For
example, if GdkPixbuf is used then errors GdkPixbufErrors
will be used directly.
Since: 1.4