summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-09-06 15:14:07 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-09-13 09:57:05 +0900
commit46001cde383997bd440c1d39e95ed8ffec7074cf (patch)
tree942af55c68f3a059b4207d114d9bb289ab09bf85 /src
parent7e2382853ee54a7e0a92a14cde52b1de5fa7313a (diff)
edje: Remove use of smart clipped data
This removes dependency on a legacy structure. Edje object does not change the smart data, unlike evas box and grid.
Diffstat (limited to 'src')
-rw-r--r--src/lib/edje/edje_calc.c6
-rw-r--r--src/lib/edje/edje_edit.c42
-rw-r--r--src/lib/edje/edje_embryo.c6
-rw-r--r--src/lib/edje/edje_entry.c36
-rw-r--r--src/lib/edje/edje_load.c50
-rw-r--r--src/lib/edje/edje_lua2.c2
-rw-r--r--src/lib/edje/edje_main.c9
-rw-r--r--src/lib/edje/edje_private.h10
-rw-r--r--src/lib/edje/edje_smart.c5
-rw-r--r--src/lib/edje/edje_util.c2
10 files changed, 78 insertions, 90 deletions
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 4ec2d02..8c81147 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -5286,7 +5286,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
5286 else if (ep->part->clip_to_id >= 0) 5286 else if (ep->part->clip_to_id >= 0)
5287 evas_object_clip_set(ep->object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object); 5287 evas_object_clip_set(ep->object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object);
5288 else 5288 else
5289 evas_object_clip_set(ep->object, ed->base->clipper); 5289 evas_object_clip_set(ep->object, ed->base.clipper);
5290 } 5290 }
5291 break; 5291 break;
5292 5292
@@ -5424,7 +5424,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
5424 case EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE: 5424 case EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE:
5425 { 5425 {
5426 Eo *primitive = NULL; 5426 Eo *primitive = NULL;
5427 primitive = efl_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, ed->base->evas); 5427 primitive = efl_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, ed->base.evas);
5428 evas_canvas3d_primitive_form_set(primitive, pd_mesh_node->mesh_node.mesh.primitive); 5428 evas_canvas3d_primitive_form_set(primitive, pd_mesh_node->mesh_node.mesh.primitive);
5429 5429
5430 _edje_calc_params_need_type_node(pf); 5430 _edje_calc_params_need_type_node(pf);
@@ -5554,7 +5554,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
5554 else if (ep->part->clip_to_id >= 0) 5554 else if (ep->part->clip_to_id >= 0)
5555 evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object); 5555 evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->table_parts[ep->part->clip_to_id % ed->table_parts_size]->object);
5556 else 5556 else
5557 evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->base->clipper); 5557 evas_object_clip_set(ep->typedata.swallow->swallowed_object, ed->base.clipper);
5558 } 5558 }
5559 5559
5560 if (pf->visible) 5560 if (pf->visible)
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 16839ba..f12eeb3 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -541,7 +541,7 @@ _edje_import_image_file(Edje *ed, const char *path, int id)
541 int bytes; 541 int bytes;
542 542
543 /* Try to load the file */ 543 /* Try to load the file */
544 im = evas_object_image_add(ed->base->evas); 544 im = evas_object_image_add(ed->base.evas);
545 if (!im) return EINA_FALSE; 545 if (!im) return EINA_FALSE;
546 546
547 evas_object_image_file_set(im, path, NULL); 547 evas_object_image_file_set(im, path, NULL);
@@ -1015,7 +1015,7 @@ _edje_edit_group_references_update(Evas_Object *obj, const char *old_group_name,
1015 1015
1016// pc = ed->collection; 1016// pc = ed->collection;
1017 1017
1018 part_obj = edje_edit_object_add(ed->base->evas); 1018 part_obj = edje_edit_object_add(ed->base.evas);
1019 1019
1020 old = eina_stringshare_add(old_group_name); 1020 old = eina_stringshare_add(old_group_name);
1021 1021
@@ -1144,7 +1144,7 @@ _delete_play_actions(Evas_Object *obj, const char *name, int action_type, Eet_Fi
1144 if (pce->group_alias) 1144 if (pce->group_alias)
1145 continue; 1145 continue;
1146 1146
1147 eeo = edje_edit_object_add(ed->base->evas); 1147 eeo = edje_edit_object_add(ed->base.evas);
1148 if (!efl_isa(eeo, EDJE_OBJECT_CLASS)) 1148 if (!efl_isa(eeo, EDJE_OBJECT_CLASS))
1149 return EINA_FALSE; 1149 return EINA_FALSE;
1150 1150
@@ -3227,23 +3227,23 @@ _edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type
3227 rp->part = ep; 3227 rp->part = ep;
3228 3228
3229 if (ep->type == EDJE_PART_TYPE_RECTANGLE) 3229 if (ep->type == EDJE_PART_TYPE_RECTANGLE)
3230 rp->object = evas_object_rectangle_add(ed->base->evas); 3230 rp->object = evas_object_rectangle_add(ed->base.evas);
3231 else if (ep->type == EDJE_PART_TYPE_VECTOR) 3231 else if (ep->type == EDJE_PART_TYPE_VECTOR)
3232 { 3232 {
3233 rp->type = EDJE_PART_TYPE_VECTOR; 3233 rp->type = EDJE_PART_TYPE_VECTOR;
3234 rp->typedata.vector = calloc(1, sizeof(Edje_Real_Part_Vector)); 3234 rp->typedata.vector = calloc(1, sizeof(Edje_Real_Part_Vector));
3235 if (rp->typedata.vector) 3235 if (rp->typedata.vector)
3236 rp->typedata.vector->cur.svg_id = -1; 3236 rp->typedata.vector->cur.svg_id = -1;
3237 rp->object = evas_object_vg_add(ed->base->evas); 3237 rp->object = evas_object_vg_add(ed->base.evas);
3238 } 3238 }
3239 else if (ep->type == EDJE_PART_TYPE_IMAGE || ep->type == EDJE_PART_TYPE_PROXY) 3239 else if (ep->type == EDJE_PART_TYPE_IMAGE || ep->type == EDJE_PART_TYPE_PROXY)
3240 rp->object = evas_object_image_add(ed->base->evas); 3240 rp->object = evas_object_image_add(ed->base.evas);
3241 else if (ep->type == EDJE_PART_TYPE_TEXT) 3241 else if (ep->type == EDJE_PART_TYPE_TEXT)
3242 { 3242 {
3243 rp->type = EDJE_RP_TYPE_TEXT; 3243 rp->type = EDJE_RP_TYPE_TEXT;
3244 rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text)); 3244 rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text));
3245 _edje_text_part_on_add(ed, rp); 3245 _edje_text_part_on_add(ed, rp);
3246 rp->object = evas_object_text_add(ed->base->evas); 3246 rp->object = evas_object_text_add(ed->base.evas);
3247 evas_object_text_font_source_set(rp->object, ed->path); 3247 evas_object_text_font_source_set(rp->object, ed->path);
3248 } 3248 }
3249 else if (ep->type == EDJE_PART_TYPE_SWALLOW || 3249 else if (ep->type == EDJE_PART_TYPE_SWALLOW ||
@@ -3252,7 +3252,7 @@ _edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type
3252 { 3252 {
3253 rp->type = EDJE_RP_TYPE_SWALLOW; 3253 rp->type = EDJE_RP_TYPE_SWALLOW;
3254 rp->typedata.swallow = calloc(1, sizeof(Edje_Real_Part_Swallow)); 3254 rp->typedata.swallow = calloc(1, sizeof(Edje_Real_Part_Swallow));
3255 rp->object = evas_object_rectangle_add(ed->base->evas); 3255 rp->object = evas_object_rectangle_add(ed->base.evas);
3256 evas_object_color_set(rp->object, 0, 0, 0, 0); 3256 evas_object_color_set(rp->object, 0, 0, 0, 0);
3257 evas_object_pass_events_set(rp->object, 1); 3257 evas_object_pass_events_set(rp->object, 1);
3258 evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB); 3258 evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
@@ -3261,20 +3261,20 @@ _edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type
3261 { 3261 {
3262 rp->type = EDJE_RP_TYPE_TEXT; 3262 rp->type = EDJE_RP_TYPE_TEXT;
3263 rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text)); 3263 rp->typedata.text = calloc(1, sizeof(Edje_Real_Part_Text));
3264 rp->object = evas_object_textblock_add(ed->base->evas); 3264 rp->object = evas_object_textblock_add(ed->base.evas);
3265 } 3265 }
3266 else if (ep->type == EDJE_PART_TYPE_BOX) 3266 else if (ep->type == EDJE_PART_TYPE_BOX)
3267 { 3267 {
3268 rp->type = EDJE_RP_TYPE_CONTAINER; 3268 rp->type = EDJE_RP_TYPE_CONTAINER;
3269 rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container)); 3269 rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container));
3270 rp->object = evas_object_box_add(ed->base->evas); 3270 rp->object = evas_object_box_add(ed->base.evas);
3271 rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object); 3271 rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object);
3272 } 3272 }
3273 else if (ep->type == EDJE_PART_TYPE_TABLE) 3273 else if (ep->type == EDJE_PART_TYPE_TABLE)
3274 { 3274 {
3275 rp->type = EDJE_RP_TYPE_CONTAINER; 3275 rp->type = EDJE_RP_TYPE_CONTAINER;
3276 rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container)); 3276 rp->typedata.container = calloc(1, sizeof(Edje_Real_Part_Container));
3277 rp->object = evas_object_table_add(ed->base->evas); 3277 rp->object = evas_object_table_add(ed->base.evas);
3278 } 3278 }
3279 else if (ep->type != EDJE_PART_TYPE_SPACER) 3279 else if (ep->type != EDJE_PART_TYPE_SPACER)
3280 ERR("wrong part type %i!", ep->type); 3280 ERR("wrong part type %i!", ep->type);
@@ -3314,8 +3314,8 @@ _edje_edit_real_part_add(Evas_Object *obj, const char *name, Edje_Part_Type type
3314 if (child) 3314 if (child)
3315 _edje_real_part_swallow(ed, rp, child, EINA_TRUE); 3315 _edje_real_part_swallow(ed, rp, child, EINA_TRUE);
3316 } 3316 }
3317 evas_object_clip_set(rp->object, ed->base->clipper); 3317 evas_object_clip_set(rp->object, ed->base.clipper);
3318 evas_object_show(ed->base->clipper); 3318 evas_object_show(ed->base.clipper);
3319 } 3319 }
3320 3320
3321 /* Update table_parts */ 3321 /* Update table_parts */
@@ -3393,7 +3393,7 @@ edje_edit_part_del(Evas_Object *obj, const char *part)
3393 3393
3394 if (real->part->clip_to_id == rp->part->id) 3394 if (real->part->clip_to_id == rp->part->id)
3395 { 3395 {
3396 evas_object_clip_set(real->object, ed->base->clipper); 3396 evas_object_clip_set(real->object, ed->base.clipper);
3397 real->part->clip_to_id = -1; 3397 real->part->clip_to_id = -1;
3398 } 3398 }
3399 if (real->drag && real->drag->confine_to == rp) 3399 if (real->drag && real->drag->confine_to == rp)
@@ -3461,7 +3461,7 @@ edje_edit_part_del(Evas_Object *obj, const char *part)
3461 3461
3462 /* if all parts are gone, hide the clipper */ 3462 /* if all parts are gone, hide the clipper */
3463 if (ed->table_parts_size == 0) 3463 if (ed->table_parts_size == 0)
3464 evas_object_hide(ed->base->clipper); 3464 evas_object_hide(ed->base.clipper);
3465 3465
3466 edje_object_calc_force(obj); 3466 edje_object_calc_force(obj);
3467 3467
@@ -3819,10 +3819,10 @@ edje_edit_part_clip_to_set(Evas_Object *obj, const char *part, const char *clip_
3819 /* unset clipping */ 3819 /* unset clipping */
3820 if (!clip_to) 3820 if (!clip_to)
3821 { 3821 {
3822 evas_object_clip_set(rp->object, ed->base->clipper); 3822 evas_object_clip_set(rp->object, ed->base.clipper);
3823 if ((rp->type == EDJE_RP_TYPE_SWALLOW) && 3823 if ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
3824 (rp->typedata.swallow) && (rp->typedata.swallow->swallowed_object)) 3824 (rp->typedata.swallow) && (rp->typedata.swallow->swallowed_object))
3825 evas_object_clip_set(rp->typedata.swallow->swallowed_object, ed->base->clipper); 3825 evas_object_clip_set(rp->typedata.swallow->swallowed_object, ed->base.clipper);
3826 3826
3827 rp->part->clip_to_id = -1; 3827 rp->part->clip_to_id = -1;
3828 3828
@@ -4144,7 +4144,7 @@ _check_recursive_reference(Edje *ed, const char *source, Eina_List *group_path,
4144 pce = eina_hash_find(ed->file->collection, source); 4144 pce = eina_hash_find(ed->file->collection, source);
4145 4145
4146 /* forcing collection load into memory */ 4146 /* forcing collection load into memory */
4147 Evas_Object *part_obj = edje_edit_object_add(ed->base->evas); 4147 Evas_Object *part_obj = edje_edit_object_add(ed->base.evas);
4148 edje_object_file_set(part_obj, ed->file->path, pce->entry); 4148 edje_object_file_set(part_obj, ed->file->path, pce->entry);
4149 /* Go through every part to find parts with type GROUP */ 4149 /* Go through every part to find parts with type GROUP */
4150 part_list = edje_edit_parts_list_get(part_obj); 4150 part_list = edje_edit_parts_list_get(part_obj);
@@ -4206,7 +4206,7 @@ edje_edit_part_source_set(Evas_Object *obj, const char *part, const char *source
4206 } 4206 }
4207 if (source) 4207 if (source)
4208 { 4208 {
4209 child_obj = edje_object_add(ed->base->evas); 4209 child_obj = edje_object_add(ed->base.evas);
4210 edje_object_file_set(child_obj, ed->file->path, source); 4210 edje_object_file_set(child_obj, ed->file->path, source);
4211 _edje_real_part_swallow(ed, rp, child_obj, EINA_TRUE); 4211 _edje_real_part_swallow(ed, rp, child_obj, EINA_TRUE);
4212 } 4212 }
@@ -15929,7 +15929,7 @@ _edje_generate_source_of_group(Edje *ed, Edje_Part_Collection_Directory_Entry *p
15929 const char *aliased; 15929 const char *aliased;
15930 double base_scale; 15930 double base_scale;
15931 15931
15932 obj = edje_edit_object_add(ed->base->evas); 15932 obj = edje_edit_object_add(ed->base.evas);
15933 if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE; 15933 if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE;
15934 15934
15935 ef = _edje_edit_eet_open(ed, EET_FILE_MODE_READ); 15935 ef = _edje_edit_eet_open(ed, EET_FILE_MODE_READ);
@@ -16661,7 +16661,7 @@ edje_edit_clean_save_as(Evas_Object *obj, const char *new_file_name)
16661 /* copying groups */ 16661 /* copying groups */
16662 Edje_Part_Collection_Directory_Entry *ce; 16662 Edje_Part_Collection_Directory_Entry *ce;
16663 Evas_Object *part_obj; 16663 Evas_Object *part_obj;
16664 part_obj = edje_edit_object_add(ed->base->evas); 16664 part_obj = edje_edit_object_add(ed->base.evas);
16665 Eina_Iterator *it = eina_hash_iterator_data_new(ed->file->collection); 16665 Eina_Iterator *it = eina_hash_iterator_data_new(ed->file->collection);
16666 EINA_ITERATOR_FOREACH(it, ce) 16666 EINA_ITERATOR_FOREACH(it, ce)
16667 { 16667 {
diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index 4f6812f..f728991 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -892,7 +892,7 @@ _edje_embryo_fn_get_mouse(Embryo_Program *ep, Embryo_Cell *params)
892 892
893 CHKPARAM(2); 893 CHKPARAM(2);
894 ed = embryo_program_data_get(ep); 894 ed = embryo_program_data_get(ep);
895 evas_pointer_canvas_xy_get(ed->base->evas, &x, &y); 895 evas_pointer_canvas_xy_get(ed->base.evas, &x, &y);
896 x -= ed->x; 896 x -= ed->x;
897 y -= ed->y; 897 y -= ed->y;
898 SETINT((int)x, params[1]); 898 SETINT((int)x, params[1]);
@@ -908,7 +908,7 @@ _edje_embryo_fn_get_mouse_buttons(Embryo_Program *ep, Embryo_Cell *params)
908 908
909 CHKPARAM(0); 909 CHKPARAM(0);
910 ed = embryo_program_data_get(ep); 910 ed = embryo_program_data_get(ep);
911 return evas_pointer_button_down_mask_get(ed->base->evas); 911 return evas_pointer_button_down_mask_get(ed->base.evas);
912} 912}
913 913
914/* emit(sig[], src[]) */ 914/* emit(sig[], src[]) */
@@ -3788,7 +3788,7 @@ _edje_embryo_fn_part_swallow(Embryo_Program *ep, Embryo_Cell *params)
3788 rp = ed->table_parts[part_id % ed->table_parts_size]; 3788 rp = ed->table_parts[part_id % ed->table_parts_size];
3789 if (!rp) return 0; 3789 if (!rp) return 0;
3790 3790
3791 new_obj = edje_object_add(ed->base->evas); 3791 new_obj = edje_object_add(ed->base.evas);
3792 if (!new_obj) return 0; 3792 if (!new_obj) return 0;
3793 3793
3794 if (!edje_object_file_set(new_obj, ed->file->path, group_name)) 3794 if (!edje_object_file_set(new_obj, ed->file->path, group_name))
diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index 403c946..c588836 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -730,7 +730,7 @@ _sel_update(Edje *ed, Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entr
730 en->sel = eina_list_append(en->sel, sel); 730 en->sel = eina_list_append(en->sel, sel);
731 if (en->rp->part->source) 731 if (en->rp->part->source)
732 { 732 {
733 ob = edje_object_add(ed->base->evas); 733 ob = edje_object_add(ed->base.evas);
734 edje_object_file_set(ob, ed->path, en->rp->part->source); 734 edje_object_file_set(ob, ed->path, en->rp->part->source);
735 evas_object_smart_member_add(ob, smart); 735 evas_object_smart_member_add(ob, smart);
736 evas_object_stack_below(ob, o); 736 evas_object_stack_below(ob, o);
@@ -743,7 +743,7 @@ _sel_update(Edje *ed, Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entr
743 743
744 if (en->rp->part->source2) 744 if (en->rp->part->source2)
745 { 745 {
746 ob = edje_object_add(ed->base->evas); 746 ob = edje_object_add(ed->base.evas);
747 edje_object_file_set(ob, ed->path, en->rp->part->source2); 747 edje_object_file_set(ob, ed->path, en->rp->part->source2);
748 evas_object_smart_member_add(ob, smart); 748 evas_object_smart_member_add(ob, smart);
749 evas_object_stack_above(ob, o); 749 evas_object_stack_above(ob, o);
@@ -1123,7 +1123,7 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en)
1123 clip = evas_object_clip_get(o); 1123 clip = evas_object_clip_get(o);
1124 x = y = w = h = -1; 1124 x = y = w = h = -1;
1125 evas_object_geometry_get(o, &x, &y, &w, &h); 1125 evas_object_geometry_get(o, &x, &y, &w, &h);
1126 evas_output_viewport_get(en->ed->base->evas, &vx, &vy, &vw, &vh); 1126 evas_output_viewport_get(en->ed->base.evas, &vx, &vy, &vw, &vh);
1127 tvw = vx + vw; 1127 tvw = vx + vw;
1128 tvh = vy + vh; 1128 tvh = vy + vh;
1129 1129
@@ -1234,7 +1234,7 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en)
1234 an->sel = eina_list_append(an->sel, sel); 1234 an->sel = eina_list_append(an->sel, sel);
1235 if (en->rp->part->source5) 1235 if (en->rp->part->source5)
1236 { 1236 {
1237 ob = edje_object_add(ed->base->evas); 1237 ob = edje_object_add(ed->base.evas);
1238 edje_object_file_set(ob, ed->path, en->rp->part->source5); 1238 edje_object_file_set(ob, ed->path, en->rp->part->source5);
1239 evas_object_smart_member_add(ob, smart); 1239 evas_object_smart_member_add(ob, smart);
1240 evas_object_stack_below(ob, o); 1240 evas_object_stack_below(ob, o);
@@ -1246,7 +1246,7 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en)
1246 1246
1247 if (en->rp->part->source6) 1247 if (en->rp->part->source6)
1248 { 1248 {
1249 ob = edje_object_add(ed->base->evas); 1249 ob = edje_object_add(ed->base.evas);
1250 edje_object_file_set(ob, ed->path, en->rp->part->source6); 1250 edje_object_file_set(ob, ed->path, en->rp->part->source6);
1251 evas_object_smart_member_add(ob, smart); 1251 evas_object_smart_member_add(ob, smart);
1252 evas_object_stack_above(ob, o); 1252 evas_object_stack_above(ob, o);
@@ -1256,7 +1256,7 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en)
1256 _edje_subobj_register(ed, sel->obj_fg); 1256 _edje_subobj_register(ed, sel->obj_fg);
1257 } 1257 }
1258 1258
1259 ob = evas_object_rectangle_add(ed->base->evas); 1259 ob = evas_object_rectangle_add(ed->base.evas);
1260 evas_object_color_set(ob, 0, 0, 0, 0); 1260 evas_object_color_set(ob, 0, 0, 0, 0);
1261 evas_object_smart_member_add(ob, smart); 1261 evas_object_smart_member_add(ob, smart);
1262 evas_object_stack_above(ob, o); 1262 evas_object_stack_above(ob, o);
@@ -1327,7 +1327,7 @@ _anchors_update_check(Edje *ed, Edje_Real_Part *rp)
1327 x = y = w = h = -1; 1327 x = y = w = h = -1;
1328 vx = vy = vw = vh = -1; 1328 vx = vy = vw = vh = -1;
1329 evas_object_geometry_get(rp->object, &x, &y, &w, &h); 1329 evas_object_geometry_get(rp->object, &x, &y, &w, &h);
1330 evas_output_viewport_get(ed->base->evas, &vx, &vy, &vw, &vh); 1330 evas_output_viewport_get(ed->base.evas, &vx, &vy, &vw, &vh);
1331 if (((y + h) <= vy) || (y >= (vy + vh))) 1331 if (((y + h) <= vy) || (y >= (vy + vh)))
1332 anchors_updated = EINA_TRUE; 1332 anchors_updated = EINA_TRUE;
1333 else if (((x + w) <= vx) || (x >= (vx + vw))) 1333 else if (((x + w) <= vx) || (x >= (vx + vw)))
@@ -2875,9 +2875,9 @@ _edje_entry_init(Edje *ed)
2875 _edje_key_down_cb, ed); 2875 _edje_key_down_cb, ed);
2876 evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_KEY_UP, 2876 evas_object_event_callback_add(ed->obj, EVAS_CALLBACK_KEY_UP,
2877 _edje_key_up_cb, ed); 2877 _edje_key_up_cb, ed);
2878 efl_event_callback_add(ed->base->evas, EFL_CANVAS_EVENT_FOCUS_IN, 2878 efl_event_callback_add(ed->base.evas, EFL_CANVAS_EVENT_FOCUS_IN,
2879 _evas_focus_in_cb, ed); 2879 _evas_focus_in_cb, ed);
2880 efl_event_callback_add(ed->base->evas, EFL_CANVAS_EVENT_FOCUS_OUT, 2880 efl_event_callback_add(ed->base.evas, EFL_CANVAS_EVENT_FOCUS_OUT,
2881 _evas_focus_out_cb, ed); 2881 _evas_focus_out_cb, ed);
2882} 2882}
2883 2883
@@ -2896,9 +2896,9 @@ _edje_entry_shutdown(Edje *ed)
2896 _edje_key_down_cb); 2896 _edje_key_down_cb);
2897 evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_KEY_UP, 2897 evas_object_event_callback_del(ed->obj, EVAS_CALLBACK_KEY_UP,
2898 _edje_key_up_cb); 2898 _edje_key_up_cb);
2899 efl_event_callback_del(ed->base->evas, EFL_CANVAS_EVENT_FOCUS_IN, 2899 efl_event_callback_del(ed->base.evas, EFL_CANVAS_EVENT_FOCUS_IN,
2900 _evas_focus_in_cb, ed); 2900 _evas_focus_in_cb, ed);
2901 efl_event_callback_del(ed->base->evas, EFL_CANVAS_EVENT_FOCUS_OUT, 2901 efl_event_callback_del(ed->base.evas, EFL_CANVAS_EVENT_FOCUS_OUT,
2902 _evas_focus_out_cb, ed); 2902 _evas_focus_out_cb, ed);
2903} 2903}
2904 2904
@@ -2928,7 +2928,7 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp)
2928 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_DOWN, _edje_part_mouse_down_cb, rp); 2928 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_DOWN, _edje_part_mouse_down_cb, rp);
2929 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_UP, _edje_part_mouse_up_cb, rp); 2929 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_UP, _edje_part_mouse_up_cb, rp);
2930 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_MOVE, _edje_part_mouse_move_cb, rp); 2930 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_MOVE, _edje_part_mouse_move_cb, rp);
2931 evas_event_callback_add(ed->base->evas, EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, _canvas_viewport_resize_cb, rp); 2931 evas_event_callback_add(ed->base.evas, EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, _canvas_viewport_resize_cb, rp);
2932 2932
2933 if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT) 2933 if (rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_DEFAULT)
2934 en->select_allow = EINA_TRUE; 2934 en->select_allow = EINA_TRUE;
@@ -2948,7 +2948,7 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp)
2948 2948
2949 if (rp->part->source3) 2949 if (rp->part->source3)
2950 { 2950 {
2951 en->cursor_bg = edje_object_add(ed->base->evas); 2951 en->cursor_bg = edje_object_add(ed->base.evas);
2952 edje_object_file_set(en->cursor_bg, ed->path, rp->part->source3); 2952 edje_object_file_set(en->cursor_bg, ed->path, rp->part->source3);
2953 evas_object_smart_member_add(en->cursor_bg, ed->obj); 2953 evas_object_smart_member_add(en->cursor_bg, ed->obj);
2954 evas_object_stack_below(en->cursor_bg, rp->object); 2954 evas_object_stack_below(en->cursor_bg, rp->object);
@@ -2958,7 +2958,7 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp)
2958 } 2958 }
2959 if (rp->part->source4) 2959 if (rp->part->source4)
2960 { 2960 {
2961 en->cursor_fg = edje_object_add(ed->base->evas); 2961 en->cursor_fg = edje_object_add(ed->base.evas);
2962 edje_object_file_set(en->cursor_fg, ed->path, rp->part->source4); 2962 edje_object_file_set(en->cursor_fg, ed->path, rp->part->source4);
2963 evas_object_smart_member_add(en->cursor_fg, ed->obj); 2963 evas_object_smart_member_add(en->cursor_fg, ed->obj);
2964 evas_object_stack_above(en->cursor_fg, rp->object); 2964 evas_object_stack_above(en->cursor_fg, rp->object);
@@ -2969,7 +2969,7 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp)
2969 /* A proxy to the main cursor. */ 2969 /* A proxy to the main cursor. */
2970 if (rp->part->cursor_mode == EDJE_ENTRY_CURSOR_MODE_BEFORE) 2970 if (rp->part->cursor_mode == EDJE_ENTRY_CURSOR_MODE_BEFORE)
2971 { 2971 {
2972 en->cursor_fg2 = edje_object_add(ed->base->evas); 2972 en->cursor_fg2 = edje_object_add(ed->base.evas);
2973 edje_object_file_set(en->cursor_fg2, ed->path, rp->part->source4); 2973 edje_object_file_set(en->cursor_fg2, ed->path, rp->part->source4);
2974 evas_object_smart_member_add(en->cursor_fg2, ed->obj); 2974 evas_object_smart_member_add(en->cursor_fg2, ed->obj);
2975 evas_object_stack_above(en->cursor_fg2, rp->object); 2975 evas_object_stack_above(en->cursor_fg2, rp->object);
@@ -3026,8 +3026,8 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp)
3026 ecore_imf_context_client_window_set 3026 ecore_imf_context_client_window_set
3027 (en->imf_context, 3027 (en->imf_context,
3028 (void *)ecore_evas_window_get 3028 (void *)ecore_evas_window_get
3029 (ecore_evas_ecore_evas_get(ed->base->evas))); 3029 (ecore_evas_ecore_evas_get(ed->base.evas)));
3030 ecore_imf_context_client_canvas_set(en->imf_context, ed->base->evas); 3030 ecore_imf_context_client_canvas_set(en->imf_context, ed->base.evas);
3031 3031
3032 ecore_imf_context_retrieve_surrounding_callback_set(en->imf_context, 3032 ecore_imf_context_retrieve_surrounding_callback_set(en->imf_context,
3033 _edje_entry_imf_retrieve_surrounding_cb, ed); 3033 _edje_entry_imf_retrieve_surrounding_cb, ed);
@@ -3086,7 +3086,7 @@ _edje_entry_real_part_shutdown(Edje *ed, Edje_Real_Part *rp)
3086 en->pw_timer = NULL; 3086 en->pw_timer = NULL;
3087 } 3087 }
3088 3088
3089 evas_event_callback_del_full(ed->base->evas, EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, _canvas_viewport_resize_cb, rp); 3089 evas_event_callback_del_full(ed->base.evas, EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, _canvas_viewport_resize_cb, rp);
3090 3090
3091#ifdef HAVE_ECORE_IMF 3091#ifdef HAVE_ECORE_IMF
3092 if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE) 3092 if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE)
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 03689c0..f1e5fc1 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1031,26 +1031,26 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1031 switch (ep->type) 1031 switch (ep->type)
1032 { 1032 {
1033 case EDJE_PART_TYPE_RECTANGLE: 1033 case EDJE_PART_TYPE_RECTANGLE:
1034 rp->object = evas_object_rectangle_add(ed->base->evas); 1034 rp->object = evas_object_rectangle_add(ed->base.evas);
1035 break; 1035 break;
1036 1036
1037 case EDJE_PART_TYPE_VECTOR: 1037 case EDJE_PART_TYPE_VECTOR:
1038 rp->object = evas_object_vg_add(ed->base->evas); 1038 rp->object = evas_object_vg_add(ed->base.evas);
1039 break; 1039 break;
1040 1040
1041 case EDJE_PART_TYPE_PROXY: 1041 case EDJE_PART_TYPE_PROXY:
1042 case EDJE_PART_TYPE_IMAGE: 1042 case EDJE_PART_TYPE_IMAGE:
1043 rp->object = evas_object_image_add(ed->base->evas); 1043 rp->object = evas_object_image_add(ed->base.evas);
1044 break; 1044 break;
1045 1045
1046 case EDJE_PART_TYPE_SNAPSHOT: 1046 case EDJE_PART_TYPE_SNAPSHOT:
1047 rp->object = evas_object_image_filled_add(ed->base->evas); 1047 rp->object = evas_object_image_filled_add(ed->base.evas);
1048 evas_object_image_snapshot_set(rp->object, EINA_TRUE); 1048 evas_object_image_snapshot_set(rp->object, EINA_TRUE);
1049 break; 1049 break;
1050 1050
1051 case EDJE_PART_TYPE_TEXT: 1051 case EDJE_PART_TYPE_TEXT:
1052 _edje_text_part_on_add(ed, rp); 1052 _edje_text_part_on_add(ed, rp);
1053 rp->object = evas_object_text_add(ed->base->evas); 1053 rp->object = evas_object_text_add(ed->base.evas);
1054 evas_object_text_font_source_set(rp->object, ed->path); 1054 evas_object_text_font_source_set(rp->object, ed->path);
1055 break; 1055 break;
1056 1056
@@ -1064,7 +1064,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1064 case EDJE_PART_TYPE_EXTERNAL: 1064 case EDJE_PART_TYPE_EXTERNAL:
1065 if (ep->type == EDJE_PART_TYPE_EXTERNAL) 1065 if (ep->type == EDJE_PART_TYPE_EXTERNAL)
1066 externals = eina_list_append(externals, rp); 1066 externals = eina_list_append(externals, rp);
1067 rp->object = evas_object_rectangle_add(ed->base->evas); 1067 rp->object = evas_object_rectangle_add(ed->base.evas);
1068 evas_object_color_set(rp->object, 0, 0, 0, 0); 1068 evas_object_color_set(rp->object, 0, 0, 0, 0);
1069 evas_object_pass_events_set(rp->object, 1); 1069 evas_object_pass_events_set(rp->object, 1);
1070 evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB); 1070 evas_object_pointer_mode_set(rp->object, EVAS_OBJECT_POINTER_MODE_NOGRAB);
@@ -1074,18 +1074,18 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1074 case EDJE_PART_TYPE_TEXTBLOCK: 1074 case EDJE_PART_TYPE_TEXTBLOCK:
1075 _edje_textblock_styles_add(ed, rp); 1075 _edje_textblock_styles_add(ed, rp);
1076 textblocks = eina_list_append(textblocks, rp); 1076 textblocks = eina_list_append(textblocks, rp);
1077 rp->object = evas_object_textblock_add(ed->base->evas); 1077 rp->object = evas_object_textblock_add(ed->base.evas);
1078 break; 1078 break;
1079 1079
1080 case EDJE_PART_TYPE_BOX: 1080 case EDJE_PART_TYPE_BOX:
1081 sources = eina_list_append(sources, rp); 1081 sources = eina_list_append(sources, rp);
1082 rp->object = evas_object_box_add(ed->base->evas); 1082 rp->object = evas_object_box_add(ed->base.evas);
1083 rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object); 1083 rp->typedata.container->anim = _edje_box_layout_anim_new(rp->object);
1084 break; 1084 break;
1085 1085
1086 case EDJE_PART_TYPE_TABLE: 1086 case EDJE_PART_TYPE_TABLE:
1087 sources = eina_list_append(sources, rp); 1087 sources = eina_list_append(sources, rp);
1088 rp->object = evas_object_table_add(ed->base->evas); 1088 rp->object = evas_object_table_add(ed->base.evas);
1089 break; 1089 break;
1090 1090
1091 case EDJE_PART_TYPE_GRADIENT: 1091 case EDJE_PART_TYPE_GRADIENT:
@@ -1103,9 +1103,9 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1103 Evas_Canvas3D_Material *material = NULL; 1103 Evas_Canvas3D_Material *material = NULL;
1104 Edje_Part_Description_Mesh_Node *pd_mesh_node; 1104 Edje_Part_Description_Mesh_Node *pd_mesh_node;
1105 1105
1106 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_MESH)); 1106 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas, evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_MESH));
1107 1107
1108 mesh = efl_add(EVAS_CANVAS3D_MESH_CLASS, ed->base->evas); 1108 mesh = efl_add(EVAS_CANVAS3D_MESH_CLASS, ed->base.evas);
1109 evas_canvas3d_node_mesh_add(rp->node, mesh); 1109 evas_canvas3d_node_mesh_add(rp->node, mesh);
1110 1110
1111 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) rp->chosen_description; 1111 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) rp->chosen_description;
@@ -1119,13 +1119,13 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1119 evas_canvas3d_mesh_frame_add(mesh, 0); 1119 evas_canvas3d_mesh_frame_add(mesh, 0);
1120 } 1120 }
1121 1121
1122 material = efl_add(EVAS_CANVAS3D_MATERIAL_CLASS, ed->base->evas); 1122 material = efl_add(EVAS_CANVAS3D_MATERIAL_CLASS, ed->base.evas);
1123 evas_canvas3d_mesh_frame_material_set(mesh, 0, material); 1123 evas_canvas3d_mesh_frame_material_set(mesh, 0, material);
1124 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured) 1124 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured)
1125 { 1125 {
1126 Evas_Canvas3D_Texture *texture = NULL; 1126 Evas_Canvas3D_Texture *texture = NULL;
1127 1127
1128 texture = efl_add(EVAS_CANVAS3D_TEXTURE_CLASS, ed->base->evas); 1128 texture = efl_add(EVAS_CANVAS3D_TEXTURE_CLASS, ed->base.evas);
1129 evas_canvas3d_material_texture_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture); 1129 evas_canvas3d_material_texture_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture);
1130 } 1130 }
1131 rp->object = NULL; 1131 rp->object = NULL;
@@ -1136,8 +1136,8 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1136 { 1136 {
1137 Evas_Canvas3D_Light *light = NULL; 1137 Evas_Canvas3D_Light *light = NULL;
1138 1138
1139 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 1139 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas, evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
1140 light = efl_add(EVAS_CANVAS3D_LIGHT_CLASS, ed->base->evas); 1140 light = efl_add(EVAS_CANVAS3D_LIGHT_CLASS, ed->base.evas);
1141 evas_canvas3d_node_light_set(rp->node, light); 1141 evas_canvas3d_node_light_set(rp->node, light);
1142 1142
1143 rp->object = NULL; 1143 rp->object = NULL;
@@ -1148,13 +1148,13 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1148 { 1148 {
1149 Evas_Canvas3D_Camera *camera = NULL; 1149 Evas_Canvas3D_Camera *camera = NULL;
1150 1150
1151 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 1151 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas, evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
1152 camera = efl_add(EVAS_CANVAS3D_CAMERA_CLASS, ed->base->evas); 1152 camera = efl_add(EVAS_CANVAS3D_CAMERA_CLASS, ed->base.evas);
1153 evas_canvas3d_node_camera_set(rp->node, camera); 1153 evas_canvas3d_node_camera_set(rp->node, camera);
1154 1154
1155 rp->object = evas_object_image_filled_add(ed->base->evas); 1155 rp->object = evas_object_image_filled_add(ed->base.evas);
1156 1156
1157 Eo* viewport = efl_add(EFL_CANVAS_SCENE3D_CLASS, ed->base->evas); 1157 Eo* viewport = efl_add(EFL_CANVAS_SCENE3D_CLASS, ed->base.evas);
1158 evas_object_image_source_set(rp->object, viewport); 1158 evas_object_image_source_set(rp->object, viewport);
1159 evas_object_show(viewport); 1159 evas_object_show(viewport);
1160 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_DEL, _evas_object_viewport_del, viewport); 1160 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_DEL, _evas_object_viewport_del, viewport);
@@ -1240,7 +1240,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1240 efl_canvas_object_precise_is_inside_set(rp->object, ep->precise_is_inside); 1240 efl_canvas_object_precise_is_inside_set(rp->object, ep->precise_is_inside);
1241 } 1241 }
1242 if (rp->part->clip_to_id < 0) 1242 if (rp->part->clip_to_id < 0)
1243 evas_object_clip_set(rp->object, ed->base->clipper); 1243 evas_object_clip_set(rp->object, ed->base.clipper);
1244 } 1244 }
1245 } 1245 }
1246 if (n > 0) 1246 if (n > 0)
@@ -1365,9 +1365,9 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1365#ifdef EDJE_CALC_CACHE 1365#ifdef EDJE_CALC_CACHE
1366 ed->all_part_change = EINA_TRUE; 1366 ed->all_part_change = EINA_TRUE;
1367#endif 1367#endif
1368 if ((evas_object_clipees_has(ed->base->clipper)) && 1368 if ((evas_object_clipees_has(ed->base.clipper)) &&
1369 (evas_object_visible_get(obj))) 1369 (evas_object_visible_get(obj)))
1370 evas_object_show(ed->base->clipper); 1370 evas_object_show(ed->base.clipper);
1371 1371
1372 /* instantiate 'internal swallows' */ 1372 /* instantiate 'internal swallows' */
1373 EINA_LIST_FREE(externals, rp) 1373 EINA_LIST_FREE(externals, rp)
@@ -1465,7 +1465,7 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1465 1465
1466 do 1466 do
1467 { 1467 {
1468 child_obj = edje_object_add(ed->base->evas); 1468 child_obj = edje_object_add(ed->base.evas);
1469 edje_object_mirrored_set(child_obj, edje_object_mirrored_get(ed->obj)); 1469 edje_object_mirrored_set(child_obj, edje_object_mirrored_get(ed->obj));
1470 1470
1471 group_path = eina_list_append(group_path, group_path_entry); 1471 group_path = eina_list_append(group_path, group_path_entry);
@@ -3016,11 +3016,11 @@ edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene)
3016 } 3016 }
3017 3017
3018 if (*root_node == NULL) 3018 if (*root_node == NULL)
3019 *root_node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base->evas, 3019 *root_node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas,
3020 evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_NODE)); 3020 evas_canvas3d_node_constructor(efl_added, EVAS_CANVAS3D_NODE_TYPE_NODE));
3021 3021
3022 if (scene == NULL) 3022 if (scene == NULL)
3023 scene = efl_add(EVAS_CANVAS3D_SCENE_CLASS, ed->base->evas); 3023 scene = efl_add(EVAS_CANVAS3D_SCENE_CLASS, ed->base.evas);
3024 3024
3025 if ((*root_node == NULL) || (scene == NULL)) 3025 if ((*root_node == NULL) || (scene == NULL))
3026 { 3026 {
diff --git a/src/lib/edje/edje_lua2.c b/src/lib/edje/edje_lua2.c
index 1e824ec..b8a66c6 100644
--- a/src/lib/edje/edje_lua2.c
+++ b/src/lib/edje/edje_lua2.c
@@ -1538,7 +1538,7 @@ static void
1538_elua_polish_evas_object(Edje *ed, Edje_Lua_Evas_Object *elo) 1538_elua_polish_evas_object(Edje *ed, Edje_Lua_Evas_Object *elo)
1539{ 1539{
1540 evas_object_smart_member_add(elo->evas_obj, ed->obj); 1540 evas_object_smart_member_add(elo->evas_obj, ed->obj);
1541 evas_object_clip_set(elo->evas_obj, ed->base->clipper); 1541 evas_object_clip_set(elo->evas_obj, ed->base.clipper);
1542 evas_object_move(elo->evas_obj, ed->x, ed->y); 1542 evas_object_move(elo->evas_obj, ed->x, ed->y);
1543 evas_object_resize(elo->evas_obj, 0, 0); 1543 evas_object_resize(elo->evas_obj, 0, 0);
1544 evas_object_data_set(elo->evas_obj, ELO, elo); 1544 evas_object_data_set(elo->evas_obj, ELO, elo);
diff --git a/src/lib/edje/edje_main.c b/src/lib/edje/edje_main.c
index 21d609e..3c6adeb 100644
--- a/src/lib/edje/edje_main.c
+++ b/src/lib/edje/edje_main.c
@@ -322,15 +322,6 @@ _edje_del(Edje *ed)
322} 322}
323 323
324void 324void
325_edje_clean_objects(Edje *ed)
326{
327 evas_object_del(ed->base->clipper);
328 ed->base->evas = NULL;
329 ed->obj = NULL;
330 ed->base->clipper = NULL;
331}
332
333void
334_edje_ref(Edje *ed) 325_edje_ref(Edje *ed)
335{ 326{
336 if (ed->references <= 0) return; 327 if (ed->references <= 0) return;
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 3c9916a..8986797 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -1663,13 +1663,12 @@ struct _Edje_Signal_Source_Char
1663 1663
1664struct _Edje 1664struct _Edje
1665{ 1665{
1666 Evas_Object_Smart_Clipped_Data *base;
1667 /* This contains (or should):
1668 Evas_Object *clipper; // a big rect to clip this Edje to
1669 Evas *evas; // the Evas this Edje belongs to
1670 */
1671 EINA_INLIST; 1666 EINA_INLIST;
1672 1667
1668 struct {
1669 Evas_Object *clipper;
1670 Evas *evas;
1671 } base;
1673 const char *path; 1672 const char *path;
1674 const char *group; 1673 const char *group;
1675 const char *parent; 1674 const char *parent;
@@ -2501,7 +2500,6 @@ void _edje_collection_free_part_description_free(int type,
2501void _edje_del(Edje *ed); 2500void _edje_del(Edje *ed);
2502void _edje_ref(Edje *ed); 2501void _edje_ref(Edje *ed);
2503void _edje_unref(Edje *ed); 2502void _edje_unref(Edje *ed);
2504void _edje_clean_objects(Edje *ed);
2505void _edje_ref(Edje *ed); 2503void _edje_ref(Edje *ed);
2506void _edje_unref(Edje *ed); 2504void _edje_unref(Edje *ed);
2507 2505
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 4d12f7e..843bb90 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -33,7 +33,8 @@ _edje_object_efl_object_constructor(Eo *obj, Edje *ed)
33 efl_canvas_group_clipped_set(obj, EINA_TRUE); 33 efl_canvas_group_clipped_set(obj, EINA_TRUE);
34 obj = efl_constructor(efl_super(obj, MY_CLASS)); 34 obj = efl_constructor(efl_super(obj, MY_CLASS));
35 efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); 35 efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
36 ed->base = evas_object_smart_data_get(obj); 36 ed->base.evas = efl_provider_find(obj, EVAS_CANVAS_CLASS);
37 ed->base.clipper = (Evas_Object *) efl_canvas_group_clipper_get(obj);
37 ed->duration_scale = 1.0; 38 ed->duration_scale = 1.0;
38 _edje_lib_ref(); 39 _edje_lib_ref();
39 40
@@ -55,7 +56,6 @@ _edje_object_efl_object_destructor(Eo *obj, Edje *class_data)
55 class_data->file_obj = NULL; 56 class_data->file_obj = NULL;
56 } 57 }
57 efl_destructor(efl_super(obj, MY_CLASS)); 58 efl_destructor(efl_super(obj, MY_CLASS));
58 efl_data_unref(obj, class_data->base);
59} 59}
60 60
61EOLIAN static Eina_Strbuf * 61EOLIAN static Eina_Strbuf *
@@ -161,7 +161,6 @@ _edje_object_efl_canvas_group_group_del(Eo *obj, Edje *ed)
161#endif 161#endif
162 if (ed->persp) edje_object_perspective_set(obj, NULL); 162 if (ed->persp) edje_object_perspective_set(obj, NULL);
163 _edje_file_del(ed); 163 _edje_file_del(ed);
164 _edje_clean_objects(ed);
165 _edje_unref(ed); 164 _edje_unref(ed);
166 _edje_lib_unref(); 165 _edje_lib_unref();
167 efl_canvas_group_del(efl_super(obj, MY_CLASS)); 166 efl_canvas_group_del(efl_super(obj, MY_CLASS));
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 2c0249c..d14ce87 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -5645,7 +5645,7 @@ _edje_real_part_swallow(Edje *ed,
5645 clip_to = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size]; 5645 clip_to = ed->table_parts[rp->part->clip_to_id % ed->table_parts_size];
5646 evas_object_clip_set(rp->typedata.swallow->swallowed_object, clip_to->object); 5646 evas_object_clip_set(rp->typedata.swallow->swallowed_object, clip_to->object);
5647 } 5647 }
5648 else evas_object_clip_set(rp->typedata.swallow->swallowed_object, ed->base->clipper); 5648 else evas_object_clip_set(rp->typedata.swallow->swallowed_object, ed->base.clipper);
5649 //FIXME: I'm not sure why Edje Nested is a parent of the rp->object here. Is it normal case? 5649 //FIXME: I'm not sure why Edje Nested is a parent of the rp->object here. Is it normal case?
5650 if (evas_object_smart_parent_get(rp->object) == ed->obj) 5650 if (evas_object_smart_parent_get(rp->object) == ed->obj)
5651 evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object); 5651 evas_object_stack_above(rp->typedata.swallow->swallowed_object, rp->object);