new Touchkit(ops)
init create the touch-box.
params:
ops:{
el: touch-box element
type: String || HTMLElement; required;
// all listener,optional;
event:{
touchstart(){},
touchmove(){},
touchend(){},
dragstart(){},
drag(){},
dragend(){},
pinchstart(){},
pinch(){},
pinchend(){},
rotatestart(){},
rotate(){},
rotatend(){},
singlePinchstart(){},
singlePinch(){},
singlePinchend(){},
singleRotatestart(){},
singleRotate(){},
singleRotatend(){},
},
// optional;
// global use switch;
// it will open all touch-element all gesture while ignore the `tk.add()` 's use option.
use:{
drag:boolean,
pinch:boolean,
rotate:boolean,
singlePinch:boolean,
singleRotate:boolean,
},
// global limit option;optional;
// x/y :the ratio that touch-element can out of the box , range = element's width * x;
limit:{
x:Number,
y:Number,
maxScale:Number,
minScale:Number,
} || boolean,
// add close btn on touch element;
close:boolean,
}
add the background image of touch box;
bg: type : Object ; required ;
params:
bg : {
// background-image,type: url/HTMLImageElement/HTMLCanvasElement; required;
image:'' ,
// type: crop / contain, optional;
// the image will covered with the canvas, can control crop by left and top; and you can drag the background-image.
// contain : the same as background-size:contain; can control postion by left and top;
// contain模式无法操作底图,而crop模式可进行拖动裁剪的操作;
type:'contain',
// optional;
// the offset from the upper left point of touch box
left:0,
top:0,
// success callback;
success(){},
// error callback;
error(){},
};
add the touch-element into touch box;
params:
ops:{
image:'',
// the width of added touch ele, and it will has auto height based on the image;
// example : width:100 / 100px / 100%;
width:'',
// the position of touch ele in touch box;
// example : x : 100 / '100px' / '100%' / 'left:100'/ 'right:100';
pos:{
x:0,
y:0,
scale:1,
rotate:0,
},
// the use switch of single element;
// use:'all' : open all gesture;
use:{
drag:false,
pinch:false,
rotate:false,
singlePinch:false,
singleRotate:false,
},
// limit params;
limit:object || boolean,
// add close btn on touch element;
close:boolean,
// success callback;
success(){},
// error callback;
error(){},
};
export a composite image that is what you see in touch box.
params:
// the callback , it will get the base64
fn : function
// crop option , it can crop the result image directly.
cropOps: {
x:0,
y:0,
// example : width:100 / '100px' / '100%'
width:'100%',
height:'100%'
};
switch the operator of touch box, it will get the focus and can be operated.
params:
el: string || HTMLElement
can switch on added touch element;
tk.freeze(true)
: freeze the touch-box, all element will lose the foucs and no-operate .
tk.freeze(false)
: thaw the touch-box , it will reset to the moment before freeze.
init touch-box, there will be no background and no touch-element.
destory the touch-box , unbind all gesture event , but maintain all element's style of box.
add a corp box that can operate to crop the image.
remove all touch-element except the background-image and cropBox;
get touch-element option;
params:
index: the index of touch-element,
the value of dom's data-mt-index
;