summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <chuneon.park@samsung.com>2020-03-19 18:47:36 +0900
committerHermet Park <chuneon.park@samsung.com>2020-03-19 18:49:17 +0900
commit0583b143078c5b46fc887d40687e50d2640f82d3 (patch)
tree335256326d7c1cd5f1625d6c0a4e0014dd7be678
parentc4fad77ae3d1e2acbc8d0876edb614d861051dc8 (diff)
canvas 3d: remove canvas3d edje
Summary: Remove functional stuff, leave as deprecated for compatibility. Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11541
-rw-r--r--src/bin/edje/edje_player.c56
-rw-r--r--src/lib/edje/Edje_Common.h18
-rw-r--r--src/lib/edje/edje_cache.c9
-rw-r--r--src/lib/edje/edje_calc.c332
-rw-r--r--src/lib/edje/edje_data.c135
-rw-r--r--src/lib/edje/edje_edit.c9
-rw-r--r--src/lib/edje/edje_load.c139
-rw-r--r--src/lib/edje/edje_part.c3
8 files changed, 8 insertions, 693 deletions
diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
index d54dea9ed5..7d79ec0d7a 100644
--- a/src/bin/edje/edje_player.c
+++ b/src/bin/edje/edje_player.c
@@ -831,32 +831,14 @@ _edje_load_or_show_error(Evas_Object *edje, const char *file, const char *group)
831 Eina_File *f = NULL; 831 Eina_File *f = NULL;
832 const char *errmsg; 832 const char *errmsg;
833 int err; 833 int err;
834 Evas_Canvas3D_Scene *scene = NULL;
835 Evas_Canvas3D_Node *root_node = NULL;
836 834
837 f = eina_file_open(file, EINA_FALSE); 835 f = eina_file_open(file, EINA_FALSE);
838 if (!(edje_mmap_3d_has(f, group))) 836 if (edje_object_file_set(edje, file, group))
839 { 837 {
840 if (edje_object_file_set(edje, file, group)) 838 edje_object_signal_callback_add(edje, "edje,change,file", "edje", _edje_reload, NULL);
841 { 839 evas_object_focus_set(edje, EINA_TRUE);
842 edje_object_signal_callback_add(edje, "edje,change,file", "edje", _edje_reload, NULL); 840 eina_file_close(f);
843 evas_object_focus_set(edje, EINA_TRUE); 841 return EINA_TRUE;
844 eina_file_close(f);
845 return EINA_TRUE;
846 }
847 }
848 else
849 {
850 if (edje_object_file_set(edje, file, group))
851 {
852 if (edje_3d_object_add(edje, &root_node, scene))
853 {
854 edje_object_signal_callback_add(edje, "edje,change,file", "edje", _edje_reload, NULL);
855 evas_object_focus_set(edje, EINA_TRUE);
856 eina_file_close(f);
857 return EINA_TRUE;
858 }
859 }
860 } 842 }
861 843
862 err = edje_object_load_error_get(edje); 844 err = edje_object_load_error_get(edje);
@@ -1026,7 +1008,6 @@ main(int argc, char **argv)
1026 Eina_Bool quit_option = EINA_FALSE; 1008 Eina_Bool quit_option = EINA_FALSE;
1027 int args; 1009 int args;
1028 Eina_List *groups; 1010 Eina_List *groups;
1029 Eina_File *f = NULL;
1030 const char *group; 1011 const char *group;
1031 Ecore_Getopt_Value values[] = { 1012 Ecore_Getopt_Value values[] = {
1032 ECORE_GETOPT_VALUE_STR(opts.group), 1013 ECORE_GETOPT_VALUE_STR(opts.group),
@@ -1100,33 +1081,6 @@ main(int argc, char **argv)
1100 goto end; 1081 goto end;
1101 } 1082 }
1102 1083
1103 group = eina_list_data_get(eina_list_last(groups));
1104
1105 f = eina_file_open(opts.file, EINA_FALSE);
1106 if (edje_mmap_3d_has(f, group))
1107 {
1108 Eina_List *engine_list, *n;
1109 Eina_Bool opengl_x11_has = EINA_FALSE, wayland_egl_has = EINA_FALSE;
1110 const char *engine;
1111 engine_list = ecore_evas_engines_get();
1112 EINA_LIST_FOREACH(engine_list, n, engine)
1113 {
1114 if (!strcmp(engine, "wayland_egl"))
1115 {
1116 wayland_egl_has = EINA_TRUE;
1117 break;
1118 }
1119 else if (!strcmp(engine, "opengl_x11"))
1120 opengl_x11_has = EINA_TRUE;
1121 }
1122 if (wayland_egl_has)
1123 opts.engine = "wayland_egl";
1124 else if (opengl_x11_has)
1125 opts.engine = "opengl_x11";
1126 }
1127 eina_file_close(f);
1128 edje_file_collection_list_free(groups);
1129
1130 if (opts.size.w <= 0) opts.size.w = 320; 1084 if (opts.size.w <= 0) opts.size.w = 320;
1131 if (opts.size.h <= 0) opts.size.h = 240; 1085 if (opts.size.h <= 0) opts.size.h = 240;
1132 win = ecore_evas_new(opts.engine, 0, 0, opts.size.w, opts.size.h, NULL); 1086 win = ecore_evas_new(opts.engine, 0, 0, opts.size.w, opts.size.h, NULL);
diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index cdbc84b151..7a02281810 100644
--- a/src/lib/edje/Edje_Common.h
+++ b/src/lib/edje/Edje_Common.h
@@ -1207,22 +1207,6 @@ typedef enum _Edje_Aspect_Control
1207 */ 1207 */
1208EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj); 1208EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj);
1209 1209
1210#ifdef EFL_BETA_API_SUPPORT
1211
1212/**
1213 * @brief Creates scene and root node which contains all 3D parts of edje object.
1214 * @param obj An edje part object
1215 * @param root node to collect all 3D parts
1216 * @param scene
1217 * @return scene and root node which contains all 3D parts of edje object
1218 * @note If this function returns @c EINA_FALSE, @p the scene or the root
1219 * node wasn't made
1220 * @since 1.18
1221 */
1222EAPI Eina_Bool edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene);
1223
1224#endif
1225
1226/** 1210/**
1227 * @} 1211 * @}
1228 */ 1212 */
@@ -1837,7 +1821,7 @@ EAPI Eina_Bool edje_mmap_group_exists(Eina_File *f, const char *glob);
1837 * 1821 *
1838 * @since 1.18 1822 * @since 1.18
1839 */ 1823 */
1840EAPI Eina_Bool edje_mmap_3d_has(Eina_File *f, const char *group); 1824EINA_DEPRECATED EAPI Eina_Bool edje_mmap_3d_has(Eina_File *f, const char *group);
1841 1825
1842/** 1826/**
1843 * @brief Iterates over all the opened Edje files. 1827 * @brief Iterates over all the opened Edje files.
diff --git a/src/lib/edje/edje_cache.c b/src/lib/edje/edje_cache.c
index e58584cba4..8afe284e7a 100644
--- a/src/lib/edje/edje_cache.c
+++ b/src/lib/edje/edje_cache.c
@@ -40,9 +40,6 @@ edje_cache_emp_alloc(Edje_Part_Collection_Directory_Entry *ce)
40 INIT_EMP_BOTH(EXTERNAL, Edje_Part_Description_External, ce); 40 INIT_EMP_BOTH(EXTERNAL, Edje_Part_Description_External, ce);
41 INIT_EMP_BOTH(SPACER, Edje_Part_Description_Common, ce); 41 INIT_EMP_BOTH(SPACER, Edje_Part_Description_Common, ce);
42 INIT_EMP_BOTH(SNAPSHOT, Edje_Part_Description_Snapshot, ce); 42 INIT_EMP_BOTH(SNAPSHOT, Edje_Part_Description_Snapshot, ce);
43 INIT_EMP_BOTH(MESH_NODE, Edje_Part_Description_Mesh_Node, ce);
44 INIT_EMP_BOTH(LIGHT, Edje_Part_Description_Light, ce);
45 INIT_EMP_BOTH(CAMERA, Edje_Part_Description_Camera, ce);
46 INIT_EMP_BOTH(VECTOR, Edje_Part_Description_Vector, ce); 43 INIT_EMP_BOTH(VECTOR, Edje_Part_Description_Vector, ce);
47 INIT_EMP(part, Edje_Part, ce); 44 INIT_EMP(part, Edje_Part, ce);
48} 45}
@@ -66,9 +63,6 @@ edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce)
66 eina_mempool_del(ce->mp->mp.EXTERNAL); 63 eina_mempool_del(ce->mp->mp.EXTERNAL);
67 eina_mempool_del(ce->mp->mp.SPACER); 64 eina_mempool_del(ce->mp->mp.SPACER);
68 eina_mempool_del(ce->mp->mp.SNAPSHOT); 65 eina_mempool_del(ce->mp->mp.SNAPSHOT);
69 eina_mempool_del(ce->mp->mp.MESH_NODE);
70 eina_mempool_del(ce->mp->mp.LIGHT);
71 eina_mempool_del(ce->mp->mp.CAMERA);
72 eina_mempool_del(ce->mp->mp.VECTOR); 66 eina_mempool_del(ce->mp->mp.VECTOR);
73 eina_mempool_del(ce->mp->mp.part); 67 eina_mempool_del(ce->mp->mp.part);
74 memset(&ce->mp->mp, 0, sizeof(ce->mp->mp)); 68 memset(&ce->mp->mp, 0, sizeof(ce->mp->mp));
@@ -85,9 +79,6 @@ edje_cache_emp_free(Edje_Part_Collection_Directory_Entry *ce)
85 eina_mempool_del(ce->mp->mp_rtl.EXTERNAL); 79 eina_mempool_del(ce->mp->mp_rtl.EXTERNAL);
86 eina_mempool_del(ce->mp->mp_rtl.SPACER); 80 eina_mempool_del(ce->mp->mp_rtl.SPACER);
87 eina_mempool_del(ce->mp->mp_rtl.SNAPSHOT); 81 eina_mempool_del(ce->mp->mp_rtl.SNAPSHOT);
88 eina_mempool_del(ce->mp->mp_rtl.MESH_NODE);
89 eina_mempool_del(ce->mp->mp_rtl.LIGHT);
90 eina_mempool_del(ce->mp->mp_rtl.CAMERA);
91 eina_mempool_del(ce->mp->mp_rtl.VECTOR); 82 eina_mempool_del(ce->mp->mp_rtl.VECTOR);
92 memset(&ce->mp->mp_rtl, 0, sizeof(ce->mp->mp_rtl)); 83 memset(&ce->mp->mp_rtl, 0, sizeof(ce->mp->mp_rtl));
93 84
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index f3dd13be85..1a88b23d0e 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -45,55 +45,6 @@ static void _edje_part_recalc_single(Edje *ed, Edje_Rea
45 45
46#endif 46#endif
47 47
48
49#define SET_QUATERNION(type) \
50 double norm; \
51 Eina_Quaternion quaternion; \
52 \
53 eina_quaternion_set(&quaternion, pd_##type->type.orientation.data[0], \
54 pd_##type->type.orientation.data[1], \
55 pd_##type->type.orientation.data[2], \
56 pd_##type->type.orientation.data[3]); \
57 \
58 norm = eina_quaternion_norm(&quaternion); \
59 \
60 if ((norm - 0.0) <= TYPE_EPSILON) \
61 ERR("%s %s", \
62 "{0, 0, 0, 0} quaternion gives rotation on non-zero angle", \
63 "around axis without orientation"); \
64 \
65 eina_quaternion_scale(&quaternion, &quaternion, 1/norm); \
66 \
67 evas_canvas3d_node_orientation_set(ep->node, quaternion.x, quaternion.y, \
68 quaternion.z, quaternion.w);
69
70#define SET_LOOK_AT(type) \
71 evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, \
72 pd_##type->type.orientation.data[0], \
73 pd_##type->type.orientation.data[1], \
74 pd_##type->type.orientation.data[2], \
75 pd_##type->type.position.space, \
76 pd_##type->type.orientation.data[3], \
77 pd_##type->type.orientation.data[4], \
78 pd_##type->type.orientation.data[5]);
79
80#define SET_LOOK_TO(type) \
81 Edje_Real_Part *look_to; \
82 Evas_Real x, y ,z; \
83 look_to = ed->table_parts[pd_##type->type.orientation.look_to % ed->table_parts_size]; \
84 evas_canvas3d_node_position_get(look_to->node, pd_##type->type.position.space, &x, &y, &z); \
85 evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, x, y, z, \
86 pd_##type->type.position.space, \
87 pd_##type->type.orientation.data[3], \
88 pd_##type->type.orientation.data[4], \
89 pd_##type->type.orientation.data[5]);
90
91#define SET_ANGLE_AXIS(type) \
92 evas_canvas3d_node_orientation_angle_axis_set(ep->node, pd_##type->type.orientation.data[0], \
93 pd_##type->type.orientation.data[1], \
94 pd_##type->type.orientation.data[2], \
95 pd_##type->type.orientation.data[3]);
96
97void 48void
98_edje_calc_params_clear(Edje_Calc_Params *p) 49_edje_calc_params_clear(Edje_Calc_Params *p)
99{ 50{
@@ -357,9 +308,6 @@ case EDJE_PART_TYPE_##Short: \
357 POPULATE_MEMSIZE_RTL(BOX, Box); 308 POPULATE_MEMSIZE_RTL(BOX, Box);
358 POPULATE_MEMSIZE_RTL(TABLE, Table); 309 POPULATE_MEMSIZE_RTL(TABLE, Table);
359 POPULATE_MEMSIZE_RTL(EXTERNAL, External); 310 POPULATE_MEMSIZE_RTL(EXTERNAL, External);
360 POPULATE_MEMSIZE_RTL(CAMERA, Camera);
361 POPULATE_MEMSIZE_RTL(LIGHT, Light);
362 POPULATE_MEMSIZE_RTL(MESH_NODE, Mesh_Node);
363 POPULATE_MEMSIZE_RTL(VECTOR, Vector); 311 POPULATE_MEMSIZE_RTL(VECTOR, Vector);
364 } 312 }
365#undef POPULATE_MEMSIZE_RTL 313#undef POPULATE_MEMSIZE_RTL
@@ -460,9 +408,6 @@ case EDJE_PART_TYPE_##Short: \
460 EDIT_ALLOC_POOL_RTL(BOX, Box, box); 408 EDIT_ALLOC_POOL_RTL(BOX, Box, box);
461 EDIT_ALLOC_POOL_RTL(TABLE, Table, table); 409 EDIT_ALLOC_POOL_RTL(TABLE, Table, table);
462 EDIT_ALLOC_POOL_RTL(EXTERNAL, External, external_params); 410 EDIT_ALLOC_POOL_RTL(EXTERNAL, External, external_params);
463 EDIT_ALLOC_POOL_RTL(CAMERA, Camera, camera);
464 EDIT_ALLOC_POOL_RTL(LIGHT, Light, light);
465 EDIT_ALLOC_POOL_RTL(MESH_NODE, Mesh_Node, mesh_node);
466 EDIT_ALLOC_POOL_RTL(VECTOR, Vector, vector); 411 EDIT_ALLOC_POOL_RTL(VECTOR, Vector, vector);
467 } 412 }
468 413
@@ -2897,43 +2842,6 @@ _edje_part_recalc_single_text0(Edje_Calc_Params *params,
2897} 2842}
2898 2843
2899static void 2844static void
2900_edje_part_recalc_single_light0(Edje_Calc_Params *params,
2901 Edje_Part_Description_Light *light_desc)
2902{
2903 _edje_calc_params_need_type_node(params);
2904 params->type.node->data[0] = light_desc->light.orientation.data[0];
2905 params->type.node->point.x = light_desc->light.position.point.x;
2906 params->type.node->point.y = light_desc->light.position.point.y;
2907 params->type.node->point.z = light_desc->light.position.point.z;
2908}
2909
2910static void
2911_edje_part_recalc_single_camera0(Edje_Calc_Params *params,
2912 Edje_Part_Description_Camera *camera_desc)
2913{
2914 _edje_calc_params_need_type_node(params);
2915 params->type.node->data[0] = camera_desc->camera.orientation.data[0];
2916 params->type.node->point.x = camera_desc->camera.position.point.x;
2917 params->type.node->point.y = camera_desc->camera.position.point.y;
2918 params->type.node->point.z = camera_desc->camera.position.point.z;
2919}
2920
2921static void
2922_edje_part_recalc_single_mesh0(Edje_Calc_Params *params,
2923 Edje_Part_Description_Mesh_Node *mesh_desc)
2924{
2925 _edje_calc_params_need_type_node(params);
2926 params->type.node->frame = mesh_desc->mesh_node.mesh.frame;
2927 params->type.node->data[0] = mesh_desc->mesh_node.orientation.data[0];
2928 params->type.node->point.x = mesh_desc->mesh_node.position.point.x;
2929 params->type.node->point.y = mesh_desc->mesh_node.position.point.y;
2930 params->type.node->point.z = mesh_desc->mesh_node.position.point.z;
2931 params->type.node->scale_3d.x = mesh_desc->mesh_node.scale_3d.x;
2932 params->type.node->scale_3d.y = mesh_desc->mesh_node.scale_3d.y;
2933 params->type.node->scale_3d.z = mesh_desc->mesh_node.scale_3d.z;
2934}
2935
2936static void
2937_edje_table_recalc_apply(Edje *ed EINA_UNUSED, 2845_edje_table_recalc_apply(Edje *ed EINA_UNUSED,
2938 Edje_Real_Part *ep, 2846 Edje_Real_Part *ep,
2939 Edje_Calc_Params *p3 EINA_UNUSED, 2847 Edje_Calc_Params *p3 EINA_UNUSED,
@@ -3095,15 +3003,6 @@ _edje_part_recalc_single(Edje *ed,
3095 // image. proxy, snapshot share this filter recalc, so fall through 3003 // image. proxy, snapshot share this filter recalc, so fall through
3096 _edje_part_recalc_single_filter(ed, ep, desc, chosen_desc, pos); 3004 _edje_part_recalc_single_filter(ed, ep, desc, chosen_desc, pos);
3097 break; 3005 break;
3098 case EDJE_PART_TYPE_LIGHT:
3099 _edje_part_recalc_single_light0(params, (Edje_Part_Description_Light *)desc);
3100 break;
3101 case EDJE_PART_TYPE_CAMERA:
3102 _edje_part_recalc_single_camera0(params, (Edje_Part_Description_Camera *)desc);
3103 break;
3104 case EDJE_PART_TYPE_MESH_NODE:
3105 _edje_part_recalc_single_mesh0(params, (Edje_Part_Description_Mesh_Node *)desc);
3106 break;
3107 case EDJE_PART_TYPE_SPACER: 3006 case EDJE_PART_TYPE_SPACER:
3108 case EDJE_PART_TYPE_RECTANGLE: 3007 case EDJE_PART_TYPE_RECTANGLE:
3109 case EDJE_PART_TYPE_SWALLOW: 3008 case EDJE_PART_TYPE_SWALLOW:
@@ -4038,19 +3937,6 @@ _edje_part_calc_params_memcpy(Edje_Calc_Params *p, Edje_Calc_Params *s, Edje_Par
4038 else p->type.text = NULL; 3937 else p->type.text = NULL;
4039 } 3938 }
4040 break; 3939 break;
4041 case EDJE_PART_TYPE_LIGHT:
4042 case EDJE_PART_TYPE_CAMERA:
4043 case EDJE_PART_TYPE_MESH_NODE:
4044 {
4045 Edje_Calc_Params_Type_Node *d = malloc(sizeof(*d));
4046 if (d)
4047 {
4048 memcpy(d, s->type.node, sizeof(*d));
4049 p->type.node = d;
4050 }
4051 else p->type.node = NULL;
4052 }
4053 break;
4054 default: 3940 default:
4055 break; 3941 break;
4056 } 3942 }
@@ -4717,33 +4603,6 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
4717 p3->type.text->align.y = FFP(p1->type.text->align.y, p2->type.text->align.y, pos); 4603 p3->type.text->align.y = FFP(p1->type.text->align.y, p2->type.text->align.y, pos);
4718 p3->type.text->ellipsis = TO_DOUBLE(FINTP(p1->type.text->ellipsis, p2->type.text->ellipsis, pos2)); 4604 p3->type.text->ellipsis = TO_DOUBLE(FINTP(p1->type.text->ellipsis, p2->type.text->ellipsis, pos2));
4719 break; 4605 break;
4720 case EDJE_PART_TYPE_MESH_NODE:
4721 _edje_calc_params_need_type_node(p3);
4722 p3->type.node->frame = INTP(p1->type.node->frame, p2->type.node->frame, pos);
4723 p3->type.node->data[0] = INTP(p1->type.node->data[0], p2->type.node->data[0], pos);
4724
4725 p3->type.node->point.x = FFP(p1->type.node->point.x, p2->type.node->point.x, pos);
4726 p3->type.node->point.y = FFP(p1->type.node->point.y, p2->type.node->point.y, pos);
4727 p3->type.node->point.z = FFP(p1->type.node->point.z, p2->type.node->point.z, pos);
4728
4729 p3->type.node->scale_3d.x = FFP(p1->type.node->scale_3d.x, p2->type.node->scale_3d.x, pos);
4730 p3->type.node->scale_3d.y = FFP(p1->type.node->scale_3d.y, p2->type.node->scale_3d.y, pos);
4731 p3->type.node->scale_3d.z = FFP(p1->type.node->scale_3d.z, p2->type.node->scale_3d.z, pos);
4732 break;
4733 case EDJE_PART_TYPE_CAMERA:
4734 p3->type.node->data[0] = FFP(p1->type.node->data[0], p2->type.node->data[0], pos);
4735
4736 p3->type.node->point.x = FFP(p1->type.node->point.x, p2->type.node->point.x, pos);
4737 p3->type.node->point.y = FFP(p1->type.node->point.y, p2->type.node->point.y, pos);
4738 p3->type.node->point.z = FFP(p1->type.node->point.z, p2->type.node->point.z, pos);
4739 break;
4740 case EDJE_PART_TYPE_LIGHT:
4741 p3->type.node->data[0] = FFP(p1->type.node->data[0], p2->type.node->data[0], pos);
4742
4743 p3->type.node->point.x = FFP(p1->type.node->point.x, p2->type.node->point.x, pos);
4744 p3->type.node->point.y = FFP(p1->type.node->point.y, p2->type.node->point.y, pos);
4745 p3->type.node->point.z = FFP(p1->type.node->point.z, p2->type.node->point.z, pos);
4746 break;
4747 } 4606 }
4748 4607
4749 /* mapped is a special case like visible */ 4608 /* mapped is a special case like visible */
@@ -5020,197 +4879,6 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
5020 case EDJE_PART_TYPE_SPACER: 4879 case EDJE_PART_TYPE_SPACER:
5021 /* We really should do nothing on SPACER part */ 4880 /* We really should do nothing on SPACER part */
5022 break; 4881 break;
5023 case EDJE_PART_TYPE_CAMERA:
5024 {
5025 Evas_Object *viewport;
5026 Evas_Canvas3D_Camera *camera = NULL;
5027 Edje_Part_Description_Camera *pd_camera;
5028
5029 efl_gfx_entity_size_set(ep->object, EINA_SIZE2D(pf->req.w, pf->req.h));
5030
5031 pd_camera = (Edje_Part_Description_Camera*) ep->chosen_description;
5032
5033 efl_gfx_entity_position_set(ep->object, EINA_POSITION2D(ed->x + pf->final.x, ed->y + pf->final.y)),
5034 efl_gfx_entity_size_set(ep->object, EINA_SIZE2D(pf->final.w, pf->final.h));
5035
5036 viewport = evas_object_image_source_get(ep->object);
5037
5038 efl_gfx_entity_size_set(viewport, EINA_SIZE2D(pf->req.w, pf->req.h));
5039
5040 evas_object_image_source_visible_set(ep->object, EINA_FALSE);
5041 evas_object_image_source_events_set(ep->object, EINA_TRUE);
5042 evas_object_show(ep->object);
5043
5044 camera = evas_canvas3d_node_camera_get(ep->node);
5045
5046 evas_canvas3d_camera_projection_perspective_set(camera, pd_camera->camera.camera.fovy, pd_camera->camera.camera.aspect, pd_camera->camera.camera.frustum_near, pd_camera->camera.camera.frustum_far);
5047
5048 _edje_calc_params_need_type_node(pf);
5049 evas_canvas3d_node_position_set(ep->node, pf->type.node->point.x, pf->type.node->point.y, pf->type.node->point.z);
5050 switch (pd_camera->camera.orientation.type)
5051 {
5052 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
5053 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION:
5054 {
5055 SET_QUATERNION(camera)
5056 break;
5057 }
5058 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT:
5059 SET_LOOK_AT(camera)
5060 break;
5061 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO:
5062 {
5063 SET_LOOK_TO(camera)
5064 break;
5065 }
5066 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS:
5067 SET_ANGLE_AXIS(camera)
5068 break;
5069 }
5070 break;
5071 }
5072 case EDJE_PART_TYPE_LIGHT:
5073 {
5074 Evas_Canvas3D_Light *light_node = NULL;
5075 Edje_Part_Description_Light *pd_light;
5076
5077 pd_light = (Edje_Part_Description_Light*) ep->chosen_description;
5078 light_node = evas_canvas3d_node_light_get(ep->node);
5079
5080 evas_canvas3d_light_ambient_set(light_node, (float) pd_light->light.properties.ambient.r / 255, (float) pd_light->light.properties.ambient.g / 255, (float) pd_light->light.properties.ambient.b / 255, (float) pd_light->light.properties.ambient.a / 255);
5081 evas_canvas3d_light_diffuse_set(light_node, (float) pd_light->light.properties.diffuse.r / 255, (float) pd_light->light.properties.diffuse.g / 255, (float) pd_light->light.properties.diffuse.b / 255, (float) pd_light->light.properties.diffuse.a / 255);
5082 evas_canvas3d_light_specular_set(light_node, (float) pd_light->light.properties.specular.r / 255, (float) pd_light->light.properties.specular.g / 255, (float) pd_light->light.properties.specular.b / 255, (float) pd_light->light.properties.specular.a / 255);
5083 evas_canvas3d_light_directional_set(light_node, EINA_TRUE);
5084 evas_canvas3d_light_projection_perspective_set(light_node, pd_light->light.light.fovy, pd_light->light.light.aspect, pd_light->light.light.frustum_near, pd_light->light.light.frustum_far);
5085
5086 _edje_calc_params_need_type_node(pf);
5087 evas_canvas3d_node_position_set(ep->node, pf->type.node->point.x, pf->type.node->point.y, pf->type.node->point.z);
5088 switch (pd_light->light.orientation.type)
5089 {
5090 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
5091 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION:
5092 {
5093 SET_QUATERNION(light);
5094 break;
5095 }
5096 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT:
5097 SET_LOOK_AT(light)
5098 break;
5099 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO:
5100 {
5101 SET_LOOK_TO(light)
5102 break;
5103 }
5104 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS:
5105 SET_ANGLE_AXIS(light)
5106 break;
5107 }
5108 break;
5109 }
5110 case EDJE_PART_TYPE_MESH_NODE:
5111 {
5112 Evas_Canvas3D_Material *material = NULL;
5113 Evas_Canvas3D_Texture *texture = NULL;
5114 Evas_Canvas3D_Mesh *mesh = NULL;
5115 const char *proxy;
5116 Edje_Part_Description_Mesh_Node *pd_mesh_node;
5117 const Eina_List *meshes;
5118 const Eina_List *list;
5119 Eina_Bool frame_exist;
5120
5121 meshes = evas_canvas3d_node_mesh_list_get(ep->node);
5122
5123 EINA_LIST_FOREACH(meshes, list, mesh)
5124 {
5125 material = evas_canvas3d_mesh_frame_material_get(mesh, 0);
5126 texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE);
5127
5128 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) ep->chosen_description;
5129
5130 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE);
5131 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE);
5132 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE);
5133 evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, pd_mesh_node->mesh_node.properties.normal);
5134 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, (float) pd_mesh_node->mesh_node.properties.ambient.r / 255, (float) pd_mesh_node->mesh_node.properties.ambient.g / 255, (float) pd_mesh_node->mesh_node.properties.ambient.b / 255, (float) pd_mesh_node->mesh_node.properties.ambient.a / 255);
5135 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, (float) pd_mesh_node->mesh_node.properties.diffuse.r / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.g / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.b / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.a / 255);
5136 evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, (float) pd_mesh_node->mesh_node.properties.specular.r / 255, (float) pd_mesh_node->mesh_node.properties.specular.g / 255, (float) pd_mesh_node->mesh_node.properties.specular.b / 255, (float) pd_mesh_node->mesh_node.properties.specular.a / 255);
5137 evas_canvas3d_material_shininess_set(material, pd_mesh_node->mesh_node.properties.shininess);
5138
5139 switch(pd_mesh_node->mesh_node.mesh.primitive)
5140 {
5141 case EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE:
5142 case EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE:
5143 {
5144 Eo *primitive = NULL;
5145 primitive = efl_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, ed->base.evas);
5146 evas_canvas3d_primitive_form_set(primitive, pd_mesh_node->mesh_node.mesh.primitive);
5147
5148 _edje_calc_params_need_type_node(pf);
5149 frame_exist = evas_canvas3d_mesh_frame_exist(mesh, pf->type.node->frame);
5150 if (!frame_exist)
5151 {
5152 evas_canvas3d_mesh_frame_material_set(mesh, pf->type.node->frame, material);
5153 }
5154 evas_canvas3d_mesh_from_primitive_set(mesh, 0, primitive);
5155 break;
5156 }
5157 default:
5158 break;
5159 }
5160
5161 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured)
5162 {
5163 proxy = NULL;
5164
5165 texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE);
5166
5167 //proxy = _edje_image_name_find(ed, pd_mesh_node->mesh_node.texture.id);
5168 /*FIXME Conflict with function _edje_image_name_find (two places in edje_utils and edje_edit.c,
5169 temporary desicion need to clarify up to commit to phab*/
5170 proxy = ed->file->image_dir->entries[pd_mesh_node->mesh_node.texture.id].entry;
5171 if (proxy)
5172 {
5173 efl_file_simple_mmap_load(texture, ed->file->f, proxy);
5174 evas_canvas3d_texture_filter_set(texture, pd_mesh_node->mesh_node.texture.filter1, pd_mesh_node->mesh_node.texture.filter2);
5175 evas_canvas3d_texture_wrap_set(texture, pd_mesh_node->mesh_node.texture.wrap1, pd_mesh_node->mesh_node.texture.wrap2);
5176 }
5177 }
5178
5179 _edje_calc_params_need_type_node(pf);
5180 frame_exist = evas_canvas3d_mesh_frame_exist(mesh, pf->type.node->frame);
5181 if (!frame_exist)
5182 {
5183 evas_canvas3d_mesh_frame_add(mesh, pf->type.node->frame);
5184 evas_canvas3d_mesh_frame_material_set(mesh, pf->type.node->frame, material);
5185 }
5186 evas_canvas3d_mesh_shader_mode_set(mesh, pd_mesh_node->mesh_node.properties.shade);
5187 evas_canvas3d_mesh_vertex_assembly_set(mesh, pd_mesh_node->mesh_node.mesh.assembly);
5188 evas_canvas3d_node_mesh_frame_set(ep->node, mesh, pf->type.node->frame);
5189 evas_canvas3d_node_scale_set(ep->node, pf->type.node->scale_3d.x, pf->type.node->scale_3d.y, pf->type.node->scale_3d.z);
5190 evas_canvas3d_node_position_set(ep->node, pf->type.node->point.x, pf->type.node->point.y, pf->type.node->point.z);
5191 switch (pd_mesh_node->mesh_node.orientation.type)
5192 {
5193 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
5194 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION:
5195 {
5196 SET_QUATERNION(mesh_node)
5197 break;
5198 }
5199 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT:
5200 SET_LOOK_AT(mesh_node)
5201 break;
5202 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO:
5203 {
5204 SET_LOOK_TO(mesh_node)
5205 break;
5206 }
5207 case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS:
5208 SET_ANGLE_AXIS(mesh_node)
5209 break;
5210 }
5211 }
5212 break;
5213 }
5214 } 4882 }
5215 4883
5216 /* Some object need special recalc. */ 4884 /* Some object need special recalc. */
diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
index b0b7962a8a..8b07c9dc13 100644
--- a/src/lib/edje/edje_data.c
+++ b/src/lib/edje/edje_data.c
@@ -54,12 +54,6 @@ Eet_Data_Descriptor *_edje_edd_edje_part_description_textblock = NULL;
54Eet_Data_Descriptor *_edje_edd_edje_part_description_box = NULL; 54Eet_Data_Descriptor *_edje_edd_edje_part_description_box = NULL;
55Eet_Data_Descriptor *_edje_edd_edje_part_description_table = NULL; 55Eet_Data_Descriptor *_edje_edd_edje_part_description_table = NULL;
56Eet_Data_Descriptor *_edje_edd_edje_part_description_external = NULL; 56Eet_Data_Descriptor *_edje_edd_edje_part_description_external = NULL;
57Eet_Data_Descriptor *_edje_edd_edje_part_description_3d_color = NULL;
58Eet_Data_Descriptor *_edje_edd_edje_part_description_3d_offset = NULL;
59Eet_Data_Descriptor *_edje_edd_edje_part_description_3d_vec = NULL;
60Eet_Data_Descriptor *_edje_edd_edje_part_description_mesh_node = NULL;
61Eet_Data_Descriptor *_edje_edd_edje_part_description_light = NULL;
62Eet_Data_Descriptor *_edje_edd_edje_part_description_camera = NULL;
63Eet_Data_Descriptor *_edje_edd_edje_part_description_variant_list = NULL; 57Eet_Data_Descriptor *_edje_edd_edje_part_description_variant_list = NULL;
64Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle_pointer = NULL; 58Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle_pointer = NULL;
65Eet_Data_Descriptor *_edje_edd_edje_part_description_snapshot_pointer = NULL; 59Eet_Data_Descriptor *_edje_edd_edje_part_description_snapshot_pointer = NULL;
@@ -73,9 +67,6 @@ Eet_Data_Descriptor *_edje_edd_edje_part_description_textblock_pointer = NULL;
73Eet_Data_Descriptor *_edje_edd_edje_part_description_box_pointer = NULL; 67Eet_Data_Descriptor *_edje_edd_edje_part_description_box_pointer = NULL;
74Eet_Data_Descriptor *_edje_edd_edje_part_description_table_pointer = NULL; 68Eet_Data_Descriptor *_edje_edd_edje_part_description_table_pointer = NULL;
75Eet_Data_Descriptor *_edje_edd_edje_part_description_external_pointer = NULL; 69Eet_Data_Descriptor *_edje_edd_edje_part_description_external_pointer = NULL;
76Eet_Data_Descriptor *_edje_edd_edje_part_description_mesh_node_pointer = NULL;
77Eet_Data_Descriptor *_edje_edd_edje_part_description_light_pointer = NULL;
78Eet_Data_Descriptor *_edje_edd_edje_part_description_camera_pointer = NULL;
79Eet_Data_Descriptor *_edje_edd_edje_part_description_filter_data = NULL; 70Eet_Data_Descriptor *_edje_edd_edje_part_description_filter_data = NULL;
80Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL; 71Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
81Eet_Data_Descriptor *_edje_edd_edje_part_image_id_pointer = NULL; 72Eet_Data_Descriptor *_edje_edd_edje_part_image_id_pointer = NULL;
@@ -127,9 +118,6 @@ EMP(BOX, box)
127EMP(TABLE, table) 118EMP(TABLE, table)
128EMP(EXTERNAL, external) 119EMP(EXTERNAL, external)
129EMP(SPACER, spacer) 120EMP(SPACER, spacer)
130EMP(MESH_NODE, mesh_node)
131EMP(LIGHT, light)
132EMP(CAMERA, camera)
133EMP(SNAPSHOT, snapshot) 121EMP(SNAPSHOT, snapshot)
134EMP(VECTOR, vector) 122EMP(VECTOR, vector)
135#undef EMP 123#undef EMP
@@ -178,9 +166,6 @@ struct
178 { EDJE_PART_TYPE_EXTERNAL, "external" }, 166 { EDJE_PART_TYPE_EXTERNAL, "external" },
179 { EDJE_PART_TYPE_PROXY, "proxy" }, 167 { EDJE_PART_TYPE_PROXY, "proxy" },
180 { EDJE_PART_TYPE_SPACER, "spacer" }, 168 { EDJE_PART_TYPE_SPACER, "spacer" },
181 { EDJE_PART_TYPE_MESH_NODE, "mesh_node" },
182 { EDJE_PART_TYPE_LIGHT, "light" },
183 { EDJE_PART_TYPE_CAMERA, "camera" },
184 { EDJE_PART_TYPE_SNAPSHOT, "snapshot" }, 169 { EDJE_PART_TYPE_SNAPSHOT, "snapshot" },
185 { EDJE_PART_TYPE_VECTOR, "vector" } 170 { EDJE_PART_TYPE_VECTOR, "vector" }
186}; 171};
@@ -298,14 +283,8 @@ _edje_edd_shutdown(void)
298 FREED(_edje_edd_edje_part_description_box); 283 FREED(_edje_edd_edje_part_description_box);
299 FREED(_edje_edd_edje_part_description_table); 284 FREED(_edje_edd_edje_part_description_table);
300 FREED(_edje_edd_edje_part_description_external); 285 FREED(_edje_edd_edje_part_description_external);
301 FREED(_edje_edd_edje_part_description_mesh_node);
302 FREED(_edje_edd_edje_part_description_light);
303 FREED(_edje_edd_edje_part_description_vector); 286 FREED(_edje_edd_edje_part_description_vector);
304 FREED(_edje_edd_edje_part_description_vector_pointer); 287 FREED(_edje_edd_edje_part_description_vector_pointer);
305 FREED(_edje_edd_edje_part_description_camera);
306 FREED(_edje_edd_edje_part_description_3d_color);
307 FREED(_edje_edd_edje_part_description_3d_offset);
308 FREED(_edje_edd_edje_part_description_3d_vec);
309 FREED(_edje_edd_edje_part_description_variant_list); 288 FREED(_edje_edd_edje_part_description_variant_list);
310 FREED(_edje_edd_edje_part_description_rectangle_pointer); 289 FREED(_edje_edd_edje_part_description_rectangle_pointer);
311 FREED(_edje_edd_edje_part_description_snapshot_pointer); 290 FREED(_edje_edd_edje_part_description_snapshot_pointer);
@@ -319,9 +298,6 @@ _edje_edd_shutdown(void)
319 FREED(_edje_edd_edje_part_description_box_pointer); 298 FREED(_edje_edd_edje_part_description_box_pointer);
320 FREED(_edje_edd_edje_part_description_table_pointer); 299 FREED(_edje_edd_edje_part_description_table_pointer);
321 FREED(_edje_edd_edje_part_description_external_pointer); 300 FREED(_edje_edd_edje_part_description_external_pointer);
322 FREED(_edje_edd_edje_part_description_mesh_node_pointer);
323 FREED(_edje_edd_edje_part_description_light_pointer);
324 FREED(_edje_edd_edje_part_description_camera_pointer);
325 FREED(_edje_edd_edje_part_description_filter_data); 301 FREED(_edje_edd_edje_part_description_filter_data);
326 FREED(_edje_edd_edje_part_image_id); 302 FREED(_edje_edd_edje_part_image_id);
327 FREED(_edje_edd_edje_part_image_id_pointer); 303 FREED(_edje_edd_edje_part_image_id_pointer);
@@ -494,31 +470,6 @@ _edje_edd_init(void)
494 eet_data_descriptor_file_new(&eddc); 470 eet_data_descriptor_file_new(&eddc);
495 EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_vibration_directory, Edje_Vibration_Directory, "samples", samples, _edje_edd_edje_vibration_sample); 471 EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_vibration_directory, Edje_Vibration_Directory, "samples", samples, _edje_edd_edje_vibration_sample);
496 472
497 /* color structure for ambient, diffuse and specular colors */
498 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Color);
499 _edje_edd_edje_part_description_3d_color =
500 eet_data_descriptor_file_new(&eddc);
501 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, Edje_Color, "r", r, EET_T_UCHAR);
502 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, Edje_Color, "g", g, EET_T_UCHAR);
503 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, Edje_Color, "b", b, EET_T_UCHAR);
504 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, Edje_Color, "a", a, EET_T_UCHAR);
505
506 /* offset (vector of integer values) */
507 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_3D_Int_Vec);
508 _edje_edd_edje_part_description_3d_offset =
509 eet_data_descriptor_file_new(&eddc);
510 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_offset, Edje_3D_Int_Vec, "x", x, EET_T_INT);
511 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_offset, Edje_3D_Int_Vec, "y", y, EET_T_INT);
512 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_offset, Edje_3D_Int_Vec, "z", z, EET_T_INT);
513
514 /* vector of float values */
515 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_3D_Vec);
516 _edje_edd_edje_part_description_3d_vec =
517 eet_data_descriptor_file_new(&eddc);
518 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_vec, Edje_3D_Vec, "x", x, EDJE_T_FLOAT);
519 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_vec, Edje_3D_Vec, "y", y, EDJE_T_FLOAT);
520 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_vec, Edje_3D_Vec, "z", z, EDJE_T_FLOAT);
521
522 /* Efl.Gfx.Filter */ 473 /* Efl.Gfx.Filter */
523 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Gfx_Filter); 474 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Gfx_Filter);
524 _edje_edd_edje_filter = eet_data_descriptor_file_new(&eddc); 475 _edje_edd_edje_filter = eet_data_descriptor_file_new(&eddc);
@@ -547,9 +498,6 @@ _edje_edd_init(void)
547 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.EXTERNAL", count.EXTERNAL, EET_T_INT); 498 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.EXTERNAL", count.EXTERNAL, EET_T_INT);
548 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SPACER", count.SPACER, EET_T_INT); 499 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SPACER", count.SPACER, EET_T_INT);
549 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SNAPSHOT", count.SNAPSHOT, EET_T_INT); 500 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.SNAPSHOT", count.SNAPSHOT, EET_T_INT);
550 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.MESH_NODE", count.MESH_NODE, EET_T_INT);
551 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.LIGHT", count.LIGHT, EET_T_INT);
552 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.CAMERA", count.CAMERA, EET_T_INT);
553 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.VECTOR", count.VECTOR, EET_T_INT); 501 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.VECTOR", count.VECTOR, EET_T_INT);
554 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.part", count.part, EET_T_INT); 502 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "count.part", count.part, EET_T_INT);
555 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "group_alias", group_alias, EET_T_UCHAR); 503 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, Edje_Part_Collection_Directory_Entry, "group_alias", group_alias, EET_T_UCHAR);
@@ -672,7 +620,6 @@ _edje_edd_init(void)
672 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "name", name, EET_T_STRING); 620 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "name", name, EET_T_STRING);
673 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "signal", signal, EET_T_STRING); 621 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "signal", signal, EET_T_STRING);
674 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "source", source, EET_T_STRING); 622 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "source", source, EET_T_STRING);
675 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "source_3d_id", source_3d_id, EET_T_INT);
676 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_part", filter.part, EET_T_STRING); 623 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_part", filter.part, EET_T_STRING);
677 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_state", filter.state, EET_T_STRING); 624 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "filter_state", filter.state, EET_T_STRING);
678 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "in.from", in.from, EET_T_DOUBLE); 625 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "in.from", in.from, EET_T_DOUBLE);
@@ -758,7 +705,6 @@ _edje_edd_init(void)
758 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "limit", limit, EET_T_CHAR); \ 705 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "limit", limit, EET_T_CHAR); \
759 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", align.x, EDJE_T_FLOAT); \ 706 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", align.x, EDJE_T_FLOAT); \
760 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, EDJE_T_FLOAT); \ 707 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, EDJE_T_FLOAT); \
761 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(Edd, Type, "align_3d", align_3d, _edje_edd_edje_part_description_3d_vec); \
762 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, EET_T_UCHAR); \ 708 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, EET_T_UCHAR); \
763 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", fixed.h, EET_T_UCHAR); \ 709 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", fixed.h, EET_T_UCHAR); \
764 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "user_set.fixed", user_set.fixed, EET_T_UCHAR); \ 710 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "user_set.fixed", user_set.fixed, EET_T_UCHAR); \
@@ -858,7 +804,6 @@ _edje_edd_init(void)
858 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", Dec.visible, EET_T_CHAR); \ 804 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", Dec.visible, EET_T_CHAR); \
859 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", Dec.align.x, EDJE_T_FLOAT); \ 805 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", Dec.align.x, EDJE_T_FLOAT); \
860 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", Dec.align.y, EDJE_T_FLOAT); \ 806 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", Dec.align.y, EDJE_T_FLOAT); \
861 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(Edd, Type, "align_3d", Dec.align_3d, _edje_edd_edje_part_description_3d_vec); \
862 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", Dec.fixed.w, EET_T_UCHAR); \ 807 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", Dec.fixed.w, EET_T_UCHAR); \
863 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", Dec.fixed.h, EET_T_UCHAR); \ 808 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", Dec.fixed.h, EET_T_UCHAR); \
864 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "user_set.fixed", Dec.user_set.fixed, EET_T_UCHAR); \ 809 EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "user_set.fixed", Dec.user_set.fixed, EET_T_UCHAR); \
@@ -1018,77 +963,6 @@ _edje_edd_init(void)
1018 eet_data_descriptor_file_new(&eddc); 963 eet_data_descriptor_file_new(&eddc);
1019 EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, common); 964 EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, common);
1020 965
1021 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Mesh_Node);
1022 eddc.func.mem_free = mem_free_mesh_node;
1023 eddc.func.mem_alloc = mem_alloc_mesh_node;
1024 _edje_edd_edje_part_description_mesh_node =
1025 eet_data_descriptor_file_new(&eddc);
1026 EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, common);
1027 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.position.point", mesh_node.position.point, _edje_edd_edje_part_description_3d_vec);
1028 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.position.space", mesh_node.position.space, EET_T_CHAR);
1029 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.ambient", mesh_node.properties.ambient, _edje_edd_edje_part_description_3d_color);
1030 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.diffuse", mesh_node.properties.diffuse, _edje_edd_edje_part_description_3d_color);
1031 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.specular", mesh_node.properties.specular, _edje_edd_edje_part_description_3d_color);
1032 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.material_attrib", mesh_node.properties.material_attrib, EET_T_UCHAR);
1033 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.normal", mesh_node.properties.normal, EET_T_UCHAR);
1034 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.shininess", mesh_node.properties.shininess, EDJE_T_FLOAT);
1035 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.properties.shade", mesh_node.properties.shade, EET_T_UCHAR);
1036 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.aabb1.relative", mesh_node.aabb1.relative, _edje_edd_edje_part_description_3d_vec);
1037 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.aabb1.offset", mesh_node.aabb1.offset, _edje_edd_edje_part_description_3d_offset);
1038 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.aabb1.rel_to", mesh_node.aabb1.rel_to, EET_T_INT);
1039 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.aabb2.relative", mesh_node.aabb2.relative, _edje_edd_edje_part_description_3d_vec);
1040 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.aabb2.offset", mesh_node.aabb2.offset, _edje_edd_edje_part_description_3d_offset);
1041 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.aabb2.rel_to", mesh_node.aabb2.rel_to, EET_T_INT);
1042 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.orientation.type", mesh_node.orientation.type, EET_T_INT);
1043 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, mesh_node);
1044 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.scale_3d", mesh_node.scale_3d, _edje_edd_edje_part_description_3d_vec);
1045 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.id", mesh_node.texture.id, EET_T_INT);
1046 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.set", mesh_node.texture.set, EET_T_UCHAR);
1047 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.wrap1", mesh_node.texture.wrap1, EET_T_UCHAR);
1048 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.wrap2", mesh_node.texture.wrap2, EET_T_UCHAR);
1049 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.filter1", mesh_node.texture.filter1, EET_T_UCHAR);
1050 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.filter2", mesh_node.texture.filter2, EET_T_UCHAR);
1051 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.need_texture", mesh_node.texture.need_texture, EET_T_INT);
1052 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.texture.textured", mesh_node.texture.textured, EET_T_INT);
1053 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.mesh.primitive", mesh_node.mesh.primitive, EET_T_UCHAR);
1054 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.mesh.assembly", mesh_node.mesh.assembly, EET_T_UCHAR);
1055 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.mesh.id", mesh_node.mesh.id, EET_T_INT);
1056 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.mesh.set", mesh_node.mesh.set, EET_T_UCHAR);
1057 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_mesh_node, Edje_Part_Description_Mesh_Node, "mesh_node.mesh.frame", mesh_node.mesh.frame, EET_T_INT);
1058
1059 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Light);
1060 eddc.func.mem_free = mem_free_light;
1061 eddc.func.mem_alloc = mem_alloc_light;
1062 _edje_edd_edje_part_description_light =
1063 eet_data_descriptor_file_new(&eddc);
1064 EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, common);
1065 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.position.point", light.position.point, _edje_edd_edje_part_description_3d_vec);
1066 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.position.space", light.position.space, EET_T_CHAR);
1067 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.orientation.type", light.orientation.type, EET_T_INT);
1068 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, light);
1069 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.properties.ambient", light.properties.ambient, _edje_edd_edje_part_description_3d_color);
1070 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.properties.diffuse", light.properties.diffuse, _edje_edd_edje_part_description_3d_color);
1071 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.properties.specular", light.properties.specular, _edje_edd_edje_part_description_3d_color);
1072 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.light.perspective.fovy", light.light.fovy, EDJE_T_FLOAT);
1073 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.light.perspective.aspect", light.light.aspect, EDJE_T_FLOAT);
1074 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.light.perspective.near", light.light.frustum_near, EDJE_T_FLOAT);
1075 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, Edje_Part_Description_Light, "light.light.perspective.far", light.light.frustum_far, EDJE_T_FLOAT);
1076
1077 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Camera);
1078 eddc.func.mem_free = mem_free_camera;
1079 eddc.func.mem_alloc = mem_alloc_camera;
1080 _edje_edd_edje_part_description_camera =
1081 eet_data_descriptor_file_new(&eddc);
1082 EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, common);
1083 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.position.point", camera.position.point, _edje_edd_edje_part_description_3d_vec);
1084 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.position.space", camera.position.space, EET_T_CHAR);
1085 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.orientation.type", camera.orientation.type, EET_T_INT);
1086 EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, camera);
1087 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.camera.perspective.fovy", camera.camera.fovy, EDJE_T_FLOAT);
1088 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.camera.perspective.aspect", camera.camera.aspect, EDJE_T_FLOAT);
1089 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.camera.perspective.near", camera.camera.frustum_near, EDJE_T_FLOAT);
1090 EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, Edje_Part_Description_Camera, "camera.camera.perspective.far", camera.camera.frustum_far, EDJE_T_FLOAT);
1091
1092 EDJE_DEFINE_POINTER_TYPE(Part_Image_Id, part_image_id); 966 EDJE_DEFINE_POINTER_TYPE(Part_Image_Id, part_image_id);
1093 EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.tweens", image.tweens, _edje_edd_edje_part_image_id_pointer); 967 EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_description_image, Edje_Part_Description_Image, "image.tweens", image.tweens, _edje_edd_edje_part_image_id_pointer);
1094 968
@@ -1259,9 +1133,6 @@ _edje_edd_init(void)
1259 EDJE_DEFINE_POINTER_TYPE(Part_Description_Box, part_description_box); 1133 EDJE_DEFINE_POINTER_TYPE(Part_Description_Box, part_description_box);
1260 EDJE_DEFINE_POINTER_TYPE(Part_Description_Table, part_description_table); 1134 EDJE_DEFINE_POINTER_TYPE(Part_Description_Table, part_description_table);
1261 EDJE_DEFINE_POINTER_TYPE(Part_Description_External, part_description_external); 1135 EDJE_DEFINE_POINTER_TYPE(Part_Description_External, part_description_external);
1262 EDJE_DEFINE_POINTER_TYPE(Part_Description_Mesh_Node, part_description_mesh_node);
1263 EDJE_DEFINE_POINTER_TYPE(Part_Description_Camera, part_description_camera);
1264 EDJE_DEFINE_POINTER_TYPE(Part_Description_Light, part_description_light);
1265 EDJE_DEFINE_POINTER_TYPE(Part_Description_Vector, part_description_vector); 1136 EDJE_DEFINE_POINTER_TYPE(Part_Description_Vector, part_description_vector);
1266 1137
1267 eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION; 1138 eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
@@ -1281,9 +1152,6 @@ _edje_edd_init(void)
1281 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "box", _edje_edd_edje_part_description_box); 1152 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "box", _edje_edd_edje_part_description_box);
1282 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "table", _edje_edd_edje_part_description_table); 1153 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "table", _edje_edd_edje_part_description_table);
1283 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "external", _edje_edd_edje_part_description_external); 1154 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "external", _edje_edd_edje_part_description_external);
1284 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "mesh_node", _edje_edd_edje_part_description_mesh_node);
1285 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "light", _edje_edd_edje_part_description_light);
1286 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "camera", _edje_edd_edje_part_description_camera);
1287 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "vector", _edje_edd_edje_part_description_vector); 1155 EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "vector", _edje_edd_edje_part_description_vector);
1288 1156
1289#define EDJE_ADD_ARRAY_MAPPING(Variant, Type, Minus) \ 1157#define EDJE_ADD_ARRAY_MAPPING(Variant, Type, Minus) \
@@ -1311,9 +1179,6 @@ _edje_edd_init(void)
1311 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "box", box); 1179 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "box", box);
1312 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "table", table); 1180 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "table", table);
1313 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "external", external); 1181 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "external", external);
1314 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "mesh_node", mesh_node);
1315 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "light", light);
1316 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "camera", camera);
1317 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "vector", vector); 1182 EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "vector", vector);
1318 1183
1319 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element); 1184 EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 1aa5eb8633..1dad199055 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -1693,9 +1693,6 @@ _mempools_add(Edje_Part_Collection_Directory_Entry *de)
1693 EDIT_EMN(EXTERNAL, Edje_Part_Description_External, de); 1693 EDIT_EMN(EXTERNAL, Edje_Part_Description_External, de);
1694 EDIT_EMN(SPACER, Edje_Part_Description_Common, de); 1694 EDIT_EMN(SPACER, Edje_Part_Description_Common, de);
1695 EDIT_EMN(SNAPSHOT, Edje_Part_Description_Snapshot, de); 1695 EDIT_EMN(SNAPSHOT, Edje_Part_Description_Snapshot, de);
1696 EDIT_EMN(MESH_NODE, Edje_Part_Description_Mesh_Node, de);
1697 EDIT_EMN(LIGHT, Edje_Part_Description_Light, de);
1698 EDIT_EMN(CAMERA, Edje_Part_Description_Camera, de);
1699 EDIT_EMN(part, Edje_Part, de); 1696 EDIT_EMN(part, Edje_Part, de);
1700 1697
1701 EDIT_EMNP(RECTANGLE, Edje_Part_Description_Common, de); 1698 EDIT_EMNP(RECTANGLE, Edje_Part_Description_Common, de);
@@ -1710,9 +1707,6 @@ _mempools_add(Edje_Part_Collection_Directory_Entry *de)
1710 EDIT_EMNP(EXTERNAL, Edje_Part_Description_External, de); 1707 EDIT_EMNP(EXTERNAL, Edje_Part_Description_External, de);
1711 EDIT_EMNP(SPACER, Edje_Part_Description_Common, de); 1708 EDIT_EMNP(SPACER, Edje_Part_Description_Common, de);
1712 EDIT_EMNP(SNAPSHOT, Edje_Part_Description_Snapshot, de); 1709 EDIT_EMNP(SNAPSHOT, Edje_Part_Description_Snapshot, de);
1713 EDIT_EMNP(MESH_NODE, Edje_Part_Description_Mesh_Node, de);
1714 EDIT_EMNP(LIGHT, Edje_Part_Description_Light, de);
1715 EDIT_EMNP(CAMERA, Edje_Part_Description_Camera, de);
1716} 1710}
1717 1711
1718EAPI Eina_Bool 1712EAPI Eina_Bool
@@ -6435,9 +6429,6 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double
6435 pd->persp.zplane = EINA_FALSE; 6429 pd->persp.zplane = EINA_FALSE;
6436 pd->map.zoom.x = FROM_DOUBLE(1.0); 6430 pd->map.zoom.x = FROM_DOUBLE(1.0);
6437 pd->map.zoom.y = FROM_DOUBLE(1.0); 6431 pd->map.zoom.y = FROM_DOUBLE(1.0);
6438 pd->align_3d.x = FROM_DOUBLE(0.5);
6439 pd->align_3d.y = FROM_DOUBLE(0.5);
6440 pd->align_3d.z = FROM_DOUBLE(0.5);
6441 pd->persp.focal = 1000; 6432 pd->persp.focal = 1000;
6442 6433
6443 if (rp->part->type == EDJE_PART_TYPE_TEXT 6434 if (rp->part->type == EDJE_PART_TYPE_TEXT
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index aa894015c3..783d8d0312 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -269,23 +269,9 @@ edje_mmap_group_exists(Eina_File *f, const char *glob)
269} 269}
270 270
271EAPI Eina_Bool 271EAPI Eina_Bool
272edje_mmap_3d_has(Eina_File *f, const char *group) 272edje_mmap_3d_has(Eina_File *f EINA_UNUSED, const char *group EINA_UNUSED)
273{ 273{
274 Edje_Part_Collection *edc = NULL; 274 return EINA_FALSE;
275 Edje_File *edf;
276 int err_ret = 0;
277 Eina_Bool r = EINA_FALSE;
278
279 edf = _edje_cache_file_coll_open(f, group, &err_ret, &edc, NULL);
280 if (!edf || !edc) return EINA_FALSE;
281
282 if (edc->scene_size.width >0 && edc->scene_size.height > 0)
283 r = EINA_TRUE;
284
285 _edje_cache_coll_unref(edf, edc);
286 _edje_cache_file_unref(edf);
287
288 return r;
289} 275}
290 276
291typedef struct _Edje_File_Iterator Edje_File_Iterator; 277typedef struct _Edje_File_Iterator Edje_File_Iterator;
@@ -1053,71 +1039,6 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch
1053 rp->object = NULL; 1039 rp->object = NULL;
1054 break; 1040 break;
1055 1041
1056 case EDJE_PART_TYPE_MESH_NODE:
1057 {
1058 Evas_Canvas3D_Mesh *mesh = NULL;
1059 Evas_Canvas3D_Material *material = NULL;
1060 Edje_Part_Description_Mesh_Node *pd_mesh_node;
1061
1062 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas, evas_canvas3d_node_type_set(efl_added, EVAS_CANVAS3D_NODE_TYPE_MESH));
1063
1064 mesh = efl_add(EVAS_CANVAS3D_MESH_CLASS, ed->base.evas);
1065 evas_canvas3d_node_mesh_add(rp->node, mesh);
1066
1067 pd_mesh_node = (Edje_Part_Description_Mesh_Node*) rp->chosen_description;
1068
1069 if (pd_mesh_node->mesh_node.mesh.primitive == EVAS_CANVAS3D_MESH_PRIMITIVE_NONE)
1070 {
1071 efl_file_simple_load(mesh, ed->file->model_dir->entries[pd_mesh_node->mesh_node.mesh.id].entry, NULL);
1072 }
1073 else
1074 {
1075 evas_canvas3d_mesh_frame_add(mesh, 0);
1076 }
1077
1078 material = efl_add(EVAS_CANVAS3D_MATERIAL_CLASS, ed->base.evas);
1079 evas_canvas3d_mesh_frame_material_set(mesh, 0, material);
1080 if (pd_mesh_node->mesh_node.texture.need_texture && pd_mesh_node->mesh_node.texture.textured)
1081 {
1082 Evas_Canvas3D_Texture *texture = NULL;
1083
1084 texture = efl_add(EVAS_CANVAS3D_TEXTURE_CLASS, ed->base.evas);
1085 evas_canvas3d_material_texture_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture);
1086 }
1087 rp->object = NULL;
1088 }
1089 break;
1090
1091 case EDJE_PART_TYPE_LIGHT:
1092 {
1093 Evas_Canvas3D_Light *light = NULL;
1094
1095 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas, evas_canvas3d_node_type_set(efl_added, EVAS_CANVAS3D_NODE_TYPE_LIGHT));
1096 light = efl_add(EVAS_CANVAS3D_LIGHT_CLASS, ed->base.evas);
1097 evas_canvas3d_node_light_set(rp->node, light);
1098
1099 rp->object = NULL;
1100 break;
1101 }
1102
1103 case EDJE_PART_TYPE_CAMERA:
1104 {
1105 Evas_Canvas3D_Camera *camera = NULL;
1106
1107 rp->node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas, evas_canvas3d_node_type_set(efl_added, EVAS_CANVAS3D_NODE_TYPE_CAMERA));
1108 camera = efl_add(EVAS_CANVAS3D_CAMERA_CLASS, ed->base.evas);
1109 evas_canvas3d_node_camera_set(rp->node, camera);
1110
1111 rp->object = evas_object_image_filled_add(ed->base.evas);
1112
1113 Eo* viewport = efl_add(EFL_CANVAS_SCENE3D_CLASS, ed->base.evas);
1114 evas_object_image_source_set(rp->object, viewport);
1115 evas_object_show(viewport);
1116 evas_object_event_callback_add(rp->object, EVAS_CALLBACK_DEL, _evas_object_viewport_del, viewport);
1117
1118 break;
1119 }
1120
1121 default: 1042 default:
1122 ERR("wrong part type %i!", ep->type); 1043 ERR("wrong part type %i!", ep->type);
1123 break; 1044 break;
@@ -2726,59 +2647,3 @@ _cb_signal_repeat(void *data, Evas_Object *obj, const char *sig, const char *sou
2726 _edje_util_message_send(ed_parent, EDJE_QUEUE_SCRIPT, 2647 _edje_util_message_send(ed_parent, EDJE_QUEUE_SCRIPT,
2727 EDJE_MESSAGE_SIGNAL, 0, &emsg); 2648 EDJE_MESSAGE_SIGNAL, 0, &emsg);
2728} 2649}
2729
2730EAPI Eina_Bool
2731edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene)
2732{
2733 /* Use default value for state. */
2734 unsigned int i;
2735 Edje *ed;
2736 Edje_Real_Part *rp;
2737
2738 ed = _edje_fetch(obj);
2739
2740 if (!ed)
2741 {
2742 ERR("Cannot get edje from object");
2743 return EINA_FALSE;
2744 }
2745
2746 if (*root_node == NULL)
2747 *root_node = efl_add(EVAS_CANVAS3D_NODE_CLASS, ed->base.evas,
2748 evas_canvas3d_node_type_set(efl_added, EVAS_CANVAS3D_NODE_TYPE_NODE));
2749
2750 if (scene == NULL)
2751 scene = efl_add(EVAS_CANVAS3D_SCENE_CLASS, ed->base.evas);
2752
2753 if ((*root_node == NULL) || (scene == NULL))
2754 {
2755 ERR("Cannot create scene and root node");
2756 return EINA_FALSE;
2757 }
2758
2759 for (i = 0; i < ed->table_parts_size; i++)
2760 {
2761 rp = ed->table_parts[i];
2762
2763 if (rp->node)
2764 {
2765 evas_canvas3d_node_member_add(*root_node, rp->node);
2766 }
2767
2768 if (rp->part->type == EDJE_PART_TYPE_CAMERA)
2769 {
2770 Evas_Object *viewport;
2771
2772 evas_canvas3d_scene_camera_node_set(scene, rp->node);
2773 evas_canvas3d_scene_root_node_set(scene, *root_node);
2774 evas_canvas3d_scene_size_set(scene, ed->collection->scene_size.width, ed->collection->scene_size.height);
2775 evas_canvas3d_scene_background_color_set(scene, 0, 0 ,0 ,0);
2776
2777 viewport = evas_object_image_source_get(rp->object);
2778 efl_canvas_scene3d_set(viewport, scene);
2779 }
2780 }
2781
2782 return EINA_TRUE;
2783}
2784
diff --git a/src/lib/edje/edje_part.c b/src/lib/edje/edje_part.c
index cf1aa197b4..b5a477bab4 100644
--- a/src/lib/edje/edje_part.c
+++ b/src/lib/edje/edje_part.c
@@ -24,9 +24,6 @@ _part_type_to_string(unsigned char type)
24 case EDJE_PART_TYPE_EXTERNAL: typestr = "EXTERNAL"; break; 24 case EDJE_PART_TYPE_EXTERNAL: typestr = "EXTERNAL"; break;
25 case EDJE_PART_TYPE_PROXY: typestr = "PROXY"; break; 25 case EDJE_PART_TYPE_PROXY: typestr = "PROXY"; break;
26 case EDJE_PART_TYPE_SPACER: typestr = "SPACER"; break; 26 case EDJE_PART_TYPE_SPACER: typestr = "SPACER"; break;
27 case EDJE_PART_TYPE_MESH_NODE: typestr = "MESH_NODE"; break;
28 case EDJE_PART_TYPE_LIGHT: typestr = "LIGHT"; break;
29 case EDJE_PART_TYPE_CAMERA: typestr = "CAMERA"; break;
30 case EDJE_PART_TYPE_SNAPSHOT: typestr = "SNAPSHOT"; break; 27 case EDJE_PART_TYPE_SNAPSHOT: typestr = "SNAPSHOT"; break;
31 case EDJE_PART_TYPE_VECTOR: typestr = "VECTOR"; break; 28 case EDJE_PART_TYPE_VECTOR: typestr = "VECTOR"; break;
32 default: break; 29 default: break;