From 500c76369c42fb9c1d1bcd9cb665845003eb8b5e Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Tue, 30 Oct 2012 13:36:29 +0000 Subject: [PATCH] Clouseau: Added propagate events and clipper. SVN revision: 78658 --- src/lib/Clouseau.h | 2 ++ src/lib/clouseau_data.c | 4 ++++ src/lib/clouseau_object_information.c | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/src/lib/Clouseau.h b/src/lib/Clouseau.h index d1c3486..04d474f 100644 --- a/src/lib/Clouseau.h +++ b/src/lib/Clouseau.h @@ -64,12 +64,14 @@ struct _Clouseau_Evas_Props int r, g, b, a; Eina_Bool pass_events; Eina_Bool repeat_events; + Eina_Bool propagate_events; Eina_Bool has_focus; Eina_Bool is_clipper; Eina_Bool is_visible; Evas_Object_Pointer_Mode mode; Clouseau_Evas_Map_Point_Props *points; int points_count; + unsigned long long clipper; }; struct _Clouseau_Evas_Text_Props diff --git a/src/lib/clouseau_data.c b/src/lib/clouseau_data.c index 6718fb9..09d71b2 100644 --- a/src/lib/clouseau_data.c +++ b/src/lib/clouseau_data.c @@ -518,12 +518,16 @@ _clouseau_object_desc_make(void) "evas_props.pass_events", evas_props.pass_events, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, "evas_props.repeat_events", evas_props.repeat_events, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.propagate_events", evas_props.propagate_events, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, "evas_props.has_focus", evas_props.has_focus, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, "evas_props.is_clipper", evas_props.is_clipper, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, "evas_props.is_visible", evas_props.is_visible, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, + "evas_props.clipper", evas_props.clipper, EET_T_ULONG_LONG); EET_DATA_DESCRIPTOR_ADD_BASIC(clouseau_object_edd, Clouseau_Object, "evas_props.mode", evas_props.mode, EET_T_INT); diff --git a/src/lib/clouseau_object_information.c b/src/lib/clouseau_object_information.c index 6f19be3..0d34d84 100644 --- a/src/lib/clouseau_object_information.c +++ b/src/lib/clouseau_object_information.c @@ -178,6 +178,7 @@ clouseau_object_information_get(Clouseau_Tree_Item *treeit) oinfo->evas_props.pass_events = evas_object_pass_events_get(obj); oinfo->evas_props.repeat_events = evas_object_repeat_events_get(obj); + oinfo->evas_props.propagate_events = evas_object_propagate_events_get(obj); oinfo->evas_props.has_focus = evas_object_focus_get(obj); oinfo->evas_props.is_visible = evas_object_visible_get(obj); oinfo->evas_props.name = eina_stringshare_add(evas_object_name_get(obj)); @@ -204,6 +205,7 @@ clouseau_object_information_get(Clouseau_Tree_Item *treeit) oinfo->evas_props.mode = evas_object_pointer_mode_get(obj); oinfo->evas_props.is_clipper = !!evas_object_clipees_get(obj); + oinfo->evas_props.clipper = (uintptr_t) evas_object_clip_get(obj); oinfo->evas_props.bt = eina_stringshare_ref(evas_object_data_get(obj, ".clouseau.bt")); map = evas_object_map_get(obj); @@ -517,8 +519,15 @@ clouseau_object_information_list_populate(Clouseau_Tree_Item *treeit, Evas_Objec oinfo->evas_props.pass_events); _clouseau_information_bool_to_tree(main_tit, "Repeat events", oinfo->evas_props.repeat_events); + _clouseau_information_bool_to_tree(main_tit, "Propagate events", + oinfo->evas_props.propagate_events); _clouseau_information_bool_to_tree(main_tit, "Has clipees", oinfo->evas_props.is_clipper); + if (oinfo->evas_props.clipper) + { + snprintf(buf, sizeof(buf), "%llx", oinfo->evas_props.clipper); + _clouseau_information_string_to_tree(main_tit, "Clipper", buf); + } if (oinfo->evas_props.points_count) {