From d2bb0eefc4a2eb640027334a88f0d9581bafe263 Mon Sep 17 00:00:00 2001 From: "perepelits.m" Date: Tue, 5 Jan 2016 20:39:02 +0900 Subject: [PATCH] Evas 3d: Get hash table of scenes using the given node as root. Summary: We need this to have an access to scene while running programs in edje-3d. Reviewers: cedric, raster, Hermet, jpeg Reviewed By: jpeg Subscribers: jpeg, artem.popov Differential Revision: https://phab.enlightenment.org/D3529 --- src/lib/evas/canvas/evas_canvas3d_node.c | 6 ++++++ src/lib/evas/canvas/evas_canvas3d_node.eo | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/src/lib/evas/canvas/evas_canvas3d_node.c b/src/lib/evas/canvas/evas_canvas3d_node.c index 4f0c02e35e..778b7e8e1a 100644 --- a/src/lib/evas/canvas/evas_canvas3d_node.c +++ b/src/lib/evas/canvas/evas_canvas3d_node.c @@ -760,6 +760,12 @@ evas_canvas3d_node_scene_root_del(Evas_Canvas3D_Node *node, Evas_Canvas3D_Scene eina_hash_set(pd->scenes_root, &scene, (const void *)(uintptr_t)(count - 1)); } +EOLIAN static Eina_Hash* +_evas_canvas3d_node_scene_root_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data *pd) +{ + return pd->scenes_root; +} + void evas_canvas3d_node_scene_camera_add(Evas_Canvas3D_Node *node, Evas_Canvas3D_Scene *scene) { diff --git a/src/lib/evas/canvas/evas_canvas3d_node.eo b/src/lib/evas/canvas/evas_canvas3d_node.eo index d6515db5ba..1f2fd3ddd8 100644 --- a/src/lib/evas/canvas/evas_canvas3d_node.eo +++ b/src/lib/evas/canvas/evas_canvas3d_node.eo @@ -52,6 +52,11 @@ class Evas.Canvas3D.Node (Evas.Canvas3D.Object, Evas.Common_Interface) See also @Evas.Canvas3D.Node.member_add.]] return: const(list)*; [[The list of member nodes if any or $null if there are none.]] } + scene_root_get { + [[Get hash table of scenes using this node as root.]] + + return: Eina.Hash *; [[ scenes using this node as root.]] + } position_set { [[Set the position of the given node.