Functions to tell Evas that input events happened and should be processed. More...
Functions | |
EVAS_API Evas_Device * | evas_device_add (Evas *e) |
Add a new device type. More... | |
EVAS_API Evas_Device * | evas_device_add_full (Evas *e, const char *name, const char *desc, Evas_Device *parent_dev, Evas_Device *emulation_dev, Evas_Device_Class clas, Evas_Device_Subclass sub_class) |
Add a new device type. More... | |
EVAS_API void | evas_device_del (Evas_Device *dev) |
Delete a new device type. More... | |
EVAS_API void | evas_device_push (Evas *e, Evas_Device *dev) |
Push the current context device onto the device stack. More... | |
EVAS_API void | evas_device_pop (Evas *e) |
This pops the top of the device stack for the canvas. More... | |
EVAS_API const Eina_List * | evas_device_list (Evas *e, const Evas_Device *dev) |
List all current devices attached to the given canvas and/or device. More... | |
EVAS_API Evas_Device * | evas_device_get (Evas *e, const char *name) |
Get a device by its name. More... | |
EVAS_API Evas_Device * | evas_device_get_by_seat_id (Evas *eo_e, unsigned int id) |
Get a device by its seat id. More... | |
EVAS_API void | evas_device_name_set (Evas_Device *dev, const char *name) |
Set the name of a device as a string. More... | |
EVAS_API const char * | evas_device_name_get (const Evas_Device *dev) |
Get the name of a device. More... | |
EVAS_API void | evas_device_seat_id_set (Evas_Device *dev, unsigned int id) |
Set the seat id of a device. More... | |
EVAS_API unsigned int | evas_device_seat_id_get (const Evas_Device *dev) |
Get the seat id of a device. More... | |
EVAS_API void | evas_device_description_set (Evas_Device *dev, const char *desc) |
Set the description of a device as a string. More... | |
EVAS_API const char * | evas_device_description_get (const Evas_Device *dev) |
Get the description of a device. More... | |
EVAS_API void | evas_device_parent_set (Evas_Device *dev, Evas_Device *parent) EINA_DEPRECATED |
Set the parent of a device. More... | |
EVAS_API const Evas_Device * | evas_device_parent_get (const Evas_Device *dev) |
Get the parent of a device. More... | |
EVAS_API void | evas_device_class_set (Evas_Device *dev, Evas_Device_Class clas) EINA_DEPRECATED |
Set the major class of device. More... | |
EVAS_API Evas_Device_Class | evas_device_class_get (const Evas_Device *dev) |
Get the major class of a device. More... | |
EVAS_API void | evas_device_subclass_set (Evas_Device *dev, Evas_Device_Subclass clas) |
Set the sub-class of a device. More... | |
EVAS_API Evas_Device_Subclass | evas_device_subclass_get (const Evas_Device *dev) |
Get the device sub-class. More... | |
EVAS_API void | evas_device_emulation_source_set (Evas_Device *dev, Evas_Device *src) |
Set the emulation source device. More... | |
EVAS_API const Evas_Device * | evas_device_emulation_source_get (const Evas_Device *dev) |
Get the emulation source device. More... | |
EVAS_API void | evas_event_freeze (Evas *e) |
Freeze all input events processing. More... | |
EVAS_API void | evas_event_thaw (Evas *e) |
Thaw a canvas out after freezing (for input events). More... | |
EVAS_API int | evas_event_freeze_get (const Evas *e) |
Return the freeze count on input events of a given canvas. More... | |
EVAS_API void | evas_event_thaw_eval (Evas *e) |
After thaw of a canvas, re-evaluate the state of objects and call callbacks. More... | |
EVAS_API void | evas_event_feed_mouse_move (Evas *obj, int x, int y, unsigned int timestamp, const void *data) |
Mouse move event feed. More... | |
EVAS_API void | evas_event_input_mouse_move (Evas *obj, int x, int y, unsigned int timestamp, const void *data) |
Mouse move event feed from input. More... | |
EVAS_API void | evas_event_feed_mouse_up (Evas *obj, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) |
Mouse up event feed. More... | |
EVAS_API void | evas_event_feed_mouse_down (Evas *obj, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) |
Mouse down event feed. More... | |
EVAS_API void | evas_event_feed_mouse_wheel (Evas *obj, int direction, int z, unsigned int timestamp, const void *data) |
Mouse wheel event feed. More... | |
EVAS_API void | evas_event_feed_mouse_in (Evas *obj, unsigned int timestamp, const void *data) |
Mouse in event feed. More... | |
EVAS_API void | evas_event_feed_mouse_out (Evas *obj, unsigned int timestamp, const void *data) |
Mouse out event feed. More... | |
EVAS_API void | evas_event_feed_mouse_cancel (Evas *obj, unsigned int timestamp, const void *data) |
Mouse cancel event feed. More... | |
EVAS_API void | evas_event_input_multi_down (Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data) |
EVAS_API void | evas_event_input_multi_move (Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data) |
EVAS_API void | evas_event_input_multi_up (Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data) |
EVAS_API void | evas_event_feed_multi_down (Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data) |
EVAS_API void | evas_event_feed_multi_move (Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data) |
EVAS_API void | evas_event_feed_multi_up (Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data) |
EVAS_API void | evas_event_feed_key_down (Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) |
Key down event feed. More... | |
EVAS_API void | evas_event_feed_key_up (Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) |
Key up event feed. More... | |
EVAS_API void | evas_event_feed_key_down_with_keycode (Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode) |
Key down event feed with keycode. More... | |
EVAS_API void | evas_event_feed_key_up_with_keycode (Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode) |
Key up event feed with keycode. More... | |
EVAS_API void | evas_event_feed_axis_update (Evas *obj, unsigned int timestamp, int device, int toolid, int naxes, const Evas_Axis *axis, const void *data) |
Input device axis update event feed. More... | |
EVAS_API void | evas_event_feed_hold (Evas *obj, int hold, unsigned int timestamp, const void *data) |
Hold event feed. More... | |
EVAS_API void | evas_event_refeed_event (Evas *obj, void *event_copy, Evas_Callback_Type event_type) |
Re feed event. More... | |
Functions to tell Evas that input events happened and should be processed.
As explained in intro_not_evas, Evas does not know how to poll for input events, so the developer should do it and then feed such events to the canvas to be processed. This is only required if operating Evas directly. Modules such as Ecore_Evas do that for you.
Some of the functions in this group are exemplified here.
EVAS_API Evas_Device * evas_device_add | ( | Evas * | e | ) |
Add a new device type.
e | The canvas to create the device node for. |
Adds a new device node to the given canvas e
. All devices created as part of the canvas e
will automatically be deleted when the canvas is freed.
References evas_device_add_full(), EVAS_DEVICE_CLASS_NONE, and EVAS_DEVICE_SUBCLASS_NONE.
EVAS_API Evas_Device * evas_device_add_full | ( | Evas * | e, |
const char * | name, | ||
const char * | desc, | ||
Evas_Device * | parent_dev, | ||
Evas_Device * | emulation_dev, | ||
Evas_Device_Class | clas, | ||
Evas_Device_Subclass | sub_class | ||
) |
Add a new device type.
e | The canvas to create the device node for. |
name | The name of the device. |
desc | The description of the device. |
parent_dev | The parent device. |
emulation_dev | The source device. |
clas | The device class. |
sub_class | The device subclass. |
Adds a new device node to the given canvas e
. All devices created as part of the canvas e
will automatically be deleted when the canvas is freed.
References EINA_INLIST_FOREACH, eina_list_append(), EVAS_CALLBACK_DEVICE_CHANGED, EVAS_CANVAS_CLASS, evas_device_class_get(), EVAS_DEVICE_CLASS_KEYBOARD, EVAS_DEVICE_CLASS_MOUSE, EVAS_DEVICE_CLASS_SEAT, evas_event_feed_mouse_in(), evas_event_feed_mouse_move(), evas_event_feed_mouse_out(), and evas_object_focus_set().
Referenced by evas_device_add(), and evas_output_method_set().
EVAS_API void evas_device_del | ( | Evas_Device * | dev | ) |
Delete a new device type.
dev | The device node you want to delete. |
EVAS_API void evas_device_push | ( | Evas * | e, |
Evas_Device * | dev | ||
) |
Push the current context device onto the device stack.
e | The canvas to push the device on to |
dev | The device to push. |
This pushes the given device dev
onto the stack for the canvas e
resulting in the dev pointer in all events that get fed to the canvas being the device at the top of the device stack for that canvas.
If a device is pushed onto the device stack, it will not be deleted until a canvas free OR until it has been popped from the stack even if evas_device_del() is called.
The device dev
must have been created as a device for the canvas it is pushed onto (and not another canvas).
Example:
References eina_array_new(), eina_array_push(), and EVAS_CANVAS_CLASS.
EVAS_API void evas_device_pop | ( | Evas * | e | ) |
This pops the top of the device stack for the canvas.
e | The canvas to pop the device stack from |
This pops the top of the device stack making the current device context used for device events being what is now at the top of the stack after popping.
References eina_array_pop(), and EVAS_CANVAS_CLASS.
EVAS_API const Eina_List * evas_device_list | ( | Evas * | e, |
const Evas_Device * | dev | ||
) |
List all current devices attached to the given canvas and/or device.
e | The canvas to query for a device list |
dev | A specific device inside the canvas to query for child devices or NULL if just querying the base canvas devices |
This will list all devices belonging to a specific evas canvas e
, at the top-level in the device tree if dev
passed in is NULL. If dev
is a valid device for the given canvas e
, then a list of child devices of dev
will be returned, allowing you to walk the device tree.
The list returned is only valid so long as no changes are made to the device tree in the given canvas e
. If there are no devices or children then NULL is returned.
References EVAS_CANVAS_CLASS.
EVAS_API Evas_Device * evas_device_get | ( | Evas * | e, |
const char * | name | ||
) |
Get a device by its name.
e | The canvas to find the device on |
name | The name of the device. |
Gets the first occurrence of a device named as name
on Evas e
list of devices.
EVAS_API Evas_Device * evas_device_get_by_seat_id | ( | Evas * | eo_e, |
unsigned int | id | ||
) |
Get a device by its seat id.
eo_e | The canvas to find the device on |
id | The seat id of the device. |
Gets the device with id id
on Evas e
list of devices.
EVAS_API void evas_device_name_set | ( | Evas_Device * | dev, |
const char * | name | ||
) |
Set the name of a device as a string.
dev
The device to set the name of name
The name string as a readable C UTF8 string
References EVAS_CALLBACK_DEVICE_CHANGED.
EVAS_API const char * evas_device_name_get | ( | const Evas_Device * | dev | ) |
Get the name of a device.
dev
The device to query
This gets the name set by evas_device_name_set(). This is a readable UTF8 C string, or NULL if no name is set.
The name should be a short name like "Wireless Mouse", "Joystick", "Finger", "Keyboard" or "Numberpad" etc.
Referenced by ecore_imf_evas_event_key_down_wrap(), and ecore_imf_evas_event_key_up_wrap().
EVAS_API void evas_device_seat_id_set | ( | Evas_Device * | dev, |
unsigned int | id | ||
) |
Set the seat id of a device.
dev
The device to set the seat id of name
The seat id
Referenced by evas_output_method_set().
EVAS_API unsigned int evas_device_seat_id_get | ( | const Evas_Device * | dev | ) |
Get the seat id of a device.
dev
The device to query
This gets the seat id set by evas_device_seat id_set().
A seat id is the hardware id of the seat.
EVAS_API void evas_device_description_set | ( | Evas_Device * | dev, |
const char * | desc | ||
) |
Set the description of a device as a string.
dev
The device to set the description of name
The description string as a readable C UTF8 string
References EVAS_CALLBACK_DEVICE_CHANGED.
EVAS_API const char * evas_device_description_get | ( | const Evas_Device * | dev | ) |
Get the description of a device.
dev
The device to query
This gets the description set by evas_device_description_set(). This is a readable UTF8 C string, or NULL if no description is set.
A description is meant to be a longer string describing the device so a human may make sense of it. For example "Wireless 6 button mouse in Black with red buttons" would be a good description, so a user may identify precisely which device is being talked about.
EVAS_API void evas_device_parent_set | ( | Evas_Device * | dev, |
Evas_Device * | parent | ||
) |
Set the parent of a device.
dev
The device to set the parent of parent
The new parent device
This sets the parent of a device dev
to the parent given by parent
. If the device already has a parent, it is removed from that parent's list. If parent
is NULL then the device is unparented and placed back as a root device in the canvas.
When a device is deleted with evas_device_del(), all children are also deleted along with it.
References ERR.
EVAS_API const Evas_Device * evas_device_parent_get | ( | const Evas_Device * | dev | ) |
Get the parent of a device.
dev | The device to query |
This returns the parent device of any given device entry, or NULL if no parent device exists (is a toplevel device).
EVAS_API void evas_device_class_set | ( | Evas_Device * | dev, |
Evas_Device_Class | clas | ||
) |
Set the major class of device.
dev | The device whose class to set |
clas | The class to set it to |
This sets the "primary" class of device (a broad thing like mouse, keyboard, touch, pen etc.).
References EINA_FALSE, EINA_SAFETY_ON_TRUE_RETURN, EVAS_CALLBACK_DEVICE_CHANGED, and EVAS_CANVAS_CLASS.
EVAS_API Evas_Device_Class evas_device_class_get | ( | const Evas_Device * | dev | ) |
Get the major class of a device.
dev | The devise to query |
This gets the device class set by evas_device_class_set().
Referenced by ecore_imf_evas_event_key_down_wrap(), ecore_imf_evas_event_key_up_wrap(), and evas_device_add_full().
EVAS_API void evas_device_subclass_set | ( | Evas_Device * | dev, |
Evas_Device_Subclass | clas | ||
) |
Set the sub-class of a device.
dev | The device to modify |
clas | The sub-class to set |
This sets the sub-class of a device, giving much more detailed usage within a broader category.
References EVAS_CALLBACK_DEVICE_CHANGED.
EVAS_API Evas_Device_Subclass evas_device_subclass_get | ( | const Evas_Device * | dev | ) |
Get the device sub-class.
dev | The device to query |
Referenced by ecore_imf_evas_event_key_down_wrap(), and ecore_imf_evas_event_key_up_wrap().
EVAS_API void evas_device_emulation_source_set | ( | Evas_Device * | dev, |
Evas_Device * | src | ||
) |
Set the emulation source device.
dev | The device being emulated |
src | The primary source device producing events in the emulated device |
Devices may not be real, but may be emulated by listening to input on other devices and modifying or interpeting it to generate output on an emulated device (example a finger on a touchscreen will often emulate a mouse when it presses). This allows you to set which device primarily emulates dev
so the user can choose to ignore events from emulated devices if they also pay attention to source device events for example.
References EVAS_CALLBACK_DEVICE_CHANGED.
EVAS_API const Evas_Device * evas_device_emulation_source_get | ( | const Evas_Device * | dev | ) |
Get the emulation source device.
dev | The device to query |
EVAS_API void evas_event_freeze | ( | Evas * | e | ) |
Freeze all input events processing.
e | The canvas to freeze input events processing on. |
This function will indicate to Evas that the canvas e
is to have all input event processing frozen until a matching evas_event_thaw() function is called on the same canvas. All events of this kind during the freeze will get discarded. Every freeze call must be matched by a thaw call in order to completely thaw out a canvas (i.e. these calls may be nested). The most common use is when you don't want the user to interact with your user interface when you're populating a view or changing the layout.
Example:
See the full example.
If you run that example, you'll see the canvas ignoring all input events for 3 seconds, when the "f" key is pressed. In a more realistic code we would be freezing while a toolkit or Edje was doing some UI changes, thawing it back afterwards.
EVAS_API void evas_event_thaw | ( | Evas * | e | ) |
Thaw a canvas out after freezing (for input events).
e | The canvas to thaw out. |
This will thaw out a canvas after a matching evas_event_freeze() call. If this call completely thaws out a canvas, i.e., there's no other unbalanced call to evas_event_freeze(), events will start to be processed again, but any "missed" events will not be evaluated.
See evas_event_freeze() for an example.
EVAS_API int evas_event_freeze_get | ( | const Evas * | e | ) |
Return the freeze count on input events of a given canvas.
e | The canvas to fetch the freeze count from. |
This returns the number of times the canvas has been told to freeze input events. It is possible to call evas_event_freeze() multiple times, and these must be matched by evas_event_thaw() calls. This call allows the program to discover just how many times things have been frozen in case it may want to break out of a deep freeze state where the count is high.
Example:
Referenced by evas_event_thaw_eval().
EVAS_API void evas_event_thaw_eval | ( | Evas * | e | ) |
After thaw of a canvas, re-evaluate the state of objects and call callbacks.
e | The canvas to evaluate after a thaw |
This is normally called after evas_event_thaw() to re-evaluate mouse containment and other states and thus also call callbacks for mouse in and out on new objects if the state change demands it.
References EINA_SAFETY_ON_FALSE_RETURN, EVAS_CANVAS_CLASS, and evas_event_freeze_get().
EVAS_API void evas_event_feed_mouse_move | ( | Evas * | obj, |
int | x, | ||
int | y, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse move event feed.
This function will set some evas properties that are necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function.
[in] | y | The vertical position of the mouse pointer. |
[in] | timestamp | The timestamp of the mouse up event. |
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
Referenced by elm_access_action(), evas_device_add_full(), and evas_event_refeed_event().
EVAS_API void evas_event_input_mouse_move | ( | Evas * | obj, |
int | x, | ||
int | y, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse move event feed from input.
Similar to the evas_event_feed_mouse_move, this function will inform Evas about mouse move events which were received by the input system, relative to the 0,0 of the window, not to the canvas 0,0. It will take care of doing any special transformation like adding the framespace offset to the mouse event.
[in] | y | The vertical position of the mouse pointer relative to the 0,0 of the window/surface. |
[in] | timestamp | The timestamp of the mouse move event. |
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_mouse_up | ( | Evas * | obj, |
int | b, | ||
Evas_Button_Flags | flags, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse up event feed.
This function will set some evas properties that are necessary when the mouse button is released. It prepares information to be treated by the callback function.
[in] | flags | Evas button flags. |
[in] | timestamp | The timestamp of the mouse up event. |
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
Referenced by evas_event_refeed_event().
EVAS_API void evas_event_feed_mouse_down | ( | Evas * | obj, |
int | b, | ||
Evas_Button_Flags | flags, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse down event feed.
This function will set some evas properties that are necessary when the mouse button is pressed. It prepares information to be treated by the callback function.
[in] | flags | Evas button flags. |
[in] | timestamp | The timestamp of the mouse up event. |
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
Referenced by evas_event_refeed_event().
EVAS_API void evas_event_feed_mouse_wheel | ( | Evas * | obj, |
int | direction, | ||
int | z, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse wheel event feed.
This function will set some evas properties that are necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function.
[in] | z | How much mouse wheel was scrolled up or down. |
[in] | timestamp | The timestamp of the mouse up event. |
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, EINA_TRUE, and EVAS_CANVAS_CLASS.
Referenced by evas_event_refeed_event().
EVAS_API void evas_event_feed_mouse_in | ( | Evas * | obj, |
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse in event feed.
This function will set some evas properties that are necessary when the mouse in event happens. It prepares information to be treated by the callback function.
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, EINA_TRUE, and EVAS_CANVAS_CLASS.
Referenced by ecore_evas_buffer_allocfunc_new(), elm_access_action(), evas_device_add_full(), and evas_event_refeed_event().
EVAS_API void evas_event_feed_mouse_out | ( | Evas * | obj, |
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse out event feed.
This function will set some evas properties that are necessary when the mouse out event happens. It prepares information to be treated by the callback function.
[in] | data | The data for canvas. |
References EINA_FALSE, EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
Referenced by evas_device_add_full(), and evas_event_refeed_event().
EVAS_API void evas_event_feed_mouse_cancel | ( | Evas * | obj, |
unsigned int | timestamp, | ||
const void * | data | ||
) |
Mouse cancel event feed.
This function will call generate a mouse up event.
[in] | data | The data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, EINA_TRUE, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_key_down | ( | Evas * | obj, |
const char * | keyname, | ||
const char * | key, | ||
const char * | string, | ||
const char * | compose, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Key down event feed.
This function will set some evas properties that are necessary when a key is pressed. It prepares information to be treated by the callback function.
[in] | key | The key pressed. |
[in] | string | A string. |
[in] | compose | The compose string. |
[in] | timestamp | Timestamp of the mouse up event. |
[in] | data | Data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_key_up | ( | Evas * | obj, |
const char * | keyname, | ||
const char * | key, | ||
const char * | string, | ||
const char * | compose, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Key up event feed.
This function will set some evas properties that are necessary when a key is released. It prepares information to be treated by the callback function.
[in] | key | The key released. |
[in] | string | A string. |
[in] | compose | Compose. |
[in] | timestamp | Timestamp of the mouse up event. |
[in] | data | Data for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_key_down_with_keycode | ( | Evas * | obj, |
const char * | keyname, | ||
const char * | key, | ||
const char * | string, | ||
const char * | compose, | ||
unsigned int | timestamp, | ||
const void * | data, | ||
unsigned int | keycode | ||
) |
Key down event feed with keycode.
This function will set some evas properties that are necessary when a key is pressed. It prepares information to be treated by the callback function.
[in] | key | The key released. |
[in] | string | A string. |
[in] | compose | Compose. |
[in] | timestamp | Timestamp of the mouse up event. |
[in] | data | Data for canvas. |
[in] | keycode | Key scan code numeric value for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_key_up_with_keycode | ( | Evas * | obj, |
const char * | keyname, | ||
const char * | key, | ||
const char * | string, | ||
const char * | compose, | ||
unsigned int | timestamp, | ||
const void * | data, | ||
unsigned int | keycode | ||
) |
Key up event feed with keycode.
This function will set some evas properties that are necessary when a key is released. It prepares information to be treated by the callback function.
[in] | key | The key released. |
[in] | string | A string. |
[in] | compose | Compose. |
[in] | timestamp | Timestamp of the mouse up event. |
[in] | data | Data for canvas. |
[in] | keycode | Key scan code numeric value for canvas. |
References EINA_SAFETY_ON_FALSE_RETURN, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_axis_update | ( | Evas * | obj, |
unsigned int | timestamp, | ||
int | device, | ||
int | toolid, | ||
int | naxes, | ||
const Evas_Axis * | axis, | ||
const void * | data | ||
) |
Input device axis update event feed.
This function will set some evas properties that are necessary when an e.g. stylus axis is updated. It prepares information to be treated by the callback function.
[in] | device | System-provided device identifier. |
[in] | toolid | Type of tool currently being used. |
[in] | naxes | Number of elements in the axis array. |
[in] | axis | Array containing the current value of all updated axes. |
[in] | data | Data for canvas. |
References DBG, EINA_SAFETY_ON_FALSE_RETURN, EINA_TRUE, EVAS_AXIS_LABEL_AZIMUTH, EVAS_AXIS_LABEL_DISTANCE, EVAS_AXIS_LABEL_NORMAL_X, EVAS_AXIS_LABEL_NORMAL_Y, EVAS_AXIS_LABEL_PRESSURE, EVAS_AXIS_LABEL_TILT, EVAS_AXIS_LABEL_TOOL_WIDTH_MAJOR, EVAS_AXIS_LABEL_TOOL_WIDTH_MINOR, EVAS_AXIS_LABEL_TOUCH_WIDTH_MAJOR, EVAS_AXIS_LABEL_TOUCH_WIDTH_MINOR, EVAS_AXIS_LABEL_TWIST, EVAS_AXIS_LABEL_UNKNOWN, EVAS_AXIS_LABEL_WINDOW_X, EVAS_AXIS_LABEL_WINDOW_Y, EVAS_AXIS_LABEL_X, EVAS_AXIS_LABEL_Y, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_feed_hold | ( | Evas * | obj, |
int | hold, | ||
unsigned int | timestamp, | ||
const void * | data | ||
) |
Hold event feed.
This function makes the object to stop sending events.
[in] | timestamp | The timestamp of the mouse up event. |
[in] | data | The data for canvas. |
References EINA_LIST_FOREACH, eina_list_free(), EINA_TRUE, EVAS_CALLBACK_HOLD, and EVAS_CANVAS_CLASS.
EVAS_API void evas_event_refeed_event | ( | Evas * | obj, |
void * | event_copy, | ||
Evas_Callback_Type | event_type | ||
) |
Re feed event.
This function re-feeds the event pointed by event_copy.
This function call evas_event_feed_* functions, so it can cause havoc if not used wisely. Please use it responsibly.
[in] | event_type | Event type. |
References _Evas_Event_Mouse_Down::button, _Evas_Event_Mouse_Up::button, _Evas_Position::canvas, _Evas_Event_Mouse_Move::cur, _Evas_Event_Mouse_Wheel::direction, EINA_SAFETY_ON_FALSE_RETURN, EVAS_CALLBACK_MOUSE_DOWN, EVAS_CALLBACK_MOUSE_IN, EVAS_CALLBACK_MOUSE_MOVE, EVAS_CALLBACK_MOUSE_OUT, EVAS_CALLBACK_MOUSE_UP, EVAS_CALLBACK_MOUSE_WHEEL, EVAS_CALLBACK_MULTI_DOWN, EVAS_CANVAS_CLASS, evas_event_feed_mouse_down(), evas_event_feed_mouse_in(), evas_event_feed_mouse_move(), evas_event_feed_mouse_out(), evas_event_feed_mouse_up(), evas_event_feed_mouse_wheel(), _Evas_Event_Mouse_Down::flags, _Evas_Event_Mouse_Up::flags, _Evas_Coord_Point::x, and _Evas_Coord_Point::y.