Merge branch 'master' into devs/hermet/lottie

This commit is contained in:
Hermet Park 2019-08-29 10:58:15 +09:00
commit 1e2b3d5406
13 changed files with 276 additions and 232 deletions

View File

@ -436,7 +436,7 @@ struct struct_definition_generator
// Constructor with default parameters for easy struct initialization
if(!as_generator(
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 << scope_tab << field_argument_default) % ",\n")
<< indent << scope_tab << ")\n"

View File

@ -387,6 +387,93 @@ _edje_file_coll_open(Edje_File *edf, const char *coll)
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
// in their dictionary for hashes. this works around crashes loading such
// 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;
}

View File

@ -52,93 +52,6 @@ _edje_smart_nested_smart_class_new(void)
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 *
edje_smart_nested_add(Evas *evas)
{
@ -771,6 +684,85 @@ _edje_devices_add(Edje *ed, Evas *tev)
_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
_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);
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;
if (ed->file && ed->file->mo_dir)
_edje_extract_mo_files(ed->file);
if (ed->collection)
{
@ -875,74 +856,17 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
unsigned int i;
if (ed->collection->physics_enabled)
#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
_edje_process_physics(ed);
/* handle multiseat stuff */
_edje_devices_add(ed, tev);
/* colorclass stuff */
for (i = 0; i < ed->collection->parts_count; ++i)
{
Edje_Part *ep;
unsigned int k;
_edje_process_colorclass(ed);
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 */
for (i = 0; i < ed->collection->parts_count; ++i)
{
Edje_Part *ep;
unsigned int k;
_edje_process_sizeclass(ed);
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 */
for (n = 0; n < ed->collection->parts_count; n++)
{

View File

@ -247,24 +247,6 @@ _edje_textblock_style_search(Edje *ed, const char *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
_edje_textblock_style_observer_add(Edje_Style *stl, Efl_Observer* observer)
{

View File

@ -8,9 +8,9 @@ interface @beta Efl.Pack_Layout
methods {
// Note: Do we need a layout_force or a sync flag in 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 {

View File

@ -67,6 +67,7 @@ static const char *_efl_ui_layout_swallow_parts[] = {
"efl.icon",
"efl.end",
"efl.background",
"efl.extra",
NULL
};

View File

@ -259,7 +259,7 @@ abstract Efl.Object
@.invalidate and then to @.destructor.
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.
The search string can be a glob (shell style, using *). It can also

View File

@ -89,11 +89,17 @@ _callables_find(const Eolian_Class *cl, Eina_List **funcs,
const Eolian_Class *pcl = eolian_class_parent_get(cl);
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_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;
}

View File

@ -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);
}
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.legacy.c"

View File

@ -1,48 +1,36 @@
EAPI void
evas_object_vg_fill_mode_set(Efl_Canvas_Vg_Object *obj, Efl_Canvas_Vg_Fill_Mode fill_mode)
{
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)
evas_object_vg_viewbox_set(Efl_VG *obj, Eina_Rect viewbox)
{
efl_canvas_vg_object_viewbox_set(obj, viewbox);
}
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);
}
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);
}
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);
}
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);
}
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);
}

View File

@ -1,40 +1,33 @@
#ifndef _EFL_CANVAS_VG_OBJECT_EO_LEGACY_H_
#define _EFL_CANVAS_VG_OBJECT_EO_LEGACY_H_
#ifndef _EVAS_OBJECT_VG_EO_LEGACY_H_
#define _EVAS_OBJECT_VG_EO_LEGACY_H_
#ifndef _EFL_CANVAS_VG_OBJECT_EO_CLASS_TYPE
#define _EFL_CANVAS_VG_OBJECT_EO_CLASS_TYPE
typedef Eo Efl_Canvas_Vg_Object;
#endif
#ifndef _EFL_CANVAS_VG_OBJECT_EO_TYPES
#define _EFL_CANVAS_VG_OBJECT_EO_TYPES
#ifndef _EVAS_OBJECT_VG_EO_LEGACY_TYPES
#define _EVAS_OBJECT_VG_EO_LEGACY_TYPES
/** Enumeration that defines how viewbox will be filled int the vg canvs's
* viewport. default Fill_Mode is @c none
*
* @ingroup Efl_Canvas_Vg
* @ingroup Evas_Object_Vg_Group
*/
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
* 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
* 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
* ratio. At least one of the dimensions of the
* viewbox should be equal to the corresponding
* 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
* aspect ratio. At least one of the dimensions
* of the viewbox should be equal to the
* corresponding dimension of the viewport. */
} Efl_Canvas_Vg_Fill_Mode;
} Evas_Object_Vg_Fill_Mode;
#endif
@ -47,7 +40,7 @@ typedef enum
*
* @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.
@ -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
*/
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
@ -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
*/
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
@ -80,7 +73,7 @@ EAPI void evas_object_vg_viewbox_set(Efl_Canvas_Vg_Object *obj, Eina_Rect viewbo
*
* @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.
@ -91,7 +84,7 @@ EAPI Eina_Rect evas_object_vg_viewbox_get(const Efl_Canvas_Vg_Object *obj);
*
* @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.
@ -102,7 +95,7 @@ EAPI void evas_object_vg_viewbox_align_set(Efl_Canvas_Vg_Object *obj, double ali
*
* @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.
@ -117,7 +110,7 @@ EAPI void evas_object_vg_viewbox_align_get(const Efl_Canvas_Vg_Object *obj, doub
*
* @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.
@ -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
*/
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

View File

@ -131,14 +131,16 @@ class Eolian_Type_Builtin_Type(IntEnum):
ANY_VALUE = 40
ANY_VALUE_PTR = 41
BINBUF = 42
EVENT = 43
MSTRING = 42
STRING = 43
STRINGSHARE = 44
STRBUF = 45
MSTRING = 44
STRING = 45
STRINGSHARE = 46
STRBUF = 47
VOID_PTR = 46
FREE_CB = 47
VOID_PTR = 48
FREE_CB = 49
class Eolian_C_Type_Type(IntEnum):
DEFAULT = 0

View File

@ -140,7 +140,8 @@ ecore_wl2_test_window(TCase *tc)
tcase_add_test(tc, wl2_window_surface_test);
tcase_add_test(tc, wl2_window_rotation_get);
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);
}
}