- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

Functions
Input Events Feeding Functions
Canvas Events

Functions to tell Evas that input events happened and should be processed. More...

## Functions
Evas_Device * | evas_device_add (Evas *e)
| Add a new device type. More...
void | evas_device_del (Evas_Device *dev)
| Delete a new device type. More...
void | evas_device_push (Evas *e, Evas_Device *dev)
| Push the current context device onto the device stack. More...
void | evas_device_pop (Evas *e)
| This pops the top of the device stack for the canvas. More...
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...
void | evas_device_name_set (Evas_Device *dev, const char *name)
| Set the name of a device as a string. More...
const char * | evas_device_name_get (const Evas_Device *dev)
| Get the name of a device. More...
void | evas_device_description_set (Evas_Device *dev, const char *desc)
| Set the description of a device as a string. More...
const char * | evas_device_description_get (const Evas_Device *dev)
| Get the description of a device. More...
void | evas_device_parent_set (Evas_Device *dev, Evas_Device *parent)
| Set the parent of a device. More...
const Evas_Device * | evas_device_parent_get (const Evas_Device *dev)
| Get the parent of a device. More...
void | evas_device_class_set (Evas_Device *dev, Evas_Device_Class clas)
| Set the major class of device. More...
Evas_Device_Class | evas_device_class_get (const Evas_Device *dev)
| Get the major class of a device. More...
void | evas_device_subclass_set (Evas_Device *dev, Evas_Device_Subclass clas)
| Set the sub-class of a device. More...
Evas_Device_Subclass | evas_device_subclass_get (const Evas_Device *dev)
| Get the device sub-class. More...
void | evas_device_emulation_source_set (Evas_Device *dev, Evas_Device *src)
| Set the emulation source device. More...
const Evas_Device * | evas_device_emulation_source_get (const Evas_Device *dev)
| Get the emulation source device. More...
#define | evas_canvas_event_default_flags_set(flags) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_DEFAULT_FLAGS_SET), EO_TYPECHECK(Evas_Event_Flags, flags)
#define | evas_canvas_event_default_flags_get(ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_DEFAULT_FLAGS_GET), EO_TYPECHECK(Evas_Event_Flags *, ret)
#define | evas_canvas_event_freeze() EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FREEZE)
#define | evas_canvas_event_thaw() EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_THAW)
#define | evas_canvas_event_freeze_get(ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FREEZE_GET), EO_TYPECHECK(int *, ret)
#define | evas_canvas_event_thaw_eval() EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_THAW_EVAL)
#define | evas_canvas_event_down_count_get(ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_DOWN_COUNT_GET), EO_TYPECHECK(int *, ret)
#define | evas_canvas_event_feed_mouse_down(b, flags, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_DOWN), EO_TYPECHECK(int, b), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_mouse_up(b, flags, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_UP), EO_TYPECHECK(int, b), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_mouse_cancel(timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_CANCEL), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_mouse_wheel(direction, z, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_WHEEL), EO_TYPECHECK(int, direction), EO_TYPECHECK(int, z), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_input_mouse_move(x, y, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MOUSE_MOVE), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_mouse_move(x, y, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_MOVE), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_mouse_in(timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_IN), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_mouse_out(timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_OUT), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_input_multi_down(d, x, y, rad, radx, rady, pres, ang, fx, fy, flags, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MULTI_DOWN), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_multi_down(d, x, y, rad, radx, rady, pres, ang, fx, fy, flags, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MULTI_DOWN), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_input_multi_up(d, x, y, rad, radx, rady, pres, ang, fx, fy, flags, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MULTI_UP), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_multi_up(d, x, y, rad, radx, rady, pres, ang, fx, fy, flags, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MULTI_UP), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_input_multi_move(d, x, y, rad, radx, rady, pres, ang, fx, fy, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MULTI_MOVE), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_multi_move(d, x, y, rad, radx, rady, pres, ang, fx, fy, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MULTI_MOVE), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_key_down(keyname, key, string, compose, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_KEY_DOWN), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char *, string), EO_TYPECHECK(const char *, compose), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_key_up(keyname, key, string, compose, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_KEY_UP), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char *, string), EO_TYPECHECK(const char *, compose), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_feed_hold(hold, timestamp, data) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_HOLD), EO_TYPECHECK(int, hold), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)
#define | evas_canvas_event_refeed_event(event_copy, event_type) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_REFEED_EVENT), EO_TYPECHECK(void *, event_copy), EO_TYPECHECK(Evas_Callback_Type, event_type)
#define | evas_canvas_tree_objects_at_xy_get(stop, x, y, ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TREE_OBJECTS_AT_XY_GET), EO_TYPECHECK(Evas_Object *, stop), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(Eina_List **, ret)
void | evas_event_default_flags_set (Evas *e, Evas_Event_Flags flags)
| Set the default set of flags an event begins with. More...
Evas_Event_Flags | evas_event_default_flags_get (const Evas *e)
| Get the default set of flags an event begins with. More...
void | evas_event_freeze (Evas *e)
| Freeze all input events processing. More...
void | evas_event_thaw (Evas *e)
| Thaw a canvas out after freezing (for input events). More...
int | evas_event_freeze_get (const Evas *e)
| Return the freeze count on input events of a given canvas. More...
void | evas_event_thaw_eval (Evas *e)
| After thaw of a canvas, re-evaluate the state of objects and call callbacks. More...
int | evas_event_down_count_get (const Evas *e)
| Get the number of mouse or multi presses currently active. More...
void | evas_event_feed_mouse_down (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
| Mouse down event feed. More...
void | evas_event_feed_mouse_up (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
| Mouse up event feed. More...
void | evas_event_input_mouse_move (Evas *e, int x, int y, unsigned int timestamp, const void *data)
| Mouse move event feed from input. More...
void | evas_event_feed_mouse_move (Evas *e, int x, int y, unsigned int timestamp, const void *data)
| Mouse move event feed. More...
void | evas_event_feed_mouse_in (Evas *e, unsigned int timestamp, const void *data)
| Mouse in event feed. More...
void | evas_event_feed_mouse_out (Evas *e, unsigned int timestamp, const void *data)
| Mouse out event feed. More...
void | evas_event_feed_multi_down (Evas *e, 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)
void | evas_event_feed_multi_up (Evas *e, 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)
void | evas_event_feed_multi_move (Evas *e, 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)
void | evas_event_input_multi_down (Evas *e, 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)
void | evas_event_input_multi_up (Evas *e, 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)
void | evas_event_input_multi_move (Evas *e, 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)
void | evas_event_feed_mouse_cancel (Evas *e, unsigned int timestamp, const void *data)
| Mouse cancel event feed. More...
void | evas_event_feed_mouse_wheel (Evas *e, int direction, int z, unsigned int timestamp, const void *data)
| Mouse wheel event feed. More...
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)
| Key down event feed. More...
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)
| Key up event feed. More...
void | evas_event_feed_hold (Evas *e, int hold, unsigned int timestamp, const void *data)
| Hold event feed. More...
void | evas_event_refeed_event (Evas *e, void *event_copy, Evas_Callback_Type event_type)
| Re feed event. More...
Eina_List * | evas_tree_objects_at_xy_get (Evas *e, Evas_Object *stop, int x, int y)
| Retrieve a list of Evas objects lying over a given position in a canvas. More...

