From a427ed3e82876494eb4f7e77f116d7f498cfbe22 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 20 Jul 2012 08:54:14 +0000 Subject: [PATCH] add e_util_size_debug_set() to allow easier size debugging of objects in e SVN revision: 74221 --- src/bin/e_utils.c | 23 +++++++++++++++++++++++ src/bin/e_utils.h | 1 + 2 files changed, 24 insertions(+) diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c index 48e24409c..c39618560 100644 --- a/src/bin/e_utils.c +++ b/src/bin/e_utils.c @@ -1795,3 +1795,26 @@ e_util_time_str_get(long int seconds) } return buf; } + +static void +_e_util_size_debug(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +{ + int x, y, w, h; + evas_object_geometry_get(obj, &x, &y, &w, &h); + fprintf(stderr, "OBJ[%p]: (%d,%d) - %dx%d\n", obj, x, y, w, h); +} + +EAPI void +e_util_size_debug_set(Evas_Object *obj, Eina_Bool enable) +{ + if (enable) + { + evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, _e_util_size_debug, NULL); + evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _e_util_size_debug, NULL); + } + else + { + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOVE, _e_util_size_debug, NULL); + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_RESIZE, _e_util_size_debug, NULL); + } +} diff --git a/src/bin/e_utils.h b/src/bin/e_utils.h index c7786a4aa..7eb366f8f 100644 --- a/src/bin/e_utils.h +++ b/src/bin/e_utils.h @@ -82,5 +82,6 @@ EAPI int e_util_container_desk_count_get(E_Container *con); EAPI Eina_Bool e_util_fullscreen_curreny_any(void); EAPI Eina_Bool e_util_fullscreen_any(void); EAPI const char *e_util_time_str_get(long int seconds); +EAPI void e_util_size_debug_set(Evas_Object *obj, Eina_Bool enable); #endif #endif