cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8915982562c438f7a2c2f517744d58efdbad503d

commit 8915982562c438f7a2c2f517744d58efdbad503d
Author: perepelits.m <perepelit...@samsung.com>
Date:   Tue May 26 19:05:39 2015 +0200

    edje: add of descriptors for Evas_3d integration.
    
    Summary: Creates descriptors for all structures
    
    Reviewers: cedric, Hermet, raster
    
    Subscribers: cedric, artem.popov
    
    Differential Revision: https://phab.enlightenment.org/D2544
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/edje/edje_data.c | 165 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 164 insertions(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
index 7af11c2..0aa16d1 100644
--- a/src/lib/edje/edje_data.c
+++ b/src/lib/edje/edje_data.c
@@ -14,6 +14,8 @@ Eet_Data_Descriptor *_edje_edd_edje_image_directory = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_image_directory_set = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_image_directory_set_entry = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_model_directory = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_model_directory_entry = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_limit = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_limit_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_sound_sample = NULL;
@@ -44,6 +46,12 @@ Eet_Data_Descriptor 
*_edje_edd_edje_part_description_textblock = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_box = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_table = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_external = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_3d_color = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_3d_offset = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_3d_vec = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_mesh_node = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_light = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_camera = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_variant_list = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_spacer_pointer = NULL;
@@ -56,6 +64,9 @@ Eet_Data_Descriptor 
*_edje_edd_edje_part_description_textblock_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_box_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_table_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_description_external_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_mesh_node_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_light_pointer = NULL;
+Eet_Data_Descriptor *_edje_edd_edje_part_description_camera_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_image_id_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_external_param = NULL;
@@ -94,6 +105,9 @@ EMP(BOX, box);
 EMP(TABLE, table);
 EMP(EXTERNAL, external);
 EMP(SPACER, spacer);
+EMP(MESH_NODE, mesh_node);
+EMP(LIGHT, light);
+EMP(CAMERA, camera);
 
 EAPI Eina_Mempool *_emp_part = NULL;
 
@@ -137,7 +151,10 @@ struct {
   { EDJE_PART_TYPE_TABLE,     "table" },
   { EDJE_PART_TYPE_EXTERNAL,  "external" },
   { EDJE_PART_TYPE_PROXY,     "proxy" },
-  { EDJE_PART_TYPE_SPACER,    "spacer" }
+  { EDJE_PART_TYPE_SPACER,    "spacer" },
+  { EDJE_PART_TYPE_MESH_NODE, "mesh_node" },
+  { EDJE_PART_TYPE_LIGHT,     "light" },
+  { EDJE_PART_TYPE_CAMERA,    "camera" }
 };
 
 static const char *
@@ -203,6 +220,8 @@ _edje_edd_shutdown(void)
    FREED(_edje_edd_edje_image_directory_entry);
    FREED(_edje_edd_edje_image_directory_set);
    FREED(_edje_edd_edje_image_directory_set_entry);
+   FREED(_edje_edd_edje_model_directory);
+   FREED(_edje_edd_edje_model_directory_entry);
    FREED(_edje_edd_edje_limit);
    FREED(_edje_edd_edje_limit_pointer);
    FREED(_edje_edd_edje_sound_sample);
@@ -233,6 +252,12 @@ _edje_edd_shutdown(void)
    FREED(_edje_edd_edje_part_description_box);
    FREED(_edje_edd_edje_part_description_table);
    FREED(_edje_edd_edje_part_description_external);
+   FREED(_edje_edd_edje_part_description_mesh_node);
+   FREED(_edje_edd_edje_part_description_light);
+   FREED(_edje_edd_edje_part_description_camera);
+   FREED(_edje_edd_edje_part_description_3d_color);
+   FREED(_edje_edd_edje_part_description_3d_offset);
+   FREED(_edje_edd_edje_part_description_3d_vec);
    FREED(_edje_edd_edje_part_description_variant_list);
    FREED(_edje_edd_edje_part_description_rectangle_pointer);
    FREED(_edje_edd_edje_part_description_spacer_pointer);
@@ -245,6 +270,9 @@ _edje_edd_shutdown(void)
    FREED(_edje_edd_edje_part_description_box_pointer);
    FREED(_edje_edd_edje_part_description_table_pointer);
    FREED(_edje_edd_edje_part_description_external_pointer);
+   FREED(_edje_edd_edje_part_description_mesh_node_pointer);
+   FREED(_edje_edd_edje_part_description_light_pointer);
+   FREED(_edje_edd_edje_part_description_camera_pointer);
    FREED(_edje_edd_edje_part_image_id);
    FREED(_edje_edd_edje_part_image_id_pointer);
    FREED(_edje_edd_edje_external_param);
@@ -350,6 +378,18 @@ _edje_edd_init(void)
    _edje_edd_edje_mo_directory = eet_data_descriptor_file_new(&eddc);
    EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_mo_directory, 
Edje_Mo_Directory, "mo_entries", mo_entries, _edje_edd_edje_translation_file);
 
+   /* model directory */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Model_Directory_Entry);
+   _edje_edd_edje_model_directory_entry =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_model_directory_entry, 
Edje_Model_Directory_Entry, "entry", entry, EET_T_STRING);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_model_directory_entry, 
Edje_Model_Directory_Entry, "id", id, EET_T_INT);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Model_Directory);
+   _edje_edd_edje_model_directory =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_model_directory, 
Edje_Model_Directory, "entries", entries, _edje_edd_edje_model_directory_entry);
+
    /* Sound */
    EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Sound_Sample);
    _edje_edd_edje_sound_sample =
@@ -386,6 +426,32 @@ _edje_edd_init(void)
      eet_data_descriptor_file_new(&eddc);
    EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_vibration_directory, 
Edje_Vibration_Directory, "samples", samples, _edje_edd_edje_vibration_sample);
 
+   /* color structure for ambient, diffuse and specular colors */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Color);
+   _edje_edd_edje_part_description_3d_color =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, 
Edje_Color, "r", r, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, 
Edje_Color, "g", g, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, 
Edje_Color, "b", b, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_color, 
Edje_Color, "a", a, EET_T_UCHAR);
+
+   /* offset (vector of integer values) */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_3D_Int_Vec);
+   _edje_edd_edje_part_description_3d_offset =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_offset, 
Edje_3D_Int_Vec, "x", x, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_offset, 
Edje_3D_Int_Vec, "y", y, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_offset, 
Edje_3D_Int_Vec, "z", z, EET_T_INT);
+
+   /* vector of float values */
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_3D_Vec);
+   _edje_edd_edje_part_description_3d_vec =
+     eet_data_descriptor_file_new(&eddc);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_vec, 
Edje_3D_Vec, "x", x, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_vec, 
Edje_3D_Vec, "y", y, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_3d_vec, 
Edje_3D_Vec, "z", z, EDJE_T_FLOAT);
+
+
    /* collection directory */
    EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, 
Edje_Part_Collection_Directory_Entry);
    _edje_edd_edje_part_collection_directory_entry =
@@ -403,6 +469,9 @@ _edje_edd_init(void)
    
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "count.TABLE", count.TABLE, EET_T_INT);
    
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "count.EXTERNAL", count.EXTERNAL, 
EET_T_INT);
    
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "count.SPACER", count.SPACER, EET_T_INT);
+   
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);
+   
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "count.LIGHT", count.LIGHT, EET_T_INT);
+   
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "count.CAMERA", count.CAMERA, EET_T_INT);
    
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "count.part", count.part, EET_T_INT);
    
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection_directory_entry, 
Edje_Part_Collection_Directory_Entry, "group_alias", group_alias, EET_T_UCHAR);
 
@@ -447,6 +516,7 @@ _edje_edd_init(void)
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "base_scale", 
base_scale, EDJE_T_FLOAT);
    EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "external_dir", 
external_dir, _edje_edd_edje_external_directory);
    EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "image_dir", 
image_dir, _edje_edd_edje_image_directory);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "model_dir", 
model_dir, _edje_edd_edje_model_directory);
    EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "sound_dir", 
sound_dir, _edje_edd_edje_sound_directory);
    EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_file, Edje_File, "mo_dir", 
mo_dir, _edje_edd_edje_mo_directory);
 
@@ -562,6 +632,7 @@ _edje_edd_init(void)
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "limit", limit, EET_T_CHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", align.x, 
EDJE_T_FLOAT); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, 
EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(Edd, Type, "align_3d", align_3d, 
_edje_edd_edje_part_description_3d_vec); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, 
EET_T_UCHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", fixed.h, 
EET_T_UCHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "minmul.have", minmul.have, 
EET_T_UCHAR); \
@@ -656,6 +727,7 @@ _edje_edd_init(void)
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", Dec.visible, 
EET_T_CHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", Dec.align.x, 
EDJE_T_FLOAT); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", Dec.align.y, 
EDJE_T_FLOAT); \
+      EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(Edd, Type, "align_3d", Dec.align_3d, 
_edje_edd_edje_part_description_3d_vec); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", Dec.fixed.w, 
EET_T_UCHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.h", Dec.fixed.h, 
EET_T_UCHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "min.w", Dec.min.w, EET_T_INT); 
\
@@ -739,6 +811,13 @@ _edje_edd_init(void)
    }
 #endif
 
+#define EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(Edd, Type, Dec)                
                                                 \
+   {                                                                           
                                         \
+      EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(Edd, Type, 
"Dec##.orientation.look1", Dec.orientation.data, EDJE_T_FLOAT);    \
+      EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(Edd, Type, 
"Dec##.orientation.look2", Dec.orientation.data, EDJE_T_FLOAT);    \
+      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "Dec##.orientation.look_to", 
Dec.orientation.look_to, EET_T_INT);        \
+   }
+
    EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, 
Edje_Part_Description_Common);
    eddc.func.mem_free = mem_free_rectangle;
    eddc.func.mem_alloc = mem_alloc_rectangle;
@@ -774,6 +853,77 @@ _edje_edd_init(void)
      eet_data_descriptor_file_new(&eddc);
    
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_image,
 Edje_Part_Description_Image, common);
 
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, 
Edje_Part_Description_Mesh_Node);
+   eddc.func.mem_free = mem_free_mesh_node;
+   eddc.func.mem_alloc = mem_alloc_mesh_node;
+   _edje_edd_edje_part_description_mesh_node =
+     eet_data_descriptor_file_new(&eddc);
+   
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_mesh_node,
 Edje_Part_Description_Mesh_Node, common);
+   
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);
+   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);
+   
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);
+   
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);
+   
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);
+   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);
+   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);
+   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);
+   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);
+   
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);
+   
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);
+   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);
+   
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);
+   
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);
+   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);
+   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);
+   
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_mesh_node,
 Edje_Part_Description_Mesh_Node, mesh_node);
+   
EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.orientation.angle_axis", 
mesh_node.orientation.data, EDJE_T_FLOAT);
+   
EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_mesh_node, 
Edje_Part_Description_Mesh_Node, "mesh_node.orientation.quaternion", 
mesh_node.orientation.data, EDJE_T_FLOAT);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+   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);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Light);
+   eddc.func.mem_free = mem_free_light;
+   eddc.func.mem_alloc = mem_alloc_light;
+   _edje_edd_edje_part_description_light =
+     eet_data_descriptor_file_new(&eddc);
+   
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_light,
 Edje_Part_Description_Light, common);
+   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);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.position.space", light.position.space, 
EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.orientation.type", light.orientation.type, 
EET_T_INT);
+   
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, light);
+   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.orientation.angle_axis", 
light.orientation.data, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_light, 
Edje_Part_Description_Light, "light.orientation.quaternion", 
light.orientation.data, EDJE_T_FLOAT);
+   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);
+   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);
+   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);
+
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, 
Edje_Part_Description_Camera);
+   eddc.func.mem_free = mem_free_camera;
+   eddc.func.mem_alloc = mem_alloc_camera;
+   _edje_edd_edje_part_description_camera =
+     eet_data_descriptor_file_new(&eddc);
+   
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_camera,
 Edje_Part_Description_Camera, common);
+   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);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.position.space", camera.position.space, 
EET_T_CHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.orientation.type", 
camera.orientation.type, EET_T_INT);
+   
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED_LOOK(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, camera);
+   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.orientation.angle_axis", 
camera.orientation.data, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(_edje_edd_edje_part_description_camera, 
Edje_Part_Description_Camera, "camera.orientation.quaternion", 
camera.orientation.data, EDJE_T_FLOAT);
+   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);
+   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);
+   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);
+   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);
+
    EDJE_DEFINE_POINTER_TYPE(Part_Image_Id, part_image_id);
    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);
 
@@ -938,6 +1088,9 @@ _edje_edd_init(void)
    EDJE_DEFINE_POINTER_TYPE(Part_Description_Box, part_description_box);
    EDJE_DEFINE_POINTER_TYPE(Part_Description_Table, part_description_table);
    EDJE_DEFINE_POINTER_TYPE(Part_Description_External, 
part_description_external);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Mesh_Node, 
part_description_mesh_node);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Camera, part_description_camera);
+   EDJE_DEFINE_POINTER_TYPE(Part_Description_Light, part_description_light);
 
    eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
    eddc.func.type_get = _edje_description_variant_type_get;
@@ -955,6 +1108,10 @@ _edje_edd_init(void)
    EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, 
"box",       _edje_edd_edje_part_description_box);
    EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, 
"table",     _edje_edd_edje_part_description_table);
    EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, 
"external",  _edje_edd_edje_part_description_external);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, 
"mesh_node",  _edje_edd_edje_part_description_mesh_node);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, 
"light",  _edje_edd_edje_part_description_light);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, 
"camera",  _edje_edd_edje_part_description_camera);
+
 
 #define EDJE_ADD_ARRAY_MAPPING(Variant, Type, Minus)                   \
    {                                                                   \
@@ -980,6 +1137,9 @@ _edje_edd_init(void)
    EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "box", 
      box);
    EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, 
"table",     table);
    EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, 
"external",  external);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, 
"mesh_node", mesh_node);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, 
"light",    light);
+   EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, 
"camera",    camera);
 
    EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Pack_Element);
    _edje_edd_edje_pack_element =
@@ -1050,6 +1210,7 @@ _edje_edd_init(void)
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, 
"repeat_events", repeat_events, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, 
"ignore_flags", ignore_flags, EET_T_INT);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "scale", 
scale, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_edje_edd_edje_part, Edje_Part, 
"scale_3d", scale_3d, _edje_edd_edje_part_description_3d_vec);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, 
"precise_is_inside", precise_is_inside, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, 
"use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, 
"pointer_mode", pointer_mode, EET_T_UCHAR);
@@ -1108,6 +1269,8 @@ _edje_edd_init(void)
 #endif
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, 
Edje_Part_Collection, "physics_enabled", physics_enabled, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, 
Edje_Part_Collection, "script_recursion", script_recursion, EET_T_UCHAR);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, 
Edje_Part_Collection, "scene_size.width", scene_size.width, EDJE_T_FLOAT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, 
Edje_Part_Collection, "scene_size.height", scene_size.height, EDJE_T_FLOAT);
 }
 
 EAPI void

-- 


Reply via email to