### Struct

# Clutter TouchEvent

#### Description [src]

    struct ClutterTouchEvent {
      ClutterEventType type;
      guint32 time;
      ClutterEventFlags flags;
      ClutterStage* stage;
      gfloat x;
      gfloat y;
      ClutterEventSequence* sequence;
      ClutterModifierType modifier_state;
      gdouble* axes;
      ClutterInputDevice* device;
    }

Used for touch events.

The `type` field will be one of `CLUTTER_TOUCH_BEGIN`, `CLUTTER_TOUCH_END`, `CLUTTER_TOUCH_UPDATE`, or `CLUTTER_TOUCH_CANCEL`.

Touch events are grouped into sequences; each touch sequence will begin with a `CLUTTER_TOUCH_BEGIN` event, progress with `CLUTTER_TOUCH_UPDATE` events, and end either with a `CLUTTER_TOUCH_END` event or with a `CLUTTER_TOUCH_CANCEL` event.

With multi-touch capable devices there can be multiple event sequence running at the same time.

###### Structure members

`type`

  Event type.

`time`

  Event time.

`flags`

  Event flags.

`stage`

  Event source stage.

`x`

  The X coordinate of the pointer, relative to the stage.

`y`

  The Y coordinate of the pointer, relative to the stage.

`sequence`

  The event sequence that this event belongs to.

`modifier_state`

  A bit-mask representing the state of modifier keys (e.g. Control, Shift, and Alt) and the pointer buttons. See `ClutterModifierType`.

`axes`

  Reserved.

`device`

  The device that originated the event. If you want the physical device the event originated from, use `clutter_event_get_source_device()`