forked from enlightenment/efl
Now ethumb read from and saves to eet files.
SVN revision: 40050
This commit is contained in:
parent
cd8dd91b01
commit
a95c0b221f
|
@ -113,6 +113,8 @@ const Ecore_Getopt optdesc = {
|
|||
ECORE_GETOPT_CALLBACK_ARGS
|
||||
('t', "theme", "path to theme file, group and swallow part.",
|
||||
"file:group:swallow_part", _ethumb_getopt_callback_frame_parse, NULL),
|
||||
ECORE_GETOPT_STORE_STR
|
||||
('k', "key", "key inside eet file to read image from."),
|
||||
ECORE_GETOPT_LICENSE('L', "license"),
|
||||
ECORE_GETOPT_COPYRIGHT('C', "copyright"),
|
||||
ECORE_GETOPT_VERSION('V', "version"),
|
||||
|
@ -133,7 +135,10 @@ main(int argc, char *argv[])
|
|||
char *aspect_str = NULL;
|
||||
char *directory = NULL;
|
||||
char *category = NULL;
|
||||
char *src_key = NULL;
|
||||
struct frame frame = {NULL};
|
||||
const char *thumb_path = NULL;
|
||||
const char *thumb_key = NULL;
|
||||
int arg_index;
|
||||
int i;
|
||||
|
||||
|
@ -147,6 +152,7 @@ main(int argc, char *argv[])
|
|||
ECORE_GETOPT_VALUE_STR(directory),
|
||||
ECORE_GETOPT_VALUE_STR(category),
|
||||
ECORE_GETOPT_VALUE_PTR_CAST(frame),
|
||||
ECORE_GETOPT_VALUE_STR(src_key),
|
||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
||||
ECORE_GETOPT_VALUE_BOOL(quit_option),
|
||||
|
@ -194,10 +200,13 @@ main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
if (r && arg_index < argc)
|
||||
ef = ethumb_file_new(e, argv[arg_index++]);
|
||||
ef = ethumb_file_new(e, argv[arg_index++], src_key);
|
||||
if (ef && arg_index < argc)
|
||||
ethumb_file_thumb_path_set(ef, argv[arg_index++]);
|
||||
thumb_path = argv[arg_index++];
|
||||
if (ef && arg_index < argc)
|
||||
thumb_key = argv[arg_index];
|
||||
|
||||
ethumb_file_thumb_path_set(ef, thumb_path, thumb_key);
|
||||
if (ef)
|
||||
ethumb_file_generate(ef);
|
||||
|
||||
|
|
|
@ -386,7 +386,7 @@ ethumb_thumb_category_get(Ethumb *e)
|
|||
}
|
||||
|
||||
EAPI Ethumb_File *
|
||||
ethumb_file_new(Ethumb *e, const char *path)
|
||||
ethumb_file_new(Ethumb *e, const char *path, const char *key)
|
||||
{
|
||||
Ethumb_File *ef;
|
||||
|
||||
|
@ -404,6 +404,9 @@ ethumb_file_new(Ethumb *e, const char *path)
|
|||
ef->ethumb = e;
|
||||
ef->src_path = eina_stringshare_add(path);
|
||||
|
||||
if (key)
|
||||
ef->src_key = eina_stringshare_add(key);
|
||||
|
||||
return ef;
|
||||
}
|
||||
|
||||
|
@ -539,24 +542,31 @@ ethumb_file_free(Ethumb_File *ef)
|
|||
return;
|
||||
|
||||
eina_stringshare_del(ef->src_path);
|
||||
eina_stringshare_del(ef->src_key);
|
||||
eina_stringshare_del(ef->thumb_path);
|
||||
eina_stringshare_del(ef->thumb_key);
|
||||
free(ef);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ethumb_file_thumb_path_set(Ethumb_File *ef, const char *path)
|
||||
ethumb_file_thumb_path_set(Ethumb_File *ef, const char *path, const char *key)
|
||||
{
|
||||
char *real_path;
|
||||
char buf[PATH_MAX];
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(ef);
|
||||
|
||||
if (ef->thumb_path)
|
||||
eina_stringshare_del(ef->thumb_path);
|
||||
|
||||
real_path = realpath(path, buf);
|
||||
if (errno == ENOENT || errno == ENOTDIR || real_path)
|
||||
ef->thumb_path = eina_stringshare_add(buf);
|
||||
if (!path)
|
||||
{
|
||||
eina_stringshare_replace(&ef->thumb_path, NULL);
|
||||
eina_stringshare_replace(&ef->thumb_key, NULL);
|
||||
}
|
||||
else if (errno == ENOENT || errno == ENOTDIR || real_path)
|
||||
{
|
||||
eina_stringshare_replace(&ef->thumb_path, buf);
|
||||
eina_stringshare_replace(&ef->thumb_key, key);
|
||||
}
|
||||
else
|
||||
ERR("could not set thumbnail path: %s\n", strerror(errno));
|
||||
}
|
||||
|
@ -630,7 +640,7 @@ _ethumb_image_load(Ethumb_File *ef)
|
|||
evas_object_hide(img);
|
||||
evas_object_image_file_set(img, NULL, NULL);
|
||||
evas_object_image_load_size_set(img, eth->tw, eth->th);
|
||||
evas_object_image_file_set(img, ef->src_path, NULL);
|
||||
evas_object_image_file_set(img, ef->src_path, ef->src_key);
|
||||
|
||||
if (eth->frame)
|
||||
evas_object_show(eth->frame->edje);
|
||||
|
@ -714,7 +724,8 @@ ethumb_file_generate(Ethumb_File *ef)
|
|||
return 0;
|
||||
}
|
||||
|
||||
r = evas_object_image_save(eth->o, ef->thumb_path, NULL, "quality=85");
|
||||
r = evas_object_image_save(eth->o, ef->thumb_path, ef->thumb_key,
|
||||
"quality=85");
|
||||
|
||||
if (!r)
|
||||
{
|
||||
|
|
|
@ -93,7 +93,9 @@ struct _Ethumb_File
|
|||
{
|
||||
Ethumb *ethumb;
|
||||
const char *src_path;
|
||||
const char *src_key;
|
||||
const char *thumb_path;
|
||||
const char *thumb_key;
|
||||
int w, h;
|
||||
};
|
||||
|
||||
|
@ -128,9 +130,9 @@ EAPI const char * ethumb_thumb_dir_path_get(Ethumb *e) EINA_WARN_UNUSED_RESULT E
|
|||
EAPI void ethumb_thumb_category_set(Ethumb *e, const char *category) EINA_ARG_NONNULL(1);
|
||||
EAPI const char * ethumb_thumb_category_get(Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
EAPI Ethumb_File * ethumb_file_new(Ethumb *e, const char *path) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
|
||||
EAPI Ethumb_File * ethumb_file_new(Ethumb *e, const char *path, const char *key) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
|
||||
EAPI void ethumb_file_free(Ethumb_File *ef);
|
||||
EAPI void ethumb_file_thumb_path_set(Ethumb_File *ef, const char *path) EINA_ARG_NONNULL(1);
|
||||
EAPI void ethumb_file_thumb_path_set(Ethumb_File *ef, const char *path, const char *key) EINA_ARG_NONNULL(1);
|
||||
EAPI const char * ethumb_file_thumb_path_get(Ethumb_File *ef) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
EAPI int ethumb_file_generate(Ethumb_File *ef) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
|
Loading…
Reference in New Issue