forked from enlightenment/efl
EPhysics: split the callback enum for body and world
Should avoid a mess in the future. SVN revision: 73179
This commit is contained in:
parent
068e1711b0
commit
eb857cbfe1
|
@ -88,42 +88,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* @enum _EPhysics_Callback_Type
|
|
||||||
* @typedef EPhysics_Callback_Type
|
|
||||||
*
|
|
||||||
* Identifier of callbacks to be set for EPhysics bodies and worlds.
|
|
||||||
*
|
|
||||||
* @see ephysics_body_event_callback_add()
|
|
||||||
* @see ephysics_world_event_callback_add()
|
|
||||||
*
|
|
||||||
* @ingroup EPhysics
|
|
||||||
*/
|
|
||||||
typedef enum _EPhysics_Callback_Type
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* The following events are only for use with EPhysics world objects, with
|
|
||||||
* @ref ephysics_world_event_callback_add():
|
|
||||||
*/
|
|
||||||
EPHYSICS_CALLBACK_WORLD_FIRST, /**< kept as sentinel, not really an event */
|
|
||||||
EPHYSICS_CALLBACK_WORLD_DEL, /**< World being deleted (called before free) */
|
|
||||||
EPHYSICS_CALLBACK_WORLD_STOPPED, /**< no objects are moving any more */
|
|
||||||
EPHYSICS_CALLBACK_WORLD_LAST, /**< kept as sentinel, not really an event */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following events are only for use with EPhysics body objects, with
|
|
||||||
* @ref ephysics_body_event_callback_add():
|
|
||||||
*/
|
|
||||||
EPHYSICS_CALLBACK_BODY_FIRST, /**< kept as sentinel, not really an event */
|
|
||||||
EPHYSICS_CALLBACK_BODY_UPDATE, /**< Body being updated */
|
|
||||||
EPHYSICS_CALLBACK_BODY_COLLISION, /**< Body collided with other body */
|
|
||||||
EPHYSICS_CALLBACK_BODY_DEL, /**< Body being deleted (called before free) */
|
|
||||||
EPHYSICS_CALLBACK_BODY_STOPPED, /**< Body is not moving any more */
|
|
||||||
EPHYSICS_CALLBACK_BODY_LAST, /**< kept as sentinel, not really an event */
|
|
||||||
|
|
||||||
EPHYSICS_CALLBACK_LAST /**< kept as sentinel, not really an event */
|
|
||||||
} EPhysics_Callback_Type; /**< The types of events triggering a callback */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize EPhysics
|
* Initialize EPhysics
|
||||||
*
|
*
|
||||||
|
@ -287,6 +251,25 @@ EAPI double ephysics_camera_zoom_get(const EPhysics_Camera *camera);
|
||||||
|
|
||||||
typedef struct _EPhysics_World EPhysics_World; /**< World handle, most basic type of EPhysics. Created with @ref ephysics_world_new() and deleted with @ref ephysics_world_del(). */
|
typedef struct _EPhysics_World EPhysics_World; /**< World handle, most basic type of EPhysics. Created with @ref ephysics_world_new() and deleted with @ref ephysics_world_del(). */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @enum _EPhysics_Callback_World_Type
|
||||||
|
* @typedef EPhysics_Callback_World_Type
|
||||||
|
*
|
||||||
|
* Identifier of callbacks to be set for EPhysics worlds.
|
||||||
|
*
|
||||||
|
* @see ephysics_world_event_callback_add()
|
||||||
|
* @see ephysics_world_event_callback_del()
|
||||||
|
* @see ephysics_world_event_callback_del_full()
|
||||||
|
*
|
||||||
|
* @ingroup EPhysics_World
|
||||||
|
*/
|
||||||
|
typedef enum _EPhysics_Callback_World_Type
|
||||||
|
{
|
||||||
|
EPHYSICS_CALLBACK_WORLD_DEL, /**< World being deleted (called before free) */
|
||||||
|
EPHYSICS_CALLBACK_WORLD_STOPPED, /**< no objects are moving any more */
|
||||||
|
EPHYSICS_CALLBACK_WORLD_LAST, /**< kept as sentinel, not really an event */
|
||||||
|
} EPhysics_Callback_World_Type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef EPhysics_World_Event_Cb
|
* @typedef EPhysics_World_Event_Cb
|
||||||
*
|
*
|
||||||
|
@ -544,7 +527,7 @@ EAPI EPhysics_Camera *ephysics_world_camera_get(const EPhysics_World *world);
|
||||||
*
|
*
|
||||||
* @ingroup EPhysics_World
|
* @ingroup EPhysics_World
|
||||||
*/
|
*/
|
||||||
EAPI void ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Callback_Type type, EPhysics_World_Event_Cb func, const void *data);
|
EAPI void ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Callback_World_Type type, EPhysics_World_Event_Cb func, const void *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
@ -565,7 +548,7 @@ EAPI void ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Call
|
||||||
*
|
*
|
||||||
* @ingroup EPhysics_World
|
* @ingroup EPhysics_World
|
||||||
*/
|
*/
|
||||||
EAPI void *ephysics_world_event_callback_del(EPhysics_World *world, EPhysics_Callback_Type type, EPhysics_World_Event_Cb func);
|
EAPI void *ephysics_world_event_callback_del(EPhysics_World *world, EPhysics_Callback_World_Type type, EPhysics_World_Event_Cb func);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
@ -587,7 +570,7 @@ EAPI void *ephysics_world_event_callback_del(EPhysics_World *world, EPhysics_Cal
|
||||||
*
|
*
|
||||||
* @ingroup EPhysics_World
|
* @ingroup EPhysics_World
|
||||||
*/
|
*/
|
||||||
EAPI void *ephysics_world_event_callback_del_full(EPhysics_World *world, EPhysics_Callback_Type type, EPhysics_World_Event_Cb func, void *data);
|
EAPI void *ephysics_world_event_callback_del_full(EPhysics_World *world, EPhysics_Callback_World_Type type, EPhysics_World_Event_Cb func, void *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
@ -668,6 +651,28 @@ EAPI double ephysics_world_linear_slop_get(EPhysics_World *world);
|
||||||
|
|
||||||
typedef struct _EPhysics_Body EPhysics_Body; /**< Body handle, represents an object on EPhysics world. Created with @ref ephysics_body_circle_add() or @ref ephysics_body_box_add() and deleted with @ref ephysics_body_del(). */
|
typedef struct _EPhysics_Body EPhysics_Body; /**< Body handle, represents an object on EPhysics world. Created with @ref ephysics_body_circle_add() or @ref ephysics_body_box_add() and deleted with @ref ephysics_body_del(). */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @enum _EPhysics_Callback_Body_Type
|
||||||
|
* @typedef EPhysics_Callback_Body_Type
|
||||||
|
*
|
||||||
|
* Identifier of callbacks to be set for EPhysics bodies.
|
||||||
|
*
|
||||||
|
* @see ephysics_body_event_callback_add()
|
||||||
|
* @see ephysics_body_event_callback_del()
|
||||||
|
* @see ephysics_body_event_callback_del_full()
|
||||||
|
*
|
||||||
|
* @ingroup EPhysics_Body
|
||||||
|
*/
|
||||||
|
typedef enum _EPhysics_Callback_Body_Type
|
||||||
|
{
|
||||||
|
EPHYSICS_CALLBACK_BODY_UPDATE, /**< Body being updated */
|
||||||
|
EPHYSICS_CALLBACK_BODY_COLLISION, /**< Body collided with other body */
|
||||||
|
EPHYSICS_CALLBACK_BODY_DEL, /**< Body being deleted (called before free) */
|
||||||
|
EPHYSICS_CALLBACK_BODY_STOPPED, /**< Body is not moving any more */
|
||||||
|
EPHYSICS_CALLBACK_BODY_LAST, /**< kept as sentinel, not really an event */
|
||||||
|
} EPhysics_Callback_Body_Type; /**< The types of events triggering a callback */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef EPhysics_Body_Event_Cb
|
* @typedef EPhysics_Body_Event_Cb
|
||||||
*
|
*
|
||||||
|
@ -1049,7 +1054,7 @@ EAPI void ephysics_body_evas_object_update(EPhysics_Body *body);
|
||||||
*
|
*
|
||||||
* @ingroup EPhysics_Body
|
* @ingroup EPhysics_Body
|
||||||
*/
|
*/
|
||||||
EAPI void ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callback_Type type, EPhysics_Body_Event_Cb func, const void *data);
|
EAPI void ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callback_Body_Type type, EPhysics_Body_Event_Cb func, const void *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
@ -1070,7 +1075,7 @@ EAPI void ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callbac
|
||||||
*
|
*
|
||||||
* @ingroup EPhysics_Body
|
* @ingroup EPhysics_Body
|
||||||
*/
|
*/
|
||||||
EAPI void *ephysics_body_event_callback_del(EPhysics_Body *body, EPhysics_Callback_Type type, EPhysics_Body_Event_Cb func);
|
EAPI void *ephysics_body_event_callback_del(EPhysics_Body *body, EPhysics_Callback_Body_Type type, EPhysics_Body_Event_Cb func);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
@ -1092,7 +1097,7 @@ EAPI void *ephysics_body_event_callback_del(EPhysics_Body *body, EPhysics_Callba
|
||||||
*
|
*
|
||||||
* @ingroup EPhysics_Body
|
* @ingroup EPhysics_Body
|
||||||
*/
|
*/
|
||||||
EAPI void *ephysics_body_event_callback_del_full(EPhysics_Body *body, EPhysics_Callback_Type type, EPhysics_Body_Event_Cb func, void *data);
|
EAPI void *ephysics_body_event_callback_del_full(EPhysics_Body *body, EPhysics_Callback_Body_Type type, EPhysics_Body_Event_Cb func, void *data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief
|
||||||
|
|
|
@ -18,7 +18,7 @@ struct _EPhysics_Body_Callback {
|
||||||
EINA_INLIST;
|
EINA_INLIST;
|
||||||
void (*func) (void *data, EPhysics_Body *body, void *event_info);
|
void (*func) (void *data, EPhysics_Body *body, void *event_info);
|
||||||
void *data;
|
void *data;
|
||||||
EPhysics_Callback_Type type;
|
EPhysics_Callback_Body_Type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _EPhysics_Body {
|
struct _EPhysics_Body {
|
||||||
|
@ -560,7 +560,7 @@ ephysics_body_evas_object_update(EPhysics_Body *body)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callback_Type type, EPhysics_Body_Event_Cb func, const void *data)
|
ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callback_Body_Type type, EPhysics_Body_Event_Cb func, const void *data)
|
||||||
{
|
{
|
||||||
EPhysics_Body_Callback *cb;
|
EPhysics_Body_Callback *cb;
|
||||||
|
|
||||||
|
@ -576,8 +576,7 @@ ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callback_Type typ
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((type <= EPHYSICS_CALLBACK_BODY_FIRST) ||
|
if ((type < 0) || (type >= EPHYSICS_CALLBACK_BODY_LAST))
|
||||||
(type >= EPHYSICS_CALLBACK_BODY_LAST))
|
|
||||||
{
|
{
|
||||||
ERR("Can't set body event callback, callback type is wrong.");
|
ERR("Can't set body event callback, callback type is wrong.");
|
||||||
return;
|
return;
|
||||||
|
@ -598,7 +597,7 @@ ephysics_body_event_callback_add(EPhysics_Body *body, EPhysics_Callback_Type typ
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
ephysics_body_event_callback_del(EPhysics_Body *body, EPhysics_Callback_Type type, EPhysics_Body_Event_Cb func)
|
ephysics_body_event_callback_del(EPhysics_Body *body, EPhysics_Callback_Body_Type type, EPhysics_Body_Event_Cb func)
|
||||||
{
|
{
|
||||||
EPhysics_Body_Callback *cb;
|
EPhysics_Body_Callback *cb;
|
||||||
void *cb_data;
|
void *cb_data;
|
||||||
|
@ -624,7 +623,7 @@ ephysics_body_event_callback_del(EPhysics_Body *body, EPhysics_Callback_Type typ
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
ephysics_body_event_callback_del_full(EPhysics_Body *body, EPhysics_Callback_Type type, EPhysics_Body_Event_Cb func, void *data)
|
ephysics_body_event_callback_del_full(EPhysics_Body *body, EPhysics_Callback_Body_Type type, EPhysics_Body_Event_Cb func, void *data)
|
||||||
{
|
{
|
||||||
EPhysics_Body_Callback *cb;
|
EPhysics_Body_Callback *cb;
|
||||||
void *cb_data;
|
void *cb_data;
|
||||||
|
|
|
@ -16,7 +16,7 @@ struct _EPhysics_World_Callback {
|
||||||
EINA_INLIST;
|
EINA_INLIST;
|
||||||
void (*func) (void *data, EPhysics_World *world, void *event_info);
|
void (*func) (void *data, EPhysics_World *world, void *event_info);
|
||||||
void *data;
|
void *data;
|
||||||
EPhysics_Callback_Type type;
|
EPhysics_Callback_World_Type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _EPhysics_World {
|
struct _EPhysics_World {
|
||||||
|
@ -529,7 +529,7 @@ ephysics_world_camera_get(const EPhysics_World *world)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Callback_Type type, EPhysics_World_Event_Cb func, const void *data)
|
ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Callback_World_Type type, EPhysics_World_Event_Cb func, const void *data)
|
||||||
{
|
{
|
||||||
EPhysics_World_Callback *cb;
|
EPhysics_World_Callback *cb;
|
||||||
|
|
||||||
|
@ -545,8 +545,7 @@ ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Callback_Type
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((type <= EPHYSICS_CALLBACK_WORLD_FIRST) ||
|
if ((type < 0) || (type >= EPHYSICS_CALLBACK_WORLD_LAST))
|
||||||
(type >= EPHYSICS_CALLBACK_WORLD_LAST))
|
|
||||||
{
|
{
|
||||||
ERR("Can't set world event callback, callback type is wrong.");
|
ERR("Can't set world event callback, callback type is wrong.");
|
||||||
return;
|
return;
|
||||||
|
@ -567,7 +566,7 @@ ephysics_world_event_callback_add(EPhysics_World *world, EPhysics_Callback_Type
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
ephysics_world_event_callback_del(EPhysics_World *world, EPhysics_Callback_Type type, EPhysics_World_Event_Cb func)
|
ephysics_world_event_callback_del(EPhysics_World *world, EPhysics_Callback_World_Type type, EPhysics_World_Event_Cb func)
|
||||||
{
|
{
|
||||||
EPhysics_World_Callback *cb;
|
EPhysics_World_Callback *cb;
|
||||||
void *cb_data;
|
void *cb_data;
|
||||||
|
@ -593,7 +592,7 @@ ephysics_world_event_callback_del(EPhysics_World *world, EPhysics_Callback_Type
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
ephysics_world_event_callback_del_full(EPhysics_World *world, EPhysics_Callback_Type type, EPhysics_World_Event_Cb func, void *data)
|
ephysics_world_event_callback_del_full(EPhysics_World *world, EPhysics_Callback_World_Type type, EPhysics_World_Event_Cb func, void *data)
|
||||||
{
|
{
|
||||||
EPhysics_World_Callback *cb;
|
EPhysics_World_Callback *cb;
|
||||||
void *cb_data;
|
void *cb_data;
|
||||||
|
|
Loading…
Reference in New Issue