forked from enlightenment/efl
parent
d76a37172f
commit
73b6cc9ff8
|
@ -50,7 +50,8 @@ typedef enum _Evas_Callback_Type
|
||||||
EVAS_CALLBACK_MOVE, /**< Move Event */
|
EVAS_CALLBACK_MOVE, /**< Move Event */
|
||||||
EVAS_CALLBACK_RESIZE, /**< Resize Event */
|
EVAS_CALLBACK_RESIZE, /**< Resize Event */
|
||||||
EVAS_CALLBACK_RESTACK, /**< Restack Event */
|
EVAS_CALLBACK_RESTACK, /**< Restack Event */
|
||||||
EVAS_CALLBACK_DEL /**< Object Being Deleted (called before Free) */
|
EVAS_CALLBACK_DEL, /**< Object Being Deleted (called before Free) */
|
||||||
|
EVAS_CALLBACK_HOLD /**< Events go on/off hold */
|
||||||
} Evas_Callback_Type; /**< The type of event to trigger the callback */
|
} Evas_Callback_Type; /**< The type of event to trigger the callback */
|
||||||
|
|
||||||
typedef enum _Evas_Button_Flags
|
typedef enum _Evas_Button_Flags
|
||||||
|
@ -147,6 +148,7 @@ typedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move; /**< Event structur
|
||||||
typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel; /**< Event structure for #EVAS_CALLBACK_MOUSE_WHEEL event callbacks */
|
typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel; /**< Event structure for #EVAS_CALLBACK_MOUSE_WHEEL event callbacks */
|
||||||
typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down; /**< Event structure for #EVAS_CALLBACK_KEY_DOWN event callbacks */
|
typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down; /**< Event structure for #EVAS_CALLBACK_KEY_DOWN event callbacks */
|
||||||
typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up; /**< Event structure for #EVAS_CALLBACK_KEY_UP event callbacks */
|
typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up; /**< Event structure for #EVAS_CALLBACK_KEY_UP event callbacks */
|
||||||
|
typedef struct _Evas_Event_Hold Evas_Event_Hold; /**< Event structure for #EVAS_CALLBACK_HOLD event callbacks */
|
||||||
|
|
||||||
#define EVAS_LOAD_ERROR_NONE 0 /**< No error on load */
|
#define EVAS_LOAD_ERROR_NONE 0 /**< No error on load */
|
||||||
#define EVAS_LOAD_ERROR_GENERIC 1 /**< A non-specific error occured */
|
#define EVAS_LOAD_ERROR_GENERIC 1 /**< A non-specific error occured */
|
||||||
|
@ -350,6 +352,15 @@ struct _Evas_Event_Key_Up /** Key release event */
|
||||||
Evas_Event_Flags event_flags;
|
Evas_Event_Flags event_flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _Evas_Event_Hold /** Hold change event */
|
||||||
|
{
|
||||||
|
int hold; /**< The hold flag */
|
||||||
|
void *data;
|
||||||
|
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
typedef enum _Evas_Object_Pointer_Mode
|
typedef enum _Evas_Object_Pointer_Mode
|
||||||
{
|
{
|
||||||
EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */
|
EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */
|
||||||
|
@ -759,6 +770,7 @@ extern "C" {
|
||||||
EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z, unsigned int timestamp, const void *data);
|
EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z, unsigned int timestamp, const void *data);
|
||||||
EAPI void evas_event_feed_key_down (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
|
EAPI void evas_event_feed_key_down (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
|
||||||
EAPI void evas_event_feed_key_up (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
|
EAPI void evas_event_feed_key_up (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
|
||||||
|
EAPI void evas_event_feed_hold (Evas *e, int hold, unsigned int timestamp, const void *data);
|
||||||
|
|
||||||
EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus);
|
EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus);
|
||||||
EAPI Evas_Bool evas_object_focus_get (const Evas_Object *obj);
|
EAPI Evas_Bool evas_object_focus_get (const Evas_Object *obj);
|
||||||
|
|
|
@ -982,6 +982,45 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char
|
||||||
_evas_unwalk(e);
|
_evas_unwalk(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To be documented.
|
||||||
|
*
|
||||||
|
* FIXME: To be fixed.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
EAPI void
|
||||||
|
evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data)
|
||||||
|
{
|
||||||
|
Evas_List *l, *copy;
|
||||||
|
Evas_Event_Hold ev;
|
||||||
|
|
||||||
|
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||||
|
return;
|
||||||
|
MAGIC_CHECK_END();
|
||||||
|
|
||||||
|
if (e->events_frozen > 0) return;
|
||||||
|
e->last_timestamp = timestamp;
|
||||||
|
|
||||||
|
ev.hold = hold;
|
||||||
|
ev.data = (void *)data;
|
||||||
|
ev.timestamp = timestamp;
|
||||||
|
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||||
|
|
||||||
|
_evas_walk(e);
|
||||||
|
copy = evas_event_list_copy(e->pointer.object.in);
|
||||||
|
for (l = copy; l; l = l->next)
|
||||||
|
{
|
||||||
|
Evas_Object *obj;
|
||||||
|
|
||||||
|
obj = l->data;
|
||||||
|
if (e->events_frozen <= 0)
|
||||||
|
evas_object_event_callback_call(obj, EVAS_CALLBACK_HOLD, &ev);
|
||||||
|
if (e->delete_me) break;
|
||||||
|
}
|
||||||
|
if (copy) copy = evas_list_free(copy);
|
||||||
|
_evas_unwalk(e);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup Evas_Object_Event_Flags_Group Evas Object Event Flag Functions
|
* @defgroup Evas_Object_Event_Flags_Group Evas Object Event Flag Functions
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue