summaryrefslogtreecommitdiff
path: root/src/lib/evas/include/evas_private.h
diff options
context:
space:
mode:
authorGuilherme Iscaro <iscaro@profusion.mobi>2016-10-19 11:02:18 -0200
committerBruno Dilly <bdilly@profusion.mobi>2016-11-08 17:54:34 -0200
commit0e53b9a8ac92041de40244a597087d77611b92f2 (patch)
tree9525053a9ba47f30508d8b71cf8ffbe7a4aeca87 /src/lib/evas/include/evas_private.h
parentadd589c1b4fb6dcdea2f3e8ae29a5e6516cc43fb (diff)
Evas: Add support for multiple focused objects.
Using the multi-seat support, Evas is able to handle multiple focused objects. This implementation allows one focused object per seat. This patch introduces new APIs and events to handle this new scenario, while keeping compatible with the old focus APIs.
Diffstat (limited to 'src/lib/evas/include/evas_private.h')
-rw-r--r--src/lib/evas/include/evas_private.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index dcbcbecf4e..bb24435567 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -889,7 +889,7 @@ struct _Evas_Public_Data
889 int in_smart_calc; 889 int in_smart_calc;
890 int smart_calc_count; 890 int smart_calc_count;
891 891
892 Evas_Object *focused; 892 Eina_Hash *focused_objects; //Key - seat; value - the focused object
893 void *attach_data; 893 void *attach_data;
894 Evas_Modifier modifiers; 894 Evas_Modifier modifiers;
895 Evas_Lock locks; 895 Evas_Lock locks;
@@ -1109,6 +1109,7 @@ struct _Evas_Object_Protected_Data
1109 const Evas_Object_Map_Data *map; 1109 const Evas_Object_Map_Data *map;
1110 const Evas_Object_3D_Data *data_3d; 1110 const Evas_Object_3D_Data *data_3d;
1111 const Evas_Object_Mask_Data *mask; 1111 const Evas_Object_Mask_Data *mask;
1112 Eina_List *focused_by_seats;
1112 1113
1113 // Pointer to the Evas_Object itself 1114 // Pointer to the Evas_Object itself
1114 Evas_Object *object; 1115 Evas_Object *object;
@@ -1158,7 +1159,6 @@ struct _Evas_Object_Protected_Data
1158 Eina_Bool rect_del : 1; 1159 Eina_Bool rect_del : 1;
1159 Eina_Bool mouse_in : 1; 1160 Eina_Bool mouse_in : 1;
1160 Eina_Bool pre_render_done : 1; 1161 Eina_Bool pre_render_done : 1;
1161 Eina_Bool focused : 1;
1162 Eina_Bool in_layer : 1; 1162 Eina_Bool in_layer : 1;
1163 1163
1164 Eina_Bool no_propagate : 1; 1164 Eina_Bool no_propagate : 1;
@@ -1715,6 +1715,7 @@ void _canvas_font_cache_flush(Eo *e, void *_pd, va_list *list);
1715void _canvas_font_cache_set(Eo *e, void *_pd, va_list *list); 1715void _canvas_font_cache_set(Eo *e, void *_pd, va_list *list);
1716void _canvas_font_cache_get(Eo *e, void *_pd, va_list *list); 1716void _canvas_font_cache_get(Eo *e, void *_pd, va_list *list);
1717void _canvas_font_available_list(Eo *e, void *_pd, va_list *list); 1717void _canvas_font_available_list(Eo *e, void *_pd, va_list *list);
1718void _evas_focus_device_del_cb(void *data, const Efl_Event *ev);
1718 1719
1719void _canvas_key_modifier_get(Eo *e, void *_pd, va_list *list); 1720void _canvas_key_modifier_get(Eo *e, void *_pd, va_list *list);
1720void _canvas_key_lock_get(Eo *e, void *_pd, va_list *list); 1721void _canvas_key_lock_get(Eo *e, void *_pd, va_list *list);