evas_event: only frame object is operated in frame area.
[platform/upstream/efl.git] / src / lib / evas / canvas / evas_events.c
index b8c4206..024ef3f 100644 (file)
@@ -157,6 +157,15 @@ _evas_event_object_list_raw_in_get_single(Evas *eo_e, Evas_Object_Protected_Data
    if (evas_event_passes_through(eo_obj, obj)) return in;
    //
 
+   //TIZEN_ONLY(20230203):evas_event: only frame object is operated in frame area.
+   int vx = 0, vy = 0, vw = 0, vh = 0;
+   int fw = 0, fh = 0;
+   evas_output_viewport_get(eo_e, &vx, &vy, &vw, &vh);
+   evas_output_framespace_get(eo_e, NULL, NULL, &fw, &fh);
+
+   if ((!RECTS_INTERSECT(x, y, 1, 1, vx, vy, vw - fw, vh - fh)) && (!obj->is_frame)) return in;
+   //
+
    if ((!obj->cur->visible) && (!obj->is_event_parent)) return in;
    // XXX: this below DYNAMICALLY calculates the current clip rect
    // by walking clippers to each parent clipper until there are