CurrentTouch
This global variable always represents the first available touch on the screen. It is a touch datatype, see the related items for more information.
touch.id touch.pos touch.prevPos touch.precisePos touch.precisePrevPos touch.delta touch.force touch.maxForce touch.altitude touch.azimuth touch.azimuthVec touch.type touch.state touch.tapCount touch.timestamp
This type represents data about a single touch on the screen
| id | int, a unique identifier for this touch  |                 
                      
| pos | vec2, specifies the position of the touch on the screen  |                 
                      
| prevPos | vec2, specifies the position, from the previous frame, of the touch on the screen  |                 
                      
| precisePos | vec2, specifies the precise position of the touch on the screen (when available, for example, when using a stylus)  |                 
                      
| precisePrevPos | vec2, specifies the precise position, from the previous frame, of the touch on the screen (when available, for example, when using a stylus)  |                 
                      
| delta | vec2, specifies the delta since the last frame, the amount the touch has moved  |                 
                      
| force | float, when available, specifies the force of the touch  |                 
                      
| maxForce | float, when available, specifies the maximum possible force of a touch  |                 
                      
| altitude | float, stylus only, angle in radians of the stylus with the surface of the screen. A value of   |                 
                      
| azimuth | float, stylus only, angle in radians of the direction in which the stylus is pointing  |                 
                      
| azimuthVec | vec2, stylus only, a unit vector which points in the direction of the stylus  |                 
                      
| type | the type of the touch, can be DIRECT, INDIRECT, STYLUS or POINTER  |                 
                      
| state | the state of the touch, can be BEGAN, CHANGED, ENDED or CANCELLED  |                 
                      
| tapCount | how many times the touch has been tapped  |                 
                      
| timestamp | the time when the touch occurred or when it was last updated  |                 
                      
function touched(touch)
Codea calls this function, if it is defined in your project, whenever a finger touches the screen in the viewing area. The touched function is passed a touch object containing information about the touch, such as position, type, state, and so on.
If the user touches the screen with multiple fingers this function is called repeatedly for each active touch. touch objects have an id (touch.id) to allow you to store, track and differentiate them over repeated calls to this function. A touch will maintain its id through its life time (from state BEGAN through to state ENDED or CANCELLED)
You can use the type of the touch to determine whether it comes from a finger (DIRECT), stylus (STYLUS) or a trackpad or mouse (POINTER)
| gesture | the gesture object containing information about this event  |                 
                      
gesture.state gesture.location gesture.translation gesture.delta gesture.pinchScale gesture.pinchVelocity gesture.alt gesture.control gesture.command gesture.shift gesture.capsLock
Gestures are used to represent interaction from a pointer or trackpad, such as hovering or scrolling in the viewer.
Codea supports two types of gestures for the viewer, hover and scroll.
Hover gestures occur when moving a pointer over the viewer. When this happens Codea calls the global function hover(gesture) and passes a gesture object containing information about the hover event. The gesture contains a state and location. Location is a vec2 indicating where the pointer is hovering over the viewer. The state can be BEGAN, CHANGED, or ENDED
Scroll gestures occur when two-finger scrolling is detected on a trackpad. Codea calls the global function scroll(gesture) and passes a gesture object containing information about the scroll event. The gesture contains state, location, translation, and delta. State and location are similar to hover (above). translation is a vec2 reflecting the total amount of 2D translation that has occurred since the scrolling began. delta is a vec2 of the amount of 2D translation since the last time scroll was called
Pinch gestures occur when two-finger pinching is detected on a trackpad. Codea calls the global function pinch(gesture) and passes a gesture object containing information about the pinch event. The gesture contains state, location, pinchScale, and pinchVelocity. State and location are similar to hover and scoll (above). pinchScale is a number reflecting the total amount of scale that has occurred since the pinch began. pinchVelocity is a number of the velocity of of the pinch scale in scale factor per second
Gestures also include information on which modifier keys have been pressed during the event, such as gesture.shift and gesture.command. If these values are true it indicates that modifier key was held down
| state | the state of the gesture, can be BEGAN, CHANGED or ENDED  |                 
                      
| location | vec2, the location of the gesture over the viewer  |                 
                      
| translation | vec2, scroll gestures only. The total amount of 2D translation since the gesture began  |                 
                      
| delta | vec2, scroll gestures only. The amount of 2D translation since the last time   |                 
                      
| pinchScale | number, pinch gestures only. The scale of the pinch relative to the two touches since the gesture began  |                 
                      
| pinchVelocity | number, pinch gestures only. The velocity of the change in pinch scale in scale factor per second  |                 
                      
| alt | bool, true if the alt (alternate / option) modifier key was held down  |                 
                      
| control | bool, true if the control modifier key was held down  |                 
                      
| command | bool, true if the command modifier key was held down  |                 
                      
| shift | bool, true if the shift modifier key was held down  |                 
                      
| capsLock | bool, true if the caps lock key was held down  |                 
                      
function hover(gesture)
Codea calls this function, if it is defined in your project, whenever a pointer hovers in the viewer. Hovering occurs when a connected mouse or trackpad pointer moves over the screen without clicking. The hover function is passed a gesture parameter which contains the x,y location of the event as a vec2
The gesture parameter of this function also has a state field, which can tell you if the event has BEGAN, or CHANGED since the last call, or ENDED. The hover function will be called continuously as the pointer moves across the screen with updated x,y coordinates until it eventually ends due to the pointer moving out of the viewer area, or the pointer fading if the input device is not touched
| gesture | the gesture object containing information about this event  |                 
                      
function scroll(gesture)
Codea calls this function, if it is defined in your project, whenever a scroll event occurs in the viewer. This is usually triggered by a two-finger drag on an attached trackpad input device
The gesture parameter of this function contains information about the scroll event. Including its location, translation and delta. Translation (vec2) is the 2D magnitude of the scroll since the scroll began (gesture.state == BEGAN). Delta (vec2) is the 2D magnitude of the scroll since the last scroll update. The delta can be accumulated to track a scroll over time, or the translation can be applied to a fixed starting point to compute the desired end point — the starting point can be updated at the ENDED state of the scroll event
| gesture | the gesture object containing information about this event  |                 
                      
function pinch(gesture)
Codea calls this function, if it is defined in your project, whenever a pinch event occurs in the viewer. This is triggered by a two-finger pinch on an attached trackpad input device
The gesture parameter of this function contains information about the pinch event. Including its location, pinchScale and pinchVelocity. pinchScale (float) is the magnitude of the pinch since the pinch began (gesture.state == BEGAN). pinchVelocity (float) is the velocity of the pinch in scale factor per second. The velocity can be accumulated to perform a scale over time, centered around location
| gesture | the gesture object containing information about this event  |