forked from enlightenment/efl
Ecore_Evas: Add functions for setting wayland mouse pointer (used from
elm wayland clients). SVN revision: 67816
This commit is contained in:
parent
039cd30ebd
commit
1acb7b4f9e
|
@ -697,6 +697,7 @@ EAPI Ecore_Evas *ecore_evas_wayland_shm_new(const char *disp_name, int x, in
|
|||
EAPI Ecore_Evas *ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, int frame);
|
||||
EAPI void ecore_evas_wayland_resize(Ecore_Evas *ee, int location);
|
||||
EAPI void ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source);
|
||||
EAPI void ecore_evas_wayland_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y);
|
||||
|
||||
/**
|
||||
* @brief Create a new @c Ecore_Evas canvas bound to the Evas
|
||||
|
|
|
@ -2714,6 +2714,29 @@ ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source)
|
|||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ecore_evas_wayland_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y)
|
||||
{
|
||||
if (!ee) return;
|
||||
if (!ee->engine.wl.surface) return;
|
||||
|
||||
if (!strcmp(ee->driver, "wayland_shm"))
|
||||
{
|
||||
#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
|
||||
_ecore_evas_wayland_shm_pointer_set(ee, hot_x, hot_y);
|
||||
// _ecore_evas_wayland_shm_drag_start(ee, drag_ee, source);
|
||||
#endif
|
||||
}
|
||||
else if (!strcmp(ee->driver, "wayland_egl"))
|
||||
{
|
||||
#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
|
||||
_ecore_evas_wayland_egl_pointer_set(ee, hot_x, hot_y);
|
||||
// _ecore_evas_wayland_egl_drag_start(ee, drag_ee, source);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
EAPI void
|
||||
ecore_evas_wayland_resize(Ecore_Evas *ee __UNUSED__, int location __UNUSED__)
|
||||
|
@ -2725,5 +2748,11 @@ EAPI void
|
|||
ecore_evas_wayland_drag_start(Ecore_Evas *ee __UNUSED__, Ecore_Evas *drag_ee __UNUSED__, void *source __UNUSED__)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ecore_evas_wayland_pointer_set(Ecore_Evas *ee __UNUSED__, int hot_x __UNUSED__, int hot_y __UNUSED__)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -406,11 +406,13 @@ int _ecore_evas_ews_shutdown(void);
|
|||
#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
|
||||
void _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location);
|
||||
void _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source);
|
||||
void _ecore_evas_wayland_shm_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y);
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
|
||||
void _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location);
|
||||
void _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source);
|
||||
void _ecore_evas_wayland_egl_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y);
|
||||
#endif
|
||||
|
||||
void _ecore_evas_fps_debug_init(void);
|
||||
|
|
|
@ -1042,6 +1042,17 @@ _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *so
|
|||
ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer);
|
||||
}
|
||||
|
||||
void
|
||||
_ecore_evas_wayland_egl_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y)
|
||||
{
|
||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||
|
||||
if ((!ee) || (!ee->engine.wl.surface)) return;
|
||||
wl_input_device_attach(ecore_wl_input_device_get(),
|
||||
ecore_wl_input_timestamp_get(),
|
||||
ee->engine.wl.buffer, hot_x, hot_y);
|
||||
}
|
||||
|
||||
#else
|
||||
EAPI Ecore_Evas *
|
||||
ecore_evas_wayland_egl_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__)
|
||||
|
|
|
@ -1170,6 +1170,17 @@ _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *so
|
|||
ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer);
|
||||
}
|
||||
|
||||
void
|
||||
_ecore_evas_wayland_shm_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y)
|
||||
{
|
||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||
|
||||
if ((!ee) || (!ee->engine.wl.surface)) return;
|
||||
wl_input_device_attach(ecore_wl_input_device_get(),
|
||||
ecore_wl_input_timestamp_get(),
|
||||
ee->engine.wl.buffer, hot_x, hot_y);
|
||||
}
|
||||
|
||||
#else
|
||||
EAPI Ecore_Evas *
|
||||
ecore_evas_wayland_shm_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__)
|
||||
|
|
Loading…
Reference in New Issue