From 6cbf9fa01ad6d09018a2dcfa8a8c46fc5f267f18 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Thu, 1 Mar 2012 13:43:41 +0000 Subject: [PATCH] Ecore_Wayland: Add ecore_wl_pointer_xy_get function. SVN revision: 68576 --- legacy/ecore/src/lib/ecore_wayland/Ecore_Wayland.h | 5 +++-- legacy/ecore/src/lib/ecore_wayland/ecore_wl.c | 13 +++++++++++++ .../ecore/src/lib/ecore_wayland/ecore_wl_private.h | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_wayland/Ecore_Wayland.h b/legacy/ecore/src/lib/ecore_wayland/Ecore_Wayland.h index 7e9433350d..dcfa477f63 100644 --- a/legacy/ecore/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/legacy/ecore/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/legacy/ecore/src/lib/ecore_wayland/ecore_wl.c b/legacy/ecore/src/lib/ecore_wayland/ecore_wl.c index 308fdeea69..a3ad251689 100644 --- a/legacy/ecore/src/lib/ecore_wayland/ecore_wl.c +++ b/legacy/ecore/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/legacy/ecore/src/lib/ecore_wayland/ecore_wl_private.h b/legacy/ecore/src/lib/ecore_wayland/ecore_wl_private.h index 63d99f6f69..a1dc24fa60 100644 --- a/legacy/ecore/src/lib/ecore_wayland/ecore_wl_private.h +++ b/legacy/ecore/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