summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-12-03 12:30:46 -0500
committerChris Michael <cp.michael@samsung.com>2015-12-03 12:30:46 -0500
commit020e4187a7a8eda7dfd9d488a789ba9970fe6263 (patch)
tree59ff9f7b2806a09362a24697f882be41e18f6d90
parent7df562fed5a2fe4c4eae4880fd65b8b448da6b9b (diff)
parent257e6b564fcf5213432d8728df39120ae44ff813 (diff)
downloadelementary-020e4187a7a8eda7dfd9d488a789ba9970fe6263.tar.gz
elementary: Port elementary to use Ecore_Wl2 library
This is a merge of branch 'devs/devilhorns/ecore_wl2' that ports Elementary to use the new Ecore_Wl2 library. This port allows for improved time to first frame, reduced input latency, and proper support for xdg window geometry. @feature
-rw-r--r--configure.ac2
-rw-r--r--src/lib/elm_cnp.c182
-rw-r--r--src/lib/elm_config.c24
-rw-r--r--src/lib/elm_priv.h8
-rw-r--r--src/lib/elm_win.c125
-rw-r--r--src/lib/elm_win.eo4
-rw-r--r--src/lib/elm_win_legacy.h2
-rw-r--r--src/lib/els_cursor.c18
8 files changed, 211 insertions, 154 deletions
diff --git a/configure.ac b/configure.ac
index 1c883581c..1271665b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -247,7 +247,7 @@ ELM_CHECK_BACKEND([PSL1GHT])
ELM_CHECK_BACKEND([SDL])
ELM_CHECK_BACKEND([Cocoa])
ELM_CHECK_BACKEND([Win32])
-ELM_CHECK_BACKEND([Wayland])
+ELM_CHECK_BACKEND([Wl2])
ELM_CHECK_BACKEND([DRM])
ELM_CHECK_OPTION([elocation], [0.1.0])
diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index 070105746..7be51d924 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -2309,7 +2309,7 @@ _x11_elm_selection_selection_has_owner(Evas_Object *obj EINA_UNUSED)
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
typedef struct _Wl_Cnp_Selection Wl_Cnp_Selection;
struct _Wl_Cnp_Selection
@@ -2329,7 +2329,7 @@ struct _Wl_Cnp_Selection
void *loss_data;
Elm_Sel_Format format;
- Ecore_Wl_Window *win;
+ Ecore_Wl2_Window *win;
Elm_Xdnd_Action action;
Eina_Bool active : 1;
@@ -2376,7 +2376,7 @@ static Dropable *_wl_dropable_find(unsigned int win);
static void _wl_dropable_handle(Dropable *drop, Evas_Coord x, Evas_Coord y);
static void _wl_dropable_all_clean(unsigned int win);
static Eina_Bool _wl_drops_accept(const char *type);
-static unsigned int _wl_elm_widget_window_get(const Evas_Object *obj);
+static Ecore_Wl2_Window *_wl_elm_widget_window_get(const Evas_Object *obj);
static Evas * _wl_evas_get_from_win(unsigned int win);
static void
@@ -2397,7 +2397,7 @@ _wl_sel_obj_del2(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_
static Eina_Bool
_wl_elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format, const void *selbuf, size_t buflen)
{
- Ecore_Wl_Window *win;
+ Ecore_Wl2_Window *win;
Wl_Cnp_Selection *sel = &wl_cnp_selection;
if ((!selbuf) && (format != ELM_SEL_FORMAT_IMAGE))
@@ -2408,7 +2408,7 @@ _wl_elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Form
_wl_elm_cnp_init();
- win = elm_win_wl_window_get(obj);
+ win = _wl_elm_widget_window_get(obj);
if (sel->loss_cb) sel->loss_cb(sel->loss_data, selection);
@@ -2465,7 +2465,7 @@ _wl_elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Form
if (i < 0) return EINA_FALSE;
- ecore_wl_dnd_selection_set(ecore_wl_input_get(), types);
+ ecore_wl2_dnd_selection_set(ecore_wl2_window_input_get(win), types);
free(sel->selbuf);
sel->buflen = buflen;
@@ -2483,12 +2483,12 @@ _wl_elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Form
static Eina_Bool
_wl_elm_cnp_selection_get(const Evas_Object *obj, Elm_Sel_Type selection, Elm_Sel_Format format, Elm_Drop_Cb datacb, void *udata)
{
- Ecore_Wl_Window *win;
+ Ecore_Wl2_Window *win;
Wl_Cnp_Selection *sel = &wl_cnp_selection;
_wl_elm_cnp_init();
- win = elm_win_wl_window_get(obj);
+ win = _wl_elm_widget_window_get(obj);
if (sel->requestwidget)
evas_object_event_callback_del_full(sel->requestwidget,
@@ -2528,7 +2528,7 @@ _wl_elm_cnp_selection_get(const Evas_Object *obj, Elm_Sel_Type selection, Elm_Se
if (i < 0) return EINA_FALSE;
- ecore_wl_dnd_selection_get(ecore_wl_input_get(), *types);
+ ecore_wl2_dnd_selection_get(ecore_wl2_window_input_get(win), *types);
}
return EINA_TRUE;
@@ -2573,7 +2573,7 @@ _wl_elm_cnp_selection_clear(Evas_Object *obj, Elm_Sel_Type selection EINA_UNUSED
ELM_SAFE_FREE(sel->selbuf, free);
sel->buflen = 0;
/* sel->clear(); */
- ecore_wl_dnd_selection_clear(ecore_wl_input_get());
+ ecore_wl2_dnd_selection_clear(ecore_wl2_window_input_get(_wl_elm_widget_window_get(obj)));
return EINA_TRUE;
}
@@ -2585,7 +2585,7 @@ _wl_selection_send(void *udata, int type EINA_UNUSED, void *event)
int ret, len_remained;
int len_written = 0;
Wl_Cnp_Selection *sel = udata;
- Ecore_Wl_Event_Data_Source_Send *ev = event;
+ Ecore_Wl2_Event_Data_Source_Send *ev = event;
_wl_elm_cnp_init();
@@ -2609,7 +2609,7 @@ static Eina_Bool
_wl_selection_receive(void *udata, int type EINA_UNUSED, void *event)
{
Wl_Cnp_Selection *sel = udata;
- Ecore_Wl_Event_Selection_Data_Ready *ev = event;
+ Ecore_Wl2_Event_Selection_Data_Ready *ev = event;
_wl_elm_cnp_init();
@@ -2700,9 +2700,9 @@ _wl_elm_cnp_init(void)
if (_init_count > 0) return EINA_TRUE;
_init_count++;
- ecore_event_handler_add(ECORE_WL_EVENT_DATA_SOURCE_SEND,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DATA_SOURCE_SEND,
_wl_selection_send, &wl_cnp_selection);
- ecore_event_handler_add(ECORE_WL_EVENT_SELECTION_DATA_READY,
+ ecore_event_handler_add(ECORE_WL2_EVENT_SELECTION_DATA_READY,
_wl_selection_receive, &wl_cnp_selection);
return EINA_TRUE;
@@ -2718,12 +2718,12 @@ _wl_elm_dnd_init(void)
text_uri = eina_stringshare_add("text/uri-list");
- ecore_event_handler_add(ECORE_WL_EVENT_DATA_SOURCE_SEND,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DATA_SOURCE_SEND,
_wl_dnd_send, &wl_cnp_selection);
- ecore_event_handler_add(ECORE_WL_EVENT_SELECTION_DATA_READY,
+ ecore_event_handler_add(ECORE_WL2_EVENT_SELECTION_DATA_READY,
_wl_dnd_receive, &wl_cnp_selection);
- ecore_event_handler_add(ECORE_WL_EVENT_DND_END,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DND_END,
_wl_dnd_end, &wl_cnp_selection);
return EINA_TRUE;
@@ -2769,16 +2769,16 @@ _wl_elm_drop_target_add(Evas_Object *obj, Elm_Sel_Format format, Elm_Drag_State
if (first)
{
handler_enter =
- ecore_event_handler_add(ECORE_WL_EVENT_DND_ENTER,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DND_ENTER,
_wl_dnd_enter, NULL);
handler_leave =
- ecore_event_handler_add(ECORE_WL_EVENT_DND_LEAVE,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DND_LEAVE,
_wl_dnd_leave, NULL);
handler_pos =
- ecore_event_handler_add(ECORE_WL_EVENT_DND_POSITION,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DND_MOTION,
_wl_dnd_position, NULL);
handler_drop =
- ecore_event_handler_add(ECORE_WL_EVENT_DND_DROP,
+ ecore_event_handler_add(ECORE_WL2_EVENT_DND_DROP,
_wl_dnd_drop, NULL);
_wl_elm_dnd_init();
}
@@ -2838,7 +2838,7 @@ _wl_elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data,
int x, y, x2 = 0, y2 = 0, x3, y3, w = 0, h = 0;
const char *types[CNP_N_ATOMS + 1];
int i, nb_types = 0;
- Ecore_Wl_Window *parent = NULL;
+ Ecore_Wl2_Window *parent = NULL, *win;
_wl_elm_dnd_init();
@@ -2854,7 +2854,9 @@ _wl_elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data,
}
}
types[nb_types] = NULL;
- ecore_wl_dnd_drag_types_set(ecore_wl_input_get(), types);
+
+ win = _wl_elm_widget_window_get(obj);
+ ecore_wl2_dnd_drag_types_set(ecore_wl2_window_input_get(win), types);
/* set the drag data used when a drop occurs */
free(wl_cnp_selection.selbuf);
@@ -2879,8 +2881,9 @@ _wl_elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data,
elm_win_borderless_set(dragwin, EINA_TRUE);
elm_win_override_set(dragwin, EINA_TRUE);
- ecore_wl_window_type_set(elm_win_wl_window_get(dragwin),
- ECORE_WL_WINDOW_TYPE_DND);
+ win = elm_win_wl_window_get(dragwin);
+
+ ecore_wl2_window_type_set(win, ECORE_WL2_WINDOW_TYPE_DND);
if (createicon)
{
@@ -2938,12 +2941,10 @@ _wl_elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data,
if (!(ee = ecore_evas_ecore_evas_get(evas)))
return EINA_FALSE;
- parent = ecore_evas_wayland_window_get(ee);
+ parent = ecore_evas_wayland_window_get2(ee);
}
- ecore_wl_dnd_drag_start(ecore_wl_input_get(), parent,
- elm_win_wl_window_get(dragwin),
- x3, y3, w, h);
+ ecore_wl2_dnd_drag_start(ecore_wl2_window_input_get(win), parent, win);
return EINA_TRUE;
}
@@ -2958,7 +2959,7 @@ _wl_drag_source_del(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, Evas_Object
static Eina_Bool
_wl_dnd_enter(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
- Ecore_Wl_Event_Dnd_Enter *ev;
+ Ecore_Wl2_Event_Dnd_Enter *ev;
int i = 0;
ev = event;
@@ -2996,7 +2997,7 @@ _wl_dnd_enter(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
static Eina_Bool
_wl_dnd_leave(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
- Ecore_Wl_Event_Dnd_Leave *ev;
+ Ecore_Wl2_Event_Dnd_Leave *ev;
Dropable *drop;
cnp_debug("In\n");
@@ -3013,16 +3014,16 @@ _wl_dnd_leave(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
static Eina_Bool
_wl_dnd_position(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
- Ecore_Wl_Event_Dnd_Position *ev;
+ Ecore_Wl2_Event_Dnd_Motion *ev;
Dropable *drop;
Eina_Bool will_accept = EINA_FALSE;
ev = event;
- cnp_debug("mouse pos %i %i\n", ev->position.x, ev->position.y);
+ cnp_debug("mouse pos %i %i\n", ev->x, ev->y);
- dragwin_x_end = ev->position.x - _dragx;
- dragwin_y_end = ev->position.y - _dragy;
+ dragwin_x_end = ev->x - _dragx;
+ dragwin_y_end = ev->y - _dragy;
drop = _wl_dropable_find(ev->win);
@@ -3030,8 +3031,8 @@ _wl_dnd_position(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
Evas_Coord x = 0, y = 0;
- x = ev->position.x;
- y = ev->position.y;
+ x = ev->x;
+ y = ev->y;
_dropable_coords_adjust(drop, &x, &y);
Evas *evas = _wl_evas_get_from_win(ev->win);
@@ -3113,14 +3114,15 @@ _wl_dnd_position(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
static Eina_Bool
_wl_dnd_drop(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
- Ecore_Wl_Event_Dnd_Drop *ev;
+ Ecore_Wl2_Event_Dnd_Drop *ev;
+ Ecore_Wl2_Window *win;
Dropable *drop;
Eina_List *l;
cnp_debug("In\n");
ev = event;
- savedtypes.x = ev->position.x;
- savedtypes.y = ev->position.y;
+ savedtypes.x = ev->x;
+ savedtypes.y = ev->y;
EINA_LIST_FOREACH(drops, l, drop)
{
@@ -3132,12 +3134,16 @@ _wl_dnd_drop(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
EVAS_CALLBACK_DEL,
_wl_sel_obj_del2,
&wl_cnp_selection);
- ecore_wl_dnd_drag_get(ecore_wl_input_get(), drop->last.type);
+
+ win = _wl_elm_widget_window_get(drop->obj);
+ ecore_wl2_dnd_drag_get(ecore_wl2_window_input_get(win),
+ drop->last.type);
return ECORE_CALLBACK_PASS_ON;
}
}
- ecore_wl_dnd_drag_end(ecore_wl_input_get());
+ win = ecore_wl2_display_window_find(_elm_wl_display, ev->win);
+ ecore_wl2_dnd_drag_end(ecore_wl2_window_input_get(win));
return ECORE_CALLBACK_PASS_ON;
}
@@ -3148,7 +3154,7 @@ _wl_dnd_send(void *data, int type EINA_UNUSED, void *event)
int ret, len_remained;
int len_written = 0;
Wl_Cnp_Selection *sel;
- Ecore_Wl_Event_Data_Source_Send *ev;
+ Ecore_Wl2_Event_Data_Source_Send *ev;
cnp_debug("In\n");
ev = event;
@@ -3174,7 +3180,7 @@ static Eina_Bool
_wl_dnd_receive(void *data, int type EINA_UNUSED, void *event)
{
Wl_Cnp_Selection *sel;
- Ecore_Wl_Event_Selection_Data_Ready *ev;
+ Ecore_Wl2_Event_Selection_Data_Ready *ev;
cnp_debug("In\n");
ev = event;
@@ -3197,12 +3203,14 @@ _wl_dnd_receive(void *data, int type EINA_UNUSED, void *event)
}
static Eina_Bool
-_wl_dnd_end(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED)
+_wl_dnd_end(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
{
+ Ecore_Wl2_Event_Dnd_End *ev;
+ Ecore_Wl2_Window *win;
+
cnp_debug("In\n");
- /* Ecore_Wl_Event_Dnd_End *ev; */
- /* ev = event; */
+ ev = event;
if (dragdonecb) dragdonecb(dragdonedata, dragwidget);
@@ -3229,7 +3237,8 @@ _wl_dnd_end(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSE
dragwidget = NULL;
doaccept = EINA_FALSE;
- ecore_wl_input_ungrab(ecore_wl_input_get());
+ win = ecore_wl2_display_window_find(_elm_wl_display, ev->win);
+ ecore_wl2_input_ungrab(ecore_wl2_window_input_get(win));
return ECORE_CALLBACK_PASS_ON;
}
@@ -3243,17 +3252,21 @@ _wl_dropable_match(Dropable_Cbs *cbs, Dropable *drop, Elm_Sel_Format fmt)
static void
_wl_dropable_data_handle(Wl_Cnp_Selection *sel, char *data, size_t size)
{
- cnp_debug("In\n");
Dropable *drop;
Elm_Selection_Data sdata;
+ Ecore_Wl2_Window *win;
char *s;
+ cnp_debug("In\n");
+
sdata.action = ELM_XDND_ACTION_COPY;
sdata.len = size;
sdata.x = savedtypes.x;
sdata.y = savedtypes.y;
+ win = _wl_elm_widget_window_get(sel->requestwidget);
+
eo_do(sel->requestwidget, drop = eo_key_data_get("__elm_dropable"));
if (drop)
{
@@ -3267,7 +3280,7 @@ _wl_dropable_data_handle(Wl_Cnp_Selection *sel, char *data, size_t size)
savedtypes.textreq || _wl_dropable_match(cbs, drop, ELM_SEL_FORMAT_TEXT));
if (!s)
{
- ecore_wl_dnd_drag_end(ecore_wl_input_get());
+ ecore_wl2_dnd_drag_end(ecore_wl2_window_input_get(win));
return;
}
@@ -3287,7 +3300,8 @@ _wl_dropable_data_handle(Wl_Cnp_Selection *sel, char *data, size_t size)
}
}
}
- ecore_wl_dnd_drag_end(ecore_wl_input_get());
+
+ ecore_wl2_dnd_drag_end(ecore_wl2_window_input_get(win));
savedtypes.textreq = 0;
}
@@ -3296,11 +3310,17 @@ _wl_dropable_find(unsigned int win)
{
Eina_List *l;
Dropable *dropable;
+ Ecore_Wl2_Window *window;
if (!drops) return NULL;
+
+ window = ecore_wl2_display_window_find(_elm_wl_display, win);
+ if (!window) return NULL;
+
EINA_LIST_FOREACH(drops, l, dropable)
- if (_wl_elm_widget_window_get(dropable->obj) == win)
+ if (_wl_elm_widget_window_get(dropable->obj) == window)
return dropable;
+
return NULL;
}
@@ -3362,10 +3382,14 @@ _wl_dropable_all_clean(unsigned int win)
{
Eina_List *l;
Dropable *dropable;
+ Ecore_Wl2_Window *window;
+
+ window = ecore_wl2_display_window_find(_elm_wl_display, win);
+ if (!window) return;
EINA_LIST_FOREACH(drops, l, dropable)
{
- if (_wl_elm_widget_window_get(dropable->obj) == win)
+ if (_wl_elm_widget_window_get(dropable->obj) == window)
{
dropable->last.x = 0;
dropable->last.y = 0;
@@ -3413,11 +3437,11 @@ _wl_drops_accept(const char *type)
return will_accept;
}
-static unsigned int
+static Ecore_Wl2_Window *
_wl_elm_widget_window_get(const Evas_Object *obj)
{
Evas_Object *top;
- Ecore_Wl_Window *win = NULL;
+ Ecore_Wl2_Window *win = NULL;
if (elm_widget_is(obj))
{
@@ -3433,26 +3457,26 @@ _wl_elm_widget_window_get(const Evas_Object *obj)
const char *engine_name;
if (!(evas = evas_object_evas_get(obj)))
- return 0;
+ return NULL;
if (!(ee = ecore_evas_ecore_evas_get(evas)))
- return 0;
+ return NULL;
engine_name = ecore_evas_engine_name_get(ee);
if (!strcmp(engine_name, ELM_BUFFER))
{
ee = ecore_evas_buffer_ecore_evas_parent_get(ee);
- if (!ee) return 0;
- win = ecore_evas_wayland_window_get(ee);
+ if (!ee) return NULL;
+ win = ecore_evas_wayland_window_get2(ee);
}
else if (!strncmp(engine_name, "wayland", sizeof("wayland") - 1))
{
/* In case the engine is not a buffer, we want to check once. */
- win = ecore_evas_wayland_window_get(ee);
- if (!win) return 0;
+ win = ecore_evas_wayland_window_get2(ee);
+ if (!win) return NULL;
}
}
- return ecore_wl_window_id_get(win);
+ return win;
}
#endif
@@ -3832,7 +3856,7 @@ elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type selection,
if (xwin)
return _x11_elm_cnp_selection_set(xwin, obj, selection, format, selbuf, buflen);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_cnp_selection_set(obj, selection, format, selbuf, buflen);
#endif
@@ -3850,7 +3874,7 @@ elm_cnp_selection_loss_callback_set(Evas_Object *obj, Elm_Sel_Type selection,
if (_x11_elm_widget_xwin_get(obj))
_x11_elm_cnp_selection_loss_callback_set(obj, selection, func, data);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
_wl_elm_cnp_selection_loss_callback_set(obj, selection, func, data);
#endif
@@ -3866,7 +3890,7 @@ elm_object_cnp_selection_clear(Evas_Object *obj, Elm_Sel_Type selection)
if (_x11_elm_widget_xwin_get(obj))
return _x11_elm_object_cnp_selection_clear(obj, selection);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_cnp_selection_clear(obj, selection);
#endif
@@ -3884,7 +3908,7 @@ elm_cnp_selection_get(const Evas_Object *obj, Elm_Sel_Type selection,
if (xwin)
return _x11_elm_cnp_selection_get(xwin, obj, selection, format, datacb, udata);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_cnp_selection_get(obj, selection, format, datacb, udata);
#endif
@@ -3910,7 +3934,7 @@ elm_drop_target_add(Evas_Object *obj, Elm_Sel_Format format,
leavecb, leavedata, poscb, posdata,
dropcb, dropdata);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_drop_target_add(obj, format, entercb, enterdata,
leavecb, leavedata, poscb, posdata,
@@ -3934,7 +3958,7 @@ elm_drop_target_del(Evas_Object *obj, Elm_Sel_Format format,
return _x11_elm_drop_target_del(obj, format, entercb, enterdata,
leavecb, leavedata, poscb, posdata, dropcb, dropdata);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_drop_target_del(obj, format, entercb, enterdata,
leavecb, leavedata, poscb, posdata, dropcb, dropdata);
@@ -3967,7 +3991,7 @@ elm_drag_start(Evas_Object *obj, Elm_Sel_Format format, const char *data,
acceptcb, acceptdata,
dragdone, donecbdata);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_drag_start(obj, format, data, action,
createicon, createdata,
@@ -3990,7 +4014,7 @@ elm_drag_action_set(Evas_Object *obj, Elm_Xdnd_Action action)
if (_x11_elm_widget_xwin_get(obj))
return _x11_elm_drag_action_set(obj, action);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (_wl_elm_widget_window_get(obj))
return _wl_elm_drag_action_set(obj, action);
#endif
@@ -4005,9 +4029,12 @@ elm_selection_selection_has_owner(Evas_Object *obj)
if (_x11_elm_widget_xwin_get(obj))
return _x11_elm_selection_selection_has_owner(obj);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
- if (_wl_elm_widget_window_get(obj))
- return ecore_wl_dnd_selection_owner_has(ecore_wl_input_get());
+#ifdef HAVE_ELEMENTARY_WL2
+ Ecore_Wl2_Window *win;
+
+ win = _wl_elm_widget_window_get(obj);
+ if (win)
+ return ecore_wl2_dnd_selection_owner_has(ecore_wl2_window_input_get(win));
#endif
return _local_elm_selection_selection_has_owner(obj);
}
@@ -4491,9 +4518,12 @@ elm_drag_cancel(Evas_Object *obj)
goto end;
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
- if (_wl_elm_widget_window_get(obj))
- ecore_wl_dnd_drag_end(ecore_wl_input_get());
+#ifdef HAVE_ELEMENTARY_WL2
+ Ecore_Wl2_Window *win;
+
+ win = _wl_elm_widget_window_get(obj);
+ if (win)
+ ecore_wl2_dnd_drag_end(ecore_wl2_window_input_get(win));
#endif
end:
diff --git a/src/lib/elm_config.c b/src/lib/elm_config.c
index 29ef12de6..f64e4262c 100644
--- a/src/lib/elm_config.c
+++ b/src/lib/elm_config.c
@@ -31,6 +31,10 @@ Eio_Monitor *_eio_monitor = NULL;
Eina_Hash *_elm_key_bindings = NULL;
+#ifdef HAVE_ELEMENTARY_WL2
+Ecore_Wl2_Display *_elm_wl_display = NULL;
+#endif
+
const char *_elm_engines[] = {
"software_x11",
"fb",
@@ -3316,6 +3320,10 @@ _elm_config_sub_shutdown(void)
#ifdef HAVE_ELEMENTARY_X
if (ecore_x_display_get()) ecore_x_shutdown();
#endif
+#ifdef HAVE_ELEMENTARY_WL2
+ if (_elm_wl_display) ecore_wl2_display_disconnect(_elm_wl_display);
+ ecore_wl2_shutdown();
+#endif
ELM_SAFE_FREE(_eio_monitor, eio_monitor_del);
ELM_SAFE_FREE(_config_change_delay_timer, ecore_timer_del);
}
@@ -3350,7 +3358,7 @@ _elm_config_file_monitor_cb(void *data EINA_UNUSED,
void
_elm_config_sub_init(void)
{
-#if defined(HAVE_ELEMENTARY_X) || defined(HAVE_ELEMENTARY_WAYLAND)
+#if defined(HAVE_ELEMENTARY_X) || defined(HAVE_ELEMENTARY_WL2)
const char *ev = getenv("ELM_DISPLAY");
#endif
@@ -3385,7 +3393,7 @@ _elm_config_sub_init(void)
ecore_x_init(NULL);
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
Eina_Bool init_wl = EINA_FALSE;
Eina_Bool have_wl_display = !!getenv("WAYLAND_DISPLAY");
@@ -3413,7 +3421,17 @@ _elm_config_sub_init(void)
}
if (init_wl)
{
- ecore_wl_init(NULL);
+ if (!ecore_wl2_init())
+ {
+ ERR("Could not initialize Ecore_Wl2");
+ goto end;
+ }
+ _elm_wl_display = ecore_wl2_display_connect(NULL);
+ if (!_elm_wl_display)
+ {
+ ERR("Could not connect to Wayland Display");
+ goto end;
+ }
}
#endif
char buf[PATH_MAX];
diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h
index be92f1513..e783e44ce 100644
--- a/src/lib/elm_priv.h
+++ b/src/lib/elm_priv.h
@@ -6,8 +6,8 @@
#ifdef HAVE_ELEMENTARY_FB
#include <Ecore_Fb.h>
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
-#include <Ecore_Wayland.h>
+#ifdef HAVE_ELEMENTARY_WL2
+#include <Ecore_Wl2.h>
#endif
#ifdef HAVE_ELEMENTARY_DRM
#include <Ecore_Drm.h>
@@ -559,6 +559,10 @@ extern const char SIG_WIDGET_ACCESS_CHANGED[];
extern const char SIG_LAYOUT_FOCUSED[];
extern const char SIG_LAYOUT_UNFOCUSED[];
+#ifdef HAVE_ELEMENTARY_WL2
+extern Ecore_Wl2_Display *_elm_wl_display;
+#endif
+
#ifdef ENABLE_NLS
/* Our gettext wrapper, used to disable translation of elm if the app
* is not translated. */
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index b9f78dad6..6de610ca9 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -111,10 +111,10 @@ struct _Elm_Win_Data
Ecore_Event_Handler *property_handler;
} x;
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
struct
{
- Ecore_Wl_Window *win;
+ Ecore_Wl2_Window *win;
Eina_Bool opaque_dirty : 1;
} wl;
#endif
@@ -349,7 +349,7 @@ _win_noblank_eval(void)
if (noblanks > 0) ecore_x_screensaver_suspend();
else ecore_x_screensaver_resume();
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
// XXX: no wl implementation of this yet - maybe higher up at prop level
#endif
}
@@ -1246,7 +1246,7 @@ _elm_win_profile_update(Elm_Win_Data *sd)
eo_do(sd->obj, eo_event_callback_call(ELM_WIN_EVENT_PROFILE_CHANGED, NULL));
}
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
static void
_elm_win_opaque_update(Elm_Win_Data *sd)
{
@@ -1255,15 +1255,17 @@ _elm_win_opaque_update(Elm_Win_Data *sd)
if (sd->fullscreen)
{
ecore_evas_geometry_get(sd->ee, NULL, NULL, &ow, &oh);
- ecore_wl_window_opaque_region_set(sd->wl.win, 0, 0, ow, oh);
- ecore_wl_window_update_location(sd->wl.win, 0, 0);
+ ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, ow, oh);
+ /* TODO */
+ /* ecore_wl_window_update_location(sd->wl.win, 0, 0); */
return;
}
edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.opaque",
&ox, &oy, &ow, &oh);
- ecore_wl_window_opaque_region_set(sd->wl.win, ox, oy, ow, oh);
- ecore_wl_window_update_location(sd->wl.win, ox, oy);
+ ecore_wl2_window_opaque_region_set(sd->wl.win, ox, oy, ow, oh);
+ /* TODO */
+ /* ecore_wl_window_update_location(sd->wl.win, ox, oy); */
}
#endif
@@ -1273,7 +1275,7 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd)
int fx, fy, fw, fh;
int ox, oy, ow, oh;
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
sd->wl.opaque_dirty = 1;
#endif
if (sd->fullscreen)
@@ -2052,8 +2054,9 @@ _elm_win_evas_object_smart_move(Eo *obj, Elm_Win_Data *sd, Evas_Coord x, Evas_Co
}
if (sd->frame_obj)
{
-#ifdef HAVE_ELEMENTARY_WAYLAND
- ecore_wl_window_update_location(sd->wl.win, x, y);
+#ifdef HAVE_ELEMENTARY_WL2
+ /* TODO */
+ /* ecore_wl_window_update_location(sd->wl.win, x, y); */
#endif
sd->screen.x = x;
sd->screen.y = y;
@@ -2145,10 +2148,10 @@ _internal_elm_win_xwindow_get(Elm_Win_Data *sd)
}
#endif
-Ecore_Wl_Window *
+Ecore_Wl2_Window *
_elm_ee_wlwin_get(const Ecore_Evas *ee)
{
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
const char *engine_name;
if (!ee) return NULL;
@@ -2159,7 +2162,7 @@ _elm_ee_wlwin_get(const Ecore_Evas *ee)
if ((!strcmp(engine_name, ELM_WAYLAND_SHM)) ||
(!strcmp(engine_name, ELM_WAYLAND_EGL)))
{
- return ecore_evas_wayland_window_get(ee);
+ return ecore_evas_wayland_window_get2(ee);
}
#else
(void)ee;
@@ -2167,7 +2170,7 @@ _elm_ee_wlwin_get(const Ecore_Evas *ee)
return NULL;
}
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
static void
_elm_win_wlwindow_get(Elm_Win_Data *sd)
{
@@ -2657,11 +2660,11 @@ _elm_win_frame_cb_move_start(void *data,
if (!sd) return;
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (!strcmp(source, "elm"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win, ELM_CURSOR_HAND1);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, ELM_CURSOR_HAND1);
else
- ecore_wl_window_cursor_default_restore(sd->wl.win);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
#else
(void)source;
#endif
@@ -2687,12 +2690,12 @@ _elm_win_frame_cb_move_stop(void *data,
if (!sd) return;
-#ifdef HAVE_ELEMENTARY_WAYLAND
- ecore_wl_window_cursor_default_restore(sd->wl.win);
+#ifdef HAVE_ELEMENTARY_WL2
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
#endif
}
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
struct _resize_info
{
const char *name;
@@ -2755,35 +2758,35 @@ _elm_win_frame_cb_resize_show(void *data,
if (!sd) return;
if (sd->resizing) return;
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
int i;
i = sd->rot / 90;
if (!strcmp(source, "elm.event.resize.t"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_side[(0 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_side[(0 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.b"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_side[(2 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_side[(2 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.l"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_side[(1 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_side[(1 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.r"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_side[(3 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_side[(3 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.tl"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_corner[(0 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_corner[(0 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.tr"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_corner[(3 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_corner[(3 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.bl"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_corner[(1 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_corner[(1 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.br"))
- ecore_wl_window_cursor_from_name_set(sd->wl.win,
- _border_corner[(2 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+ _border_corner[(2 + i) % 4].name);
else
- ecore_wl_window_cursor_default_restore(sd->wl.win);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
#else
(void)source;
#endif
@@ -2800,8 +2803,8 @@ _elm_win_frame_cb_resize_hide(void *data,
if (!sd) return;
if (sd->resizing) return;
-#ifdef HAVE_ELEMENTARY_WAYLAND
- ecore_wl_window_cursor_default_restore(sd->wl.win);
+#ifdef HAVE_ELEMENTARY_WL2
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
#endif
}
@@ -2811,7 +2814,7 @@ _elm_win_frame_cb_resize_start(void *data,
const char *sig EINA_UNUSED,
const char *source)
{
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
ELM_WIN_DATA_GET(data, sd);
int i;
@@ -2914,7 +2917,7 @@ _elm_win_frame_cb_close(void *data,
evas_object_unref(win);
}
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
static void
_elm_win_frame_pre_render(void *data, Evas *e EINA_UNUSED, void *ev EINA_UNUSED)
{
@@ -2974,7 +2977,7 @@ _elm_win_frame_add(Elm_Win_Data *sd,
(sd->frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd);
evas_object_event_callback_add
(sd->frame_obj, EVAS_CALLBACK_RESIZE, _elm_win_frame_obj_resize, sd);
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
evas_event_callback_add(sd->evas, EVAS_CALLBACK_RENDER_PRE, _elm_win_frame_pre_render, sd);
#endif
@@ -3032,7 +3035,7 @@ _elm_win_frame_del(Elm_Win_Data *sd)
(sd->frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd);
evas_object_event_callback_del_full
(sd->frame_obj, EVAS_CALLBACK_RESIZE, _elm_win_frame_obj_resize, sd);
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
evas_event_callback_del_full(sd->evas, EVAS_CALLBACK_RENDER_PRE, _elm_win_frame_pre_render, sd);
#endif
@@ -3392,7 +3395,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
else if ((disp) && (!strcmp(disp, "wl")))
{
if (_accel_is_gl())
@@ -3473,7 +3476,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
}
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
else if (!_elm_preferred_engine &&
getenv("WAYLAND_DISPLAY") && !getenv("ELM_ENGINE"))
{
@@ -3500,7 +3503,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
#ifdef HAVE_ELEMENTARY_X
enginelist[p++] = ELM_OPENGL_X11;
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
enginelist[p++] = ELM_WAYLAND_EGL;
#endif
#ifdef HAVE_ELEMENTARY_DRM
@@ -3518,7 +3521,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
#ifdef HAVE_ELEMENTARY_X
enginelist[p++] = ELM_SOFTWARE_X11;
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
enginelist[p++] = ELM_WAYLAND_SHM;
#endif
#ifdef HAVE_ELEMENTARY_WIN32
@@ -3545,7 +3548,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
#ifdef HAVE_ELEMENTARY_X
enginelist[p++] = ELM_SOFTWARE_X11;
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
enginelist[p++] = ELM_WAYLAND_SHM;
#endif
#ifdef HAVE_ELEMENTARY_DRM
@@ -3567,7 +3570,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
#ifdef HAVE_ELEMENTARY_X
enginelist[p++] = ELM_OPENGL_X11;
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
enginelist[p++] = ELM_WAYLAND_EGL;
#endif
#ifdef HAVE_ELEMENTARY_DRM
@@ -3714,7 +3717,7 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
_elm_win_wlwindow_get(sd);
#endif
@@ -5384,7 +5387,7 @@ _elm_win_xwindow_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
return 0;
}
-EAPI Ecore_Wl_Window *
+EAPI Ecore_Wl2_Window *
elm_win_wl_window_get(const Evas_Object *obj)
{
ELM_WIN_CHECK(obj) NULL;
@@ -5402,15 +5405,15 @@ elm_win_wl_window_get(const Evas_Object *obj)
return _elm_ee_wlwin_get(ee);
}
- Ecore_Wl_Window *ret = NULL;
+ Ecore_Wl2_Window *ret = NULL;
eo_do((Eo *) obj, ret = elm_obj_win_wl_window_get());
return ret;
}
-EOLIAN static Ecore_Wl_Window*
+EOLIAN static Ecore_Wl2_Window*
_elm_win_wl_window_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
{
-#if HAVE_ELEMENTARY_WAYLAND
+#if HAVE_ELEMENTARY_WL2
if (sd->wl.win) return sd->wl.win;
if (sd->parent) return elm_win_wl_window_get(sd->parent);
#else
@@ -5476,14 +5479,16 @@ _elm_win_window_id_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
((!strcmp(engine_name, ELM_WAYLAND_SHM)) ||
(!strcmp(engine_name, ELM_WAYLAND_EGL)))))
{
-#if HAVE_ELEMENTARY_WAYLAND
- if (sd->wl.win) return (Ecore_Window)ecore_wl_window_surface_id_get(sd->wl.win);
+#if HAVE_ELEMENTARY_WL2
+ if (sd->wl.win)
+ return (Ecore_Window)ecore_wl2_window_surface_id_get(sd->wl.win);
if (sd->parent)
{
- Ecore_Wl_Window *parent;
+ Ecore_Wl2_Window *parent;
parent = elm_win_wl_window_get(sd->parent);
- if (parent) return (Ecore_Window)ecore_wl_window_surface_id_get(parent);
+ if (parent)
+ return (Ecore_Window)ecore_wl2_window_surface_id_get(parent);
return 0;
}
#endif
diff --git a/src/lib/elm_win.eo b/src/lib/elm_win.eo
index 45410bb1a..c48ff3822 100644
--- a/src/lib/elm_win.eo
+++ b/src/lib/elm_win.eo
@@ -956,8 +956,8 @@ class Elm.Win (Elm.Widget, Elm_Interface_Atspi_Window,
}
@property wl_window {
get {
- [[Get the Ecore_Wl_Window of an Evas_Object.]]
- return: Ecore_Wl_Window *; [[The Ecore_Wl_Window of $obj.]]
+ [[Get the Ecore_Wl2_Window of an Evas_Object.]]
+ return: Ecore_Wl2_Window *; [[The Ecore_Wl2_Window of $obj.]]
legacy: null;
}
}
diff --git a/src/lib/elm_win_legacy.h b/src/lib/elm_win_legacy.h
index 883b3756d..22b0fec11 100644
--- a/src/lib/elm_win_legacy.h
+++ b/src/lib/elm_win_legacy.h
@@ -195,7 +195,7 @@ EAPI void elm_win_render(Evas_Object *obj);
*
* @ingroup Win
*/
-EAPI Ecore_Wl_Window *elm_win_wl_window_get(const Evas_Object *obj);
+EAPI Ecore_Wl2_Window *elm_win_wl_window_get(const Evas_Object *obj);
/**
* Set the preferred rotation value.
diff --git a/src/lib/els_cursor.c b/src/lib/els_cursor.c
index 4e6a44327..ac6ede256 100644
--- a/src/lib/els_cursor.c
+++ b/src/lib/els_cursor.c
@@ -146,9 +146,9 @@ struct _Elm_Cursor
Ecore_X_Window win;
} x;
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
struct {
- Ecore_Wl_Window *win;
+ Ecore_Wl2_Window *win;
} wl;
#endif
@@ -282,9 +282,9 @@ _elm_cursor_set(Elm_Cursor *cur)
if (cur->x.win)
ecore_x_window_cursor_set(cur->x.win, cur->x.cursor);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (cur->wl.win)
- ecore_wl_window_cursor_from_name_set(cur->wl.win, cur->cursor_name);
+ ecore_wl2_window_cursor_from_name_set(cur->wl.win, cur->cursor_name);
#endif
}
evas_event_thaw(cur->evas);
@@ -340,9 +340,9 @@ _elm_cursor_mouse_out(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_
if (cur->x.win)
ecore_x_window_cursor_set(cur->x.win, ECORE_X_CURSOR_X);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
if (cur->wl.win)
- ecore_wl_window_cursor_default_restore(cur->wl.win);
+ ecore_wl2_window_cursor_from_name_set(cur->wl.win, NULL);
#endif
}
evas_event_thaw(cur->evas);
@@ -418,7 +418,7 @@ _elm_cursor_cur_set(Elm_Cursor *cur)
cur->x.cursor = ecore_x_cursor_shape_get(cur_id->id);
}
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
cur->wl.win = elm_win_wl_window_get(top);
#endif
}
@@ -541,9 +541,9 @@ elm_object_cursor_unset(Evas_Object *obj)
else if (cur->x.win)
ecore_x_window_cursor_set(cur->x.win, ECORE_X_CURSOR_X);
#endif
-#ifdef HAVE_ELEMENTARY_WAYLAND
+#ifdef HAVE_ELEMENTARY_WL2
else if (cur->wl.win)
- ecore_wl_window_cursor_default_restore(cur->wl.win);
+ ecore_wl2_window_cursor_from_name_set(cur->wl.win, NULL);
#endif
}