summaryrefslogtreecommitdiff
path: root/src/lib/efl_wl
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-10-19 12:57:28 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-10-25 10:44:16 -0400
commite9572a653742f0e613905e47767ae116297928d3 (patch)
treeafc9397aeae32b63728e5aa0a02172621fbb1ada /src/lib/efl_wl
parentc7f9f2eef1fa344f6dadd09c9c3eaa7203b7ca92 (diff)
efl_wl: add function for returning the evas object for an extracted surface
@feature
Diffstat (limited to 'src/lib/efl_wl')
-rw-r--r--src/lib/efl_wl/Efl_Wl.h11
-rw-r--r--src/lib/efl_wl/efl_wl.c12
2 files changed, 23 insertions, 0 deletions
diff --git a/src/lib/efl_wl/Efl_Wl.h b/src/lib/efl_wl/Efl_Wl.h
index d4385d2a59..cf3de2112e 100644
--- a/src/lib/efl_wl/Efl_Wl.h
+++ b/src/lib/efl_wl/Efl_Wl.h
@@ -143,6 +143,17 @@ EAPI void *efl_wl_global_add(Evas_Object *obj, const void *interface, uint32_t v
143 * @since 1.21 143 * @since 1.21
144 */ 144 */
145EAPI Eina_Bool efl_wl_surface_extract(Evas_Object *surface); 145EAPI Eina_Bool efl_wl_surface_extract(Evas_Object *surface);
146
147/**
148 * Get the Evas_Object for an extracted wl_surface resource created by an efl_wl object
149 *
150 * @note Passing anything other than a valid wl_surface resource from an efl_wl object will guarantee a crash.
151 *
152 * @param surface_resource The wl_resource for a wl_surface
153 * @return The Evas_Object of the surface, NULL on failure
154 * @since 1.21
155 */
156EAPI Evas_Object *efl_wl_extracted_surface_object_find(void *surface_resource);
146#endif 157#endif
147 158
148#endif 159#endif
diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c
index 9eec04e916..7e76d2a765 100644
--- a/src/lib/efl_wl/efl_wl.c
+++ b/src/lib/efl_wl/efl_wl.c
@@ -5561,3 +5561,15 @@ efl_wl_surface_extract(Evas_Object *surface)
5561 evas_object_smart_member_del(surface); 5561 evas_object_smart_member_del(surface);
5562 return EINA_TRUE; 5562 return EINA_TRUE;
5563} 5563}
5564
5565Evas_Object *
5566efl_wl_extracted_surface_object_find(void *surface_resource)
5567{
5568 Comp_Surface *cs = wl_resource_get_user_data(surface_resource);
5569
5570 EINA_SAFETY_ON_NULL_RETURN_VAL(cs, NULL);
5571 EINA_SAFETY_ON_TRUE_RETURN_VAL(!cs->extracted, NULL);
5572 EINA_SAFETY_ON_TRUE_RETURN_VAL(cs->dead, NULL);
5573
5574 return cs->obj;
5575}