## Detailed Description

Functions to tell Evas that input events happened and should be processed.

Warning
  Most of the time these functions are not what you're looking for. These functions should only be used if you're not working with ecore evas(or another input handling system). If you're not using ecore evas please consider using it, in most situation it will make life a lot easier.

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.

## Macro Definition Documentation

#define evas_canvas_event_default_flags_set | ( |  | flags | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_DEFAULT_FLAGS_SET), EO_TYPECHECK(Evas_Event_Flags, flags)

Since
  1.8

Set the default set of flags an event begins with

Parameters

  [in] | flags |

See Also
  evas_event_default_flags_set

Referenced by evas_event_default_flags_set().

#define evas_canvas_event_down_count_get | ( |  | ret | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_DOWN_COUNT_GET), EO_TYPECHECK(int *, ret)

Since
  1.8

Get the number of mouse or multi presses currently active

Parameters

  [out] | ret |

See Also
  evas_event_down_count_get

Referenced by evas_event_down_count_get().

#define evas_canvas_event_default_flags_get | ( |  | ret | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_DEFAULT_FLAGS_GET), EO_TYPECHECK(Evas_Event_Flags *, ret)

Since
  1.8

Get the defaulty set of flags an event begins with

Parameters

  [out] | ret |

See Also
  evas_event_default_flags_get

