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",
|
||||
"wayland_shm",
|
||||
"wayland_egl",
|
||||
"drm",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
@ -1884,6 +1885,8 @@ _env_get(void)
|
|||
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_SHM);
|
||||
else if ((!strcasecmp(s, "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
|
||||
ERR("Unknown engine '%s'.", s);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
#ifdef HAVE_ELEMENTARY_WAYLAND
|
||||
#include <Ecore_Wayland.h>
|
||||
#endif
|
||||
#ifdef HAVE_ELEMENTARY_DRM
|
||||
#include <Ecore_Drm.h>
|
||||
#endif
|
||||
|
||||
#include <Eio.h>
|
||||
|
||||
|
@ -151,6 +154,7 @@ extern const char *_elm_engines[];
|
|||
#define ELM_SOFTWARE_PSL1GHT (_elm_engines[15])
|
||||
#define ELM_WAYLAND_SHM (_elm_engines[16])
|
||||
#define ELM_WAYLAND_EGL (_elm_engines[17])
|
||||
#define ELM_DRM (_elm_engines[18])
|
||||
|
||||
#define ELM_FONT_TOKEN_STYLE ":style="
|
||||
|
||||
|
|
|
@ -2228,8 +2228,6 @@ _elm_win_frame_cb_move_start(void *data,
|
|||
(void)source;
|
||||
#endif
|
||||
|
||||
/* FIXME: Change mouse pointer */
|
||||
|
||||
/* NB: Wayland handles moving surfaces by itself so we cannot
|
||||
* specify a specific x/y we want. Instead, we will pass in the
|
||||
* 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")))
|
||||
{
|
||||
enginelist[0] = ENGINE_GET();
|
||||
enginelist[1] = ELM_SOFTWARE_FB;
|
||||
enginelist[2] = NULL;
|
||||
enginelist[1] = ELM_DRM;
|
||||
enginelist[2] = ELM_SOFTWARE_FB;
|
||||
enginelist[3] = NULL;
|
||||
}
|
||||
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[1] = ELM_WAYLAND_EGL;
|
||||
enginelist[2] = ELM_SOFTWARE_FB;
|
||||
enginelist[3] = ELM_OPENGL_COCOA;
|
||||
enginelist[4] = ELM_OPENGL_SDL;
|
||||
enginelist[5] = NULL;
|
||||
enginelist[2] = ELM_DRM;
|
||||
enginelist[3] = ELM_SOFTWARE_FB;
|
||||
enginelist[4] = ELM_OPENGL_COCOA;
|
||||
enginelist[5] = ELM_OPENGL_SDL;
|
||||
enginelist[6] = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
enginelist[0] = ENGINE_GET();
|
||||
enginelist[1] = ELM_SOFTWARE_X11;
|
||||
enginelist[2] = ELM_WAYLAND_SHM;
|
||||
enginelist[3] = ELM_SOFTWARE_FB;
|
||||
enginelist[4] = ELM_OPENGL_COCOA;
|
||||
enginelist[5] = ELM_SOFTWARE_SDL;
|
||||
enginelist[6] = NULL;
|
||||
enginelist[3] = ELM_DRM;
|
||||
enginelist[4] = ELM_SOFTWARE_FB;
|
||||
enginelist[5] = ELM_OPENGL_COCOA;
|
||||
enginelist[6] = ELM_SOFTWARE_SDL;
|
||||
enginelist[7] = NULL;
|
||||
}
|
||||
}
|
||||
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);
|
||||
else if (!strcmp(enginelist[i], ELM_SOFTWARE_PSL1GHT))
|
||||
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))
|
||||
{
|
||||
tmp_sd.ee = ecore_evas_buffer_new(1, 1);
|
||||
|
@ -3097,7 +3100,7 @@ _elm_win_constructor(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_Type t
|
|||
(((sd->x.xwin) && (!ecore_x_screen_is_composited(0))) ||
|
||||
(!sd->x.xwin)))
|
||||
#else
|
||||
)
|
||||
)
|
||||
#endif
|
||||
TRAP(sd, avoid_damage_set, ECORE_EVAS_AVOID_DAMAGE_EXPOSE);
|
||||
// bg pixmap done by x - has other issues like can be redrawn by x before it
|
||||
|
@ -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_count++;
|
||||
|
||||
if ((engine) && (!strcmp(engine, ELM_SOFTWARE_FB)))
|
||||
if ((engine) && ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM))))
|
||||
{
|
||||
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) ||
|
||||
((_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_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
|
||||
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
|
||||
return;
|
||||
|
@ -3576,7 +3581,8 @@ _elm_win_fullscreen_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
|
|||
|
||||
if (engine_name &&
|
||||
((!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
|
||||
return EINA_TRUE;
|
||||
|
|
Loading…
Reference in New Issue