aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_3d_node_callback.h
diff options
context:
space:
mode:
authorOleksandr Shcherbina <o.shcherbina@samsung.com>2015-02-18 21:43:23 +0100
committerCedric BAIL <cedric@osg.samsung.com>2015-02-18 22:42:07 +0100
commitd28b82be45451c08cb993d2f835675d8b5dcbe24 (patch)
treef45b8c07bb8f370f4e845b8f3d924ef33d8bd57e /src/lib/evas/canvas/evas_3d_node_callback.h
parentevas: Evas_3D - refactor shader system. (diff)
downloadefl-d28b82be45451c08cb993d2f835675d8b5dcbe24.tar.gz
evas: Evas_3D - callbacks for Evas 3D.
Summary: Add class and type Evas_3D_Callback like wrapper under smart object Incapsulate Evas_3D_Callback in Evas_3D_Object Add virtual function register and unregister in Evas_3D_Object Add function evas_3d_callback_call Add callbacks clicked and collision for Evas_3D_Node @feature Reviewers: raster, Hermet, cedric Reviewed By: cedric Subscribers: artem.popov, cedric Differential Revision: https://phab.enlightenment.org/D1914 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Diffstat (limited to '')
-rw-r--r--src/lib/evas/canvas/evas_3d_node_callback.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_3d_node_callback.h b/src/lib/evas/canvas/evas_3d_node_callback.h
new file mode 100644
index 0000000000..1f868dd19b
--- /dev/null
+++ b/src/lib/evas/canvas/evas_3d_node_callback.h
@@ -0,0 +1,38 @@
+/*Type of events and callbacks for object Evas_3D_Node*/
+
+#define GET_CALLBACK_TYPE(check, type) \
+ if (!(strcmp(type, "clicked"))) \
+ check = PRIVATE_CALLBACK_CLICKED; \
+ else if (!(strcmp(type, "collision"))) \
+ check = PRIVATE_CALLBACK_COLLISION; \
+ else \
+ check = PRIVATE_CALLBACK_NONE;
+
+typedef enum _Evas_3D_Node_Private_Callback_Type
+{
+ PRIVATE_CALLBACK_CLICKED = 0,
+ PRIVATE_CALLBACK_COLLISION,
+ /*Insert here new type of callback*/
+ PRIVATE_CALLBACK_NONE
+} Evas_3D_Node_Private_Callback_Type;
+
+const Eo_Event_Description evas_3d_node_private_event_desc[] =
+{
+ {"clicked,private", "private event clicked", EINA_FALSE},
+ {"collision,private", "private event collision", EINA_FALSE}
+};
+
+/*Private callbacks */
+static Eina_Bool
+_evas_3d_node_private_callback_clicked(void *data, Eo *obj, const Eo_Event_Description *desc,
+ void *event_info);
+static Eina_Bool
+_evas_3d_node_private_callback_collision(void *data, Eo *obj, const Eo_Event_Description *desc,
+ void *event_info);
+
+Eo_Event_Cb evas_3d_node_private_callback_functions[] =
+{
+ _evas_3d_node_private_callback_clicked,
+ _evas_3d_node_private_callback_collision,
+};
+