Elementary: Added Wayland_Egl backend support.

Modified elm_win to use generic wayland_resize function (for
ecore_evas).



SVN revision: 67134
This commit is contained in:
Christopher Michael 2012-01-12 09:10:27 +00:00
parent 8e4a2fcbe9
commit 3e83e40a23
4 changed files with 15 additions and 2 deletions

View File

@ -2714,6 +2714,7 @@ _elm_engine_supported(const char *engine)
"opengl_cocoa",
"psl1ght",
"wayland_shm",
"wayland_egl",
NULL
};

View File

@ -36,6 +36,7 @@ const char *_elm_engines[] = {
"opengl_cocoa",
"psl1ght",
"wayland_shm",
"wayland_egl",
NULL
};
@ -1202,6 +1203,8 @@ _env_get(void)
eina_stringshare_replace(&_elm_config->engine, ELM_EWS);
else if ((!strcasecmp(s, "wayland_shm")))
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_SHM);
else if ((!strcasecmp(s, "wayland_egl")))
eina_stringshare_replace(&_elm_config->engine, ELM_WAYLAND_EGL);
}
s = getenv("ELM_VSYNC");

View File

@ -90,6 +90,7 @@ extern const char *_elm_engines[];
#define ELM_OPENGL_COCOA (_elm_engines[14])
#define ELM_SOFTWARE_PSL1GHT (_elm_engines[15])
#define ELM_WAYLAND_SHM (_elm_engines[16])
#define ELM_WAYLAND_EGL (_elm_engines[17])
#define ELM_FONT_TOKEN_STYLE ":style="

View File

@ -1,4 +1,4 @@
#include <Elementary.h>
#include <Elementary.h>
#include "elm_priv.h"
typedef struct _Elm_Win Elm_Win;
@ -1380,8 +1380,9 @@ _elm_win_frame_cb_resize_start(void *data, Evas_Object *obj __UNUSED__, const ch
else
win->resize_location = 0;
/* FIXME: Change to more generic wayland resize function */
if (win->resize_location > 0)
ecore_evas_wayland_shm_resize(win->ee, win->resize_location);
ecore_evas_wayland_resize(win->ee, win->resize_location);
}
static void
@ -1663,6 +1664,13 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
win->ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 1, 1, 0);
win->evas = ecore_evas_get(win->ee);
_elm_win_frame_add(win, "default");
}
else if (ENGINE_COMPARE(ELM_WAYLAND_EGL))
{
win->ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 1, 1, 0);
win->evas = ecore_evas_get(win->ee);
_elm_win_frame_add(win, "default");
}
else if (!strncmp(_elm_config->engine, "shot:", 5))