Socket
Socket
Sign inDemoInstall

@daybrush/drag

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@daybrush/drag - npm Package Compare versions

Comparing version 0.16.1 to 0.17.0

1

declaration/Dragger.d.ts

@@ -20,2 +20,3 @@ import { DragOptions, Client, OnDrag } from "./types";

private isDouble;
private startRotate;
constructor(targets: Array<Element | Window> | Element | Window, options?: DragOptions);

@@ -22,0 +23,0 @@ isDragging(): boolean;

@@ -40,2 +40,3 @@ import { IObject } from "@daybrush/utils";

touches: Position[];
angle: number;
inputEvent: any;

@@ -46,2 +47,4 @@ }

touches: Position[];
rotation: number;
angle: number;
scale: number;

@@ -48,0 +51,0 @@ distance: number;

import { Client, Position } from "./types";
import { IArrayFormat } from "@daybrush/utils";
export declare function getRad(pos1: number[], pos2: number[]): number;
export declare function getRotatiion(touches: Client[]): number;
export declare function getPinchDragPosition(clients: Client[], prevClients: Client[], startClients: Client[], startPinchClients: Client[]): Position;

@@ -4,0 +6,0 @@ export declare function isMultiTouch(e: any): e is TouchEvent;

@@ -7,3 +7,3 @@ /*

repository: git+https://github.com/daybrush/drag.git
version: 0.16.1
version: 0.17.0
*/

@@ -42,2 +42,11 @@ 'use strict';

