{"version":3,"sources":["webpack:///./src/assets/Rosary-1.5s-200px.svg","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./src/assets/Zoom_Filled_16px_Icon-black.svg","webpack:///./src/components/common/ImagePlayer/PlayerZoom.vue?f1cc","webpack:///./src/components/common/ImagePlayer/Loading.vue?caa8","webpack:///./node_modules/fabric/dist/fabric.js","webpack:///./node_modules/ieee754/index.js","webpack:///./src/assets/playerbar-default-image.jpg","webpack:///./src/components/common/ImagePlayer/Loading.vue?9ac8","webpack:///src/components/common/ImagePlayer/Loading.vue","webpack:///./src/components/common/ImagePlayer/Loading.vue?d8f7","webpack:///./src/components/common/ImagePlayer/Loading.vue","webpack:///./node_modules/buffer/index.js","webpack:///./src/components/common/ImagePlayer/PlayerZoom.vue?78cf","webpack:///src/components/common/ImagePlayer/PlayerZoom.vue","webpack:///./src/components/common/ImagePlayer/PlayerZoom.vue?2663","webpack:///./src/components/common/ImagePlayer/PlayerZoom.vue","webpack:///./src/assets/Zoom_Filled_16px_Icon.svg","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/events/events.js","webpack:///./src/components/common/ImagePlayer/ContextMenu.vue?d5dd","webpack:///src/components/common/ImagePlayer/ContextMenu.vue","webpack:///./src/components/common/ImagePlayer/ContextMenu.vue?8cba","webpack:///./src/components/common/ImagePlayer/ContextMenu.vue"],"names":["module","exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","this","b","a","autoBom","console","warn","test","type","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","prototype","h","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","replace","readAsDataURL","l","m","fabric","version","HTMLDocument","Document","implementation","createHTMLDocument","jsdom","virtualWindow","JSDOM","decodeURIComponent","features","FetchExternalResources","resources","jsdomImplForWrapper","implForWrapper","nodeCanvas","Canvas","DOMParser","resizeCanvasIfNeeded","pipelineState","targetCanvas","width","height","dWidth","destinationWidth","dHeight","destinationHeight","copyGLTo2DDrawImage","gl","glCanvas","canvas","ctx","getContext","translate","scale","sourceY","drawImage","copyGLTo2DPutImageData","numBytes","u8","imageBuffer","u8Clamped","Uint8ClampedArray","readPixels","RGBA","UNSIGNED_BYTE","imgData","ImageData","putImageData","isTouchSupported","maxTouchPoints","isLikelyNode","Buffer","SHARED_ATTRIBUTES","DPI","reNum","commaWsp","rePathCommand","reNonWord","fontPaths","iMatrix","svgNS","perfLimitSizeTotal","maxCacheSideLimit","minCacheSideLimit","charWidthsCache","textureSize","disableStyleCopyPaste","enableGLFiltering","devicePixelRatio","webkitDevicePixelRatio","mozDevicePixelRatio","browserShadowBlurConstant","arcToSegmentsCache","boundsOfCurveCache","cachesBoundsOfCurve","forceGLPutImageData","initFilterBackend","isWebglSupported","log","maxTextureSize","WebglFilterBackend","tileSize","Canvas2dFilterBackend","_removeEventListener","eventName","handler","__eventListeners","eventListener","util","array","fill","on","arguments","prop","_once","_handler","apply","off","bind","once","call","fire","options","listenersForEvent","filter","value","Observable","Collection","_objects","add","_onObjectAdded","renderOnAddRemove","requestRenderAll","insertAt","object","index","nonSplicing","objects","splice","remove","somethingRemoved","_onObjectRemoved","forEachObject","callback","context","getObjects","concat","o","item","isEmpty","size","contains","deep","some","obj","complexity","reduce","memo","current","CommonMethods","_setOptions","set","_initGradient","filler","property","colorStops","Gradient","_initPattern","source","Pattern","_setObject","_set","key","toggle","get","sqrt","Math","atan2","pow","PiBy180","PI","PiBy2","cos","angle","angleSlice","sin","sign","removeFromArray","idx","getRandomInt","min","max","floor","random","degreesToRadians","degrees","radiansToDegrees","radians","rotatePoint","point","newPoint","Point","x","y","v","rotateVector","addEquals","vector","rx","ry","createVector","from","to","calcAngleBetweenVectors","acos","hypot","getHatVector","multiply","getBisector","A","B","C","AB","AC","alpha","ro","phi","projectStrokeOnPoints","points","openPath","coords","s","strokeWidth","strokeUniformScalar","strokeUniform","scaleX","scaleY","getStrokeHatVector","scalar","forEach","p","miterVector","bisector","bisectorVector","strokeLineJoin","strokeMiterLimit","subtract","SQRT2","transformPoint","t","ignoreOffset","makeBoundingBoxFromPoints","transform","xPoints","minX","maxX","yPoints","minY","maxY","left","top","invertTransform","r","toFixed","number","fractionDigits","parseFloat","Number","parseUnit","fontSize","unit","exec","Text","DEFAULT_SVG_FONT_SIZE","falseFunction","getKlass","namespace","string","camelize","charAt","toUpperCase","slice","resolveNamespace","getSvgAttributes","attributes","split","loadImage","url","crossOrigin","img","createImage","onLoadCallback","src","undefined","substring","loadImageInDom","div","style","position","appendChild","querySelector","parentNode","removeChild","enlivenObjects","reviver","enlivenedObjects","numLoadedObjects","numTotalObjects","onLoaded","klass","fromObject","enlivenObjectEnlivables","enlivenProps","Object","ENLIVEN_PROPS","map","enlivedProps","enlivenPatterns","patterns","numLoadedPatterns","numPatterns","enlivenedPatterns","pattern","groupSVGElements","elements","path","sourcePath","centerPoint","Group","populateWithProperties","destination","properties","isArray","createCanvasElement","copyCanvasElement","newCanvas","toDataURL","canvasEl","format","quality","multiplyTransformMatrices","is2x2","qrDecompose","denom","skewX","skewY","translateX","translateY","calcRotateMatrix","theta","calcDimensionsMatrix","scaleMatrix","flipX","flipY","tan","composeMatrix","matrix","resetObjectTransform","rotate","saveObjectTransform","isTransparent","tolerance","temp","_isTransparent","imageData","getImageData","data","parsePreserveAspectRatioAttribute","attribute","align","meetOrSlice","alignX","alignY","aspectRatioAttrs","pop","clearFabricFontCache","fontFamily","toLowerCase","limitDimsByArea","ar","maximumArea","roughWidth","perfLimitSizeY","capValue","findScaleToFit","findScaleToCover","matrixToSVG","NUM_FRACTION_DIGITS","removeTransformFromObject","inverted","finalTransform","calcOwnMatrix","applyTransformToObject","addTransformToObject","center","setPositionByOrigin","sizeAfterTransform","dimX","dimY","transformMatrix","bbox","mergeClipPaths","c1","c2","calcTransformMatrix","clipPath","hasStyleChanged","prevStyle","thisStyle","forTextSpans","stroke","fontWeight","fontStyle","textBackgroundColor","deltaY","overline","underline","linethrough","stylesToArray","styles","text","clone","textLines","charIndex","stylesArray","keys","styleChanged","stylesFromArray","styleIndex","stylesObject","assign","_join","commandLengths","q","repeatedCommands","M","segmentToBezier","th2","th3","cosTh","sinTh","cx1","cy1","mT","fromX","fromY","costh2","sinth2","costh3","sinth3","toX","toY","cp1X","cp1Y","cp2X","cp2Y","arcToSegments","large","sweep","rotateX","th","abs","px","py","rx2","ry2","py2","px2","pl","root","cx","cy","mTheta","calcVectorAngle","dtheta","segments","ceil","mDelta","ux","uy","vx","vy","ta","tb","getBoundsOfCurve","x0","y0","x1","y1","x2","y2","x3","y3","argsString","t1","t2","b2ac","sqrtb2ac","tvalues","bounds","mt","jlen","fromArcToBeziers","fx","fy","rot","tx","ty","segsNorm","makePathSimpler","converted","previous","controlX","controlY","destinationPath","calcLineLength","CB1","CB2","CB3","CB4","getPointOnCubicBezierIterator","p1x","p1y","p2x","p2y","p3x","p3y","p4x","p4y","pct","c3","c4","getTangentCubicIterator","invT","tangentX","tangentY","QB1","QB2","QB3","getPointOnQuadraticBezierIterator","getTangentQuadraticIterator","pathIterator","iterator","perc","tempP","tmpLen","findPercentageForDistance","segInfo","distance","nextLen","lastPerc","nextStep","angleFinder","getPathSegmentsInfo","tempInfo","totalLength","info","command","destX","destY","getPointOnPath","infos","segPercent","segment","lerp","parsePath","pathString","currentPath","parsed","match","coordsStr","re","rNumber","rNumberCommaWsp","rFlagCommaWsp","rArcSeq","regArcArgumentSequence","RegExp","coordsParsed","trim","args","isNaN","commandLength","repeatedCommand","klen","getSmoothPathFromPoints","correction","p1","p2","multSignX","multSignY","manyPoints","eq","midPoint","midPointFrom","transformPath","pathOffset","pathSegment","newSegment","joinPath","pathData","invoke","method","byProperty","find","value1","value2","condition","extend","Element","hasOwnProperty","character","capitalize","firstLetterOnly","escapeXml","graphemeSplit","textstring","chr","graphemes","getWholeChar","str","next","prev","emptyFunction","IS_DONTENUM_BUGGY","toString","addMethods","parent","superclass","constructor","returnValue","valueOf","Subclass","callSuper","methodName","parentMethod","_this","superClassMethod","createClass","initialize","shift","subclasses","couldUseAttachEvent","attachEvent","touchEvents","getTouchInfo","event","touchProp","changedTouches","addListener","element","addEventListener","removeListener","removeEventListener","getPointer","scroll","getScrollLeftTop","_evt","clientX","clientY","isTouchEvent","pointerType","setStyle","elementStyle","cssText","setOpacity","normalizedProperty","styleFloat","setProperty","parseEl","supportsOpacity","opacity","supportsFilters","reOpacity","es","currentStyle","hasLayout","zoom","_slice","getById","id","getElementById","sliceCanConvertNodelists","getElementStyle","toArray","arrayLike","childNodes","err","makeElement","tagName","el","className","htmlFor","setAttribute","addClass","wrapElement","wrapper","replaceChild","docElement","documentElement","scrollLeft","scrollTop","host","nodeType","getElementOffset","docElem","scrollLeftTop","doc","ownerDocument","box","offset","offsetAttributes","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","attr","parseInt","getBoundingClientRect","clientLeft","clientTop","getNodeCanvas","impl","_canvas","_image","cleanUpJsdomNode","_currentSrc","_attributes","_classList","setImageSmoothing","imageSmoothingEnabled","webkitImageSmoothingEnabled","mozImageSmoothingEnabled","msImageSmoothingEnabled","oImageSmoothingEnabled","defaultView","getComputedStyle","selectProp","makeElementUnselectable","onselectstart","unselectable","makeElementSelectable","addParamToUrl","param","emptyFn","request","onComplete","xhr","parameters","onreadystatechange","readyState","setRequestHeader","RUNNING_ANIMATIONS","noop","defaultEasing","animate","cancel","removeFromRegistry","runningAnimations","currentValue","startValue","completionRate","durationRate","requestAnimFrame","timestamp","time","Date","duration","finish","onChange","abort","easing","isMany","endValue","byValue","onStart","tick","ticktime","currentTime","timePerc","_value","valuePerc","cancelAll","animations","animation","cancelByCanvas","cancelled","cancelByTarget","findAnimationsByTarget","findAnimationIndex","cancelFunc","findAnimation","_requestAnimFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","_cancelAnimFrame","cancelAnimationFrame","clearTimeout","cancelAnimFrame","calculateColor","begin","pos","color","animateColor","fromColor","toColor","startColor","Color","getSource","endColor","originalOnComplete","originalOnChange","posValue","colorEasing","normalize","asin","elastic","opts","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","ease","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","svgValidTagNames","svgViewBoxElements","svgInvalidAncestors","svgValidParents","attributesMap","display","visibility","colorAttributes","fSize","cPath","normalizeAttr","normalizeValue","parentAttributes","parseTransformAttribute","visible","fillIndex","strokeIndex","getSvgRegex","_setStrokeFillOpacity","setAlpha","getAlpha","toRgba","_getMultipleNodes","nodeNames","nodeName","nodeList","nodeArray","getElementsByTagName","parseStyleString","oStyle","chunk","pair","parseStyleObject","getGlobalStylesForElement","svgUid","rule","cssRules","elementMatchesRule","selectors","firstMatching","parentMatching","selectorMatches","doesSomeParentMatch","selector","matcher","classNames","getAttribute","elementById","node","nodelist","parseUseDirectives","xlinkAttribute","attrs","xlink","el2","cloneNode","currentTrans","oldLength","applyViewboxTransform","el3","createElementNS","setAttributeNS","nodeValue","firstChild","removeAttribute","svgValidTagNamesRegEx","svgViewBoxElementsRegEx","svgInvalidAncestorsRegEx","svgValidParentsRegEx","gradientDefs","clipPaths","rotateMatrix","multiplierX","multiplierY","skewMatrix","translateMatrix","transforms","transformList","reTransformList","reTransform","attributeValue","matrices","operation","combinedMatrix","reViewBoxAttrValue","viewBoxWidth","viewBoxHeight","viewBoxAttr","widthAttr","heightAttr","preserveAspectRatio","missingViewBox","missingDimAttr","toBeParsed","parsedDim","widthDiff","heightDiff","hasAncestorWithNodeName","recursivelyParseGradientsXlink","gradient","gradientsAttrs","xlinkAttr","xLink","referencedGradient","hasAttribute","children","referenceClone","parseSVGDocument","parsingOptions","__uid","descendants","selectNodes","getGradientDefs","getCSSRules","parseElements","instances","reFontDeclaration","parseFontDeclaration","lineHeight","tagArray","elList","parseAttributes","parentFontSize","ownAttributes","cssAttrs","parseStyleAttribute","normalizedAttr","normalizedValue","normalizedStyle","font","mergedAttrs","ElementsParser","parse","parsePointsAttribute","parsedPoints","rules","allRules","styleContents","textContent","ruleObj","declaration","propertyValuePairs","_rule","loadSVGFromURL","xml","responseXML","results","_options","allElements","loadSVGFromString","parser","parseFromString","regexUrl","proto","numElements","createObjects","createObject","findTag","fromElement","createCallback","checkIfDone","resolveGradient","Image","_originalElement","_removeTransformMatrix","resolveClipPath","extractPropertyDefinition","storage","regex","lastIndex","gradientDef","opacityAttr","createClipPathCallback","container","_newObj","fillRule","clipRule","usingElement","objTransformInv","gTransform","clipPathTag","clipPathOwner","that","scalarAdd","scalarAddEquals","subtractEquals","scalarSubtract","scalarSubtractEquals","multiplyEquals","divide","divideEquals","lt","lte","gt","gte","distanceFrom","dx","dy","setXY","setX","setY","setFromPoint","swap","Intersection","appendPoint","appendPoints","intersectLineLine","a1","a2","b1","b2","uaT","ubT","uB","ua","ub","intersectLinePolygon","inter","intersectPolygonPolygon","points1","points2","intersectPolygonRectangle","r1","r2","topRight","bottomLeft","inter1","inter2","inter3","inter4","_tryParsingColor","setSource","hue2rgb","colorNameMap","sourceFromHex","sourceFromRgb","sourceFromHsl","_rgbToHsl","round","_source","toRgb","toHsl","hsl","toHsla","toHex","toHexa","toGrayscale","average","currentAlpha","toBlackWhite","threshold","overlayWith","otherColor","otherAlpha","otherSource","reRGBa","reHSLa","reHex","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","fromRgb","fromSource","fromRgba","fromHsl","fromHsla","fromHex","isShortNotation","isRGBa","oColor","scaleMap","skewMap","controls","LEFT","TOP","RIGHT","BOTTOM","CENTER","opposite","bottom","right","findCornerQuadrant","fabricObject","control","cornerAngle","fireEvent","canvasOptions","scaleIsProportional","eventData","uniScaleKey","uniformIsToggled","uniformScaling","isTransformCentered","originX","originY","scalingIsForbidden","by","scaleProportionally","lockX","lockScalingX","lockY","lockScalingY","scaleCursorStyleHandler","notAllowed","n","skewCursorStyleHandler","lockSkewingY","lockSkewingX","scaleSkewCursorStyleHandler","altActionKey","scaleOrSkewActionName","isAlternative","rotationStyleHandler","lockRotation","cursorStyle","commonEventInfo","pointer","wrapWithFixedAnchor","actionHandler","getCenterPoint","constraint","translateToOriginPoint","actionPerformed","wrapWithFireEvent","getLocalPoint","corner","getZoom","padding","localPoint","toLocalPoint","offsetX","offsetY","targetHasOneFlip","compensateScaleForSkew","oppositeSkew","scaleToCompensate","axis","reference","newDim","_getTransformedDimensions","newValue","skewObjectX","newSkew","dimNoSkew","totalSkewSize","currentSkew","hasSkewed","dimBeforeSkewing","skewObjectY","skewHandlerX","localPointFromCenter","finalHandler","skewHandlerY","rotationWithSnapping","pivotPoint","lastAngle","ey","ex","curAngle","hasRotated","snapAngle","snapThreshold","rightAngleLocked","leftAngleLocked","scaleObject","dim","signX","signY","forbidScaling","gestureScale","lockScalingFlip","original","originalDistance","oldScaleX","oldScaleY","scaleObjectFromCorner","scaleObjectX","scaleObjectY","scalingYOrSkewingX","scalingY","scalingXOrSkewingY","scalingX","changeWidth","strokePadding","multiplier","oldWidth","newWidth","dragHandler","newLeft","newTop","moveX","moveY","scalingEqually","controlsUtils","renderCircleControl","styleOverride","xSize","sizeX","cornerSize","ySize","sizeY","transparentCorners","cornerStrokeColor","myLeft","myTop","save","fillStyle","cornerColor","strokeStyle","lineWidth","beginPath","arc","restore","renderSquareControl","xSizeBy2","ySizeBy2","strokeRect","Control","actionName","touchSizeX","touchSizeY","withConnection","mouseDownHandler","mouseUpHandler","getActionHandler","getMouseDownHandler","getMouseUpHandler","cursorStyleHandler","getActionName","getVisibility","controlKey","objectVisibility","_controlsVisibility","setVisibility","positionHandler","finalMatrix","calcCornerCoords","objectAngle","objectCornerSize","centerX","centerY","isTouch","cosHalfOffset","sinHalfOffset","cosHalfOffsetComp","sinHalfOffsetComp","controlTriangleAngle","cornerHypotenuse","newTheta","newThetaComp","tl","tr","bl","br","render","cornerStyle","getColorStop","colorAlpha","keyValuePairs","getLinearCoords","getRadialCoords","__convertPercentUnitsToValues","instance","svgOptions","gradientUnits","propValue","finalValue","gradientTransform","option","addColorStop","toObject","propertiesToInclude","toSVG","markup","commonAttributes","needsSwap","withViewport","additionalTransform","sort","reverse","minRadius","maxRadius","percentageShift","colorStop","toLive","createLinearGradient","createRadialGradient","colorStopEls","repeat","patternTransform","setOptions","isError","patternSource","patternWidth","patternHeight","patternOffsetX","patternOffsetY","patternImgSrc","complete","naturalWidth","naturalHeight","createPattern","Shadow","blur","affectStroke","includeDefaultValues","nonScaling","_parseShadow","shadow","shadowStr","offsetsAndBlur","reOffsetsAndBlur","fBoxX","fBoxY","BLUR_BOX","StaticCanvas","CANVAS_INIT_ERROR","renderAndResetBound","renderAndReset","requestRenderAllBound","_initStatic","backgroundColor","backgroundImage","overlayColor","overlayImage","stateful","controlsAboveOverlay","allowTouchScrolling","viewportTransform","backgroundVpt","overlayVpt","enableRetinaScaling","vptCoords","skipOffscreen","cb","_createLowerCanvas","_initOptions","interactive","_initRetinaScaling","setOverlayImage","setBackgroundImage","setBackgroundColor","setOverlayColor","calcOffset","_isRetinaScaling","getRetinaScaling","scaleRatio","__initRetinaScaling","lowerCanvasEl","contextContainer","upperCanvasEl","contextTop","_offset","image","__setBgOverlayImage","__setBgOverlayColor","_createCanvasElement","_originalCanvasStyle","_applyCanvasStyle","getWidth","getHeight","setWidth","setDimensions","setHeight","dimensions","cssValue","cssOnly","_setBackstoreDimension","hasLostContext","backstoreOnly","_setCssDimension","_isCurrentlyDrawing","freeDrawingBrush","_setBrushStyles","cacheCanvasEl","wrapperEl","setViewportTransform","vpt","activeObject","_activeObject","backgroundObject","overlayObject","group","setCoords","calcViewportBoundaries","zoomToPoint","before","after","setZoom","absolutePan","relativePan","getElement","setupState","clearContext","clearRect","clear","_hasITextHandlers","_mouseUpITextHandler","_iTextInstances","renderAll","canvasToDrawOn","renderCanvas","isRendering","iVpt","cancelRequestedRender","_renderBackground","_renderObjects","drawControls","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","globalCompositeOperation","zoomX","zoomY","_cacheCanvas","cacheTranslationX","cacheTranslationY","_renderBackgroundOrOverlay","needsVpt","moveTo","lineTo","closePath","getCenter","centerObjectH","_centerObject","centerObjectV","centerObject","viewportCenterObject","vpCenter","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","toDatalessObject","_toObjectMethod","_toObjects","excludeFromExport","_toObject","__serializeBgOverlay","originalValue","bgImage","bgColor","background","overlay","svgViewportTransformation","_setSVGPreamble","_setSVGHeader","clipPathId","_setSVGBgOverlayColor","_setSVGBgOverlayImage","_setSVGObjects","suppressPreamble","encoding","viewBox","createSVGFontFacesMarkup","createSVGRefElementsMarkup","createSVGClipPathMarkup","toClipPathSVG","shouldTransform","row","rowIndex","_char","fontList","_setSVGObject","finalWidth","finalHeight","shouldInvert","sendToBack","objs","activeSelection","unshift","bringToFront","sendBackwards","intersecting","newIdx","objsMoved","_findNewLowerIndex","isIntersecting","intersectsWithObject","isContainedWithinObject","bringForward","_findNewUpperIndex","dispose","classList","DataURLExporter","EMPTY_JSON","supports","setLineDash","toJSON","createPNGStream","createJPEGStream","BaseBrush","strokeLineCap","strokeDashArray","limitedToCanvasSize","lineCap","miterLimit","lineJoin","_saveAndTransform","_setShadow","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","needsFullRender","_resetShadow","_isOutSideCanvas","PencilBrush","decimate","drawStraightLine","straightLineKey","_points","_hasStraightLine","_drawSegment","quadraticCurveTo","onMouseDown","_isMainEvent","_prepareForDrawing","_captureDrawingPath","_render","onMouseMove","oldEnd","onMouseUp","_finalizeAndAddPath","_reset","_addPoint","pointerPoint","convertPointsToSVGPath","_isEmptySVGPath","createPath","Path","decimatePoints","cDistance","adjustedDistance","lastPoint","newPoints","CircleBrush","drawDot","addPoint","dot","radius","originalRenderOnAddRemove","circles","circle","Circle","circleRadius","circleColor","SprayBrush","density","dotWidth","dotWidthVariance","randomOpacity","optimizeOverlapping","sprayChunks","addSprayChunk","sprayChunkPoints","rects","ilen","sprayChunk","rect","Rect","_getOptimizedRects","uniqueRects","uniqueRectsArray","globalAlpha","fillRect","PatternBrush","getPatternSrc","dotDistance","patternCanvas","patternCtx","getPatternSrcFunction","String","getPattern","topLeft","_getLeftTopCoords","_initInteractive","_createCacheCanvas","centeredScaling","centeredRotation","centeredKey","selection","selectionKey","altSelectionKey","selectionColor","selectionDashArray","selectionBorderColor","selectionLineWidth","selectionFullyContained","hoverCursor","moveCursor","defaultCursor","freeDrawingCursor","notAllowedCursor","containerClass","perPixelTargetFind","targetFindTolerance","skipTargetFind","isDrawingMode","preserveObjectStacking","stopContextMenu","fireRightClick","fireMiddleClick","targets","enablePointerEvents","_hoveredTarget","_hoveredTargets","_currentTransform","_groupSelector","_initWrapperElement","_createUpperCanvas","_initEventListeners","_chooseObjectsToRender","objsToRender","activeGroupObjects","activeObjects","getActiveObjects","contextTopDirty","renderTopLayer","_drawSelection","renderTop","_normalizePointer","invertedM","vptPointer","restorePointerVpt","isTargetTransparent","normalizedPointer","targetRelativeX","targetRelativeY","_cacheContext","contextCache","originalColor","selectionBackgroundColor","_isSelectionKeyPressed","selectionKeyPressed","_shouldClearSelection","evented","selectable","_shouldCenterTransform","action","altKey","centerTransform","_getOriginFromCorner","_getActionFromCorner","alreadySelected","_setupCurrentTransform","__corner","lastX","lastY","shiftKey","_beforeTransform","setCursor","cursor","viewportStart","viewportExtent","extent","strokeOffset","_setLineDash","findTarget","skipGroup","activeTarget","activeTargetSubs","ignoreZoom","aObjects","shouldLookForActive","_findTargetCorner","_searchPossibleTargets","_checkTarget","globalPointer","containsPoint","isEditing","subTarget","objToCheck","pointerToUse","subTargetCheck","_absolutePointer","_pointer","cssScale","boundsWidth","boundsHeight","retinaScaling","lowerCanvasClass","_copyCanvasStyle","getTopContext","fromEl","toEl","getSelectionContext","getSelectionElement","getActiveObject","active","_discardActiveObject","_fireSelectionEvents","oldObjects","somethingChanged","added","removed","oldObject","selected","deselected","setActiveObject","currentActives","_setActiveObject","onSelect","onDeselect","discardActiveObject","removeListeners","_renderControls","originalProperties","_realizeGroupTransformOnObject","_unwindGroupTransformOnObject","layoutProps","originalValues","clearContextTop","RIGHT_CLICK","MIDDLE_CLICK","LEFT_CLICK","addEventOptions","passive","checkClick","button","mainTouchId","_bindEvents","addOrRemove","_getEventPrefix","functor","eventjsFunctor","canvasElement","eventTypePrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onDoubleClick","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","eventjs","_onGesture","_onDrag","_onOrientationChange","_onShake","_onLongPress","_onMouseUp","_onTouchEnd","eventsBound","_simpleEventHandler","__onTransformGesture","__onDrag","__onMouseWheel","_target","__onOrientationChange","__onShake","__onLongPress","preventDefault","_fireEnterLeaveEvents","stopPropagation","_cacheTransformEventData","_handleEvent","_resetTransformEventData","getPointerId","evt","identifier","pointerId","isPrimary","touches","__onMouseDown","__onMouseUp","_willAddMouseDown","__onMouseMove","_shouldRender","groupSelector","shouldRender","isClick","_onMouseUpInDrawingMode","_finalizeCurrentTransform","targetWasActive","_maybeGroupObjects","activeOn","isMoving","originalControl","originalMouseUpHandler","_setCursorFromEvent","eventType","subTargets","absolutePointer","currentTarget","currentSubTargets","_scaling","hasStateChanged","_fire","_onMouseDownInDrawingMode","_onMouseMoveInDrawingMode","_previousPointer","shouldGroup","_shouldGroup","_handleGrouping","saveState","_transformObject","_fireOverOutEvents","fireSyntheticInOutEvents","oldTarget","evtOut","canvasEvtOut","evtIn","canvasEvtIn","_draggedoverTarget","config","inOpt","outOpt","outFires","inFires","targetChanged","previousTarget","nextTarget","reset","_performTransformAction","getCornerCursor","_updateActiveSelection","_createActiveSelection","currentActiveObjects","removeWithUpdate","addWithUpdate","_createGroup","isActiveLower","groupObjects","exitEditing","ActiveSelection","_groupSelectedObjects","aGroup","_collectObjects","currentObject","selectionX1Y1","selectionX2Y2","allowIntersect","intersectsWithRect","isContainedWithinRect","toCanvasElement","cropping","scaledWidth","scaledHeight","originalWidth","originalHeight","newZoom","vp","originalInteractive","newVp","originalRetina","originalContextTop","loadFromJSON","json","serialized","JSON","_enlivenObjects","_setBgOverlay","enlivenedCanvasClip","__setupCanvas","loaded","cbIfLoaded","__setBgOverlay","enlivedObject","_toDataURL","_toDataURLWithMultiplier","toDataURLWithMultiplier","stringify","cloneWithoutData","backgroundImageOpacity","backgroundImageStretch","objectCaching","ALIASING_LIMIT","touchCornerSize","borderColor","borderDashArray","cornerDashArray","strokeDashOffset","borderOpacityWhenMoving","borderScaleFactor","minScaleLimit","hasControls","hasBorders","lockMovementX","lockMovementY","statefullCache","noScaleCache","dirty","paintFirst","stateProperties","cacheProperties","colorProperties","absolutePositioned","_cacheProperties","_updateCacheCanvas","_limitCacheSize","dims","limitedDims","capped","_getCacheCanvasDimensions","objectScale","getTotalObjectScaling","neededX","neededY","drawingWidth","drawingHeight","minCacheSize","dimensionsChanged","cacheWidth","cacheHeight","zoomChanged","shouldRedraw","additionalWidth","additionalHeight","shouldResizeCanvas","canvasWidth","canvasHeight","sizeGrowing","sizeShrinking","getHeightOfLine","setTransform","needFullTransform","_removeDefaultValues","getObjectScaling","retina","getObjectOpacity","shouldConstrainValue","isChanged","groupNeedsUpdate","_constrainScale","isOnACache","setOnGroup","getViewportTransform","isNotVisible","isOnScreen","_setupCompositeOperation","drawSelectionBackground","_setOpacity","drawCacheOnCanvas","_removeCacheCanvas","drawObject","propertySet","isCacheDirty","hasStroke","hasFill","needsItsOwnCache","ownCaching","willDrawShadow","drawClipPathOnCache","originalFill","originalStroke","_setClippingProperties","_drawClipPath","skipCanvas","_getNonTransformedDimensions","_removeShadow","_setStrokeStyles","decl","lineDashOffset","_applyPatternForTransformedGradient","_applyPatternGradientTransform","_setFillStyles","dashArray","drawBorders","forActiveSelection","drawBordersInGroup","scaling","multX","multY","_renderPaintInOrder","_renderStroke","_renderFill","pCtx","pCanvas","_findCenterFromElement","_assignTransformMatrixProps","preserveAspectRatioOptions","cropX","cropY","offsetLeft","offsetTop","objectForm","_fromObject","cloneAsImage","utils","origParams","originalGroup","originalShadow","withoutTransform","withoutShadow","boundingRect","getBoundingRect","shadowOffset","originalCanvas","isType","includes","shouldCenterOrigin","_setOriginToCenter","_resetOrigin","centerH","viewportCenterH","centerV","viewportCenterV","viewportCenter","getLocalPointer","pClicked","objectLeftTop","createAccessors","extraParam","originXOffset","originYOffset","translateToGivenOrigin","fromOriginX","fromOriginY","toOriginX","toOriginY","translateToCenterPoint","leftTop","getPointByOrigin","adjustPosition","offsetFrom","offsetTo","hypotFull","getScaledWidth","xFull","yFull","_originalOriginX","_originalOriginY","originPoint","arrayFromCoords","multiplyMatrices","oCoords","aCoords","lineCoords","ownMatrixCache","matrixCache","_getCoords","absolute","calculate","calcACoords","calcLineCoords","getCoords","pointTL","pointBR","intersection","other","otherCoords","lines","_getImageLines","_findCrossPoints","_containsCenterOfCanvas","isPartiallyOnScreen","allPointsAreOutside","every","topline","rightline","bottomline","leftline","xi","iLine","xcount","lineKey","getScaledHeight","scaleToWidth","boundingRectFactor","scaleToHeight","cosP","sinP","cosPSinP","cosPMinusSinP","calcOCoords","_calcRotateMatrix","_calcTranslateMatrix","startMatrix","_calculateCurrentDimensions","forEachControl","w","skipCorners","_setCornerCoords","transformMatrixKey","sep","prefix","cache","tMatrix","noSkew","_finalizeDimensions","getSvgColorString","getSvgStyles","skipShadow","getSvgFilter","getSvgSpanStyles","useWhiteSpace","term","textDecoration","getSvgTextDecoration","decoration","getSvgCommons","getSvgTransform","full","svgTransform","_setSVGBg","textBgRects","_getFillAttributes","_createBaseSVGMarkup","_toSVG","_createBaseClipPathSVGMarkup","objectMarkup","commonPieces","clipPathMarkup","noStyle","styleInfo","shadowInfo","withShadow","vectorEffect","absoluteClipPath","addPaintOrder","originalSet","saveProps","props","tmpObj","_isEqual","origValue","firstPass","dashedPropertySet","forTouch","isControlVisible","touchCorner","fn","controlObject","wh","shouldStroke","setControlVisible","setControlsVisibility","FX_DURATION","fxCenterObjectH","callbacks","empty","fxCenterObjectV","fxRemove","skipCallbacks","propsToAnimate","out","_animate","propPair","propIsColor","valueProgress","timeProgress","coordProps","makeEdgeToOriginGetter","propertyNames","originValues","axis1","axis2","dimension","nearest","farthest","Line","_setWidthHeight","_getLeftToOriginX","_getTopToOriginY","calcLinePoints","origStrokeStyle","xMult","yMult","ATTRIBUTE_NAMES","parsedAttributes","_callback","isValidRadius","startAngle","endAngle","setRadius","svgString","startX","startY","endX","endY","largeFlag","getRadiusX","getRadiusY","Triangle","widthBy2","heightBy2","piBy2","Ellipse","getRx","getRy","_initRxRy","isRounded","bezierCurveTo","Polyline","exactBoundingBox","_setPositionDimensions","_projectStrokeOnPoints","correctLeftTop","calcDim","_calcDimensions","correctSize","fromSVG","diffX","diffY","commonRender","fromElementGenerator","_class","Polygon","_setPath","_renderPathCommands","subpathStartX","subpathStartY","_getOffsetTransform","digits","aX","aY","deltaX","pathUrl","elivenedObjects","useSetOnGroup","isAlreadyGrouped","_updateObjectsACoords","_calcBounds","_updateObjectsCoords","skipControls","_updateObjectCoords","objectLeft","objectTop","nested","_restoreObjectsState","_includeDefaultValues","objsToObject","originalDefaults","_obj","ownCache","groupMatrix","destroy","toActiveSelection","ungroupOnCanvas","setObjectsCoords","onlyWidthHeight","iLen","jLen","_getBounds","minXY","maxXY","toGroup","newGroup","childrenOverride","srcFromAttribute","_lastScaleX","_lastScaleY","_filterScalingX","_filterScalingY","minimumScaleTrigger","cacheKey","imageSmoothing","filters","_initElement","_element","setElement","removeTexture","_initConfig","applyFilters","resizeFilter","applyResizeFilters","backend","filterBackend","evictCachesForKey","getCrossOrigin","getOriginalSize","_stroke","filterObj","getSrc","hasCrop","strokeSvg","imageMarkup","imageRendering","getSvgSrc","origFill","filtered","setSrc","minimumScale","elementToFilter","_filteredEl","sourceWidth","sourceHeight","isNeutralState","imgElement","_needsResize","elementToDraw","elWidth","elHeight","sX","sY","sW","sH","maxDestW","maxDestH","_resetWidthHeight","CSS_CANVAS","_initFilters","pAR","rWidth","rHeight","pWidth","pHeight","_object","resizeFilters","fromURL","imgOptions","_getAngleValueForStraighten","straighten","fxStraighten","straightenObject","fxStraightenObject","testPrecision","precision","fragmentSource","fragmentShader","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","setupGLContext","captureGPUInfo","isSupported","getParameter","MAX_TEXTURE_SIZE","precisions","webGlPrecision","createWebGLCanvas","aPosition","Float32Array","chooseFastestCopyGLTo2DMethod","canUseImageData","canMeasurePerf","performance","canUseArrayBuffer","ArrayBuffer","canUseUint8Clamped","copyGLTo2D","startTime","drawImageTime","putImageDataTime","testContext","now","glOptions","premultipliedAlpha","depth","stencil","antialias","clearColor","cachedTexture","getCachedTexture","sourceTexture","createTexture","targetTexture","originalTexture","passes","webgl","programCache","pass","tempFbo","createFramebuffer","bindFramebuffer","FRAMEBUFFER","applyTo","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","textureImageSource","filterType","texture","texParameteri","TEXTURE_MAG_FILTER","NEAREST","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","texImage2D","uniqueId","gpuInfo","renderer","vendor","ext","getExtension","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","sourceElement","originalImageData","originalEl","BaseFilter","vertexSource","createProgram","vertexShader","VERTEX_SHADER","getShaderInfoLog","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","attributeLocations","getAttributeLocations","uniformLocations","getUniformLocations","uStepW","getUniformLocation","uStepH","getAttribLocation","sendAttributeData","aPositionData","attributeLocation","buffer","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","main","mainParameter","applyToWebGL","applyTo2d","retrieveShader","shader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","textureUnit","activeTexture","TEXTURE0","unbindAdditionalTexture","getMainParameter","setMainParameter","createHelpLayer","helpLayer","mainP","ColorMatrix","colorsOnly","uColorMatrix","uConstants","constants","uniformMatrix4fv","uniform4fv","Brightness","brightness","uBrightness","Convolute","opaque","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","dstOff","scx","scy","srcOff","wt","weights","side","halfSide","sw","sh","createImageData","dst","alphaFac","uMatrix","uOpaque","uHalfSize","uSize","uniform1fv","Grayscale","lightness","luminosity","mode","uMode","uniform1i","Invert","invert","uInvert","Noise","noise","rand","uNoise","uSeed","Pixelate","blocksize","_i","_j","_iLen","_jLen","uBlocksize","RemoveColor","useAlpha","lowC","highC","uLow","uHigh","Brownie","Vintage","Kodachrome","Technicolor","Polaroid","Sepia","BlackWhite","BlendColor","screen","diff","lighten","darken","exclusion","tint","buildSource","tg","alpha1","uColor","BlendImage","mask","TEXTURE1","calculateMatrix","canvas1","blendData","blendImage","uTransformMatrix","uImage","uniformMatrix3fv","Resize","resizeType","lanczosLobes","uDelta","uTaps","uniform2fv","horizontal","taps","filterWindow","getFilterWindow","generateShader","tempScale","getTaps","lobeFunction","lanczosCreate","offsets","fragmentSourceTOP","dW","dH","lobes","xx","rcpScaleX","rcpScaleY","newData","oW","oH","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","tmpCanvas","mult","doneW","doneH","stepW","stepH","dX","dY","process","u","weight","fX","fY","ratioX","icenter","ratioY","range2X","cacheLanc","range2Y","lanczos","rcpRatioX","rcpRatioY","srcData","destData","destImg","xDiff","yDiff","chnl","origPix","w4","pixels","destImage","destPixels","ratioW","ratioH","ratioWHalf","ratioHHalf","img2","data2","weightsAlpha","gxR","gxG","gxB","gxA","yy","w0","Contrast","contrast","contrastF","uContrast","Saturation","saturation","adjust","uSaturation","Vibrance","vibrance","avg","amt","uVibrance","Blur","aspectRatio","simpleBlur","canvas2","blurLayer1","blurLayer2","percent","ctx1","ctx2","nSamples","newImageData","delta","chooseRightDelta","blurScale","Gamma","gamma","rInv","gInv","bInv","rVals","gVals","bVals","uGamma","uniform3fv","Composed","subFilters","HueRotation","rotation","rad","aThird","aThirdSqtSin","OneMinusCos","additionalProps","_dimensionAffectingProps","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","textAlign","superscript","baseline","subscript","pathStartOffset","pathSide","pathAlign","_fontSizeFraction","_fontSizeMult","charSpacing","_measuringContext","direction","_styleProperties","__charBounds","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","__skipDimension","setPathInfo","initDimensions","segmentsInfo","getMeasuringContext","_splitText","newLines","_splitTextIntoLines","_textLines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","diffSpace","currentLineWidth","numberOfSpaces","accumulatedSpace","line","charBound","spaces","isEndOfWrapping","getLineWidth","kernedWidth","lineIndex","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderText","_renderTextStroke","_renderTextFill","charStyle","forMeasuring","textBaseline","_getFontDeclaration","maxWidth","_renderTextLine","_renderChars","styleHas","heightOfLine","lineLeftOffset","lastColor","charBox","currentColor","drawStart","leftOffset","_getLeftOffset","lineTopOffset","_getTopOffset","boxStart","boxWidth","_getLineLeftOffset","getValueOfPropertyAt","renderLeft","getFontCache","cacheProp","_measureChar","previousChar","prevCharStyle","coupleWidth","previousWidth","fontCache","fontDeclaration","previousFontDeclaration","couple","stylesAreEqual","fontMultiplier","measureText","getHeightOfChar","measureLine","lineInfo","_measureLine","_getWidthOfCharSpacing","grapheme","prevGrapheme","graphemeInfo","startingPoint","totalPathLength","numOfSpaces","lineBounds","positionInPath","_getGraphemeBox","_setGraphemeOnPath","centerPosition","skipLeft","getCompleteStyleDeclaration","previousBox","__lineHeights","maxHeight","_renderTextCommon","lineHeights","isEmptyStyles","actualStyle","nextStyle","timeToRender","drawingLeft","isJustify","charsToRender","shortCut","isLtr","currentDirection","_renderChar","_applyPatternGradientTransformText","handleFiller","fillOffsets","strokeOffsets","_getStyleDeclaration","fullDecl","shouldFill","fillText","strokeText","setSuperscript","_setScript","setSubscript","schema","loc","get2DCursorLocation","setSelectionStyles","lineDiff","__lineWidths","_shouldClearDimensionCache","shouldClear","_forceClearCache","_size","_dy","lastDecoration","currentDecoration","currentFill","lastFill","topOffset","styleObject","family","fontIsGeneric","genericFonts","newLine","newText","allProperties","needsDims","isAddingPath","_key","parsedAnchor","textAnchor","originalStrokeWidth","textHeightScaleFactor","lineHeightDiff","scaledDiff","textHeight","offX","objectCopy","textInstance","pathInstance","p3","0","cleanStyle","letterCount","stylePropertyValue","stylesCount","allStyleObjectPropertiesMatch","graphemeCount","stylePropertyHasBeenSet","removeStyle","lineNum","charNum","_extendStyles","_getLineStyle","_setLineStyle","_setStyleDeclaration","selectionStart","skipWrapping","getSelectionStyles","startIndex","endIndex","selectionEnd","getStyleAtPosition","lineStyle","_deleteStyleDeclaration","_deleteLineStyle","parseDecoration","IText","editable","editingBorderColor","cursorColor","cursorDelay","cursorDuration","caching","hiddenTextareaContainer","_reSpace","_currentCursorOpacity","_selectionDirection","_abortCursorAnimation","__widthOfSpace","inCompositionMode","initBehavior","setSelectionStart","_updateAndFire","setSelectionEnd","_fireSelectionChanged","_updateTextarea","initDelayedCursor","cursorOffsetCache","renderCursorOrSelection","skipRestore","_clearTextArea","boundaries","_getCursorBoundaries","renderCursor","renderSelection","_getCursorBoundariesOffsets","cursorPosition","bound","cursorLocation","charHeight","__isMousedown","hiddenTextarea","startLine","endLine","startChar","endChar","lineOffset","realLineHeight","boxEnd","drawWidth","drawHeight","extraTop","compositionColor","getCurrentCharFontSize","cp","_getCurrentCharIndex","getCurrentCharColor","objCopy","initAddedHandler","initRemovedHandler","initCursorSelectionHandlers","initDoubleClickSimulation","mouseMoveHandler","_initCanvasHandlers","_removeCanvasHandlers","_tick","_currentTickState","_animateCursor","targetOpacity","completeMethod","tickState","isAborted","_onTickComplete","_cursorTimeout1","_currentTickCompleteState","restart","delay","abortCursorAnimation","_cursorTimeout2","selectAll","getSelectedText","findWordBoundaryLeft","startFrom","findWordBoundaryRight","findLineBoundaryLeft","findLineBoundaryRight","searchWordBoundary","selectWord","newSelectionStart","newSelectionEnd","selectLine","enterEditing","exitEditingOnOthers","initHiddenTextarea","focus","_saveEditingProps","_setEditingProps","_textBeforeEdit","initMouseMoveHandler","activeElement","getSelectionStartFromPointer","currentStart","currentEnd","__selectionStartOnMouseDown","restartCursorIfNeeded","fromStringToGraphemeSelection","smallerTextStart","graphemeStart","smallerTextEnd","graphemeEnd","fromGraphemeToStringSelection","newSelection","updateTextareaPosition","updateFromTextArea","_calcTextareaPosition","desiredPosition","compositionStart","upperCanvas","upperCanvasWidth","upperCanvasHeight","clientWidth","clientHeight","_savedProps","_restoreEditingProps","isTextChanged","_removeExtraneousStyles","removeStyleFromTo","styleObj","cursorStart","cursorEnd","lineStart","charStart","lineEnd","charEnd","shiftLineStyles","numericChar","clonedStyles","numericLine","insertNewlineStyleObject","qty","copiedStyle","currentCharStyle","newLineStyles","somethingAdded","isEndOfLine","numIndex","styleCarriedOver","insertCharStyleObject","quantity","currentLineStyles","currentLineStylesCloned","numericIndex","newStyle","insertNewStyleBlock","insertedText","cursorLoc","addedLines","linesLength","setSelectionStartEndWithShift","setSelectionInBoundaries","__lastClickTime","__lastLastClickTime","__lastPointer","__newClickTime","newPointer","isTripleClick","_stopEvent","__lastIsEditing","__lastSelected","initMousedownHandler","initMouseupHandler","initClicks","doubleClickHandler","tripleClickHandler","_mouseDownHandler","setCursorByClick","_mouseDownHandlerBefore","currentActive","mouseOffset","prevWidth","_getNewSelectionStartFromOffset","distanceBtwLastCharAndCursor","distanceBtwNextCharAndCursor","onKeyDown","onKeyUp","onInput","copy","paste","onCompositionStart","onCompositionUpdate","onCompositionEnd","_clickHandlerInitialized","onClick","keysMap","9","27","33","34","35","36","37","38","39","40","keysMapRtl","ctrlKeysMapUp","67","88","ctrlKeysMapDown","65","keyMap","keyCode","ctrlKey","metaKey","stopImmediatePropagation","_copyDone","fromPaste","removedText","removeFrom","removeTo","nextText","charCount","nextCharCount","charDiff","textareaSelection","backDelete","copiedText","copiedTextStyle","compositionEnd","_getClipboardData","clipboardData","_getWidthBeforeCursor","widthBeforeCursor","getDownCursorOffset","isRight","selectionProp","_getSelectionForOffset","indexOnOtherLine","_getIndexOnLine","textAfterCursor","getUpCursorOffset","textBeforeCursor","charWidth","foundMatch","widthOfCharsOnLine","indexOnLine","leftEdge","rightEdge","offsetFromLeftEdge","offsetFromRightEdge","moveCursorDown","_moveCursorUpOrDown","moveCursorUp","moveCursorWithShift","moveCursorWithoutShift","moveCursorLeft","_moveCursorLeftOrRight","_move","_moveLeft","_moveRight","moveCursorLeftWithoutShift","change","moveCursorLeftWithShift","moveCursorRight","moveCursorRightWithShift","moveCursorRightWithoutShift","changed","removeChars","insertChars","multipleSpacesRegex","_getSVGLeftTopOffsets","textAndBg","_getSVGTextAndBg","textTop","textLeft","_wrapSVGTextAndBg","lineTop","noShadow","textSpans","textTopOffset","textLeftOffset","_setSVGTextLineBg","_setSVGTextLineText","_createTextCharSpan","styleDecl","shouldUseWhitespace","styleProps","fillStyles","dySpan","_pushTextBgRect","fillColor","_getSVGLineTopOffset","lastHeight","svgStyle","Textbox","minWidth","dynamicMinWidth","__cachedLines","_wordJoiners","splitByGrapheme","_styleMap","_generateStyleMap","textInfo","realLineCount","realLineCharCount","isWrapping","nextOffset","nextLineIndex","shouldLimit","mapNextLine","_wrapText","desiredWidth","wrapped","_wrapLine","_measureWord","word","charOffset","_line","reservedSpace","words","infix","wordWidth","infixWidth","largestWordWidth","lineJustStarted","additionalSpace","getMinWidth","linesToKeep","scaleSkewStyleHandler","scaleStyleHandler","objectControls","ml","mr","mb","mtr","textBoxControls","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","write","rt","LN2","_vm","_h","$createElement","_c","_self","staticClass","staticRenderFns","loading","default","computed","loadingStyle","zIndex","component","base64","ieee754","typedArraySupport","__proto__","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","RangeError","arg","encodingOrOffset","allocUnsafe","TypeError","fromArrayBuffer","fromString","assertSize","alloc","checked","isEncoding","actual","fromArrayLike","byteOffset","isBuffer","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","Symbol","species","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","list","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","bytes","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","class","themeName","$event","$emit","$vuetify","theme","_v","_s","zoomRatio","mixins","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","Function","ProcessEmitWarning","warning","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","events","existing","create","newListener","emit","warned","emitter","count","onceWrapper","fired","wrapFn","_onceWrap","state","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","spliceOne","Promise","resolve","reject","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","wrapListener","enumerable","getPrototypeOf","setMaxListeners","getMaxListeners","doError","er","message","listeners","prependListener","prependOnceListener","originalListener","removeAllListeners","rawListeners","eventNames","_t","contextMenuStyle"],"mappings":"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","file":"js/chunk-706f742e.648828d6.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/Rosary-1.5s-200px.aee60a88.svg\";","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","module.exports = __webpack_public_path__ + \"img/Zoom_Filled_16px_Icon-black.57402b6a.svg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlayerZoom.vue?vue&type=style&index=0&id=3c671282&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=0b81d0c8&lang=scss&scoped=true&\"","/* build: `node build.js modules=ALL exclude=gestures,accessors,erasing requirejs minifier=uglifyjs` */\n/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */\n\nvar fabric = fabric || { version: '5.3.0' };\nif (typeof exports !== 'undefined') {\n exports.fabric = fabric;\n}\n/* _AMD_START_ */\nelse if (typeof define === 'function' && define.amd) {\n define([], function() { return fabric; });\n}\n/* _AMD_END_ */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (document instanceof (typeof HTMLDocument !== 'undefined' ? HTMLDocument : Document)) {\n fabric.document = document;\n }\n else {\n fabric.document = document.implementation.createHTMLDocument('');\n }\n fabric.window = window;\n}\nelse {\n // assume we're running under node.js when document/window are not present\n var jsdom = require('jsdom');\n var virtualWindow = new jsdom.JSDOM(\n decodeURIComponent('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E'),\n {\n features: {\n FetchExternalResources: ['img']\n },\n resources: 'usable'\n }).window;\n fabric.document = virtualWindow.document;\n fabric.jsdomImplForWrapper = require('jsdom/lib/jsdom/living/generated/utils').implForWrapper;\n fabric.nodeCanvas = require('jsdom/lib/jsdom/utils').Canvas;\n fabric.window = virtualWindow;\n DOMParser = fabric.window.DOMParser;\n}\n\n/**\n * True when in environment that supports touch events\n * @type boolean\n */\nfabric.isTouchSupported = 'ontouchstart' in fabric.window || 'ontouchstart' in fabric.document ||\n (fabric.window && fabric.window.navigator && fabric.window.navigator.maxTouchPoints > 0);\n\n/**\n * True when in environment that's probably Node.js\n * @type boolean\n */\nfabric.isLikelyNode = typeof Buffer !== 'undefined' &&\n typeof window === 'undefined';\n\n/* _FROM_SVG_START_ */\n/**\n * Attributes parsed from all SVG elements\n * @type array\n */\nfabric.SHARED_ATTRIBUTES = [\n 'display',\n 'transform',\n 'fill', 'fill-opacity', 'fill-rule',\n 'opacity',\n 'stroke', 'stroke-dasharray', 'stroke-linecap', 'stroke-dashoffset',\n 'stroke-linejoin', 'stroke-miterlimit',\n 'stroke-opacity', 'stroke-width',\n 'id', 'paint-order', 'vector-effect',\n 'instantiated_by_use', 'clip-path',\n];\n/* _FROM_SVG_END_ */\n\n/**\n * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.\n */\nfabric.DPI = 96;\nfabric.reNum = '(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[eE][-+]?\\\\d+)?)';\nfabric.commaWsp = '(?:\\\\s+,?\\\\s*|,\\\\s*)';\nfabric.rePathCommand = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:[eE][-+]?\\d+)?)/ig;\nfabric.reNonWord = /[ \\n\\.,;!\\?\\-]/;\nfabric.fontPaths = { };\nfabric.iMatrix = [1, 0, 0, 1, 0, 0];\nfabric.svgNS = 'http://www.w3.org/2000/svg';\n\n/**\n * Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine.\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.perfLimitSizeTotal = 2097152;\n\n/**\n * Pixel limit for cache canvases width or height. IE fixes the maximum at 5000\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.maxCacheSideLimit = 4096;\n\n/**\n * Lowest pixel limit for cache canvases, set at 256PX\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.minCacheSideLimit = 256;\n\n/**\n * Cache Object for widths of chars in text rendering.\n */\nfabric.charWidthsCache = { };\n\n/**\n * if webgl is enabled and available, textureSize will determine the size\n * of the canvas backend\n * @since 2.0.0\n * @type Number\n * @default\n */\nfabric.textureSize = 2048;\n\n/**\n * When 'true', style information is not retained when copy/pasting text, making\n * pasted text use destination style.\n * Defaults to 'false'.\n * @type Boolean\n * @default\n */\nfabric.disableStyleCopyPaste = false;\n\n/**\n * Enable webgl for filtering picture is available\n * A filtering backend will be initialized, this will both take memory and\n * time since a default 2048x2048 canvas will be created for the gl context\n * @since 2.0.0\n * @type Boolean\n * @default\n */\nfabric.enableGLFiltering = true;\n\n/**\n * Device Pixel Ratio\n * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html\n */\nfabric.devicePixelRatio = fabric.window.devicePixelRatio ||\n fabric.window.webkitDevicePixelRatio ||\n fabric.window.mozDevicePixelRatio ||\n 1;\n/**\n * Browser-specific constant to adjust CanvasRenderingContext2D.shadowBlur value,\n * which is unitless and not rendered equally across browsers.\n *\n * Values that work quite well (as of October 2017) are:\n * - Chrome: 1.5\n * - Edge: 1.75\n * - Firefox: 0.9\n * - Safari: 0.95\n *\n * @since 2.0.0\n * @type Number\n * @default 1\n */\nfabric.browserShadowBlurConstant = 1;\n\n/**\n * This object contains the result of arc to bezier conversion for faster retrieving if the same arc needs to be converted again.\n * It was an internal variable, is accessible since version 2.3.4\n */\nfabric.arcToSegmentsCache = { };\n\n/**\n * This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.\n * It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing\n * you do not get any speed benefit and you get a big object in memory.\n * The object was a private variable before, while now is appended to the lib so that you have access to it and you\n * can eventually clear it.\n * It was an internal variable, is accessible since version 2.3.4\n */\nfabric.boundsOfCurveCache = { };\n\n/**\n * If disabled boundsOfCurveCache is not used. For apps that make heavy usage of pencil drawing probably disabling it is better\n * @default true\n */\nfabric.cachesBoundsOfCurve = true;\n\n/**\n * Skip performance testing of setupGLContext and force the use of putImageData that seems to be the one that works best on\n * Chrome + old hardware. if your users are experiencing empty images after filtering you may try to force this to true\n * this has to be set before instantiating the filtering backend ( before filtering the first image )\n * @type Boolean\n * @default false\n */\nfabric.forceGLPutImageData = false;\n\nfabric.initFilterBackend = function() {\n if (fabric.enableGLFiltering && fabric.isWebglSupported && fabric.isWebglSupported(fabric.textureSize)) {\n console.log('max texture size: ' + fabric.maxTextureSize);\n return (new fabric.WebglFilterBackend({ tileSize: fabric.textureSize }));\n }\n else if (fabric.Canvas2dFilterBackend) {\n return (new fabric.Canvas2dFilterBackend());\n }\n};\n\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n // ensure globality even if entire library were function wrapped (as in Meteor.js packaging system)\n window.fabric = fabric;\n}\n\n\n(function() {\n\n /**\n * @private\n * @param {String} eventName\n * @param {Function} handler\n */\n function _removeEventListener(eventName, handler) {\n if (!this.__eventListeners[eventName]) {\n return;\n }\n var eventListener = this.__eventListeners[eventName];\n if (handler) {\n eventListener[eventListener.indexOf(handler)] = false;\n }\n else {\n fabric.util.array.fill(eventListener, false);\n }\n }\n\n /**\n * Observes specified event\n * @memberOf fabric.Observable\n * @alias on\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function that receives a notification when an event of the specified type occurs\n * @return {Self} thisArg\n * @chainable\n */\n function on(eventName, handler) {\n if (!this.__eventListeners) {\n this.__eventListeners = { };\n }\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n this.on(prop, eventName[prop]);\n }\n }\n else {\n if (!this.__eventListeners[eventName]) {\n this.__eventListeners[eventName] = [];\n }\n this.__eventListeners[eventName].push(handler);\n }\n return this;\n }\n\n function _once(eventName, handler) {\n var _handler = function () {\n handler.apply(this, arguments);\n this.off(eventName, _handler);\n }.bind(this);\n this.on(eventName, _handler);\n }\n\n function once(eventName, handler) {\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n _once.call(this, prop, eventName[prop]);\n }\n }\n else {\n _once.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Stops event observing for a particular event handler. Calling this method\n * without arguments removes all handlers for all events\n * @memberOf fabric.Observable\n * @alias off\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function to be deleted from EventListeners\n * @return {Self} thisArg\n * @chainable\n */\n function off(eventName, handler) {\n if (!this.__eventListeners) {\n return this;\n }\n\n // remove all key/value pairs (event name -> event handler)\n if (arguments.length === 0) {\n for (eventName in this.__eventListeners) {\n _removeEventListener.call(this, eventName);\n }\n }\n // one object with key/value pairs was passed\n else if (arguments.length === 1 && typeof arguments[0] === 'object') {\n for (var prop in eventName) {\n _removeEventListener.call(this, prop, eventName[prop]);\n }\n }\n else {\n _removeEventListener.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Fires event with an optional options object\n * @memberOf fabric.Observable\n * @param {String} eventName Event name to fire\n * @param {Object} [options] Options object\n * @return {Self} thisArg\n * @chainable\n */\n function fire(eventName, options) {\n if (!this.__eventListeners) {\n return this;\n }\n\n var listenersForEvent = this.__eventListeners[eventName];\n if (!listenersForEvent) {\n return this;\n }\n\n for (var i = 0, len = listenersForEvent.length; i < len; i++) {\n listenersForEvent[i] && listenersForEvent[i].call(this, options || { });\n }\n this.__eventListeners[eventName] = listenersForEvent.filter(function(value) {\n return value !== false;\n });\n return this;\n }\n\n /**\n * @namespace fabric.Observable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#events}\n * @see {@link http://fabricjs.com/events|Events demo}\n */\n fabric.Observable = {\n fire: fire,\n on: on,\n once: once,\n off: off,\n };\n})();\n\n\n/**\n * @namespace fabric.Collection\n */\nfabric.Collection = {\n\n _objects: [],\n\n /**\n * Adds objects to collection, Canvas or Group, then renders canvas\n * (if `renderOnAddRemove` is not `false`).\n * in case of Group no changes to bounding box are made.\n * Objects should be instances of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the add method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n add: function () {\n this._objects.push.apply(this._objects, arguments);\n if (this._onObjectAdded) {\n for (var i = 0, length = arguments.length; i < length; i++) {\n this._onObjectAdded(arguments[i]);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Inserts an object into collection at specified index, then renders canvas (if `renderOnAddRemove` is not `false`)\n * An object should be an instance of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the insertAt method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {Object} object Object to insert\n * @param {Number} index Index to insert object at\n * @param {Boolean} nonSplicing When `true`, no splicing (shifting) of objects occurs\n * @return {Self} thisArg\n * @chainable\n */\n insertAt: function (object, index, nonSplicing) {\n var objects = this._objects;\n if (nonSplicing) {\n objects[index] = object;\n }\n else {\n objects.splice(index, 0, object);\n }\n this._onObjectAdded && this._onObjectAdded(object);\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Removes objects from a collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n remove: function() {\n var objects = this._objects,\n index, somethingRemoved = false;\n\n for (var i = 0, length = arguments.length; i < length; i++) {\n index = objects.indexOf(arguments[i]);\n\n // only call onObjectRemoved if an object was actually removed\n if (index !== -1) {\n somethingRemoved = true;\n objects.splice(index, 1);\n this._onObjectRemoved && this._onObjectRemoved(arguments[i]);\n }\n }\n\n this.renderOnAddRemove && somethingRemoved && this.requestRenderAll();\n return this;\n },\n\n /**\n * Executes given function for each object in this group\n * @param {Function} callback\n * Callback invoked with current object as first argument,\n * index - as second and an array of all objects - as third.\n * Callback is invoked in a context of Global Object (e.g. `window`)\n * when no `context` argument is given\n *\n * @param {Object} context Context (aka thisObject)\n * @return {Self} thisArg\n * @chainable\n */\n forEachObject: function(callback, context) {\n var objects = this.getObjects();\n for (var i = 0, len = objects.length; i < len; i++) {\n callback.call(context, objects[i], i, objects);\n }\n return this;\n },\n\n /**\n * Returns an array of children objects of this instance\n * Type parameter introduced in 1.3.10\n * since 2.3.5 this method return always a COPY of the array;\n * @param {String} [type] When specified, only objects of this type are returned\n * @return {Array}\n */\n getObjects: function(type) {\n if (typeof type === 'undefined') {\n return this._objects.concat();\n }\n return this._objects.filter(function(o) {\n return o.type === type;\n });\n },\n\n /**\n * Returns object at specified index\n * @param {Number} index\n * @return {Self} thisArg\n */\n item: function (index) {\n return this._objects[index];\n },\n\n /**\n * Returns true if collection contains no objects\n * @return {Boolean} true if collection is empty\n */\n isEmpty: function () {\n return this._objects.length === 0;\n },\n\n /**\n * Returns a size of a collection (i.e: length of an array containing its objects)\n * @return {Number} Collection size\n */\n size: function() {\n return this._objects.length;\n },\n\n /**\n * Returns true if collection contains an object\n * @param {Object} object Object to check against\n * @param {Boolean} [deep=false] `true` to check all descendants, `false` to check only `_objects`\n * @return {Boolean} `true` if collection contains an object\n */\n contains: function (object, deep) {\n if (this._objects.indexOf(object) > -1) {\n return true;\n }\n else if (deep) {\n return this._objects.some(function (obj) {\n return typeof obj.contains === 'function' && obj.contains(object, true);\n });\n }\n return false;\n },\n\n /**\n * Returns number representation of a collection complexity\n * @return {Number} complexity\n */\n complexity: function () {\n return this._objects.reduce(function (memo, current) {\n memo += current.complexity ? current.complexity() : 0;\n return memo;\n }, 0);\n }\n};\n\n\n/**\n * @namespace fabric.CommonMethods\n */\nfabric.CommonMethods = {\n\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */\n _setOptions: function(options) {\n for (var prop in options) {\n this.set(prop, options[prop]);\n }\n },\n\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Gradient to\n */\n _initGradient: function(filler, property) {\n if (filler && filler.colorStops && !(filler instanceof fabric.Gradient)) {\n this.set(property, new fabric.Gradient(filler));\n }\n },\n\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Pattern to\n * @param {Function} [callback] callback to invoke after pattern load\n */\n _initPattern: function(filler, property, callback) {\n if (filler && filler.source && !(filler instanceof fabric.Pattern)) {\n this.set(property, new fabric.Pattern(filler, callback));\n }\n else {\n callback && callback();\n }\n },\n\n /**\n * @private\n */\n _setObject: function(obj) {\n for (var prop in obj) {\n this._set(prop, obj[prop]);\n }\n },\n\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n set: function(key, value) {\n if (typeof key === 'object') {\n this._setObject(key);\n }\n else {\n this._set(key, value);\n }\n return this;\n },\n\n _set: function(key, value) {\n this[key] = value;\n },\n\n /**\n * Toggles specified property from `true` to `false` or from `false` to `true`\n * @param {String} property Property to toggle\n * @return {fabric.Object} thisArg\n * @chainable\n */\n toggle: function(property) {\n var value = this.get(property);\n if (typeof value === 'boolean') {\n this.set(property, !value);\n }\n return this;\n },\n\n /**\n * Basic getter\n * @param {String} property Property name\n * @return {*} value of a property\n */\n get: function(property) {\n return this[property];\n }\n};\n\n\n(function(global) {\n\n var sqrt = Math.sqrt,\n atan2 = Math.atan2,\n pow = Math.pow,\n PiBy180 = Math.PI / 180,\n PiBy2 = Math.PI / 2;\n\n /**\n * @namespace fabric.util\n */\n fabric.util = {\n\n /**\n * Calculate the cos of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */\n cos: function(angle) {\n if (angle === 0) { return 1; }\n if (angle < 0) {\n // cos(a) = cos(-a)\n angle = -angle;\n }\n var angleSlice = angle / PiBy2;\n switch (angleSlice) {\n case 1: case 3: return 0;\n case 2: return -1;\n }\n return Math.cos(angle);\n },\n\n /**\n * Calculate the sin of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */\n sin: function(angle) {\n if (angle === 0) { return 0; }\n var angleSlice = angle / PiBy2, sign = 1;\n if (angle < 0) {\n // sin(-a) = -sin(a)\n sign = -1;\n }\n switch (angleSlice) {\n case 1: return sign;\n case 2: return 0;\n case 3: return -sign;\n }\n return Math.sin(angle);\n },\n\n /**\n * Removes value from an array.\n * Presence of value (and its position in an array) is determined via `Array.prototype.indexOf`\n * @static\n * @memberOf fabric.util\n * @param {Array} array\n * @param {*} value\n * @return {Array} original array\n */\n removeFromArray: function(array, value) {\n var idx = array.indexOf(value);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n return array;\n },\n\n /**\n * Returns random number between 2 specified ones.\n * @static\n * @memberOf fabric.util\n * @param {Number} min lower limit\n * @param {Number} max upper limit\n * @return {Number} random value (between min and max)\n */\n getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n\n /**\n * Transforms degrees to radians.\n * @static\n * @memberOf fabric.util\n * @param {Number} degrees value in degrees\n * @return {Number} value in radians\n */\n degreesToRadians: function(degrees) {\n return degrees * PiBy180;\n },\n\n /**\n * Transforms radians to degrees.\n * @static\n * @memberOf fabric.util\n * @param {Number} radians value in radians\n * @return {Number} value in degrees\n */\n radiansToDegrees: function(radians) {\n return radians / PiBy180;\n },\n\n /**\n * Rotates `point` around `origin` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} point The point to rotate\n * @param {fabric.Point} origin The origin of the rotation\n * @param {Number} radians The radians of the angle for the rotation\n * @return {fabric.Point} The new rotated point\n */\n rotatePoint: function(point, origin, radians) {\n var newPoint = new fabric.Point(point.x - origin.x, point.y - origin.y),\n v = fabric.util.rotateVector(newPoint, radians);\n return new fabric.Point(v.x, v.y).addEquals(origin);\n },\n\n /**\n * Rotates `vector` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {Object} vector The vector to rotate (x and y)\n * @param {Number} radians The radians of the angle for the rotation\n * @return {Object} The new rotated point\n */\n rotateVector: function(vector, radians) {\n var sin = fabric.util.sin(radians),\n cos = fabric.util.cos(radians),\n rx = vector.x * cos - vector.y * sin,\n ry = vector.x * sin + vector.y * cos;\n return {\n x: rx,\n y: ry\n };\n },\n\n /**\n * Creates a vetor from points represented as a point\n * @static\n * @memberOf fabric.util\n *\n * @typedef {Object} Point\n * @property {number} x\n * @property {number} y\n *\n * @param {Point} from\n * @param {Point} to\n * @returns {Point} vector\n */\n createVector: function (from, to) {\n return new fabric.Point(to.x - from.x, to.y - from.y);\n },\n\n /**\n * Calculates angle between 2 vectors using dot product\n * @static\n * @memberOf fabric.util\n * @param {Point} a\n * @param {Point} b\n * @returns the angle in radian between the vectors\n */\n calcAngleBetweenVectors: function (a, b) {\n return Math.acos((a.x * b.x + a.y * b.y) / (Math.hypot(a.x, a.y) * Math.hypot(b.x, b.y)));\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} v\n * @returns {Point} vector representing the unit vector of pointing to the direction of `v`\n */\n getHatVector: function (v) {\n return new fabric.Point(v.x, v.y).multiply(1 / Math.hypot(v.x, v.y));\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} A\n * @param {Point} B\n * @param {Point} C\n * @returns {{ vector: Point, angle: number }} vector representing the bisector of A and A's angle\n */\n getBisector: function (A, B, C) {\n var AB = fabric.util.createVector(A, B), AC = fabric.util.createVector(A, C);\n var alpha = fabric.util.calcAngleBetweenVectors(AB, AC);\n // check if alpha is relative to AB->BC\n var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC);\n var phi = alpha * (ro === 0 ? 1 : -1) / 2;\n return {\n vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)),\n angle: alpha\n };\n },\n\n /**\n * Project stroke width on points returning 2 projections for each point as follows:\n * - `miter`: 2 points corresponding to the outer boundary and the inner boundary of stroke.\n * - `bevel`: 2 points corresponding to the bevel boundaries, tangent to the bisector.\n * - `round`: same as `bevel`\n * Used to calculate object's bounding box\n * @static\n * @memberOf fabric.util\n * @param {Point[]} points\n * @param {Object} options\n * @param {number} options.strokeWidth\n * @param {'miter'|'bevel'|'round'} options.strokeLineJoin\n * @param {number} options.strokeMiterLimit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit\n * @param {boolean} options.strokeUniform\n * @param {number} options.scaleX\n * @param {number} options.scaleY\n * @param {boolean} [openPath] whether the shape is open or not, affects the calculations of the first and last points\n * @returns {fabric.Point[]} array of size 2n/4n of all suspected points\n */\n projectStrokeOnPoints: function (points, options, openPath) {\n var coords = [], s = options.strokeWidth / 2,\n strokeUniformScalar = options.strokeUniform ?\n new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1),\n getStrokeHatVector = function (v) {\n var scalar = s / (Math.hypot(v.x, v.y));\n return new fabric.Point(v.x * scalar * strokeUniformScalar.x, v.y * scalar * strokeUniformScalar.y);\n };\n if (points.length <= 1) {return coords;}\n points.forEach(function (p, index) {\n var A = new fabric.Point(p.x, p.y), B, C;\n if (index === 0) {\n C = points[index + 1];\n B = openPath ? getStrokeHatVector(fabric.util.createVector(C, A)).addEquals(A) : points[points.length - 1];\n }\n else if (index === points.length - 1) {\n B = points[index - 1];\n C = openPath ? getStrokeHatVector(fabric.util.createVector(B, A)).addEquals(A) : points[0];\n }\n else {\n B = points[index - 1];\n C = points[index + 1];\n }\n var bisector = fabric.util.getBisector(A, B, C),\n bisectorVector = bisector.vector,\n alpha = bisector.angle,\n scalar,\n miterVector;\n if (options.strokeLineJoin === 'miter') {\n scalar = -s / Math.sin(alpha / 2);\n miterVector = new fabric.Point(\n bisectorVector.x * scalar * strokeUniformScalar.x,\n bisectorVector.y * scalar * strokeUniformScalar.y\n );\n if (Math.hypot(miterVector.x, miterVector.y) / s <= options.strokeMiterLimit) {\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n return;\n }\n }\n scalar = -s * Math.SQRT2;\n miterVector = new fabric.Point(\n bisectorVector.x * scalar * strokeUniformScalar.x,\n bisectorVector.y * scalar * strokeUniformScalar.y\n );\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n });\n return coords;\n },\n\n /**\n * Apply transform t to point p\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} p The point to transform\n * @param {Array} t The transform\n * @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied\n * @return {fabric.Point} The transformed point\n */\n transformPoint: function(p, t, ignoreOffset) {\n if (ignoreOffset) {\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y,\n t[1] * p.x + t[3] * p.y\n );\n }\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y + t[4],\n t[1] * p.x + t[3] * p.y + t[5]\n );\n },\n\n /**\n * Returns coordinates of points's bounding rectangle (left, top, width, height)\n * @param {Array} points 4 points array\n * @param {Array} [transform] an array of 6 numbers representing a 2x3 transform matrix\n * @return {Object} Object with left, top, width, height properties\n */\n makeBoundingBoxFromPoints: function(points, transform) {\n if (transform) {\n for (var i = 0; i < points.length; i++) {\n points[i] = fabric.util.transformPoint(points[i], transform);\n }\n }\n var xPoints = [points[0].x, points[1].x, points[2].x, points[3].x],\n minX = fabric.util.array.min(xPoints),\n maxX = fabric.util.array.max(xPoints),\n width = maxX - minX,\n yPoints = [points[0].y, points[1].y, points[2].y, points[3].y],\n minY = fabric.util.array.min(yPoints),\n maxY = fabric.util.array.max(yPoints),\n height = maxY - minY;\n\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n\n /**\n * Invert transformation t\n * @static\n * @memberOf fabric.util\n * @param {Array} t The transform\n * @return {Array} The inverted transform\n */\n invertTransform: function(t) {\n var a = 1 / (t[0] * t[3] - t[1] * t[2]),\n r = [a * t[3], -a * t[1], -a * t[2], a * t[0]],\n o = fabric.util.transformPoint({ x: t[4], y: t[5] }, r, true);\n r[4] = -o.x;\n r[5] = -o.y;\n return r;\n },\n\n /**\n * A wrapper around Number#toFixed, which contrary to native method returns number, not string.\n * @static\n * @memberOf fabric.util\n * @param {Number|String} number number to operate on\n * @param {Number} fractionDigits number of fraction digits to \"leave\"\n * @return {Number}\n */\n toFixed: function(number, fractionDigits) {\n return parseFloat(Number(number).toFixed(fractionDigits));\n },\n\n /**\n * Converts from attribute value to pixel value if applicable.\n * Returns converted pixels or original value not converted.\n * @param {Number|String} value number to operate on\n * @param {Number} fontSize\n * @return {Number|String}\n */\n parseUnit: function(value, fontSize) {\n var unit = /\\D{0,2}$/.exec(value),\n number = parseFloat(value);\n if (!fontSize) {\n fontSize = fabric.Text.DEFAULT_SVG_FONT_SIZE;\n }\n switch (unit[0]) {\n case 'mm':\n return number * fabric.DPI / 25.4;\n\n case 'cm':\n return number * fabric.DPI / 2.54;\n\n case 'in':\n return number * fabric.DPI;\n\n case 'pt':\n return number * fabric.DPI / 72; // or * 4 / 3\n\n case 'pc':\n return number * fabric.DPI / 72 * 12; // or * 16\n\n case 'em':\n return number * fontSize;\n\n default:\n return number;\n }\n },\n\n /**\n * Function which always returns `false`.\n * @static\n * @memberOf fabric.util\n * @return {Boolean}\n */\n falseFunction: function() {\n return false;\n },\n\n /**\n * Returns klass \"Class\" object of given namespace\n * @memberOf fabric.util\n * @param {String} type Type of object (eg. 'circle')\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @return {Object} klass \"Class\"\n */\n getKlass: function(type, namespace) {\n // capitalize first letter only\n type = fabric.util.string.camelize(type.charAt(0).toUpperCase() + type.slice(1));\n return fabric.util.resolveNamespace(namespace)[type];\n },\n\n /**\n * Returns array of attributes for given svg that fabric parses\n * @memberOf fabric.util\n * @param {String} type Type of svg element (eg. 'circle')\n * @return {Array} string names of supported attributes\n */\n getSvgAttributes: function(type) {\n var attributes = [\n 'instantiated_by_use',\n 'style',\n 'id',\n 'class'\n ];\n switch (type) {\n case 'linearGradient':\n attributes = attributes.concat(['x1', 'y1', 'x2', 'y2', 'gradientUnits', 'gradientTransform']);\n break;\n case 'radialGradient':\n attributes = attributes.concat(['gradientUnits', 'gradientTransform', 'cx', 'cy', 'r', 'fx', 'fy', 'fr']);\n break;\n case 'stop':\n attributes = attributes.concat(['offset', 'stop-color', 'stop-opacity']);\n break;\n }\n return attributes;\n },\n\n /**\n * Returns object of given namespace\n * @memberOf fabric.util\n * @param {String} namespace Namespace string e.g. 'fabric.Image.filter' or 'fabric'\n * @return {Object} Object for given namespace (default fabric)\n */\n resolveNamespace: function(namespace) {\n if (!namespace) {\n return fabric;\n }\n\n var parts = namespace.split('.'),\n len = parts.length, i,\n obj = global || fabric.window;\n\n for (i = 0; i < len; ++i) {\n obj = obj[parts[i]];\n }\n\n return obj;\n },\n\n /**\n * Loads image element from given url and passes it to a callback\n * @memberOf fabric.util\n * @param {String} url URL representing an image\n * @param {Function} callback Callback; invoked with loaded image\n * @param {*} [context] Context to invoke callback in\n * @param {Object} [crossOrigin] crossOrigin value to set image element to\n */\n loadImage: function(url, callback, context, crossOrigin) {\n if (!url) {\n callback && callback.call(context, url);\n return;\n }\n\n var img = fabric.util.createImage();\n\n /** @ignore */\n var onLoadCallback = function () {\n callback && callback.call(context, img, false);\n img = img.onload = img.onerror = null;\n };\n\n img.onload = onLoadCallback;\n /** @ignore */\n img.onerror = function() {\n fabric.log('Error loading ' + img.src);\n callback && callback.call(context, null, true);\n img = img.onload = img.onerror = null;\n };\n\n // data-urls appear to be buggy with crossOrigin\n // https://github.com/kangax/fabric.js/commit/d0abb90f1cd5c5ef9d2a94d3fb21a22330da3e0a#commitcomment-4513767\n // see https://code.google.com/p/chromium/issues/detail?id=315152\n // https://bugzilla.mozilla.org/show_bug.cgi?id=935069\n // crossOrigin null is the same as not set.\n if (url.indexOf('data') !== 0 &&\n crossOrigin !== undefined &&\n crossOrigin !== null) {\n img.crossOrigin = crossOrigin;\n }\n\n // IE10 / IE11-Fix: SVG contents from data: URI\n // will only be available if the IMG is present\n // in the DOM (and visible)\n if (url.substring(0,14) === 'data:image/svg') {\n img.onload = null;\n fabric.util.loadImageInDom(img, onLoadCallback);\n }\n\n img.src = url;\n },\n\n /**\n * Attaches SVG image with data: URL to the dom\n * @memberOf fabric.util\n * @param {Object} img Image object with data:image/svg src\n * @param {Function} callback Callback; invoked with loaded image\n * @return {Object} DOM element (div containing the SVG image)\n */\n loadImageInDom: function(img, onLoadCallback) {\n var div = fabric.document.createElement('div');\n div.style.width = div.style.height = '1px';\n div.style.left = div.style.top = '-100%';\n div.style.position = 'absolute';\n div.appendChild(img);\n fabric.document.querySelector('body').appendChild(div);\n /**\n * Wrap in function to:\n * 1. Call existing callback\n * 2. Cleanup DOM\n */\n img.onload = function () {\n onLoadCallback();\n div.parentNode.removeChild(div);\n div = null;\n };\n },\n\n /**\n * Creates corresponding fabric instances from their object representations\n * @static\n * @memberOf fabric.util\n * @param {Array} objects Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @param {Function} reviver Method for further parsing of object elements,\n * called after each fabric object created.\n */\n enlivenObjects: function(objects, callback, namespace, reviver) {\n objects = objects || [];\n\n var enlivenedObjects = [],\n numLoadedObjects = 0,\n numTotalObjects = objects.length;\n\n function onLoaded() {\n if (++numLoadedObjects === numTotalObjects) {\n callback && callback(enlivenedObjects.filter(function(obj) {\n // filter out undefined objects (objects that gave error)\n return obj;\n }));\n }\n }\n\n if (!numTotalObjects) {\n callback && callback(enlivenedObjects);\n return;\n }\n\n objects.forEach(function (o, index) {\n // if sparse array\n if (!o || !o.type) {\n onLoaded();\n return;\n }\n var klass = fabric.util.getKlass(o.type, namespace);\n klass.fromObject(o, function (obj, error) {\n error || (enlivenedObjects[index] = obj);\n reviver && reviver(o, obj, error);\n onLoaded();\n });\n });\n },\n\n /**\n * Creates corresponding fabric instances residing in an object, e.g. `clipPath`\n * @see {@link fabric.Object.ENLIVEN_PROPS}\n * @param {Object} object\n * @param {Object} [context] assign enlived props to this object (pass null to skip this)\n * @param {(objects:fabric.Object[]) => void} callback\n */\n enlivenObjectEnlivables: function (object, context, callback) {\n var enlivenProps = fabric.Object.ENLIVEN_PROPS.filter(function (key) { return !!object[key]; });\n fabric.util.enlivenObjects(enlivenProps.map(function (key) { return object[key]; }), function (enlivedProps) {\n var objects = {};\n enlivenProps.forEach(function (key, index) {\n objects[key] = enlivedProps[index];\n context && (context[key] = enlivedProps[index]);\n });\n callback && callback(objects);\n });\n },\n\n /**\n * Create and wait for loading of patterns\n * @static\n * @memberOf fabric.util\n * @param {Array} patterns Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * called after each fabric object created.\n */\n enlivenPatterns: function(patterns, callback) {\n patterns = patterns || [];\n\n function onLoaded() {\n if (++numLoadedPatterns === numPatterns) {\n callback && callback(enlivenedPatterns);\n }\n }\n\n var enlivenedPatterns = [],\n numLoadedPatterns = 0,\n numPatterns = patterns.length;\n\n if (!numPatterns) {\n callback && callback(enlivenedPatterns);\n return;\n }\n\n patterns.forEach(function (p, index) {\n if (p && p.source) {\n new fabric.Pattern(p, function(pattern) {\n enlivenedPatterns[index] = pattern;\n onLoaded();\n });\n }\n else {\n enlivenedPatterns[index] = p;\n onLoaded();\n }\n });\n },\n\n /**\n * Groups SVG elements (usually those retrieved from SVG document)\n * @static\n * @memberOf fabric.util\n * @param {Array} elements SVG elements to group\n * @param {Object} [options] Options object\n * @param {String} path Value to set sourcePath to\n * @return {fabric.Object|fabric.Group}\n */\n groupSVGElements: function(elements, options, path) {\n var object;\n if (elements && elements.length === 1) {\n if (typeof path !== 'undefined') {\n elements[0].sourcePath = path;\n }\n return elements[0];\n }\n if (options) {\n if (options.width && options.height) {\n options.centerPoint = {\n x: options.width / 2,\n y: options.height / 2\n };\n }\n else {\n delete options.width;\n delete options.height;\n }\n }\n object = new fabric.Group(elements, options);\n if (typeof path !== 'undefined') {\n object.sourcePath = path;\n }\n return object;\n },\n\n /**\n * Populates an object with properties of another object\n * @static\n * @memberOf fabric.util\n * @param {Object} source Source object\n * @param {Object} destination Destination object\n * @return {Array} properties Properties names to include\n */\n populateWithProperties: function(source, destination, properties) {\n if (properties && Array.isArray(properties)) {\n for (var i = 0, len = properties.length; i < len; i++) {\n if (properties[i] in source) {\n destination[properties[i]] = source[properties[i]];\n }\n }\n }\n },\n\n /**\n * Creates canvas element\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */\n createCanvasElement: function() {\n return fabric.document.createElement('canvas');\n },\n\n /**\n * Creates a canvas element that is a copy of another and is also painted\n * @param {CanvasElement} canvas to copy size and content of\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */\n copyCanvasElement: function(canvas) {\n var newCanvas = fabric.util.createCanvasElement();\n newCanvas.width = canvas.width;\n newCanvas.height = canvas.height;\n newCanvas.getContext('2d').drawImage(canvas, 0, 0);\n return newCanvas;\n },\n\n /**\n * since 2.6.0 moved from canvas instance to utility.\n * @param {CanvasElement} canvasEl to copy size and content of\n * @param {String} format 'jpeg' or 'png', in some browsers 'webp' is ok too\n * @param {Number} quality <= 1 and > 0\n * @static\n * @memberOf fabric.util\n * @return {String} data url\n */\n toDataURL: function(canvasEl, format, quality) {\n return canvasEl.toDataURL('image/' + format, quality);\n },\n\n /**\n * Creates image element (works on client and node)\n * @static\n * @memberOf fabric.util\n * @return {HTMLImageElement} HTML image element\n */\n createImage: function() {\n return fabric.document.createElement('img');\n },\n\n /**\n * Multiply matrix A by matrix B to nest transformations\n * @static\n * @memberOf fabric.util\n * @param {Array} a First transformMatrix\n * @param {Array} b Second transformMatrix\n * @param {Boolean} is2x2 flag to multiply matrices as 2x2 matrices\n * @return {Array} The product of the two transform matrices\n */\n multiplyTransformMatrices: function(a, b, is2x2) {\n // Matrix multiply a * b\n return [\n a[0] * b[0] + a[2] * b[1],\n a[1] * b[0] + a[3] * b[1],\n a[0] * b[2] + a[2] * b[3],\n a[1] * b[2] + a[3] * b[3],\n is2x2 ? 0 : a[0] * b[4] + a[2] * b[5] + a[4],\n is2x2 ? 0 : a[1] * b[4] + a[3] * b[5] + a[5]\n ];\n },\n\n /**\n * Decomposes standard 2x3 matrix into transform components\n * @static\n * @memberOf fabric.util\n * @param {Array} a transformMatrix\n * @return {Object} Components of transform\n */\n qrDecompose: function(a) {\n var angle = atan2(a[1], a[0]),\n denom = pow(a[0], 2) + pow(a[1], 2),\n scaleX = sqrt(denom),\n scaleY = (a[0] * a[3] - a[2] * a[1]) / scaleX,\n skewX = atan2(a[0] * a[2] + a[1] * a [3], denom);\n return {\n angle: angle / PiBy180,\n scaleX: scaleX,\n scaleY: scaleY,\n skewX: skewX / PiBy180,\n skewY: 0,\n translateX: a[4],\n translateY: a[5]\n };\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle] angle in degrees\n * @return {Number[]} transform matrix\n */\n calcRotateMatrix: function(options) {\n if (!options.angle) {\n return fabric.iMatrix.concat();\n }\n var theta = fabric.util.degreesToRadians(options.angle),\n cos = fabric.util.cos(theta),\n sin = fabric.util.sin(theta);\n return [cos, sin, -sin, cos, 0, 0];\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet.\n * is called DimensionsTransformMatrix because those properties are the one that influence\n * the size of the resulting box of the object.\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewY]\n * @return {Number[]} transform matrix\n */\n calcDimensionsMatrix: function(options) {\n var scaleX = typeof options.scaleX === 'undefined' ? 1 : options.scaleX,\n scaleY = typeof options.scaleY === 'undefined' ? 1 : options.scaleY,\n scaleMatrix = [\n options.flipX ? -scaleX : scaleX,\n 0,\n 0,\n options.flipY ? -scaleY : scaleY,\n 0,\n 0],\n multiply = fabric.util.multiplyTransformMatrices,\n degreesToRadians = fabric.util.degreesToRadians;\n if (options.skewX) {\n scaleMatrix = multiply(\n scaleMatrix,\n [1, 0, Math.tan(degreesToRadians(options.skewX)), 1],\n true);\n }\n if (options.skewY) {\n scaleMatrix = multiply(\n scaleMatrix,\n [1, Math.tan(degreesToRadians(options.skewY)), 0, 1],\n true);\n }\n return scaleMatrix;\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle]\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewX]\n * @param {Number} [options.translateX]\n * @param {Number} [options.translateY]\n * @return {Number[]} transform matrix\n */\n composeMatrix: function(options) {\n var matrix = [1, 0, 0, 1, options.translateX || 0, options.translateY || 0],\n multiply = fabric.util.multiplyTransformMatrices;\n if (options.angle) {\n matrix = multiply(matrix, fabric.util.calcRotateMatrix(options));\n }\n if (options.scaleX !== 1 || options.scaleY !== 1 ||\n options.skewX || options.skewY || options.flipX || options.flipY) {\n matrix = multiply(matrix, fabric.util.calcDimensionsMatrix(options));\n }\n return matrix;\n },\n\n /**\n * reset an object transform state to neutral. Top and left are not accounted for\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to transform\n */\n resetObjectTransform: function (target) {\n target.scaleX = 1;\n target.scaleY = 1;\n target.skewX = 0;\n target.skewY = 0;\n target.flipX = false;\n target.flipY = false;\n target.rotate(0);\n },\n\n /**\n * Extract Object transform values\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to read from\n * @return {Object} Components of transform\n */\n saveObjectTransform: function (target) {\n return {\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n angle: target.angle,\n left: target.left,\n flipX: target.flipX,\n flipY: target.flipY,\n top: target.top\n };\n },\n\n /**\n * Returns true if context has transparent pixel\n * at specified location (taking tolerance into account)\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x x coordinate\n * @param {Number} y y coordinate\n * @param {Number} tolerance Tolerance\n */\n isTransparent: function(ctx, x, y, tolerance) {\n\n // If tolerance is > 0 adjust start coords to take into account.\n // If moves off Canvas fix to 0\n if (tolerance > 0) {\n if (x > tolerance) {\n x -= tolerance;\n }\n else {\n x = 0;\n }\n if (y > tolerance) {\n y -= tolerance;\n }\n else {\n y = 0;\n }\n }\n\n var _isTransparent = true, i, temp,\n imageData = ctx.getImageData(x, y, (tolerance * 2) || 1, (tolerance * 2) || 1),\n l = imageData.data.length;\n\n // Split image data - for tolerance > 1, pixelDataSize = 4;\n for (i = 3; i < l; i += 4) {\n temp = imageData.data[i];\n _isTransparent = temp <= 0;\n if (_isTransparent === false) {\n break; // Stop if colour found\n }\n }\n\n imageData = null;\n\n return _isTransparent;\n },\n\n /**\n * Parse preserveAspectRatio attribute from element\n * @param {string} attribute to be parsed\n * @return {Object} an object containing align and meetOrSlice attribute\n */\n parsePreserveAspectRatioAttribute: function(attribute) {\n var meetOrSlice = 'meet', alignX = 'Mid', alignY = 'Mid',\n aspectRatioAttrs = attribute.split(' '), align;\n\n if (aspectRatioAttrs && aspectRatioAttrs.length) {\n meetOrSlice = aspectRatioAttrs.pop();\n if (meetOrSlice !== 'meet' && meetOrSlice !== 'slice') {\n align = meetOrSlice;\n meetOrSlice = 'meet';\n }\n else if (aspectRatioAttrs.length) {\n align = aspectRatioAttrs.pop();\n }\n }\n //divide align in alignX and alignY\n alignX = align !== 'none' ? align.slice(1, 4) : 'none';\n alignY = align !== 'none' ? align.slice(5, 8) : 'none';\n return {\n meetOrSlice: meetOrSlice,\n alignX: alignX,\n alignY: alignY\n };\n },\n\n /**\n * Clear char widths cache for the given font family or all the cache if no\n * fontFamily is specified.\n * Use it if you know you are loading fonts in a lazy way and you are not waiting\n * for custom fonts to load properly when adding text objects to the canvas.\n * If a text object is added when its own font is not loaded yet, you will get wrong\n * measurement and so wrong bounding boxes.\n * After the font cache is cleared, either change the textObject text content or call\n * initDimensions() to trigger a recalculation\n * @memberOf fabric.util\n * @param {String} [fontFamily] font family to clear\n */\n clearFabricFontCache: function(fontFamily) {\n fontFamily = (fontFamily || '').toLowerCase();\n if (!fontFamily) {\n fabric.charWidthsCache = { };\n }\n else if (fabric.charWidthsCache[fontFamily]) {\n delete fabric.charWidthsCache[fontFamily];\n }\n },\n\n /**\n * Given current aspect ratio, determines the max width and height that can\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Number} ar aspect ratio\n * @param {Number} maximumArea Maximum area you want to achieve\n * @return {Object.x} Limited dimensions by X\n * @return {Object.y} Limited dimensions by Y\n */\n limitDimsByArea: function(ar, maximumArea) {\n var roughWidth = Math.sqrt(maximumArea * ar),\n perfLimitSizeY = Math.floor(maximumArea / roughWidth);\n return { x: Math.floor(roughWidth), y: perfLimitSizeY };\n },\n\n capValue: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Finds the scale for the object source to fit inside the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to fit into destination\n */\n findScaleToFit: function(source, destination) {\n return Math.min(destination.width / source.width, destination.height / source.height);\n },\n\n /**\n * Finds the scale for the object source to cover entirely the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to cover destination\n */\n findScaleToCover: function(source, destination) {\n return Math.max(destination.width / source.width, destination.height / source.height);\n },\n\n /**\n * given an array of 6 number returns something like `\"matrix(...numbers)\"`\n * @memberOf fabric.util\n * @param {Array} transform an array with 6 numbers\n * @return {String} transform matrix for svg\n * @return {Object.y} Limited dimensions by Y\n */\n matrixToSVG: function(transform) {\n return 'matrix(' + transform.map(function(value) {\n return fabric.util.toFixed(value, fabric.Object.NUM_FRACTION_DIGITS);\n }).join(' ') + ')';\n },\n\n /**\n * given an object and a transform, apply the inverse transform to the object,\n * this is equivalent to remove from that object that transformation, so that\n * added in a space with the removed transform, the object will be the same as before.\n * Removing from an object a transform that scale by 2 is like scaling it by 1/2.\n * Removing from an object a transfrom that rotate by 30deg is like rotating by 30deg\n * in the opposite direction.\n * This util is used to add objects inside transformed groups or nested groups.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n removeTransformFromObject: function(object, transform) {\n var inverted = fabric.util.invertTransform(transform),\n finalTransform = fabric.util.multiplyTransformMatrices(inverted, object.calcOwnMatrix());\n fabric.util.applyTransformToObject(object, finalTransform);\n },\n\n /**\n * given an object and a transform, apply the transform to the object.\n * this is equivalent to change the space where the object is drawn.\n * Adding to an object a transform that scale by 2 is like scaling it by 2.\n * This is used when removing an object from an active selection for example.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n addTransformToObject: function(object, transform) {\n fabric.util.applyTransformToObject(\n object,\n fabric.util.multiplyTransformMatrices(transform, object.calcOwnMatrix())\n );\n },\n\n /**\n * discard an object transform state and apply the one from the matrix.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n applyTransformToObject: function(object, transform) {\n var options = fabric.util.qrDecompose(transform),\n center = new fabric.Point(options.translateX, options.translateY);\n object.flipX = false;\n object.flipY = false;\n object.set('scaleX', options.scaleX);\n object.set('scaleY', options.scaleY);\n object.skewX = options.skewX;\n object.skewY = options.skewY;\n object.angle = options.angle;\n object.setPositionByOrigin(center, 'center', 'center');\n },\n\n /**\n * given a width and height, return the size of the bounding box\n * that can contains the box with width/height with applied transform\n * described in options.\n * Use to calculate the boxes around objects for controls.\n * @memberOf fabric.util\n * @param {Number} width\n * @param {Number} height\n * @param {Object} options\n * @param {Number} options.scaleX\n * @param {Number} options.scaleY\n * @param {Number} options.skewX\n * @param {Number} options.skewY\n * @return {Object.x} width of containing\n * @return {Object.y} height of containing\n */\n sizeAfterTransform: function(width, height, options) {\n var dimX = width / 2, dimY = height / 2,\n points = [\n {\n x: -dimX,\n y: -dimY\n },\n {\n x: dimX,\n y: -dimY\n },\n {\n x: -dimX,\n y: dimY\n },\n {\n x: dimX,\n y: dimY\n }],\n transformMatrix = fabric.util.calcDimensionsMatrix(options),\n bbox = fabric.util.makeBoundingBoxFromPoints(points, transformMatrix);\n return {\n x: bbox.width,\n y: bbox.height,\n };\n },\n\n /**\n * Merges 2 clip paths into one visually equal clip path\n *\n * **IMPORTANT**:\\\n * Does **NOT** clone the arguments, clone them proir if necessary.\n *\n * Creates a wrapper (group) that contains one clip path and is clipped by the other so content is kept where both overlap.\n * Use this method if both the clip paths may have nested clip paths of their own, so assigning one to the other's clip path property is not possible.\n *\n * In order to handle the `inverted` property we follow logic described in the following cases:\\\n * **(1)** both clip paths are inverted - the clip paths pass the inverted prop to the wrapper and loose it themselves.\\\n * **(2)** one is inverted and the other isn't - the wrapper shouldn't become inverted and the inverted clip path must clip the non inverted one to produce an identical visual effect.\\\n * **(3)** both clip paths are not inverted - wrapper and clip paths remain unchanged.\n *\n * @memberOf fabric.util\n * @param {fabric.Object} c1\n * @param {fabric.Object} c2\n * @returns {fabric.Object} merged clip path\n */\n mergeClipPaths: function (c1, c2) {\n var a = c1, b = c2;\n if (a.inverted && !b.inverted) {\n // case (2)\n a = c2;\n b = c1;\n }\n // `b` becomes `a`'s clip path so we transform `b` to `a` coordinate plane\n fabric.util.applyTransformToObject(\n b,\n fabric.util.multiplyTransformMatrices(\n fabric.util.invertTransform(a.calcTransformMatrix()),\n b.calcTransformMatrix()\n )\n );\n // assign the `inverted` prop to the wrapping group\n var inverted = a.inverted && b.inverted;\n if (inverted) {\n // case (1)\n a.inverted = b.inverted = false;\n }\n return new fabric.Group([a], { clipPath: b, inverted: inverted });\n },\n\n /**\n * @memberOf fabric.util\n * @param {Object} prevStyle first style to compare\n * @param {Object} thisStyle second style to compare\n * @param {boolean} forTextSpans whether to check overline, underline, and line-through properties\n * @return {boolean} true if the style changed\n */\n hasStyleChanged: function(prevStyle, thisStyle, forTextSpans) {\n forTextSpans = forTextSpans || false;\n return (prevStyle.fill !== thisStyle.fill ||\n prevStyle.stroke !== thisStyle.stroke ||\n prevStyle.strokeWidth !== thisStyle.strokeWidth ||\n prevStyle.fontSize !== thisStyle.fontSize ||\n prevStyle.fontFamily !== thisStyle.fontFamily ||\n prevStyle.fontWeight !== thisStyle.fontWeight ||\n prevStyle.fontStyle !== thisStyle.fontStyle ||\n prevStyle.textBackgroundColor !== thisStyle.textBackgroundColor ||\n prevStyle.deltaY !== thisStyle.deltaY) ||\n (forTextSpans &&\n (prevStyle.overline !== thisStyle.overline ||\n prevStyle.underline !== thisStyle.underline ||\n prevStyle.linethrough !== thisStyle.linethrough));\n },\n\n /**\n * Returns the array form of a text object's inline styles property with styles grouped in ranges\n * rather than per character. This format is less verbose, and is better suited for storage\n * so it is used in serialization (not during runtime).\n * @memberOf fabric.util\n * @param {object} styles per character styles for a text object\n * @param {String} text the text string that the styles are applied to\n * @return {{start: number, end: number, style: object}[]}\n */\n stylesToArray: function(styles, text) {\n // clone style structure to prevent mutation\n var styles = fabric.util.object.clone(styles, true),\n textLines = text.split('\\n'),\n charIndex = -1, prevStyle = {}, stylesArray = [];\n //loop through each textLine\n for (var i = 0; i < textLines.length; i++) {\n if (!styles[i]) {\n //no styles exist for this line, so add the line's length to the charIndex total\n charIndex += textLines[i].length;\n continue;\n }\n //loop through each character of the current line\n for (var c = 0; c < textLines[i].length; c++) {\n charIndex++;\n var thisStyle = styles[i][c];\n //check if style exists for this character\n if (thisStyle && Object.keys(thisStyle).length > 0) {\n var styleChanged = fabric.util.hasStyleChanged(prevStyle, thisStyle, true);\n if (styleChanged) {\n stylesArray.push({\n start: charIndex,\n end: charIndex + 1,\n style: thisStyle\n });\n }\n else {\n //if style is the same as previous character, increase end index\n stylesArray[stylesArray.length - 1].end++;\n }\n }\n prevStyle = thisStyle || {};\n }\n }\n return stylesArray;\n },\n\n /**\n * Returns the object form of the styles property with styles that are assigned per\n * character rather than grouped by range. This format is more verbose, and is\n * only used during runtime (not for serialization/storage)\n * @memberOf fabric.util\n * @param {Array} styles the serialized form of a text object's styles\n * @param {String} text the text string that the styles are applied to\n * @return {Object}\n */\n stylesFromArray: function(styles, text) {\n if (!Array.isArray(styles)) {\n return styles;\n }\n var textLines = text.split('\\n'),\n charIndex = -1, styleIndex = 0, stylesObject = {};\n //loop through each textLine\n for (var i = 0; i < textLines.length; i++) {\n //loop through each character of the current line\n for (var c = 0; c < textLines[i].length; c++) {\n charIndex++;\n //check if there's a style collection that includes the current character\n if (styles[styleIndex]\n && styles[styleIndex].start <= charIndex\n && charIndex < styles[styleIndex].end) {\n //create object for line index if it doesn't exist\n stylesObject[i] = stylesObject[i] || {};\n //assign a style at this character's index\n stylesObject[i][c] = Object.assign({}, styles[styleIndex].style);\n //if character is at the end of the current style collection, move to the next\n if (charIndex === styles[styleIndex].end - 1) {\n styleIndex++;\n }\n }\n }\n }\n return stylesObject;\n }\n };\n})(typeof exports !== 'undefined' ? exports : this);\n\n\n(function() {\n var _join = Array.prototype.join,\n commandLengths = {\n m: 2,\n l: 2,\n h: 1,\n v: 1,\n c: 6,\n s: 4,\n q: 4,\n t: 2,\n a: 7\n },\n repeatedCommands = {\n m: 'l',\n M: 'L'\n };\n function segmentToBezier(th2, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY) {\n var costh2 = fabric.util.cos(th2),\n sinth2 = fabric.util.sin(th2),\n costh3 = fabric.util.cos(th3),\n sinth3 = fabric.util.sin(th3),\n toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1,\n toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1,\n cp1X = fromX + mT * ( -cosTh * rx * sinth2 - sinTh * ry * costh2),\n cp1Y = fromY + mT * ( -sinTh * rx * sinth2 + cosTh * ry * costh2),\n cp2X = toX + mT * ( cosTh * rx * sinth3 + sinTh * ry * costh3),\n cp2Y = toY + mT * ( sinTh * rx * sinth3 - cosTh * ry * costh3);\n\n return ['C',\n cp1X, cp1Y,\n cp2X, cp2Y,\n toX, toY\n ];\n }\n\n /* Adapted from http://dxr.mozilla.org/mozilla-central/source/content/svg/content/src/nsSVGPathDataParser.cpp\n * by Andrea Bogazzi code is under MPL. if you don't have a copy of the license you can take it here\n * http://mozilla.org/MPL/2.0/\n */\n function arcToSegments(toX, toY, rx, ry, large, sweep, rotateX) {\n var PI = Math.PI, th = rotateX * PI / 180,\n sinTh = fabric.util.sin(th),\n cosTh = fabric.util.cos(th),\n fromX = 0, fromY = 0;\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var px = -cosTh * toX * 0.5 - sinTh * toY * 0.5,\n py = -cosTh * toY * 0.5 + sinTh * toX * 0.5,\n rx2 = rx * rx, ry2 = ry * ry, py2 = py * py, px2 = px * px,\n pl = rx2 * ry2 - rx2 * py2 - ry2 * px2,\n root = 0;\n\n if (pl < 0) {\n var s = Math.sqrt(1 - pl / (rx2 * ry2));\n rx *= s;\n ry *= s;\n }\n else {\n root = (large === sweep ? -1.0 : 1.0) *\n Math.sqrt( pl / (rx2 * py2 + ry2 * px2));\n }\n\n var cx = root * rx * py / ry,\n cy = -root * ry * px / rx,\n cx1 = cosTh * cx - sinTh * cy + toX * 0.5,\n cy1 = sinTh * cx + cosTh * cy + toY * 0.5,\n mTheta = calcVectorAngle(1, 0, (px - cx) / rx, (py - cy) / ry),\n dtheta = calcVectorAngle((px - cx) / rx, (py - cy) / ry, (-px - cx) / rx, (-py - cy) / ry);\n\n if (sweep === 0 && dtheta > 0) {\n dtheta -= 2 * PI;\n }\n else if (sweep === 1 && dtheta < 0) {\n dtheta += 2 * PI;\n }\n\n // Convert into cubic bezier segments <= 90deg\n var segments = Math.ceil(Math.abs(dtheta / PI * 2)),\n result = [], mDelta = dtheta / segments,\n mT = 8 / 3 * Math.sin(mDelta / 4) * Math.sin(mDelta / 4) / Math.sin(mDelta / 2),\n th3 = mTheta + mDelta;\n\n for (var i = 0; i < segments; i++) {\n result[i] = segmentToBezier(mTheta, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY);\n fromX = result[i][5];\n fromY = result[i][6];\n mTheta = th3;\n th3 += mDelta;\n }\n return result;\n }\n\n /*\n * Private\n */\n function calcVectorAngle(ux, uy, vx, vy) {\n var ta = Math.atan2(uy, ux),\n tb = Math.atan2(vy, vx);\n if (tb >= ta) {\n return tb - ta;\n }\n else {\n return 2 * Math.PI - (ta - tb);\n }\n }\n\n /**\n * Calculate bounding box of a beziercurve\n * @param {Number} x0 starting point\n * @param {Number} y0\n * @param {Number} x1 first control point\n * @param {Number} y1\n * @param {Number} x2 secondo control point\n * @param {Number} y2\n * @param {Number} x3 end of bezier\n * @param {Number} y3\n */\n // taken from http://jsbin.com/ivomiq/56/edit no credits available for that.\n // TODO: can we normalize this with the starting points set at 0 and then translated the bbox?\n function getBoundsOfCurve(x0, y0, x1, y1, x2, y2, x3, y3) {\n var argsString;\n if (fabric.cachesBoundsOfCurve) {\n argsString = _join.call(arguments);\n if (fabric.boundsOfCurveCache[argsString]) {\n return fabric.boundsOfCurveCache[argsString];\n }\n }\n\n var sqrt = Math.sqrt,\n min = Math.min, max = Math.max,\n abs = Math.abs, tvalues = [],\n bounds = [[], []],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n\n for (var i = 0; i < 2; ++i) {\n if (i > 0) {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n if (b2ac < 0) {\n continue;\n }\n sqrtb2ac = sqrt(b2ac);\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length, jlen = j, mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n x = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[0][j] = x;\n\n y = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n bounds[1][j] = y;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n var result = [\n {\n x: min.apply(null, bounds[0]),\n y: min.apply(null, bounds[1])\n },\n {\n x: max.apply(null, bounds[0]),\n y: max.apply(null, bounds[1])\n }\n ];\n if (fabric.cachesBoundsOfCurve) {\n fabric.boundsOfCurveCache[argsString] = result;\n }\n return result;\n }\n\n /**\n * Converts arc to a bunch of bezier curves\n * @param {Number} fx starting point x\n * @param {Number} fy starting point y\n * @param {Array} coords Arc command\n */\n function fromArcToBeziers(fx, fy, coords) {\n var rx = coords[1],\n ry = coords[2],\n rot = coords[3],\n large = coords[4],\n sweep = coords[5],\n tx = coords[6],\n ty = coords[7],\n segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);\n\n for (var i = 0, len = segsNorm.length; i < len; i++) {\n segsNorm[i][1] += fx;\n segsNorm[i][2] += fy;\n segsNorm[i][3] += fx;\n segsNorm[i][4] += fy;\n segsNorm[i][5] += fx;\n segsNorm[i][6] += fy;\n }\n return segsNorm;\n };\n\n /**\n * This function take a parsed SVG path and make it simpler for fabricJS logic.\n * simplification consist of: only UPPERCASE absolute commands ( relative converted to absolute )\n * S converted in C, T converted in Q, A converted in C.\n * @param {Array} path the array of commands of a parsed svg path for fabric.Path\n * @return {Array} the simplified array of commands of a parsed svg path for fabric.Path\n */\n function makePathSimpler(path) {\n // x and y represent the last point of the path. the previous command point.\n // we add them to each relative command to make it an absolute comment.\n // we also swap the v V h H with L, because are easier to transform.\n var x = 0, y = 0, len = path.length,\n // x1 and y1 represent the last point of the subpath. the subpath is started with\n // m or M command. When a z or Z command is drawn, x and y need to be resetted to\n // the last x1 and y1.\n x1 = 0, y1 = 0, current, i, converted,\n // previous will host the letter of the previous command, to handle S and T.\n // controlX and controlY will host the previous reflected control point\n destinationPath = [], previous, controlX, controlY;\n for (i = 0; i < len; ++i) {\n converted = false;\n current = path[i].slice(0);\n switch (current[0]) { // first letter\n case 'l': // lineto, relative\n current[0] = 'L';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'L':\n x = current[1];\n y = current[2];\n break;\n case 'h': // horizontal lineto, relative\n current[1] += x;\n // falls through\n case 'H':\n current[0] = 'L';\n current[2] = y;\n x = current[1];\n break;\n case 'v': // vertical lineto, relative\n current[1] += y;\n // falls through\n case 'V':\n current[0] = 'L';\n y = current[1];\n current[1] = x;\n current[2] = y;\n break;\n case 'm': // moveTo, relative\n current[0] = 'M';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'M':\n x = current[1];\n y = current[2];\n x1 = current[1];\n y1 = current[2];\n break;\n case 'c': // bezierCurveTo, relative\n current[0] = 'C';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n current[5] += x;\n current[6] += y;\n // falls through\n case 'C':\n controlX = current[3];\n controlY = current[4];\n x = current[5];\n y = current[6];\n break;\n case 's': // shorthand cubic bezierCurveTo, relative\n current[0] = 'S';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case 'S':\n // would be sScC but since we are swapping sSc for C, we check just that.\n if (previous === 'C') {\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n else {\n // If there is no previous command or if the previous command was not a C, c, S, or s,\n // the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n x = current[3];\n y = current[4];\n current[0] = 'C';\n current[5] = current[3];\n current[6] = current[4];\n current[3] = current[1];\n current[4] = current[2];\n current[1] = controlX;\n current[2] = controlY;\n // current[3] and current[4] are NOW the second control point.\n // we keep it for the next reflection.\n controlX = current[3];\n controlY = current[4];\n break;\n case 'q': // quadraticCurveTo, relative\n current[0] = 'Q';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case 'Q':\n controlX = current[1];\n controlY = current[2];\n x = current[3];\n y = current[4];\n break;\n case 't': // shorthand quadraticCurveTo, relative\n current[0] = 'T';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'T':\n if (previous === 'Q') {\n // calculate reflection of previous control point\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n else {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n current[0] = 'Q';\n x = current[1];\n y = current[2];\n current[1] = controlX;\n current[2] = controlY;\n current[3] = x;\n current[4] = y;\n break;\n case 'a':\n current[0] = 'A';\n current[6] += x;\n current[7] += y;\n // falls through\n case 'A':\n converted = true;\n destinationPath = destinationPath.concat(fromArcToBeziers(x, y, current));\n x = current[6];\n y = current[7];\n break;\n case 'z':\n case 'Z':\n x = x1;\n y = y1;\n break;\n default:\n }\n if (!converted) {\n destinationPath.push(current);\n }\n previous = current[0];\n }\n return destinationPath;\n };\n\n /**\n * Calc length from point x1,y1 to x2,y2\n * @param {Number} x1 starting point x\n * @param {Number} y1 starting point y\n * @param {Number} x2 starting point x\n * @param {Number} y2 starting point y\n * @return {Number} length of segment\n */\n function calcLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n\n // functions for the Cubic beizer\n // taken from: https://github.com/konvajs/konva/blob/7.0.5/src/shapes/Path.ts#L350\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n\n function getPointOnCubicBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var c1 = CB1(pct), c2 = CB2(pct), c3 = CB3(pct), c4 = CB4(pct);\n return {\n x: p4x * c1 + p3x * c2 + p2x * c3 + p1x * c4,\n y: p4y * c1 + p3y * c2 + p2y * c3 + p1y * c4\n };\n };\n }\n\n function getTangentCubicIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function (pct) {\n var invT = 1 - pct,\n tangentX = (3 * invT * invT * (p2x - p1x)) + (6 * invT * pct * (p3x - p2x)) +\n (3 * pct * pct * (p4x - p3x)),\n tangentY = (3 * invT * invT * (p2y - p1y)) + (6 * invT * pct * (p3y - p2y)) +\n (3 * pct * pct * (p4y - p3y));\n return Math.atan2(tangentY, tangentX);\n };\n }\n\n function QB1(t) {\n return t * t;\n }\n\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n\n function getPointOnQuadraticBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var c1 = QB1(pct), c2 = QB2(pct), c3 = QB3(pct);\n return {\n x: p3x * c1 + p2x * c2 + p1x * c3,\n y: p3y * c1 + p2y * c2 + p1y * c3\n };\n };\n }\n\n function getTangentQuadraticIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function (pct) {\n var invT = 1 - pct,\n tangentX = (2 * invT * (p2x - p1x)) + (2 * pct * (p3x - p2x)),\n tangentY = (2 * invT * (p2y - p1y)) + (2 * pct * (p3y - p2y));\n return Math.atan2(tangentY, tangentX);\n };\n }\n\n\n // this will run over a path segment ( a cubic or quadratic segment) and approximate it\n // with 100 segemnts. This will good enough to calculate the length of the curve\n function pathIterator(iterator, x1, y1) {\n var tempP = { x: x1, y: y1 }, p, tmpLen = 0, perc;\n for (perc = 1; perc <= 100; perc += 1) {\n p = iterator(perc / 100);\n tmpLen += calcLineLength(tempP.x, tempP.y, p.x, p.y);\n tempP = p;\n }\n return tmpLen;\n }\n\n /**\n * Given a pathInfo, and a distance in pixels, find the percentage from 0 to 1\n * that correspond to that pixels run over the path.\n * The percentage will be then used to find the correct point on the canvas for the path.\n * @param {Array} segInfo fabricJS collection of information on a parsed path\n * @param {Number} distance from starting point, in pixels.\n * @return {Object} info object with x and y ( the point on canvas ) and angle, the tangent on that point;\n */\n function findPercentageForDistance(segInfo, distance) {\n var perc = 0, tmpLen = 0, iterator = segInfo.iterator, tempP = { x: segInfo.x, y: segInfo.y },\n p, nextLen, nextStep = 0.01, angleFinder = segInfo.angleFinder, lastPerc;\n // nextStep > 0.0001 covers 0.00015625 that 1/64th of 1/100\n // the path\n while (tmpLen < distance && nextStep > 0.0001) {\n p = iterator(perc);\n lastPerc = perc;\n nextLen = calcLineLength(tempP.x, tempP.y, p.x, p.y);\n // compare tmpLen each cycle with distance, decide next perc to test.\n if ((nextLen + tmpLen) > distance) {\n // we discard this step and we make smaller steps.\n perc -= nextStep;\n nextStep /= 2;\n }\n else {\n tempP = p;\n perc += nextStep;\n tmpLen += nextLen;\n }\n }\n p.angle = angleFinder(lastPerc);\n return p;\n }\n\n /**\n * Run over a parsed and simplifed path and extrac some informations.\n * informations are length of each command and starting point\n * @param {Array} path fabricJS parsed path commands\n * @return {Array} path commands informations\n */\n function getPathSegmentsInfo(path) {\n var totalLength = 0, len = path.length, current,\n //x2 and y2 are the coords of segment start\n //x1 and y1 are the coords of the current point\n x1 = 0, y1 = 0, x2 = 0, y2 = 0, info = [], iterator, tempInfo, angleFinder;\n for (var i = 0; i < len; i++) {\n current = path[i];\n tempInfo = {\n x: x1,\n y: y1,\n command: current[0],\n };\n switch (current[0]) { //first letter\n case 'M':\n tempInfo.length = 0;\n x2 = x1 = current[1];\n y2 = y1 = current[2];\n break;\n case 'L':\n tempInfo.length = calcLineLength(x1, y1, current[1], current[2]);\n x1 = current[1];\n y1 = current[2];\n break;\n case 'C':\n iterator = getPointOnCubicBezierIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n angleFinder = getTangentCubicIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[5];\n y1 = current[6];\n break;\n case 'Q':\n iterator = getPointOnQuadraticBezierIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4]\n );\n angleFinder = getTangentQuadraticIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4]\n );\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[3];\n y1 = current[4];\n break;\n case 'Z':\n case 'z':\n // we add those in order to ease calculations later\n tempInfo.destX = x2;\n tempInfo.destY = y2;\n tempInfo.length = calcLineLength(x1, y1, x2, y2);\n x1 = x2;\n y1 = y2;\n break;\n }\n totalLength += tempInfo.length;\n info.push(tempInfo);\n }\n info.push({ length: totalLength, x: x1, y: y1 });\n return info;\n }\n\n function getPointOnPath(path, distance, infos) {\n if (!infos) {\n infos = getPathSegmentsInfo(path);\n }\n var i = 0;\n while ((distance - infos[i].length > 0) && i < (infos.length - 2)) {\n distance -= infos[i].length;\n i++;\n }\n // var distance = infos[infos.length - 1] * perc;\n var segInfo = infos[i], segPercent = distance / segInfo.length,\n command = segInfo.command, segment = path[i], info;\n\n switch (command) {\n case 'M':\n return { x: segInfo.x, y: segInfo.y, angle: 0 };\n case 'Z':\n case 'z':\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(\n new fabric.Point(segInfo.destX, segInfo.destY),\n segPercent\n );\n info.angle = Math.atan2(segInfo.destY - segInfo.y, segInfo.destX - segInfo.x);\n return info;\n case 'L':\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(\n new fabric.Point(segment[1], segment[2]),\n segPercent\n );\n info.angle = Math.atan2(segment[2] - segInfo.y, segment[1] - segInfo.x);\n return info;\n case 'C':\n return findPercentageForDistance(segInfo, distance);\n case 'Q':\n return findPercentageForDistance(segInfo, distance);\n }\n }\n\n /**\n *\n * @param {string} pathString\n * @return {(string|number)[][]} An array of SVG path commands\n * @example