/*************************************************************
* This script is developed by Arturs Sosins aka ar2rsawseen, http://appcodingeasy.com
* Feel free to distribute and modify code, but keep reference to its creator
*
* Gestures module provides a way to define and detect gestures.
* You can define your own gestures, by providing array of points,
* that defines shape and provide callback function for each shape.
*
* For more information, examples and online documentation visit:
* http://appcodingeasy.com/Titanium-Mobile/Titanium-Gesture-recognition
**************************************************************/
var win = Titanium.UI.createWindow({
title:'Gestures example',
backgroundColor:'#000',
width: "100%",
heiht: "100%",
top: 0,
left: 0,
modal: true,
exitOnClose: true
});
var label = Titanium.UI.createLabel({
color:'#fff',
text:"Try to draw line, square, rectangle, zigzag, triangle, equilateral triangle, check or circle.",
top: 20,
font:{fontSize:20,fontFamily:'Helvetica Neue'},
textAlign:'center',
width:'auto'
});
win.add(label);
var result = Titanium.UI.createLabel({
color:'#fff',
text:"Result: ",
top: 100,
font:{fontSize:20,fontFamily:'Helvetica Neue'},
textAlign:'center',
width:'auto'
});
win.add(result);
var callback = function(name){
result.setText("Result: " + name);
};
//create countdown
var Gestures = require('Gestures');
var gest = new Gestures(win, {
autoTrack: true,
allowRotation: true,
inverseShape: true,
points: 33
});
gest.addGesture("Line", [
{x: 0, y: 0},
{x: 0, y: 100}
], callback);
gest.addGesture("Square", [
{x: 0, y: 0},
{x: 200, y: 0},
{x: 200, y: 200},
{x: 0, y: 200},
{x: 0, y: 0}
], callback);
gest.addGesture("Rectangle", [
{x: 0, y: 0},
{x: 210, y: 0},
{x: 210, y: 100},
{x: 0, y: 100},
{x: 0, y: 0}
], callback);
gest.addGesture("ZigZag", [
{x: 0, y: 0},
{x: 50, y: 87},
{x: 100, y: 0},
{x: 150, y: 87}
], callback);
gest.addGesture("Triangle", [
{x: 0, y: 0},
{x: 100, y: 100},
{x: 0, y: 100},
{x: 0, y: 0}
], callback);
gest.addGesture("Equilateral Triangle", [
{x: 0, y: 0},
{x: 50, y: 87},
{x: 100, y: 0},
{x: 0, y: 0}
], callback);
gest.addGesture("Check", [
{x: 0, y: 0},
{x: 50, y:100},
{x: 100, y: 0},
], callback);
var x = 0;
var y = -100;
var circle = [];
var totalPoints = 72;
var step = (Math.PI*2)/totalPoints;
for(var angle = 1; angle < totalPoints; angle++)
{
var newX = x*Math.cos(angle*step)-y*Math.sin(angle*step);
var newY = y*Math.cos(angle*step)+x*Math.sin(angle*step);
var point = {x: newX, y: newY};
circle.push(point);
}
gest.addGesture("Circle", circle, callback)
win.open();
|