Hello.

No way to get this in right now, one day before we release 1.15.

I hope this was just a mistake.

Get it fixed asap, please.

regards
Stefan Schmidt

On 03/08/15 14:16, Florent Revest wrote:
> captainigloo pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=a254725d6dedbcfec638f8151bd89e9db068df8f
>
> commit a254725d6dedbcfec638f8151bd89e9db068df8f
> Author: Florent Revest <revest...@gmail.com>
> Date:   Wed Jul 22 18:48:41 2015 +0200
>
>      ecore_evas: Adds an eglfs module
> ---
>   src/lib/ecore_evas/Ecore_Evas.h                   |   3 +
>   src/lib/ecore_evas/ecore_evas.c                   |  36 ++++++++
>   src/lib/ecore_evas/ecore_evas_module.c            |   3 +
>   src/modules/ecore_evas/engines/fb/ecore_evas_fb.c | 106 
> ++++++++++++++++++++++
>   4 files changed, 148 insertions(+)
>
> diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
> index 1a035ab..9e94ebd 100644
> --- a/src/lib/ecore_evas/Ecore_Evas.h
> +++ b/src/lib/ecore_evas/Ecore_Evas.h
> @@ -91,6 +91,7 @@ extern "C" {
>    */
>   #define HAVE_ECORE_EVAS_X 1
>   #define HAVE_ECORE_EVAS_FB 1
> +#define HAVE_ECORE_EVAS_EGLFS 1
>   #define HAVE_ECORE_EVAS_X11_GL 1
>   //#define HAVE_ECORE_EVAS_X11_16 1
>   //#define HAVE_ECORE_EVAS_DIRECTFB 1
> @@ -121,6 +122,7 @@ typedef enum _Ecore_Evas_Engine_Type
>      ECORE_EVAS_ENGINE_SOFTWARE_SDL,
>      ECORE_EVAS_ENGINE_DIRECTFB,
>      ECORE_EVAS_ENGINE_SOFTWARE_FB,
> +   ECORE_EVAS_ENGINE_EGLFS,
>      ECORE_EVAS_ENGINE_SOFTWARE_8_X11,
>      ECORE_EVAS_ENGINE_SOFTWARE_16_X11,
>      ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW,
> @@ -1303,6 +1305,7 @@ EAPI void            
> ecore_evas_software_x11_16_extra_event_window_add(Ecore_Eva
>    * @return The new Ecore_Evas.
>    */
>   EAPI Ecore_Evas     *ecore_evas_fb_new(const char *disp_name, int rotation, 
> int w, int h);
> +EAPI Ecore_Evas     *ecore_evas_eglfs_new(const char *disp_name, int 
> rotation, int w, int h);
>   
>   EAPI Ecore_Evas     *ecore_evas_directfb_new(const char *disp_name, int 
> windowed, int x, int y, int w, int h) EINA_DEPRECATED;
>   EAPI Ecore_DirectFB_Window *ecore_evas_directfb_window_get(const Ecore_Evas 
> *ee) EINA_DEPRECATED;
> diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
> index f7fa61f..ad15b1f 100644
> --- a/src/lib/ecore_evas/ecore_evas.c
> +++ b/src/lib/ecore_evas/ecore_evas.c
> @@ -277,6 +277,12 @@ 
> ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
>   #else
>           return EINA_FALSE;
>   #endif
> +      case ECORE_EVAS_ENGINE_EGLFS:
> +#ifdef BUILD_ECORE_EVAS_EGLFS
> +        return EINA_TRUE;
> +#else
> +        return EINA_FALSE;
> +#endif
>   
>         case ECORE_EVAS_ENGINE_SOFTWARE_8_X11:
>           return EINA_FALSE;
> @@ -641,6 +647,22 @@ _ecore_evas_constructor_fb(int x EINA_UNUSED, int y 
> EINA_UNUSED, int w, int h, c
>   }
>   
>   static Ecore_Evas *
> +_ecore_evas_constructor_eglfs(int x EINA_UNUSED, int y EINA_UNUSED, int w, 
> int h, const char *extra_options)
> +{
> +   Ecore_Evas *ee;
> +   char *disp_name = NULL;
> +   unsigned int rotation = 0;
> +
> +   _ecore_evas_parse_extra_options_str(extra_options, "display=", 
> &disp_name);
> +   _ecore_evas_parse_extra_options_uint(extra_options, "rotation=", 
> &rotation);
> +
> +   ee = ecore_evas_eglfs_new(disp_name, rotation, w, h);
> +   free(disp_name);
> +
> +   return ee;
> +}
> +
> +static Ecore_Evas *
>   _ecore_evas_constructor_psl1ght(int x EINA_UNUSED, int y EINA_UNUSED, int 
> w, int h, const char *extra_options)
>   {
>      Ecore_Evas *ee;
> @@ -764,6 +786,7 @@ static const struct ecore_evas_engine _engines[] = {
>     {"software_x11", _ecore_evas_constructor_software_x11},
>     {"opengl_x11", _ecore_evas_constructor_opengl_x11},
>     {"fb", _ecore_evas_constructor_fb},
> +  {"eglfs", _ecore_evas_constructor_eglfs},
>     {"software_gdi", _ecore_evas_constructor_software_gdi},
>     {"software_ddraw", _ecore_evas_constructor_software_ddraw},
>     {"direct3d", _ecore_evas_constructor_direct3d},
> @@ -3481,6 +3504,19 @@ ecore_evas_fb_new(const char *disp_name, int rotation, 
> int w, int h)
>   }
>   
>   EAPI Ecore_Evas *
> +ecore_evas_eglfs_new(const char *disp_name, int rotation, int w, int h)
> +{
> +   Ecore_Evas *(*new)(const char *, int, int, int);
> +   Eina_Module *m = _ecore_evas_engine_load("fb");
> +   EINA_SAFETY_ON_NULL_RETURN_VAL(m, NULL);
> +
> +   new = eina_module_symbol_get(m, "ecore_evas_eglfs_new_internal");
> +   EINA_SAFETY_ON_NULL_RETURN_VAL(new, NULL);
> +
> +   return new(disp_name, rotation, w, h);
> +}
> +
> +EAPI Ecore_Evas *
>   ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, 
> int x, int y, int w, int h)
>   {
>      Ecore_Evas *(*new)(const char *, Ecore_X_Window, int, int, int, int);
> diff --git a/src/lib/ecore_evas/ecore_evas_module.c 
> b/src/lib/ecore_evas/ecore_evas_module.c
> index 59fb601..239829d 100644
> --- a/src/lib/ecore_evas/ecore_evas_module.c
> +++ b/src/lib/ecore_evas/ecore_evas_module.c
> @@ -189,6 +189,9 @@ _ecore_evas_available_engines_get(void)
>   #ifdef BUILD_ECORE_EVAS_FB
>                               ADDENG("fb");
>   #endif
> +#ifdef BUILD_ECORE_EVAS_EGLFS
> +                            ADDENG("eglfs");
> +#endif
>                            }
>                          else if (!strcmp(name, "x"))
>                            {
> diff --git a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c 
> b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
> index 8042d0c..34e410d 100644
> --- a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
> +++ b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
> @@ -744,3 +744,109 @@ ecore_evas_fb_new_internal(const char *disp_name, int 
> rotation, int w, int h)
>      evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long 
> long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
>      return ee;
>   }
> +
> +#ifdef BUILD_ECORE_EVAS_EGLFS
> +EAPI Ecore_Evas *
> +ecore_evas_eglfs_new_internal(const char *disp_name, int rotation, int w, 
> int h)
> +{
> +   Evas_Engine_Info_FB *einfo;
> +   Ecore_Evas_Engine_FB_Data *idata;
> +   Ecore_Evas *ee;
> +
> +   int rmethod;
> +
> +   if (!disp_name)
> +   disp_name = ecore_evas_default_display;
> +
> +   rmethod = evas_render_method_lookup("eglfs");
> +   if (!rmethod) return NULL;
> +
> +   if (!ecore_fb_init(disp_name)) return NULL;
> +   ee = calloc(1, sizeof(Ecore_Evas));
> +   if (!ee) return NULL;
> +   idata = calloc(1, sizeof(Ecore_Evas_Engine_FB_Data));
> +
> +   ee->engine.data = idata;
> +
> +   ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
> +
> +   _ecore_evas_fb_init(ee, w, h);
> +
> +   ecore_fb_callback_gain_set(_ecore_evas_fb_gain, ee);
> +   ecore_fb_callback_lose_set(_ecore_evas_fb_lose, ee);
> +
> +   ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_fb_engine_func;
> +
> +   ee->driver = "eglfs";
> +   if (disp_name) ee->name = strdup(disp_name);
> +
> +   if (w < 1) w = 1;
> +   if (h < 1) h = 1;
> +   ee->rotation = rotation;
> +   ee->visible = 1;
> +   ee->w = w;
> +   ee->h = h;
> +   ee->req.w = ee->w;
> +   ee->req.h = ee->h;
> +
> +   ee->prop.max.w = 0;
> +   ee->prop.max.h = 0;
> +   ee->prop.layer = 0;
> +   ee->prop.focused = EINA_FALSE;
> +   ee->prop.borderless = EINA_TRUE;
> +   ee->prop.override = EINA_TRUE;
> +   ee->prop.maximized = EINA_TRUE;
> +   ee->prop.fullscreen = EINA_FALSE;
> +   ee->prop.withdrawn = EINA_TRUE;
> +   ee->prop.sticky = EINA_FALSE;
> +
> +   /* init evas here */
> +   ee->evas = evas_new();
> +   evas_data_attach_set(ee->evas, ee);
> +   evas_output_method_set(ee->evas, rmethod);
> +
> +   if (ECORE_EVAS_PORTRAIT(ee))
> +     {
> +       evas_output_size_set(ee->evas, w, h);
> +       evas_output_viewport_set(ee->evas, 0, 0, w, h);
> +     }
> +   else
> +     {
> +       evas_output_size_set(ee->evas, h, w);
> +       evas_output_viewport_set(ee->evas, 0, 0, h, w);
> +     }
> +
> +   einfo = (Evas_Engine_Info_FB *)evas_engine_info_get(ee->evas);
> +   if (einfo && disp_name)
> +     {
> +        einfo->info.virtual_terminal = 0;
> +        einfo->info.device_number = strtol(disp_name, NULL, 10);
> +        einfo->info.refresh = 0;
> +        einfo->info.rotation = ee->rotation;
> +        if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
> +          {
> +             ERR("evas_engine_info_set() for engine '%s' failed.", 
> ee->driver);
> +             ecore_evas_free(ee);
> +             return NULL;
> +          }
> +     }
> +   else
> +     {
> +        ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
> +        ecore_evas_free(ee);
> +        return NULL;
> +     }
> +
> +   ecore_evas_input_event_register(ee);
> +
> +   ee->engine.func->fn_render = _ecore_evas_fb_render;
> +   _ecore_evas_register(ee);
> +   ecore_event_window_register(1, ee, ee->evas,
> +                            
> (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process,
> +                            
> (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process,
> +                            
> (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process,
> +                            
> (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process);
> +   evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long 
> long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
> +   return ee;
> +}
> +#endif
>


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to