Referenced by evas_event_default_flags_get().

#define evas_canvas_event_freeze | ( |  | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FREEZE)

Since
  1.8

Freeze all input events processing.

See Also
  evas_event_freeze

#define evas_canvas_event_thaw | ( |  | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_THAW)

Since
  1.8

Thaw a canvas out after freezing (for input events).

See Also
  evas_event_thaw

#define evas_canvas_event_freeze_get | ( |  | ret | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FREEZE_GET), EO_TYPECHECK(int *, ret)

Since
  1.8

Return the freeze count on input events of a given canvas.

Parameters

  [out] | ret |

See Also
  evas_event_freeze_get

#define evas_canvas_event_thaw_eval | ( |  | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_THAW_EVAL)

Since
  1.8

After thaw of a canvas, re-evaluate the state of objects and call callbacks

See Also
  evas_event_thaw_eval

#define evas_canvas_event_feed_mouse_down | ( |  | b,
|  |  | flags,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_DOWN), EO_TYPECHECK(int, b), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse down event feed.

Parameters

  [in] | b |
  [in] | flags |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_down

Referenced by evas_event_feed_mouse_down().

#define evas_canvas_event_feed_mouse_up | ( |  | b,
|  |  | flags,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_UP), EO_TYPECHECK(int, b), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse up event feed.

Parameters

  [in] | b |
  [in] | flags |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_up

Referenced by evas_event_feed_mouse_up().

#define evas_canvas_event_feed_mouse_cancel | ( |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_CANCEL), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse cancel event feed.

Parameters

  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_cancel

Referenced by evas_event_feed_mouse_cancel().

#define evas_canvas_event_feed_mouse_wheel | ( |  | direction,
|  |  | z,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_WHEEL), EO_TYPECHECK(int, direction), EO_TYPECHECK(int, z), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse wheel event feed.

Parameters

  [in] | direction |
  [in] | z |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_wheel

Referenced by evas_event_feed_mouse_wheel().

#define evas_canvas_event_input_mouse_move | ( |  | x,
|  |  | y,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MOUSE_MOVE), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse move event feed from input.

Parameters

  [in] | x |
  [in] | y |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_input_mouse_move

Referenced by evas_event_input_mouse_move().

#define evas_canvas_event_feed_mouse_move | ( |  | x,
|  |  | y,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_MOVE), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse move event feed.

Parameters

  [in] | x |
  [in] | y |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_move

Referenced by evas_event_feed_mouse_move().

#define evas_canvas_event_feed_mouse_in | ( |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_IN), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse in event feed.

Parameters

  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_in

Referenced by evas_event_feed_mouse_in().

#define evas_canvas_event_feed_mouse_out | ( |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MOUSE_OUT), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Mouse out event feed.

Parameters

  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_mouse_out

Referenced by evas_event_feed_mouse_out().

#define evas_canvas_event_input_multi_down | ( |  | d,
|  |  | x,
|  |  | y,
|  |  | rad,
|  |  | radx,
|  |  | rady,
|  |  | pres,
|  |  | ang,
|  |  | fx,
|  |  | fy,
|  |  | flags,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MULTI_DOWN), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | d |
  [in] | x |
  [in] | y |
  [in] | rad |
  [in] | radx |
  [in] | rady |
  [in] | pres |
  [in] | ang |
  [in] | fx |
  [in] | fy |
  [in] | flags |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_input_multi_down

#define evas_canvas_event_feed_multi_down | ( |  | d,
|  |  | x,
|  |  | y,
|  |  | rad,
|  |  | radx,
|  |  | rady,
|  |  | pres,
|  |  | ang,
|  |  | fx,
|  |  | fy,
|  |  | flags,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MULTI_DOWN), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | d |
  [in] | x |
  [in] | y |
  [in] | rad |
  [in] | radx |
  [in] | rady |
  [in] | pres |
  [in] | ang |
  [in] | fx |
  [in] | fy |
  [in] | flags |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_multi_down

#define evas_canvas_event_input_multi_up | ( |  | d,
|  |  | x,
|  |  | y,
|  |  | rad,
|  |  | radx,
|  |  | rady,
|  |  | pres,
|  |  | ang,
|  |  | fx,
|  |  | fy,
|  |  | flags,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MULTI_UP), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | d |
  [in] | x |
  [in] | y |
  [in] | rad |
  [in] | radx |
  [in] | rady |
  [in] | pres |
  [in] | ang |
  [in] | fx |
  [in] | fy |
  [in] | flags |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_input_multi_up

