jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6e8e5e89b594670cbce979b272697c87108f39da
commit 6e8e5e89b594670cbce979b272697c87108f39da Author: Jaeun Choi <jaeun12.c...@samsung.com> Date: Thu Nov 13 10:50:00 2014 +0900 Evas masking: Implement event masking support In case the clipper is a mask object, we should use precise event masking. By default precise_is_inside is not enabled because it is expensive, but it should probably be set by the application when they use masks as clippers. Signed-off-by: Jean-Philippe Andre <jp.an...@samsung.com> --- src/lib/evas/canvas/evas_events.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c index 56ae091..39811c4 100644 --- a/src/lib/evas/canvas/evas_events.c +++ b/src/lib/evas/canvas/evas_events.c @@ -122,7 +122,11 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List *in, } else { - inside = evas_object_is_in_output_rect(eo_obj, obj, x, y, 1, 1); + Evas_Object_Protected_Data *clip = obj->cur->clipper; + if (clip && clip->mask->is_mask && clip->precise_is_inside) + inside = evas_object_is_inside(clip->object, clip, x, y); + else + inside = evas_object_is_in_output_rect(eo_obj, obj, x, y, 1, 1); if (inside) { --