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);
|
||||
|
||||
/**
|
||||
* @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
|
||||
|
||||
/**
|
||||
|
|
|
@ -1593,6 +1593,7 @@ break_prog:
|
|||
|
||||
/* Extra data for callbacks */
|
||||
static void *callback_extra_data = NULL;
|
||||
static void *callback_seat_data = NULL;
|
||||
|
||||
EAPI 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;
|
||||
}
|
||||
|
||||
#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??? */
|
||||
static void
|
||||
_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);
|
||||
|
||||
callback_extra_data = (data) ? data->data : NULL;
|
||||
callback_seat_data = (data) ? data->seat_data : NULL;
|
||||
|
||||
if (eina_inarray_count(&ssp->u.callbacks.globing))
|
||||
r = edje_match_callback_exec(ssp,
|
||||
|
|
Loading…
Reference in New Issue