#define evas_canvas_event_feed_multi_up | ( |  | d,
|  |  | x,
|  |  | y,
|  |  | rad,
|  |  | radx,
|  |  | rady,
|  |  | pres,
|  |  | ang,
|  |  | fx,
|  |  | fy,
|  |  | flags,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MULTI_UP), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(Evas_Button_Flags, flags), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | d |
  [in] | x |
  [in] | y |
  [in] | rad |
  [in] | radx |
  [in] | rady |
  [in] | pres |
  [in] | ang |
  [in] | fx |
  [in] | fy |
  [in] | flags |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_multi_up

#define evas_canvas_event_input_multi_move | ( |  | d,
|  |  | x,
|  |  | y,
|  |  | rad,
|  |  | radx,
|  |  | rady,
|  |  | pres,
|  |  | ang,
|  |  | fx,
|  |  | fy,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_INPUT_MULTI_MOVE), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | d |
  [in] | x |
  [in] | y |
  [in] | rad |
  [in] | radx |
  [in] | rady |
  [in] | pres |
  [in] | ang |
  [in] | fx |
  [in] | fy |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_multi_move

#define evas_canvas_event_feed_multi_move | ( |  | d,
|  |  | x,
|  |  | y,
|  |  | rad,
|  |  | radx,
|  |  | rady,
|  |  | pres,
|  |  | ang,
|  |  | fx,
|  |  | fy,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_MULTI_MOVE), EO_TYPECHECK(int, d), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(double, rad), EO_TYPECHECK(double, radx), EO_TYPECHECK(double, rady), EO_TYPECHECK(double, pres), EO_TYPECHECK(double, ang), EO_TYPECHECK(double, fx), EO_TYPECHECK(double, fy), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

No description supplied by the EAPI.

Parameters

  [in] | d |
  [in] | x |
  [in] | y |
  [in] | rad |
  [in] | radx |
  [in] | rady |
  [in] | pres |
  [in] | ang |
  [in] | fx |
  [in] | fy |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_multi_move

#define evas_canvas_event_feed_key_down | ( |  | keyname,
|  |  | key,
|  |  | string,
|  |  | compose,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_KEY_DOWN), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char *, string), EO_TYPECHECK(const char *, compose), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Key down event feed

Parameters

  [in] | keyname |
  [in] | key |
  [in] | string |
  [in] | compose |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_key_down

Referenced by evas_event_feed_key_down().

#define evas_canvas_event_feed_key_up | ( |  | keyname,
|  |  | key,
|  |  | string,
|  |  | compose,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_KEY_UP), EO_TYPECHECK(const char *, keyname), EO_TYPECHECK(const char *, key), EO_TYPECHECK(const char *, string), EO_TYPECHECK(const char *, compose), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Key up event feed

Parameters

  [in] | keyname |
  [in] | key |
  [in] | string |
  [in] | compose |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_key_up

Referenced by evas_event_feed_key_up().

#define evas_canvas_event_feed_hold | ( |  | hold,
|  |  | timestamp,
|  |  | data
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_FEED_HOLD), EO_TYPECHECK(int, hold), EO_TYPECHECK(unsigned int, timestamp), EO_TYPECHECK(const void *, data)

Since
  1.8

Hold event feed

Parameters

  [in] | hold |
  [in] | timestamp |
  [in] | data |

See Also
  evas_event_feed_hold

Referenced by evas_event_feed_hold().

#define evas_canvas_event_refeed_event | ( |  | event_copy,
|  |  | event_type
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_EVENT_REFEED_EVENT), EO_TYPECHECK(void *, event_copy), EO_TYPECHECK(Evas_Callback_Type, event_type)

Since
  1.8

Re feed event.

Parameters

  [in] | event_copy |
  [in] | event_type |

See Also
  evas_event_refeed_event

Referenced by evas_event_refeed_event().

#define evas_canvas_tree_objects_at_xy_get | ( |  | stop,
|  |  | x,
|  |  | y,
|  |  | ret
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TREE_OBJECTS_AT_XY_GET), EO_TYPECHECK(Evas_Object *, stop), EO_TYPECHECK(int, x), EO_TYPECHECK(int, y), EO_TYPECHECK(Eina_List **, ret)