function getRad(pos1, pos2) {
var distX = pos2[0] - pos1[0];
var distY = pos2[1] - pos1[1];
var rad = Math.atan2(distY, distX);
return rad >= 0 ? rad : rad + Math.PI * 2;
}
function getRotatiion(touches) {
return getRad([touches[0].clientX, touches[0].clientY], [touches[1].clientX, touches[1].clientY]) / Math.PI * 180;
}
function getPinchDragPosition(clients, prevClients, startClients, startPinchClients) {

@@ -162,2 +171,3 @@ var nowCenter = getAverageClient(clients);

this.isDouble = false;
this.startRotate = 0;
/**

@@ -447,5 +457,7 @@ * @method

var centerPosition = getPosition(startAverageClient, startAverageClient, startAverageClient);
this.startRotate = getRotatiion(startClients);
pinchstart(__assign({
type: "pinchstart",
datas: this.datas,
angle: this.startRotate,
touches: getPositions(startClients, startClients, startClients)

@@ -472,2 +484,3 @@ }, centerPosition, {

var centerPosition = getPosition(getAverageClient(clients), getAverageClient(prevClients), getAverageClient(startClients));
var angle = getRotatiion(clients);
var distance = getDist(clients);

@@ -478,2 +491,4 @@ pinch(__assign({

movement: this.movement,
angle: angle,
rotation: angle - this.startRotate,
touches: getPositions(clients, prevClients, startClients),

@@ -480,0 +495,0 @@ scale: distance / this.startDistance,

@@ -7,3 +7,3 @@ /*

repository: git+https://github.com/daybrush/drag.git
version: 0.16.1
version: 0.17.0
*/

@@ -40,2 +40,11 @@ import { removeEvent, addEvent, now } from '@daybrush/utils';

function getRad(pos1, pos2) {
var distX = pos2[0] - pos1[0];
var distY = pos2[1] - pos1[1];
var rad = Math.atan2(distY, distX);
return rad >= 0 ? rad : rad + Math.PI * 2;
}
function getRotatiion(touches) {
return getRad([touches[0].clientX, touches[0].clientY], [touches[1].clientX, touches[1].clientY]) / Math.PI * 180;
}
function getPinchDragPosition(clients, prevClients, startClients, startPinchClients) {

@@ -160,2 +169,3 @@ var nowCenter = getAverageClient(clients);

this.isDouble = false;
this.startRotate = 0;
/**

@@ -445,5 +455,7 @@ * @method

var centerPosition = getPosition(startAverageClient, startAverageClient, startAverageClient);
this.startRotate = getRotatiion(startClients);
pinchstart(__assign({
type: "pinchstart",
datas: this.datas,
angle: this.startRotate,
touches: getPositions(startClients, startClients, startClients)

@@ -470,2 +482,3 @@ }, centerPosition, {

var centerPosition = getPosition(getAverageClient(clients), getAverageClient(prevClients), getAverageClient(startClients));
var angle = getRotatiion(clients);
var distance = getDist(clients);

@@ -476,2 +489,4 @@ pinch(__assign({

movement: this.movement,
angle: angle,
rotation: angle - this.startRotate,
touches: getPositions(clients, prevClients, startClients),

@@ -478,0 +493,0 @@ scale: distance / this.startDistance,

@@ -7,3 +7,3 @@ /*

repository: git+https://github.com/daybrush/drag.git
version: 0.16.1
version: 0.17.0
*/

@@ -44,2 +44,11 @@ (function (global, factory) {

function getRad(pos1, pos2) {
var distX = pos2[0] - pos1[0];
var distY = pos2[1] - pos1[1];
var rad = Math.atan2(distY, distX);
return rad >= 0 ? rad : rad + Math.PI * 2;
}
function getRotatiion(touches) {
return getRad([touches[0].clientX, touches[0].clientY], [touches[1].clientX, touches[1].clientY]) / Math.PI * 180;
}
function getPinchDragPosition(clients, prevClients, startClients, startPinchClients) {

@@ -222,2 +231,3 @@ var nowCenter = getAverageClient(clients);

this.isDouble = false;
this.startRotate = 0;
/**

@@ -507,5 +517,7 @@ * @method

var centerPosition = getPosition(startAverageClient, startAverageClient, startAverageClient);
this.startRotate = getRotatiion(startClients);
pinchstart(__assign({
type: "pinchstart",
datas: this.datas,
angle: this.startRotate,
touches: getPositions(startClients, startClients, startClients)

@@ -532,2 +544,3 @@ }, centerPosition, {

var centerPosition = getPosition(getAverageClient(clients), getAverageClient(prevClients), getAverageClient(startClients));
var angle = getRotatiion(clients);
var distance = getDist(clients);

@@ -538,2 +551,4 @@ pinch(__assign({

movement: this.movement,
angle: angle,
rotation: angle - this.startRotate,
touches: getPositions(clients, prevClients, startClients),

@@ -540,0 +555,0 @@ scale: distance / this.startDistance,

4

dist/drag.min.js

@@ -7,5 +7,5 @@ /*

repository: git+https://github.com/daybrush/drag.git
version: 0.16.1
version: 0.17.0
*/
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t=t||self).Dragger=i()}(this,function(){"use strict";var u=function(){return(u=Object.assign||function(t){for(var i,n=1,s=arguments.length;n<s;n++)for(var e in i=arguments[n])Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e]);return t}).apply(this,arguments)};function f(t,i,n,s){var e=D(t),a=D(i),r=D(s);return p(h(s[0],o(e,r)),h(s[0],o(a,r)),n[0])}function g(t){return t.touches?d(t.touches):[e(t)]}function p(t,i,n){var s=t.clientX,e=t.clientY;return{clientX:s,clientY:e,deltaX:s-i.clientX,deltaY:e-i.clientY,distX:s-n.clientX,distY:e-n.clientY}}function l(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function v(t,n,s){return t.map(function(t,i){return p(t,n[i],s[i])})}function d(t){for(var i=Math.min(t.length,2),n=[],s=0;s<i;++s)n.push(e(t[s]));return n}function e(t){return{clientX:t.clientX,clientY:t.clientY}}function D(t){return 1===t.length?t[0]:{clientX:(t[0].clientX+t[1].clientX)/2,clientY:(t[0].clientY+t[1].clientY)/2}}function h(t,i){return{clientX:t.clientX+i.clientX,clientY:t.clientY+i.clientY}}function o(t,i){return{clientX:t.clientX-i.clientX,clientY:t.clientY-i.clientY}}function m(){return Date.now?Date.now():(new Date).getTime()}function C(t,i,n,s){t.addEventListener(i,n,s)}function E(t,i,n){t.removeEventListener(i,n)}var n=function(){function t(t,i){var l=this;void 0===i&&(i={}),this.options={},this.flag=!1,this.pinchFlag=!1,this.datas={},this.isDrag=!1,this.isPinch=!1,this.isMouse=!1,this.isTouch=!1,this.prevClients=[],this.startClients=[],this.movement=0,this.startPinchClients=[],this.startDistance=0,this.customDist=[0,0],this.targets=[],this.prevTime=0,this.isDouble=!1,this.onDragStart=function(t){if(l.flag||!1!==t.cancelable){var i=l.options,n=i.container,s=i.pinchOutside,e=i.dragstart,a=i.preventRightClick,r=i.preventDefault,h=l.isTouch;if(!l.flag&&h&&s&&setTimeout(function(){C(n,"touchstart",l.onDragStart)}),l.flag&&h&&s&&E(n,"touchstart",l.onDragStart),function(t){return t.touches&&2<=t.touches.length}(t)){if(!l.flag&&t.touches.length!==t.changedTouches.length)return;l.pinchFlag||l.onPinchStart(t)}if(!l.flag){var o=l.startClients[0]?l.startClients:g(t);l.customDist=[0,0],l.flag=!0,l.isDrag=!1,l.startClients=o,l.prevClients=o,l.datas={};var c=p(o[l.movement=0],l.prevClients[0],l.startClients[0]);(!a||3!==t.which&&2!==t.button)&&!1!==(e&&e(u({type:"dragstart",datas:l.datas,inputEvent:t},c)))||(l.startClients=[],l.prevClients=[],l.flag=!1),l.isDouble=m()-l.prevTime<200,l.flag&&r&&t.preventDefault()}}},this.onDrag=function(t,i){if(l.flag){var n=g(t);l.pinchFlag&&l.onPinch(t,n);var s=l.move([0,0],t,n);if(s&&(s.deltaX||s.deltaY)){var e=l.options.drag;e&&e(u({},s,{isScroll:!!i,inputEvent:t}))}}},this.onDragEnd=function(t){if(l.flag){var i=l.options,n=i.dragend,s=i.pinchOutside,e=i.container;l.isTouch&&s&&E(e,"touchstart",l.onDragStart),l.pinchFlag&&l.onPinchEnd(t),l.flag=!1;var a=l.prevClients,r=l.startClients,h=l.pinchFlag?f(a,a,r,l.startPinchClients):p(a[0],a[0],r[0]),o=m(),c=!l.isDrag&&l.isDouble;l.prevTime=l.isDrag||c?0:o,l.startClients=[],l.prevClients=[],n&&n(u({type:"dragend",datas:l.datas,isDouble:c,isDrag:l.isDrag,inputEvent:t},h))}};var n=[].concat(t);this.options=u({container:1<n.length?window:n[0],preventRightClick:!0,preventDefault:!0,pinchThreshold:0,events:["touch","mouse"]},i);var s=this.options,e=s.container,a=s.events;if(this.isTouch=-1<a.indexOf("touch"),this.isMouse=-1<a.indexOf("mouse"),this.customDist=[0,0],this.targets=n,this.isMouse&&(n.forEach(function(t){C(t,"mousedown",l.onDragStart)}),C(e,"mousemove",this.onDrag),C(e,"mouseup",this.onDragEnd),C(e,"contextmenu",this.onDragEnd)),this.isTouch){var r={passive:!1};n.forEach(function(t){C(t,"touchstart",l.onDragStart,r)}),C(e,"touchmove",this.onDrag,r),C(e,"touchend",this.onDragEnd,r),C(e,"touchcancel",this.onDragEnd,r)}}var i=t.prototype;return i.isDragging=function(){return this.isDrag},i.isFlag=function(){return this.flag},i.isPinchFlag=function(){return this.pinchFlag},i.isPinching=function(){return this.isPinch},i.scrollBy=function(i,n,t,s){void 0===s&&(s=!0),this.flag&&(this.startClients.forEach(function(t){t.clientX-=i,t.clientY-=n}),this.prevClients.forEach(function(t){t.clientX-=i,t.clientY-=n}),s&&this.onDrag(t,!0))},i.move=function(t,i,n){var s=t[0],e=t[1];void 0===n&&(n=this.prevClients);var a=this.customDist,r=this.prevClients,h=this.startClients,o=this.pinchFlag?f(n,r,h,this.startPinchClients):p(n[0],r[0],h[0]);a[0]+=s,a[1]+=e,o.deltaX+=s,o.deltaY+=e;var c=o.deltaX,l=o.deltaY;return o.distX+=a[0],o.distY+=a[1],this.movement+=Math.sqrt(c*c+l*l),this.prevClients=n,this.isDrag=!0,u({type:"drag",datas:this.datas},o,{movement:this.movement,isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:i})},i.onPinchStart=function(t){var i,n,s=this.options,e=s.pinchstart,a=s.pinchThreshold;if(!(this.isDrag&&this.movement>a)){var r=d(t.changedTouches);if(this.pinchFlag=!0,(i=this.startClients).push.apply(i,r),(n=this.prevClients).push.apply(n,r),this.startDistance=l(this.prevClients),this.startPinchClients=this.prevClients.slice(),e){var h=this.prevClients,o=D(h),c=p(o,o,o);e(u({type:"pinchstart",datas:this.datas,touches:v(h,h,h)},c,{inputEvent:t}))}}},i.onPinch=function(t,i){if(this.flag&&this.pinchFlag&&!(i.length<2)){this.isPinch=!0;var n=this.options.pinch;if(n){var s=this.prevClients,e=this.startClients,a=p(D(i),D(s),D(e)),r=l(i);n(u({type:"pinch",datas:this.datas,movement:this.movement,touches:v(i,s,e),scale:r/this.startDistance,distance:r},a,{inputEvent:t}))}}},i.onPinchEnd=function(t){if(this.flag&&this.pinchFlag){var i=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var n=this.options.pinchend;if(n){var s=this.prevClients,e=this.startClients,a=p(D(s),D(s),D(e));n(u({type:"pinchend",datas:this.datas,isPinch:i,touches:v(s,s,e)},a,{inputEvent:t})),this.isPinch=!1,this.pinchFlag=!1}}},i.unset=function(){var i=this,t=this.targets,n=this.options.container;this.isMouse&&(t.forEach(function(t){E(t,"mousedown",i.onDragStart)}),E(n,"mousemove",this.onDrag),E(n,"mouseup",this.onDragEnd),E(n,"contextmenu",this.onDragEnd)),this.isTouch&&(t.forEach(function(t){E(t,"touchstart",i.onDragStart)}),E(n,"touchstart",this.onDragStart),E(n,"touchmove",this.onDrag),E(n,"touchend",this.onDragEnd),E(n,"touchcancel",this.onDragEnd))},t}();var t={default:n,drag:function(t,i){return new n(t,i)}};for(var i in t)n[i]=t[i];return n});
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t=t||self).Dragger=i()}(this,function(){"use strict";var u=function(){return(u=Object.assign||function(t){for(var i,n=1,s=arguments.length;n<s;n++)for(var e in i=arguments[n])Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e]);return t}).apply(this,arguments)};function l(t){return function(t,i){var n=i[0]-t[0],s=i[1]-t[1],e=Math.atan2(s,n);return 0<=e?e:e+2*Math.PI}([t[0].clientX,t[0].clientY],[t[1].clientX,t[1].clientY])/Math.PI*180}function f(t,i,n,s){var e=m(t),a=m(i),r=m(s);return p(h(s[0],o(e,r)),h(s[0],o(a,r)),n[0])}function g(t){return t.touches?D(t.touches):[e(t)]}function p(t,i,n){var s=t.clientX,e=t.clientY;return{clientX:s,clientY:e,deltaX:s-i.clientX,deltaY:e-i.clientY,distX:s-n.clientX,distY:e-n.clientY}}function v(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function d(t,n,s){return t.map(function(t,i){return p(t,n[i],s[i])})}function D(t){for(var i=Math.min(t.length,2),n=[],s=0;s<i;++s)n.push(e(t[s]));return n}function e(t){return{clientX:t.clientX,clientY:t.clientY}}function m(t){return 1===t.length?t[0]:{clientX:(t[0].clientX+t[1].clientX)/2,clientY:(t[0].clientY+t[1].clientY)/2}}function h(t,i){return{clientX:t.clientX+i.clientX,clientY:t.clientY+i.clientY}}function o(t,i){return{clientX:t.clientX-i.clientX,clientY:t.clientY-i.clientY}}function C(){return Date.now?Date.now():(new Date).getTime()}function X(t,i,n,s){t.addEventListener(i,n,s)}function Y(t,i,n){t.removeEventListener(i,n)}var n=function(){function t(t,i){var l=this;void 0===i&&(i={}),this.options={},this.flag=!1,this.pinchFlag=!1,this.datas={},this.isDrag=!1,this.isPinch=!1,this.isMouse=!1,this.isTouch=!1,this.prevClients=[],this.startClients=[],this.movement=0,this.startPinchClients=[],this.startDistance=0,this.customDist=[0,0],this.targets=[],this.prevTime=0,this.isDouble=!1,this.startRotate=0,this.onDragStart=function(t){if(l.flag||!1!==t.cancelable){var i=l.options,n=i.container,s=i.pinchOutside,e=i.dragstart,a=i.preventRightClick,r=i.preventDefault,h=l.isTouch;if(!l.flag&&h&&s&&setTimeout(function(){X(n,"touchstart",l.onDragStart)}),l.flag&&h&&s&&Y(n,"touchstart",l.onDragStart),function(t){return t.touches&&2<=t.touches.length}(t)){if(!l.flag&&t.touches.length!==t.changedTouches.length)return;l.pinchFlag||l.onPinchStart(t)}if(!l.flag){var o=l.startClients[0]?l.startClients:g(t);l.customDist=[0,0],l.flag=!0,l.isDrag=!1,l.startClients=o,l.prevClients=o,l.datas={};var c=p(o[l.movement=0],l.prevClients[0],l.startClients[0]);(!a||3!==t.which&&2!==t.button)&&!1!==(e&&e(u({type:"dragstart",datas:l.datas,inputEvent:t},c)))||(l.startClients=[],l.prevClients=[],l.flag=!1),l.isDouble=C()-l.prevTime<200,l.flag&&r&&t.preventDefault()}}},this.onDrag=function(t,i){if(l.flag){var n=g(t);l.pinchFlag&&l.onPinch(t,n);var s=l.move([0,0],t,n);if(s&&(s.deltaX||s.deltaY)){var e=l.options.drag;e&&e(u({},s,{isScroll:!!i,inputEvent:t}))}}},this.onDragEnd=function(t){if(l.flag){var i=l.options,n=i.dragend,s=i.pinchOutside,e=i.container;l.isTouch&&s&&Y(e,"touchstart",l.onDragStart),l.pinchFlag&&l.onPinchEnd(t),l.flag=!1;var a=l.prevClients,r=l.startClients,h=l.pinchFlag?f(a,a,r,l.startPinchClients):p(a[0],a[0],r[0]),o=C(),c=!l.isDrag&&l.isDouble;l.prevTime=l.isDrag||c?0:o,l.startClients=[],l.prevClients=[],n&&n(u({type:"dragend",datas:l.datas,isDouble:c,isDrag:l.isDrag,inputEvent:t},h))}};var n=[].concat(t);this.options=u({container:1<n.length?window:n[0],preventRightClick:!0,preventDefault:!0,pinchThreshold:0,events:["touch","mouse"]},i);var s=this.options,e=s.container,a=s.events;if(this.isTouch=-1<a.indexOf("touch"),this.isMouse=-1<a.indexOf("mouse"),this.customDist=[0,0],this.targets=n,this.isMouse&&(n.forEach(function(t){X(t,"mousedown",l.onDragStart)}),X(e,"mousemove",this.onDrag),X(e,"mouseup",this.onDragEnd),X(e,"contextmenu",this.onDragEnd)),this.isTouch){var r={passive:!1};n.forEach(function(t){X(t,"touchstart",l.onDragStart,r)}),X(e,"touchmove",this.onDrag,r),X(e,"touchend",this.onDragEnd,r),X(e,"touchcancel",this.onDragEnd,r)}}var i=t.prototype;return i.isDragging=function(){return this.isDrag},i.isFlag=function(){return this.flag},i.isPinchFlag=function(){return this.pinchFlag},i.isPinching=function(){return this.isPinch},i.scrollBy=function(i,n,t,s){void 0===s&&(s=!0),this.flag&&(this.startClients.forEach(function(t){t.clientX-=i,t.clientY-=n}),this.prevClients.forEach(function(t){t.clientX-=i,t.clientY-=n}),s&&this.onDrag(t,!0))},i.move=function(t,i,n){var s=t[0],e=t[1];void 0===n&&(n=this.prevClients);var a=this.customDist,r=this.prevClients,h=this.startClients,o=this.pinchFlag?f(n,r,h,this.startPinchClients):p(n[0],r[0],h[0]);a[0]+=s,a[1]+=e,o.deltaX+=s,o.deltaY+=e;var c=o.deltaX,l=o.deltaY;return o.distX+=a[0],o.distY+=a[1],this.movement+=Math.sqrt(c*c+l*l),this.prevClients=n,this.isDrag=!0,u({type:"drag",datas:this.datas},o,{movement:this.movement,isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:i})},i.onPinchStart=function(t){var i,n,s=this.options,e=s.pinchstart,a=s.pinchThreshold;if(!(this.isDrag&&this.movement>a)){var r=D(t.changedTouches);if(this.pinchFlag=!0,(i=this.startClients).push.apply(i,r),(n=this.prevClients).push.apply(n,r),this.startDistance=v(this.prevClients),this.startPinchClients=this.prevClients.slice(),e){var h=this.prevClients,o=m(h),c=p(o,o,o);this.startRotate=l(h),e(u({type:"pinchstart",datas:this.datas,angle:this.startRotate,touches:d(h,h,h)},c,{inputEvent:t}))}}},i.onPinch=function(t,i){if(this.flag&&this.pinchFlag&&!(i.length<2)){this.isPinch=!0;var n=this.options.pinch;if(n){var s=this.prevClients,e=this.startClients,a=p(m(i),m(s),m(e)),r=l(i),h=v(i);n(u({type:"pinch",datas:this.datas,movement:this.movement,angle:r,rotation:r-this.startRotate,touches:d(i,s,e),scale:h/this.startDistance,distance:h},a,{inputEvent:t}))}}},i.onPinchEnd=function(t){if(this.flag&&this.pinchFlag){var i=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var n=this.options.pinchend;if(n){var s=this.prevClients,e=this.startClients,a=p(m(s),m(s),m(e));n(u({type:"pinchend",datas:this.datas,isPinch:i,touches:d(s,s,e)},a,{inputEvent:t})),this.isPinch=!1,this.pinchFlag=!1}}},i.unset=function(){var i=this,t=this.targets,n=this.options.container;this.isMouse&&(t.forEach(function(t){Y(t,"mousedown",i.onDragStart)}),Y(n,"mousemove",this.onDrag),Y(n,"mouseup",this.onDragEnd),Y(n,"contextmenu",this.onDragEnd)),this.isTouch&&(t.forEach(function(t){Y(t,"touchstart",i.onDragStart)}),Y(n,"touchstart",this.onDragStart),Y(n,"touchmove",this.onDrag),Y(n,"touchend",this.onDragEnd),Y(n,"touchcancel",this.onDragEnd))},t}();var t={default:n,drag:function(t,i){return new n(t,i)}};for(var i in t)n[i]=t[i];return n});
//# sourceMappingURL=drag.min.js.map
{
"name": "@daybrush/drag",
"version": "0.16.1",
"version": "0.17.0",
"description": "You can set up drag events in any browser.",

@@ -5,0 +5,0 @@ "main": "./dist/drag.cjs.js",

import { DragOptions, Client, Position, OnDrag } from "./types";
import {
getPositionEvent, getPosition, getClients, getPositions,
isMultiTouch, getPinchDragPosition, getAverageClient, getDist,
isMultiTouch, getPinchDragPosition, getAverageClient, getDist, getRotatiion,
} from "./utils";

@@ -29,2 +29,3 @@ import { addEvent, removeEvent, now } from "@daybrush/utils";

private isDouble: boolean = false;
private startRotate = 0;
/**

@@ -286,5 +287,8 @@ *

);
this.startRotate = getRotatiion(startClients);
pinchstart({
type: "pinchstart",
datas: this.datas,
angle: this.startRotate,
touches: getPositions(startClients, startClients, startClients),

@@ -312,2 +316,3 @@ ...centerPosition,

);
const angle = getRotatiion(clients);
const distance = getDist(clients);

@@ -318,2 +323,4 @@ pinch({

movement: this.movement,
angle,
rotation: angle - this.startRotate,
touches: getPositions(clients, prevClients, startClients),

@@ -320,0 +327,0 @@ scale: distance / this.startDistance,

@@ -88,2 +88,3 @@ import { IObject } from "@daybrush/utils";

touches: Position[];
angle: number;
inputEvent: any;

@@ -100,2 +101,4 @@ }

touches: Position[];
rotation: number;
angle: number;
scale: number;

@@ -102,0 +105,0 @@ distance: number;

import { Client, Position } from "./types";
import { IArrayFormat } from "@daybrush/utils";
export function getRad(pos1: number[], pos2: number[]) {
const distX = pos2[0] - pos1[0];
const distY = pos2[1] - pos1[1];
const rad = Math.atan2(distY, distX);
return rad >= 0 ? rad : rad + Math.PI * 2;
}
export function getRotatiion(touches: Client[]) {
return getRad([
touches[0].clientX,
touches[0].clientY,
], [
touches[1].clientX,
touches[1].clientY,
]) / Math.PI * 180;
}
export function getPinchDragPosition(

@@ -5,0 +23,0 @@ clients: Client[],

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc