devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e9b6c5d4b78b083a5b098e072b0ec2cfd2579308
commit e9b6c5d4b78b083a5b098e072b0ec2cfd2579308 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Sep 9 12:24:30 2015 -0400 ecore-wl2: Add API function to move a window Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_wl2/Ecore_Wl2.h | 11 +++++++++++ src/lib/ecore_wl2/ecore_wl2_window.c | 22 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index e059e17..16743c1 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -283,6 +283,17 @@ EAPI void ecore_wl2_window_hide(Ecore_Wl2_Window *window); */ EAPI void ecore_wl2_window_free(Ecore_Wl2_Window *window); +/** + * Move a given Ecore_Wl2_Window + * + * @param window The Ecore_Wl2_Window which to move + * @param x Desired x position of window + * @param y Desired y position of window + * + * @ingroup Ecore_Wl2_Window_Group + */ +EAPI void ecore_wl2_window_move(Ecore_Wl2_Window *window, int x, int y); + /* # ifdef __cplusplus */ /* } */ /* # endif */ diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index 7f354f0..9b6cd13 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c @@ -299,3 +299,25 @@ ecore_wl2_window_free(Ecore_Wl2_Window *window) free(window); } + +EAPI void +ecore_wl2_window_move(Ecore_Wl2_Window *window, int x, int y) +{ + EINA_SAFETY_ON_NULL_RETURN(window); + + /* test for no-op move */ + if ((window->geometry.x == x) && (window->geometry.y == y)) + return; + + window->geometry.x = x; + window->geometry.y = y; + + /* TODO: input grab release ? */ + + /* TODO: enable once input is done */ + /* if (window->xdg_surface) */ + /* xdg_surface_move(window->xdg_surface, seat, window->display->serial); */ + /* else if (window->wl_shell_surface) */ + /* wl_shell_surface_move(window->wl_shell_surface, seat, */ + /* window->display->serial); */ +} --