ecore_evas_tbm: add surface_get and stride_get symbols.
authorHosang Kim <hosang12.kim@samsung.com>
Mon, 23 Mar 2020 08:17:08 +0000 (17:17 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Wed, 25 Mar 2020 21:30:06 +0000 (06:30 +0900)
Change-Id: If833a6fef1789541be88e5292992aec534ddabc4
(cherry picked from commit 7a8201697f3d41fe3c50482a6befcda6f903f683)

src/lib/ecore_evas/ecore_evas.c
src/modules/ecore_evas/engines/tbm/ecore_evas_tbm.c

index d3f20d1..90c9c60 100644 (file)
@@ -5380,6 +5380,50 @@ ecore_evas_tbm_pixels_release(Ecore_Evas *ee)
     pixel_release(ee);
 }
 
+EAPI void *
+ecore_evas_tbm_surface_get(Ecore_Evas *ee)
+{
+   Eina_Module *m = NULL;
+   void *(*surface_get)(Ecore_Evas*);
+
+   if (!strcmp(ee->driver, "gl_tbm"))
+     {
+        m = _ecore_evas_engine_load("tbm");
+     }
+   else if (!strcmp(ee->driver, "software_tbm"))
+     {
+        m = _ecore_evas_engine_load("tbm");
+     }
+   EINA_SAFETY_ON_NULL_RETURN_VAL(m, NULL);
+
+   surface_get = eina_module_symbol_get(m, "ecore_evas_tbm_surface_get_internal");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(surface_get, NULL);
+
+   return surface_get(ee);
+}
+
+EAPI int
+ecore_evas_tbm_stride_get(Ecore_Evas *ee)
+{
+   Eina_Module *m = NULL;
+   void *(*stride_get)(Ecore_Evas*);
+
+   if (!strcmp(ee->driver, "gl_tbm"))
+     {
+        m = _ecore_evas_engine_load("tbm");
+     }
+   else if (!strcmp(ee->driver, "software_tbm"))
+     {
+        m = _ecore_evas_engine_load("tbm");
+     }
+   EINA_SAFETY_ON_NULL_RETURN_VAL(m, 0);
+
+   stride_get = eina_module_symbol_get(m, "ecore_evas_tbm_stride_get_internal");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(stride_get, 0);
+
+   return stride_get(ee);
+}
+
 /* new input model with eo:
  *  1. pass all events from ecore_input_evas through
  *     ecore_evas and send eo events from here
index d5ba86b..5cc0dd3 100644 (file)
@@ -1357,7 +1357,7 @@ ecore_evas_tbm_pixels_release_internal(Ecore_Evas *ee)
 }
 
 EAPI void *
-ecore_evas_tbm_surface_get(Ecore_Evas *ee)
+ecore_evas_tbm_surface_get_internal(Ecore_Evas *ee)
 {
    Ecore_Evas_Engine_Tbm_Data *tbm_data;
 
@@ -1369,7 +1369,7 @@ ecore_evas_tbm_surface_get(Ecore_Evas *ee)
 }
 
 EAPI int
-ecore_evas_tbm_stride_get(Ecore_Evas *ee)
+ecore_evas_tbm_stride_get_internal(Ecore_Evas *ee)
 {
    Ecore_Evas_Engine_Tbm_Data *tbm_data;
    tbm_surface_info_s info;