forked from enlightenment/efl
Merge branch 'devs/devilhorns/drm'
This commit is contained in:
commit
204481045f
|
@ -49,6 +49,7 @@ const char *_elm_engines[] = {
|
||||||
"psl1ght",
|
"psl1ght",
|
||||||
"wayland_shm",
|
"wayland_shm",
|
||||||
"wayland_egl",
|
"wayland_egl",
|
||||||
|
"drm",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1884,6 +1885,8 @@ _env_get(void)
|
||||||
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_SHM);
|
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_SHM);
|
||||||
else if ((!strcasecmp(s, "wayland_egl")))
|
else if ((!strcasecmp(s, "wayland_egl")))
|
||||||
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_EGL);
|
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_EGL);
|
||||||
|
else if ((!strcasecmp(s, "drm")))
|
||||||
|
eina_stringshare_replace(&_elm_config->engine, ELM_DRM);
|
||||||
else
|
else
|
||||||
ERR("Unknown engine '%s'.", s);
|
ERR("Unknown engine '%s'.", s);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,9 @@
|
||||||
#ifdef HAVE_ELEMENTARY_WAYLAND
|
#ifdef HAVE_ELEMENTARY_WAYLAND
|
||||||
#include <Ecore_Wayland.h>
|
#include <Ecore_Wayland.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef HAVE_ELEMENTARY_DRM
|
||||||
|
#include <Ecore_Drm.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <Eio.h>
|
#include <Eio.h>
|
||||||
|
|
||||||
|
@ -151,6 +154,7 @@ extern const char *_elm_engines[];
|
||||||
#define ELM_SOFTWARE_PSL1GHT (_elm_engines[15])
|
#define ELM_SOFTWARE_PSL1GHT (_elm_engines[15])
|
||||||
#define ELM_WAYLAND_SHM (_elm_engines[16])
|
#define ELM_WAYLAND_SHM (_elm_engines[16])
|
||||||
#define ELM_WAYLAND_EGL (_elm_engines[17])
|
#define ELM_WAYLAND_EGL (_elm_engines[17])
|
||||||
|
#define ELM_DRM (_elm_engines[18])
|
||||||
|
|
||||||
#define ELM_FONT_TOKEN_STYLE ":style="
|
#define ELM_FONT_TOKEN_STYLE ":style="
|
||||||
|
|
||||||
|
|
|
@ -2228,8 +2228,6 @@ _elm_win_frame_cb_move_start(void *data,
|
||||||
(void)source;
|
(void)source;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* FIXME: Change mouse pointer */
|
|
||||||
|
|
||||||
/* NB: Wayland handles moving surfaces by itself so we cannot
|
/* NB: Wayland handles moving surfaces by itself so we cannot
|
||||||
* specify a specific x/y we want. Instead, we will pass in the
|
* specify a specific x/y we want. Instead, we will pass in the
|
||||||
* existing x/y values so they can be recorded as 'previous'
|
* existing x/y values so they can be recorded as 'previous'
|
||||||
|
@ -2931,8 +2929,9 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
|
||||||
else if ((disp) && (!strcmp(disp, "fb")))
|
else if ((disp) && (!strcmp(disp, "fb")))
|
||||||
{
|
{
|
||||||
enginelist[0] = ENGINE_GET();
|
enginelist[0] = ENGINE_GET();
|
||||||
enginelist[1] = ELM_SOFTWARE_FB;
|
enginelist[1] = ELM_DRM;
|
||||||
enginelist[2] = NULL;
|
enginelist[2] = ELM_SOFTWARE_FB;
|
||||||
|
enginelist[3] = NULL;
|
||||||
}
|
}
|
||||||
else if ((disp) && (!strcmp(disp, "buffer")))
|
else if ((disp) && (!strcmp(disp, "buffer")))
|
||||||
{
|
{
|
||||||
|
@ -2957,20 +2956,22 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
|
||||||
{
|
{
|
||||||
enginelist[0] = ELM_OPENGL_X11;
|
enginelist[0] = ELM_OPENGL_X11;
|
||||||
enginelist[1] = ELM_WAYLAND_EGL;
|
enginelist[1] = ELM_WAYLAND_EGL;
|
||||||
enginelist[2] = ELM_SOFTWARE_FB;
|
enginelist[2] = ELM_DRM;
|
||||||
enginelist[3] = ELM_OPENGL_COCOA;
|
enginelist[3] = ELM_SOFTWARE_FB;
|
||||||
enginelist[4] = ELM_OPENGL_SDL;
|
enginelist[4] = ELM_OPENGL_COCOA;
|
||||||
enginelist[5] = NULL;
|
enginelist[5] = ELM_OPENGL_SDL;
|
||||||
|
enginelist[6] = NULL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enginelist[0] = ENGINE_GET();
|
enginelist[0] = ENGINE_GET();
|
||||||
enginelist[1] = ELM_SOFTWARE_X11;
|
enginelist[1] = ELM_SOFTWARE_X11;
|
||||||
enginelist[2] = ELM_WAYLAND_SHM;
|
enginelist[2] = ELM_WAYLAND_SHM;
|
||||||
enginelist[3] = ELM_SOFTWARE_FB;
|
enginelist[3] = ELM_DRM;
|
||||||
enginelist[4] = ELM_OPENGL_COCOA;
|
enginelist[4] = ELM_SOFTWARE_FB;
|
||||||
enginelist[5] = ELM_SOFTWARE_SDL;
|
enginelist[5] = ELM_OPENGL_COCOA;
|
||||||
enginelist[6] = NULL;
|
enginelist[6] = ELM_SOFTWARE_SDL;
|
||||||
|
enginelist[7] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (i = 0; i < 30; i++)
|
for (i = 0; i < 30; i++)
|
||||||
|
@ -3013,6 +3014,8 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
|
||||||
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
|
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
|
||||||
else if (!strcmp(enginelist[i], ELM_SOFTWARE_PSL1GHT))
|
else if (!strcmp(enginelist[i], ELM_SOFTWARE_PSL1GHT))
|
||||||
tmp_sd.ee = ecore_evas_psl1ght_new(NULL, 1, 1);
|
tmp_sd.ee = ecore_evas_psl1ght_new(NULL, 1, 1);
|
||||||
|
else if (!strcmp(enginelist[i], ELM_DRM))
|
||||||
|
tmp_sd.ee = ecore_evas_drm_new(NULL, 0, 0, 0, 1, 1);
|
||||||
else if (!strncmp(enginelist[i], "shot:", 5))
|
else if (!strncmp(enginelist[i], "shot:", 5))
|
||||||
{
|
{
|
||||||
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
|
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
|
||||||
|
@ -3173,7 +3176,7 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
|
||||||
_elm_win_list = eina_list_append(_elm_win_list, obj);
|
_elm_win_list = eina_list_append(_elm_win_list, obj);
|
||||||
_elm_win_count++;
|
_elm_win_count++;
|
||||||
|
|
||||||
if ((engine) && (!strcmp(engine, ELM_SOFTWARE_FB)))
|
if ((engine) && ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))))
|
||||||
{
|
{
|
||||||
TRAP(sd, fullscreen_set, 1);
|
TRAP(sd, fullscreen_set, 1);
|
||||||
}
|
}
|
||||||
|
@ -3201,7 +3204,8 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
|
||||||
|
|
||||||
if ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_ON) ||
|
if ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_ON) ||
|
||||||
((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_AUTO) &&
|
((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_AUTO) &&
|
||||||
((engine) && (!strcmp(engine, ELM_SOFTWARE_FB)))))
|
((engine) &&
|
||||||
|
((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))))))
|
||||||
{
|
{
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
|
Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
|
||||||
|
@ -3532,7 +3536,8 @@ _elm_win_fullscreen_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, Eina_Bool fullscr
|
||||||
{
|
{
|
||||||
// YYY: handle if sd->img_obj
|
// YYY: handle if sd->img_obj
|
||||||
if (ENGINE_COMPARE(ELM_SOFTWARE_FB) ||
|
if (ENGINE_COMPARE(ELM_SOFTWARE_FB) ||
|
||||||
ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE))
|
ENGINE_COMPARE(ELM_SOFTWARE_16_WINCE) ||
|
||||||
|
ENGINE_COMPARE(ELM_DRM))
|
||||||
{
|
{
|
||||||
// these engines... can ONLY be fullscreen
|
// these engines... can ONLY be fullscreen
|
||||||
return;
|
return;
|
||||||
|
@ -3576,7 +3581,8 @@ _elm_win_fullscreen_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
|
||||||
|
|
||||||
if (engine_name &&
|
if (engine_name &&
|
||||||
((!strcmp(engine_name, ELM_SOFTWARE_FB)) ||
|
((!strcmp(engine_name, ELM_SOFTWARE_FB)) ||
|
||||||
(!strcmp(engine_name, ELM_SOFTWARE_16_WINCE))))
|
(!strcmp(engine_name, ELM_SOFTWARE_16_WINCE)) ||
|
||||||
|
(!strcmp(engine_name, ELM_DRM))))
|
||||||
{
|
{
|
||||||
// these engines... can ONLY be fullscreen
|
// these engines... can ONLY be fullscreen
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
|
|
Loading…
Reference in New Issue