Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 1.72 KB

File metadata and controls

38 lines (30 loc) · 1.72 KB

LiveCode Builder Host Library

Widget Touch Handlers

Widgets can now handle the following touch messages:

  • OnTouchStart - sent when the touch first starts
  • OnTouchMove - sent when the touch moves
  • OnTouchFinish - sent when the touch ends without being canceled
  • OnTouchCancel - sent when the touch is canceled

When a widget hit tests as the target for the first of a sequence of touches and implements one of the touch event handlers it will receive all events for the sequence otherwise it will not receive any. A sequence of touches begins with the start of the first touch until there are no more active touches.

While a widget is the target for touch events the touch messages will not be sent to the LCS object unless the widget posts them. If the widget becomes invisible, or is closed whilst active touches are present OnTouchCancel is sent for all of them.

The currently active touch (the one which caused the event to bubble) can be found by using the touch id, and its position using the touch position. The id is an integer beginning with 1 and incremented for each touch in the sequence. It is unrelated to the id parameter for LCS touch messages.

The number of touches currently in progress can be found by using the number of touches and the position of a given touch using the position of touch tID. A list of currently active touch IDs can be found using the touch ids.

Note: Due to the way touch messages are currently processed above the widget event system, widgets will receive mouse messages and then touch messages. To make a widget which works on both Desktop and Mobile, and wants touches on Mobile, the widget must have both mouse and touch handlers, and check for platform in the mouse handlers.