aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_main.c
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/canvas/evas_main.c
parentEvas: Properly set the device under legacy events. (diff)
downloadefl-0e53b9a8ac92041de40244a597087d77611b92f2.tar.gz
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/canvas/evas_main.c')
-rw-r--r--src/lib/evas/canvas/evas_main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index 8155bc8e97..822b387d22 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -212,6 +212,8 @@ _evas_canvas_efl_object_constructor(Eo *eo_obj, Evas_Public_Data *e)
_evas_canvas_event_init(eo_obj, e);
+ e->focused_objects = eina_hash_pointer_new(NULL);
+
return eo_obj;
}
@@ -342,6 +344,7 @@ _evas_canvas_efl_object_destructor(Eo *eo_e, Evas_Public_Data *e)
eina_array_flush(&e->image_unref_queue);
eina_array_flush(&e->glyph_unref_queue);
eina_array_flush(&e->texts_unref_queue);
+ eina_hash_free(e->focused_objects);
EINA_LIST_FREE(e->touch_points, touch_point)
free(touch_point);