forked from enlightenment/efl
Merge branch 'master' into devs/hermet/lottie
This commit is contained in:
commit
1e2b3d5406
|
@ -436,7 +436,7 @@ struct struct_definition_generator
|
||||||
// Constructor with default parameters for easy struct initialization
|
// Constructor with default parameters for easy struct initialization
|
||||||
if(!as_generator(
|
if(!as_generator(
|
||||||
indent << scope_tab << "/// <summary>Constructor for " << string << ".</summary>\n"
|
indent << scope_tab << "/// <summary>Constructor for " << string << ".</summary>\n"
|
||||||
<< *(indent << scope_tab << field_argument_docs << ";\n")
|
<< *(indent << scope_tab << field_argument_docs << "\n")
|
||||||
<< indent << scope_tab << "public " << string << "(\n"
|
<< indent << scope_tab << "public " << string << "(\n"
|
||||||
<< ((indent << scope_tab << scope_tab << field_argument_default) % ",\n")
|
<< ((indent << scope_tab << scope_tab << field_argument_default) % ",\n")
|
||||||
<< indent << scope_tab << ")\n"
|
<< indent << scope_tab << ")\n"
|
||||||
|
|
|
@ -387,6 +387,93 @@ _edje_file_coll_open(Edje_File *edf, const char *coll)
|
||||||
return edc;
|
return edc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_edje_extract_mo_files(Edje_File *edf)
|
||||||
|
{
|
||||||
|
Eina_Strbuf *mo_id_str;
|
||||||
|
const void *data;
|
||||||
|
const char *cache_path;
|
||||||
|
const char *filename;
|
||||||
|
unsigned int crc;
|
||||||
|
time_t t;
|
||||||
|
size_t sz;
|
||||||
|
unsigned int i;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
cache_path = efreet_cache_home_get();
|
||||||
|
|
||||||
|
t = eina_file_mtime_get(edf->f);
|
||||||
|
sz = eina_file_size_get(edf->f);
|
||||||
|
filename = eina_file_filename_get(edf->f);
|
||||||
|
crc = eina_crc(filename, strlen(filename), 0xffffffff, EINA_TRUE);
|
||||||
|
|
||||||
|
snprintf(edf->fid, sizeof(edf->fid), "%lld-%lld-%x",
|
||||||
|
(long long int)t,
|
||||||
|
(long long int)sz,
|
||||||
|
crc);
|
||||||
|
|
||||||
|
mo_id_str = eina_strbuf_new();
|
||||||
|
|
||||||
|
for (i = 0; i < edf->mo_dir->mo_entries_count; i++)
|
||||||
|
{
|
||||||
|
Edje_Mo *mo_entry;
|
||||||
|
char out[PATH_MAX + PATH_MAX + 128];
|
||||||
|
char outdir[PATH_MAX];
|
||||||
|
char *sub_str;
|
||||||
|
char *mo_src;
|
||||||
|
|
||||||
|
mo_entry = &edf->mo_dir->mo_entries[i];
|
||||||
|
|
||||||
|
eina_strbuf_append_printf(mo_id_str,
|
||||||
|
"edje/mo/%i/%s/LC_MESSAGES",
|
||||||
|
mo_entry->id,
|
||||||
|
mo_entry->locale);
|
||||||
|
data = eet_read_direct(edf->ef,
|
||||||
|
eina_strbuf_string_get(mo_id_str),
|
||||||
|
&len);
|
||||||
|
|
||||||
|
if (data)
|
||||||
|
{
|
||||||
|
snprintf(outdir, sizeof(outdir),
|
||||||
|
"%s/edje/%s/LC_MESSAGES",
|
||||||
|
cache_path, mo_entry->locale);
|
||||||
|
ecore_file_mkpath(outdir);
|
||||||
|
mo_src = strdup(mo_entry->mo_src);
|
||||||
|
sub_str = strstr(mo_src, ".po");
|
||||||
|
|
||||||
|
if (sub_str)
|
||||||
|
sub_str[1] = 'm';
|
||||||
|
|
||||||
|
snprintf(out, sizeof(out), "%s/%s-%s",
|
||||||
|
outdir, edf->fid, mo_src);
|
||||||
|
if (ecore_file_exists(out))
|
||||||
|
{
|
||||||
|
if (edf->mtime > ecore_file_mod_time(out))
|
||||||
|
ecore_file_remove(out);
|
||||||
|
}
|
||||||
|
if (!ecore_file_exists(out))
|
||||||
|
{
|
||||||
|
FILE *f;
|
||||||
|
|
||||||
|
f = fopen(out, "wb");
|
||||||
|
if (f)
|
||||||
|
{
|
||||||
|
if (fwrite(data, len, 1, f) != 1)
|
||||||
|
ERR("Could not write mo: %s: %s", out, strerror(errno));
|
||||||
|
fclose(f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ERR("Could not open for writing mo: %s: %s", out, strerror(errno));
|
||||||
|
}
|
||||||
|
free(mo_src);
|
||||||
|
}
|
||||||
|
|
||||||
|
eina_strbuf_reset(mo_id_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
eina_strbuf_free(mo_id_str);
|
||||||
|
}
|
||||||
|
|
||||||
// XXX: this is not pretty. some oooooold edje files do not store strings
|
// XXX: this is not pretty. some oooooold edje files do not store strings
|
||||||
// in their dictionary for hashes. this works around crashes loading such
|
// in their dictionary for hashes. this works around crashes loading such
|
||||||
// files
|
// files
|
||||||
|
@ -542,6 +629,22 @@ _edje_file_open(const Eina_File *f, int *error_ret, time_t mtime, Eina_Bool coll
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (edf->external_dir)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < edf->external_dir->entries_count; ++i)
|
||||||
|
edje_module_load(edf->external_dir->entries[i].entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
// this call is unnecessary as we are doing same opeartion
|
||||||
|
// inside _edje_textblock_style_parse_and_fix() function
|
||||||
|
// remove ??
|
||||||
|
//_edje_textblock_style_all_update(ed);
|
||||||
|
|
||||||
|
if (edf->mo_dir)
|
||||||
|
_edje_extract_mo_files(edf);
|
||||||
|
|
||||||
return edf;
|
return edf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,93 +52,6 @@ _edje_smart_nested_smart_class_new(void)
|
||||||
return smart;
|
return smart;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
_edje_extract_mo_files(Edje_File *edf)
|
|
||||||
{
|
|
||||||
Eina_Strbuf *mo_id_str;
|
|
||||||
const void *data;
|
|
||||||
const char *cache_path;
|
|
||||||
const char *filename;
|
|
||||||
unsigned int crc;
|
|
||||||
time_t t;
|
|
||||||
size_t sz;
|
|
||||||
unsigned int i;
|
|
||||||
int len;
|
|
||||||
|
|
||||||
cache_path = efreet_cache_home_get();
|
|
||||||
|
|
||||||
t = eina_file_mtime_get(edf->f);
|
|
||||||
sz = eina_file_size_get(edf->f);
|
|
||||||
filename = eina_file_filename_get(edf->f);
|
|
||||||
crc = eina_crc(filename, strlen(filename), 0xffffffff, EINA_TRUE);
|
|
||||||
|
|
||||||
snprintf(edf->fid, sizeof(edf->fid), "%lld-%lld-%x",
|
|
||||||
(long long int)t,
|
|
||||||
(long long int)sz,
|
|
||||||
crc);
|
|
||||||
|
|
||||||
mo_id_str = eina_strbuf_new();
|
|
||||||
|
|
||||||
for (i = 0; i < edf->mo_dir->mo_entries_count; i++)
|
|
||||||
{
|
|
||||||
Edje_Mo *mo_entry;
|
|
||||||
char out[PATH_MAX + PATH_MAX + 128];
|
|
||||||
char outdir[PATH_MAX];
|
|
||||||
char *sub_str;
|
|
||||||
char *mo_src;
|
|
||||||
|
|
||||||
mo_entry = &edf->mo_dir->mo_entries[i];
|
|
||||||
|
|
||||||
eina_strbuf_append_printf(mo_id_str,
|
|
||||||
"edje/mo/%i/%s/LC_MESSAGES",
|
|
||||||
mo_entry->id,
|
|
||||||
mo_entry->locale);
|
|
||||||
data = eet_read_direct(edf->ef,
|
|
||||||
eina_strbuf_string_get(mo_id_str),
|
|
||||||
&len);
|
|
||||||
|
|
||||||
if (data)
|
|
||||||
{
|
|
||||||
snprintf(outdir, sizeof(outdir),
|
|
||||||
"%s/edje/%s/LC_MESSAGES",
|
|
||||||
cache_path, mo_entry->locale);
|
|
||||||
ecore_file_mkpath(outdir);
|
|
||||||
mo_src = strdup(mo_entry->mo_src);
|
|
||||||
sub_str = strstr(mo_src, ".po");
|
|
||||||
|
|
||||||
if (sub_str)
|
|
||||||
sub_str[1] = 'm';
|
|
||||||
|
|
||||||
snprintf(out, sizeof(out), "%s/%s-%s",
|
|
||||||
outdir, edf->fid, mo_src);
|
|
||||||
if (ecore_file_exists(out))
|
|
||||||
{
|
|
||||||
if (edf->mtime > ecore_file_mod_time(out))
|
|
||||||
ecore_file_remove(out);
|
|
||||||
}
|
|
||||||
if (!ecore_file_exists(out))
|
|
||||||
{
|
|
||||||
FILE *f;
|
|
||||||
|
|
||||||
f = fopen(out, "wb");
|
|
||||||
if (f)
|
|
||||||
{
|
|
||||||
if (fwrite(data, len, 1, f) != 1)
|
|
||||||
ERR("Could not write mo: %s: %s", out, strerror(errno));
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
ERR("Could not open for writing mo: %s: %s", out, strerror(errno));
|
|
||||||
}
|
|
||||||
free(mo_src);
|
|
||||||
}
|
|
||||||
|
|
||||||
eina_strbuf_reset(mo_id_str);
|
|
||||||
}
|
|
||||||
|
|
||||||
eina_strbuf_free(mo_id_str);
|
|
||||||
}
|
|
||||||
|
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
edje_smart_nested_add(Evas *evas)
|
edje_smart_nested_add(Evas *evas)
|
||||||
{
|
{
|
||||||
|
@ -771,6 +684,85 @@ _edje_devices_add(Edje *ed, Evas *tev)
|
||||||
_edje_device_changed_cb, ed);
|
_edje_device_changed_cb, ed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
_edje_process_colorclass(Edje *ed)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < ed->collection->parts_count; ++i)
|
||||||
|
{
|
||||||
|
Edje_Part *ep;
|
||||||
|
unsigned int k;
|
||||||
|
|
||||||
|
ep = ed->collection->parts[i];
|
||||||
|
|
||||||
|
/* Register any color classes in this parts descriptions. */
|
||||||
|
if ((ep->default_desc) && (ep->default_desc->color_class))
|
||||||
|
efl_observable_observer_add(_edje_color_class_member, ep->default_desc->color_class, ed->obj);
|
||||||
|
|
||||||
|
for (k = 0; k < ep->other.desc_count; k++)
|
||||||
|
{
|
||||||
|
Edje_Part_Description_Common *desc;
|
||||||
|
|
||||||
|
desc = ep->other.desc[k];
|
||||||
|
|
||||||
|
if (desc->color_class)
|
||||||
|
efl_observable_observer_add(_edje_color_class_member, desc->color_class, ed->obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
_edje_process_sizeclass(Edje *ed)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
for (i = 0; i < ed->collection->parts_count; ++i)
|
||||||
|
{
|
||||||
|
Edje_Part *ep;
|
||||||
|
unsigned int k;
|
||||||
|
|
||||||
|
ep = ed->collection->parts[i];
|
||||||
|
|
||||||
|
/* Register any size classes in this parts descriptions. */
|
||||||
|
if ((ep->default_desc) && (ep->default_desc->size_class))
|
||||||
|
efl_observable_observer_add(_edje_size_class_member, ep->default_desc->size_class, ed->obj);
|
||||||
|
|
||||||
|
for (k = 0; k < ep->other.desc_count; k++)
|
||||||
|
{
|
||||||
|
Edje_Part_Description_Common *desc;
|
||||||
|
|
||||||
|
desc = ep->other.desc[k];
|
||||||
|
|
||||||
|
if (desc->size_class)
|
||||||
|
efl_observable_observer_add(_edje_size_class_member, desc->size_class, ed->obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
_edje_process_physics(Edje *ed)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_EPHYSICS
|
||||||
|
if (EPH_LOAD())
|
||||||
|
{
|
||||||
|
EPH_CALL(ephysics_init)();
|
||||||
|
ed->world = EPH_CALL(ephysics_world_new)();
|
||||||
|
EPH_CALL(ephysics_world_event_callback_add)
|
||||||
|
(ed->world, EPHYSICS_CALLBACK_WORLD_UPDATE,
|
||||||
|
_edje_physics_world_update_cb, ed);
|
||||||
|
EPH_CALL(ephysics_world_rate_set)
|
||||||
|
(ed->world, ed->collection->physics.world.rate);
|
||||||
|
EPH_CALL(ephysics_world_gravity_set)
|
||||||
|
(ed->world, ed->collection->physics.world.gravity.x,
|
||||||
|
ed->collection->physics.world.gravity.y,
|
||||||
|
ed->collection->physics.world.gravity.z);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
ERR("Edje compiled without support to physics.");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
Eina_Error
|
Eina_Error
|
||||||
_edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested)
|
_edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested)
|
||||||
{
|
{
|
||||||
|
@ -835,19 +827,8 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
|
||||||
_edje_file_add(ed, file);
|
_edje_file_add(ed, file);
|
||||||
ed->block_break = EINA_FALSE;
|
ed->block_break = EINA_FALSE;
|
||||||
|
|
||||||
if (ed->file && ed->file->external_dir)
|
|
||||||
{
|
|
||||||
unsigned int i;
|
|
||||||
|
|
||||||
for (i = 0; i < ed->file->external_dir->entries_count; ++i)
|
|
||||||
edje_module_load(ed->file->external_dir->entries[i].entry);
|
|
||||||
}
|
|
||||||
|
|
||||||
_edje_textblock_style_all_update(ed);
|
|
||||||
|
|
||||||
ed->has_entries = EINA_FALSE;
|
ed->has_entries = EINA_FALSE;
|
||||||
if (ed->file && ed->file->mo_dir)
|
|
||||||
_edje_extract_mo_files(ed->file);
|
|
||||||
|
|
||||||
if (ed->collection)
|
if (ed->collection)
|
||||||
{
|
{
|
||||||
|
@ -875,74 +856,17 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
if (ed->collection->physics_enabled)
|
if (ed->collection->physics_enabled)
|
||||||
#ifdef HAVE_EPHYSICS
|
_edje_process_physics(ed);
|
||||||
{
|
|
||||||
if (EPH_LOAD())
|
|
||||||
{
|
|
||||||
EPH_CALL(ephysics_init)();
|
|
||||||
ed->world = EPH_CALL(ephysics_world_new)();
|
|
||||||
EPH_CALL(ephysics_world_event_callback_add)
|
|
||||||
(ed->world, EPHYSICS_CALLBACK_WORLD_UPDATE,
|
|
||||||
_edje_physics_world_update_cb, ed);
|
|
||||||
EPH_CALL(ephysics_world_rate_set)
|
|
||||||
(ed->world, ed->collection->physics.world.rate);
|
|
||||||
EPH_CALL(ephysics_world_gravity_set)
|
|
||||||
(ed->world, ed->collection->physics.world.gravity.x,
|
|
||||||
ed->collection->physics.world.gravity.y,
|
|
||||||
ed->collection->physics.world.gravity.z);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
ERR("Edje compiled without support to physics.");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* handle multiseat stuff */
|
/* handle multiseat stuff */
|
||||||
_edje_devices_add(ed, tev);
|
_edje_devices_add(ed, tev);
|
||||||
|
|
||||||
/* colorclass stuff */
|
/* colorclass stuff */
|
||||||
for (i = 0; i < ed->collection->parts_count; ++i)
|
_edje_process_colorclass(ed);
|
||||||
{
|
|
||||||
Edje_Part *ep;
|
|
||||||
unsigned int k;
|
|
||||||
|
|
||||||
ep = ed->collection->parts[i];
|
|
||||||
|
|
||||||
/* Register any color classes in this parts descriptions. */
|
|
||||||
if ((ep->default_desc) && (ep->default_desc->color_class))
|
|
||||||
efl_observable_observer_add(_edje_color_class_member, ep->default_desc->color_class, obj);
|
|
||||||
|
|
||||||
for (k = 0; k < ep->other.desc_count; k++)
|
|
||||||
{
|
|
||||||
Edje_Part_Description_Common *desc;
|
|
||||||
|
|
||||||
desc = ep->other.desc[k];
|
|
||||||
|
|
||||||
if (desc->color_class)
|
|
||||||
efl_observable_observer_add(_edje_color_class_member, desc->color_class, obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* sizeclass stuff */
|
/* sizeclass stuff */
|
||||||
for (i = 0; i < ed->collection->parts_count; ++i)
|
_edje_process_sizeclass(ed);
|
||||||
{
|
|
||||||
Edje_Part *ep;
|
|
||||||
unsigned int k;
|
|
||||||
|
|
||||||
ep = ed->collection->parts[i];
|
|
||||||
|
|
||||||
/* Register any size classes in this parts descriptions. */
|
|
||||||
if ((ep->default_desc) && (ep->default_desc->size_class))
|
|
||||||
efl_observable_observer_add(_edje_size_class_member, ep->default_desc->size_class, obj);
|
|
||||||
|
|
||||||
for (k = 0; k < ep->other.desc_count; k++)
|
|
||||||
{
|
|
||||||
Edje_Part_Description_Common *desc;
|
|
||||||
|
|
||||||
desc = ep->other.desc[k];
|
|
||||||
|
|
||||||
if (desc->size_class)
|
|
||||||
efl_observable_observer_add(_edje_size_class_member, desc->size_class, obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* build real parts */
|
/* build real parts */
|
||||||
for (n = 0; n < ed->collection->parts_count; n++)
|
for (n = 0; n < ed->collection->parts_count; n++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -247,24 +247,6 @@ _edje_textblock_style_search(Edje *ed, const char *style)
|
||||||
return eina_hash_find(ed->file->style_hash, style);
|
return eina_hash_find(ed->file->style_hash, style);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
|
||||||
_edje_textblock_style_member_add(Edje *ed, Edje_Style *stl)
|
|
||||||
{
|
|
||||||
Edje_Style_Tag *tag;
|
|
||||||
Eina_List *l;
|
|
||||||
|
|
||||||
if (!stl) return;
|
|
||||||
|
|
||||||
EINA_LIST_FOREACH(stl->tags, l, tag)
|
|
||||||
{
|
|
||||||
if (tag->text_class)
|
|
||||||
efl_observable_observer_add(_edje_text_class_member, tag->text_class, ed->obj);
|
|
||||||
}
|
|
||||||
/* Newly added text_class member should be updated
|
|
||||||
according to the latest text_class's status. */
|
|
||||||
_edje_textblock_style_update(ed, stl, EINA_TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
_edje_textblock_style_observer_add(Edje_Style *stl, Efl_Observer* observer)
|
_edje_textblock_style_observer_add(Edje_Style *stl, Efl_Observer* observer)
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,9 +8,9 @@ interface @beta Efl.Pack_Layout
|
||||||
methods {
|
methods {
|
||||||
// Note: Do we need a layout_force or a sync flag in layout_request?
|
// Note: Do we need a layout_force or a sync flag in layout_request?
|
||||||
layout_request {
|
layout_request {
|
||||||
[[Requests EFL to call the @.layout_update method on this object.
|
[[Requests EFL to recalculate the layout of this object.
|
||||||
|
|
||||||
This @.layout_update may be called asynchronously.
|
Internal layout methods might be called asynchronously.
|
||||||
]]
|
]]
|
||||||
}
|
}
|
||||||
layout_update @protected {
|
layout_update @protected {
|
||||||
|
|
|
@ -67,6 +67,7 @@ static const char *_efl_ui_layout_swallow_parts[] = {
|
||||||
"efl.icon",
|
"efl.icon",
|
||||||
"efl.end",
|
"efl.end",
|
||||||
"efl.background",
|
"efl.background",
|
||||||
|
"efl.extra",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -259,7 +259,7 @@ abstract Efl.Object
|
||||||
@.invalidate and then to @.destructor.
|
@.invalidate and then to @.destructor.
|
||||||
See the Life Cycle section in this class' description.]]
|
See the Life Cycle section in this class' description.]]
|
||||||
}
|
}
|
||||||
name_find @const {
|
name_find @const @beta {
|
||||||
[[Find a child object with the given name and return it.
|
[[Find a child object with the given name and return it.
|
||||||
|
|
||||||
The search string can be a glob (shell style, using *). It can also
|
The search string can be a glob (shell style, using *). It can also
|
||||||
|
|
|
@ -89,11 +89,17 @@ _callables_find(const Eolian_Class *cl, Eina_List **funcs,
|
||||||
|
|
||||||
const Eolian_Class *pcl = eolian_class_parent_get(cl);
|
const Eolian_Class *pcl = eolian_class_parent_get(cl);
|
||||||
if (pcl)
|
if (pcl)
|
||||||
total += _callables_find_body(pcl, funcs, events, written);
|
{
|
||||||
|
total += _callables_find_body(pcl, funcs, events, written);
|
||||||
|
total += _callables_find(pcl, funcs, events, written);
|
||||||
|
}
|
||||||
|
|
||||||
Eina_Iterator *itr = eolian_class_extensions_get(cl);
|
Eina_Iterator *itr = eolian_class_extensions_get(cl);
|
||||||
EINA_ITERATOR_FOREACH(itr, pcl)
|
EINA_ITERATOR_FOREACH(itr, pcl)
|
||||||
total += _callables_find_body(pcl, funcs, events, written);
|
{
|
||||||
|
total += _callables_find_body(pcl, funcs, events, written);
|
||||||
|
total += _callables_find(pcl, funcs, events, written);
|
||||||
|
}
|
||||||
|
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1015,5 +1015,49 @@ evas_object_vg_file_set(Evas_Object *obj, const char *file, const char *key)
|
||||||
return efl_file_simple_load(obj, file, key);
|
return efl_file_simple_load(obj, file, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline Efl_Canvas_Vg_Fill_Mode
|
||||||
|
_evas_object_vg_fill_mode_to_efl_ui_canvas_object_vg_fill_mode(Evas_Object_Vg_Fill_Mode mode)
|
||||||
|
{
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
#define CONVERT_MODE(MODE) case EVAS_OBJECT_VG_FILL_MODE_##MODE: return EFL_CANVAS_VG_FILL_MODE_##MODE
|
||||||
|
CONVERT_MODE(NONE);
|
||||||
|
CONVERT_MODE(STRETCH);
|
||||||
|
CONVERT_MODE(MEET);
|
||||||
|
CONVERT_MODE(SLICE);
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
#undef CONVERT_MODE
|
||||||
|
return EFL_CANVAS_VG_FILL_MODE_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline Evas_Object_Vg_Fill_Mode
|
||||||
|
_efl_ui_canvas_object_vg_fill_mode_to_evas_object_vg_fill_mode(Efl_Canvas_Vg_Fill_Mode mode)
|
||||||
|
{
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
#define CONVERT_MODE(MODE) case EFL_CANVAS_VG_FILL_MODE_##MODE: return EVAS_OBJECT_VG_FILL_MODE_##MODE
|
||||||
|
CONVERT_MODE(NONE);
|
||||||
|
CONVERT_MODE(STRETCH);
|
||||||
|
CONVERT_MODE(MEET);
|
||||||
|
CONVERT_MODE(SLICE);
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
#undef CONVERT_MODE
|
||||||
|
return EVAS_OBJECT_VG_FILL_MODE_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
evas_object_vg_fill_mode_set(Efl_VG *obj, Evas_Object_Vg_Fill_Mode fill_mode)
|
||||||
|
{
|
||||||
|
efl_canvas_vg_object_fill_mode_set(obj, _evas_object_vg_fill_mode_to_efl_ui_canvas_object_vg_fill_mode(fill_mode));
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Evas_Object_Vg_Fill_Mode
|
||||||
|
evas_object_vg_fill_mode_get(const Efl_VG *obj)
|
||||||
|
{
|
||||||
|
return _efl_ui_canvas_object_vg_fill_mode_to_evas_object_vg_fill_mode(efl_canvas_vg_object_fill_mode_get(obj));
|
||||||
|
}
|
||||||
|
|
||||||
#include "efl_canvas_vg_object.eo.c"
|
#include "efl_canvas_vg_object.eo.c"
|
||||||
#include "efl_canvas_vg_object_eo.legacy.c"
|
#include "efl_canvas_vg_object_eo.legacy.c"
|
||||||
|
|
|
@ -1,48 +1,36 @@
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_object_vg_fill_mode_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_Fill_Mode fill_mode)
|
evas_object_vg_viewbox_set(Efl_VG *obj, Eina_Rect viewbox)
|
||||||
{
|
|
||||||
efl_canvas_vg_object_fill_mode_set(obj, fill_mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Efl_Canvas_Vg_Fill_Mode
|
|
||||||
evas_object_vg_fill_mode_get(const Efl_Canvas_Vg_Object *obj)
|
|
||||||
{
|
|
||||||
return efl_canvas_vg_object_fill_mode_get(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI void
|
|
||||||
evas_object_vg_viewbox_set(Efl_Canvas_Vg_Object *obj, Eina_Rect viewbox)
|
|
||||||
{
|
{
|
||||||
efl_canvas_vg_object_viewbox_set(obj, viewbox);
|
efl_canvas_vg_object_viewbox_set(obj, viewbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Rect
|
EAPI Eina_Rect
|
||||||
evas_object_vg_viewbox_get(const Efl_Canvas_Vg_Object *obj)
|
evas_object_vg_viewbox_get(const Efl_VG *obj)
|
||||||
{
|
{
|
||||||
return efl_canvas_vg_object_viewbox_get(obj);
|
return efl_canvas_vg_object_viewbox_get(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_object_vg_viewbox_align_set(Efl_Canvas_Vg_Object *obj, double align_x, double align_y)
|
evas_object_vg_viewbox_align_set(Efl_VG *obj, double align_x, double align_y)
|
||||||
{
|
{
|
||||||
efl_canvas_vg_object_viewbox_align_set(obj, align_x, align_y);
|
efl_canvas_vg_object_viewbox_align_set(obj, align_x, align_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_object_vg_viewbox_align_get(const Efl_Canvas_Vg_Object *obj, double *align_x, double *align_y)
|
evas_object_vg_viewbox_align_get(const Efl_VG *obj, double *align_x, double *align_y)
|
||||||
{
|
{
|
||||||
efl_canvas_vg_object_viewbox_align_get(obj, align_x, align_y);
|
efl_canvas_vg_object_viewbox_align_get(obj, align_x, align_y);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_object_vg_root_node_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_Node *root)
|
evas_object_vg_root_node_set(Efl_VG *obj, Efl_Canvas_Vg_Node *root)
|
||||||
{
|
{
|
||||||
efl_canvas_vg_object_root_node_set(obj, root);
|
efl_canvas_vg_object_root_node_set(obj, root);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Efl_Canvas_Vg_Node *
|
EAPI Efl_Canvas_Vg_Node *
|
||||||
evas_object_vg_root_node_get(const Efl_Canvas_Vg_Object *obj)
|
evas_object_vg_root_node_get(const Efl_VG *obj)
|
||||||
{
|
{
|
||||||
return efl_canvas_vg_object_root_node_get(obj);
|
return efl_canvas_vg_object_root_node_get(obj);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,40 +1,33 @@
|
||||||
#ifndef _EFL_CANVAS_VG_OBJECT_EO_LEGACY_H_
|
#ifndef _EVAS_OBJECT_VG_EO_LEGACY_H_
|
||||||
#define _EFL_CANVAS_VG_OBJECT_EO_LEGACY_H_
|
#define _EVAS_OBJECT_VG_EO_LEGACY_H_
|
||||||
|
|
||||||
#ifndef _EFL_CANVAS_VG_OBJECT_EO_CLASS_TYPE
|
#ifndef _EVAS_OBJECT_VG_EO_LEGACY_TYPES
|
||||||
#define _EFL_CANVAS_VG_OBJECT_EO_CLASS_TYPE
|
#define _EVAS_OBJECT_VG_EO_LEGACY_TYPES
|
||||||
|
|
||||||
typedef Eo Efl_Canvas_Vg_Object;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _EFL_CANVAS_VG_OBJECT_EO_TYPES
|
|
||||||
#define _EFL_CANVAS_VG_OBJECT_EO_TYPES
|
|
||||||
|
|
||||||
/** Enumeration that defines how viewbox will be filled int the vg canvs's
|
/** Enumeration that defines how viewbox will be filled int the vg canvs's
|
||||||
* viewport. default Fill_Mode is @c none
|
* viewport. default Fill_Mode is @c none
|
||||||
*
|
*
|
||||||
* @ingroup Efl_Canvas_Vg
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
EFL_CANVAS_VG_FILL_MODE_NONE = 0, /**< Don't scale the viewbox. Placed it
|
EVAS_OBJECT_VG_FILL_MODE_NONE = 0, /**< Don't scale the viewbox. Placed it
|
||||||
* inside viewport taking align property
|
* inside viewport taking align property
|
||||||
* into account */
|
* into account */
|
||||||
EFL_CANVAS_VG_FILL_MODE_STRETCH, /**< Scale the viewbox so that it matches the
|
EVAS_OBJECT_VG_FILL_MODE_STRETCH, /**< Scale the viewbox so that it matches the
|
||||||
* canvas viewport. Aaspect ratio might be
|
* canvas viewport. Aaspect ratio might be
|
||||||
* changed. */
|
* changed. */
|
||||||
EFL_CANVAS_VG_FILL_MODE_MEET, /**< Scale the viewbox so that it fits inside
|
EVAS_OBJECT_VG_FILL_MODE_MEET, /**< Scale the viewbox so that it fits inside
|
||||||
* canvas viewport while maintaining the aspect
|
* canvas viewport while maintaining the aspect
|
||||||
* ratio. At least one of the dimensions of the
|
* ratio. At least one of the dimensions of the
|
||||||
* viewbox should be equal to the corresponding
|
* viewbox should be equal to the corresponding
|
||||||
* dimension of the viewport. */
|
* dimension of the viewport. */
|
||||||
EFL_CANVAS_VG_FILL_MODE_SLICE /**< Scale the viewbox so that it covers the
|
EVAS_OBJECT_VG_FILL_MODE_SLICE /**< Scale the viewbox so that it covers the
|
||||||
* entire canvas viewport while maintaining the
|
* entire canvas viewport while maintaining the
|
||||||
* aspect ratio. At least one of the dimensions
|
* aspect ratio. At least one of the dimensions
|
||||||
* of the viewbox should be equal to the
|
* of the viewbox should be equal to the
|
||||||
* corresponding dimension of the viewport. */
|
* corresponding dimension of the viewport. */
|
||||||
} Efl_Canvas_Vg_Fill_Mode;
|
} Evas_Object_Vg_Fill_Mode;
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -47,7 +40,7 @@ typedef enum
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI void evas_object_vg_fill_mode_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_Fill_Mode fill_mode);
|
EAPI void evas_object_vg_fill_mode_set(Efl_VG *obj, Evas_Object_Vg_Fill_Mode fill_mode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Control how the viewbox is mapped to the vg canvas's viewport.
|
* @brief Control how the viewbox is mapped to the vg canvas's viewport.
|
||||||
|
@ -58,7 +51,7 @@ EAPI void evas_object_vg_fill_mode_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI Efl_Canvas_Vg_Fill_Mode evas_object_vg_fill_mode_get(const Efl_Canvas_Vg_Object *obj);
|
EAPI Evas_Object_Vg_Fill_Mode evas_object_vg_fill_mode_get(const Efl_VG *obj);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Sets the viewbox for the evas vg canvas. viewbox if set should be
|
* @brief Sets the viewbox for the evas vg canvas. viewbox if set should be
|
||||||
|
@ -69,7 +62,7 @@ EAPI Efl_Canvas_Vg_Fill_Mode evas_object_vg_fill_mode_get(const Efl_Canvas_Vg_Ob
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI void evas_object_vg_viewbox_set(Efl_Canvas_Vg_Object *obj, Eina_Rect viewbox);
|
EAPI void evas_object_vg_viewbox_set(Efl_VG *obj, Eina_Rect viewbox);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the current viewbox from the evas_object_vg
|
* @brief Get the current viewbox from the evas_object_vg
|
||||||
|
@ -80,7 +73,7 @@ EAPI void evas_object_vg_viewbox_set(Efl_Canvas_Vg_Object *obj, Eina_Rect viewbo
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI Eina_Rect evas_object_vg_viewbox_get(const Efl_Canvas_Vg_Object *obj);
|
EAPI Eina_Rect evas_object_vg_viewbox_get(const Efl_VG *obj);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Control how the viewbox is positioned inside the viewport.
|
* @brief Control how the viewbox is positioned inside the viewport.
|
||||||
|
@ -91,7 +84,7 @@ EAPI Eina_Rect evas_object_vg_viewbox_get(const Efl_Canvas_Vg_Object *obj);
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI void evas_object_vg_viewbox_align_set(Efl_Canvas_Vg_Object *obj, double align_x, double align_y);
|
EAPI void evas_object_vg_viewbox_align_set(Efl_VG *obj, double align_x, double align_y);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Control how the viewbox is positioned inside the viewport.
|
* @brief Control how the viewbox is positioned inside the viewport.
|
||||||
|
@ -102,7 +95,7 @@ EAPI void evas_object_vg_viewbox_align_set(Efl_Canvas_Vg_Object *obj, double ali
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI void evas_object_vg_viewbox_align_get(const Efl_Canvas_Vg_Object *obj, double *align_x, double *align_y);
|
EAPI void evas_object_vg_viewbox_align_get(const Efl_VG *obj, double *align_x, double *align_y);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the root node of the evas_object_vg.
|
* @brief Set the root node of the evas_object_vg.
|
||||||
|
@ -117,7 +110,7 @@ EAPI void evas_object_vg_viewbox_align_get(const Efl_Canvas_Vg_Object *obj, doub
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI void evas_object_vg_root_node_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_Node *root);
|
EAPI void evas_object_vg_root_node_set(Efl_VG *obj, Efl_Canvas_Vg_Node *root);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get the root node of the evas_object_vg.
|
* @brief Get the root node of the evas_object_vg.
|
||||||
|
@ -130,6 +123,6 @@ EAPI void evas_object_vg_root_node_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_
|
||||||
*
|
*
|
||||||
* @ingroup Evas_Object_Vg_Group
|
* @ingroup Evas_Object_Vg_Group
|
||||||
*/
|
*/
|
||||||
EAPI Efl_Canvas_Vg_Node *evas_object_vg_root_node_get(const Efl_Canvas_Vg_Object *obj);
|
EAPI Efl_Canvas_Vg_Node *evas_object_vg_root_node_get(const Efl_VG *obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -131,14 +131,16 @@ class Eolian_Type_Builtin_Type(IntEnum):
|
||||||
|
|
||||||
ANY_VALUE = 40
|
ANY_VALUE = 40
|
||||||
ANY_VALUE_PTR = 41
|
ANY_VALUE_PTR = 41
|
||||||
|
BINBUF = 42
|
||||||
|
EVENT = 43
|
||||||
|
|
||||||
MSTRING = 42
|
MSTRING = 44
|
||||||
STRING = 43
|
STRING = 45
|
||||||
STRINGSHARE = 44
|
STRINGSHARE = 46
|
||||||
STRBUF = 45
|
STRBUF = 47
|
||||||
|
|
||||||
VOID_PTR = 46
|
VOID_PTR = 48
|
||||||
FREE_CB = 47
|
FREE_CB = 49
|
||||||
|
|
||||||
class Eolian_C_Type_Type(IntEnum):
|
class Eolian_C_Type_Type(IntEnum):
|
||||||
DEFAULT = 0
|
DEFAULT = 0
|
||||||
|
|
|
@ -140,7 +140,8 @@ ecore_wl2_test_window(TCase *tc)
|
||||||
tcase_add_test(tc, wl2_window_surface_test);
|
tcase_add_test(tc, wl2_window_surface_test);
|
||||||
tcase_add_test(tc, wl2_window_rotation_get);
|
tcase_add_test(tc, wl2_window_rotation_get);
|
||||||
tcase_add_test(tc, wl2_window_output_find);
|
tcase_add_test(tc, wl2_window_output_find);
|
||||||
tcase_add_test(tc, wl2_window_aux_hints_supported_get);
|
if (getenv("E_START"))
|
||||||
|
tcase_add_test(tc, wl2_window_aux_hints_supported_get);
|
||||||
tcase_add_test(tc, wl2_window_display_get);
|
tcase_add_test(tc, wl2_window_display_get);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue