cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=02c85b9fe8d9acb2802210eb65bca450f21c5712

commit 02c85b9fe8d9acb2802210eb65bca450f21c5712
Author: Bogdan Devichev <[email protected]>
Date:   Thu Nov 27 15:16:03 2014 +0200

    evas: add lib/evas/common/evas_model_<action>.c. Functions are renamed 
similar to functions in image_save_load process.
---
 src/Makefile_Evas.am                               |  2 ++
 src/lib/evas/canvas/evas_3d_mesh.c                 | 35 ++--------------------
 src/lib/evas/common/evas_model_load.c              | 34 +++++++++++++++++++++
 src/lib/evas/common/evas_model_save.c              | 32 ++++++++++++++++++++
 src/lib/evas/include/evas_private.h                | 11 +++++++
 .../evas/model_loaders/eet/evas_model_load_eet.c   |  2 +-
 .../evas/model_loaders/md2/evas_model_load_md2.c   |  2 +-
 .../evas/model_loaders/obj/evas_model_load_obj.c   |  2 +-
 .../evas/model_loaders/ply/evas_model_load_ply.c   |  2 +-
 .../evas/model_savers/eet/evas_model_save_eet.c    |  6 ++--
 .../evas/model_savers/obj/evas_model_save_obj.c    |  2 +-
 .../evas/model_savers/ply/evas_model_save_ply.c    |  2 +-
 12 files changed, 90 insertions(+), 42 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 57bdc67..6de4860 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -234,6 +234,8 @@ lib/evas/common/evas_image_save.c \
 lib/evas/common/evas_image_main.c \
 lib/evas/common/evas_image_data.c \
 lib/evas/common/evas_image_scalecache.c \
+lib/evas/common/evas_model_load.c \
+lib/evas/common/evas_model_save.c \
 lib/evas/common/evas_line_main.c \
 lib/evas/common/evas_polygon_main.c \
 lib/evas/common/evas_rectangle_main.c \
diff --git a/src/lib/evas/canvas/evas_3d_mesh.c 
b/src/lib/evas/canvas/evas_3d_mesh.c
index 81b9117..572da9d 100644
--- a/src/lib/evas/canvas/evas_3d_mesh.c
+++ b/src/lib/evas/canvas/evas_3d_mesh.c
@@ -809,24 +809,7 @@ _evas_3d_mesh_file_set(Eo *obj, Evas_3D_Mesh_Data *pd, 
Evas_3D_Mesh_File_Type ty
 
    if (file == NULL) return;
 
-   switch (type)
-     {
-      case EVAS_3D_MESH_FILE_TYPE_MD2:
-        evas_3d_mesh_file_md2_set(obj, file);
-        break;
-      case EVAS_3D_MESH_FILE_TYPE_OBJ:
-        evas_3d_mesh_file_obj_set(obj, file);
-        break;
-      case EVAS_3D_MESH_FILE_TYPE_EET:
-        evas_3d_mesh_file_eet_set(obj, file);
-        break;
-      case EVAS_3D_MESH_FILE_TYPE_PLY:
-        evas_3d_mesh_file_ply_set(obj, file);
-        break;
-      default:
-        ERR("Invalid mesh file type.");
-        break;
-     }
+   evas_common_load_model_to_file(obj, file, type);
 }
 
 EOLIAN static void
@@ -843,21 +826,7 @@ _evas_3d_mesh_save(Eo *obj, Evas_3D_Mesh_Data *pd, 
Evas_3D_Mesh_File_Type type,
         return;
      }
 
-   switch (type)
-     {
-      case EVAS_3D_MESH_FILE_TYPE_OBJ:
-        evas_3d_mesh_save_obj(obj, file, f);//file without extension!
-        break;
-      case EVAS_3D_MESH_FILE_TYPE_EET:
-        evas_3d_mesh_save_eet(obj, file, f);
-        break;
-      case EVAS_3D_MESH_FILE_TYPE_PLY:
-        evas_3d_mesh_save_ply(obj, file, f);
-        break;
-      default:
-        ERR("Invalid mesh file type.");
-        break;
-     }
+   evas_common_save_model_to_file(obj, file, f, type);
 }
 
 static inline void
