cedric pushed a commit to branch master.
commit 61dbbbb4512227c9ea7ebcc0fd2d4e35462ecc4d
Author: Cedric Bail <[email protected]>
Date: Thu Apr 11 18:56:52 2013 +0900
evas: let's do less useless marshalling.
---
src/lib/evas/canvas/evas_object_main.c | 107 ++++++++++++++++++---------------
1 file changed, 58 insertions(+), 49 deletions(-)
diff --git a/src/lib/evas/canvas/evas_object_main.c
b/src/lib/evas/canvas/evas_object_main.c
index ad75874..b4ec599 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -1819,95 +1819,104 @@ _dbg_info_get(Eo *eo_obj, void *_pd EINA_UNUSED,
va_list *list)
eo_do_super(eo_obj, MY_CLASS, eo_dbg_info_get(root));
Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME);
Eo_Dbg_Info *node;
-
+ const char *text = NULL;
+ double dblw, dblh;
+ double dblx, dbly;
+ double scale;
+ unsigned int m;
+ int r, g, b, a;
+ int w, h;
+ int requestw, requesth;
+ int minw, minh;
+ int maxw, maxh;
+ int x, y;
+ short layer;
+ Eina_Bool focus;
Eina_Bool visible;
- eo_do(eo_obj, evas_obj_visibility_get(&visible));
- EO_DBG_INFO_APPEND(group, "Visibility", EINA_VALUE_TYPE_CHAR, visible);
+ Eina_Bool pass_event;
+ Eina_Bool propagate_event;
+ Eina_Bool repeat_event;
+ Eina_Bool clipees_has;
+
+ eo_do(eo_obj,
+ evas_obj_visibility_get(&visible),
+ evas_obj_layer_get(&layer),
+ evas_obj_position_get(&x, &y),
+ evas_obj_size_get(&w, &h),
+ evas_obj_scale_get(&scale),
+ evas_obj_size_hint_min_get(&minw, &minh),
+ evas_obj_size_hint_max_get(&maxw, &maxh),
+ evas_obj_size_hint_request_get(&requestw, &requesth),
+ evas_obj_size_hint_align_get(&dblx, &dbly),
+ evas_obj_size_hint_weight_get(&dblw, &dblh),
+ evas_obj_color_get(&r, &g, &b, &a),
+ evas_obj_focus_get(&focus),
+ evas_obj_pointer_mode_get(&m),
+ evas_obj_pass_events_get(&pass_event),
+ evas_obj_repeat_events_get(&repeat_event),
+ evas_obj_propagate_events_get(&propagate_event),
+ evas_obj_clipees_has(&clipees_has));
- short layer;
- eo_do(eo_obj, evas_obj_layer_get(&layer));
+ EO_DBG_INFO_APPEND(group, "Visibility", EINA_VALUE_TYPE_CHAR, visible);
EO_DBG_INFO_APPEND(group, "Layer", EINA_VALUE_TYPE_INT, layer);
- int x, y;
- eo_do(eo_obj, evas_obj_position_get(&x, &y));
node = EO_DBG_INFO_LIST_APPEND(group, "Position");
EO_DBG_INFO_APPEND(node, "x", EINA_VALUE_TYPE_INT, x);
EO_DBG_INFO_APPEND(node, "y", EINA_VALUE_TYPE_INT, y);
- int w, h;
- eo_do(eo_obj, evas_obj_size_get(&w, &h));
node = EO_DBG_INFO_LIST_APPEND(group, "Size");
EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, w);
EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, h);
- double scale;
- eo_do(eo_obj, evas_obj_scale_get(&scale));
EO_DBG_INFO_APPEND(group, "Scale", EINA_VALUE_TYPE_DOUBLE, scale);
- eo_do(eo_obj, evas_obj_size_hint_min_get(&w, &h));
node = EO_DBG_INFO_LIST_APPEND(group, "Min size");
- EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, w);
- EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, h);
+ EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, minw);
+ EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, minh);
- eo_do(eo_obj, evas_obj_size_hint_max_get(&w, &h));
node = EO_DBG_INFO_LIST_APPEND(group, "Max size");
- EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, w);
- EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, h);
+ EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, maxw);
+ EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, maxh);
- eo_do(eo_obj, evas_obj_size_hint_request_get(&w, &h));
node = EO_DBG_INFO_LIST_APPEND(group, "Request size");
- EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, w);
- EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, h);
+ EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_INT, requestw);
+ EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_INT, requesth);
- double dblx, dbly;
- eo_do(eo_obj, evas_obj_size_hint_align_get(&dblx, &dbly));
node = EO_DBG_INFO_LIST_APPEND(group, "Align");
EO_DBG_INFO_APPEND(node, "x", EINA_VALUE_TYPE_DOUBLE, dblx);
EO_DBG_INFO_APPEND(node, "y", EINA_VALUE_TYPE_DOUBLE, dbly);
- double dblw, dblh;
- eo_do(eo_obj, evas_obj_size_hint_weight_get(&dblw, &dblh));
node = EO_DBG_INFO_LIST_APPEND(group, "Weight");
EO_DBG_INFO_APPEND(node, "w", EINA_VALUE_TYPE_DOUBLE, dblw);
EO_DBG_INFO_APPEND(node, "h", EINA_VALUE_TYPE_DOUBLE, dblh);
- int r, g, b, a;
- eo_do(eo_obj, evas_obj_color_get(&r, &g, &b, &a));
node = EO_DBG_INFO_LIST_APPEND(group, "Color");
EO_DBG_INFO_APPEND(node, "r", EINA_VALUE_TYPE_INT, r);
EO_DBG_INFO_APPEND(node, "g", EINA_VALUE_TYPE_INT, g);
EO_DBG_INFO_APPEND(node, "b", EINA_VALUE_TYPE_INT, b);
EO_DBG_INFO_APPEND(node, "a", EINA_VALUE_TYPE_INT, a);
- Eina_Bool focus;
- eo_do(eo_obj, evas_obj_focus_get(&focus));
EO_DBG_INFO_APPEND(group, "Has focus", EINA_VALUE_TYPE_CHAR, focus);
- unsigned int m;
- eo_do(eo_obj, evas_obj_pointer_mode_get(&m));
- const char *text = NULL;
- if (EVAS_OBJECT_POINTER_MODE_AUTOGRAB == m)
- text = "EVAS_OBJECT_POINTER_MODE_AUTOGRAB";
- if (EVAS_OBJECT_POINTER_MODE_NOGRAB == m)
- text = "EVAS_OBJECT_POINTER_MODE_NOGRAB";
- if (EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN == m)
- text = "EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN";
+ switch (m)
+ {
+ case EVAS_OBJECT_POINTER_MODE_AUTOGRAB:
+ text = "EVAS_OBJECT_POINTER_MODE_AUTOGRAB";
+ break;
+ case EVAS_OBJECT_POINTER_MODE_NOGRAB:
+ text = "EVAS_OBJECT_POINTER_MODE_NOGRAB";
+ break;
+ case EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN:
+ text = "EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN";
+ break;
+ }
if (text)
EO_DBG_INFO_APPEND(group, "Pointer Mode", EINA_VALUE_TYPE_STRING, text);
- Eina_Bool event;
- eo_do(eo_obj, evas_obj_pass_events_get(&event));
- EO_DBG_INFO_APPEND(group, "Pass Events", EINA_VALUE_TYPE_CHAR, event);
-
- eo_do(eo_obj, evas_obj_repeat_events_get(&event));
- EO_DBG_INFO_APPEND(group, "Repeat Events", EINA_VALUE_TYPE_CHAR, event);
-
- eo_do(eo_obj, evas_obj_propagate_events_get(&event));
- EO_DBG_INFO_APPEND(group, "Propagate Events", EINA_VALUE_TYPE_CHAR, event);
-
- const Eina_Bool clipees_has;
- eo_do(eo_obj, evas_obj_clipees_has(&clipees_has));
+ EO_DBG_INFO_APPEND(group, "Pass Events", EINA_VALUE_TYPE_CHAR, pass_event);
+ EO_DBG_INFO_APPEND(group, "Repeat Events", EINA_VALUE_TYPE_CHAR,
repeat_event);
+ EO_DBG_INFO_APPEND(group, "Propagate Events", EINA_VALUE_TYPE_CHAR,
propagate_event);
EO_DBG_INFO_APPEND(group, "Has clipees", EINA_VALUE_TYPE_CHAR, clipees_has);
const Evas_Map *map = evas_object_map_get(eo_obj);
--
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter