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)
                     {

-- 


Reply via email to