Make a public CoglBitmapError enum

There are many places in the texture backend that need to do
conversion using the CoglBitmap code. Currently none of these
functions can throw an error but they do return a value to indicate
failure. In future it would make sense if new texture functions could
throw an error and in that case they would want to use a CoglBitmap
error if the failure was due to the conversion. This moves the
internal CoglBitmap error from the quartz backend to be public in
cogl-bitmap.h so that it can be used in this way.
This commit is contained in:
Neil Roberts 2010-07-01 21:49:16 +01:00
parent 539b3f83e1
commit 8940c30681
4 changed files with 39 additions and 16 deletions

View File

@ -77,22 +77,6 @@ _cogl_bitmap_premult (CoglBitmap *dst_bmp)
#ifdef USE_QUARTZ
/* lacking GdkPixbuf and other useful GError domains, define one of our own */
#define COGL_BITMAP_ERROR cogl_bitmap_error_quark ()
typedef enum {
COGL_BITMAP_ERROR_FAILED,
COGL_BITMAP_ERROR_UNKNOWN_TYPE,
COGL_BITMAP_ERROR_CORRUPT_IMAGE
} CoglBitmapError;
GQuark
cogl_bitmap_error_quark (void)
{
return g_quark_from_static_string ("cogl-bitmap-error-quark");
}
gboolean
_cogl_bitmap_get_size_from_file (const char *filename,
int *width,

View File

@ -188,3 +188,8 @@ cogl_bitmap_new_from_file (const char *filename,
return _cogl_bitmap_object_new (ret);
}
GQuark
cogl_bitmap_error_quark (void)
{
return g_quark_from_static_string ("cogl-bitmap-error-quark");
}

View File

@ -94,6 +94,38 @@ cogl_bitmap_get_size_from_file (const char *filename,
gboolean
cogl_is_bitmap (CoglHandle handle);
/**
* COGL_BITMAP_ERROR:
*
* #GError domain for bitmap errors.
*
* Since: 1.4
*/
#define COGL_BITMAP_ERROR (cogl_bitmap_error_quark ())
/**
* CoglBitmapError:
* @COGL_BITMAP_ERROR_FAILED: Generic failure code, something went
* wrong.
* @COGL_ERROR_UNKNOWN_TYPE: Unknown image type.
* @COGL_ERROR_CORRUPT_IMAGE: An image file was broken somehow.
*
* 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 #GdkPixbufError<!-- -->s
* will be used directly.
*
* Since: 1.4
*/
typedef enum {
COGL_BITMAP_ERROR_FAILED,
COGL_BITMAP_ERROR_UNKNOWN_TYPE,
COGL_BITMAP_ERROR_CORRUPT_IMAGE
} CoglBitmapError;
GQuark cogl_bitmap_error_quark (void);
G_END_DECLS
#endif /* __COGL_BITMAP_H__ */

View File

@ -198,6 +198,8 @@ cogl_path_stroke_preserve
cogl_bitmap_new_from_file
cogl_bitmap_get_size_from_file
cogl_is_bitmap
CoglBitmapError
COGL_BITMAP_ERROR
</SECTION>
<SECTION>