Since
  1.8

Retrieve a list of Evas objects lying over a given position in a canvas.

Parameters

  [in] | stop | An Evas Object where to stop searching.
  [in] | x | The horizontal coordinate of the position.
  [in] | y | The vertical coordinate of the position.
  [out] | list | of Evas Objects.

See Also
  evas_tree_objects_at_xy_get

Referenced by evas_tree_objects_at_xy_get().

## Function Documentation

Evas_Device* evas_device_add | ( | Evas * | e | ) |

Add a new device type.

Parameters

  e | The canvas to create the device node for.

Adds a new device nod to the given canvas `e`. All devices created as part of the canvas `e` will automatically be deleted when the canvas is freed.

See Also
  evas_device_del

Since
  1.8

References eina_list_append(), and EVAS_CALLBACK_DEVICE_CHANGED.

void evas_device_del | ( | Evas_Device * | dev | ) |

Delete a new device type.

See Also
  evas_device_add
  evas_device_push
  evas_device_pop

Since
  1.8

References EINA_LIST_FREE, and evas_device_del().

Referenced by evas_device_del().

void evas_device_push | ( | Evas * | e,
|  | Evas_Device * | dev
| ) |  |

Push the current context device onto the device stack.

Parameters

  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:

evas_device_push(canvas, dev);
evas_event_feed_mouse_move(canvas, 20, 30, 0, NULL);
evas_device_pop(canvas);

See Also
  evas_device_pop

Since
  1.8

References eina_array_new().

void evas_device_pop | ( | Evas * | e | ) |

This pops the top of the device stack for the canvas.

Parameters

  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.

See Also
  evas_device_push

Since
  1.8

const Eina_List* evas_device_list | ( | Evas * | e,
|  | const Evas_Device * | dev
| ) |  |

List all current devices attached to the given canvas and/or device.

Parameters

  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

Returns
  An internal list of Evas_Device pointers, or NULL if no devices are found

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.

See Also
  evas_device_parent_get
  evas_device_name_get
  evas_device_description_get
  evas_device_class_get
  evas_device_subclass_get
  evas_device_emulation_source_get

Since
  1.8

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

Since
  1.8

References eina_stringshare_replace(), and EVAS_CALLBACK_DEVICE_CHANGED.

const char* evas_device_name_get | ( | const Evas_Device * | dev | ) |

Get the name of a device.

`dev` The device to query

Returns
  The device name string or NULL if none is set

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.

Since
  1.8

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

Since
  1.8

References eina_stringshare_replace(), and EVAS_CALLBACK_DEVICE_CHANGED.

const char* evas_device_description_get | ( | const Evas_Device * | dev | ) |

Get the description of a device.

`dev` The device to query

Returns
  The device description string or NULL if none is set

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.

Since
  1.8

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.

See Also
  evas_device_del
  evas_device_parent_get
  evas_device_list

Since
  1.8

References eina_list_append(), eina_list_remove(), and EVAS_CALLBACK_DEVICE_CHANGED.

const Evas_Device* evas_device_parent_get | ( | const Evas_Device * | dev | ) |

Get the parent of a device.

Parameters

  dev | The device to query

Returns
  The parent device or NULL if it is a toplevel

This returns the parent device of any given device entry, or NULL if no parent device exists (is a toplevel device).

Since
  1.8

void evas_device_class_set | ( | Evas_Device * | dev,
|  | Evas_Device_Class | clas
| ) |  |

Set the major class of device.

Parameters

  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.).

Since
  1.8

References EVAS_CALLBACK_DEVICE_CHANGED.

Evas_Device_Class evas_device_class_get | ( | const Evas_Device * | dev | ) |

Get the major class of a device.

Parameters

  dev | The devise to query

Returns
  The device class to set

This sets the device class set by evas_device_class_set().

Since
  1.8

References EVAS_DEVICE_CLASS_NONE.

void evas_device_subclass_set | ( | Evas_Device * | dev,
|  | Evas_Device_Subclass | clas
| ) |  |

Set the sub-class of a device.

Parameters

  dev | The device to modify
  clas | The sub-class to set

This sets the sub-class of a device whihc gives much more detailed usage within a broader category.

Since
  1.8

References EVAS_CALLBACK_DEVICE_CHANGED.

