forked from enlightenment/efl
edje: Add beta api for seat_data_get
Summary: Currently this is only to help wayland CSD function correctly, so the opaque pointer is very poorly defined. Depends on D6116 Reviewers: zmike, cedric Reviewed By: zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6117
This commit is contained in:
parent
be7f692ea5
commit
ad5db090ab
|
@ -2110,6 +2110,24 @@ EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj);
|
||||||
*/
|
*/
|
||||||
EAPI Eina_Bool edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene);
|
EAPI Eina_Bool edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Gets seat data passed to callbacks.
|
||||||
|
*
|
||||||
|
* @return The seat data for that callback.
|
||||||
|
*
|
||||||
|
* When a callback is initiated by an input event from a seat, we try to
|
||||||
|
* provide seat information with it.
|
||||||
|
*
|
||||||
|
* Signals fired as programmed responses to these signals will also try
|
||||||
|
* to carry the seat data along.
|
||||||
|
*
|
||||||
|
* This returns an opaque pointer to the seat data.
|
||||||
|
*
|
||||||
|
* @see edje_object_signal_callback_add() for more on Edje signals.
|
||||||
|
* @since 1.21
|
||||||
|
*/
|
||||||
|
EAPI void *edje_object_signal_callback_seat_data_get(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1593,6 +1593,7 @@ break_prog:
|
||||||
|
|
||||||
/* Extra data for callbacks */
|
/* Extra data for callbacks */
|
||||||
static void *callback_extra_data = NULL;
|
static void *callback_extra_data = NULL;
|
||||||
|
static void *callback_seat_data = NULL;
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
edje_object_signal_callback_extra_data_get(void)
|
edje_object_signal_callback_extra_data_get(void)
|
||||||
|
@ -1600,6 +1601,14 @@ edje_object_signal_callback_extra_data_get(void)
|
||||||
return callback_extra_data;
|
return callback_extra_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef EFL_BETA_API_SUPPORT
|
||||||
|
EAPI void *
|
||||||
|
edje_object_signal_callback_seat_data_get(void)
|
||||||
|
{
|
||||||
|
return callback_seat_data;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* FIXME: what if we delete the evas object??? */
|
/* FIXME: what if we delete the evas object??? */
|
||||||
static void
|
static void
|
||||||
_edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop)
|
_edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *data, Eina_Bool prop)
|
||||||
|
@ -1625,6 +1634,7 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da
|
||||||
EINA_REFCOUNT_REF(m);
|
EINA_REFCOUNT_REF(m);
|
||||||
|
|
||||||
callback_extra_data = (data) ? data->data : NULL;
|
callback_extra_data = (data) ? data->data : NULL;
|
||||||
|
callback_seat_data = (data) ? data->seat_data : NULL;
|
||||||
|
|
||||||
if (eina_inarray_count(&ssp->u.callbacks.globing))
|
if (eina_inarray_count(&ssp->u.callbacks.globing))
|
||||||
r = edje_match_callback_exec(ssp,
|
r = edje_match_callback_exec(ssp,
|
||||||
|
|
Loading…
Reference in New Issue