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

Touch Point List Functions
Canvas Functions

Functions to get information of touched points in the Evas. More...

#define | evas_canvas_touch_point_list_count(ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_COUNT), EO_TYPECHECK(unsigned int *, ret)
#define | evas_canvas_touch_point_list_nth_xy_get(n, x, y) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_NTH_XY_GET), EO_TYPECHECK(unsigned int, n), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y)
#define | evas_canvas_touch_point_list_nth_id_get(n, ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_NTH_ID_GET), EO_TYPECHECK(unsigned int, n), EO_TYPECHECK(int *, ret)
#define | evas_canvas_touch_point_list_nth_state_get(n, ret) EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_NTH_STATE_GET), EO_TYPECHECK(unsigned int, n), EO_TYPECHECK(Evas_Touch_Point_State *, ret)
unsigned int | evas_touch_point_list_count (Evas *e)
| Get the number of touched point in the evas. More...
void | evas_touch_point_list_nth_xy_get (Evas *e, unsigned int n, Evas_Coord *x, Evas_Coord *y)
| This function returns the nth touch point's co-ordinates. More...
int | evas_touch_point_list_nth_id_get (Evas *e, unsigned int n)
| This function returns the `id` of nth touch point. More...
Evas_Touch_Point_State | evas_touch_point_list_nth_state_get (Evas *e, unsigned int n)
| This function returns the `state` of nth touch point. More...

## Detailed Description

Functions to get information of touched points in the Evas.

Evas maintains list of touched points on the canvas. Each point has its co-ordinates, id and state. You can get the number of touched points and information of each point using evas_touch_point_list functions.

## Macro Definition Documentation

#define evas_canvas_touch_point_list_count | ( |  | ret | ) | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_COUNT), EO_TYPECHECK(unsigned int *, ret)

Since
  1.8

Get the number of touched point in the evas.

Parameters

  [out] | ret |

See Also
  evas_touch_point_list_count

Referenced by evas_touch_point_list_count().

#define evas_canvas_touch_point_list_nth_xy_get | ( |  | n,
|  |  | x,
|  |  | y
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_NTH_XY_GET), EO_TYPECHECK(unsigned int, n), EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y)

Since
  1.8

This function returns the nth touch point's co-ordinates.

Parameters

  [in] | n |
  [out] | x |
  [out] | y |

See Also
  evas_touch_point_list_nth_xy_get

Referenced by evas_touch_point_list_nth_xy_get().

#define evas_canvas_touch_point_list_nth_id_get | ( |  | n,
|  |  | ret
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_NTH_ID_GET), EO_TYPECHECK(unsigned int, n), EO_TYPECHECK(int *, ret)

Since
  1.8

This function returns the id of nth touch point.

Parameters

  [in] | n |
  [out] | ret |

See Also
  evas_touch_point_list_nth_id_get

Referenced by evas_touch_point_list_nth_id_get().

#define evas_canvas_touch_point_list_nth_state_get | ( |  | n,
|  |  | ret
| ) |  | EVAS_CANVAS_ID(EVAS_CANVAS_SUB_ID_TOUCH_POINT_LIST_NTH_STATE_GET), EO_TYPECHECK(unsigned int, n), EO_TYPECHECK(Evas_Touch_Point_State *, ret)

Since
  1.8

This function returns the state of nth touch point.

Parameters

  [in] | n |
  [out] | ret |

See Also
  evas_touch_point_list_nth_state_get

Referenced by evas_touch_point_list_nth_state_get().

## Function Documentation

unsigned int evas_touch_point_list_count | ( | Evas * | e | ) |

Get the number of touched point in the evas.

Parameters

  e | The pointer to the Evas canvas.

Returns
  The number of touched point on the evas.

New touched point is added to the list whenever touching the evas and point is removed whenever removing touched point from the evas.

Example:

extern Evas *evas;
int count;
count = evas_touch_point_list_count(evas);
printf("The count of touch points: %i\n", count);

See Also
  evas_touch_point_list_nth_xy_get()
  evas_touch_point_list_nth_id_get()
  evas_touch_point_list_nth_state_get()

References evas_canvas_touch_point_list_count.

void evas_touch_point_list_nth_xy_get | ( | Evas * | e,
|  | unsigned int | n,
|  | Evas_Coord * | x,
|  | Evas_Coord * | y
| ) |  |

This function returns the nth touch point's co-ordinates.

Parameters

  e | The pointer to the Evas canvas.
  n | The number of the touched point (0 being the first).
  x | The pointer to a Evas_Coord to be filled in.
  y | The pointer to a Evas_Coord to be filled in.

Touch point's co-ordinates is updated whenever moving that point on the canvas.

Example:

extern Evas *evas;
Evas_Coord x, y;
if (evas_touch_point_list_count(evas))
{
evas_touch_point_nth_xy_get(evas, 0, &x, &y);
printf("The first touch point's co-ordinate: (%i, %i)\n", x, y);
}

See Also
  evas_touch_point_list_count()
  evas_touch_point_list_nth_id_get()
  evas_touch_point_list_nth_state_get()

References evas_canvas_touch_point_list_nth_xy_get.

int evas_touch_point_list_nth_id_get | ( | Evas * | e,
|  | unsigned int | n
| ) |  |

This function returns the `id` of nth touch point.

Parameters

  e | The pointer to the Evas canvas.
  n | The number of the touched point (0 being the first).

Returns
  id of nth touch point, if the call succeeded, -1 otherwise.

The point which comes from Mouse Event has `id` 0 and The point which comes from Multi Event has `id` that is same as Multi Event's device id.

Example:

extern Evas *evas;
int id;
if (evas_touch_point_list_count(evas))
{
id = evas_touch_point_nth_id_get(evas, 0);
printf("The first touch point's id: %i\n", id);
}

See Also
  evas_touch_point_list_count()
  evas_touch_point_list_nth_xy_get()
  evas_touch_point_list_nth_state_get()

References evas_canvas_touch_point_list_nth_id_get.

Evas_Touch_Point_State evas_touch_point_list_nth_state_get | ( | Evas * | e,
|  | unsigned int | n
| ) |  |

This function returns the `state` of nth touch point.

Parameters

  e | The pointer to the Evas canvas.
  n | The number of the touched point (0 being the first).

Returns
  `state` of nth touch point, if the call succeeded, EVAS_TOUCH_POINT_CANCEL otherwise.

The point's `state` is EVAS_TOUCH_POINT_DOWN when pressed, EVAS_TOUCH_POINT_STILL when the point is not moved after pressed, EVAS_TOUCH_POINT_MOVE when moved at least once after pressed and EVAS_TOUCH_POINT_UP when released.

Example:

extern Evas *evas;
Evas_Touch_Point_State state;
if (evas_touch_point_list_count(evas))
{
state = evas_touch_point_nth_state_get(evas, 0);
printf("The first touch point's state: %i\n", state);
}

See Also
  evas_touch_point_list_count()
  evas_touch_point_list_nth_xy_get()
  evas_touch_point_list_nth_id_get()

References evas_canvas_touch_point_list_nth_state_get, and EVAS_TOUCH_POINT_CANCEL.