Evas_Device_Subclass evas_device_subclass_get | ( | const Evas_Device * | dev | ) |

Get the device sub-class.

Parameters

  dev | The device to query

Returns
  The device sub-class set by evas_device_subclass_set().

Since
  1.8

References EVAS_DEVICE_SUBCLASS_NONE.

void evas_device_emulation_source_set | ( | Evas_Device * | dev,
|  | Evas_Device * | src
| ) |  |

Set the emulation source device.

Parameters

  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 fingeron 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.

Since
  1.8

References EVAS_CALLBACK_DEVICE_CHANGED.

const Evas_Device* evas_device_emulation_source_get | ( | const Evas_Device * | dev | ) |

Get the emulation source device.

Parameters

  dev | The device to query

Returns
  The source emulation device set by evas_device_emulation_source_set().

Since
  1.8

void evas_event_default_flags_set | ( | Evas * | e,
|  | Evas_Event_Flags | flags
| ) |  |

Set the default set of flags an event begins with.

Parameters

  e | The canvas to set the default event flags of
  flags | The default flags to use

Events in evas can have an event_flags member. This starts out with and initial value (no flags). This lets you set the default flags that an event begins with to be `flags`

Since
  1.2

References evas_canvas_event_default_flags_set.

int evas_event_down_count_get | ( | const Evas * | e | ) |

Get the number of mouse or multi presses currently active.

`e` The given canvas pointer.

Returns
  The number of presses (0 if none active).

Since
  1.2

References evas_canvas_event_down_count_get.

Evas_Event_Flags evas_event_default_flags_get | ( | const Evas * | e | ) |

Get the default set of flags an event begins with.

Parameters

  e | The canvas to get the default event flags from

Returns
  The default event flags for that canvas

This gets the default event flags events are produced with when fed in.

See Also
  evas_event_default_flags_set()

Since
  1.2

References evas_canvas_event_default_flags_get, and EVAS_EVENT_FLAG_ON_HOLD.

void evas_event_freeze | ( | Evas * | e | ) |

Freeze all input events processing.

Parameters

  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:

"\tf - freeze input for 3 seconds\n"
"\tp - toggle precise point collision detection on image\n"
"\tControl + o - add an obscured rectangle\n"
"\th - print help\n";
struct test_data
{
Ecore_Evas *ee;
Evas *canvas;
Evas_Object *img, *bg;
Ecore_Timer *resize_timer, *freeze_timer;
Eina_Bool obscured, focus;
};
/* let's have our events back */
static Eina_Bool
_thaw_cb(void *data EINA_UNUSED)
{
fprintf(stdout, "Canvas was frozen %d times, now thawing.\n",
evas_event_freeze_get(d.canvas));
evas_event_thaw(d.canvas);
return EINA_FALSE; /* do not re-issue the timer */
}

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.

Examples:
  evas-events.c.

void evas_event_thaw | ( | Evas * | e | ) |

Thaw a canvas out after freezing (for input events).

Parameters

  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.

Examples:
  evas-events.c.

int evas_event_freeze_get | ( | const Evas * | e | ) |

Return the freeze count on input events of a given canvas.

Parameters

  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:

extern Evas *evas;
while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas);

Examples:
  evas-events.c.

Referenced by evas_event_thaw_eval().

void evas_event_thaw_eval | ( | Evas * | e | ) |

After thaw of a canvas, re-evaluate the state of objects and call callbacks.

Parameters

  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 evas_event_freeze_get().

