UNPKG

react-native-redash

Version:
2 lines 4.76 kB
export var parseAngle=function parseAngle(angle){"worklet";if(angle.endsWith("deg")){return parseFloat(angle)*(Math.PI/180);}return parseFloat(angle);};export var isTranslateX=function isTranslateX(transform){"worklet";return Object.keys(transform).indexOf("translateX")!==-1;};export var isTranslateY=function isTranslateY(transform){"worklet";return Object.keys(transform).indexOf("translateY")!==-1;};export var isScale=function isScale(transform){"worklet";return Object.keys(transform).indexOf("scale")!==-1;};export var isScaleX=function isScaleX(transform){"worklet";return Object.keys(transform).indexOf("scaleX")!==-1;};export var isScaleY=function isScaleY(transform){"worklet";return Object.keys(transform).indexOf("scaleY")!==-1;};export var isSkewX=function isSkewX(transform){"worklet";return Object.keys(transform).indexOf("skewX")!==-1;};export var isSkewY=function isSkewY(transform){"worklet";return Object.keys(transform).indexOf("skewY")!==-1;};export var isRotate=function isRotate(transform){"worklet";return Object.keys(transform).indexOf("rotate")!==-1;};export var isRotateZ=function isRotateZ(transform){"worklet";return Object.keys(transform).indexOf("rotateZ")!==-1;};var exhaustiveCheck=function exhaustiveCheck(a){"worklet";throw new Error("Unexhaustive handling for "+a);};export var identity3=[1,0,0,0,1,0,0,0,1];var translateXMatrix=function translateXMatrix(x){"worklet";return[1,0,x,0,1,0,0,0,1];};var translateYMatrix=function translateYMatrix(y){"worklet";return[1,0,0,0,1,y,0,0,1];};var scaleMatrix=function scaleMatrix(s){"worklet";return[s,0,0,0,s,0,0,0,1];};var scaleXMatrix=function scaleXMatrix(s){"worklet";return[s,0,0,0,1,0,0,0,1];};var scaleYMatrix=function scaleYMatrix(s){"worklet";return[1,0,0,0,s,0,0,0,1];};var skewXMatrix=function skewXMatrix(s){"worklet";return[1,Math.tan(s),0,0,1,0,0,0,1];};var skewYMatrix=function skewYMatrix(s){"worklet";return[1,0,0,Math.tan(s),1,0,0,0,1];};var rotateZMatrix=function rotateZMatrix(r){"worklet";return[Math.cos(r),-1*Math.sin(r),0,Math.sin(r),Math.cos(r),0,0,0,1];};export var dot3=function dot3(row,col){"worklet";return row[0]*col[0]+row[1]*col[1]+row[2]*col[2];};export var matrixVecMul3=function matrixVecMul3(m,v){"worklet";return[dot3([m[0],m[1],m[2]],v),dot3([m[3],m[4],m[5]],v),dot3([m[6],m[7],m[8]],v)];};export var mapPoint=function mapPoint(m,v){"worklet";var r=matrixVecMul3(m,[v[0],v[1],1]);return[r[0]/r[2],r[1]/r[2]];};export var multiply3=function multiply3(m1,m2){"worklet";var row0=[m1[0],m1[1],m1[2]];var row1=[m1[3],m1[4],m1[5]];var row2=[m1[6],m1[7],m1[8]];var col0=[m2[0],m2[3+0],m2[6+0]];var col1=[m2[1],m2[3+1],m2[6+1]];var col2=[m2[2],m2[3+2],m2[6+2]];return[dot3(row0,col0),dot3(row0,col1),dot3(row0,col2),dot3(row1,col0),dot3(row1,col1),dot3(row1,col2),dot3(row2,col0),dot3(row2,col1),dot3(row2,col2)];};var serializeToSVGMatrix=function serializeToSVGMatrix(m){"worklet";return"matrix("+m[0]+", "+m[3+0]+", "+m[1]+", "+m[3+1]+", "+m[2]+", "+m[3+2]+")";};export var svgMatrix=function svgMatrix(transforms){"worklet";return serializeToSVGMatrix(processTransform2d(transforms));};export var processTransform2d=function processTransform2d(transforms){"worklet";return transforms.reduce(function(acc,transform){if(isTranslateX(transform)){return multiply3(acc,translateXMatrix(transform.translateX));}if(isTranslateY(transform)){return multiply3(acc,translateYMatrix(transform.translateY));}if(isScale(transform)){return multiply3(acc,scaleMatrix(transform.scale));}if(isScaleX(transform)){return multiply3(acc,scaleXMatrix(transform.scaleX));}if(isScaleY(transform)){return multiply3(acc,scaleYMatrix(transform.scaleY));}if(isSkewX(transform)){return multiply3(acc,skewXMatrix(parseAngle(transform.skewX)));}if(isSkewY(transform)){return multiply3(acc,skewYMatrix(parseAngle(transform.skewY)));}if(isRotate(transform)){return multiply3(acc,rotateZMatrix(parseAngle(transform.rotate)));}if(isRotateZ(transform)){return multiply3(acc,rotateZMatrix(parseAngle(transform.rotateZ)));}return exhaustiveCheck(transform);},identity3);};var isMatrix3=function isMatrix3(arg){"worklet";return arg.length===9&&arg[0]instanceof Array;};export var decompose2d=function decompose2d(arg){"worklet";var m=isMatrix3(arg)?arg:processTransform2d(arg);var a=m[0];var b=m[3+0];var c=m[1];var d=m[3+1];var translateX=m[2];var translateY=m[3+2];var E=(a+d)/2;var F=(a-d)/2;var G=(c+b)/2;var H=(c-b)/2;var Q=Math.sqrt(Math.pow(E,2)+Math.pow(H,2));var R=Math.sqrt(Math.pow(F,2)+Math.pow(G,2));var scaleX=Q+R;var scaleY=Q-R;var a1=Math.atan2(G,F);var a2=Math.atan2(H,E);var theta=(a2-a1)/2;var phi=(a2+a1)/2;return[{translateX:translateX},{translateY:translateY},{rotateZ:-1*theta},{scaleX:scaleX},{scaleY:scaleY},{rotateZ:-1*phi}];}; //# sourceMappingURL=Matrix3.js.map