diff --git a/src/lib/evas/common/evas_model_load.c 
b/src/lib/evas/common/evas_model_load.c
new file mode 100644
index 0000000..1f35cb0
--- /dev/null
+++ b/src/lib/evas/common/evas_model_load.c
@@ -0,0 +1,34 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "evas_options.h"
+
+#include "evas_common_private.h"
+#include "evas_private.h"
+
+
+void
+evas_common_load_model_to_file(Evas_3D_Mesh *model,
+                               const char *file,
+                               Evas_3D_Mesh_File_Type type)
+{
+   switch (type)
+     {
+      case EVAS_3D_MESH_FILE_TYPE_MD2:
+        evas_model_load_file_md2(model, file);
+        break;
+      case EVAS_3D_MESH_FILE_TYPE_OBJ:
+        evas_model_load_file_obj(model, file);
+        break;
+      case EVAS_3D_MESH_FILE_TYPE_EET:
+        evas_model_load_file_eet(model, file);
+        break;
+      case EVAS_3D_MESH_FILE_TYPE_PLY:
+        evas_model_load_file_ply(model, file);
+        break;
+      default:
+        ERR("Invalid mesh file type.");
+        break;
+     }
+}
diff --git a/src/lib/evas/common/evas_model_save.c 
b/src/lib/evas/common/evas_model_save.c
new file mode 100644
index 0000000..85b9b41
--- /dev/null
+++ b/src/lib/evas/common/evas_model_save.c
@@ -0,0 +1,32 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "evas_options.h"
+
+#include "evas_common_private.h"
+#include "evas_private.h"
+
+
+void
+evas_common_save_model_to_file(Evas_3D_Mesh *model,
+                               const char *file,
+                               Evas_3D_Mesh_Frame *f,
+                               Evas_3D_Mesh_File_Type type)
+{
+   switch (type)
+     {
+      case EVAS_3D_MESH_FILE_TYPE_OBJ:
+        evas_model_save_file_obj(model, file, f);
+        break;
+      case EVAS_3D_MESH_FILE_TYPE_EET:
+        evas_model_save_file_eet(model, file, f);
+        break;
+      case EVAS_3D_MESH_FILE_TYPE_PLY:
+        evas_model_save_file_ply(model, file, f);
+        break;
+      default:
+        ERR("Invalid mesh file type.");
+        break;
+     }
+}
diff --git a/src/lib/evas/include/evas_private.h 
b/src/lib/evas/include/evas_private.h
index c00cc50..62fd186 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1646,6 +1646,17 @@ void _evas_3d_eet_file_init(void);
 void _evas_3d_eet_descriptor_shutdown(void);
 void _evas_3d_eet_file_free(void);
 
+/* Temporary save/load functions */
+void evas_common_load_model_to_file(Evas_3D_Mesh *model, const char *file, 
Evas_3D_Mesh_File_Type type);
+void evas_common_save_model_to_file(Evas_3D_Mesh *model, const char *file, 
Evas_3D_Mesh_Frame *f, Evas_3D_Mesh_File_Type type);
+void evas_model_load_file_eet(Evas_3D_Mesh *mesh, const char *file);
+void evas_model_load_file_md2(Evas_3D_Mesh *mesh, const char *file);
+void evas_model_load_file_obj(Evas_3D_Mesh *mesh, const char *file);
+void evas_model_load_file_ply(Evas_3D_Mesh *mesh, const char *file);
+void evas_model_save_file_eet(Evas_3D_Mesh *mesh, const char *file, 
Evas_3D_Mesh_Frame *f);
+void evas_model_save_file_obj(Evas_3D_Mesh *mesh, const char *file, 
Evas_3D_Mesh_Frame *f);
+void evas_model_save_file_ply(Evas_3D_Mesh *mesh, const char *file, 
Evas_3D_Mesh_Frame *f);
+
 extern int _evas_alloc_error;
 extern int _evas_event_counter;
 
diff --git a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c 
b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
index 26c3569..fadd6aa 100644
--- a/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
+++ b/src/modules/evas/model_loaders/eet/evas_model_load_eet.c
@@ -104,7 +104,7 @@ _set_material_to_mesh_from_eet_file(Evas_3D_Mesh *mesh,
 }
 
 void
-evas_3d_mesh_file_eet_set(Evas_3D_Mesh *mesh, const char *file)
+evas_model_load_file_eet(Evas_3D_Mesh *mesh, const char *file)
 {
    Eet_File *ef;
 
diff --git a/src/modules/evas/model_loaders/md2/evas_model_load_md2.c 
b/src/modules/evas/model_loaders/md2/evas_model_load_md2.c
index 4a356b7..11d2845 100644
--- a/src/modules/evas/model_loaders/md2/evas_model_load_md2.c
+++ b/src/modules/evas/model_loaders/md2/evas_model_load_md2.c
@@ -343,7 +343,7 @@ error:
 }
 
 void
-evas_3d_mesh_file_md2_set(Evas_3D_Mesh *mesh, const char *file)
+evas_model_load_file_md2(Evas_3D_Mesh *mesh, const char *file)
 {
    MD2_Loader           loader;
    int                  i, j, k;
diff --git a/src/modules/evas/model_loaders/obj/evas_model_load_obj.c 
b/src/modules/evas/model_loaders/obj/evas_model_load_obj.c
index c6733a7..3697746 100644
--- a/src/modules/evas/model_loaders/obj/evas_model_load_obj.c
+++ b/src/modules/evas/model_loaders/obj/evas_model_load_obj.c
@@ -202,7 +202,7 @@ _count_elements(char *start, long length)//count elements 
of mesh in .obj
 }
 
 void
-evas_3d_mesh_file_obj_set(Evas_3D_Mesh *mesh, const char *file)
+evas_model_load_file_obj(Evas_3D_Mesh *mesh, const char *file)
 {
    long length, i;
    char * start = _file_to_buf(file, &length);
diff --git a/src/modules/evas/model_loaders/ply/evas_model_load_ply.c 
b/src/modules/evas/model_loaders/ply/evas_model_load_ply.c
index b4bbe18..a294f6e 100644
--- a/src/modules/evas/model_loaders/ply/evas_model_load_ply.c
+++ b/src/modules/evas/model_loaders/ply/evas_model_load_ply.c
@@ -198,7 +198,7 @@ _read_header(char *start)//Check properties of mesh in .ply 
file.
 }
 
 void
-evas_3d_mesh_file_ply_set(Evas_3D_Mesh *mesh, const char *file)
+evas_model_load_file_ply(Evas_3D_Mesh *mesh, const char *file)
 {
    long length;
    Evas_3D_Mesh_Data *pd;
diff --git a/src/modules/evas/model_savers/eet/evas_model_save_eet.c 
b/src/modules/evas/model_savers/eet/evas_model_save_eet.c
index c801ac1..e445dca 100644
--- a/src/modules/evas/model_savers/eet/evas_model_save_eet.c
+++ b/src/modules/evas/model_savers/eet/evas_model_save_eet.c
@@ -148,9 +148,9 @@ _set_frame_to_eet_file_from_mesh(Evas_3D_Mesh_Eet *eet_mesh)
 }
 
 void
-evas_3d_mesh_save_eet(Evas_3D_Mesh *mesh,
-                      const char *file,
-                      Evas_3D_Mesh_Frame *f)
+evas_model_save_file_eet(Evas_3D_Mesh *mesh,
+                         const char *file,
+                         Evas_3D_Mesh_Frame *f)
 {
    Evas_3D_Mesh_Data *pd = eo_data_scope_get(mesh, EVAS_3D_MESH_CLASS);
    Eet_File *ef = eet_open(file, EET_FILE_MODE_WRITE);
diff --git a/src/modules/evas/model_savers/obj/evas_model_save_obj.c 
b/src/modules/evas/model_savers/obj/evas_model_save_obj.c
index c7699b3..35773e3 100644
--- a/src/modules/evas/model_savers/obj/evas_model_save_obj.c
+++ b/src/modules/evas/model_savers/obj/evas_model_save_obj.c
@@ -129,7 +129,7 @@ _save_material(Evas_3D_Mesh_Data *pd EINA_UNUSED, const 
char *file, Evas_3D_Mesh
 }
 
 void
-evas_3d_mesh_save_obj(Evas_3D_Mesh *mesh, const char *file, Evas_3D_Mesh_Frame 
*f)
+evas_model_save_file_obj(Evas_3D_Mesh *mesh, const char *file, 
Evas_3D_Mesh_Frame *f)
 {
    Evas_3D_Mesh_Data *pd = eo_data_scope_get(mesh, EVAS_3D_MESH_CLASS);
    _save_mesh(pd, file, f);
diff --git a/src/modules/evas/model_savers/ply/evas_model_save_ply.c 
b/src/modules/evas/model_savers/ply/evas_model_save_ply.c
index a0ba945..b99f080 100644
--- a/src/modules/evas/model_savers/ply/evas_model_save_ply.c
+++ b/src/modules/evas/model_savers/ply/evas_model_save_ply.c
@@ -10,7 +10,7 @@
 #include "evas_private.h"
 
 void
-evas_3d_mesh_save_ply(Evas_3D_Mesh *mesh, const char *file, Evas_3D_Mesh_Frame 
*f)
+evas_model_save_file_ply(Evas_3D_Mesh *mesh, const char *file, 
Evas_3D_Mesh_Frame *f)
 {
    float *src_pos, *src_nor, *src_tex, *src_col;
    int    i;

-- 


Reply via email to