void evas_event_feed_mouse_down | ( | Evas * | e,
|  | int | b,
|  | Evas_Button_Flags | flags,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse down event feed.

Parameters

  e | The given canvas pointer.
  b | The button number.
  flags | The evas button flags.
  timestamp | The timestamp of the mouse down event.
  data | The data for canvas.

This function will set some evas properties that is necessary when the mouse button is pressed. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_mouse_down.

void evas_event_feed_mouse_up | ( | Evas * | e,
|  | int | b,
|  | Evas_Button_Flags | flags,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse up event feed.

Parameters

  e | The given canvas pointer.
  b | The button number.
  flags | evas button flags.
  timestamp | The timestamp of the mouse up event.
  data | The data for canvas.

This function will set some evas properties that is necessary when the mouse button is released. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_mouse_up.

void evas_event_input_mouse_move | ( | Evas * | e,
|  | int | x,
|  | int | y,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse move event feed from input.

Parameters

  e | The given canvas pointer.
  x | The horizontal position of the mouse pointer relative to the 0,0 of the window/surface.
  y | The vertical position of the mouse pointer relative to the 0,0 of the window/surface.
  timestamp | The timestamp of the mouse move event.
  data | The data for canvas.

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.

Since
  1.8

See Also
  evas_event_feed_mouse_move

References evas_canvas_event_input_mouse_move.

void evas_event_feed_mouse_move | ( | Evas * | e,
|  | int | x,
|  | int | y,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse move event feed.

Parameters

  e | The given canvas pointer.
  x | The horizontal position of the mouse pointer.
  y | The vertical position of the mouse pointer.
  timestamp | The timestamp of the mouse up event.
  data | The data for canvas.

This function will set some evas properties that is necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_mouse_move.

void evas_event_feed_mouse_in | ( | Evas * | e,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse in event feed.

Parameters

  e | The given canvas pointer.
  timestamp | The timestamp of the mouse up event.
  data | The data for canvas.

This function will set some evas properties that is necessary when the mouse in event happens. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_mouse_in.

Referenced by ecore_evas_buffer_allocfunc_new().

void evas_event_feed_mouse_out | ( | Evas * | e,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse out event feed.

Parameters

  e | The given canvas pointer.
  timestamp | Timestamp of the mouse up event.
  data | The data for canvas.

This function will set some evas properties that is necessary when the mouse out event happens. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_mouse_out.

void evas_event_feed_mouse_cancel | ( | Evas * | e,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse cancel event feed.

Parameters

  e | The given canvas pointer.
  timestamp | The timestamp of the mouse up event.
  data | The data for canvas.

This function will call evas_event_feed_mouse_up() when a mouse cancel event happens.

References evas_canvas_event_feed_mouse_cancel.

void evas_event_feed_mouse_wheel | ( | Evas * | e,
|  | int | direction,
|  | int | z,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Mouse wheel event feed.

Parameters

  e | The given canvas pointer.
  direction | The wheel mouse direction.
  z | How much mouse wheel was scrolled up or down.
  timestamp | The timestamp of the mouse up event.
  data | The data for canvas.

This function will set some evas properties that is necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_mouse_wheel.

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
| ) |  |

Key down event feed.

Parameters

  e | The canvas to thaw out
  keyname | Name of the key
  key | The key pressed.
  string | A String
  compose | The compose string
  timestamp | Timestamp of the mouse up event
  data | Data for canvas.

This function will set some evas properties that is necessary when a key is pressed. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_key_down.

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
| ) |  |

Key up event feed.

Parameters

  e | The canvas to thaw out
  keyname | Name of the key
  key | The key released.
  string | string
  compose | compose
  timestamp | Timestamp of the mouse up event
  data | Data for canvas.

This function will set some evas properties that is necessary when a key is released. It prepares information to be treated by the callback function.

References evas_canvas_event_feed_key_up.

void evas_event_feed_hold | ( | Evas * | e,
|  | int | hold,
|  | unsigned int | timestamp,
|  | const void * | data
| ) |  |

Hold event feed.

Parameters

  e | The given canvas pointer.
  hold | The hold.
  timestamp | The timestamp of the mouse up event.
  data | The data for canvas.

This function makes the object to stop sending events.

References evas_canvas_event_feed_hold.

void evas_event_refeed_event | ( | Evas * | e,
|  | void * | event_copy,
|  | Evas_Callback_Type | event_type
| ) |  |

Re feed event.

Parameters

  e | The given canvas pointer.
  event_copy | the event to refeed
  event_type | Event type

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.

References evas_canvas_event_refeed_event.

Eina_List* evas_tree_objects_at_xy_get | ( | Evas * | e,
|  | Evas_Object * | stop,
|  | int | x,
|  | int | y
| ) |  |

Retrieve a list of Evas objects lying over a given position in a canvas.

Parameters

  e | A handle to the canvas.
  stop | An Evas Object where to stop searching.
  x | The horizontal coordinate of the position.
  y | The vertical coordinate of the position.

This function will traverse all the layers of the given canvas, from top to bottom, querying for objects with areas covering the given position. It will enter the smart objects. It will not append to the list pass events as hidden objects. Call eina_list_free on the returned list after usage.

References evas_canvas_tree_objects_at_xy_get.