From 19927ec41ee80cda003adfee058e41c6e1c3adbb Mon Sep 17 00:00:00 2001 From: Ji-hoon Lee Date: Tue, 9 Jan 2018 18:20:59 +0900 Subject: [PATCH] EFL 1.20 migration Change-Id: I800cfaf2e693e542e79b6997af7d3dbd489f93a1 Disable graphic acceleration temporarily Change-Id: If3f25dd2292ba297052486e9c8cd912d8f015933 Signed-off-by: Jihoon Kim Revert "Disable graphic acceleration temporarily" This reverts commit f81d2f87b60931eb510f8c320557fd9c6cc4d10b. Change-Id: Ifdb21d098d891db333e87e4b3657881ace121a18 --- CMakeLists.txt | 2 +- packaging/libscl-core.spec | 2 +- src/sclcoreui-efl.cpp | 42 ++++++++++++++++++++++++-------------- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d85bafa..2fe6e33 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,7 +39,7 @@ SET(PKGS_CHECK_MODULES IF (with_wayland) ADD_DEFINITIONS("-DWAYLAND") - SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} ecore-wayland wayland-client input-method-client) + SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} ecore-wl2 wayland-client input-method-client) ELSE (with_wayland) SET(PKGS_CHECK_MODULES ${PKGS_CHECK_MODULES} ecore-x x11) ENDIF(with_wayland) diff --git a/packaging/libscl-core.spec b/packaging/libscl-core.spec index 0f1fa23..ad9d7b7 100644 --- a/packaging/libscl-core.spec +++ b/packaging/libscl-core.spec @@ -19,7 +19,7 @@ BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(isf) %if %{with wayland} -BuildRequires: pkgconfig(ecore-wayland) +BuildRequires: pkgconfig(ecore-wl2) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(input-method-client) %else diff --git a/src/sclcoreui-efl.cpp b/src/sclcoreui-efl.cpp index 8a15194..15ce472 100644 --- a/src/sclcoreui-efl.cpp +++ b/src/sclcoreui-efl.cpp @@ -27,7 +27,8 @@ #include #include #ifdef WAYLAND -#include +#define EFL_BETA_API_SUPPORT +#include #include #else #include @@ -46,7 +47,7 @@ static struct appcore_ops ops; struct WaylandKeyboard { Ecore_Evas *ee; - Ecore_Wl_Window *wl_win; + Ecore_Wl2_Window *wl_win; struct wl_surface *surface; struct wl_input_panel *ip; @@ -126,10 +127,11 @@ void CSCLCoreUIEFL::set_keyboard_size_hints(SclSize portrait, SclSize landscape) Evas_Object *main_window = NATIVE_WINDOW_CAST(m_main_window); #ifdef WAYLAND - ecore_wl_window_rotation_geometry_set(elm_win_wl_window_get(main_window), 0, 0, 0, portrait.width, portrait.height); - ecore_wl_window_rotation_geometry_set(elm_win_wl_window_get(main_window), 90, 0, 0, landscape.height, landscape.width); - ecore_wl_window_rotation_geometry_set(elm_win_wl_window_get(main_window), 180, 0, 0, portrait.width, portrait.height); - ecore_wl_window_rotation_geometry_set(elm_win_wl_window_get(main_window), 270, 0, 0, landscape.height, landscape.width); + Ecore_Wl2_Window *wl_window = (Ecore_Wl2_Window *)elm_win_wl_window_get(main_window); + ecore_wl2_window_rotation_geometry_set(wl_window, 0, 0, 0, portrait.width, portrait.height); + ecore_wl2_window_rotation_geometry_set(wl_window, 90, 0, 0, landscape.height, landscape.width); + ecore_wl2_window_rotation_geometry_set(wl_window, 180, 0, 0, portrait.width, portrait.height); + ecore_wl2_window_rotation_geometry_set(wl_window, 270, 0, 0, landscape.height, landscape.width); #else /* ecore_x_e_window_rotation_geometry_set(elm_win_xwindow_get(main_window), 0, 0, 0, portrait.width, portrait.height); @@ -334,17 +336,21 @@ static void signal_handler(int sig) { static bool _wayland_setup(struct WaylandKeyboard *wlkb, Evas_Object *main_window) { - Eina_Inlist *globals; + Eina_Iterator *globals; struct wl_registry *registry; - Ecore_Wl_Global *global; + Ecore_Wl2_Global *global; + Ecore_Wl2_Display *ewd; - if (!(registry = ecore_wl_registry_get())) + if (!(ewd = ecore_wl2_connected_display_get(NULL))) return false; - if (!(globals = ecore_wl_globals_get())) + if (!(registry = ecore_wl2_display_registry_get(ewd))) return false; - EINA_INLIST_FOREACH(globals, global) + if (!(globals = ecore_wl2_display_globals_get(ewd))) + return false; + + EINA_ITERATOR_FOREACH(globals, global) { if (strcmp(global->interface, "wl_input_panel") == 0) wlkb->ip = (wl_input_panel *)wl_registry_bind(registry, global->id, &wl_input_panel_interface, 1); @@ -370,19 +376,25 @@ _wayland_setup(struct WaylandKeyboard *wlkb, Evas_Object *main_window) /* Set input panel surface */ LOGD("Setting up input panel\n"); - wlkb->wl_win = ecore_evas_wayland_window_get(wlkb->ee); + wlkb->wl_win = ecore_evas_wayland2_window_get(wlkb->ee); if (!wlkb->wl_win) { LOGW("Couldn't get wayland window\n"); return false; } - ecore_wl_window_type_set(wlkb->wl_win, ECORE_WL_WINDOW_TYPE_NONE); - wlkb->surface = ecore_wl_window_surface_create(wlkb->wl_win); - if (!wlkb->surface) { + ecore_wl2_window_type_set(wlkb->wl_win, ECORE_WL2_WINDOW_TYPE_NONE); + Ecore_Wl2_Surface *surface = ecore_wl2_surface_create(wlkb->wl_win, EINA_TRUE); + if (!surface) { LOGW("Couldn't create surface\n"); return false; } + wlkb->surface = ecore_wl2_window_surface_get(wlkb->wl_win); + if (!wlkb->surface) { + LOGW("Couldn't get surface\n"); + return false; + } + wlkb->ips = wl_input_panel_get_input_panel_surface(wlkb->ip, wlkb->surface); if (!wlkb->ips) { LOGW("Couldn't get input panel surface\n"); -- 2.34.1