summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-11-16 14:21:15 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-11-16 14:21:15 +0000
commit42d8e3b07bda1986bde90cf0a97974a96e9f4e01 (patch)
treee5288c86b6d09bbef071c84e077800704d85d5d5
parent60324a7b2c58eb9e4fd177022dc162c8659e816a (diff)
downloadenlightenment-42d8e3b07bda1986bde90cf0a97974a96e9f4e01.tar.gz
pointer - use the swallowed obj geom as that is what we are tracking
-rw-r--r--src/bin/e_pointer.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c
index 3b5a218646..c27a44d293 100644
--- a/src/bin/e_pointer.c
+++ b/src/bin/e_pointer.c
@@ -217,7 +217,7 @@ _e_pointer_cb_mouse_wheel(void *data EINA_UNUSED, int type EINA_UNUSED, void *ev
return ECORE_CALLBACK_PASS_ON;
}
-static void
+static void
_e_pointer_cb_hot_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
{
E_Pointer *ptr = data;
@@ -225,20 +225,20 @@ _e_pointer_cb_hot_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA
if (!ptr->e_cursor) return;
if (!evas_object_visible_get(ptr->o_ptr)) return;
- edje_object_part_geometry_get(ptr->o_ptr, "e.swallow.hotspot",
- &x, &y, NULL, NULL);
+ evas_object_geometry_get(ptr->buffer_o_hot,
+ &x, &y, NULL, NULL);
_e_pointer_hot_update(ptr, x, y);
}
-static void
+static void
_e_pointer_cb_hot_show(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED)
{
E_Pointer *ptr = data;
int x = 0, y = 0;
if (!ptr->e_cursor) return;
- edje_object_part_geometry_get(ptr->o_ptr, "e.swallow.hotspot",
- &x, &y, NULL, NULL);
+ evas_object_geometry_get(ptr->buffer_o_hot,
+ &x, &y, NULL, NULL);
_e_pointer_hot_update(ptr, x, y);
}
@@ -465,6 +465,7 @@ _e_pointer_type_set(E_Pointer *ptr, const char *type)
/* try to set the edje object theme */
if (!e_theme_edje_object_set(ptr->o_ptr, "base/theme/pointer", cursor))
cursor[0] = 0;
+ edje_object_part_swallow(ptr->o_ptr, "e.swallow.hotspot", ptr->o_hot);
if (!init)
{
edje_object_signal_emit(ptr->o_ptr, "e,state,init", "e");
@@ -474,8 +475,8 @@ _e_pointer_type_set(E_Pointer *ptr, const char *type)
_e_pointer_x11_setup(ptr, cursor);
if (!cursor[0]) return;
- edje_object_part_geometry_get(ptr->o_ptr, "e.swallow.hotspot",
- &x, &y, NULL, NULL);
+ evas_object_geometry_get(ptr->buffer_o_hot,
+ &x, &y, NULL, NULL);
_e_pointer_hot_update(ptr, x, y);
if (ptr->canvas)