From fc37423c2eca4a09d7f55ec65c45bceee2b569f4 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Mon, 20 Jun 2016 13:42:12 -0500 Subject: [PATCH] Add new API for finding a zone by its id string --- src/bin/e_zone.c | 17 +++++++++++++++++ src/bin/e_zone.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c index db8f3e61d..58ff43719 100644 --- a/src/bin/e_zone.c +++ b/src/bin/e_zone.c @@ -1704,3 +1704,20 @@ _e_zone_obstacle_free(E_Zone_Obstacle *obs) } free(obs); } + +E_API E_Zone * +e_zone_for_id_get(const char *id) +{ + Eina_List *l = NULL; + E_Zone *zone; + + if (!e_comp) return NULL; + + EINA_LIST_FOREACH(e_comp->zones, l, zone) + { + if (strcmp(zone->randr2_id, id) == 0) + return zone; + } + + return NULL; +} diff --git a/src/bin/e_zone.h b/src/bin/e_zone.h index 371ead13c..1741659d1 100644 --- a/src/bin/e_zone.h +++ b/src/bin/e_zone.h @@ -166,6 +166,8 @@ E_API void e_zone_fade_handle(E_Zone *zone, int out, double tim); E_API E_Zone_Obstacle *e_zone_obstacle_add(E_Zone *zone, E_Desk *desk, Eina_Rectangle *geom, Eina_Bool vertical); E_API void e_zone_obstacle_modify(E_Zone_Obstacle *obs, Eina_Rectangle *geom, Eina_Bool vertical); +E_API E_Zone *e_zone_for_id_get(const char *id); + extern E_API int E_EVENT_ZONE_DESK_COUNT_SET; extern E_API int E_EVENT_ZONE_MOVE_RESIZE; extern E_API int E_EVENT_ZONE_ADD;