evas: make function to find evas gl context from engine shared across backend.
authorCedric BAIL <cedric@osg.samsung.com>
Fri, 25 Aug 2017 17:51:56 +0000 (10:51 -0700)
committerCedric BAIL <cedric@osg.samsung.com>
Fri, 25 Aug 2017 17:51:56 +0000 (10:51 -0700)
src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h
src/modules/evas/engines/gl_generic/evas_engine.c

index a78e588..043d7f7 100644 (file)
@@ -103,4 +103,66 @@ evas_render_engine_gl_generic_init(Render_Engine_Software_Generic *engine,
    return EINA_TRUE;
 }
 
+static inline Evas_Engine_GL_Context *
+gl_generic_context_get(Render_Output_GL_Generic *output)
+{
+   if (!output->software.ob) return NULL;
+   output->window_use(output->software.ob);
+   return output->window_gl_context_get(output->software.ob);
+
+}
+
+static inline void
+gl_generic_window_use(void *engine)
+{
+   Render_Output_GL_Generic *re = engine;
+
+   re->window_use(re->software.ob);
+}
+
+static inline Evas_Engine_GL_Context *
+gl_generic_context_find(Render_Engine_GL_Generic *engine)
+{
+   Render_Output_GL_Generic *output;
+   Evas_Engine_GL_Context *r = NULL;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(engine->software.outputs, l, output)
+     {
+        r = gl_generic_context_get(output);
+        if (r) return r;
+     }
+
+   return r;
+}
+
+static inline void
+gl_generic_window_find(Render_Engine_GL_Generic *engine)
+{
+   Render_Output_GL_Generic *output;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(engine->software.outputs, l, output)
+     {
+        if (!output->software.ob) continue;
+        gl_generic_window_use(output);
+        break;
+     }
+}
+
+static inline void *
+gl_generic_any_output_get(Render_Engine_GL_Generic *engine)
+{
+   Render_Output_GL_Generic *output;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(engine->software.outputs, l, output)
+     {
+        if (!output->software.ob) continue;
+        return output->software.ob;
+     }
+
+   return NULL;
+}
+
 #endif
index 2b3f1f4..96f9afe 100644 (file)
@@ -49,53 +49,6 @@ int _evas_engine_GL_log_dom = -1;
 # endif
 #endif
 
-static Evas_Engine_GL_Context *
-gl_generic_context_get(Render_Output_GL_Generic *output)
-{
-   if (!output->software.ob) return NULL;
-   output->window_use(output->software.ob);
-   return output->window_gl_context_get(output->software.ob);
-
-}
-
-static void
-gl_generic_window_use(void *engine)
-{
-   Render_Output_GL_Generic *re = engine;
-
-   re->window_use(re->software.ob);
-}
-
-static Evas_Engine_GL_Context *
-gl_generic_context_find(Render_Engine_GL_Generic *engine)
-{
-   Render_Output_GL_Generic *output;
-   Evas_Engine_GL_Context *r = NULL;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(engine->software.outputs, l, output)
-     {
-        r = gl_generic_context_get(output);
-        if (r) return r;
-     }
-
-   return r;
-}
-
-static void
-gl_generic_window_find(Render_Engine_GL_Generic *engine)
-{
-   Render_Output_GL_Generic *output;
-   Eina_List *l;
-
-   EINA_LIST_FOREACH(engine->software.outputs, l, output)
-     {
-        if (!output->software.ob) continue;
-        gl_generic_window_use(output);
-        break;
-     }
-}
-
 static int eng_gl_image_direct_get(void *data, void *image);
 static int eng_gl_surface_destroy(void *data, void *surface);
 static Eina_Bool eng_gl_surface_lock(void *data, void *surface);