From dd7595a3475407a7fa96a97393bae8c5220e8762 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Wed, 4 Jan 2012 18:41:13 +1000 Subject: Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje. Note that embryo wont be used, but I'm not sure yet if you can build edje without it. --- .../evas/src/lib/engines/common/evas_image_save.c | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 libraries/evas/src/lib/engines/common/evas_image_save.c (limited to 'libraries/evas/src/lib/engines/common/evas_image_save.c') diff --git a/libraries/evas/src/lib/engines/common/evas_image_save.c b/libraries/evas/src/lib/engines/common/evas_image_save.c new file mode 100644 index 0000000..d7484c0 --- /dev/null +++ b/libraries/evas/src/lib/engines/common/evas_image_save.c @@ -0,0 +1,51 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "evas_options.h" + +#include "evas_common.h" +#include "evas_private.h" + + +int +evas_common_save_image_to_file(RGBA_Image *im, const char *file, const char *key, int quality, int compress) +{ + Evas_Image_Save_Func *evas_image_save_func = NULL; + char *p; + char *saver = NULL; + + p = strrchr(file, '.'); + if (p) + { + p++; + + if (!strcasecmp(p, "png")) + saver = "png"; + if ((!strcasecmp(p, "jpg")) || (!strcasecmp(p, "jpeg")) || + (!strcasecmp(p, "jfif"))) + saver = "jpeg"; + if ((!strcasecmp(p, "eet")) || (!strcasecmp(p, "edj")) || + (!strcasecmp(p, "eap"))) + saver = "eet"; + if (!strcasecmp(p, "edb")) + saver = "edb"; + } + + if (saver) + { + Evas_Module *em; + + em = evas_module_find_type(EVAS_MODULE_TYPE_IMAGE_SAVER, saver); + if (em) + { + evas_module_use(em); + if (evas_module_load(em)) + { + evas_image_save_func = em->functions; + return evas_image_save_func->image_save(im, file, key, quality, compress); + } + } + } + return 0; +} -- cgit v1.1