From d4b616e87b5c056d639715205a34cb894656010f Mon Sep 17 00:00:00 2001 From: devilhorns Date: Thu, 1 Mar 2012 13:43:41 +0000 Subject: [PATCH] Ecore_Wayland: Add ecore_wl_pointer_xy_get function. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@68576 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_wayland/Ecore_Wayland.h | 5 +++-- src/lib/ecore_wayland/ecore_wl.c | 13 +++++++++++++ src/lib/ecore_wayland/ecore_wl_private.h | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h b/src/lib/ecore_wayland/Ecore_Wayland.h index 7e94333..dcfa477 100644 --- a/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/src/lib/ecore_wayland/Ecore_Wayland.h @@ -149,8 +149,8 @@ struct _Ecore_Wl_Window Eina_Rectangle allocation, pending_allocation; Eina_Rectangle saved_allocation, server_allocation; - Eina_Bool redraw_scheduled : 1; - Eina_Bool resize_scheduled : 1; + /* Eina_Bool redraw_scheduled : 1; */ + /* Eina_Bool resize_scheduled : 1; */ Eina_Bool transparent : 1; Ecore_Wl_Window_Type type; @@ -275,6 +275,7 @@ EAPI void ecore_wl_sync(void); EAPI struct wl_shm *ecore_wl_shm_get(void); EAPI struct wl_display *ecore_wl_display_get(void); EAPI void ecore_wl_screen_size_get(int *w, int *h); +EAPI void ecore_wl_pointer_xy_get(Ecore_Wl_Window *win, int *x, int *y); EAPI Ecore_Wl_Window *ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, int w, int h, int buffer_type); EAPI void ecore_wl_window_free(Ecore_Wl_Window *win); diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c index 308fdee..a3ad251 100644 --- a/src/lib/ecore_wayland/ecore_wl.c +++ b/src/lib/ecore_wayland/ecore_wl.c @@ -309,6 +309,19 @@ ecore_wl_screen_size_get(int *w, int *h) if (h) *h = _ecore_wl_disp->output->allocation.h; } +/* @since 1.2 */ +EAPI void +ecore_wl_pointer_xy_get(Ecore_Wl_Window *win, int *x, int *y) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (x) *x = 0; + if (y) *y = 0; + if ((!win) || (!win->pointer_device)) return; + if (x) *x = win->pointer_device->sx; + if (y) *y = win->pointer_device->sy; +} + /* local functions */ static Eina_Bool _ecore_wl_shutdown(Eina_Bool close) diff --git a/src/lib/ecore_wayland/ecore_wl_private.h b/src/lib/ecore_wayland/ecore_wl_private.h index 63d99f6..a1dc24f 100644 --- a/src/lib/ecore_wayland/ecore_wl_private.h +++ b/src/lib/ecore_wayland/ecore_wl_private.h @@ -6,7 +6,7 @@ # include "Ecore_Wayland.h" -# define LOGFNS 1 +//# define LOGFNS 1 # ifdef LOGFNS # include -- 2.7.4