#endif
/* the module api version */
-#define EVAS_MODULE_API_VERSION 2
+#define EVAS_MODULE_API_VERSION 3
/* the module types */
typedef enum _Evas_Module_Type
#define EVAS_COLORSPACE_PALETTE EFL_GFX_COLORSPACE_PALETTE
//
+#define EVAS_IMAGE_LOAD_VERSION 1
+
struct _Evas_Image_Load_Func
{
+ int version;
void *(*file_open) (Eina_File *f, Eina_Stringshare *key,
Evas_Image_Load_Opts *opts,
Evas_Image_Animated *animated,
evas_image_load_func = em->functions;
evas_module_use(em);
*error = EVAS_LOAD_ERROR_NONE;
- if (evas_image_load_func)
+ if (evas_image_load_func && evas_image_load_func->version == EVAS_IMAGE_LOAD_VERSION)
{
Evas_Image_Property property;
const char *file;
static Evas_Image_Load_Func evas_image_load_bmp_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_bmp,
evas_image_load_file_close_bmp,
evas_image_load_file_head_bmp,
Evas_Image_Load_Func evas_image_load_dds_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_dds,
evas_image_load_file_close_dds,
evas_image_load_file_head_dds,
Evas_Image_Load_Func evas_image_load_eet_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_eet,
evas_image_load_file_close_eet,
evas_image_load_file_head_eet,
Evas_Image_Load_Func evas_image_load_generic_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_generic,
evas_image_load_file_close_generic,
evas_image_load_file_head_generic,
// general module delcaration stuff
static Evas_Image_Load_Func evas_image_load_gif_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_gif2,
evas_image_load_file_close_gif2,
- evas_image_load_file_head_gif2,
+ evas_image_load_file_head_gif2,
evas_image_load_file_data_gif2,
evas_image_load_frame_duration_gif2,
EINA_TRUE,
static Evas_Image_Load_Func evas_image_load_ico_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_ico,
evas_image_load_file_close_ico,
evas_image_load_file_head_ico,
static Evas_Image_Load_Func evas_image_load_jp2k_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_jp2k,
evas_image_load_file_close_jp2k,
evas_image_load_file_head_jp2k,
Evas_Image_Load_Func evas_image_load_jpeg_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_jpeg,
evas_image_load_file_close_jpeg,
evas_image_load_file_head_jpeg,
/* external functions */
Evas_Image_Load_Func evas_image_load_pmaps_func = {
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_pmaps,
evas_image_load_file_close_pmaps,
evas_image_load_file_head_pmaps,
static Evas_Image_Load_Func evas_image_load_png_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_png,
evas_image_load_file_close_png,
evas_image_load_file_head_png,
}
static const Evas_Image_Load_Func evas_image_load_psd_func = {
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_psd,
evas_image_load_file_close_psd,
evas_image_load_file_head_psd,
static Evas_Image_Load_Func evas_image_load_tga_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_tga,
evas_image_load_file_close_tga,
evas_image_load_file_head_tga,
Evas_Image_Load_Func evas_image_load_tgv_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_tgv,
evas_image_load_file_close_tgv,
evas_image_load_file_head_tgv,
static Evas_Image_Load_Func evas_image_load_tiff_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_tiff,
evas_image_load_file_close_tiff,
evas_image_load_file_head_tiff,
static Evas_Image_Load_Func evas_image_load_wbmp_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_wbmp,
evas_image_load_file_close_wbmp,
evas_image_load_file_head_wbmp,
static Evas_Image_Load_Func evas_image_load_webp_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_webp,
evas_image_load_file_close_webp,
evas_image_load_file_head_webp,
static Evas_Image_Load_Func evas_image_load_xpm_func =
{
+ EVAS_IMAGE_LOAD_VERSION,
evas_image_load_file_open_xpm,
evas_image_load_file_close_xpm,
evas_image_load_file_head_xpm,